`
+`https://embed.bsky.app/static/embed.js`
+
+```
+
+ {{ post-text }}
+ — US Department of the Interior (@Interior) May 5, 2014
+
+```
diff --git a/bskyweb/cmd/bskyweb/server.go b/bskyweb/cmd/bskyweb/server.go
index 54a3925c6d..54580d6431 100644
--- a/bskyweb/cmd/bskyweb/server.go
+++ b/bskyweb/cmd/bskyweb/server.go
@@ -170,6 +170,9 @@ func serve(cctx *cli.Context) error {
// home
e.GET("/", server.WebHome)
+ // download
+ e.GET("/download", server.Download)
+
// generic routes
e.GET("/hashtag/:tag", server.WebGeneric)
e.GET("/search", server.WebGeneric)
@@ -187,6 +190,7 @@ func serve(cctx *cli.Context) error {
e.GET("/settings/saved-feeds", server.WebGeneric)
e.GET("/settings/threads", server.WebGeneric)
e.GET("/settings/external-embeds", server.WebGeneric)
+ e.GET("/settings/accessibility", server.WebGeneric)
e.GET("/sys/debug", server.WebGeneric)
e.GET("/sys/debug-mod", server.WebGeneric)
e.GET("/sys/log", server.WebGeneric)
@@ -196,6 +200,8 @@ func serve(cctx *cli.Context) error {
e.GET("/support/community-guidelines", server.WebGeneric)
e.GET("/support/copyright", server.WebGeneric)
e.GET("/intent/compose", server.WebGeneric)
+ e.GET("/messages", server.WebGeneric)
+ e.GET("/messages/:conversation", server.WebGeneric)
// profile endpoints; only first populates info
e.GET("/profile/:handleOrDID", server.WebProfile)
@@ -271,6 +277,20 @@ func (srv *Server) errorHandler(err error, c echo.Context) {
c.Render(code, "error.html", data)
}
+// Handler for redirecting to the download page.
+func (srv *Server) Download(c echo.Context) error {
+ ua := c.Request().UserAgent()
+ if strings.Contains(ua, "Android") {
+ return c.Redirect(http.StatusFound, "https://play.google.com/store/apps/details?id=xyz.blueskyweb.app")
+ }
+
+ if strings.Contains(ua, "iPhone") || strings.Contains(ua, "iPad") || strings.Contains(ua, "iPod") {
+ return c.Redirect(http.StatusFound, "https://apps.apple.com/tr/app/bluesky-social/id6444370199")
+ }
+
+ return c.Redirect(http.StatusFound, "/")
+}
+
// handler for endpoint that have no specific server-side handling
func (srv *Server) WebGeneric(c echo.Context) error {
data := pongo2.Context{}
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..a3767eeca9
--- /dev/null
+++ b/bskyweb/cmd/embedr/handlers.go
@@ -0,0 +1,213 @@
+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"`
+ Height *int `json:"height"`
+ 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 := 600
+ maxWidthParam := c.QueryParam("maxwidth")
+ if maxWidthParam != "" {
+ maxWidthInt, err := strconv.Atoi(maxWidthParam)
+ if err != nil {
+ return c.String(http.StatusBadRequest, "Invalid maxwidth (expected integer)")
+ }
+ if maxWidthInt < 220 {
+ width = 220
+ } else if maxWidthInt > 600 {
+ width = 600
+ } else {
+ 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..b93acb2cd1
--- /dev/null
+++ b/bskyweb/cmd/embedr/snippet.go
@@ -0,0 +1,79 @@
+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
+ }
+
+ sortAt := postView.IndexedAt
+ createdAt, err := syntax.ParseDatetime(post.CreatedAt)
+ if nil == err && createdAt.String() < sortAt {
+ sortAt = createdAt.String()
+ }
+
+ 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)
+ }
+ data := struct {
+ PostURI template.URL
+ PostCID string
+ PostLang string
+ PostText string
+ PostAuthor string
+ PostIndexedAt string
+ ProfileURL template.URL
+ PostURL template.URL
+ WidgetURL template.URL
+ }{
+ PostURI: template.URL(postView.Uri),
+ PostCID: postView.Cid,
+ PostLang: lang,
+ PostText: post.Text,
+ PostAuthor: authorName,
+ PostIndexedAt: sortAt,
+ ProfileURL: template.URL(fmt.Sprintf("https://bsky.app/profile/%s?ref_src=embed", aturi.Authority())),
+ PostURL: template.URL(fmt.Sprintf("https://bsky.app/profile/%s/post/%s?ref_src=embed", aturi.Authority(), aturi.RecordKey())),
+ 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 34e5901069..cb0cea24b4 100644
--- a/bskyweb/templates/base.html
+++ b/bskyweb/templates/base.html
@@ -235,6 +235,17 @@
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..deab91a5ba 100644
--- a/docs/build.md
+++ b/docs/build.md
@@ -2,7 +2,8 @@
## App Build
-- Set up your environment [using the react native instructions](https://reactnative.dev/docs/environment-setup).
+- Set up your environment [using the expo instructions](https://docs.expo.dev/guides/local-app-development/).
+ - make sure that the JAVA_HOME points to the zulu-17 directory in your `.zshrc` or `.bashrc` file: `export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home`. DO NOT use another JDK or you will encounter build errors.
- If you're running macOS, make sure you are running the correct versions of Ruby and Cocoapods:
- Check if you've installed Cocoapods through `homebrew`. If you have, remove it:
- `brew info cocoapods`
@@ -14,7 +15,7 @@
- `rbenv global 2.7.6`
- Add `eval "$(rbenv init - zsh)"` to your `~/.zshrc`
- From inside the project directory:
- - `bundler install`
+ - `bundler install` (this will install Cocoapods)
- Setup your environment [for e2e testing using detox](https://wix.github.io/Detox/docs/introduction/getting-started):
- `yarn global add detox-cli`
- `brew tap wix/brew`
@@ -27,7 +28,7 @@
- `git clone git@github.com:bluesky-social/atproto.git`
- `cd atproto`
- `brew install pnpm`
- - `brew install jq`
+ - optional: `brew install jq`
- `pnpm i`
- `pnpm build`
- Start the docker daemon (on MacOS this entails starting the Docker Desktop app)
@@ -38,11 +39,22 @@
- Xcode must be installed for this to run.
- A simulator must be preconfigured in Xcode settings.
- if no iOS versions are available, install the iOS runtime at `Xcode > Settings > Platforms`.
+ - if the simulator download keeps failing you can download it from the developer website.
+ - [Apple Developer](https://developer.apple.com/download/all/?q=Simulator%20Runtime)
+ - `xcode-select -s /Applications/Xcode.app`
+ - `xcodebuild -runFirstLaunch`
+ - `xcrun simctl runtime add "~/Downloads/iOS_17.4_Simulator_Runtime.dmg"` (adapt the path to the downloaded file)
- In addition, ensure Xcode Command Line Tools are installed using `xcode-select --install`.
- - Pods must be installed:
- - From the project directory root: `cd ios && pod install`.
- Expo will require you to configure Xcode Signing. Follow the linked instructions. Error messages in Xcode related to the signing process can be safely ignored when installing on the iOS Simulator; Expo merely requires the profile to exist in order to install the app on the Simulator.
+ - Make sure you do have a certificate: open Xcode > Settings > Accounts > (sign-in) > Manage Certificates > + > Apple Development > Done.
+ - If you still encounter issues, try `rm -rf ios` before trying to build again (`yarn ios`)
- Android: `yarn android`
+ - Install "Android Studio"
+ - Make sure you have the Android SDK installed (Android Studio > Tools > Android SDK).
+ - In "SDK Platforms": "Android x" (where x is Android's current version).
+ - In "SDK Tools": "Android SDK Build-Tools" and "Android Emulator" are required.
+ - Add `export ANDROID_HOME=/Users//Library/Android/sdk` to your `.zshrc` or `.bashrc` (and restart your terminal).
+ - Setup an emulator (Android Studio > Tools > Device Manager).
- Web: `yarn web`
- If you are cloning or forking this repo as an open-source developer, please check the tips below as well
- Run e2e tests
@@ -83,11 +95,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/eslint/use-typed-gates.js b/eslint/use-typed-gates.js
index 3625a7da37..b245072ba5 100644
--- a/eslint/use-typed-gates.js
+++ b/eslint/use-typed-gates.js
@@ -18,14 +18,14 @@ exports.create = function create(context) {
return
}
const source = node.parent.source.value
- if (source.startsWith('.') || source.startsWith('#')) {
- return
+ if (source.startsWith('statsig') || source.startsWith('@statsig')) {
+ context.report({
+ node,
+ message:
+ "Use useGate() from '#/lib/statsig/statsig' instead of the one on npm.",
+ })
}
- context.report({
- node,
- message:
- "Use useGate() from '#/lib/statsig/statsig' instead of the one on npm.",
- })
+ // TODO: Verify gate() call results aren't stored in variables.
},
}
}
diff --git a/metro.config.js b/metro.config.js
index a49d95f9aa..80d2e34baf 100644
--- a/metro.config.js
+++ b/metro.config.js
@@ -1,7 +1,47 @@
// Learn more https://docs.expo.io/guides/customizing-metro
+const path = require('path')
const {getDefaultConfig} = require('expo/metro-config')
const cfg = getDefaultConfig(__dirname)
+if (process.env.ATPROTO_ROOT) {
+ const atprotoRoot = path.resolve(process.cwd(), process.env.ATPROTO_ROOT)
+
+ // Watch folders are used as roots for the virtual file system. Any file that
+ // needs to be resolved by the metro bundler must be within one of the watch
+ // folders. Since we will be resolving dependencies from the atproto packages,
+ // we need to add the atproto root to the watch folders so that the
+ cfg.watchFolders ||= []
+ cfg.watchFolders.push(atprotoRoot)
+
+ const resolveRequest = cfg.resolver.resolveRequest
+ cfg.resolver.resolveRequest = (context, moduleName, platform) => {
+ // Alias @atproto/* modules to the corresponding package in the atproto root
+ if (moduleName.startsWith('@atproto/')) {
+ const [, packageName] = moduleName.split('/', 2)
+ const packagePath = path.join(atprotoRoot, 'packages', packageName)
+ return context.resolveRequest(context, packagePath, platform)
+ }
+
+ // Polyfills are added by the build process and are not actual dependencies
+ // of the @atproto/* packages. Resolve those from here.
+ if (
+ moduleName.startsWith('@babel/') &&
+ context.originModulePath.startsWith(atprotoRoot)
+ ) {
+ return {
+ type: 'sourceFile',
+ filePath: require.resolve(moduleName),
+ }
+ }
+
+ return (resolveRequest || context.resolveRequest)(
+ context,
+ moduleName,
+ platform,
+ )
+ }
+}
+
cfg.resolver.sourceExts = process.env.RN_SRC_EXT
? process.env.RN_SRC_EXT.split(',').concat(cfg.resolver.sourceExts)
: cfg.resolver.sourceExts
diff --git a/modules/expo-bluesky-gif-view/android/build.gradle b/modules/expo-bluesky-gif-view/android/build.gradle
new file mode 100644
index 0000000000..c209a35aec
--- /dev/null
+++ b/modules/expo-bluesky-gif-view/android/build.gradle
@@ -0,0 +1,98 @@
+apply plugin: 'com.android.library'
+apply plugin: 'kotlin-android'
+apply plugin: 'maven-publish'
+
+group = 'expo.modules.blueskygifview'
+version = '0.5.0'
+
+buildscript {
+ def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
+ if (expoModulesCorePlugin.exists()) {
+ apply from: expoModulesCorePlugin
+ applyKotlinExpoModulesCorePlugin()
+ }
+
+ // Simple helper that allows the root project to override versions declared by this library.
+ ext.safeExtGet = { prop, fallback ->
+ rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
+ }
+
+ // Ensures backward compatibility
+ ext.getKotlinVersion = {
+ if (ext.has("kotlinVersion")) {
+ ext.kotlinVersion()
+ } else {
+ ext.safeExtGet("kotlinVersion", "1.8.10")
+ }
+ }
+
+ repositories {
+ mavenCentral()
+ }
+
+ dependencies {
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${getKotlinVersion()}")
+ }
+}
+
+afterEvaluate {
+ publishing {
+ publications {
+ release(MavenPublication) {
+ from components.release
+ }
+ }
+ repositories {
+ maven {
+ url = mavenLocal().url
+ }
+ }
+ }
+}
+
+android {
+ compileSdkVersion safeExtGet("compileSdkVersion", 33)
+
+ def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION
+ if (agpVersion.tokenize('.')[0].toInteger() < 8) {
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_11
+ targetCompatibility JavaVersion.VERSION_11
+ }
+
+ kotlinOptions {
+ jvmTarget = JavaVersion.VERSION_11.majorVersion
+ }
+ }
+
+ namespace "expo.modules.blueskygifview"
+ defaultConfig {
+ minSdkVersion safeExtGet("minSdkVersion", 21)
+ targetSdkVersion safeExtGet("targetSdkVersion", 34)
+ versionCode 1
+ versionName "0.5.0"
+ }
+ lintOptions {
+ abortOnError false
+ }
+ publishing {
+ singleVariant("release") {
+ withSourcesJar()
+ }
+ }
+}
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ implementation 'androidx.appcompat:appcompat:1.6.1'
+ def GLIDE_VERSION = "4.13.2"
+
+ implementation project(':expo-modules-core')
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${getKotlinVersion()}"
+
+ // Keep glide version up to date with expo-image so that we don't have duplicate deps
+ implementation 'com.github.bumptech.glide:glide:4.13.2'
+}
diff --git a/modules/expo-bluesky-gif-view/android/src/main/AndroidManifest.xml b/modules/expo-bluesky-gif-view/android/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..bdae66c8f5
--- /dev/null
+++ b/modules/expo-bluesky-gif-view/android/src/main/AndroidManifest.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/modules/expo-bluesky-gif-view/android/src/main/java/expo/modules/blueskygifview/AppCompatImageViewExtended.kt b/modules/expo-bluesky-gif-view/android/src/main/java/expo/modules/blueskygifview/AppCompatImageViewExtended.kt
new file mode 100644
index 0000000000..5d20848453
--- /dev/null
+++ b/modules/expo-bluesky-gif-view/android/src/main/java/expo/modules/blueskygifview/AppCompatImageViewExtended.kt
@@ -0,0 +1,37 @@
+package expo.modules.blueskygifview
+
+import android.content.Context
+import android.graphics.Canvas
+import android.graphics.drawable.Animatable
+import androidx.appcompat.widget.AppCompatImageView
+
+class AppCompatImageViewExtended(context: Context, private val parent: GifView): AppCompatImageView(context) {
+ override fun onDraw(canvas: Canvas) {
+ super.onDraw(canvas)
+
+ if (this.drawable is Animatable) {
+ if (!parent.isLoaded) {
+ parent.isLoaded = true
+ parent.firePlayerStateChange()
+ }
+
+ if (!parent.isPlaying) {
+ this.pause()
+ }
+ }
+ }
+
+ fun pause() {
+ val drawable = this.drawable
+ if (drawable is Animatable) {
+ drawable.stop()
+ }
+ }
+
+ fun play() {
+ val drawable = this.drawable
+ if (drawable is Animatable) {
+ drawable.start()
+ }
+ }
+}
\ No newline at end of file
diff --git a/modules/expo-bluesky-gif-view/android/src/main/java/expo/modules/blueskygifview/ExpoBlueskyGifViewModule.kt b/modules/expo-bluesky-gif-view/android/src/main/java/expo/modules/blueskygifview/ExpoBlueskyGifViewModule.kt
new file mode 100644
index 0000000000..625e1d45f9
--- /dev/null
+++ b/modules/expo-bluesky-gif-view/android/src/main/java/expo/modules/blueskygifview/ExpoBlueskyGifViewModule.kt
@@ -0,0 +1,54 @@
+package expo.modules.blueskygifview
+
+import com.bumptech.glide.Glide
+import com.bumptech.glide.load.engine.DiskCacheStrategy
+import expo.modules.kotlin.modules.Module
+import expo.modules.kotlin.modules.ModuleDefinition
+
+class ExpoBlueskyGifViewModule : Module() {
+ override fun definition() = ModuleDefinition {
+ Name("ExpoBlueskyGifView")
+
+ AsyncFunction("prefetchAsync") { sources: List ->
+ val activity = appContext.currentActivity ?: return@AsyncFunction
+ val glide = Glide.with(activity)
+
+ sources.forEach { source ->
+ glide
+ .download(source)
+ .diskCacheStrategy(DiskCacheStrategy.DATA)
+ .submit()
+ }
+ }
+
+ View(GifView::class) {
+ Events(
+ "onPlayerStateChange"
+ )
+
+ Prop("source") { view: GifView, source: String ->
+ view.source = source
+ }
+
+ Prop("placeholderSource") { view: GifView, source: String ->
+ view.placeholderSource = source
+ }
+
+ Prop("autoplay") { view: GifView, autoplay: Boolean ->
+ view.autoplay = autoplay
+ }
+
+ AsyncFunction("playAsync") { view: GifView ->
+ view.play()
+ }
+
+ AsyncFunction("pauseAsync") { view: GifView ->
+ view.pause()
+ }
+
+ AsyncFunction("toggleAsync") { view: GifView ->
+ view.toggle()
+ }
+ }
+ }
+}
diff --git a/modules/expo-bluesky-gif-view/android/src/main/java/expo/modules/blueskygifview/GifView.kt b/modules/expo-bluesky-gif-view/android/src/main/java/expo/modules/blueskygifview/GifView.kt
new file mode 100644
index 0000000000..be5830df7a
--- /dev/null
+++ b/modules/expo-bluesky-gif-view/android/src/main/java/expo/modules/blueskygifview/GifView.kt
@@ -0,0 +1,180 @@
+package expo.modules.blueskygifview
+
+
+import android.content.Context
+import android.graphics.Color
+import android.graphics.drawable.Animatable
+import android.graphics.drawable.Drawable
+import com.bumptech.glide.Glide
+import com.bumptech.glide.load.engine.DiskCacheStrategy
+import com.bumptech.glide.load.engine.GlideException
+import com.bumptech.glide.request.RequestListener
+import com.bumptech.glide.request.target.Target
+import expo.modules.kotlin.AppContext
+import expo.modules.kotlin.exception.Exceptions
+import expo.modules.kotlin.viewevent.EventDispatcher
+import expo.modules.kotlin.views.ExpoView
+
+class GifView(context: Context, appContext: AppContext) : ExpoView(context, appContext) {
+ // Events
+ private val onPlayerStateChange by EventDispatcher()
+
+ // Glide
+ private val activity = appContext.currentActivity ?: throw Exceptions.MissingActivity()
+ private val glide = Glide.with(activity)
+ val imageView = AppCompatImageViewExtended(context, this)
+ var isPlaying = true
+ var isLoaded = false
+
+ // Requests
+ private var placeholderRequest: Target? = null
+ private var webpRequest: Target? = null
+
+ // Props
+ var placeholderSource: String? = null
+ var source: String? = null
+ var autoplay: Boolean = true
+ set(value) {
+ field = value
+
+ if (value) {
+ this.play()
+ } else {
+ this.pause()
+ }
+ }
+
+
+ //
+
+ init {
+ this.setBackgroundColor(Color.TRANSPARENT)
+
+ this.imageView.setBackgroundColor(Color.TRANSPARENT)
+ this.imageView.layoutParams = LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)
+
+ this.addView(this.imageView)
+ }
+
+ override fun onAttachedToWindow() {
+ if (this.imageView.drawable == null || this.imageView.drawable !is Animatable) {
+ this.load()
+ } else if (this.isPlaying) {
+ this.imageView.play()
+ }
+ super.onAttachedToWindow()
+ }
+
+ override fun onDetachedFromWindow() {
+ this.imageView.pause()
+ super.onDetachedFromWindow()
+ }
+
+ //
+
+ //
+
+ private fun load() {
+ if (placeholderSource == null || source == null) {
+ return
+ }
+
+ this.webpRequest = glide.load(source)
+ .diskCacheStrategy(DiskCacheStrategy.DATA)
+ .skipMemoryCache(false)
+ .listener(object: RequestListener {
+ override fun onResourceReady(
+ resource: Drawable?,
+ model: Any?,
+ target: Target?,
+ dataSource: com.bumptech.glide.load.DataSource?,
+ isFirstResource: Boolean
+ ): Boolean {
+ if (placeholderRequest != null) {
+ glide.clear(placeholderRequest)
+ }
+ return false
+ }
+
+ override fun onLoadFailed(
+ e: GlideException?,
+ model: Any?,
+ target: Target?,
+ isFirstResource: Boolean
+ ): Boolean {
+ return true
+ }
+ })
+ .into(this.imageView)
+
+ if (this.imageView.drawable == null || this.imageView.drawable !is Animatable) {
+ this.placeholderRequest = glide.load(placeholderSource)
+ .diskCacheStrategy(DiskCacheStrategy.DATA)
+ // Let's not bloat the memory cache with placeholders
+ .skipMemoryCache(true)
+ .listener(object: RequestListener {
+ override fun onResourceReady(
+ resource: Drawable?,
+ model: Any?,
+ target: Target?,
+ dataSource: com.bumptech.glide.load.DataSource?,
+ isFirstResource: Boolean
+ ): Boolean {
+ // Incase this request finishes after the webp, let's just not set
+ // the drawable. This shouldn't happen because the request should get cancelled
+ if (imageView.drawable == null) {
+ imageView.setImageDrawable(resource)
+ }
+ return true
+ }
+
+ override fun onLoadFailed(
+ e: GlideException?,
+ model: Any?,
+ target: Target?,
+ isFirstResource: Boolean
+ ): Boolean {
+ return true
+ }
+ })
+ .submit()
+ }
+ }
+
+ //
+
+ //
+
+ fun play() {
+ this.imageView.play()
+ this.isPlaying = true
+ this.firePlayerStateChange()
+ }
+
+ fun pause() {
+ this.imageView.pause()
+ this.isPlaying = false
+ this.firePlayerStateChange()
+ }
+
+ fun toggle() {
+ if (this.isPlaying) {
+ this.pause()
+ } else {
+ this.play()
+ }
+ }
+
+ //
+
+ //
+
+ fun firePlayerStateChange() {
+ onPlayerStateChange(mapOf(
+ "isPlaying" to this.isPlaying,
+ "isLoaded" to this.isLoaded,
+ ))
+ }
+
+ //
+}
diff --git a/modules/expo-bluesky-gif-view/expo-module.config.json b/modules/expo-bluesky-gif-view/expo-module.config.json
new file mode 100644
index 0000000000..0756c8e24c
--- /dev/null
+++ b/modules/expo-bluesky-gif-view/expo-module.config.json
@@ -0,0 +1,9 @@
+{
+ "platforms": ["ios", "android", "web"],
+ "ios": {
+ "modules": ["ExpoBlueskyGifViewModule"]
+ },
+ "android": {
+ "modules": ["expo.modules.blueskygifview.ExpoBlueskyGifViewModule"]
+ }
+}
diff --git a/modules/expo-bluesky-gif-view/index.ts b/modules/expo-bluesky-gif-view/index.ts
new file mode 100644
index 0000000000..0244a54914
--- /dev/null
+++ b/modules/expo-bluesky-gif-view/index.ts
@@ -0,0 +1 @@
+export {GifView} from './src/GifView'
diff --git a/modules/expo-bluesky-gif-view/ios/ExpoBlueskyGifView.podspec b/modules/expo-bluesky-gif-view/ios/ExpoBlueskyGifView.podspec
new file mode 100644
index 0000000000..ddd0877b24
--- /dev/null
+++ b/modules/expo-bluesky-gif-view/ios/ExpoBlueskyGifView.podspec
@@ -0,0 +1,23 @@
+Pod::Spec.new do |s|
+ s.name = 'ExpoBlueskyGifView'
+ s.version = '1.0.0'
+ s.summary = 'A simple GIF player for Bluesky'
+ s.description = 'A simple GIF player for Bluesky'
+ s.author = ''
+ 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'
+ s.dependency 'SDWebImage', '~> 5.17.0'
+ s.dependency 'SDWebImageWebPCoder', '~> 0.13.0'
+
+ # 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-bluesky-gif-view/ios/ExpoBlueskyGifViewModule.swift b/modules/expo-bluesky-gif-view/ios/ExpoBlueskyGifViewModule.swift
new file mode 100644
index 0000000000..7c7132290d
--- /dev/null
+++ b/modules/expo-bluesky-gif-view/ios/ExpoBlueskyGifViewModule.swift
@@ -0,0 +1,47 @@
+import ExpoModulesCore
+import SDWebImage
+import SDWebImageWebPCoder
+
+public class ExpoBlueskyGifViewModule: Module {
+ public func definition() -> ModuleDefinition {
+ Name("ExpoBlueskyGifView")
+
+ OnCreate {
+ SDImageCodersManager.shared.addCoder(SDImageGIFCoder.shared)
+ }
+
+ AsyncFunction("prefetchAsync") { (sources: [URL]) in
+ SDWebImagePrefetcher.shared.prefetchURLs(sources, context: Util.createContext(), progress: nil)
+ }
+
+ View(GifView.self) {
+ Events(
+ "onPlayerStateChange"
+ )
+
+ Prop("source") { (view: GifView, prop: String) in
+ view.source = prop
+ }
+
+ Prop("placeholderSource") { (view: GifView, prop: String) in
+ view.placeholderSource = prop
+ }
+
+ Prop("autoplay") { (view: GifView, prop: Bool) in
+ view.autoplay = prop
+ }
+
+ AsyncFunction("toggleAsync") { (view: GifView) in
+ view.toggle()
+ }
+
+ AsyncFunction("playAsync") { (view: GifView) in
+ view.play()
+ }
+
+ AsyncFunction("pauseAsync") { (view: GifView) in
+ view.pause()
+ }
+ }
+ }
+}
diff --git a/modules/expo-bluesky-gif-view/ios/GifView.swift b/modules/expo-bluesky-gif-view/ios/GifView.swift
new file mode 100644
index 0000000000..de722d7a63
--- /dev/null
+++ b/modules/expo-bluesky-gif-view/ios/GifView.swift
@@ -0,0 +1,185 @@
+import ExpoModulesCore
+import SDWebImage
+import SDWebImageWebPCoder
+
+typealias SDWebImageContext = [SDWebImageContextOption: Any]
+
+public class GifView: ExpoView, AVPlayerViewControllerDelegate {
+ // Events
+ private let onPlayerStateChange = EventDispatcher()
+
+ // SDWebImage
+ private let imageView = SDAnimatedImageView(frame: .zero)
+ private let imageManager = SDWebImageManager(
+ cache: SDImageCache.shared,
+ loader: SDImageLoadersManager.shared
+ )
+ private var isPlaying = true
+ private var isLoaded = false
+
+ // Requests
+ private var webpOperation: SDWebImageCombinedOperation?
+ private var placeholderOperation: SDWebImageCombinedOperation?
+
+ // Props
+ var source: String? = nil
+ var placeholderSource: String? = nil
+ var autoplay = true {
+ didSet {
+ if !autoplay {
+ self.pause()
+ } else {
+ self.play()
+ }
+ }
+ }
+
+ // MARK: - Lifecycle
+
+ public required init(appContext: AppContext? = nil) {
+ super.init(appContext: appContext)
+ self.clipsToBounds = true
+
+ self.imageView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
+ self.imageView.layer.masksToBounds = false
+ self.imageView.backgroundColor = .clear
+ self.imageView.contentMode = .scaleToFill
+
+ // We have to explicitly set this to false. If we don't, every time
+ // the view comes into the viewport, it will start animating again
+ self.imageView.autoPlayAnimatedImage = false
+
+ self.addSubview(self.imageView)
+ }
+
+ public override func willMove(toWindow newWindow: UIWindow?) {
+ if newWindow == nil {
+ // Don't cancel the placeholder operation, because we really want that to complete for
+ // when we scroll back up
+ self.webpOperation?.cancel()
+ self.placeholderOperation?.cancel()
+ } else if self.imageView.image == nil {
+ self.load()
+ }
+ }
+
+ // MARK: - Loading
+
+ private func load() {
+ guard let source = self.source, let placeholderSource = self.placeholderSource else {
+ return
+ }
+
+ self.webpOperation?.cancel()
+ self.placeholderOperation?.cancel()
+
+ // We only need to start an operation for the placeholder if it doesn't exist
+ // in the cache already. Cache key is by default the absolute URL of the image.
+ // See:
+ // https://github.com/SDWebImage/SDWebImage/blob/master/Docs/HowToUse.md#using-asynchronous-image-caching-independently
+ if !SDImageCache.shared.diskImageDataExists(withKey: source),
+ let url = URL(string: placeholderSource)
+ {
+ self.placeholderOperation = imageManager.loadImage(
+ with: url,
+ options: [.retryFailed],
+ context: Util.createContext(),
+ progress: onProgress(_:_:_:),
+ completed: onLoaded(_:_:_:_:_:_:)
+ )
+ }
+
+ if let url = URL(string: source) {
+ self.webpOperation = imageManager.loadImage(
+ with: url,
+ options: [.retryFailed],
+ context: Util.createContext(),
+ progress: onProgress(_:_:_:),
+ completed: onLoaded(_:_:_:_:_:_:)
+ )
+ }
+ }
+
+ private func setImage(_ image: UIImage) {
+ if self.imageView.image == nil || image.sd_isAnimated {
+ self.imageView.image = image
+ }
+
+ if image.sd_isAnimated {
+ self.firePlayerStateChange()
+ if isPlaying {
+ self.imageView.startAnimating()
+ }
+ }
+ }
+
+ // MARK: - Loading blocks
+
+ private func onProgress(_ receivedSize: Int, _ expectedSize: Int, _ imageUrl: URL?) {}
+
+ private func onLoaded(
+ _ image: UIImage?,
+ _ data: Data?,
+ _ error: Error?,
+ _ cacheType: SDImageCacheType,
+ _ finished: Bool,
+ _ imageUrl: URL?
+ ) {
+ guard finished else {
+ return
+ }
+
+ if let placeholderSource = self.placeholderSource,
+ imageUrl?.absoluteString == placeholderSource,
+ self.imageView.image == nil,
+ let image = image
+ {
+ self.setImage(image)
+ return
+ }
+
+ if let source = self.source,
+ imageUrl?.absoluteString == source,
+ // UIImage perf suckssss if the image is animated
+ let data = data,
+ let animatedImage = SDAnimatedImage(data: data)
+ {
+ self.placeholderOperation?.cancel()
+ self.isPlaying = self.autoplay
+ self.isLoaded = true
+ self.setImage(animatedImage)
+ self.firePlayerStateChange()
+ }
+ }
+
+ // MARK: - Playback Controls
+
+ func play() {
+ self.imageView.startAnimating()
+ self.isPlaying = true
+ self.firePlayerStateChange()
+ }
+
+ func pause() {
+ self.imageView.stopAnimating()
+ self.isPlaying = false
+ self.firePlayerStateChange()
+ }
+
+ func toggle() {
+ if self.isPlaying {
+ self.pause()
+ } else {
+ self.play()
+ }
+ }
+
+ // MARK: - Util
+
+ private func firePlayerStateChange() {
+ onPlayerStateChange([
+ "isPlaying": self.isPlaying,
+ "isLoaded": self.isLoaded
+ ])
+ }
+}
diff --git a/modules/expo-bluesky-gif-view/ios/Util.swift b/modules/expo-bluesky-gif-view/ios/Util.swift
new file mode 100644
index 0000000000..55ed4152aa
--- /dev/null
+++ b/modules/expo-bluesky-gif-view/ios/Util.swift
@@ -0,0 +1,17 @@
+import SDWebImage
+
+class Util {
+ static func createContext() -> SDWebImageContext {
+ var context = SDWebImageContext()
+
+ // SDAnimatedImage for some reason has issues whenever loaded from memory. Instead, we
+ // will just use the disk. SDWebImage will manage this cache for us, so we don't need
+ // to worry about clearing it.
+ context[.originalQueryCacheType] = SDImageCacheType.disk.rawValue
+ context[.originalStoreCacheType] = SDImageCacheType.disk.rawValue
+ context[.queryCacheType] = SDImageCacheType.disk.rawValue
+ context[.storeCacheType] = SDImageCacheType.disk.rawValue
+
+ return context
+ }
+}
diff --git a/modules/expo-bluesky-gif-view/src/GifView.tsx b/modules/expo-bluesky-gif-view/src/GifView.tsx
new file mode 100644
index 0000000000..87258de17b
--- /dev/null
+++ b/modules/expo-bluesky-gif-view/src/GifView.tsx
@@ -0,0 +1,39 @@
+import React from 'react'
+import {requireNativeModule} from 'expo'
+import {requireNativeViewManager} from 'expo-modules-core'
+
+import {GifViewProps} from './GifView.types'
+
+const NativeModule = requireNativeModule('ExpoBlueskyGifView')
+const NativeView: React.ComponentType<
+ GifViewProps & {ref: React.RefObject}
+> = requireNativeViewManager('ExpoBlueskyGifView')
+
+export class GifView extends React.PureComponent {
+ // TODO native types, should all be the same as those in this class
+ private nativeRef: React.RefObject = React.createRef()
+
+ constructor(props: GifViewProps | Readonly) {
+ super(props)
+ }
+
+ static async prefetchAsync(sources: string[]): Promise {
+ return await NativeModule.prefetchAsync(sources)
+ }
+
+ async playAsync(): Promise {
+ await this.nativeRef.current.playAsync()
+ }
+
+ async pauseAsync(): Promise {
+ await this.nativeRef.current.pauseAsync()
+ }
+
+ async toggleAsync(): Promise {
+ await this.nativeRef.current.toggleAsync()
+ }
+
+ render() {
+ return
+ }
+}
diff --git a/modules/expo-bluesky-gif-view/src/GifView.types.ts b/modules/expo-bluesky-gif-view/src/GifView.types.ts
new file mode 100644
index 0000000000..29ec277f2b
--- /dev/null
+++ b/modules/expo-bluesky-gif-view/src/GifView.types.ts
@@ -0,0 +1,15 @@
+import {ViewProps} from 'react-native'
+
+export interface GifViewStateChangeEvent {
+ nativeEvent: {
+ isPlaying: boolean
+ isLoaded: boolean
+ }
+}
+
+export interface GifViewProps extends ViewProps {
+ autoplay?: boolean
+ source?: string
+ placeholderSource?: string
+ onPlayerStateChange?: (event: GifViewStateChangeEvent) => void
+}
diff --git a/modules/expo-bluesky-gif-view/src/GifView.web.tsx b/modules/expo-bluesky-gif-view/src/GifView.web.tsx
new file mode 100644
index 0000000000..c197e01a1d
--- /dev/null
+++ b/modules/expo-bluesky-gif-view/src/GifView.web.tsx
@@ -0,0 +1,82 @@
+import * as React from 'react'
+import {StyleSheet} from 'react-native'
+
+import {GifViewProps} from './GifView.types'
+
+export class GifView extends React.PureComponent {
+ private readonly videoPlayerRef: React.RefObject =
+ React.createRef()
+ private isLoaded = false
+
+ constructor(props: GifViewProps | Readonly) {
+ super(props)
+ }
+
+ componentDidUpdate(prevProps: Readonly) {
+ if (prevProps.autoplay !== this.props.autoplay) {
+ if (this.props.autoplay) {
+ this.playAsync()
+ } else {
+ this.pauseAsync()
+ }
+ }
+ }
+
+ static async prefetchAsync(_: string[]): Promise {
+ console.warn('prefetchAsync is not supported on web')
+ }
+
+ private firePlayerStateChangeEvent = () => {
+ this.props.onPlayerStateChange?.({
+ nativeEvent: {
+ isPlaying: !this.videoPlayerRef.current?.paused,
+ isLoaded: this.isLoaded,
+ },
+ })
+ }
+
+ private onLoad = () => {
+ // Prevent multiple calls to onLoad because onCanPlay will fire after each loop
+ if (this.isLoaded) {
+ return
+ }
+
+ this.isLoaded = true
+ this.firePlayerStateChangeEvent()
+ }
+
+ async playAsync(): Promise {
+ this.videoPlayerRef.current?.play()
+ }
+
+ async pauseAsync(): Promise {
+ this.videoPlayerRef.current?.pause()
+ }
+
+ async toggleAsync(): Promise {
+ if (this.videoPlayerRef.current?.paused) {
+ await this.playAsync()
+ } else {
+ await this.pauseAsync()
+ }
+ }
+
+ render() {
+ return (
+
+ )
+ }
+}
diff --git a/modules/expo-bluesky-oauth-client/src/react-native-key.ts b/modules/expo-bluesky-oauth-client/src/react-native-key.ts
index 6d93b0cfdb..6f76b5ca33 100644
--- a/modules/expo-bluesky-oauth-client/src/react-native-key.ts
+++ b/modules/expo-bluesky-oauth-client/src/react-native-key.ts
@@ -49,7 +49,9 @@ export class ReactNativeKey extends Key {
// We don't need to validate this, because the native types ensure it is correct. But this is a TODO
// for the same reason above
- const protectedHeader = result.protectedHeader
+ const protectedHeader = Object.fromEntries(
+ Object.entries(result.protectedHeader).filter(([_, v]) => v !== null),
+ )
if (options?.audience != null) {
const audience = Array.isArray(options.audience)
diff --git a/modules/expo-bluesky-oauth-client/src/react-native-oauth-database.native.ts b/modules/expo-bluesky-oauth-client/src/react-native-oauth-database.native.ts
index 96a7ae74d7..c85275f343 100644
--- a/modules/expo-bluesky-oauth-client/src/react-native-oauth-database.native.ts
+++ b/modules/expo-bluesky-oauth-client/src/react-native-oauth-database.native.ts
@@ -14,13 +14,10 @@ type Item = {
type EncodedKey = {
keyId: string
- keyPair: CryptoKeyPair
+ keyPair: CryptoKey
}
function encodeKey(key: Key): EncodedKey {
- if (!(key instanceof WebcryptoKey) || !key.kid) {
- throw new Error('Invalid key object')
- }
return {
keyId: key.kid,
keyPair: key.cryptoKeyPair,
@@ -42,7 +39,6 @@ export type Schema = {
}>
session: Item<{
dpopKey: EncodedKey
-
tokenSet: TokenSet
}>
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..21a2b9fb26
--- /dev/null
+++ b/modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.ios.tsx
@@ -0,0 +1,14 @@
+import * as React from 'react'
+import {requireNativeViewManager} from 'expo-modules-core'
+
+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..7eb52b78bd
--- /dev/null
+++ b/modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.tsx
@@ -0,0 +1,8 @@
+import React from 'react'
+
+import {ExpoScrollForwarderViewProps} from './ExpoScrollForwarder.types'
+export function ExpoScrollForwarderView({
+ children,
+}: React.PropsWithChildren) {
+ return children
+}
diff --git a/package.json b/package.json
index 92d088c038..895d164568 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "bsky.app",
- "version": "1.77.0",
+ "version": "1.80.0",
"private": true,
"engines": {
"node": ">=18"
@@ -20,6 +20,7 @@
"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/*",
@@ -49,13 +50,15 @@
"open-analyzer": "EXPO_PUBLIC_OPEN_ANALYZER=1 yarn build-web"
},
"dependencies": {
- "@atproto/api": "^0.12.2",
+ "@atproto/api": "^0.12.5",
"@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",
@@ -113,6 +116,7 @@
"expo-constants": "~15.4.5",
"expo-dev-client": "~3.3.8",
"expo-device": "~5.9.3",
+ "expo-file-system": "^16.0.9",
"expo-haptics": "^12.8.1",
"expo-image": "~1.10.6",
"expo-image-manipulator": "^11.8.0",
@@ -121,6 +125,7 @@
"expo-linking": "^6.2.2",
"expo-localization": "~14.8.3",
"expo-media-library": "~15.9.1",
+ "expo-navigation-bar": "~2.8.1",
"expo-notifications": "~0.27.6",
"expo-sharing": "^11.10.0",
"expo-splash-screen": "~0.26.4",
@@ -185,10 +190,10 @@
"tippy.js": "^6.3.7",
"tlds": "^1.234.0",
"zeego": "^1.6.2",
- "zod": "^3.20.2"
+ "zod": "^3.22.4"
},
"devDependencies": {
- "@atproto/dev-env": "^0.3.4",
+ "@atproto/dev-env": "^0.3.5",
"@babel/core": "^7.23.2",
"@babel/preset-env": "^7.20.0",
"@babel/runtime": "^7.20.0",
@@ -259,7 +264,8 @@
},
"resolutions": {
"@types/react": "^18",
- "**/zeed-dom": "0.10.9"
+ "**/zeed-dom": "0.10.9",
+ "browserify-sign": "4.2.2"
},
"jest": {
"preset": "jest-expo/ios",
diff --git a/patches/@atproto+lexicon+0.4.0.patch b/patches/@atproto+lexicon+0.4.0.patch
new file mode 100644
index 0000000000..4643db32af
--- /dev/null
+++ b/patches/@atproto+lexicon+0.4.0.patch
@@ -0,0 +1,28 @@
+diff --git a/node_modules/@atproto/lexicon/dist/validators/complex.js b/node_modules/@atproto/lexicon/dist/validators/complex.js
+index 32d7798..9d688b7 100644
+--- a/node_modules/@atproto/lexicon/dist/validators/complex.js
++++ b/node_modules/@atproto/lexicon/dist/validators/complex.js
+@@ -113,7 +113,22 @@ function object(lexicons, path, def, value) {
+ if (value[key] === null && nullableProps.has(key)) {
+ continue;
+ }
+- const propDef = def.properties[key];
++ const propDef = def.properties[key]
++ if (typeof value[key] === 'undefined' && !requiredProps.has(key)) {
++ // Fast path for non-required undefined props.
++ if (
++ propDef.type === 'integer' ||
++ propDef.type === 'boolean' ||
++ propDef.type === 'string'
++ ) {
++ if (typeof propDef.default === 'undefined') {
++ continue
++ }
++ } else {
++ // Other types have no defaults.
++ continue
++ }
++ }
+ const propPath = `${path}/${key}`;
+ const validated = (0, util_1.validateOneOf)(lexicons, propPath, propDef, value[key]);
+ const propValue = validated.success ? validated.value : value[key];
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/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/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/src/App.native.tsx b/src/App.native.tsx
index 9abe4a559d..cf96781b73 100644
--- a/src/App.native.tsx
+++ b/src/App.native.tsx
@@ -16,10 +16,9 @@ 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 {readLastActiveAccount} from '#/state/session/util/readLastActiveAccount'
import {useIntentHandler} from 'lib/hooks/useIntentHandler'
-import {useOTAUpdates} from 'lib/hooks/useOTAUpdates'
import {useNotificationsListener} from 'lib/notifications/notifications'
import {QueryProvider} from 'lib/react-query'
import {s} from 'lib/styles'
@@ -58,7 +57,6 @@ function InnerApp() {
const {_} = useLingui()
useIntentHandler()
- useOTAUpdates()
// init
useEffect(() => {
@@ -66,7 +64,7 @@ function InnerApp() {
Toast.show(_(msg`Sorry! Your session expired. Please log in again.`))
})
- const account = persisted.get('session').currentAccount
+ const account = readLastActiveAccount()
resumeSession(account)
}, [resumeSession, _])
diff --git a/src/App.web.tsx b/src/App.web.tsx
index ccf7ecb491..639fbfafc5 100644
--- a/src/App.web.tsx
+++ b/src/App.web.tsx
@@ -7,8 +7,8 @@ import {SafeAreaProvider} from 'react-native-safe-area-context'
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 {readLastActiveAccount} from '#/state/session/util/readLastActiveAccount'
import {useIntentHandler} from 'lib/hooks/useIntentHandler'
import {QueryProvider} from 'lib/react-query'
import {ThemeProvider} from 'lib/ThemeContext'
@@ -42,7 +42,7 @@ function InnerApp() {
// init
useEffect(() => {
- const account = persisted.get('session').currentAccount
+ const account = readLastActiveAccount()
resumeSession(account)
}, [resumeSession])
diff --git a/src/Navigation.tsx b/src/Navigation.tsx
index 070c57960d..316a975388 100644
--- a/src/Navigation.tsx
+++ b/src/Navigation.tsx
@@ -25,6 +25,7 @@ import {
FeedsTabNavigatorParams,
FlatNavigatorParams,
HomeTabNavigatorParams,
+ MessagesTabNavigatorParams,
MyProfileTabNavigatorParams,
NotificationsTabNavigatorParams,
SearchTabNavigatorParams,
@@ -46,6 +47,9 @@ 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 {MessagesConversationScreen} from './screens/Messages/Conversation'
+import {MessagesListScreen} from './screens/Messages/List'
+import {MessagesSettingsScreen} from './screens/Messages/Settings'
import {useModalControls} from './state/modals'
import {useUnreadNotifications} from './state/queries/notifications/unread'
import {useSession} from './state/session'
@@ -53,6 +57,7 @@ import {
setEmailConfirmationRequested,
shouldRequestEmailConfirmation,
} from './state/shell/reminders'
+import {AccessibilitySettingsScreen} from './view/screens/AccessibilitySettings'
import {CommunityGuidelinesScreen} from './view/screens/CommunityGuidelines'
import {CopyrightPolicyScreen} from './view/screens/CopyrightPolicy'
import {DebugModScreen} from './view/screens/DebugMod'
@@ -91,6 +96,8 @@ const NotificationsTab =
createNativeStackNavigatorWithAuth()
const MyProfileTab =
createNativeStackNavigatorWithAuth()
+const MessagesTab =
+ createNativeStackNavigatorWithAuth()
const Flat = createNativeStackNavigatorWithAuth()
const Tab = createBottomTabNavigator()
@@ -193,7 +200,7 @@ function commonScreens(Stack: typeof HomeTab, unreadCountLabel?: string) {
ProfileFeedScreen}
- options={{title: title(msg`Feed`), requireAuth: true}}
+ options={{title: title(msg`Feed`)}}
/>
+ AccessibilitySettingsScreen}
+ options={{
+ title: title(msg`Accessibility Settings`),
+ requireAuth: true,
+ }}
+ />
HashtagScreen}
options={{title: title(msg`Hashtag`)}}
/>
+ MessagesConversationScreen}
+ options={{title: title(msg`Chat`), requireAuth: true}}
+ />
+ MessagesSettingsScreen}
+ options={{title: title(msg`Messaging settings`), requireAuth: true}}
+ />
>
)
}
@@ -314,6 +339,10 @@ function TabsNavigator() {
name="MyProfileTab"
getComponent={() => MyProfileTabNavigator}
/>
+ MessagesTabNavigator}
+ />
)
}
@@ -331,11 +360,7 @@ function HomeTabNavigator() {
animationDuration: 250,
contentStyle: pal.view,
}}>
- HomeScreen}
- options={{requireAuth: true}}
- />
+ HomeScreen} />
{commonScreens(HomeTab)}
)
@@ -371,11 +396,7 @@ function FeedsTabNavigator() {
animationDuration: 250,
contentStyle: pal.view,
}}>
- FeedsScreen}
- options={{requireAuth: true}}
- />
+ FeedsScreen} />
{commonScreens(FeedsTab as typeof HomeTab)}
)
@@ -428,6 +449,28 @@ function MyProfileTabNavigator() {
)
}
+function MessagesTabNavigator() {
+ const pal = usePalette('default')
+ return (
+
+ MessagesListScreen}
+ options={{requireAuth: true}}
+ />
+ {commonScreens(MessagesTab as typeof HomeTab)}
+
+ )
+}
+
/**
* The FlatNavigator is used by Web to represent the routes
* in a single ("flat") stack.
@@ -451,7 +494,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`)}}
/>
NotificationsScreen}
options={{title: title(msg`Notifications`), requireAuth: true}}
/>
+ MessagesListScreen}
+ options={{title: title(msg`Messages`), requireAuth: true}}
+ />
{commonScreens(Flat as typeof HomeTab, numUnread)}
)
@@ -521,6 +569,9 @@ const LINKING = {
if (name === 'Home') {
return buildStateObject('HomeTab', 'Home', params)
}
+ if (name === 'Messages') {
+ return buildStateObject('MessagesTab', 'MessagesList', params)
+ }
// if the path is something else, like a post, profile, or even settings, we need to initialize the home tab as pre-existing state otherwise the back button will not work
return buildStateObject('HomeTab', name, params, [
{
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..a106d99663
--- /dev/null
+++ b/src/components/AppLanguageDropdown.web.tsx
@@ -0,0 +1,84 @@
+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/Dialog/index.tsx b/src/components/Dialog/index.tsx
index 55798db7f5..e5a6792db6 100644
--- a/src/components/Dialog/index.tsx
+++ b/src/components/Dialog/index.tsx
@@ -4,6 +4,8 @@ import Animated, {useAnimatedStyle} from 'react-native-reanimated'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
import BottomSheet, {
BottomSheetBackdropProps,
+ BottomSheetFlatList,
+ BottomSheetFlatListMethods,
BottomSheetScrollView,
BottomSheetScrollViewMethods,
BottomSheetTextInput,
@@ -11,10 +13,10 @@ import BottomSheet, {
useBottomSheet,
WINDOW_HEIGHT,
} from '@discord/bottom-sheet/src'
+import {BottomSheetFlatListProps} from '@discord/bottom-sheet/src/components/bottomSheetScrollable/types'
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 {
@@ -150,6 +152,12 @@ export function Outer({
[open, close],
)
+ React.useEffect(() => {
+ return () => {
+ setDialogIsOpen(control.id, false)
+ }
+ }, [control.id, setDialogIsOpen])
+
const context = React.useMemo(() => ({close}), [close])
return (
@@ -238,7 +246,7 @@ export const ScrollableInner = React.forwardRef<
},
flatten(style),
]}
- contentContainerStyle={isNative ? a.pb_4xl : undefined}
+ contentContainerStyle={a.pb_4xl}
ref={ref}>
{children}
@@ -246,6 +254,34 @@ export const ScrollableInner = React.forwardRef<
)
})
+export const InnerFlatList = React.forwardRef<
+ BottomSheetFlatListMethods,
+ BottomSheetFlatListProps
+>(function InnerFlatList({style, contentContainerStyle, ...props}, ref) {
+ const insets = useSafeAreaInsets()
+ return (
+
+ }
+ ref={ref}
+ {...props}
+ style={[
+ a.flex_1,
+ a.p_xl,
+ a.pt_0,
+ a.h_full,
+ {
+ marginTop: 40,
+ },
+ flatten(style),
+ ]}
+ />
+ )
+})
+
export function Handle() {
const t = useTheme()
diff --git a/src/components/Dialog/index.web.tsx b/src/components/Dialog/index.web.tsx
index 1892d944ed..4cb4e7570c 100644
--- a/src/components/Dialog/index.web.tsx
+++ b/src/components/Dialog/index.web.tsx
@@ -1,5 +1,10 @@
import React, {useImperativeHandle} from 'react'
-import {TouchableWithoutFeedback, View} from 'react-native'
+import {
+ FlatList,
+ FlatListProps,
+ TouchableWithoutFeedback,
+ View,
+} from 'react-native'
import Animated, {FadeIn, FadeInDown} from 'react-native-reanimated'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
@@ -192,6 +197,29 @@ export function Inner({
export const ScrollableInner = Inner
+export const InnerFlatList = React.forwardRef<
+ FlatList,
+ FlatListProps & {label: string}
+>(function InnerFlatList({label, style, ...props}, ref) {
+ const {gtMobile} = useBreakpoints()
+ return (
+
+
+
+ )
+})
+
export function Handle() {
return null
}
diff --git a/src/components/Error.tsx b/src/components/Error.tsx
index 91b33f48e0..bf689fc076 100644
--- a/src/components/Error.tsx
+++ b/src/components/Error.tsx
@@ -16,10 +16,14 @@ export function Error({
title,
message,
onRetry,
+ onGoBack: onGoBackProp,
+ sideBorders = true,
}: {
title?: string
message?: string
onRetry?: () => unknown
+ onGoBack?: () => unknown
+ sideBorders?: boolean
}) {
const navigation = useNavigation()
const {_} = useLingui()
@@ -28,6 +32,10 @@ export function Error({
const canGoBack = navigation.canGoBack()
const onGoBack = React.useCallback(() => {
+ if (onGoBackProp) {
+ onGoBackProp()
+ return
+ }
if (canGoBack) {
navigation.goBack()
} else {
@@ -41,18 +49,19 @@ export function Error({
navigation.dispatch(StackActions.popToTop())
}
}
- }, [navigation, canGoBack])
+ }, [navigation, canGoBack, onGoBackProp])
return (
+ sideBorders={sideBorders}>
{title}
Promise
height?: number
+ style?: StyleProp
}) {
const t = useTheme()
@@ -33,6 +35,7 @@ export function ListFooter({
a.pb_lg,
t.atoms.border_contrast_low,
{height: height ?? 180, paddingTop: 30},
+ flatten(style),
]}>
{isFetchingNextPage ? (
@@ -120,7 +123,7 @@ export function ListHeaderDesktop({
)
}
-export function ListMaybePlaceholder({
+let ListMaybePlaceholder = ({
isLoading,
noEmpty,
isError,
@@ -130,6 +133,8 @@ export function ListMaybePlaceholder({
errorMessage,
emptyType = 'page',
onRetry,
+ onGoBack,
+ sideBorders,
}: {
isLoading: boolean
noEmpty?: boolean
@@ -140,7 +145,9 @@ export function ListMaybePlaceholder({
errorMessage?: string
emptyType?: 'page' | 'results'
onRetry?: () => Promise
-}) {
+ onGoBack?: () => void
+ sideBorders?: boolean
+}): React.ReactNode => {
const t = useTheme()
const {_} = useLingui()
const {gtMobile, gtTablet} = useBreakpoints()
@@ -155,7 +162,7 @@ export function ListMaybePlaceholder({
t.atoms.border_contrast_low,
{paddingTop: 175, paddingBottom: 110},
]}
- sideBorders={gtMobile}
+ sideBorders={sideBorders ?? gtMobile}
topBorder={!gtTablet}>
@@ -170,6 +177,8 @@ export function ListMaybePlaceholder({
title={errorTitle ?? _(msg`Oops!`)}
message={errorMessage ?? _(`Something went wrong!`)}
onRetry={onRetry}
+ onGoBack={onGoBack}
+ sideBorders={sideBorders}
/>
)
}
@@ -188,9 +197,13 @@ export function ListMaybePlaceholder({
_(msg`We're sorry! We can't find the page you were looking for.`)
}
onRetry={onRetry}
+ onGoBack={onGoBack}
+ sideBorders={sideBorders}
/>
)
}
return null
}
+ListMaybePlaceholder = memo(ListMaybePlaceholder)
+export {ListMaybePlaceholder}
diff --git a/src/components/Menu/index.web.tsx b/src/components/Menu/index.web.tsx
index 60b2342034..031250ddef 100644
--- a/src/components/Menu/index.web.tsx
+++ b/src/components/Menu/index.web.tsx
@@ -1,27 +1,26 @@
/* eslint-disable react/prop-types */
import React from 'react'
-import {View, Pressable, ViewStyle, StyleProp} from 'react-native'
-import * as DropdownMenu from '@radix-ui/react-dropdown-menu'
+import {Pressable, StyleProp, View, ViewStyle} from 'react-native'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+import * as DropdownMenu from '@radix-ui/react-dropdown-menu'
+import {atoms as a, flatten, useTheme, web} from '#/alf'
import * as Dialog from '#/components/Dialog'
import {useInteractionState} from '#/components/hooks/useInteractionState'
-import {atoms as a, useTheme, flatten, web} from '#/alf'
-import {Text} from '#/components/Typography'
-
+import {Context} from '#/components/Menu/context'
import {
ContextType,
- TriggerProps,
- ItemProps,
GroupProps,
- ItemTextProps,
ItemIconProps,
+ ItemProps,
+ ItemTextProps,
RadixPassThroughTriggerProps,
+ TriggerProps,
} from '#/components/Menu/types'
-import {Context} from '#/components/Menu/context'
import {Portal} from '#/components/Portal'
+import {Text} from '#/components/Typography'
export function useMenuControl(): Dialog.DialogControlProps {
const id = React.useId()
@@ -135,10 +134,22 @@ export function Trigger({children, label}: TriggerProps) {
},
props: {
...props,
- // disable on web, use `onPress`
- onPointerDown: () => false,
- onPress: () =>
- control.isOpen ? control.close() : control.open(),
+ // No-op override to prevent false positive that interprets mobile scroll as a tap.
+ // This requires the custom onPress handler below to compensate.
+ // https://github.com/radix-ui/primitives/issues/1912
+ onPointerDown: undefined,
+ onPress: () => {
+ if (window.event instanceof KeyboardEvent) {
+ // The onPointerDown hack above is not relevant to this press, so don't do anything.
+ return
+ }
+ // Compensate for the disabled onPointerDown above by triggering it manually.
+ if (control.isOpen) {
+ control.close()
+ } else {
+ control.open()
+ }
+ },
onFocus: onFocus,
onBlur: onBlur,
onMouseEnter,
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..d1b00d522f
--- /dev/null
+++ b/src/components/ProfileHoverCard/index.web.tsx
@@ -0,0 +1,469 @@
+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-hide' | 'hiding'
+ effect?: () => () => any
+ }
+ | {
+ stage: 'might-show' | 'showing'
+ effect?: () => () => any
+ reason: 'hovered-target' | 'hovered-card'
+ }
+
+type Action =
+ | 'pressed'
+ | 'scrolled-while-showing'
+ | 'hovered-target'
+ | 'unhovered-target'
+ | 'hovered-card'
+ | 'unhovered-card'
+ | 'hovered-long-enough'
+ | 'unhovered-long-enough'
+ | 'finished-animating-hide'
+
+const SHOW_DELAY = 500
+const SHOW_DURATION = 300
+const HIDE_DELAY = 150
+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 => {
+ // Pressing within a card should always hide it.
+ // No matter which stage we're in.
+ if (action === 'pressed') {
+ return hidden()
+ }
+
+ // --- Hidden ---
+ // In the beginning, the card is not displayed.
+ function hidden(): State {
+ return {stage: 'hidden'}
+ }
+ if (state.stage === 'hidden') {
+ // The user can kick things off by hovering a target.
+ if (action === 'hovered-target') {
+ return mightShow({
+ reason: action,
+ })
+ }
+ }
+
+ // --- Might Show ---
+ // The card is not visible yet but we're considering showing it.
+ function mightShow({
+ waitMs = SHOW_DELAY,
+ reason,
+ }: {
+ waitMs?: number
+ reason: 'hovered-target' | 'hovered-card'
+ }): State {
+ return {
+ stage: 'might-show',
+ reason,
+ effect() {
+ const id = setTimeout(() => dispatch('hovered-long-enough'), waitMs)
+ return () => {
+ clearTimeout(id)
+ }
+ },
+ }
+ }
+ if (state.stage === 'might-show') {
+ // We'll make a decision at the end of a grace period timeout.
+ if (action === 'unhovered-target' || action === 'unhovered-card') {
+ return hidden()
+ }
+ if (action === 'hovered-long-enough') {
+ return showing({
+ reason: state.reason,
+ })
+ }
+ }
+
+ // --- Showing ---
+ // The card is beginning to show up and then will remain visible.
+ function showing({
+ reason,
+ }: {
+ reason: 'hovered-target' | 'hovered-card'
+ }): State {
+ return {
+ stage: 'showing',
+ reason,
+ effect() {
+ function onScroll() {
+ dispatch('scrolled-while-showing')
+ }
+ window.addEventListener('scroll', onScroll)
+ return () => window.removeEventListener('scroll', onScroll)
+ },
+ }
+ }
+ if (state.stage === 'showing') {
+ // If the user moves the pointer away, we'll begin to consider hiding it.
+ if (action === 'unhovered-target' || action === 'unhovered-card') {
+ return mightHide()
+ }
+ // Scrolling away if the hover is on the target instantly hides without a delay.
+ // If the hover is already on the card, we won't this.
+ if (
+ state.reason === 'hovered-target' &&
+ action === 'scrolled-while-showing'
+ ) {
+ return hiding()
+ }
+ }
+
+ // --- Might Hide ---
+ // The user has moved hover away from a visible card.
+ function mightHide({waitMs = HIDE_DELAY}: {waitMs?: number} = {}): State {
+ return {
+ stage: 'might-hide',
+ effect() {
+ const id = setTimeout(
+ () => dispatch('unhovered-long-enough'),
+ waitMs,
+ )
+ return () => clearTimeout(id)
+ },
+ }
+ }
+ if (state.stage === 'might-hide') {
+ // We'll make a decision based on whether it received hover again in time.
+ if (action === 'hovered-target' || action === 'hovered-card') {
+ return showing({
+ reason: action,
+ })
+ }
+ if (action === 'unhovered-long-enough') {
+ return hiding()
+ }
+ }
+
+ // --- Hiding ---
+ // The user waited enough outside that we're hiding the card.
+ function hiding({
+ animationDurationMs = HIDE_DURATION,
+ }: {
+ animationDurationMs?: number
+ } = {}): State {
+ return {
+ stage: 'hiding',
+ effect() {
+ const id = setTimeout(
+ () => dispatch('finished-animating-hide'),
+ animationDurationMs,
+ )
+ return () => clearTimeout(id)
+ },
+ }
+ }
+ if (state.stage === 'hiding') {
+ // While hiding, we don't want to be interrupted by anything else.
+ // When the animation finishes, we loop back to the initial hidden state.
+ if (action === 'finished-animating-hide') {
+ return hidden()
+ }
+ }
+
+ return state
+ },
+ {stage: 'hidden'},
+ )
+
+ React.useEffect(() => {
+ if (currentState.effect) {
+ const effect = currentState.effect
+ 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 didFireHover = React.useRef(false)
+ const onPointerMoveTarget = React.useCallback(() => {
+ prefetchIfNeeded()
+ // Conceptually we want something like onPointerEnter,
+ // but we want to ignore entering only due to scrolling.
+ // So instead we hover on the first onPointerMove.
+ if (!didFireHover.current) {
+ didFireHover.current = true
+ dispatch('hovered-target')
+ }
+ }, [prefetchIfNeeded])
+
+ const onPointerLeaveTarget = React.useCallback(() => {
+ didFireHover.current = false
+ dispatch('unhovered-target')
+ }, [])
+
+ const onPointerEnterCard = React.useCallback(() => {
+ dispatch('hovered-card')
+ }, [])
+
+ const onPointerLeaveCard = React.useCallback(() => {
+ dispatch('unhovered-card')
+ }, [])
+
+ 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/ReportDialog/SubmitView.tsx b/src/components/ReportDialog/SubmitView.tsx
index 892e55489c..40d655aa90 100644
--- a/src/components/ReportDialog/SubmitView.tsx
+++ b/src/components/ReportDialog/SubmitView.tsx
@@ -6,7 +6,7 @@ import {useLingui} from '@lingui/react'
import {getLabelingServiceTitle} from '#/lib/moderation'
import {ReportOption} from '#/lib/moderation/useReportOptions'
-import {getAgent} from '#/state/session'
+import {useAgent} 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'
@@ -35,6 +35,7 @@ export function SubmitView({
}) {
const t = useTheme()
const {_} = useLingui()
+ const {getAgent} = useAgent()
const [details, setDetails] = React.useState('')
const [submitting, setSubmitting] = React.useState(false)
const [selectedServices, setSelectedServices] = React.useState([
@@ -90,6 +91,7 @@ export function SubmitView({
selectedServices,
onSubmitComplete,
setError,
+ getAgent,
])
return (
diff --git a/src/components/RichText.tsx b/src/components/RichText.tsx
index 5cfa0b24f9..0d49e7130d 100644
--- a/src/components/RichText.tsx
+++ b/src/components/RichText.tsx
@@ -2,12 +2,15 @@ import React from 'react'
import {AppBskyRichtextFacet, RichText as RichTextAPI} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+import {useNavigation} from '@react-navigation/native'
+import {NavigationProp} from '#/lib/routes/types'
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} from '#/components/Link'
+import {InlineLinkText, LinkProps} from '#/components/Link'
+import {ProfileHoverCard} from '#/components/ProfileHoverCard'
import {TagMenu, useTagMenuControl} from '#/components/TagMenu'
import {Text, TextProps} from '#/components/Typography'
@@ -22,6 +25,7 @@ export function RichText({
selectable,
enableTags = false,
authorHandle,
+ onLinkPress,
}: TextStyleProp &
Pick & {
value: RichTextAPI | string
@@ -30,6 +34,7 @@ export function RichText({
disableLinks?: boolean
enableTags?: boolean
authorHandle?: string
+ onLinkPress?: LinkProps['onPress']
}) {
const richText = React.useMemo(
() =>
@@ -84,15 +89,17 @@ export function RichText({
!disableLinks
) {
els.push(
-
- {segment.text}
- ,
+
+
+ {segment.text}
+
+ ,
)
} else if (link && AppBskyRichtextFacet.validateLink(link).success) {
if (disableLinks) {
@@ -106,7 +113,8 @@ export function RichText({
style={[...styles, {pointerEvents: 'auto'}]}
// @ts-ignore TODO
dataSet={WORD_WRAP}
- shareOnLongPress>
+ shareOnLongPress
+ onPress={onLinkPress}>
{toShortUrl(segment.text)}
,
)
@@ -172,8 +180,15 @@ function RichTextTag({
onIn: onPressIn,
onOut: onPressOut,
} = useInteractionState()
+ const navigation = useNavigation()
+
+ const navigateToPage = React.useCallback(() => {
+ navigation.push('Hashtag', {
+ tag: encodeURIComponent(tag),
+ })
+ }, [navigation, tag])
- const open = React.useCallback(() => {
+ const openDialog = React.useCallback(() => {
control.open()
}, [control])
@@ -189,9 +204,10 @@ function RichTextTag({
selectable={selectable}
{...native({
accessibilityLabel: _(msg`Hashtag: #${tag}`),
- accessibilityHint: _(msg`Click here to open tag menu for #${tag}`),
+ accessibilityHint: _(msg`Long press to open tag menu for #${tag}`),
accessibilityRole: isNative ? 'button' : undefined,
- onPress: open,
+ onPress: navigateToPage,
+ onLongPress: openDialog,
onPressIn: onPressIn,
onPressOut: onPressOut,
})}
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/GifSelect.tsx b/src/components/dialogs/GifSelect.tsx
new file mode 100644
index 0000000000..024188ec44
--- /dev/null
+++ b/src/components/dialogs/GifSelect.tsx
@@ -0,0 +1,305 @@
+import React, {useCallback, useMemo, useRef, useState} from 'react'
+import {Keyboard, TextInput, View} from 'react-native'
+import {Image} from 'expo-image'
+import {BottomSheetFlatListMethods} from '@discord/bottom-sheet'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {logEvent} from '#/lib/statsig/statsig'
+import {cleanError} from '#/lib/strings/errors'
+import {isWeb} from '#/platform/detection'
+import {
+ Gif,
+ useFeaturedGifsQuery,
+ useGifSearchQuery,
+} from '#/state/queries/tenor'
+import {ErrorScreen} from '#/view/com/util/error/ErrorScreen'
+import {ErrorBoundary} from '#/view/com/util/ErrorBoundary'
+import {atoms as a, useBreakpoints, useTheme} from '#/alf'
+import * as Dialog from '#/components/Dialog'
+import * as TextField from '#/components/forms/TextField'
+import {useThrottledValue} from '#/components/hooks/useThrottledValue'
+import {ArrowLeft_Stroke2_Corner0_Rounded as Arrow} from '#/components/icons/Arrow'
+import {MagnifyingGlass2_Stroke2_Corner0_Rounded as Search} from '#/components/icons/MagnifyingGlass2'
+import {Button, ButtonIcon, ButtonText} from '../Button'
+import {ListFooter, ListMaybePlaceholder} from '../Lists'
+
+export function GifSelectDialog({
+ control,
+ onClose,
+ onSelectGif: onSelectGifProp,
+}: {
+ control: Dialog.DialogControlProps
+ onClose: () => void
+ onSelectGif: (gif: Gif) => void
+}) {
+ const onSelectGif = useCallback(
+ (gif: Gif) => {
+ control.close(() => onSelectGifProp(gif))
+ },
+ [control, onSelectGifProp],
+ )
+
+ const renderErrorBoundary = useCallback(
+ (error: any) => ,
+ [],
+ )
+
+ return (
+
+
+
+
+
+
+ )
+}
+
+function GifList({
+ control,
+ onSelectGif,
+}: {
+ control: Dialog.DialogControlProps
+ onSelectGif: (gif: Gif) => void
+}) {
+ const {_} = useLingui()
+ const t = useTheme()
+ const {gtMobile} = useBreakpoints()
+ const textInputRef = useRef(null)
+ const listRef = useRef(null)
+ const [undeferredSearch, setSearch] = useState('')
+ const search = useThrottledValue(undeferredSearch, 500)
+
+ const isSearching = search.length > 0
+
+ const trendingQuery = useFeaturedGifsQuery()
+ const searchQuery = useGifSearchQuery(search)
+
+ const {
+ data,
+ fetchNextPage,
+ isFetchingNextPage,
+ hasNextPage,
+ error,
+ isLoading,
+ isError,
+ refetch,
+ } = isSearching ? searchQuery : trendingQuery
+
+ const flattenedData = useMemo(() => {
+ return data?.pages.flatMap(page => page.results) || []
+ }, [data])
+
+ const renderItem = useCallback(
+ ({item}: {item: Gif}) => {
+ return
+ },
+ [onSelectGif],
+ )
+
+ const onEndReached = React.useCallback(() => {
+ if (isFetchingNextPage || !hasNextPage || error) return
+ fetchNextPage()
+ }, [isFetchingNextPage, hasNextPage, error, fetchNextPage])
+
+ const hasData = flattenedData.length > 0
+
+ const onGoBack = useCallback(() => {
+ if (isSearching) {
+ // clear the input and reset the state
+ textInputRef.current?.clear()
+ setSearch('')
+ } else {
+ control.close()
+ }
+ }, [control, isSearching])
+
+ const listHeader = useMemo(() => {
+ return (
+
+ {/* cover top corners */}
+
+
+ {!gtMobile && isWeb && (
+ control.close()}
+ label={_(msg`Close GIF dialog`)}>
+
+
+ )}
+
+
+
+ {
+ setSearch(text)
+ listRef.current?.scrollToOffset({offset: 0, animated: false})
+ }}
+ returnKeyType="search"
+ clearButtonMode="while-editing"
+ inputRef={textInputRef}
+ maxLength={50}
+ onKeyPress={({nativeEvent}) => {
+ if (nativeEvent.key === 'Escape') {
+ control.close()
+ }
+ }}
+ />
+
+
+ )
+ }, [gtMobile, t.atoms.bg, _, control])
+
+ return (
+ <>
+ {gtMobile && }
+
+ {listHeader}
+ {!hasData && (
+
+ )}
+ >
+ }
+ stickyHeaderIndices={[0]}
+ onEndReached={onEndReached}
+ onEndReachedThreshold={4}
+ keyExtractor={(item: Gif) => item.id}
+ // @ts-expect-error web only
+ style={isWeb && {minHeight: '100vh'}}
+ onScrollBeginDrag={() => Keyboard.dismiss()}
+ ListFooterComponent={
+ hasData ? (
+
+ ) : null
+ }
+ />
+ >
+ )
+}
+
+function GifPreview({
+ gif,
+ onSelectGif,
+}: {
+ gif: Gif
+ onSelectGif: (gif: Gif) => void
+}) {
+ const {gtTablet} = useBreakpoints()
+ const {_} = useLingui()
+ const t = useTheme()
+
+ const onPress = useCallback(() => {
+ logEvent('composer:gif:select', {})
+ onSelectGif(gif)
+ }, [onSelectGif, gif])
+
+ return (
+
+ {({pressed}) => (
+
+ )}
+
+ )
+}
+
+function DialogError({details}: {details?: string}) {
+ const {_} = useLingui()
+ const control = Dialog.useDialogContext()
+
+ return (
+
+
+
+ control.close()}
+ color="primary"
+ size="medium"
+ variant="solid">
+
+ Close
+
+
+
+ )
+}
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
index 645113d4af..55628a790d 100644
--- a/src/components/dialogs/SwitchAccount.tsx
+++ b/src/components/dialogs/SwitchAccount.tsx
@@ -6,7 +6,6 @@ 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'
@@ -21,23 +20,25 @@ export function SwitchAccountDialog({
const {currentAccount} = useSession()
const {onPressSwitchAccount} = useAccountSwitcher()
const {setShowLoggedOut} = useLoggedOutViewControls()
- const closeAllActiveElements = useCloseAllActiveElements()
const onSelectAccount = useCallback(
(account: SessionAccount) => {
- if (account.did === currentAccount?.did) {
- control.close()
+ if (account.did !== currentAccount?.did) {
+ control.close(() => {
+ onPressSwitchAccount(account, 'SwitchAccount')
+ })
} else {
- onPressSwitchAccount(account, 'SwitchAccount')
+ control.close()
}
},
[currentAccount, control, onPressSwitchAccount],
)
const onPressAddAccount = useCallback(() => {
- setShowLoggedOut(true)
- closeAllActiveElements()
- }, [setShowLoggedOut, closeAllActiveElements])
+ control.close(() => {
+ setShowLoggedOut(true)
+ })
+ }, [setShowLoggedOut, control])
return (
diff --git a/src/components/forms/HostingProvider.tsx b/src/components/forms/HostingProvider.tsx
index 4f3767ece1..6cbabe2911 100644
--- a/src/components/forms/HostingProvider.tsx
+++ b/src/components/forms/HostingProvider.tsx
@@ -41,7 +41,7 @@ export function HostingProvider({
onSelect={onSelectServiceUrl}
/>
+ 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/useRichText.ts b/src/components/hooks/useRichText.ts
new file mode 100644
index 0000000000..4329638ea6
--- /dev/null
+++ b/src/components/hooks/useRichText.ts
@@ -0,0 +1,34 @@
+import React from 'react'
+import {RichText as RichTextAPI} from '@atproto/api'
+
+import {useAgent} 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)
+ const {getAgent} = useAgent()
+ 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, getAgent])
+ const isResolving = resolvedRT === null
+ return [resolvedRT ?? rawRT, isResolving]
+}
diff --git a/src/components/hooks/useThrottledValue.ts b/src/components/hooks/useThrottledValue.ts
new file mode 100644
index 0000000000..5764c547e4
--- /dev/null
+++ b/src/components/hooks/useThrottledValue.ts
@@ -0,0 +1,27 @@
+import {useEffect, useRef, useState} from 'react'
+
+import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback'
+
+export function useThrottledValue(value: T, time?: number) {
+ const pendingValueRef = useRef(value)
+ const [throttledValue, setThrottledValue] = useState(value)
+
+ useEffect(() => {
+ pendingValueRef.current = value
+ }, [value])
+
+ const handleTick = useNonReactiveCallback(() => {
+ if (pendingValueRef.current !== throttledValue) {
+ setThrottledValue(pendingValueRef.current)
+ }
+ })
+
+ useEffect(() => {
+ const id = setInterval(handleTick, time)
+ return () => {
+ clearInterval(id)
+ }
+ }, [handleTick, time])
+
+ return throttledValue
+}
diff --git a/src/components/icons/Alien.tsx b/src/components/icons/Alien.tsx
new file mode 100644
index 0000000000..a980a09c13
--- /dev/null
+++ b/src/components/icons/Alien.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Alien_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M5 11a7 7 0 0 1 14 0c0 2.625-1.547 5.138-3.354 7.066a17.23 17.23 0 0 1-2.55 2.242 8.246 8.246 0 0 1-.924.577 2.904 2.904 0 0 1-.172.083 2.904 2.904 0 0 1-.172-.083 8.246 8.246 0 0 1-.923-.577 17.227 17.227 0 0 1-2.55-2.242C6.547 16.138 5 13.625 5 11Zm6.882 10.012Zm.232-.001h-.003a.047.047 0 0 0 .007.001l-.004-.001ZM12 2a9 9 0 0 0-9 9c0 3.375 1.953 6.362 3.895 8.434a19.216 19.216 0 0 0 2.856 2.508c.425.3.82.545 1.159.72.168.087.337.164.498.222.14.05.356.116.592.116s.451-.066.592-.116c.16-.058.33-.135.498-.222.339-.175.734-.42 1.159-.72.85-.6 1.87-1.457 2.856-2.508C19.047 17.362 21 14.375 21 11a9 9 0 0 0-9-9ZM7.38 9.927c2.774-.094 3.459 1.31 3.591 3.19a.89.89 0 0 1-.855.956c-2.774.094-3.458-1.31-3.59-3.19a.89.89 0 0 1 .854-.956Zm9.236 0c-2.774-.094-3.458 1.31-3.59 3.19a.89.89 0 0 0 .854.956c2.774.094 3.459-1.31 3.591-3.19a.89.89 0 0 0-.855-.956Z',
+})
diff --git a/src/components/icons/Apple.tsx b/src/components/icons/Apple.tsx
new file mode 100644
index 0000000000..666a19ff31
--- /dev/null
+++ b/src/components/icons/Apple.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Apple_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M8.148 2.034a1 1 0 0 1 1.35-.419c1.054.556 1.873 1.266 2.46 2.174.369.57.63 1.197.807 1.873 1.143-.349 2.194-.46 3.15-.342a5.122 5.122 0 0 1 3.134 1.556c1.564 1.63 2.086 4.183 1.922 6.58-.166 2.414-1.043 4.938-2.607 6.619-.792.851-1.78 1.505-2.95 1.782-1.063.251-2.213.176-3.415-.262-1.202.438-2.351.513-3.414.262-1.17-.277-2.158-.93-2.95-1.782-1.563-1.682-2.44-4.205-2.606-6.62-.164-2.396.358-4.949 1.921-6.579A5.121 5.121 0 0 1 8.085 5.32c.777-.095 1.617-.04 2.518.172a4.011 4.011 0 0 0-.325-.618c-.372-.576-.912-1.068-1.712-1.49a1 1 0 0 1-.418-1.35Zm.897 17.877c.71.167 1.557.117 2.562-.31a1 1 0 0 1 .784 0c1.005.428 1.853.477 2.563.31.715-.17 1.37-.579 1.946-1.198 1.171-1.26 1.932-3.303 2.076-5.394.144-2.109-.353-3.998-1.37-5.059a3.124 3.124 0 0 0-1.936-.955c-.83-.102-1.912.043-3.282.621a1 1 0 0 1-.778 0c-1.37-.578-2.45-.723-3.281-.62-.815.1-1.445.443-1.935.954-1.017 1.06-1.514 2.95-1.37 5.059.144 2.09.905 4.135 2.076 5.394.575.62 1.23 1.029 1.945 1.198Z',
+})
diff --git a/src/components/icons/ArrowTopRight.tsx b/src/components/icons/Arrow.tsx
similarity index 53%
rename from src/components/icons/ArrowTopRight.tsx
rename to src/components/icons/Arrow.tsx
index 92ad30a129..eb753e5493 100644
--- a/src/components/icons/ArrowTopRight.tsx
+++ b/src/components/icons/Arrow.tsx
@@ -3,3 +3,7 @@ import {createSinglePathSVG} from './TEMPLATE'
export const ArrowTopRight_Stroke2_Corner0_Rounded = createSinglePathSVG({
path: 'M8 6a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v9a1 1 0 1 1-2 0V8.414l-9.793 9.793a1 1 0 0 1-1.414-1.414L15.586 7H9a1 1 0 0 1-1-1Z',
})
+
+export const ArrowLeft_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M3 12a1 1 0 0 1 .293-.707l6-6a1 1 0 0 1 1.414 1.414L6.414 11H20a1 1 0 1 1 0 2H6.414l4.293 4.293a1 1 0 0 1-1.414 1.414l-6-6A1 1 0 0 1 3 12Z',
+})
diff --git a/src/components/icons/Atom.tsx b/src/components/icons/Atom.tsx
new file mode 100644
index 0000000000..4073e5b24e
--- /dev/null
+++ b/src/components/icons/Atom.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Atom_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M6.17 5.004c-.553-.029-.814.107-.937.23-.122.122-.258.383-.23.936.03.552.222 1.28.611 2.15.282.628.655 1.304 1.112 2.005a28.26 28.26 0 0 1 1.72-1.88 28.258 28.258 0 0 1 1.88-1.719 14.886 14.886 0 0 0-2.007-1.112c-.868-.39-1.597-.581-2.15-.61Zm5.83.44c-.985-.688-1.953-1.247-2.863-1.655-.998-.447-1.978-.736-2.863-.782-.885-.047-1.791.148-2.455.812-.664.664-.859 1.57-.812 2.455.046.885.335 1.865.782 2.863.408.91.967 1.878 1.655 2.863-.688.985-1.247 1.953-1.655 2.863-.447.998-.736 1.978-.782 2.863-.047.885.148 1.791.812 2.455.664.663 1.57.859 2.455.812.885-.046 1.865-.335 2.863-.782.91-.408 1.878-.967 2.863-1.655.985.688 1.952 1.247 2.863 1.655.998.447 1.978.736 2.863.782.885.047 1.791-.148 2.455-.812.663-.664.859-1.57.812-2.455-.046-.885-.335-1.865-.782-2.863-.408-.91-.967-1.878-1.655-2.863.688-.985 1.247-1.952 1.655-2.863.447-.998.736-1.978.782-2.863.047-.885-.148-1.791-.812-2.455-.664-.664-1.57-.859-2.455-.812-.885.046-1.865.335-2.863.782-.91.408-1.878.967-2.863 1.655Zm0 2.497A25.9 25.9 0 0 0 9.86 9.86 25.899 25.899 0 0 0 7.94 12c.569.711 1.211 1.431 1.92 2.14.709.709 1.429 1.351 2.14 1.92a25.925 25.925 0 0 0 2.14-1.92A25.925 25.925 0 0 0 16.06 12a25.921 25.921 0 0 0-1.92-2.14A25.904 25.904 0 0 0 12 7.94Zm5.274 2.384a28.232 28.232 0 0 0-1.72-1.88 28.27 28.27 0 0 0-1.88-1.719 14.89 14.89 0 0 1 2.007-1.112c.868-.39 1.597-.581 2.15-.61.552-.029.813.107.936.23.123.122.258.383.23.936-.03.552-.222 1.28-.611 2.15a14.883 14.883 0 0 1-1.112 2.005Zm0 3.35a28.24 28.24 0 0 1-1.72 1.88 28.24 28.24 0 0 1-1.88 1.719c.702.457 1.378.83 2.007 1.112.868.39 1.597.581 2.15.61.552.03.813-.106.936-.23.123-.122.258-.383.23-.935-.03-.553-.222-1.282-.611-2.15a14.888 14.888 0 0 0-1.112-2.006Zm-6.949 3.599a28.23 28.23 0 0 1-1.88-1.72 28.27 28.27 0 0 1-1.719-1.88 14.89 14.89 0 0 0-1.112 2.007c-.39.868-.581 1.597-.61 2.15-.029.552.107.813.23.936.122.123.383.258.936.23.552-.03 1.28-.222 2.15-.611a14.884 14.884 0 0 0 2.005-1.112Z',
+})
diff --git a/src/components/icons/Celebrate.tsx b/src/components/icons/Celebrate.tsx
new file mode 100644
index 0000000000..31c76cdea8
--- /dev/null
+++ b/src/components/icons/Celebrate.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Celebrate_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M13.832 1.014a1 1 0 0 1 1.154.818L14 2l.986-.168v.003l.001.005.002.014.007.045.021.156c.017.13.035.312.048.527.025.42.028 1.01-.082 1.6-.127.69-.447 1.31-.701 1.726a7.107 7.107 0 0 1-.498.712l-.01.014-.004.005-.002.001v.002L13 6l.767.642a1 1 0 0 1-1.535-1.282l.002-.003.017-.02a5.13 5.13 0 0 0 .324-.47c.198-.325.378-.705.442-1.049.068-.37.071-.78.051-1.12a6.268 6.268 0 0 0-.05-.504l-.004-.025m.818-1.155a1 1 0 0 0-.818 1.155Zm5.257 1.545a1 1 0 0 1 .602 1.28l-.45 1.25a1 1 0 0 1-1.882-.678l.45-1.25a1 1 0 0 1 1.28-.602ZM6.524 7.136a2 2 0 0 1 3.294-.732l7.778 7.778a2 2 0 0 1-.732 3.294L4.653 21.91c-1.596.579-3.142-.967-2.563-2.563L6.524 7.136Zm9.658 8.46L8.404 7.818 3.97 20.03l12.212-4.434Zm5.712-8.543a1 1 0 0 1-.447 1.341l-1 .5a1 1 0 1 1-.894-1.788l1-.5a1 1 0 0 1 1.341.447Zm-4.687-.26a1 1 0 0 1 0 1.414l-1 1a1 1 0 1 1-1.414-1.414l1-1a1 1 0 0 1 1.414 0Zm-.206 4.165A1 1 0 0 1 18.042 10L18 11l.042-1 .003.001h.014l.035.003.117.008a7.693 7.693 0 0 1 1.594.306c.423.135.861.352 1.168.516a11.873 11.873 0 0 1 .508.288l.032.02.01.006.004.002L21 12l.527-.85a1 1 0 0 1-1.054 1.7l-.005-.003-.023-.014a7.477 7.477 0 0 0-.415-.236 5.497 5.497 0 0 0-.835-.374A5.684 5.684 0 0 0 17.973 12l-.015-.002h-.002a1 1 0 0 1-.955-1.041Z',
+})
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/Coffee.tsx b/src/components/icons/Coffee.tsx
new file mode 100644
index 0000000000..d4faccba9b
--- /dev/null
+++ b/src/components/icons/Coffee.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Coffee_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M7 2a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0V3a1 1 0 0 1 1-1Zm4 0a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1Zm4 0a1 1 0 0 1 1 1v2a1 1 0 1 1-2 0V3a1 1 0 0 1 1-1ZM4 9a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2h.5a3.5 3.5 0 1 1 0 7H18v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9Zm12 0H6v11h10V9Zm2 5h.5a1.5 1.5 0 0 0 0-3H18v3Z',
+})
diff --git a/src/components/icons/Emoji.tsx b/src/components/icons/Emoji.tsx
index 568cd71e69..ef7ffd435a 100644
--- a/src/components/icons/Emoji.tsx
+++ b/src/components/icons/Emoji.tsx
@@ -3,3 +3,11 @@ import {createSinglePathSVG} from './TEMPLATE'
export const EmojiSad_Stroke2_Corner0_Rounded = createSinglePathSVG({
path: 'M6.343 6.343a8 8 0 1 1 11.314 11.314A8 8 0 0 1 6.343 6.343ZM19.071 4.93c-3.905-3.905-10.237-3.905-14.142 0-3.905 3.905-3.905 10.237 0 14.142 3.905 3.905 10.237 3.905 14.142 0 3.905-3.905 3.905-10.237 0-14.142Zm-3.537 9.535a5 5 0 0 0-7.07 0 1 1 0 1 0 1.413 1.415 3 3 0 0 1 4.243 0 1 1 0 0 0 1.414-1.415ZM16 9.5c0 .828-.56 1.5-1.25 1.5s-1.25-.672-1.25-1.5.56-1.5 1.25-1.5S16 8.672 16 9.5ZM9.25 11c.69 0 1.25-.672 1.25-1.5S9.94 8 9.25 8 8 8.672 8 9.5 8.56 11 9.25 11Z',
})
+
+export const EmojiArc_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16ZM2 12C2 6.477 6.477 2 12 2s10 4.477 10 10-4.477 10-10 10S2 17.523 2 12Zm8-5a1 1 0 0 1 1 1v3a1 1 0 1 1-2 0V8a1 1 0 0 1 1-1Zm4 0a1 1 0 0 1 1 1v3a1 1 0 1 1-2 0V8a1 1 0 0 1 1-1Zm-5.894 7.803a1 1 0 0 1 1.341-.447c1.719.859 3.387.859 5.106 0a1 1 0 1 1 .894 1.788c-2.281 1.141-4.613 1.141-6.894 0a1 1 0 0 1-.447-1.341Z',
+})
+
+export const EmojiHeartEyes_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm8-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2ZM9.351 12.13c1.898-1.507 2.176-2.95 1.613-3.83a1.524 1.524 0 0 0-1.225-.707 1.562 1.562 0 0 0-1.218.53 1.561 1.561 0 0 0-1.326-.082c-.456.186-.8.588-.91 1.083-.227 1.02.527 2.282 2.826 3.048a.256.256 0 0 0 .24-.043Zm5.538.042c2.299-.766 3.053-2.027 2.826-3.048a1.524 1.524 0 0 0-.91-1.082 1.561 1.561 0 0 0-1.326.081 1.562 1.562 0 0 0-1.217-.53 1.524 1.524 0 0 0-1.226.706c-.563.881-.285 2.325 1.613 3.83.068.054.158.07.24.043Zm1.072 2.38a4 4 0 0 1-7.924 0c-.04-.293.218-.525.514-.499 2.309.206 4.587.206 6.896 0 .296-.026.555.206.514.5Z',
+})
diff --git a/src/components/icons/Envelope.tsx b/src/components/icons/Envelope.tsx
index 8e40346cdc..3c3c5dd78b 100644
--- a/src/components/icons/Envelope.tsx
+++ b/src/components/icons/Envelope.tsx
@@ -3,3 +3,7 @@ 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',
})
+
+export const Envelope_Filled_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M12 11.708 2.654 4.06A.998.998 0 0 1 3 4h18c.122 0 .238.022.346.061L12 11.708ZM2 19V6.11l9.367 7.664a1 1 0 0 0 1.266 0L22 6.11V19a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1Z',
+})
diff --git a/src/components/icons/Explosion.tsx b/src/components/icons/Explosion.tsx
new file mode 100644
index 0000000000..2306eed232
--- /dev/null
+++ b/src/components/icons/Explosion.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Explosion_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M12 2a1 1 0 0 1 .889.542l1.679 3.259 3.491-1.117a1 1 0 0 1 1.257 1.257L18.2 9.432l3.259 1.679a1 1 0 0 1 0 1.778l-3.124 1.61 2.609 5.098a1 1 0 0 1-1.346 1.346l-5.098-2.61-1.61 3.125a1 1 0 0 1-1.778 0l-1.679-3.259-3.491 1.117a1 1 0 0 1-1.257-1.257L5.8 14.568l-3.259-1.679a1 1 0 0 1 0-1.778l3.124-1.61-2.609-5.098a1 1 0 0 1 1.346-1.346l5.098 2.61-.455.89.455-.89 1.61-3.125A1 1 0 0 1 12 2Zm0 3.183-.72 1.4a2 2 0 0 1-2.69.864L6.248 6.248 7.447 8.59a2 2 0 0 1-.865 2.69L5.183 12l1.534.79a2 2 0 0 1 .989 2.387L7.18 16.82l1.643-.526a2 2 0 0 1 2.387.99l.79 1.533.72-1.4a2 2 0 0 1 2.69-.864l2.342 1.199-1.199-2.342a2 2 0 0 1 .864-2.69l1.4-.72-1.534-.79a2 2 0 0 1-.989-2.387l.526-1.643-1.643.526a2 2 0 0 1-2.387-.99L12 5.184Z',
+})
diff --git a/src/components/icons/GameController.tsx b/src/components/icons/GameController.tsx
new file mode 100644
index 0000000000..0f925f2139
--- /dev/null
+++ b/src/components/icons/GameController.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const GameController_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M1 8a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V8Zm3-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H4Zm4 2a1 1 0 0 1 1 1v1h1a1 1 0 1 1 0 2H9v1a1 1 0 1 1-2 0v-1H6a1 1 0 1 1 0-2h1v-1a1 1 0 0 1 1-1Zm5.5 4.5a1.25 1.25 0 1 0 2.5 0 1.25 1.25 0 0 0-2.5 0Zm3-3a1.25 1.25 0 1 0 2.5 0 1.25 1.25 0 0 0-2.5 0Z',
+})
diff --git a/src/components/icons/Gif.tsx b/src/components/icons/Gif.tsx
new file mode 100644
index 0000000000..72aefe5c25
--- /dev/null
+++ b/src/components/icons/Gif.tsx
@@ -0,0 +1,9 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Gif_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M3 4a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1H3Zm1 14V6h16v12H4Zm2-5.713c0 1.54.92 2.463 2.48 2.463 1.434 0 2.353-.807 2.353-2.06v-.166c0-.578-.267-.834-.884-.834h-.806c-.416 0-.632.182-.632.535 0 .357.22.55.632.55h.146v.063c0 .36-.299.609-.735.609-.597 0-.904-.4-.904-1.168v-.52c0-.775.307-1.155.951-1.155.325 0 .538.152.746.3.089.064.176.127.272.177a.82.82 0 0 0 .409.108c.385 0 .656-.263.656-.636 0-.353-.26-.679-.664-.915-.409-.24-.96-.388-1.548-.388C6.955 9.25 6 10.2 6 11.67v.617Zm6.358 2.385c.526 0 .813-.31.813-.872v-3.627c0-.558-.295-.873-.825-.873s-.825.31-.825.873V13.8c0 .558.302.872.837.872Zm3.367-.872c0 .566-.283.872-.802.872-.538 0-.848-.318-.848-.872v-3.635c0-.512.314-.826.82-.826h2.496c.35 0 .609.272.609.64 0 .369-.26.629-.609.629h-1.666v.973h1.47c.365 0 .608.248.608.613 0 .36-.247.613-.608.613h-1.47v.993Z',
+})
+
+export const GifSquare_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M4 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4Zm1 16V5h14v14H5Zm10.725-5.2c0 .566-.283.872-.802.872-.538 0-.848-.318-.848-.872v-3.635c0-.512.314-.826.82-.826h2.496c.35 0 .609.272.609.64 0 .369-.26.629-.609.629h-1.666v.973h1.47c.365 0 .608.248.608.613 0 .36-.247.613-.608.613h-1.47v.993Zm-3.367.872c.526 0 .813-.31.813-.872v-3.627c0-.558-.295-.873-.825-.873s-.825.31-.825.873V13.8c0 .558.302.872.837.872Zm-3.879.078C6.92 14.75 6 13.827 6 12.287v-.617c0-1.47.955-2.42 2.472-2.42.589 0 1.139.147 1.548.388.404.236.664.562.664.915 0 .373-.271.636-.656.636a.82.82 0 0 1-.41-.108 2.34 2.34 0 0 1-.271-.177c-.208-.148-.421-.3-.746-.3-.644 0-.95.38-.95 1.155v.52c0 .768.306 1.168.903 1.168.436 0 .735-.248.735-.61v-.061h-.146c-.412 0-.632-.194-.632-.551 0-.353.216-.535.632-.535h.806c.617 0 .884.256.884.834v.166c0 1.253-.92 2.06-2.354 2.06Z',
+})
diff --git a/src/components/icons/Image.tsx b/src/components/icons/Image.tsx
new file mode 100644
index 0000000000..03702a0f46
--- /dev/null
+++ b/src/components/icons/Image.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Image_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M3 5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5Zm16 0H5v7.213l1.246-.932.044-.03a3 3 0 0 1 3.863.454c1.468 1.58 2.941 2.749 4.847 2.749 1.703 0 2.855-.555 4-1.618V5Zm0 10.357c-1.112.697-2.386 1.097-4 1.097-2.81 0-4.796-1.755-6.313-3.388a1 1 0 0 0-1.269-.164L5 14.712V19h14v-3.643ZM15 8a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-3 1a3 3 0 1 1 6 0 3 3 0 0 1-6 0Z',
+})
diff --git a/src/components/icons/Lab.tsx b/src/components/icons/Lab.tsx
new file mode 100644
index 0000000000..6601f37a6e
--- /dev/null
+++ b/src/components/icons/Lab.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Lab_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M13.5 4a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM10 5a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM8 6a1 1 0 0 0 0 2v2.64c-.212.25-.45.515-.711.8l-.129.142c-.312.342-.649.711-.974 1.092-.731.857-1.488 1.866-1.89 2.99A4.845 4.845 0 0 0 4 17.297 4.702 4.702 0 0 0 8.702 22h6.596A4.702 4.702 0 0 0 20 17.298c0-.575-.114-1.122-.297-1.634-.401-1.124-1.157-2.133-1.89-2.99-.324-.38-.66-.75-.973-1.092l-.129-.141c-.26-.286-.5-.55-.711-.8V8a1 1 0 1 0 0-2H8Zm2 5.35V8h4v3.35l.22.275c.306.383.661.777 1.013 1.163l.13.143c.315.345.628.688.93 1.042.372.435.704.861.974 1.28l-.159.025c-.845.13-1.838.242-2.581.222-.842-.022-1.475-.217-2.227-.454l-.027-.008c-.746-.235-1.61-.507-2.746-.538-.743-.02-1.617.064-2.38.165.173-.228.36-.459.56-.692.302-.354.615-.697.93-1.042l.13-.143c.352-.386.707-.78 1.014-1.163L10 11.35Zm7.41 5.905c.21-.032.407-.064.586-.095A2.702 2.702 0 0 1 15.298 20H8.702A2.702 2.702 0 0 1 6 17.298c0-.142.013-.286.039-.434.236-.043.53-.093.853-.142.845-.13 1.837-.242 2.581-.222.842.022 1.475.217 2.227.454l.027.008c.746.235 1.61.507 2.746.538.931.024 2.07-.113 2.937-.245Z',
+})
diff --git a/src/components/icons/Leaf.tsx b/src/components/icons/Leaf.tsx
new file mode 100644
index 0000000000..5aafa839dc
--- /dev/null
+++ b/src/components/icons/Leaf.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Leaf_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M3 4a1 1 0 0 1 1-1h1a8.003 8.003 0 0 1 7.75 6.006A7.985 7.985 0 0 1 19 6h1a1 1 0 0 1 1 1v1a8 8 0 0 1-8 8v4a1 1 0 1 1-2 0v-7a8 8 0 0 1-8-8V4Zm2 1a6 6 0 0 1 6 6 6 6 0 0 1-6-6Zm8 9a6 6 0 0 1 6-6 6 6 0 0 1-6 6Z',
+})
diff --git a/src/components/icons/MusicNote.tsx b/src/components/icons/MusicNote.tsx
new file mode 100644
index 0000000000..0596f63b6c
--- /dev/null
+++ b/src/components/icons/MusicNote.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const MusicNote_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M18.423 2.428a2 2 0 0 1 2.575 1.916V15.5c0 2.096-1.97 3.5-4 3.5-2.03 0-4-1.404-4-3.5s1.97-3.5 4-3.5c.7 0 1.392.167 2 .471V4.344l-8 2.4V18.5c0 2.096-1.97 3.5-4 3.5-2.03 0-4-1.404-4-3.5s1.97-3.5 4-3.5c.7 0 1.393.167 2 .471V6.744a2 2 0 0 1 1.425-1.916l8-2.4ZM8.998 18.5c0-.666-.717-1.5-2-1.5s-2 .834-2 1.5c0 .665.717 1.5 2 1.5s2-.835 2-1.5Zm10-3c0-.665-.717-1.5-2-1.5s-2 .835-2 1.5.717 1.5 2 1.5 2-.835 2-1.5Z',
+})
diff --git a/src/components/icons/Pencil.tsx b/src/components/icons/Pencil.tsx
index 854d51a3b2..51fd8ba795 100644
--- a/src/components/icons/Pencil.tsx
+++ b/src/components/icons/Pencil.tsx
@@ -1,5 +1,9 @@
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/PiggyBank.tsx b/src/components/icons/PiggyBank.tsx
new file mode 100644
index 0000000000..974e861345
--- /dev/null
+++ b/src/components/icons/PiggyBank.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const PiggyBank_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M6.5 4.999Zm0 0a.054.054 0 0 1-.016.024.196.196 0 0 1-.152.043c.057.01.113.02.168.032V7.5a1 1 0 0 1-.33.742c-.543.49-.917 1.176-1.23 2.036a1 1 0 0 1-.94.657H3V14h1a1 1 0 0 1 .866.5c.436.754.879 1.195 1.637 1.636A1 1 0 0 1 7 17v2h2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2h2v-2.537a1 1 0 0 1 .332-.744A4.978 4.978 0 0 0 19 11.999 5 5 0 0 0 14 7H9.474a1 1 0 0 1-.893-.55v-.001l-.001-.002-.005-.008L9.474 6l-.9.438h.001v.002l.002.001.001.003.002.003v.003a2.62 2.62 0 0 0-.443-.538c-.319-.298-.839-.648-1.637-.814V5Zm2.082 1.452ZM9.5 4.447c.211.196.379.387.508.553H14a7 7 0 0 1 6.72 8.96 1.003 1.003 0 0 0 1.146-1.46 1 1 0 1 1 1.731-1 3 3 0 0 1-3.714 4.286A7.074 7.074 0 0 1 19 16.888V19a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2h-2a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-1.45A5.783 5.783 0 0 1 3.448 16H3a2 2 0 0 1-2-2v-3.065a2 2 0 0 1 2-2h.324c.286-.649.657-1.291 1.176-1.852V5c0-1.047.89-2.12 2.161-1.907 1.33.223 2.248.805 2.839 1.354ZM8.25 12a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z',
+})
diff --git a/src/components/icons/Pizza.tsx b/src/components/icons/Pizza.tsx
new file mode 100644
index 0000000000..0552562f8c
--- /dev/null
+++ b/src/components/icons/Pizza.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Pizza_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M18.438 3.253a2 2 0 0 1 2.309 2.31L18.243 20.17c-.186 1.083-1.244 1.868-2.387 1.588a18.525 18.525 0 0 1-8.702-4.912 18.525 18.525 0 0 1-4.912-8.702C1.962 7 2.747 5.943 3.83 5.757l14.608-2.504Zm-1.474 2.282a3 3 0 0 1-5.914 1.014l-3.368.577a13.022 13.022 0 0 0 3.376 5.816c.35.35.713.675 1.09.976a4.002 4.002 0 0 1 5.571-2.53l1.056-6.164-1.81.311Zm.388 7.991a2 2 0 0 0-3.346 1.634c.916.504 1.879.89 2.868 1.158l.478-2.792Zm-.817 4.77a15 15 0 0 1-6.891-3.94 15.02 15.02 0 0 1-3.94-6.89l-1.505.257a16.525 16.525 0 0 0 4.369 7.709 16.525 16.525 0 0 0 7.709 4.37l.258-1.505ZM13.022 6.212a1 1 0 0 0 1.97-.338l-1.97.338Z',
+})
diff --git a/src/components/icons/Poop.tsx b/src/components/icons/Poop.tsx
new file mode 100644
index 0000000000..09b3b6785d
--- /dev/null
+++ b/src/components/icons/Poop.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Poop_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M12 4c0-1.012.894-2.187 2.237-1.846a5.002 5.002 0 0 1 3.218 7.119 4.001 4.001 0 0 1 2.345 4.976A3.501 3.501 0 0 1 18.5 21h-13a3.5 3.5 0 0 1-1.3-6.75 4 4 0 0 1 2.052-4.848A4 4 0 0 1 10 4h2.001Zm-4.187 7.009A2 2 0 0 0 6 13c0 .366.098.706.271 1H12a1 1 0 1 1 0 2H5.5a1.5 1.5 0 0 0 0 3h13a1.5 1.5 0 1 0 0-3H17a1 1 0 1 1 0-2h.729c.173-.294.271-.634.271-1a2 2 0 0 0-2-2h-2a1 1 0 1 1 0-2h1.236a3.002 3.002 0 0 0-1.243-4.832A2 2 0 0 1 12 6h-2a2 2 0 0 0-1.728 3.009H9a1 1 0 0 1 0 2H7.813Z',
+})
diff --git a/src/components/icons/Rose.tsx b/src/components/icons/Rose.tsx
new file mode 100644
index 0000000000..10dd9385da
--- /dev/null
+++ b/src/components/icons/Rose.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Rose_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M10.75 2.469a2 2 0 0 1 2.5 0l1.42 1.136 1.44-.576A1.378 1.378 0 0 1 18 4.309V8a6.002 6.002 0 0 1-5 5.917v1.69a6.12 6.12 0 0 1 4.224-1.606A1.796 1.796 0 0 1 19 15.857a6.143 6.143 0 0 1-6 6.141V22h-2v-.002a6.143 6.143 0 0 1-6-6.222A1.796 1.796 0 0 1 6.858 14 6.12 6.12 0 0 1 11 15.607v-1.69A6.002 6.002 0 0 1 6 8V4.308c0-.975.985-1.641 1.89-1.28l1.44.577 1.42-1.136ZM7.004 16.003a4.143 4.143 0 0 1 3.995 3.994 4.143 4.143 0 0 1-3.995-3.994Zm9.994 0a4.143 4.143 0 0 1-3.995 3.994 4.143 4.143 0 0 1 3.995-3.994ZM13.42 5.167 12 4.03l-1.42 1.136a2 2 0 0 1-1.992.295L8 5.227V8a4 4 0 0 0 8 0V5.227l-.588.235a2 2 0 0 1-1.992-.295Z',
+})
diff --git a/src/components/icons/SettingsSlider.tsx b/src/components/icons/SettingsSlider.tsx
new file mode 100644
index 0000000000..b9b4c02c58
--- /dev/null
+++ b/src/components/icons/SettingsSlider.tsx
@@ -0,0 +1,6 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const SettingsSliderVertical_Stroke2_Corner0_Rounded =
+ createSinglePathSVG({
+ path: 'M7 3a1 1 0 0 1 1 1v1.126a4 4 0 0 1 0 7.748V20a1 1 0 1 1-2 0v-7.126a4 4 0 0 1 0-7.748V4a1 1 0 0 1 1-1Zm10 0a1 1 0 0 1 1 1v9.126a4 4 0 1 1-2 0V4a1 1 0 0 1 1-1ZM7 7a2 2 0 1 0 0 4 2 2 0 1 0 0-4Zm10 8a2 2 0 1 0 0 4 2 2 0 1 0 0-4Z',
+ })
diff --git a/src/components/icons/Shaka.tsx b/src/components/icons/Shaka.tsx
new file mode 100644
index 0000000000..7c133d7dd0
--- /dev/null
+++ b/src/components/icons/Shaka.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Shaka_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M2.275 4.312A1 1 0 0 1 3 4h.55a4 4 0 0 1 3.656 2.375l.616 1.388.47-.47 1.001-1a2.414 2.414 0 0 1 3.948.807 2.41 2.41 0 0 1 2.5 1.5 2.41 2.41 0 0 1 2.234 1.01l.805-.804c.95-.95 2.49-.95 3.44 0 .93.93.958 2.439.035 3.395-1.228 1.271-3.406 3.497-5.078 5.035a94.045 94.045 0 0 1-2.82 2.467c-2.481 2.1-6.156 1.748-8.264-.684L3.87 16.452a6 6 0 0 1-1.458-3.614l-.41-7.785a1 1 0 0 1 .274-.741Zm14.022 6.977-1.004 1.004-.007.006-.493.494a.414.414 0 1 1-.586-.586l1.5-1.5a.414.414 0 0 1 .59.582Zm-4.18 1.595a2.414 2.414 0 0 0 4.09 1.323l1.5-1.5.01-.01 2.477-2.477c.169-.169.443-.169.612 0a.42.42 0 0 1 .01.591c-1.228 1.272-3.37 3.46-4.993 4.953a92.183 92.183 0 0 1-2.757 2.412c-1.62 1.371-4.05 1.162-5.461-.467L5.38 15.143a4 4 0 0 1-.972-2.41l-.35-6.668a2 2 0 0 1 1.32 1.123l1.208 2.718a1 1 0 0 0 1.42.456A2.421 2.421 0 0 0 10.26 11.4c.118.294.296.57.534.807.373.373.839.599 1.323.677Zm.676-2.091 1-1a.414.414 0 1 0-.586-.586l-1 1a.414.414 0 1 0 .586.586Zm-2-2 .5-.5a.414.414 0 1 0-.586-.586l-1 1a.414.414 0 0 0 .586.586l.5-.5Z',
+})
diff --git a/src/components/icons/TEMPLATE.tsx b/src/components/icons/TEMPLATE.tsx
index 9fc1470375..f49c4280bb 100644
--- a/src/components/icons/TEMPLATE.tsx
+++ b/src/components/icons/TEMPLATE.tsx
@@ -1,7 +1,7 @@
import React from 'react'
import Svg, {Path} from 'react-native-svg'
-import {useCommonSVGProps, Props} from '#/components/icons/common'
+import {Props, useCommonSVGProps} from '#/components/icons/common'
export const IconTemplate_Stroke2_Corner0_Rounded = React.forwardRef(
function LogoImpl(props: Props, ref) {
diff --git a/src/components/icons/UFO.tsx b/src/components/icons/UFO.tsx
new file mode 100644
index 0000000000..860cce9588
--- /dev/null
+++ b/src/components/icons/UFO.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const UFO_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M7.03 6.443c-.889.17-1.707.385-2.431.638-.966.338-1.82.764-2.45 1.286C1.523 8.884 1 9.6 1 10.5c0 1.321 1.098 2.24 2.203 2.821.854.45 1.928.817 3.142 1.093l-3.19 5.052a1 1 0 1 0 1.69 1.068l5.767-9.13a8.502 8.502 0 0 1 2.776 0l5.766 9.13a1 1 0 0 0 1.692-1.068l-3.191-5.052c1.214-.276 2.288-.644 3.142-1.093 1.105-.58 2.203-1.5 2.203-2.821 0-.9-.524-1.616-1.148-2.133-.631-.522-1.485-.948-2.45-1.286a17.147 17.147 0 0 0-2.433-.638 5 5 0 0 0-9.938 0Zm2.095-.301A28.736 28.736 0 0 1 12 6c.992 0 1.957.049 2.875.142a3.001 3.001 0 0 0-5.75 0Zm7.389 6.466c1.403-.262 2.55-.635 3.352-1.057C20.87 11.023 21 10.611 21 10.5c0-.066-.036-.271-.423-.592-.381-.315-.993-.644-1.836-.939C17.063 8.382 14.68 8 12 8c-2.68 0-5.063.382-6.74.969-.844.295-1.456.624-1.837.94-.387.32-.423.525-.423.591 0 .11.13.523 1.134 1.051.802.422 1.95.795 3.352 1.057l1.441-2.282a1.952 1.952 0 0 1 1.328-.89 10.51 10.51 0 0 1 3.49 0c.57.094 1.042.437 1.328.89l1.44 2.282Z',
+})
diff --git a/src/components/icons/Zap.tsx b/src/components/icons/Zap.tsx
new file mode 100644
index 0000000000..2aed99e328
--- /dev/null
+++ b/src/components/icons/Zap.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Zap_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'm9.368 4-4 8h2.944a1.5 1.5 0 0 1 1.427 1.963l-1.65 5.087L19.374 9h-3.49a1.5 1.5 0 0 1-1.287-2.272L16.234 4H9.368Zm-1.65-1.17A1.5 1.5 0 0 1 9.058 2h8.058a1.5 1.5 0 0 1 1.286 2.272L16.766 7h3.92c1.38 0 2.028 1.703.998 2.62L8.042 21.77c-1.142 1.018-2.896-.127-2.424-1.583L7.624 14H4.56a1.5 1.5 0 0 1-1.342-2.17l4.5-9Z',
+})
diff --git a/src/components/moderation/LabelsOnMeDialog.tsx b/src/components/moderation/LabelsOnMeDialog.tsx
index 5cf86644c0..04b4dbd538 100644
--- a/src/components/moderation/LabelsOnMeDialog.tsx
+++ b/src/components/moderation/LabelsOnMeDialog.tsx
@@ -7,7 +7,7 @@ import {useLingui} from '@lingui/react'
import {useLabelInfo} from '#/lib/moderation/useLabelInfo'
import {makeProfileLink} from '#/lib/routes/links'
import {sanitizeHandle} from '#/lib/strings/handles'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
import * as Toast from '#/view/com/util/Toast'
import {atoms as a, useBreakpoints, useTheme} from '#/alf'
import {Button, ButtonText} from '#/components/Button'
@@ -173,6 +173,7 @@ function AppealForm({
const {gtMobile} = useBreakpoints()
const [details, setDetails] = React.useState('')
const isAccountReport = 'did' in subject
+ const {getAgent} = useAgent()
const onSubmit = async () => {
try {
diff --git a/src/components/moderation/PostHider.tsx b/src/components/moderation/PostHider.tsx
index 464ee20778..05cb8464eb 100644
--- a/src/components/moderation/PostHider.tsx
+++ b/src/components/moderation/PostHider.tsx
@@ -1,25 +1,27 @@
import React, {ComponentProps} from 'react'
-import {StyleSheet, Pressable, View, ViewStyle, StyleProp} from 'react-native'
-import {ModerationUI} from '@atproto/api'
+import {Pressable, StyleProp, StyleSheet, View, ViewStyle} from 'react-native'
+import {AppBskyActorDefs, ModerationUI} from '@atproto/api'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {Trans, msg} from '@lingui/macro'
+import {useQueryClient} from '@tanstack/react-query'
import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
import {addStyle} from 'lib/styles'
-
-import {useTheme, atoms as a} from '#/alf'
+import {precacheProfile} from 'state/queries/profile'
+// import {Link} from '#/components/Link' TODO this imposes some styles that screw things up
+import {Link} from '#/view/com/util/Link'
+import {atoms as a, useTheme} from '#/alf'
import {
ModerationDetailsDialog,
useModerationDetailsDialogControl,
} from '#/components/moderation/ModerationDetailsDialog'
import {Text} from '#/components/Typography'
-// import {Link} from '#/components/Link' TODO this imposes some styles that screw things up
-import {Link} from '#/view/com/util/Link'
interface Props extends ComponentProps {
iconSize: number
iconStyles: StyleProp
modui: ModerationUI
+ profile: AppBskyActorDefs.ProfileViewBasic
}
export function PostHider({
@@ -30,8 +32,10 @@ export function PostHider({
children,
iconSize,
iconStyles,
+ profile,
...props
}: Props) {
+ const queryClient = useQueryClient()
const t = useTheme()
const {_} = useLingui()
const [override, setOverride] = React.useState(false)
@@ -39,6 +43,10 @@ export function PostHider({
const blur = modui.blurs[0]
const desc = useModerationCauseDescription(blur)
+ const onBeforePress = React.useCallback(() => {
+ precacheProfile(queryClient, profile)
+ }, [queryClient, profile])
+
if (!blur) {
return (
{children}
diff --git a/src/lib/ScrollContext.tsx b/src/lib/ScrollContext.tsx
index 00b197bedc..d55b8cdabb 100644
--- a/src/lib/ScrollContext.tsx
+++ b/src/lib/ScrollContext.tsx
@@ -5,6 +5,7 @@ const ScrollContext = createContext>({
onBeginDrag: undefined,
onEndDrag: undefined,
onScroll: undefined,
+ onMomentumEnd: undefined,
})
export function useScrollHandlers(): ScrollHandlers {
@@ -20,14 +21,16 @@ export function ScrollProvider({
onBeginDrag,
onEndDrag,
onScroll,
+ onMomentumEnd,
}: ProviderProps) {
const handlers = useMemo(
() => ({
onBeginDrag,
onEndDrag,
onScroll,
+ onMomentumEnd,
}),
- [onBeginDrag, onEndDrag, onScroll],
+ [onBeginDrag, onEndDrag, onScroll, onMomentumEnd],
)
return (
{children}
diff --git a/src/lib/analytics/types.ts b/src/lib/analytics/types.ts
index b4eb0ddcb0..33b8bddbd4 100644
--- a/src/lib/analytics/types.ts
+++ b/src/lib/analytics/types.ts
@@ -76,6 +76,7 @@ export type TrackPropertiesMap = {
'MobileShell:SearchButtonPressed': {}
'MobileShell:NotificationsButtonPressed': {}
'MobileShell:FeedsButtonPressed': {}
+ 'MobileShell:MessagesButtonPressed': {}
// NOTIFICATIONS events
'Notificatons:OpenApp': {}
// LISTS events
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/author.ts b/src/lib/api/feed/author.ts
index 57db061b33..85601d0683 100644
--- a/src/lib/api/feed/author.ts
+++ b/src/lib/api/feed/author.ts
@@ -1,15 +1,28 @@
import {
AppBskyFeedDefs,
AppBskyFeedGetAuthorFeed as GetAuthorFeed,
+ BskyAgent,
} from '@atproto/api'
+
import {FeedAPI, FeedAPIResponse} from './types'
-import {getAgent} from '#/state/session'
export class AuthorFeedAPI implements FeedAPI {
- constructor(public params: GetAuthorFeed.QueryParams) {}
+ getAgent: () => BskyAgent
+ params: GetAuthorFeed.QueryParams
+
+ constructor({
+ getAgent,
+ feedParams,
+ }: {
+ getAgent: () => BskyAgent
+ feedParams: GetAuthorFeed.QueryParams
+ }) {
+ this.getAgent = getAgent
+ this.params = feedParams
+ }
async peekLatest(): Promise {
- const res = await getAgent().getAuthorFeed({
+ const res = await this.getAgent().getAuthorFeed({
...this.params,
limit: 1,
})
@@ -23,7 +36,7 @@ export class AuthorFeedAPI implements FeedAPI {
cursor: string | undefined
limit: number
}): Promise {
- const res = await getAgent().getAuthorFeed({
+ const res = await this.getAgent().getAuthorFeed({
...this.params,
cursor,
limit,
diff --git a/src/lib/api/feed/custom.ts b/src/lib/api/feed/custom.ts
index 41c5367e57..75182c41f7 100644
--- a/src/lib/api/feed/custom.ts
+++ b/src/lib/api/feed/custom.ts
@@ -1,17 +1,31 @@
import {
AppBskyFeedDefs,
AppBskyFeedGetFeed as GetCustomFeed,
+ AtpAgent,
+ BskyAgent,
} from '@atproto/api'
-import {FeedAPI, FeedAPIResponse} from './types'
-import {getAgent} from '#/state/session'
+
import {getContentLanguages} from '#/state/preferences/languages'
+import {FeedAPI, FeedAPIResponse} from './types'
export class CustomFeedAPI implements FeedAPI {
- constructor(public params: GetCustomFeed.QueryParams) {}
+ getAgent: () => BskyAgent
+ params: GetCustomFeed.QueryParams
+
+ constructor({
+ getAgent,
+ feedParams,
+ }: {
+ getAgent: () => BskyAgent
+ feedParams: GetCustomFeed.QueryParams
+ }) {
+ this.getAgent = getAgent
+ this.params = feedParams
+ }
async peekLatest(): Promise {
const contentLangs = getContentLanguages().join(',')
- const res = await getAgent().app.bsky.feed.getFeed(
+ const res = await this.getAgent().app.bsky.feed.getFeed(
{
...this.params,
limit: 1,
@@ -29,14 +43,21 @@ 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 = this.getAgent()
+ const res = agent.session
+ ? await this.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 +76,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/api/feed/following.ts b/src/lib/api/feed/following.ts
index 24389b5edc..36c376554a 100644
--- a/src/lib/api/feed/following.ts
+++ b/src/lib/api/feed/following.ts
@@ -1,12 +1,16 @@
-import {AppBskyFeedDefs} from '@atproto/api'
+import {AppBskyFeedDefs, BskyAgent} from '@atproto/api'
+
import {FeedAPI, FeedAPIResponse} from './types'
-import {getAgent} from '#/state/session'
export class FollowingFeedAPI implements FeedAPI {
- constructor() {}
+ getAgent: () => BskyAgent
+
+ constructor({getAgent}: {getAgent: () => BskyAgent}) {
+ this.getAgent = getAgent
+ }
async peekLatest(): Promise {
- const res = await getAgent().getTimeline({
+ const res = await this.getAgent().getTimeline({
limit: 1,
})
return res.data.feed[0]
@@ -19,7 +23,7 @@ export class FollowingFeedAPI implements FeedAPI {
cursor: string | undefined
limit: number
}): Promise {
- const res = await getAgent().getTimeline({
+ const res = await this.getAgent().getTimeline({
cursor,
limit,
})
diff --git a/src/lib/api/feed/home.ts b/src/lib/api/feed/home.ts
index 436a66d076..4a5308346f 100644
--- a/src/lib/api/feed/home.ts
+++ b/src/lib/api/feed/home.ts
@@ -1,8 +1,9 @@
-import {AppBskyFeedDefs} from '@atproto/api'
-import {FeedAPI, FeedAPIResponse} from './types'
-import {FollowingFeedAPI} from './following'
-import {CustomFeedAPI} from './custom'
+import {AppBskyFeedDefs, BskyAgent} from '@atproto/api'
+
import {PROD_DEFAULT_FEED} from '#/lib/constants'
+import {CustomFeedAPI} from './custom'
+import {FollowingFeedAPI} from './following'
+import {FeedAPI, FeedAPIResponse} from './types'
// HACK
// the feed API does not include any facilities for passing down
@@ -26,19 +27,27 @@ export const FALLBACK_MARKER_POST: AppBskyFeedDefs.FeedViewPost = {
}
export class HomeFeedAPI implements FeedAPI {
+ getAgent: () => BskyAgent
following: FollowingFeedAPI
discover: CustomFeedAPI
usingDiscover = false
itemCursor = 0
- constructor() {
- this.following = new FollowingFeedAPI()
- this.discover = new CustomFeedAPI({feed: PROD_DEFAULT_FEED('whats-hot')})
+ constructor({getAgent}: {getAgent: () => BskyAgent}) {
+ this.getAgent = getAgent
+ this.following = new FollowingFeedAPI({getAgent})
+ this.discover = new CustomFeedAPI({
+ getAgent,
+ feedParams: {feed: PROD_DEFAULT_FEED('whats-hot')},
+ })
}
reset() {
- this.following = new FollowingFeedAPI()
- this.discover = new CustomFeedAPI({feed: PROD_DEFAULT_FEED('whats-hot')})
+ this.following = new FollowingFeedAPI({getAgent: this.getAgent})
+ this.discover = new CustomFeedAPI({
+ getAgent: this.getAgent,
+ feedParams: {feed: PROD_DEFAULT_FEED('whats-hot')},
+ })
this.usingDiscover = false
this.itemCursor = 0
}
diff --git a/src/lib/api/feed/likes.ts b/src/lib/api/feed/likes.ts
index 2b0afdf11e..1729ee05cf 100644
--- a/src/lib/api/feed/likes.ts
+++ b/src/lib/api/feed/likes.ts
@@ -1,15 +1,28 @@
import {
AppBskyFeedDefs,
AppBskyFeedGetActorLikes as GetActorLikes,
+ BskyAgent,
} from '@atproto/api'
+
import {FeedAPI, FeedAPIResponse} from './types'
-import {getAgent} from '#/state/session'
export class LikesFeedAPI implements FeedAPI {
- constructor(public params: GetActorLikes.QueryParams) {}
+ getAgent: () => BskyAgent
+ params: GetActorLikes.QueryParams
+
+ constructor({
+ getAgent,
+ feedParams,
+ }: {
+ getAgent: () => BskyAgent
+ feedParams: GetActorLikes.QueryParams
+ }) {
+ this.getAgent = getAgent
+ this.params = feedParams
+ }
async peekLatest(): Promise {
- const res = await getAgent().getActorLikes({
+ const res = await this.getAgent().getActorLikes({
...this.params,
limit: 1,
})
@@ -23,7 +36,7 @@ export class LikesFeedAPI implements FeedAPI {
cursor: string | undefined
limit: number
}): Promise {
- const res = await getAgent().getActorLikes({
+ const res = await this.getAgent().getActorLikes({
...this.params,
cursor,
limit,
diff --git a/src/lib/api/feed/list.ts b/src/lib/api/feed/list.ts
index 19f2ff177c..004685b998 100644
--- a/src/lib/api/feed/list.ts
+++ b/src/lib/api/feed/list.ts
@@ -1,15 +1,28 @@
import {
AppBskyFeedDefs,
AppBskyFeedGetListFeed as GetListFeed,
+ BskyAgent,
} from '@atproto/api'
+
import {FeedAPI, FeedAPIResponse} from './types'
-import {getAgent} from '#/state/session'
export class ListFeedAPI implements FeedAPI {
- constructor(public params: GetListFeed.QueryParams) {}
+ getAgent: () => BskyAgent
+ params: GetListFeed.QueryParams
+
+ constructor({
+ getAgent,
+ feedParams,
+ }: {
+ getAgent: () => BskyAgent
+ feedParams: GetListFeed.QueryParams
+ }) {
+ this.getAgent = getAgent
+ this.params = feedParams
+ }
async peekLatest(): Promise {
- const res = await getAgent().app.bsky.feed.getListFeed({
+ const res = await this.getAgent().app.bsky.feed.getListFeed({
...this.params,
limit: 1,
})
@@ -23,7 +36,7 @@ export class ListFeedAPI implements FeedAPI {
cursor: string | undefined
limit: number
}): Promise {
- const res = await getAgent().app.bsky.feed.getListFeed({
+ const res = await this.getAgent().app.bsky.feed.getListFeed({
...this.params,
cursor,
limit,
diff --git a/src/lib/api/feed/merge.ts b/src/lib/api/feed/merge.ts
index 28bf143cbb..c85de0306c 100644
--- a/src/lib/api/feed/merge.ts
+++ b/src/lib/api/feed/merge.ts
@@ -1,31 +1,51 @@
-import {AppBskyFeedDefs, AppBskyFeedGetTimeline} from '@atproto/api'
+import {AppBskyFeedDefs, AppBskyFeedGetTimeline, BskyAgent} from '@atproto/api'
import shuffle from 'lodash.shuffle'
-import {timeout} from 'lib/async/timeout'
+
+import {getContentLanguages} from '#/state/preferences/languages'
+import {FeedParams} from '#/state/queries/post-feed'
import {bundleAsync} from 'lib/async/bundle'
+import {timeout} from 'lib/async/timeout'
import {feedUriToHref} from 'lib/strings/url-helpers'
import {FeedTuner} from '../feed-manip'
-import {FeedAPI, FeedAPIResponse, ReasonFeedSource} from './types'
-import {FeedParams} from '#/state/queries/post-feed'
import {FeedTunerFn} from '../feed-manip'
-import {getAgent} from '#/state/session'
-import {getContentLanguages} from '#/state/preferences/languages'
+import {FeedAPI, FeedAPIResponse, ReasonFeedSource} from './types'
const REQUEST_WAIT_MS = 500 // 500ms
const POST_AGE_CUTOFF = 60e3 * 60 * 24 // 24hours
export class MergeFeedAPI implements FeedAPI {
+ getAgent: () => BskyAgent
+ params: FeedParams
+ feedTuners: FeedTunerFn[]
following: MergeFeedSource_Following
customFeeds: MergeFeedSource_Custom[] = []
feedCursor = 0
itemCursor = 0
sampleCursor = 0
- constructor(public params: FeedParams, public feedTuners: FeedTunerFn[]) {
- this.following = new MergeFeedSource_Following(this.feedTuners)
+ constructor({
+ getAgent,
+ feedParams,
+ feedTuners,
+ }: {
+ getAgent: () => BskyAgent
+ feedParams: FeedParams
+ feedTuners: FeedTunerFn[]
+ }) {
+ this.getAgent = getAgent
+ this.params = feedParams
+ this.feedTuners = feedTuners
+ this.following = new MergeFeedSource_Following({
+ getAgent: this.getAgent,
+ feedTuners: this.feedTuners,
+ })
}
reset() {
- this.following = new MergeFeedSource_Following(this.feedTuners)
+ this.following = new MergeFeedSource_Following({
+ getAgent: this.getAgent,
+ feedTuners: this.feedTuners,
+ })
this.customFeeds = []
this.feedCursor = 0
this.itemCursor = 0
@@ -33,7 +53,12 @@ export class MergeFeedAPI implements FeedAPI {
if (this.params.mergeFeedSources) {
this.customFeeds = shuffle(
this.params.mergeFeedSources.map(
- feedUri => new MergeFeedSource_Custom(feedUri, this.feedTuners),
+ feedUri =>
+ new MergeFeedSource_Custom({
+ getAgent: this.getAgent,
+ feedUri,
+ feedTuners: this.feedTuners,
+ }),
),
)
} else {
@@ -42,7 +67,7 @@ export class MergeFeedAPI implements FeedAPI {
}
async peekLatest(): Promise {
- const res = await getAgent().getTimeline({
+ const res = await this.getAgent().getTimeline({
limit: 1,
})
return res.data.feed[0]
@@ -136,12 +161,23 @@ export class MergeFeedAPI implements FeedAPI {
}
class MergeFeedSource {
+ getAgent: () => BskyAgent
+ feedTuners: FeedTunerFn[]
sourceInfo: ReasonFeedSource | undefined
cursor: string | undefined = undefined
queue: AppBskyFeedDefs.FeedViewPost[] = []
hasMore = true
- constructor(public feedTuners: FeedTunerFn[]) {}
+ constructor({
+ getAgent,
+ feedTuners,
+ }: {
+ getAgent: () => BskyAgent
+ feedTuners: FeedTunerFn[]
+ }) {
+ this.getAgent = getAgent
+ this.feedTuners = feedTuners
+ }
get numReady() {
return this.queue.length
@@ -203,7 +239,7 @@ class MergeFeedSource_Following extends MergeFeedSource {
cursor: string | undefined,
limit: number,
): Promise {
- const res = await getAgent().getTimeline({cursor, limit})
+ const res = await this.getAgent().getTimeline({cursor, limit})
// run the tuner pre-emptively to ensure better mixing
const slices = this.tuner.tune(res.data.feed, {
dryRun: false,
@@ -215,10 +251,25 @@ class MergeFeedSource_Following extends MergeFeedSource {
}
class MergeFeedSource_Custom extends MergeFeedSource {
+ getAgent: () => BskyAgent
minDate: Date
+ feedUri: string
- constructor(public feedUri: string, public feedTuners: FeedTunerFn[]) {
- super(feedTuners)
+ constructor({
+ getAgent,
+ feedUri,
+ feedTuners,
+ }: {
+ getAgent: () => BskyAgent
+ feedUri: string
+ feedTuners: FeedTunerFn[]
+ }) {
+ super({
+ getAgent,
+ feedTuners,
+ })
+ this.getAgent = getAgent
+ this.feedUri = feedUri
this.sourceInfo = {
$type: 'reasonFeedSource',
uri: feedUri,
@@ -233,13 +284,17 @@ class MergeFeedSource_Custom extends MergeFeedSource {
): Promise {
try {
const contentLangs = getContentLanguages().join(',')
- const res = await getAgent().app.bsky.feed.getFeed(
+ const res = await this.getAgent().app.bsky.feed.getFeed(
{
cursor,
limit,
feed: this.feedUri,
},
- {headers: {'Accept-Language': contentLangs}},
+ {
+ headers: {
+ 'Accept-Language': contentLangs,
+ },
+ },
)
// NOTE
// some custom feeds fail to enforce the pagination limit
diff --git a/src/lib/api/index.ts b/src/lib/api/index.ts
index 5fb7fe50e6..bc50f9cb3c 100644
--- a/src/lib/api/index.ts
+++ b/src/lib/api/index.ts
@@ -1,6 +1,6 @@
import {
- AppBskyEmbedImages,
AppBskyEmbedExternal,
+ AppBskyEmbedImages,
AppBskyEmbedRecord,
AppBskyEmbedRecordWithMedia,
AppBskyFeedThreadgate,
@@ -11,13 +11,15 @@ import {
RichText,
} from '@atproto/api'
import {AtUri} from '@atproto/api'
-import {isNetworkError} from 'lib/strings/errors'
-import {LinkMeta} from '../link-meta/link-meta'
-import {isWeb} from 'platform/detection'
-import {ImageModel} from 'state/models/media/image'
-import {shortenLinks} from 'lib/strings/rich-text-manip'
+
import {logger} from '#/logger'
import {ThreadgateSetting} from '#/state/queries/threadgate'
+import {isNetworkError} from 'lib/strings/errors'
+import {shortenLinks} from 'lib/strings/rich-text-manip'
+import {isNative, isWeb} from 'platform/detection'
+import {ImageModel} from 'state/models/media/image'
+import {LinkMeta} from '../link-meta/link-meta'
+import {safeDeleteAsync} from '../media/manip'
export interface ExternalEmbedDraft {
uri: string
@@ -117,6 +119,9 @@ export async function post(agent: BskyAgent, opts: PostOpts) {
const {width, height} = image.compressed || image
logger.debug(`Uploading image`)
const res = await uploadBlob(agent, path, 'image/jpeg')
+ if (isNative) {
+ safeDeleteAsync(path)
+ }
images.push({
image: res.data.blob,
alt: image.altText ?? '',
@@ -171,6 +176,9 @@ export async function post(agent: BskyAgent, opts: PostOpts) {
encoding,
)
thumb = thumbUploadRes.data.blob
+ if (isNative) {
+ safeDeleteAsync(opts.extLink.localThumb.path)
+ }
}
}
diff --git a/src/lib/app-info.ts b/src/lib/app-info.ts
index 83406bf2ef..af265bfcb6 100644
--- a/src/lib/app-info.ts
+++ b/src/lib/app-info.ts
@@ -1,5 +1,6 @@
import {nativeApplicationVersion, nativeBuildVersion} from 'expo-application'
+export const BUILD_ENV = process.env.EXPO_PUBLIC_ENV
export const IS_DEV = process.env.EXPO_PUBLIC_ENV === 'development'
export const IS_TESTFLIGHT = process.env.EXPO_PUBLIC_ENV === 'testflight'
diff --git a/src/lib/build-flags.ts b/src/lib/build-flags.ts
index f85cbd9f84..cf05114e02 100644
--- a/src/lib/build-flags.ts
+++ b/src/lib/build-flags.ts
@@ -1,3 +1,2 @@
export const LOGIN_INCLUDE_DEV_SERVERS = true
export const PWI_ENABLED = true
-export const NEW_ONBOARDING_ENABLED = true
diff --git a/src/lib/constants.ts b/src/lib/constants.ts
index 401c39362b..d7bec1e18d 100644
--- a/src/lib/constants.ts
+++ b/src/lib/constants.ts
@@ -4,9 +4,13 @@ export const LOCAL_DEV_SERVICE =
Platform.OS === 'android' ? 'http://10.0.2.2:2583' : 'http://localhost:2583'
export const STAGING_SERVICE = 'https://staging.bsky.dev'
export const BSKY_SERVICE = 'https://bsky.social'
+export const PUBLIC_BSKY_SERVICE = 'https://public.api.bsky.app'
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`
+export const BSKY_DOWNLOAD_URL = 'https://bsky.app/download'
const BASE_FEEDBACK_FORM_URL = `${HELP_DESK_URL}/requests/new`
export function FEEDBACK_FORM_URL({
@@ -87,3 +91,10 @@ export const BSKY_FEED_OWNER_DIDS = [
'did:plc:vpkhqolt662uhesyj6nxm7ys',
'did:plc:q6gjnaw2blty4crticxkmujt',
]
+
+export const GIF_SERVICE = 'https://gifs.bsky.app'
+
+export const GIF_SEARCH = (params: string) =>
+ `${GIF_SERVICE}/tenor/v2/search?${params}`
+export const GIF_FEATURED = (params: string) =>
+ `${GIF_SERVICE}/tenor/v2/featured?${params}`
diff --git a/src/lib/haptics.ts b/src/lib/haptics.ts
index b22d69d703..02940f793d 100644
--- a/src/lib/haptics.ts
+++ b/src/lib/haptics.ts
@@ -1,47 +1,20 @@
-import {
- impactAsync,
- ImpactFeedbackStyle,
- notificationAsync,
- NotificationFeedbackType,
- selectionAsync,
-} from 'expo-haptics'
+import React from 'react'
+import {impactAsync, ImpactFeedbackStyle} from 'expo-haptics'
import {isIOS, isWeb} from 'platform/detection'
+import {useHapticsDisabled} from 'state/preferences/disable-haptics'
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
}
impactAsync(hapticImpact)
- }
- static impact(type: ImpactFeedbackStyle = hapticImpact) {
- if (isWeb) {
- return
- }
- impactAsync(type)
- }
- static selection() {
- if (isWeb) {
- return
- }
- selectionAsync()
- }
- static notification = (type: 'success' | 'warning' | 'error') => {
- if (isWeb) {
- return
- }
- switch (type) {
- case 'success':
- return notificationAsync(NotificationFeedbackType.Success)
- case 'warning':
- return notificationAsync(NotificationFeedbackType.Warning)
- case 'error':
- return notificationAsync(NotificationFeedbackType.Error)
- }
- }
+ }, [isHapticsDisabled])
}
diff --git a/src/lib/hooks/useAccountSwitcher.ts b/src/lib/hooks/useAccountSwitcher.ts
index eb1685a0ae..6a1cea2345 100644
--- a/src/lib/hooks/useAccountSwitcher.ts
+++ b/src/lib/hooks/useAccountSwitcher.ts
@@ -1,17 +1,15 @@
import {useCallback} from 'react'
-import {isWeb} from '#/platform/detection'
import {useAnalytics} from '#/lib/analytics/analytics'
-import {useSessionApi, SessionAccount} from '#/state/session'
-import * as Toast from '#/view/com/util/Toast'
-import {useCloseAllActiveElements} from '#/state/util'
+import {isWeb} from '#/platform/detection'
+import {SessionAccount, useSessionApi} from '#/state/session'
import {useLoggedOutViewControls} from '#/state/shell/logged-out'
+import * as Toast from '#/view/com/util/Toast'
import {LogEvents} from '../statsig/statsig'
export function useAccountSwitcher() {
const {track} = useAnalytics()
const {selectAccount, clearCurrentAccount} = useSessionApi()
- const closeAllActiveElements = useCloseAllActiveElements()
const {requestSwitchToAccount} = useLoggedOutViewControls()
const onPressSwitchAccount = useCallback(
@@ -23,7 +21,6 @@ export function useAccountSwitcher() {
try {
if (account.accessJwt) {
- closeAllActiveElements()
if (isWeb) {
// We're switching accounts, which remounts the entire app.
// On mobile, this gets us Home, but on the web we also need reset the URL.
@@ -37,7 +34,6 @@ export function useAccountSwitcher() {
Toast.show(`Signed in as @${account.handle}`)
}, 100)
} else {
- closeAllActiveElements()
requestSwitchToAccount({requestedAccount: account.did})
Toast.show(
`Please sign in as @${account.handle}`,
@@ -49,13 +45,7 @@ export function useAccountSwitcher() {
clearCurrentAccount() // back user out to login
}
},
- [
- track,
- clearCurrentAccount,
- selectAccount,
- closeAllActiveElements,
- requestSwitchToAccount,
- ],
+ [track, clearCurrentAccount, selectAccount, requestSwitchToAccount],
)
return {onPressSwitchAccount}
diff --git a/src/lib/hooks/useNavigationTabState.ts b/src/lib/hooks/useNavigationTabState.ts
index 3a05fe524f..7fc0c65beb 100644
--- a/src/lib/hooks/useNavigationTabState.ts
+++ b/src/lib/hooks/useNavigationTabState.ts
@@ -1,4 +1,5 @@
import {useNavigationState} from '@react-navigation/native'
+
import {getTabState, TabState} from 'lib/routes/helpers'
export function useNavigationTabState() {
@@ -10,13 +11,15 @@ export function useNavigationTabState() {
isAtNotifications:
getTabState(state, 'Notifications') !== TabState.Outside,
isAtMyProfile: getTabState(state, 'MyProfile') !== TabState.Outside,
+ isAtMessages: getTabState(state, 'MessagesList') !== TabState.Outside,
}
if (
!res.isAtHome &&
!res.isAtSearch &&
!res.isAtFeeds &&
!res.isAtNotifications &&
- !res.isAtMyProfile
+ !res.isAtMyProfile &&
+ !res.isAtMessages
) {
// HACK for some reason useNavigationState will give us pre-hydration results
// and not update after, so we force isAtHome if all came back false
diff --git a/src/lib/hooks/useOTAUpdates.ts b/src/lib/hooks/useOTAUpdates.ts
index 51fd18aa04..a1692e62cc 100644
--- a/src/lib/hooks/useOTAUpdates.ts
+++ b/src/lib/hooks/useOTAUpdates.ts
@@ -30,6 +30,8 @@ async function setExtraParams() {
}
export function useOTAUpdates() {
+ const shouldReceiveUpdates = isEnabled && !__DEV__
+
const appState = React.useRef('active')
const lastMinimize = React.useRef(0)
const ranInitialCheck = React.useRef(false)
@@ -51,61 +53,59 @@ export function useOTAUpdates() {
logger.debug('No update available.')
}
} catch (e) {
- logger.warn('OTA Update Error', {error: `${e}`})
+ logger.error('OTA Update Error', {error: `${e}`})
}
}, 10e3)
}, [])
- const onIsTestFlight = React.useCallback(() => {
- setTimeout(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()
- },
+ 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) {
- // No need to handle
+ },
+ ],
+ )
}
- }, 3e3)
+ } 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 (!isEnabled || __DEV__ || ranInitialCheck.current) {
- // Development client shouldn't check for updates at all, so we skip that here.
+ } else if (!shouldReceiveUpdates || ranInitialCheck.current) {
return
}
setCheckTimeout()
ranInitialCheck.current = true
- }, [onIsTestFlight, setCheckTimeout])
+ }, [onIsTestFlight, setCheckTimeout, shouldReceiveUpdates])
- // After the app has been minimized for 30 minutes, we want to either A. install an update if one has become available
+ // 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
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/media/manip.ts b/src/lib/media/manip.ts
index a681627e67..9cd4abc626 100644
--- a/src/lib/media/manip.ts
+++ b/src/lib/media/manip.ts
@@ -1,13 +1,14 @@
-import RNFetchBlob from 'rn-fetch-blob'
-import ImageResizer from '@bam.tech/react-native-image-resizer'
import {Image as RNImage, Share as RNShare} from 'react-native'
import {Image} from 'react-native-image-crop-picker'
-import * as RNFS from 'react-native-fs'
import uuid from 'react-native-uuid'
-import * as Sharing from 'expo-sharing'
+import {cacheDirectory, copyAsync, deleteAsync} from 'expo-file-system'
import * as MediaLibrary from 'expo-media-library'
-import {Dimensions} from './types'
+import * as Sharing from 'expo-sharing'
+import ImageResizer from '@bam.tech/react-native-image-resizer'
+import RNFetchBlob from 'rn-fetch-blob'
+
import {isAndroid, isIOS} from 'platform/detection'
+import {Dimensions} from './types'
export async function compressIfNeeded(
img: Image,
@@ -23,7 +24,10 @@ export async function compressIfNeeded(
mode: 'stretch',
maxSize,
})
- const finalImageMovedPath = await moveToPermanentPath(resizedImage.path)
+ const finalImageMovedPath = await moveToPermanentPath(
+ resizedImage.path,
+ '.jpg',
+ )
const finalImg = {
...resizedImage,
path: finalImageMovedPath,
@@ -63,13 +67,15 @@ export async function downloadAndResize(opts: DownloadAndResizeOpts) {
downloadRes = await downloadResPromise
clearTimeout(to1)
- let localUri = downloadRes.path()
- if (!localUri.startsWith('file://')) {
- localUri = `file://${localUri}`
+ const status = downloadRes.info().status
+ if (status !== 200) {
+ return
}
+ const localUri = normalizePath(downloadRes.path(), true)
return await doResize(localUri, opts)
} finally {
+ // TODO Whenever we remove `rn-fetch-blob`, we will need to replace this `flush()` with a `deleteAsync()` -hailey
if (downloadRes) {
downloadRes.flush()
}
@@ -105,7 +111,8 @@ export async function shareImageModal({uri}: {uri: string}) {
UTI: 'image/png',
})
}
- RNFS.unlink(imagePath)
+
+ safeDeleteAsync(imagePath)
}
export async function saveImageToMediaLibrary({uri}: {uri: string}) {
@@ -122,6 +129,7 @@ export async function saveImageToMediaLibrary({uri}: {uri: string}) {
// save
await MediaLibrary.createAssetAsync(imagePath)
+ safeDeleteAsync(imagePath)
}
export function getImageDim(path: string): Promise {
@@ -168,6 +176,8 @@ async function doResize(localUri: string, opts: DoResizeOpts): Promise {
width: resizeRes.width,
height: resizeRes.height,
}
+ } else {
+ safeDeleteAsync(resizeRes.path)
}
}
throw new Error(
@@ -175,7 +185,7 @@ async function doResize(localUri: string, opts: DoResizeOpts): Promise {
)
}
-async function moveToPermanentPath(path: string, ext = ''): Promise {
+async function moveToPermanentPath(path: string, ext = 'jpg'): Promise {
/*
Since this package stores images in a temp directory, we need to move the file to a permanent location.
Relevant: IOS bug when trying to open a second time:
@@ -183,14 +193,33 @@ async function moveToPermanentPath(path: string, ext = ''): Promise {
*/
const filename = uuid.v4()
- const destinationPath = joinPath(
- RNFS.TemporaryDirectoryPath,
- `${filename}${ext}`,
- )
- await RNFS.moveFile(path, destinationPath)
+ // cacheDirectory will not ever be null on native, but it could be on web. This function only ever gets called on
+ // native so we assert as a string.
+ const destinationPath = joinPath(cacheDirectory as string, filename + ext)
+ await copyAsync({
+ from: normalizePath(path),
+ to: normalizePath(destinationPath),
+ })
+ safeDeleteAsync(path)
return normalizePath(destinationPath)
}
+export async function safeDeleteAsync(path: string) {
+ // Normalize is necessary for Android, otherwise it doesn't delete.
+ const normalizedPath = normalizePath(path)
+ try {
+ await Promise.allSettled([
+ deleteAsync(normalizedPath, {idempotent: true}),
+ // HACK: Try this one too. Might exist due to api-polyfill hack.
+ deleteAsync(normalizedPath.replace(/\.jpe?g$/, '.bin'), {
+ idempotent: true,
+ }),
+ ])
+ } catch (e) {
+ console.error('Failed to delete file', e)
+ }
+}
+
function joinPath(a: string, b: string) {
if (a.endsWith('/')) {
if (b.startsWith('/')) {
diff --git a/src/lib/notifications/notifications.ts b/src/lib/notifications/notifications.ts
index 0f628f4288..b0bbc1bf99 100644
--- a/src/lib/notifications/notifications.ts
+++ b/src/lib/notifications/notifications.ts
@@ -1,11 +1,13 @@
import {useEffect} from 'react'
import * as Notifications from 'expo-notifications'
+import {BskyAgent} from '@atproto/api'
import {QueryClient} from '@tanstack/react-query'
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 {getAgent, SessionAccount} from '#/state/session'
+import {SessionAccount} from '#/state/session'
import {track} from 'lib/analytics/analytics'
import {devicePlatform, isIOS} from 'platform/detection'
import {resetToTab} from '../../Navigation'
@@ -17,6 +19,7 @@ const SERVICE_DID = (serviceUrl?: string) =>
: 'did:web:api.bsky.app'
export async function requestPermissionsAndRegisterToken(
+ getAgent: () => BskyAgent,
account: SessionAccount,
) {
// request notifications permission once the user has logged in
@@ -48,6 +51,7 @@ export async function requestPermissionsAndRegisterToken(
}
export function registerTokenChangeHandler(
+ getAgent: () => BskyAgent,
account: SessionAccount,
): () => void {
// listens for new changes to the push token
@@ -87,6 +91,7 @@ export function useNotificationsListener(queryClient: QueryClient) {
// 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(
'Notifications: received',
{event},
@@ -131,11 +136,13 @@ export function useNotificationsListener(queryClient: QueryClient) {
)
track('Notificatons:OpenApp')
logEvent('notifications:openApp', {})
+ invalidateCachedUnreadPage()
truncateAndInvalidate(queryClient, RQKEY_NOTIFS())
resetToTab('NotificationsTab') // open notifications tab
}
},
)
+
return () => {
sub1.remove()
sub2.remove()
diff --git a/src/lib/oauth.ts b/src/lib/oauth.ts
new file mode 100644
index 0000000000..391ca85059
--- /dev/null
+++ b/src/lib/oauth.ts
@@ -0,0 +1,12 @@
+import {isWeb} from 'platform/detection'
+
+export const OAUTH_CLIENT_ID = 'http://localhost/'
+export const OAUTH_REDIRECT_URI = 'http://127.0.0.1:2583/'
+export const OAUTH_SCOPE = 'openid profile email phone offline_access'
+export const OAUTH_GRANT_TYPES = [
+ 'authorization_code',
+ 'refresh_token',
+] as const
+export const OAUTH_RESPONSE_TYPES = ['code', 'code id_token'] as const
+export const DPOP_BOUND_ACCESS_TOKENS = true
+export const OAUTH_APPLICATION_TYPE = isWeb ? 'web' : 'native' // TODO what should we put here for native
diff --git a/src/lib/routes/router.ts b/src/lib/routes/router.ts
index 8c8be37397..45f9c85fdb 100644
--- a/src/lib/routes/router.ts
+++ b/src/lib/routes/router.ts
@@ -1,4 +1,4 @@
-import {RouteParams, Route} from './types'
+import {Route, RouteParams} from './types'
export class Router {
routes: [string, Route][] = []
diff --git a/src/lib/routes/types.ts b/src/lib/routes/types.ts
index 95af2f237d..f9a5927119 100644
--- a/src/lib/routes/types.ts
+++ b/src/lib/routes/types.ts
@@ -35,8 +35,11 @@ export type CommonNavigatorParams = {
PreferencesFollowingFeed: undefined
PreferencesThreads: undefined
PreferencesExternalEmbeds: undefined
+ AccessibilitySettings: undefined
Search: {q?: string}
Hashtag: {tag: string; author?: string}
+ MessagesConversation: {conversation: string}
+ MessagesSettings: undefined
}
export type BottomTabNavigatorParams = CommonNavigatorParams & {
@@ -45,6 +48,7 @@ export type BottomTabNavigatorParams = CommonNavigatorParams & {
FeedsTab: undefined
NotificationsTab: undefined
MyProfileTab: undefined
+ MessagesTab: undefined
}
export type HomeTabNavigatorParams = CommonNavigatorParams & {
@@ -67,12 +71,17 @@ export type MyProfileTabNavigatorParams = CommonNavigatorParams & {
MyProfile: undefined
}
+export type MessagesTabNavigatorParams = CommonNavigatorParams & {
+ MessagesList: undefined
+}
+
export type FlatNavigatorParams = CommonNavigatorParams & {
Home: undefined
Search: {q?: string}
Feeds: undefined
Notifications: undefined
Hashtag: {tag: string; author?: string}
+ MessagesList: undefined
}
export type AllNavigatorParams = CommonNavigatorParams & {
@@ -86,6 +95,8 @@ export type AllNavigatorParams = CommonNavigatorParams & {
Notifications: undefined
MyProfileTab: undefined
Hashtag: {tag: string; author?: string}
+ MessagesTab: undefined
+ MessagesList: undefined
}
// NOTE
diff --git a/src/lib/sentry.ts b/src/lib/sentry.ts
index 6b6c1832d6..1180b0db6c 100644
--- a/src/lib/sentry.ts
+++ b/src/lib/sentry.ts
@@ -5,16 +5,9 @@
import {Platform} from 'react-native'
import {nativeApplicationVersion, nativeBuildVersion} from 'expo-application'
-import * as info from 'expo-updates'
import {init} from 'sentry-expo'
-/**
- * Matches the build profile `channel` props in `eas.json`
- */
-const buildChannel = (info.channel || 'development') as
- | 'development'
- | 'preview'
- | 'production'
+import {BUILD_ENV, IS_DEV, IS_TESTFLIGHT} from 'lib/app-info'
/**
* Examples:
@@ -32,16 +25,16 @@ const release = nativeApplicationVersion ?? 'dev'
* - `ios.1.57.0.3`
* - `android.1.57.0.46`
*/
-const dist = `${Platform.OS}.${release}${
- nativeBuildVersion ? `.${nativeBuildVersion}` : ''
-}`
+const dist = `${Platform.OS}.${nativeBuildVersion}.${
+ IS_TESTFLIGHT ? 'tf' : ''
+}${IS_DEV ? 'dev' : ''}`
init({
autoSessionTracking: false,
dsn: 'https://05bc3789bf994b81bd7ce20c86ccd3ae@o4505071687041024.ingest.sentry.io/4505071690514432',
debug: false, // If `true`, Sentry will try to print out useful debugging information if something goes wrong with sending the event. Set it to `false` in production
enableInExpoDevelopment: false, // enable this to test in dev
- environment: buildChannel,
+ environment: BUILD_ENV ?? 'development',
dist,
release,
})
diff --git a/src/lib/statsig/events.ts b/src/lib/statsig/events.ts
index 3d650b8b73..1cfdcbb6a5 100644
--- a/src/lib/statsig/events.ts
+++ b/src/lib/statsig/events.ts
@@ -60,6 +60,8 @@ export type LogEvents = {
feedType: string
reason: 'pull-to-refresh' | 'soft-reset' | 'load-latest'
}
+ 'composer:gif:open': {}
+ 'composer:gif:select': {}
// Data events
'account:create:begin': {}
@@ -99,6 +101,7 @@ export type LogEvents = {
| 'ProfileHeader'
| 'ProfileHeaderSuggestedFollows'
| 'ProfileMenu'
+ | 'ProfileHoverCard'
}
'profile:unfollow': {
logContext:
@@ -108,5 +111,16 @@ export type LogEvents = {
| 'ProfileHeader'
| 'ProfileHeaderSuggestedFollows'
| 'ProfileMenu'
+ | 'ProfileHoverCard'
}
+
+ 'test:all:always': {}
+ 'test:all:sometimes': {}
+ 'test:all:boosted_by_gate1': {reason: 'base' | 'gate1'}
+ 'test:all:boosted_by_gate2': {reason: 'base' | 'gate2'}
+ 'test:all:boosted_by_both': {reason: 'base' | 'gate1' | 'gate2'}
+ 'test:gate1:always': {}
+ 'test:gate1:sometimes': {}
+ 'test:gate2:always': {}
+ 'test:gate2:sometimes': {}
}
diff --git a/src/lib/statsig/gates.ts b/src/lib/statsig/gates.ts
index c755ad437e..5cd603920e 100644
--- a/src/lib/statsig/gates.ts
+++ b/src/lib/statsig/gates.ts
@@ -1,8 +1,11 @@
export type Gate =
// Keep this alphabetic please.
- | 'autoexpand_suggestions_on_profile_follow'
- | 'disable_min_shell_on_foregrounding'
- | 'disable_poll_on_discover'
- | 'new_search'
- | 'show_follow_back_label'
- | 'start_session_with_following'
+ | 'autoexpand_suggestions_on_profile_follow_v2'
+ | 'disable_min_shell_on_foregrounding_v2'
+ | 'disable_poll_on_discover_v2'
+ | 'dms'
+ | 'hide_vertical_scroll_indicators'
+ | 'show_follow_back_label_v2'
+ | 'start_session_with_following_v2'
+ | 'test_gate_1'
+ | 'test_gate_2'
diff --git a/src/lib/statsig/statsig.tsx b/src/lib/statsig/statsig.tsx
index 159438647a..2e3fdfd5cb 100644
--- a/src/lib/statsig/statsig.tsx
+++ b/src/lib/statsig/statsig.tsx
@@ -2,33 +2,60 @@ 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 {Statsig, StatsigProvider} from 'statsig-react-native-expo'
import {logger} from '#/logger'
+import {isWeb} from '#/platform/detection'
+import * as persisted from '#/state/persisted'
import {IS_TESTFLIGHT} from 'lib/app-info'
import {useSession} from '../../state/session'
+import {timeout} from '../async/timeout'
+import {useNonReactiveCallback} from '../hooks/useNonReactiveCallback'
import {LogEvents} from './events'
import {Gate} from './gates'
+type StatsigUser = {
+ userID: string | undefined
+ // TODO: Remove when enough users have custom.platform:
+ platform: 'ios' | 'android' | 'web'
+ custom: {
+ // This is the place where we can add our own stuff.
+ // Fields here have to be non-optional to be visible in the UI.
+ platform: 'ios' | 'android' | 'web'
+ refSrc: string
+ refUrl: string
+ appLanguage: string
+ contentLanguages: string[]
+ }
+}
+
+let refSrc = ''
+let refUrl = ''
+if (isWeb && typeof window !== 'undefined') {
+ const params = new URLSearchParams(window.location.search)
+ refSrc = params.get('ref_src') ?? ''
+ refUrl = decodeURIComponent(params.get('ref_url') ?? '')
+}
+
export type {LogEvents}
-const statsigOptions = {
- environment: {
- 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.
- // Note this makes cold load (no local storage) and private mode return `false` for all gates.
- initTimeoutMs: 1,
+function createStatsigOptions(prefetchUsers: StatsigUser[]) {
+ return {
+ environment: {
+ 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.
+ // Note this makes cold load (no local storage) and private mode return `false` for all gates.
+ initTimeoutMs: 1,
+ // Get fresh flags for other accounts as well, if any.
+ prefetchUsers,
+ }
}
type FlatJSONRecord = Record<
@@ -76,26 +103,48 @@ export function logEvent(
}
}
-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.')
+// We roll our own cache in front of Statsig because it is a singleton
+// and it's been difficult to get it to behave in a predictable way.
+// Our own cache ensures consistent evaluation within a single session.
+const GateCache = React.createContext | null>(null)
+
+export function useGate(): (gateName: Gate) => boolean {
+ const cache = React.useContext(GateCache)
+ if (!cache) {
+ throw Error('useGate() cannot be called outside StatsigProvider.')
}
- return value
+ const gate = React.useCallback(
+ (gateName: Gate): boolean => {
+ const cachedValue = cache.get(gateName)
+ if (cachedValue !== undefined) {
+ return cachedValue
+ }
+ const value = Statsig.initializeCalled()
+ ? Statsig.checkGate(gateName)
+ : false
+ cache.set(gateName, value)
+ return value
+ },
+ [cache],
+ )
+ return gate
}
-function toStatsigUser(did: string | undefined) {
+function toStatsigUser(did: string | undefined): StatsigUser {
let userID: string | undefined
if (did) {
userID = sha256(did)
}
+ const languagePrefs = persisted.get('languagePrefs')
return {
userID,
- platform: Platform.OS,
+ platform: Platform.OS as 'ios' | 'android' | 'web',
custom: {
- // Need to specify here too for gating.
- platform: Platform.OS,
+ refSrc,
+ refUrl,
+ platform: Platform.OS as 'ios' | 'android' | 'web',
+ appLanguage: languagePrefs.appLanguage,
+ contentLanguages: languagePrefs.contentLanguages,
},
}
}
@@ -122,34 +171,85 @@ AppState.addEventListener('change', (state: AppStateStatus) => {
}
})
+export async function tryFetchGates(
+ did: string,
+ strategy: 'prefer-low-latency' | 'prefer-fresh-gates',
+) {
+ try {
+ let timeoutMs = 250 // Don't block the UI if we can't do this fast.
+ if (strategy === 'prefer-fresh-gates') {
+ // Use this for less common operations where the user would be OK with a delay.
+ timeoutMs = 1500
+ }
+ // Note: This condition is currently false the very first render because
+ // Statsig has not initialized yet. In the future, we can fix this by
+ // doing the initialization ourselves instead of relying on the provider.
+ if (Statsig.initializeCalled()) {
+ await Promise.race([
+ timeout(timeoutMs),
+ Statsig.prefetchUsers([toStatsigUser(did)]),
+ ])
+ }
+ } catch (e) {
+ // Don't leak errors to the calling code, this is meant to be always safe.
+ console.error(e)
+ }
+}
+
export function Provider({children}: {children: React.ReactNode}) {
- const {currentAccount} = useSession()
- const currentStatsigUser = React.useMemo(
- () => toStatsigUser(currentAccount?.did),
- [currentAccount?.did],
+ const {currentAccount, accounts} = useSession()
+ const did = currentAccount?.did
+ const currentStatsigUser = React.useMemo(() => toStatsigUser(did), [did])
+
+ const otherDidsConcatenated = accounts
+ .map(account => account.did)
+ .filter(accountDid => accountDid !== did)
+ .join(' ') // We're only interested in DID changes.
+ const otherStatsigUsers = React.useMemo(
+ () => otherDidsConcatenated.split(' ').map(toStatsigUser),
+ [otherDidsConcatenated],
+ )
+ const statsigOptions = React.useMemo(
+ () => createStatsigOptions(otherStatsigUsers),
+ [otherStatsigUsers],
)
- React.useEffect(() => {
- function refresh() {
- // Intentionally refetching the config using the JS SDK rather than React SDK
- // so that the new config is stored in cache but isn't used during this session.
- // It will kick in for the next reload.
- Statsig.updateUser(currentStatsigUser)
+ // Have our own cache in front of Statsig.
+ // This ensures the results remain stable until the active DID changes.
+ const [gateCache, setGateCache] = React.useState(() => new Map())
+ const [prevDid, setPrevDid] = React.useState(did)
+ if (did !== prevDid) {
+ setPrevDid(did)
+ setGateCache(new Map())
+ }
+
+ // Periodically poll Statsig to get the current rule evaluations for all stored accounts.
+ // These changes are prefetched and stored, but don't get applied until the active DID changes.
+ // This ensures that when you switch an account, it already has fresh results by then.
+ const handleIntervalTick = useNonReactiveCallback(() => {
+ if (Statsig.initializeCalled()) {
+ // Note: Only first five will be taken into account by Statsig.
+ Statsig.prefetchUsers([currentStatsigUser, ...otherStatsigUsers])
}
- const id = setInterval(refresh, 3 * 60e3 /* 3 min */)
+ })
+ React.useEffect(() => {
+ const id = setInterval(handleIntervalTick, 60e3 /* 1 min */)
return () => clearInterval(id)
- }, [currentStatsigUser])
+ }, [handleIntervalTick])
return (
-
- {children}
-
+
+
+ {children}
+
+
)
}
diff --git a/src/lib/strings/embed-player.ts b/src/lib/strings/embed-player.ts
index ee73284785..d84ccc726e 100644
--- a/src/lib/strings/embed-player.ts
+++ b/src/lib/strings/embed-player.ts
@@ -1,4 +1,5 @@
-import {Dimensions} from 'react-native'
+import {Dimensions, Platform} from 'react-native'
+
import {isWeb} from 'platform/detection'
const {height: SCREEN_HEIGHT} = Dimensions.get('window')
@@ -60,6 +61,10 @@ export interface EmbedPlayerParams {
source: EmbedPlayerSource
metaUri?: string
hideDetails?: boolean
+ dimensions?: {
+ height: number
+ width: number
+ }
}
const giphyRegex = /media(?:[0-4]\.giphy\.com|\.giphy\.com)/i
@@ -90,7 +95,8 @@ export function parseEmbedPlayerFromUrl(
if (
urlp.hostname === 'www.youtube.com' ||
urlp.hostname === 'youtube.com' ||
- urlp.hostname === 'm.youtube.com'
+ urlp.hostname === 'm.youtube.com' ||
+ urlp.hostname === 'music.youtube.com'
) {
const [_, page, shortVideoId] = urlp.pathname.split('/')
const videoId =
@@ -266,7 +272,7 @@ export function parseEmbedPlayerFromUrl(
isGif: true,
hideDetails: true,
metaUri: `https://giphy.com/gifs/${gifId}`,
- playerUri: `https://i.giphy.com/media/${gifId}/giphy.webp`,
+ playerUri: `https://i.giphy.com/media/${gifId}/200.webp`,
}
}
}
@@ -287,7 +293,7 @@ export function parseEmbedPlayerFromUrl(
isGif: true,
hideDetails: true,
metaUri: `https://giphy.com/gifs/${trackingOrId}`,
- playerUri: `https://i.giphy.com/media/${trackingOrId}/giphy.webp`,
+ playerUri: `https://i.giphy.com/media/${trackingOrId}/200.webp`,
}
} else if (filename && gifFilenameRegex.test(filename)) {
return {
@@ -296,7 +302,7 @@ export function parseEmbedPlayerFromUrl(
isGif: true,
hideDetails: true,
metaUri: `https://giphy.com/gifs/${idOrFilename}`,
- playerUri: `https://i.giphy.com/media/${idOrFilename}/giphy.webp`,
+ playerUri: `https://i.giphy.com/media/${idOrFilename}/200.webp`,
}
}
}
@@ -315,7 +321,7 @@ export function parseEmbedPlayerFromUrl(
isGif: true,
hideDetails: true,
metaUri: `https://giphy.com/gifs/${gifId}`,
- playerUri: `https://i.giphy.com/media/${gifId}/giphy.webp`,
+ playerUri: `https://i.giphy.com/media/${gifId}/200.webp`,
}
} else if (mediaOrFilename) {
const gifId = mediaOrFilename.split('.')[0]
@@ -327,26 +333,48 @@ export function parseEmbedPlayerFromUrl(
metaUri: `https://giphy.com/gifs/${gifId}`,
playerUri: `https://i.giphy.com/media/${
mediaOrFilename.split('.')[0]
- }/giphy.webp`,
+ }/200.webp`,
}
}
}
- if (urlp.hostname === 'tenor.com' || urlp.hostname === 'www.tenor.com') {
- const [_, pathOrIntl, pathOrFilename, intlFilename] =
- urlp.pathname.split('/')
- const isIntl = pathOrFilename === 'view'
- const filename = isIntl ? intlFilename : pathOrFilename
+ if (urlp.hostname === 'media.tenor.com') {
+ let [_, id, filename] = urlp.pathname.split('/')
+
+ const h = urlp.searchParams.get('hh')
+ const w = urlp.searchParams.get('ww')
+ let dimensions
+ if (h && w) {
+ dimensions = {
+ height: Number(h),
+ width: Number(w),
+ }
+ }
- if ((pathOrIntl === 'view' || pathOrFilename === 'view') && filename) {
- const includesExt = filename.split('.').pop() === 'gif'
+ if (id && filename && dimensions && id.includes('AAAAC')) {
+ if (Platform.OS === 'web') {
+ const isSafari = /^((?!chrome|android).)*safari/i.test(
+ navigator.userAgent,
+ )
+
+ if (isSafari) {
+ id = id.replace('AAAAC', 'AAAP1')
+ filename = filename.replace('.gif', '.mp4')
+ } else {
+ id = id.replace('AAAAC', 'AAAP3')
+ filename = filename.replace('.gif', '.webm')
+ }
+ } else {
+ id = id.replace('AAAAC', 'AAAAM')
+ }
return {
type: 'tenor_gif',
source: 'tenor',
isGif: true,
hideDetails: true,
- playerUri: `${url}${!includesExt ? '.gif' : ''}`,
+ playerUri: `https://t.gifs.bsky.app/${id}/${filename}`,
+ dimensions,
}
}
}
diff --git a/src/lib/strings/url-helpers.ts b/src/lib/strings/url-helpers.ts
index 70a2b70692..2a20373a42 100644
--- a/src/lib/strings/url-helpers.ts
+++ b/src/lib/strings/url-helpers.ts
@@ -1,14 +1,15 @@
import {AtUri} from '@atproto/api'
-import {BSKY_SERVICE} from 'lib/constants'
-import TLDs from 'tlds'
import psl from 'psl'
+import TLDs from 'tlds'
+
+import {BSKY_SERVICE} from 'lib/constants'
export const BSKY_APP_HOST = 'https://bsky.app'
const BSKY_TRUSTED_HOSTS = [
- 'bsky.app',
- 'bsky.social',
- 'blueskyweb.xyz',
- 'blueskyweb.zendesk.com',
+ 'bsky\\.app',
+ 'bsky\\.social',
+ 'blueskyweb\\.xyz',
+ 'blueskyweb\\.zendesk\\.com',
...(__DEV__ ? ['localhost:19006', 'localhost:8100'] : []),
]
@@ -145,6 +146,13 @@ export function isBskyListUrl(url: string): boolean {
return false
}
+export function isBskyDownloadUrl(url: string): boolean {
+ if (isExternalUrl(url)) {
+ return false
+ }
+ return url === '/download' || url.startsWith('/download?')
+}
+
export function convertBskyAppUrlIfNeeded(url: string): string {
if (isBskyAppUrl(url)) {
try {
diff --git a/src/locale/locales/ca/messages.po b/src/locale/locales/ca/messages.po
index 7945fe8b59..8cd16e1805 100644
--- a/src/locale/locales/ca/messages.po
+++ b/src/locale/locales/ca/messages.po
@@ -16,7 +16,7 @@ msgstr ""
"X-Poedit-SourceCharset: utf-8\n"
"Plural-Forms: \n"
-#: src/view/com/modals/VerifyEmail.tsx:142
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr "(sense correu)"
@@ -32,6 +32,7 @@ msgstr "(sense correu)"
#~ msgid "{0} {purposeLabel} List"
#~ msgstr "Llista {purposeLabel} {0}"
+#: src/components/ProfileHoverCard/index.web.tsx:438
#: 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:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} no llegides"
@@ -66,15 +67,20 @@ msgstr "<0/> membres"
msgid "<0>{0}0> following"
msgstr "<0>{0}0> seguint"
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr "<0>{followers} 0><1>{pluralizedFollowers}1>"
+
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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>"
@@ -82,10 +88,14 @@ msgstr "<0>Segueix alguns0><1>usuaris1><2>recomanats2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Us donem la benvinguda a0><1>Bluesky1>"
-#: src/screens/Profile/Header/Handle.tsx:42
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr "⚠Identificador invàlid"
+#: src/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr ""
+
#: 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}."
@@ -94,27 +104,36 @@ msgstr "⚠Identificador invàlid"
#~ 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:649
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
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:300
-#: src/view/screens/Settings/index.tsx:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "Accessibilitat"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr ""
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr ""
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
msgstr "compte"
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "Compte"
@@ -147,7 +166,7 @@ msgstr "Opcions del compte"
msgid "Account removed from quick access"
msgstr "Compte eliminat de l'accés ràpid"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Compte desbloquejat"
@@ -164,7 +183,7 @@ msgstr "Compte no silenciat"
#: 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:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Afegeix"
@@ -172,13 +191,13 @@ msgstr "Afegeix"
msgid "Add a content warning"
msgstr "Afegeix una advertència de contingut"
-#: src/view/screens/ProfileList.tsx:817
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Afegeix un usuari a aquesta llista"
-#: src/components/dialogs/SwitchAccount.tsx:55
-#: src/view/screens/Settings/index.tsx:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr "Afegeix un compte"
@@ -204,12 +223,12 @@ msgstr "Afegeix una contrasenya d'aplicació"
#~ msgstr "Afegeix detalls a l'informe"
#: src/view/com/composer/Composer.tsx:467
-msgid "Add link card"
-msgstr "Afegeix una targeta a l'enllaç"
+#~ msgid "Add link card"
+#~ msgstr "Afegeix una targeta a l'enllaç"
#: src/view/com/composer/Composer.tsx:472
-msgid "Add link card:"
-msgstr "Afegeix una targeta a l'enllaç:"
+#~ msgid "Add link card:"
+#~ msgstr "Afegeix una targeta a l'enllaç:"
#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
@@ -264,11 +283,11 @@ msgid "Adult content is disabled."
msgstr "El contingut per adults està deshabilitat."
#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
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."
@@ -286,6 +305,7 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "Text alternatiu"
@@ -293,7 +313,8 @@ msgstr "Text alternatiu"
msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone."
msgstr "El text alternatiu descriu les imatges per a les persones cegues o amb problemes de visió, i ajuda a donar context a tothom."
-#: src/view/com/modals/VerifyEmail.tsx:124
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
msgstr "S'ha enviat un correu a {0}. Inclou un codi de confirmació que has d'entrar aquí sota."
@@ -301,10 +322,16 @@ 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/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr ""
+
#: 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/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
@@ -312,7 +339,7 @@ msgstr "Un problema que no està inclòs en aquestes opcions"
msgid "An issue occurred, please try again."
msgstr "Hi ha hagut un problema, prova-ho de nou."
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "i"
@@ -321,6 +348,10 @@ msgstr "i"
msgid "Animals"
msgstr "Animals"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
msgstr "Comportament antisocial"
@@ -341,7 +372,7 @@ msgstr "La contrasenya de l'aplicació només pot estar formada per lletres, nú
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."
-#: src/view/screens/Settings/index.tsx:695
+#: src/view/screens/Settings/index.tsx:647
msgid "App password settings"
msgstr "Configuració de la contrasenya d'aplicació"
@@ -349,9 +380,9 @@ msgstr "Configuració de la contrasenya d'aplicació"
#~ msgid "App passwords"
#~ msgstr "Contrasenyes de l'aplicació"
-#: src/Navigation.tsx:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "Contrasenyes de l'aplicació"
@@ -388,7 +419,7 @@ msgstr "Apel·lació enviada."
#~ msgid "Appeal this decision."
#~ msgstr "Apel·la aquesta decisió."
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "Aparença"
@@ -400,7 +431,7 @@ msgstr "Confirmes que vols eliminar la contrasenya de l'aplicació \"{name}\"?"
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
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr "Confirmes que vols descartar aquest esborrany?"
@@ -424,9 +455,9 @@ msgstr "Art"
msgid "Artistic or non-erotic nudity."
msgstr "Nuesa artística o no eròtica."
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
-msgstr ""
+msgstr "Almenys 3 caràcters"
#: src/components/moderation/LabelsOnMeDialog.tsx:246
#: src/components/moderation/LabelsOnMeDialog.tsx:247
@@ -434,13 +465,13 @@ msgstr ""
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr "Endarrere"
@@ -453,7 +484,7 @@ msgstr "Endarrere"
msgid "Based on your interest in {interestsText}"
msgstr "Segons els teus interessos en {interestsText}"
-#: src/view/screens/Settings/index.tsx:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "Conceptes bàsics"
@@ -461,11 +492,11 @@ msgstr "Conceptes bàsics"
msgid "Birthday"
msgstr "Aniversari"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr "Aniversari:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
msgstr "Bloqueja"
@@ -479,16 +510,16 @@ msgstr "Bloqueja el compte"
msgid "Block Account?"
msgstr "Vols bloquejar el compte?"
-#: src/view/screens/ProfileList.tsx:530
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Bloqueja comptes"
-#: 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 "Bloqueja una llista"
-#: src/view/screens/ProfileList.tsx:629
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "Vols bloquejar aquests comptes?"
@@ -497,7 +528,7 @@ msgstr "Vols bloquejar aquests comptes?"
#~ msgstr "Bloqueja la llista"
#: 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 "Bloquejada"
@@ -505,8 +536,8 @@ msgstr "Bloquejada"
msgid "Blocked accounts"
msgstr "Comptes bloquejats"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "Comptes bloquejats"
@@ -514,7 +545,7 @@ msgstr "Comptes bloquejats"
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:120
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."
@@ -522,11 +553,11 @@ msgstr "Els comptes bloquejats no poden respondre a cap fil teu, ni anomenar-te
msgid "Blocked post."
msgstr "Publicació bloquejada."
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: 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: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 "El bloqueig és públic. Els comptes bloquejats no poden respondre els teus fils, ni mencionar-te ni interactuar amb tu de cap manera."
@@ -534,12 +565,10 @@ msgstr "El bloqueig és públic. Els comptes bloquejats no poden respondre els t
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/HomeLoggedOutCTA.tsx:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blog"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -592,8 +621,7 @@ msgstr "Llibres"
#~ msgid "Build version {0} {1}"
#~ msgstr "Versió {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Negocis"
@@ -625,7 +653,7 @@ msgstr "Creant el compte indiques que estàs d'acord amb {els}."
msgid "by you"
msgstr "per tu"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "Càmera"
@@ -637,8 +665,8 @@ msgstr "Només pot tenir lletres, números, espais, guions i guions baixos. Ha d
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -653,9 +681,9 @@ msgstr "Només pot tenir lletres, números, espais, guions i guions baixos. Ha d
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Cancel·la"
@@ -705,34 +733,34 @@ msgstr "Cancel·la la cerca"
msgid "Cancels opening the linked website"
msgstr "Cancel·la obrir la web enllaçada"
-#: src/view/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
msgstr "Canvia"
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "Canvia"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "Canvia l'identificador"
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "Canvia l'identificador"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "Canvia el meu correu"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr "Canvia la contrasenya"
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr "Canvia la contrasenya"
@@ -753,14 +781,18 @@ 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 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 a veure altres usuaris similars."
+#: src/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr ""
+
#: 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 a rebre el codi de confirmació i entra'l aquí sota:"
@@ -790,36 +822,36 @@ msgstr "Tria els algoritmes que potenciaran la teva experiència amb els canals
msgid "Choose your main feeds"
msgstr "Tria els teus canals principals"
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Tria la teva contrasenya"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr "Esborra totes les dades antigues emmagatzemades"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
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:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr "Esborra totes les dades emmagatzemades"
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
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:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "Esborra la cerca"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
msgstr "Esborra totes les dades antigues emmagatzemades"
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
msgstr "Esborra totes les dades emmagatzemades"
@@ -831,21 +863,22 @@ msgstr "clica aquí"
msgid "Click here to open tag menu for {tag}"
msgstr "Clica aquí per obrir el menú d'etiquetes per {tag}"
-#: src/components/RichText.tsx:192
-msgid "Click here to open tag menu for #{tag}"
-msgstr "Clica aquí per obrir el menú d'etiquetes per #{tag}"
+#: src/components/RichText.tsx:198
+#~ msgid "Click here to open tag menu for #{tag}"
+#~ msgstr "Clica aquí per obrir el menú d'etiquetes per #{tag}"
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
msgstr "Clima"
+#: src/components/dialogs/GifSelect.tsx:300
#: src/view/com/modals/ChangePassword.tsx:267
#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "Tanca"
-#: src/components/Dialog/index.web.tsx:106
-#: src/components/Dialog/index.web.tsx:218
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr "Tanca el diàleg actiu"
@@ -857,6 +890,14 @@ msgstr "Tanca l'advertència"
msgid "Close bottom drawer"
msgstr "Tanca el calaix inferior"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr ""
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Tanca la imatge"
@@ -865,7 +906,7 @@ msgstr "Tanca la imatge"
msgid "Close image viewer"
msgstr "Tanca el visor d'imatges"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr "Tanca el peu de la navegació"
@@ -874,7 +915,7 @@ msgstr "Tanca el peu de la navegació"
msgid "Close this dialog"
msgstr "Tanca aquest diàleg"
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr "Tanca la barra de navegació inferior"
@@ -882,7 +923,7 @@ msgstr "Tanca la barra de navegació inferior"
msgid "Closes password update alert"
msgstr "Tanca l'alerta d'actualització de contrasenya"
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr "Tanca l'editor de la publicació i descarta l'esborrany"
@@ -890,7 +931,7 @@ msgstr "Tanca l'editor de la publicació i descarta l'esborrany"
msgid "Closes viewer for header image"
msgstr "Tanca la visualització de la imatge de la capçalera"
-#: src/view/com/notifications/FeedItem.tsx:321
+#: 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"
@@ -902,7 +943,7 @@ msgstr "Comèdia"
msgid "Comics"
msgstr "Còmics"
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Directrius de la comunitat"
@@ -911,11 +952,11 @@ msgstr "Directrius de la comunitat"
msgid "Complete onboarding and start using your account"
msgstr "Finalitza el registre i comença a utilitzar el teu compte"
-#: src/screens/Signup/index.tsx:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "Completa la prova"
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Crea publicacions de fins a {MAX_GRAPHEME_LENGTH} caràcters"
@@ -929,7 +970,7 @@ msgstr "Configura els filtres de continguts per la categoria: {0}"
#: src/components/moderation/LabelPreference.tsx:81
msgid "Configure content filtering setting for category: {name}"
-msgstr ""
+msgstr "Configura els filtres de continguts per la categoria: {name}"
#: src/components/moderation/LabelPreference.tsx:244
msgid "Configured in <0>moderation settings0>."
@@ -938,10 +979,12 @@ 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
+#: src/view/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
msgid "Confirm"
msgstr "Confirma"
@@ -976,10 +1019,13 @@ msgstr "Confirma la teva edat:"
msgid "Confirm your birthdate"
msgstr "Confirma la teva data de naixement"
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
msgid "Confirmation code"
msgstr "Codi de confirmació"
@@ -987,11 +1033,11 @@ msgstr "Codi de confirmació"
#~ msgid "Confirms signing up {email} to the waitlist"
#~ msgstr "Confirma afegir {email} a la llista d'espera"
-#: src/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "Connectant…"
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Contacta amb suport"
@@ -1045,21 +1091,21 @@ msgstr "Teló de fons del menú contextual, fes clic per tancar-lo."
#: 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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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/components/AccountList.tsx:108
msgid "Continue as {0} (currently signed in)"
-msgstr ""
+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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Continua"
@@ -1080,17 +1126,21 @@ msgstr "Cuina"
msgid "Copied"
msgstr "Copiat"
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
msgid "Copied build version to clipboard"
msgstr "Número de versió copiat en memòria"
#: 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:158
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "Copiat en memòria"
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr "Copiat"
+
#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr "Copia la contrasenya d'aplicació"
@@ -1103,12 +1153,17 @@ msgstr "Copia"
msgid "Copy {0}"
msgstr "Copia {0}"
-#: src/view/screens/ProfileList.tsx:388
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr "Copia el codi"
+
+#: 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:228
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
msgid "Copy link to post"
msgstr "Copia l'enllaç a la publicació"
@@ -1116,12 +1171,12 @@ msgstr "Copia l'enllaç a la publicació"
#~ msgid "Copy link to profile"
#~ msgstr "Copia l'enllaç al perfil"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "Copia el text de la publicació"
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Política de drets d'autor"
@@ -1130,7 +1185,7 @@ msgstr "Política de drets d'autor"
msgid "Could not load feed"
msgstr "No es pot carregar el canal"
-#: src/view/screens/ProfileList.tsx:907
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "No es pot carregar la llista"
@@ -1138,31 +1193,34 @@ msgstr "No es pot carregar la llista"
#~ msgid "Country"
#~ msgstr "País"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr "Crea un nou compte de Bluesky"
-#: src/screens/Signup/index.tsx:129
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Crea un compte"
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr "Crea un compte"
+
#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr "Crea una contrasenya d'aplicació"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: 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/components/ReportDialog/SelectReportOptionView.tsx:93
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
msgid "Create report for {0}"
msgstr "Crea un informe per a {0}"
@@ -1179,8 +1237,8 @@ msgstr "Creat {0}"
#~ msgstr "Creat per tu"
#: 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 miniatura. La targeta enllaça a {url}"
+#~ msgid "Creates a card with a thumbnail. The card links to {url}"
+#~ msgstr "Crea una targeta amb una miniatura. La targeta enllaça a {url}"
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
@@ -1196,11 +1254,11 @@ msgid "Custom domain"
msgstr "Domini personalitzat"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr "Personalitza el contingut dels llocs externs."
@@ -1208,8 +1266,8 @@ msgstr "Personalitza el contingut dels llocs externs."
#~ msgid "Danger Zone"
#~ msgstr "Zona de perill"
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr "Fosc"
@@ -1217,15 +1275,15 @@ msgstr "Fosc"
msgid "Dark mode"
msgstr "Mode fosc"
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr "Tema fosc"
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
-msgstr ""
+msgstr "Data de naixement"
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
msgstr "Moderació de depuració"
@@ -1233,13 +1291,13 @@ msgstr "Moderació de depuració"
msgid "Debug panel"
msgstr "Panell de depuració"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: src/view/screens/AppPasswords.tsx:268
-#: src/view/screens/ProfileList.tsx:613
+#: src/view/screens/ProfileList.tsx:615
msgid "Delete"
msgstr "Elimina"
-#: src/view/screens/Settings/index.tsx:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "Elimina el compte"
@@ -1255,7 +1313,7 @@ msgstr "Elimina la contrasenya d'aplicació"
msgid "Delete app password?"
msgstr "Vols eliminar la contrasenya d'aplicació?"
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Elimina la llista"
@@ -1267,24 +1325,24 @@ msgstr "Elimina el meu compte"
#~ msgid "Delete my account…"
#~ msgstr "Elimina el meu compte…"
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
msgid "Delete My Account…"
msgstr "Elimina el meu compte…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:302
-#: src/view/com/util/forms/PostDropdownBtn.tsx:304
+#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
msgid "Delete post"
msgstr "Elimina la publicació"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:610
msgid "Delete this list?"
msgstr "Vols eliminar aquesta llista?"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:314
+#: src/view/com/util/forms/PostDropdownBtn.tsx:340
msgid "Delete this post?"
msgstr "Vols eliminar aquesta publicació?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:64
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Eliminat"
@@ -1307,14 +1365,34 @@ msgstr "Descripció"
#~ msgid "Developer Tools"
#~ msgstr "Eines de desenvolupador"
-#: src/view/com/composer/Composer.tsx:218
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr "Vols dir alguna cosa?"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr "Tènue"
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr ""
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr ""
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+#~ msgid "Disable haptics"
+#~ msgstr "Deshabilita l'hàptic"
+
+#: src/view/screens/Settings/index.tsx:697
+#~ msgid "Disable vibrations"
+#~ msgstr "Desabilita les vibracions"
+
#: src/lib/moderation/useLabelBehaviorDescription.ts:32
#: src/lib/moderation/useLabelBehaviorDescription.ts:42
#: src/lib/moderation/useLabelBehaviorDescription.ts:68
@@ -1322,7 +1400,7 @@ msgstr "Tènue"
msgid "Disabled"
msgstr "Deshabilitat"
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr "Descarta"
@@ -1330,7 +1408,7 @@ msgstr "Descarta"
#~ msgid "Discard draft"
#~ msgstr "Descarta l'esborrany"
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
msgstr "Vols descartar l'esborrany?"
@@ -1348,7 +1426,7 @@ 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"
@@ -1368,9 +1446,9 @@ msgstr "Panell de DNS"
msgid "Does not include nudity."
msgstr "No inclou nuesa."
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
-msgstr ""
+msgstr "No comença ni acaba amb un guionet"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "Domain Value"
@@ -1402,7 +1480,7 @@ msgstr "Domini verificat!"
msgid "Done"
msgstr "Fet"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: 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
@@ -1432,7 +1510,7 @@ msgstr "Fet{extraText}"
msgid "Download CAR file"
msgstr "Descarrega el fitxer CAR"
-#: src/view/com/composer/text-input/TextInput.web.tsx:249
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr "Deixa anar a afegir imatges"
@@ -1485,7 +1563,7 @@ msgctxt "action"
msgid "Edit"
msgstr "Edita"
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
msgstr "Edita l'avatar"
@@ -1495,7 +1573,7 @@ msgstr "Edita l'avatar"
msgid "Edit image"
msgstr "Edita la imatge"
-#: src/view/screens/ProfileList.tsx:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Edita els detalls de la llista"
@@ -1503,9 +1581,9 @@ msgstr "Edita els detalls de la llista"
msgid "Edit Moderation List"
msgstr "Edita la llista de moderació"
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Edita els meus canals"
@@ -1513,18 +1591,18 @@ msgstr "Edita els meus canals"
msgid "Edit my profile"
msgstr "Edita el meu perfil"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "Edita el perfil"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
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"
@@ -1549,6 +1627,10 @@ msgstr "Ensenyament"
msgid "Email"
msgstr "Correu"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr ""
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Adreça de correu"
@@ -1562,14 +1644,28 @@ msgstr "Correu actualitzat"
msgid "Email Updated"
msgstr "Correu actualitzat"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr "Correu verificat"
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
msgid "Email:"
msgstr "Correu:"
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr "Incrusta el codi HTML"
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+msgid "Embed post"
+msgstr "Incrusta la publicació"
+
+#: 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 "Incrusta aquesta publicació al teu lloc web. Copia el fragment següent i enganxa'l al codi HTML del teu lloc web."
+
#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "Habilita només {0}"
@@ -1590,13 +1686,13 @@ 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 ""
+msgstr "Habilita els continguts externs"
#: src/view/com/modals/EmbedConsent.tsx:97
#~ msgid "Enable External Media"
#~ msgstr "Habilita el contingut extern"
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr "Habilita reproductors de contingut per"
@@ -1606,13 +1702,13 @@ msgstr "Activa aquesta opció per a veure només les respostes entre els comptes
#: src/components/dialogs/EmbedConsent.tsx:94
msgid "Enable this source only"
-msgstr ""
+msgstr "Habilita només per aquesta font"
#: src/screens/Moderation/index.tsx:339
msgid "Enabled"
msgstr "Habilitat"
-#: src/screens/Profile/Sections/Feed.tsx:84
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Fi del canal"
@@ -1622,14 +1718,14 @@ msgstr "Posa un nom a aquesta contrasenya d'aplicació"
#: src/screens/Login/SetNewPasswordForm.tsx:139
msgid "Enter a password"
-msgstr ""
+msgstr "Introdueix una contrasenya"
#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
msgid "Enter a word or tag"
msgstr "Introdueix una lletra o etiqueta"
-#: src/view/com/modals/VerifyEmail.tsx:105
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr "Entra el codi de confirmació"
@@ -1658,7 +1754,7 @@ msgstr "Introdueix la teva data de naixement"
#~ msgstr "Introdueix el teu correu"
#: src/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Introdueix el teu correu"
@@ -1682,7 +1778,7 @@ msgstr "Introdueix el teu usuari i contrasenya"
msgid "Error receiving captcha response."
msgstr "Erro en rebre la resposta al captcha."
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Error:"
@@ -1723,8 +1819,8 @@ msgstr "Surt de la cerca"
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"
@@ -1736,12 +1832,12 @@ msgstr "Contingut explícit o potencialment pertorbador."
msgid "Explicit sexual images."
msgstr "Imatges sexuals explícites."
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr "Exporta les meves dades"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr "Exporta les meves dades"
@@ -1751,17 +1847,17 @@ msgid "External Media"
msgstr "Contingut extern"
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:275
-#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr "Preferència del contingut extern"
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr "Configuració del contingut extern"
@@ -1774,12 +1870,16 @@ msgstr "No s'ha pogut crear la contrasenya d'aplicació."
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:125
+#: 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/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+msgstr ""
+
+#: 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"
@@ -1787,7 +1887,7 @@ msgstr "Error en carregar els canals recomanats"
msgid "Failed to save image: {0}"
msgstr "Error en desar la imatge: {0}"
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr "Canal"
@@ -1795,7 +1895,7 @@ msgstr "Canal"
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"
@@ -1804,26 +1904,26 @@ msgstr "Canal fora de línia"
#~ msgstr "Preferències del canal"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:314
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Comentaris"
-#: src/Navigation.tsx:464
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: 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 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ó."
@@ -1849,13 +1949,17 @@ msgstr "Finalitzant"
msgid "Find accounts to follow"
msgstr "Troba comptes per a seguir"
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
-msgstr "Troba usuaris a Bluesky"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:589
+#~ msgid "Find users on Bluesky"
+#~ msgstr "Troba usuaris a Bluesky"
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr "Troba usuaris amb l'eina de cerca de la dreta"
+#: 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:155
msgid "Finding similar accounts..."
@@ -1891,10 +1995,10 @@ msgid "Flip vertically"
msgstr "Gira verticalment"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Segueix"
@@ -1904,7 +2008,7 @@ msgid "Follow"
msgstr "Segueix"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "Segueix {0}"
@@ -1920,17 +2024,17 @@ msgstr "Segueix-los a tots"
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
msgid "Follow Back"
-msgstr ""
+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 a començar. Te'n podem recomanar més basant-nos en els que trobes interessants."
-#: src/view/com/profile/ProfileCard.tsx:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr "Seguit per {0}"
@@ -1942,7 +2046,7 @@ msgstr "Usuaris seguits"
msgid "Followed users only"
msgstr "Només els usuaris seguits"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "et segueix"
@@ -1955,26 +2059,26 @@ msgstr "Seguidors"
#~ msgid "following"
#~ msgstr "seguint"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:93
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr "Seguint {0}"
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
msgid "Following feed preferences"
msgstr "Preferències del canal Seguint"
-#: src/Navigation.tsx:262
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
msgstr "Preferències del canal Seguint"
@@ -1982,7 +2086,7 @@ msgstr "Preferències del canal Seguint"
msgid "Follows you"
msgstr "Et segueix"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr "Et segueix"
@@ -2011,34 +2115,33 @@ msgstr "Per motius de seguretat no podràs tornar-la a veure. Si perds aquesta c
msgid "Forgot Password"
msgstr "He oblidat la contrasenya"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
-msgstr ""
+msgstr "Has oblidat la contrasenya?"
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
-msgstr ""
+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
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
msgstr "De @{sanitizedAuthor}"
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "De <0/>"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "Galeria"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "Comença"
@@ -2052,25 +2155,25 @@ msgstr "Infraccions flagrants de la llei o les condicions del servei"
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: src/view/screens/ProfileList.tsx:918
#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Ves enrere"
-#: src/components/Error.tsx:91
+#: src/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Ves enrere"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "Ves al pas anterior"
@@ -2082,7 +2185,7 @@ msgstr "Ves a l'inici"
msgid "Go Home"
msgstr "Ves a l'inici"
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "Ves a @{queryMaybeHandle}"
@@ -2100,11 +2203,15 @@ msgstr "Mitjans gràfics"
msgid "Handle"
msgstr "Identificador"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
msgstr "Assetjament, troleig o intolerància"
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
msgstr "Etiqueta"
@@ -2112,16 +2219,16 @@ msgstr "Etiqueta"
#~ msgid "Hashtag: {tag}"
#~ msgstr "Etiqueta: {tag}"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
msgstr "Etiqueta: #{tag}"
-#: src/screens/Signup/index.tsx:217
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "Tens problemes?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Ajuda"
@@ -2150,17 +2257,17 @@ msgstr "Aquí tens la teva contrasenya d'aplicació."
#: 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:354
msgid "Hide"
msgstr "Amaga"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: 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:278
+#: src/view/com/util/forms/PostDropdownBtn.tsx:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr "Amaga l'entrada"
@@ -2169,11 +2276,11 @@ msgstr "Amaga l'entrada"
msgid "Hide the content"
msgstr "Amaga el contingut"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr "Vols amagar aquesta entrada?"
-#: src/view/com/notifications/FeedItem.tsx:319
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "Amaga la llista d'usuaris"
@@ -2209,11 +2316,11 @@ msgstr "Tenim problemes per a carregar aquestes dades. Mira a continuació per a
msgid "Hmmmm, we couldn't load that moderation service."
msgstr "No podem carregar el servei de moderació."
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Inici"
@@ -2229,7 +2336,7 @@ msgid "Host:"
msgstr "Allotjament:"
#: src/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
@@ -2244,11 +2351,13 @@ msgstr "Proveïdor d'allotjament"
msgid "How should we open this link?"
msgstr "Com hem d'obrir aquest enllaç?"
-#: src/view/com/modals/VerifyEmail.tsx:214
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "Tinc un codi"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr "Tinc un codi de confirmació"
@@ -2268,11 +2377,11 @@ msgstr "Si no en selecciones cap, és apropiat per a totes les edats."
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:610
+#: 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:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:342
msgid "If you remove this post, you won't be able to recover it."
msgstr "Si esborres aquesta publicació no la podràs recuperar."
@@ -2333,11 +2442,15 @@ msgstr "Introdueix la contrasenya per a eliminar el compte"
#~ msgid "Input phone number for SMS verification"
#~ msgstr "Introdueix el telèfon per la verificació per SMS"
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr "Introdueix la contrasenya lligada a {identifier}"
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
msgid "Input the username or email address you used at signup"
msgstr "Introdueix el nom d'usuari o correu que vas utilitzar per a registrar-te"
@@ -2349,7 +2462,7 @@ msgstr "Introdueix el nom d'usuari o correu que vas utilitzar per a registrar-te
#~ msgid "Input your email to get on the Bluesky waitlist"
#~ msgstr "Introdueix el teu correu per a afegir-te a la llista d'espera de Bluesky"
-#: src/screens/Login/LoginForm.tsx:194
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr "Introdueix la teva contrasenya"
@@ -2357,15 +2470,20 @@ msgstr "Introdueix la teva contrasenya"
msgid "Input your preferred hosting provider"
msgstr "Introdeix el teu proveïdor d'allotjament preferit"
-#: src/screens/Signup/StepHandle.tsx:62
+#: 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:221
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr "Registre de publicació no vàlid o no admès"
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr "Nom d'usuari o contrasenya incorrectes"
@@ -2401,8 +2519,7 @@ msgstr "Codis d'invitació: 1 disponible"
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:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "Feines"
@@ -2435,11 +2552,11 @@ msgstr "Etiquetat per {0}."
msgid "Labeled by the author."
msgstr "Etiquetat per l'autor."
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
msgstr "Etiquetes"
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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."
@@ -2459,16 +2576,16 @@ msgstr "Etiquetes al teu contingut"
msgid "Language selection"
msgstr "Tria l'idioma"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr "Configuració d'idioma"
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Configuració d'idioma"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "Idiomes"
@@ -2476,6 +2593,11 @@ msgstr "Idiomes"
#~ msgid "Last step!"
#~ msgstr "Últim pas"
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr "El més recent"
+
#: src/view/com/util/moderation/ContentHider.tsx:103
#~ msgid "Learn more"
#~ msgstr "Més informació"
@@ -2514,7 +2636,7 @@ msgstr "Sortint de Bluesky"
msgid "left to go."
msgstr "queda."
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "L'emmagatzematge heretat s'ha esborrat, cal que reinicieu l'aplicació ara."
@@ -2532,22 +2654,22 @@ msgstr "Som-hi!"
#~ msgid "Library"
#~ msgstr "Biblioteca"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr "Clar"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "M'agrada"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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/components/LikesDialog.tsx:87
-#: src/Navigation.tsx:201
-#: src/Navigation.tsx:206
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
msgid "Liked by"
msgstr "Li ha agradat a"
@@ -2565,13 +2687,13 @@ msgstr "Li ha agradat a {0} {1}"
msgid "Liked by {count} {0}"
msgstr "Li ha agradat a {count} {0}"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "els hi ha agradat el teu canal personalitzat"
@@ -2579,19 +2701,19 @@ 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:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "li ha agradat la teva publicació"
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr "M'agrades"
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr "M'agrades a aquesta publicació"
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr "Llista"
@@ -2599,7 +2721,7 @@ msgstr "Llista"
msgid "List Avatar"
msgstr "Avatar de la llista"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Llista bloquejada"
@@ -2607,11 +2729,11 @@ msgstr "Llista bloquejada"
msgid "List by {0}"
msgstr "Llista per {0}"
-#: src/view/screens/ProfileList.tsx:355
+#: 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"
@@ -2619,20 +2741,20 @@ msgstr "Llista silenciada"
msgid "List Name"
msgstr "Nom de la llista"
-#: src/view/screens/ProfileList.tsx:325
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Llista desbloquejada"
-#: src/view/screens/ProfileList.tsx:297
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Llista no silenciada"
-#: src/Navigation.tsx:114
-#: src/view/screens/Profile.tsx:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "Llistes"
@@ -2645,10 +2767,10 @@ msgstr "Llistes"
msgid "Load new notifications"
msgstr "Carrega noves notificacions"
-#: src/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Carrega noves publicacions"
@@ -2660,7 +2782,7 @@ msgstr "Carregant…"
#~ msgid "Local dev server"
#~ msgstr "Servidor de desenvolupament local"
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr "Registre"
@@ -2679,12 +2801,16 @@ msgstr "Visibilitat pels usuaris no connectats"
msgid "Login to account that is not listed"
msgstr "Accedeix a un compte que no està llistat"
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+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 "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/screens/Login/SetNewPasswordForm.tsx:116
msgid "Looks like XXXXX-XXXXX"
-msgstr ""
+msgstr "Té l'aspecte XXXXX-XXXXX"
#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
@@ -2702,7 +2828,8 @@ msgstr "Gestiona les teves etiquetes i paraules silenciades"
#~ msgid "May only contain letters and numbers"
#~ msgstr "Només pot tenir lletres i números"
-#: src/view/screens/Profile.tsx:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr "Contingut"
@@ -2714,8 +2841,8 @@ msgstr "usuaris mencionats"
msgid "Mentioned users"
msgstr "Usuaris mencionats"
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "Menú"
@@ -2731,12 +2858,12 @@ msgstr "Missatge del servidor: {0}"
msgid "Misleading Account"
msgstr "Compte enganyòs"
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Moderació"
@@ -2749,13 +2876,13 @@ msgstr "Detalls de la moderació"
msgid "Moderation list by {0}"
msgstr "Llista de moderació per {0}"
-#: src/view/screens/ProfileList.tsx:789
+#: 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:787
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Llista de moderació teva"
@@ -2771,16 +2898,16 @@ msgstr "S'ha actualitzat la llista de moderació"
msgid "Moderation lists"
msgstr "Llistes de moderació"
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Llistes de moderació"
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr "Configuració de moderació"
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
msgstr "Estats de moderació"
@@ -2801,7 +2928,7 @@ msgstr "Més"
msgid "More feeds"
msgstr "Més canals"
-#: src/view/screens/ProfileList.tsx:599
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Més opcions"
@@ -2830,7 +2957,7 @@ msgstr "Silencia {truncatedTag}"
msgid "Mute Account"
msgstr "Silenciar el compte"
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Silencia els comptes"
@@ -2850,12 +2977,12 @@ msgstr "Silencia només a les etiquetes"
msgid "Mute in text & tags"
msgstr "Silencia a les etiquetes i al text"
-#: 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 "Silencia la llista"
-#: src/view/screens/ProfileList.tsx:619
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "Vols silenciar aquests comptes?"
@@ -2871,13 +2998,13 @@ msgstr "Silencia aquesta paraula en el text de les publicacions i a les etiquete
msgid "Mute this word in tags only"
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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
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:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
msgstr "Silencia paraules i etiquetes"
@@ -2889,12 +3016,12 @@ msgstr "Silenciada"
msgid "Muted accounts"
msgstr "Comptes silenciats"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: 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."
@@ -2906,7 +3033,7 @@ msgstr "Silenciat per \"{0}\""
msgid "Muted words & tags"
msgstr "Paraules i etiquetes silenciades"
-#: 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 "Silenciar és privat. Els comptes silenciats poden interactuar amb tu, però tu no veuràs les seves publicacions ni rebràs notificacions seves."
@@ -2915,7 +3042,7 @@ msgstr "Silenciar és privat. Els comptes silenciats poden interactuar amb tu, p
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"
@@ -2923,11 +3050,11 @@ msgstr "Els meus canals"
msgid "My Profile"
msgstr "El meu perfil"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
msgstr "Els meus canals desats"
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
msgid "My Saved Feeds"
msgstr "Els meus canals desats"
@@ -2955,7 +3082,7 @@ msgid "Nature"
msgstr "Natura"
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Navega a la pantalla següent"
@@ -2964,7 +3091,7 @@ msgstr "Navega a la pantalla següent"
msgid "Navigates to your profile"
msgstr "Navega al teu perfil"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
msgid "Need to report a copyright violation?"
msgstr "Necessites informar d'una infracció dels drets d'autor?"
@@ -3011,17 +3138,17 @@ msgstr "Nova contrasenya"
msgid "New Password"
msgstr "Nova contrasenya"
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
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:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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ó"
@@ -3049,12 +3176,12 @@ msgstr "Notícies"
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -3078,8 +3205,8 @@ msgstr "Següent imatge"
msgid "No"
msgstr "No"
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Cap descripció"
@@ -3087,13 +3214,17 @@ msgstr "Cap descripció"
msgid "No DNS Panel"
msgstr "No hi ha panell de DNS"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr "Ja no segueixes a {0}"
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
-msgstr ""
+msgstr "No pot tenir més de 253 caràcters"
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
@@ -3104,20 +3235,24 @@ msgstr "Encara no tens cap notificació"
msgid "No result"
msgstr "Cap resultat"
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
msgid "No results found"
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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "No s'han trobat resultats per {query}"
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr ""
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
@@ -3140,19 +3275,19 @@ msgstr "Nuesa no sexual"
msgid "Not Applicable."
msgstr "No aplicable."
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "No s'ha trobat"
-#: src/view/com/modals/VerifyEmail.tsx:246
-#: src/view/com/modals/VerifyEmail.tsx:252
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr "Ara mateix no"
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
msgstr "Nota sobre compartir"
@@ -3160,13 +3295,13 @@ msgstr "Nota sobre compartir"
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:469
+#: src/Navigation.tsx:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Notificacions"
@@ -3176,21 +3311,22 @@ msgstr "Nuesa"
#: src/lib/moderation/useReportOptions.ts:71
msgid "Nudity or adult content not labeled as such"
-msgstr ""
+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:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
-msgstr ""
+msgstr "de"
#: src/lib/moderation/useLabelBehaviorDescription.ts:11
msgid "Off"
msgstr "Apagat"
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "Ostres!"
@@ -3199,7 +3335,7 @@ msgid "Oh no! Something went wrong."
msgstr "Ostres! Alguna cosa ha fallat."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
msgstr "D'acord"
@@ -3211,11 +3347,11 @@ msgstr "D'acord"
msgid "Oldest replies first"
msgstr "Respostes més antigues primer"
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr "Restableix la incorporació"
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr "Falta el text alternatiu a una o més imatges."
@@ -3223,17 +3359,17 @@ msgstr "Falta el text alternatiu a una o més imatges."
msgid "Only {0} can reply."
msgstr "Només {0} poden respondre."
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
-msgstr ""
+msgstr "Només pot tenir lletres, nombres i guionets"
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
msgstr "Ostres, alguna cosa ha anat malament!"
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Ostres!"
@@ -3245,16 +3381,16 @@ msgstr "Obre"
#~ msgid "Open content filtering settings"
#~ msgstr "Obre la configuració del filtre de contingut"
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr "Obre el selector d'emojis"
-#: src/view/screens/ProfileFeed.tsx:300
+#: 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:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr "Obre els enllaços al navegador de l'aplicació"
@@ -3266,20 +3402,20 @@ msgstr "Obre la configuració de les paraules i etiquetes silenciades"
#~ msgid "Open muted words settings"
#~ msgstr "Obre la configuració de les paraules silenciades"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Obre la navegació"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:183
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
msgstr "Obre el menú de les opcions de publicació"
-#: src/view/screens/Settings/index.tsx:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr "Obre la pàgina d'historial"
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
msgstr "Obre el registre del sistema"
@@ -3287,15 +3423,19 @@ msgstr "Obre el registre del sistema"
msgid "Opens {numItems} options"
msgstr "Obre {numItems} opcions"
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr ""
+
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
msgstr "Obre detalls addicionals per una entrada de depuració"
-#: src/view/com/notifications/FeedItem.tsx:353
+#: 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:78
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr "Obre la càmera del dispositiu"
@@ -3303,11 +3443,11 @@ msgstr "Obre la càmera del dispositiu"
msgid "Opens composer"
msgstr "Obre el compositor"
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr "Obre la configuració d'idioma"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
msgid "Opens device photo gallery"
msgstr "Obre la galeria fotogràfica del dispositiu"
@@ -3315,19 +3455,17 @@ msgstr "Obre la galeria fotogràfica del dispositiu"
#~ 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:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr "Obre la configuració per les incrustacions externes"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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"
@@ -3339,6 +3477,10 @@ msgstr "Obre el procés per a iniciar sessió a un compte existent de Bluesky"
#~ msgid "Opens following list"
#~ msgstr "Obre la llista de seguits"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr ""
+
#: src/view/screens/Settings.tsx:412
#~ msgid "Opens invite code list"
#~ msgstr "Obre la llista de codis d'invitació"
@@ -3347,7 +3489,7 @@ msgstr "Obre el procés per a iniciar sessió a un compte existent de Bluesky"
msgid "Opens list of invite codes"
msgstr "Obre la llista de codis d'invitació"
-#: src/view/screens/Settings/index.tsx:798
+#: src/view/screens/Settings/index.tsx:757
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"
@@ -3355,19 +3497,19 @@ msgstr "Obre el modal per a la confirmació de l'eliminació del compte. Requere
#~ 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:756
+#: src/view/screens/Settings/index.tsx:715
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:718
+#: src/view/screens/Settings/index.tsx:670
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:779
+#: src/view/screens/Settings/index.tsx:738
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:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
msgstr "Obre el modal per a verificar el correu"
@@ -3375,24 +3517,24 @@ msgstr "Obre el modal per a verificar el correu"
msgid "Opens modal for using custom domain"
msgstr "Obre el modal per a utilitzar un domini personalitzat"
-#: src/view/screens/Settings/index.tsx:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "Obre la configuració de la moderació"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
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 a editar els canals desats"
-#: src/view/screens/Settings/index.tsx:597
+#: src/view/screens/Settings/index.tsx:549
msgid "Opens screen with all saved feeds"
msgstr "Obre la pantalla amb tots els canals desats"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:648
msgid "Opens the app password settings"
msgstr "Obre la configuració de les contrasenyes d'aplicació"
@@ -3400,7 +3542,7 @@ msgstr "Obre la 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:554
+#: src/view/screens/Settings/index.tsx:506
msgid "Opens the Following feed preferences"
msgstr "Obre les preferències del canal de Seguint"
@@ -3412,16 +3554,16 @@ msgstr "Obre les preferències del canal de Seguint"
msgid "Opens the linked website"
msgstr "Obre la web enllaçada"
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr "Obre la pàgina de l'historial"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "Obre la pàgina de registres del sistema"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "Obre les preferències dels fils de debat"
@@ -3429,7 +3571,7 @@ msgstr "Obre les preferències dels fils de debat"
msgid "Option {0} of {numItems}"
msgstr "Opció {0} de {numItems}"
-#: src/components/ReportDialog/SubmitView.tsx:162
+#: src/components/ReportDialog/SubmitView.tsx:160
msgid "Optionally provide additional information below:"
msgstr "Opcionalment, proporciona informació addicional a continuació:"
@@ -3453,7 +3595,7 @@ msgstr "Un altre compte"
msgid "Other..."
msgstr "Un altre…"
-#: src/components/Lists.tsx:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Pàgina no trobada"
@@ -3462,8 +3604,8 @@ msgstr "Pàgina no trobada"
msgid "Page Not Found"
msgstr "Pàgina no trobada"
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3481,11 +3623,19 @@ msgstr "Contrasenya actualitzada"
msgid "Password updated!"
msgstr "Contrasenya actualitzada!"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr "Gent"
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr "Persones seguides per @{0}"
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr "Persones seguint a @{0}"
@@ -3509,23 +3659,31 @@ msgstr "Mascotes"
msgid "Pictures meant for adults."
msgstr "Imatges destinades a adults."
-#: src/view/screens/ProfileFeed.tsx:292
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "Fixa a l'inici"
-#: src/view/screens/ProfileFeed.tsx:295
+#: src/view/screens/ProfileFeed.tsx:306
msgid "Pin to Home"
msgstr "Fixa a l'Inici"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Canals de notícies fixats"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Play"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "Reprodueix {0}"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3595,11 +3753,11 @@ msgstr "Explica per què creieu que aquesta etiqueta ha estat aplicada incorrect
#~ msgid "Please tell us why you think this decision was incorrect."
#~ msgstr "Por favor, dinos por qué crees que esta decisión fue incorrecta."
-#: src/view/com/modals/VerifyEmail.tsx:101
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr "Verifica el teu correu"
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr "Espera que es generi la targeta de l'enllaç"
@@ -3615,8 +3773,8 @@ msgstr "Pornografia"
#~ msgid "Pornography"
#~ msgstr "Pornografia"
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr "Publica"
@@ -3632,17 +3790,17 @@ msgstr "Publicació"
#~ msgid "Post"
#~ msgstr "Publicació"
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr "Publicació per {0}"
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
msgid "Post by @{0}"
msgstr "Publicació per @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:105
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Publicació eliminada"
@@ -3677,7 +3835,7 @@ msgstr "Publicació no trobada"
msgid "posts"
msgstr "publicacions"
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr "Publicacions"
@@ -3693,13 +3851,13 @@ msgstr "Publicacions amagades"
msgid "Potentially Misleading Link"
msgstr "Enllaç potencialment enganyós"
-#: src/components/forms/HostingProvider.tsx:45
+#: src/components/forms/HostingProvider.tsx:46
msgid "Press to change hosting provider"
-msgstr ""
+msgstr "Prem per canviar el proveïdor d'allotjament"
-#: src/components/Error.tsx:74
-#: src/components/Lists.tsx:80
-#: src/screens/Signup/index.tsx:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
msgstr "Prem per a tornar-ho a provar"
@@ -3715,16 +3873,16 @@ msgstr "Idioma principal"
msgid "Prioritize Your Follows"
msgstr "Prioritza els usuaris que segueixes"
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Privacitat"
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Política de privacitat"
@@ -3733,15 +3891,15 @@ msgid "Processing..."
msgstr "Processant…"
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
msgstr "perfil"
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Perfil"
@@ -3749,7 +3907,7 @@ msgstr "Perfil"
msgid "Profile updated"
msgstr "Perfil actualitzat"
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "Protegeix el teu compte verificant el teu correu."
@@ -3765,11 +3923,11 @@ msgstr "Llistes d'usuaris per a silenciar o bloquejar en massa, públiques i per
msgid "Public, shareable lists which can drive feeds."
msgstr "Llistes que poden nodrir canals, públiques i per a compartir."
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr "Publica"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr "Publica la resposta"
@@ -3799,15 +3957,15 @@ msgstr "Aleatori (també conegut com a \"Poster's Roulette\")"
msgid "Ratios"
msgstr "Proporcions"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
msgstr "Cerques recents"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: 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"
@@ -3828,7 +3986,7 @@ msgstr "Elimina"
msgid "Remove account"
msgstr "Elimina el compte"
-#: src/view/com/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
msgstr "Elimina l'avatar"
@@ -3846,8 +4004,8 @@ msgstr "Vols eliminar el canal?"
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Elimina dels meus canals"
@@ -3859,7 +4017,7 @@ msgstr "Vols eliminar-lo dels teus canals?"
msgid "Remove image"
msgstr "Elimina la imatge"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr "Elimina la visualització prèvia de la imatge"
@@ -3892,15 +4050,15 @@ msgstr "Elimina de la llista"
msgid "Removed from my feeds"
msgstr "Eliminat dels meus canals"
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
msgstr "Eliminat dels teus canals"
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr "Elimina la miniatura per defecte de {0}"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr "Respostes"
@@ -3908,7 +4066,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:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr "Respon"
@@ -3917,11 +4075,17 @@ msgstr "Respon"
msgid "Reply Filters"
msgstr "Filtres de resposta"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
+#: 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/post/Post.tsx:178
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
-msgid "Reply to <0/>"
-msgstr "Resposta a <0/>"
+msgid "Reply to <0><1/>0>"
+msgstr ""
#: src/view/com/modals/report/Modal.tsx:166
#~ msgid "Report {collectionName}"
@@ -3934,19 +4098,19 @@ msgstr "Informa del compte"
#: src/components/ReportDialog/index.tsx:49
msgid "Report dialog"
-msgstr ""
+msgstr "Diàleg de l'informe"
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "Informa del canal"
-#: src/view/screens/ProfileList.tsx:429
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Informa de la llista"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:292
-#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "Informa de la publicació"
@@ -3995,7 +4159,7 @@ msgstr "Republica o cita la publicació"
msgid "Reposted By"
msgstr "Republicat per"
-#: src/view/com/posts/FeedItem.tsx:197
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "Republicat per {0}"
@@ -4004,14 +4168,18 @@ msgstr "Republicat per {0}"
#~ msgstr "Republicada per {0}"
#: src/view/com/posts/FeedItem.tsx:214
-msgid "Reposted by <0/>"
-msgstr "Republicada per <0/>"
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Republicada per <0/>"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr "Republicat per <0><1/>0>"
+
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "ha republicat la teva publicació"
-#: src/view/com/post-thread/PostThreadItem.tsx:187
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr "Republicacions d'aquesta publicació"
@@ -4029,14 +4197,23 @@ msgstr "Demana un canvi"
msgid "Request Code"
msgstr "Demana un codi"
-#: src/view/screens/Settings/index.tsx:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr "Requereix un text alternatiu abans de publicar"
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr ""
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Requerit per aquest proveïdor"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr ""
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Codi de restabliment"
@@ -4049,8 +4226,8 @@ msgstr "Codi de restabliment"
#~ msgid "Reset onboarding"
#~ msgstr "Restableix la incorporació"
-#: src/view/screens/Settings/index.tsx:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr "Restableix l'estat de la incorporació"
@@ -4062,20 +4239,20 @@ msgstr "Restableix la contrasenya"
#~ msgid "Reset preferences"
#~ msgstr "Restableix les preferències"
-#: src/view/screens/Settings/index.tsx:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr "Restableix l'estat de les preferències"
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr "Restableix l'estat de la incorporació"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr "Restableix l'estat de les preferències"
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr "Torna a intentar iniciar sessió"
@@ -4084,13 +4261,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/components/Error.tsx:79
-#: src/components/Lists.tsx:91
-#: src/screens/Login/LoginForm.tsx:234
-#: src/screens/Login/LoginForm.tsx:241
+#: src/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
@@ -4100,8 +4277,8 @@ msgstr "Torna-ho a provar"
#~ msgid "Retry."
#~ msgstr "Torna-ho a provar"
-#: src/components/Error.tsx:86
-#: src/view/screens/ProfileList.tsx:917
+#: src/components/Error.tsx:95
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Torna a la pàgina anterior"
@@ -4151,12 +4328,12 @@ msgstr "Desa el canvi d'identificador"
msgid "Save image crop"
msgstr "Desa la imatge retallada"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: 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:122
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "Canals desats"
@@ -4164,7 +4341,7 @@ msgstr "Canals desats"
msgid "Saved to your camera roll."
msgstr "S'ha desat a la teva galeria d'imatges."
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
msgstr "S'ha desat als teus canals."
@@ -4184,28 +4361,28 @@ msgstr "Desa la configuració de retall d'imatges"
msgid "Science"
msgstr "Ciència"
-#: src/view/screens/ProfileList.tsx:873
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Desplaça't cap a dalt"
-#: src/Navigation.tsx:459
+#: src/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Cerca"
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "Cerca per \"{query}\""
@@ -4232,6 +4409,14 @@ msgstr "Cerca totes les publicacions amb l'etiqueta {displayTag}"
msgid "Search for users"
msgstr "Cerca usuaris"
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr ""
+
#: src/view/com/modals/ChangeEmail.tsx:110
msgid "Security Step Required"
msgstr "Es requereix un pas de seguretat"
@@ -4260,13 +4445,18 @@ msgstr "Mostra les publicacions amb <0>{displayTag}0> d'aquest usuari"
#~ msgid "See <0>{tag}0> posts by this user"
#~ 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 "Mostra el perfil"
+
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr "Consulta aquesta guia"
#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
-msgid "See what's next"
-msgstr "Què més hi ha"
+#~ msgid "See what's next"
+#~ msgstr "Què més hi ha"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
@@ -4274,7 +4464,7 @@ msgstr "Selecciona {item}"
#: src/screens/Login/ChooseAccountForm.tsx:61
msgid "Select account"
-msgstr ""
+msgstr "Selecciona el compte"
#: src/view/com/modals/ServerInput.tsx:75
#~ msgid "Select Bluesky Social"
@@ -4284,6 +4474,14 @@ msgstr ""
msgid "Select from an existing account"
msgstr "Selecciona d'un compte existent"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
msgstr "Selecciona els idiomes"
@@ -4305,7 +4503,7 @@ msgstr "Selecciona l'opció {i} de {numItems}"
msgid "Select some accounts below to follow"
msgstr "Selecciona alguns d'aquests comptes per a seguir-los"
-#: src/components/ReportDialog/SubmitView.tsx:135
+#: 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"
@@ -4333,9 +4531,9 @@ msgstr "Selecciona quins idiomes vols que incloguin els canals a què estàs sub
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:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
-msgstr ""
+msgstr "Selecciona la teva data de naixement"
#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
@@ -4357,8 +4555,8 @@ msgstr "Selecciona els teus canals algorítmics primaris"
msgid "Select your secondary algorithmic feeds"
msgstr "Selecciona els teus canals algorítmics secundaris"
-#: src/view/com/modals/VerifyEmail.tsx:202
-#: src/view/com/modals/VerifyEmail.tsx:204
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "Envia correu de confirmació"
@@ -4375,13 +4573,13 @@ msgstr "Envia correu"
#~ msgid "Send Email"
#~ msgstr "Envia correu"
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Envia comentari"
-#: 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 "Envia informe"
@@ -4393,6 +4591,11 @@ msgstr "Envia informe"
msgid "Send report to {0}"
msgstr "Envia informe a {0}"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
+msgstr ""
+
#: 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"
@@ -4475,23 +4678,23 @@ msgstr "Configura el teu compte"
msgid "Sets Bluesky username"
msgstr "Estableix un nom d'usuari de Bluesky"
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
msgstr "Estableix el tema a fosc"
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
msgstr "Estableix el tema a clar"
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
msgstr "Estableix el tema a la configuració del sistema"
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
msgstr "Estableix el tema fosc al tema fosc"
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
msgstr "Estableix el tema fosc al tema atenuat"
@@ -4520,11 +4723,11 @@ msgstr "Estableix la relació d'aspecte de la imatge com a ampla"
#~ msgid "Sets server for the Bluesky client"
#~ msgstr "Estableix el servidor pel cient de Bluesky"
-#: src/Navigation.tsx:139
-#: src/view/screens/Settings/index.tsx:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Configuració"
@@ -4543,38 +4746,38 @@ msgstr "Comparteix"
#: 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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Comparteix"
#: src/view/com/profile/ProfileMenu.tsx:373
-#: src/view/com/util/forms/PostDropdownBtn.tsx:347
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
msgstr "Comparteix de totes maneres"
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Comparteix el canal"
#: src/view/com/modals/LinkWarning.tsx:89
#: src/view/com/modals/LinkWarning.tsx:95
msgid "Share Link"
-msgstr ""
+msgstr "Comparteix l'enllaç"
#: src/view/com/modals/LinkWarning.tsx:92
msgid "Shares the linked website"
-msgstr ""
+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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr "Mostra"
@@ -4600,13 +4803,13 @@ msgstr "Mostra la insígnia i filtra-ho dels canals"
#~ msgid "Show embeds from {0}"
#~ msgstr "Mostra els incrustats de {0}"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr "Mostra seguidors semblants a {0}"
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr "Mostra més"
@@ -4663,7 +4866,7 @@ msgstr "Mostra les republicacions al canal Seguint"
msgid "Show the content"
msgstr "Mostra el contingut"
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Mostra usuaris"
@@ -4683,24 +4886,24 @@ msgstr "Mostra l'advertiment i filtra-ho del canals"
msgid "Shows posts from {0} in your feed"
msgstr "Mostra les publicacions de {0} al teu canal"
+#: 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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr "Inicia sessió"
@@ -4718,28 +4921,36 @@ msgstr "Inicia sessió com a {0}"
msgid "Sign in as..."
msgstr "Inicia sessió com a …"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr "Inicia sessió o crea el teu compte per unir-te a la conversa"
+
#: src/view/com/auth/login/LoginForm.tsx:140
#~ msgid "Sign into"
#~ msgstr "Inicia sessió en"
-#: src/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr "Inicia sessió o crea el teu compte per unir-te a la conversa"
+
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "Tanca sessió"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
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 a unir-te a la conversa"
@@ -4748,7 +4959,7 @@ msgstr "Registra't o inicia sessió per a unir-te a la conversa"
msgid "Sign-in Required"
msgstr "Es requereix iniciar sessió"
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "S'ha iniciat sessió com a"
@@ -4784,7 +4995,7 @@ msgstr "Desenvolupament de programari"
#: src/components/ReportDialog/index.tsx:59
#: src/screens/Moderation/index.tsx:114
-#: src/screens/Profile/Sections/Labels.tsx:76
+#: src/screens/Profile/Sections/Labels.tsx:87
msgid "Something went wrong, please try again."
msgstr "Alguna cosa ha fallat, torna-ho a provar."
@@ -4796,7 +5007,7 @@ msgstr "Alguna cosa ha fallat, torna-ho a provar."
#~ 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 iniciar-la."
@@ -4832,24 +5043,24 @@ msgstr "Quadrat"
#~ msgid "Staging"
#~ msgstr "Posada en escena"
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "Pàgina d'estat"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
-msgstr ""
+msgstr "Pas"
#: src/view/com/auth/create/StepHeader.tsx:22
#~ msgid "Step {0} of {numSteps}"
#~ msgstr "Pas {0} de {numSteps}"
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
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:211
-#: src/view/screens/Settings/index.tsx:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr "Historial"
@@ -4858,15 +5069,15 @@ msgstr "Historial"
msgid "Submit"
msgstr "Envia"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Subscriure's"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: 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:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
msgstr "Subscriu-te a l'Etiquetador"
@@ -4875,15 +5086,15 @@ msgstr "Subscriu-te a l'Etiquetador"
msgid "Subscribe to the {0} feed"
msgstr "Subscriu-te al canal {0}"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
msgid "Subscribe to this labeler"
msgstr "Subscriu-te a aquest etiquetador"
-#: src/view/screens/ProfileList.tsx:586
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "Subscriure's a la llista"
-#: src/view/screens/Search/Search.tsx:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "Usuaris suggerits per a seguir"
@@ -4895,7 +5106,7 @@ msgstr "Suggeriments per tu"
msgid "Suggestive"
msgstr "Suggerent"
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
@@ -4905,24 +5116,24 @@ msgstr "Suport"
#~ msgid "Swipe up to see more"
#~ msgstr "Llisca cap amunt per a veure'n més"
-#: src/components/dialogs/SwitchAccount.tsx:46
-#: src/components/dialogs/SwitchAccount.tsx:49
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "Canvia el compte"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr "Canvia a {0}"
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
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:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr "Sistema"
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "Registres del sistema"
@@ -4954,11 +5165,11 @@ msgstr "Tecnologia"
msgid "Terms"
msgstr "Condicions"
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Condicions del servei"
@@ -4976,7 +5187,7 @@ msgstr "text"
msgid "Text input field"
msgstr "Camp d'introducció de text"
-#: src/components/ReportDialog/SubmitView.tsx:78
+#: src/components/ReportDialog/SubmitView.tsx:76
msgid "Thank you. Your report has been sent."
msgstr "Gràcies. El teu informe s'ha enviat."
@@ -4984,11 +5195,11 @@ msgstr "Gràcies. El teu informe s'ha enviat."
msgid "That contains the following:"
msgstr "Això conté els següents:"
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "Aquest identificador ja està agafat."
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: 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."
@@ -5042,8 +5253,8 @@ msgstr "Les condicions del servei han estat traslladades a"
msgid "There are many feeds to try:"
msgstr "Hi ha molts canals per a provar:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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 a contactar amb el servidor, comprova la teva connexió a internet i torna-ho a provar."
@@ -5051,15 +5262,19 @@ msgstr "Hi ha hagut un problema per a contactar amb el servidor, comprova la tev
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
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:218
+#: 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 a actualitzar els teus canals, comprova la teva connexió a internet i torna-ho a provar."
-#: src/view/screens/ProfileFeed.tsx:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+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 "Hi ha hagut un problema per a contactar amb el servidor"
@@ -5082,12 +5297,12 @@ msgstr "Hi ha hagut un problema en obtenir les notificacions. Toca aquí per a t
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 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 a tornar-ho a provar."
-#: 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 "S'ha produït un problema en enviar el teu informe. Comprova la teva connexió a Internet."
@@ -5099,9 +5314,9 @@ msgstr "Hi ha hagut un problema en sincronitzar les teves preferències amb el s
msgid "There was an issue with fetching your app passwords"
msgstr "Hi ha hagut un problema en obtenir les teves contrasenyes d'aplicació"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -5113,14 +5328,15 @@ msgstr "Hi ha hagut un problema en obtenir les teves contrasenyes d'aplicació"
msgid "There was an issue! {0}"
msgstr "Hi ha hagut un problema! {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 "Hi ha hagut un problema. Comprova la teva connexió a internet i torna-ho a provar."
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
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!"
@@ -5184,9 +5400,9 @@ msgstr "Aquesta funció està en versió beta. Podeu obtenir més informació so
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/screens/Profile/Sections/Feed.tsx:50
-#: src/view/screens/ProfileFeed.tsx:477
-#: 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 "Aquest canal està buit!"
@@ -5198,7 +5414,7 @@ msgstr "Aquest canal està buit! Necessites seguir més usuaris o modificar la t
msgid "This information is not shared with other users."
msgstr "Aquesta informació no es comparteix amb altres usuaris."
-#: src/view/com/modals/VerifyEmail.tsx:119
+#: src/view/com/modals/VerifyEmail.tsx:127
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "Això és important si mai necessites canviar el teu correu o restablir la contrasenya."
@@ -5210,7 +5426,7 @@ msgstr "Això és important si mai necessites canviar el teu correu o restablir
msgid "This label was applied by {0}."
msgstr "Aquesta etiqueta l'ha aplicat {0}."
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: 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."
@@ -5218,7 +5434,7 @@ msgstr "Aquest etiquetador no ha declarat quines etiquetes publica i pot ser que
msgid "This link is taking you to the following website:"
msgstr "Aquest enllaç et porta a la web:"
-#: src/view/screens/ProfileList.tsx:853
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "Aquesta llista està buida!"
@@ -5230,16 +5446,16 @@ msgstr "Aquest servei de moderació no està disponible. Mira a continuació per
msgid "This name is already in use"
msgstr "Aquest nom ja està en ús"
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr "Aquesta publicació ha estat esborrada."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:352
msgid "This post will be hidden from feeds."
msgstr "Aqeusta publicació no es mostrarà als canals."
@@ -5304,12 +5520,12 @@ msgstr "Això suprimirà {0} de les teves paraules silenciades. Sempre la pots t
#~ msgid "This will hide this post from your feeds."
#~ msgstr "Això amagarà aquesta publicació dels teus canals."
-#: src/view/screens/Settings/index.tsx:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
msgstr "Preferències dels fils de debat"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "Preferències dels fils de debat"
@@ -5317,10 +5533,14 @@ msgstr "Preferències dels fils de debat"
msgid "Threaded Mode"
msgstr "Mode fils de debat"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr "Preferències dels fils de debat"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr ""
+
#: src/components/ReportDialog/SelectLabelerView.tsx:33
msgid "To whom would you like to send this report?"
msgstr "A qui vols enviar aquest informe?"
@@ -5337,14 +5557,19 @@ msgstr "Commuta el menú desplegable"
msgid "Toggle to enable or disable adult content"
msgstr "Communta per a habilitar o deshabilitar el contingut per adults"
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr "Superior"
+
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Transformacions"
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "Tradueix"
@@ -5357,35 +5582,39 @@ msgstr "Torna-ho a provar"
#~ msgid "Try again"
#~ msgstr "Torna-ho a provar"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr ""
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
msgstr "Tipus:"
-#: src/view/screens/ProfileList.tsx:478
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Desbloqueja la llista"
-#: src/view/screens/ProfileList.tsx:461
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Deixa de silenciar la llista"
#: src/screens/Login/ForgotPasswordForm.tsx:74
#: src/screens/Login/index.tsx:78
-#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:181
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
-#: src/view/screens/ProfileList.tsx:572
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Desbloqueja"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr "Desbloqueja"
@@ -5395,7 +5624,7 @@ msgstr "Desbloqueja"
msgid "Unblock Account"
msgstr "Desbloqueja el compte"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
msgstr "Vols desbloquejar el compte?"
@@ -5408,7 +5637,7 @@ msgid "Undo repost"
msgstr "Desfés la republicació"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
msgstr "Deixa de seguir"
@@ -5417,7 +5646,7 @@ msgctxt "action"
msgid "Unfollow"
msgstr "Deixa de seguir"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
msgid "Unfollow {0}"
msgstr "Deixa de seguir a {0}"
@@ -5430,16 +5659,16 @@ msgstr "Deixa de seguir el compte"
#~ 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:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Desfés el m'agrada"
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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:579
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "Deixa de silenciar"
@@ -5460,21 +5689,21 @@ msgstr "Deixa de silenciar totes les publicacions amb {displayTag}"
#~ msgid "Unmute all {tag} posts"
#~ 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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "Deixa de silenciar el fil de debat"
-#: src/view/screens/ProfileFeed.tsx:295
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Deixa de fixar"
-#: src/view/screens/ProfileFeed.tsx:292
+#: src/view/screens/ProfileFeed.tsx:303
msgid "Unpin from home"
msgstr "Deixa de fixar a l'inici"
-#: src/view/screens/ProfileList.tsx:444
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr "Desancora la llista de moderació"
@@ -5482,11 +5711,11 @@ msgstr "Desancora la llista de moderació"
#~ msgid "Unsave"
#~ msgstr "No desis"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
msgstr "Dona't de baixa"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
msgstr "Dona't de baixa d'aquest etiquetador"
@@ -5514,20 +5743,20 @@ msgstr "Actualitzant…"
msgid "Upload a text file to:"
msgstr "Puja un fitxer de text a:"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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/util/UserAvatar.tsx:343
+#: 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:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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"
@@ -5605,13 +5834,13 @@ msgstr "L'usuari t'ha bloquejat"
msgid "User list by {0}"
msgstr "Llista d'usuaris per {0}"
-#: src/view/screens/ProfileList.tsx:777
+#: 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:775
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "Llista d'usuaris feta per tu"
@@ -5627,11 +5856,11 @@ msgstr "Llista d'usuaris actualitzada"
msgid "User Lists"
msgstr "Llistes d'usuaris"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "Nom d'usuari o correu"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "Usuaris"
@@ -5659,15 +5888,15 @@ msgstr "Valor:"
msgid "Verify {0}"
msgstr "Verifica {0}"
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "Verifica el correu"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "Verifica el meu correu"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "Verifica el meu correu"
@@ -5676,13 +5905,13 @@ msgstr "Verifica el meu correu"
msgid "Verify New Email"
msgstr "Verifica el correu nou"
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr "Verifica el teu correu"
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
-msgstr ""
+msgstr "Versió {0}"
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
@@ -5696,11 +5925,11 @@ msgstr "Veure l'avatar de {0}"
msgid "View debug entry"
msgstr "Veure el registre de depuració"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
msgstr "Veure els detalls"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: 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"
@@ -5712,6 +5941,8 @@ msgstr "Veure el fil de debat complet"
msgid "View information about these labels"
msgstr "Mostra informació sobre aquestes etiquetes"
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Veure el perfil"
@@ -5724,7 +5955,7 @@ msgstr "Veure l'avatar"
msgid "View the labeling service provided by @{0}"
msgstr "Veure el servei d'etiquetatge proporcionat per @{0}"
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
msgstr "Veure els usuaris a qui els agrada aquest canal"
@@ -5752,7 +5983,7 @@ msgstr "Adverteix del contingut i filtra-ho dels canals"
#~ 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
+#: src/screens/Hashtag.tsx:210
msgid "We couldn't find any results for that hashtag."
msgstr "No hem trobat cap resultat per a aquest hashtag."
@@ -5800,11 +6031,11 @@ msgstr "T'informarem quan el teu compte estigui llest."
msgid "We'll use this to help customize your experience."
msgstr "Ho farem servir per a personalitzar la teva experiència."
-#: src/screens/Signup/index.tsx:130
+#: 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: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 "Ho sentim, però no hem pogut resoldre aquesta llista. Si això continua, posa't en contacte amb el creador de la llista, @{handleOrDid}."
@@ -5812,16 +6043,16 @@ msgstr "Ho sentim, però no hem pogut resoldre aquesta llista. Si això continua
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
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:256
+#: src/view/screens/Search/Search.tsx:323
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:188
+#: src/components/Lists.tsx:197
#: 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/screens/Profile/Header/ProfileHeaderLabeler.tsx:321
+#: 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."
@@ -5840,9 +6071,9 @@ msgstr "Quins són els teus interesos?"
#~ msgid "What's next?"
#~ msgstr "¿Qué sigue?"
-#: src/view/com/auth/SplashScreen.tsx:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr "Què hi ha de nou"
@@ -5883,11 +6114,11 @@ msgstr "Per què s'hauria de revisar aquest usuari?"
msgid "Wide"
msgstr "Amplada"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "Escriu una publicació"
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Escriu la teva resposta"
@@ -5944,15 +6175,15 @@ msgstr "No tens cap seguidor."
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."
@@ -5994,16 +6225,16 @@ msgstr "Has silenciat aquest usuari"
#~ msgid "You have muted this user."
#~ msgstr "Has silenciat aquest usuari."
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: 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
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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."
@@ -6015,7 +6246,7 @@ msgstr "Encara no has bloquejat cap compte. Per a bloquejar un compte, ves al se
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
+#: 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."
@@ -6029,11 +6260,11 @@ 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,"
+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 ""
+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."
@@ -6043,15 +6274,15 @@ msgstr ""
msgid "You must be 18 years or older to enable adult content"
msgstr "Has de tenir 18 anys o més per a habilitar el contingut per a adults"
-#: src/components/ReportDialog/SubmitView.tsx:205
+#: 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:144
+#: 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:147
+#: 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"
@@ -6082,7 +6313,7 @@ msgstr "Has triat amagar una paraula o una etiqueta d'aquesta publicació."
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 a seguir."
-#: src/screens/Signup/index.tsx:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "El teu compte"
@@ -6094,7 +6325,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/screens/Signup/StepInfo/index.tsx:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "La teva data de naixement"
@@ -6120,7 +6351,7 @@ msgstr "El teu correu no sembla vàlid."
msgid "Your email has been updated but not verified. As a next step, please verify your new email."
msgstr "El teu correu s'ha actualitzat, però no ha estat verificat. En el pas següent cal que verifiquis el teu correu."
-#: src/view/com/modals/VerifyEmail.tsx:114
+#: src/view/com/modals/VerifyEmail.tsx:122
msgid "Your email has not yet been verified. This is an important security step which we recommend."
msgstr "El teu correu encara no s'ha verificat. Et recomanem fer-ho per seguretat."
@@ -6128,7 +6359,7 @@ msgstr "El teu correu encara no s'ha verificat. Et recomanem fer-ho per segureta
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 a saber què està passant."
-#: src/screens/Signup/StepHandle.tsx:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "El teu identificador complet serà"
@@ -6154,7 +6385,7 @@ msgstr "Les teves paraules silenciades"
msgid "Your password has been changed successfully!"
msgstr "S'ha canviat la teva contrasenya!"
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr "S'ha publicat"
@@ -6164,14 +6395,14 @@ msgstr "S'ha publicat"
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/screens/Settings/index.tsx:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "El teu perfil"
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr "S'ha publicat la teva resposta"
-#: src/screens/Signup/index.tsx:152
+#: 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 28fd2256b6..724687dc9a 100644
--- a/src/locale/locales/de/messages.po
+++ b/src/locale/locales/de/messages.po
@@ -13,15 +13,16 @@ msgstr ""
"Language-Team: Translators in PR 2319, PythooonUser, cdfzo\n"
"Plural-Forms: \n"
-#: src/view/com/modals/VerifyEmail.tsx:142
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr "(keine E-Mail)"
+#: src/components/ProfileHoverCard/index.web.tsx:438
#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} folge ich"
-#: src/view/shell/Drawer.tsx:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} ungelesen"
@@ -33,15 +34,20 @@ msgstr "<0/> Mitglieder"
msgid "<0>{0}0> following"
msgstr ""
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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>"
@@ -49,10 +55,14 @@ msgstr "<0>Folge einigen0><1>empfohlenen1><2>Nutzern2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Willkommen bei0><1>Bluesky1>"
-#: src/screens/Profile/Header/Handle.tsx:42
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr "⚠Ungültiger Handle"
+#: src/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr ""
+
#: 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}."
@@ -61,27 +71,36 @@ msgstr "⚠Ungültiger Handle"
#~ 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:649
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
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:300
-#: src/view/screens/Settings/index.tsx:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "Barrierefreiheit"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr ""
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr ""
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "Konto"
@@ -100,11 +119,11 @@ msgstr "Konto stummgeschaltet"
#: src/components/moderation/ModerationDetailsDialog.tsx:93
#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
-msgstr "Konto Stummgeschaltet"
+msgstr "Konto stummgeschaltet"
#: 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"
@@ -114,24 +133,24 @@ msgstr "Kontoeinstellungen"
msgid "Account removed from quick access"
msgstr "Konto aus dem Schnellzugriff entfernt"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Konto entblockiert"
#: src/view/com/profile/ProfileMenu.tsx:166
msgid "Account unfollowed"
-msgstr ""
+msgstr "Konto entfolgt"
#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
-msgstr "Konto Stummschaltung aufgehoben"
+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:268
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/screens/ProfileList.tsx:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Hinzufügen"
@@ -139,13 +158,13 @@ msgstr "Hinzufügen"
msgid "Add a content warning"
msgstr "Eine Inhaltswarnung hinzufügen"
-#: src/view/screens/ProfileList.tsx:817
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Einen Nutzer zu dieser Liste hinzufügen"
-#: src/components/dialogs/SwitchAccount.tsx:55
-#: src/view/screens/Settings/index.tsx:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr "Konto hinzufügen"
@@ -171,12 +190,12 @@ msgstr "App-Passwort hinzufügen"
#~ msgstr "Details zum Report hinzufügen"
#: src/view/com/composer/Composer.tsx:467
-msgid "Add link card"
-msgstr "Link-Karte hinzufügen"
+#~ msgid "Add link card"
+#~ msgstr "Link-Karte hinzufügen"
#: src/view/com/composer/Composer.tsx:472
-msgid "Add link card:"
-msgstr "Link-Karte hinzufügen:"
+#~ msgid "Add link card:"
+#~ msgstr "Link-Karte hinzufügen:"
#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
@@ -231,11 +250,11 @@ msgid "Adult content is disabled."
msgstr ""
#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
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."
@@ -253,6 +272,7 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "Alt-Text"
@@ -260,7 +280,8 @@ msgstr "Alt-Text"
msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone."
msgstr "Alt-Text beschreibt Bilder für blinde und sehbehinderte Nutzer und hilft, den Kontext für alle zu vermitteln."
-#: src/view/com/modals/VerifyEmail.tsx:124
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
msgstr "Eine E-Mail wurde an {0} gesendet. Sie enthält einen Bestätigungscode, den du unten eingeben kannst."
@@ -268,10 +289,16 @@ 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/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:26
msgid "An issue not included in these options"
-msgstr ""
+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
@@ -279,7 +306,7 @@ msgstr ""
msgid "An issue occurred, please try again."
msgstr "Es ist ein Problem aufgetreten, bitte versuche es erneut."
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "und"
@@ -288,9 +315,13 @@ msgstr "und"
msgid "Animals"
msgstr "Tiere"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
-msgstr ""
+msgstr "Asoziales Verhalten"
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
@@ -308,13 +339,13 @@ msgstr "App-Passwortnamen dürfen nur Buchstaben, Zahlen, Leerzeichen, Bindestri
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:695
+#: src/view/screens/Settings/index.tsx:647
msgid "App password settings"
msgstr "App-Passwort-Einstellungen"
-#: src/Navigation.tsx:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "App-Passwörter"
@@ -325,7 +356,7 @@ msgstr ""
#: src/components/moderation/LabelsOnMeDialog.tsx:201
msgid "Appeal \"{0}\" label"
-msgstr ""
+msgstr "Kennzeichnung \"{0}\" anfechten"
#: src/view/com/util/forms/PostDropdownBtn.tsx:337
#: src/view/com/util/forms/PostDropdownBtn.tsx:346
@@ -338,7 +369,7 @@ msgstr ""
#: src/components/moderation/LabelsOnMeDialog.tsx:192
msgid "Appeal submitted."
-msgstr ""
+msgstr "Anfechtung abgeschickt."
#: src/view/com/util/moderation/LabelInfo.tsx:52
#~ msgid "Appeal this decision"
@@ -348,7 +379,7 @@ msgstr ""
#~ msgid "Appeal this decision."
#~ msgstr "Einspruch gegen diese Entscheidung."
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "Erscheinungsbild"
@@ -358,9 +389,9 @@ msgstr "Bist du sicher, dass du das App-Passwort \"{name}\" löschen möchtest?"
#: src/view/com/feeds/FeedSourceCard.tsx:280
msgid "Are you sure you want to remove {0} from your feeds?"
-msgstr ""
+msgstr "Bist du sicher, dass du {0} von deinen Feeds entfernen möchtest?"
-#: src/view/com/composer/Composer.tsx:509
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr "Bist du sicher, dass du diesen Entwurf verwerfen möchtest?"
@@ -384,9 +415,9 @@ msgstr "Kunst"
msgid "Artistic or non-erotic nudity."
msgstr "Künstlerische oder nicht-erotische Nacktheit."
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
-msgstr ""
+msgstr "Mindestens 3 Zeichen"
#: src/components/moderation/LabelsOnMeDialog.tsx:246
#: src/components/moderation/LabelsOnMeDialog.tsx:247
@@ -394,13 +425,13 @@ msgstr ""
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr "Zurück"
@@ -413,7 +444,7 @@ msgstr "Zurück"
msgid "Based on your interest in {interestsText}"
msgstr "Ausgehend von deinem Interesse an {interestsText}"
-#: src/view/screens/Settings/index.tsx:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "Grundlagen"
@@ -421,14 +452,14 @@ msgstr "Grundlagen"
msgid "Birthday"
msgstr "Geburtstag"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr "Geburtstag:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
-msgstr ""
+msgstr "Blockieren"
#: src/view/com/profile/ProfileMenu.tsx:300
#: src/view/com/profile/ProfileMenu.tsx:307
@@ -437,18 +468,18 @@ msgstr "Konto blockieren"
#: src/view/com/profile/ProfileMenu.tsx:344
msgid "Block Account?"
-msgstr ""
+msgstr "Konto blockieren?"
-#: src/view/screens/ProfileList.tsx:530
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Konten blockieren"
-#: 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 "Blockliste"
-#: src/view/screens/ProfileList.tsx:629
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "Diese Konten blockieren?"
@@ -457,7 +488,7 @@ msgstr "Diese Konten blockieren?"
#~ msgstr "Diese Liste blockieren"
#: 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 "Blockiert"
@@ -465,8 +496,8 @@ msgstr "Blockiert"
msgid "Blocked accounts"
msgstr "Blockierte Konten"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "Blockierte Konten"
@@ -474,32 +505,30 @@ msgstr "Blockierte Konten"
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:120
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:313
msgid "Blocked post."
-msgstr "Gesperrter Beitrag."
+msgstr "Blockierter Beitrag."
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: src/screens/Profile/Sections/Labels.tsx:163
msgid "Blocking does not prevent this labeler from placing labels on your account."
-msgstr ""
+msgstr "Blockieren hindert diesen Kennzeichnungsdienst nicht daran, Kennzeichnungen zu deinem Konto hinzuzufügen."
-#: 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 "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/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 ""
+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/HomeLoggedOutCTA.tsx:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blog"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -530,11 +559,11 @@ msgstr "Bluesky zeigt dein Profil und deine Beiträge nicht für abgemeldete Nut
#: src/lib/moderation/useLabelBehaviorDescription.ts:53
msgid "Blur images"
-msgstr ""
+msgstr "Bilder verwischen"
#: src/lib/moderation/useLabelBehaviorDescription.ts:51
msgid "Blur images and filter from feeds"
-msgstr ""
+msgstr "Bilder verwischen und aus Feeds herausfiltern"
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
@@ -544,8 +573,7 @@ msgstr "Bücher"
#~ msgid "Build version {0} {1}"
#~ msgstr "Build-Version {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Business"
@@ -559,7 +587,7 @@ msgstr "von {0}"
#: src/components/LabelingServiceCard/index.tsx:57
msgid "By {0}"
-msgstr ""
+msgstr "Von {0}"
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
@@ -567,13 +595,13 @@ msgstr "von <0/>"
#: src/screens/Signup/StepInfo/Policies.tsx:74
msgid "By creating an account you agree to the {els}."
-msgstr ""
+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:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "Kamera"
@@ -585,8 +613,8 @@ msgstr "Darf nur Buchstaben, Zahlen, Leerzeichen, Bindestriche und Unterstriche
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -601,9 +629,9 @@ msgstr "Darf nur Buchstaben, Zahlen, Leerzeichen, Bindestriche und Unterstriche
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Abbrechen"
@@ -645,34 +673,34 @@ msgstr "Suche abbrechen"
msgid "Cancels opening the linked website"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
msgstr ""
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "Ändern"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "Handle ändern"
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "Handle ändern"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "Meine E-Mail ändern"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr "Passwort ändern"
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr "Passwort Ändern"
@@ -693,14 +721,18 @@ 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/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr ""
+
#: 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:"
@@ -730,36 +762,36 @@ msgstr "Wähle die Algorithmen aus, welche dein Erlebnis mit benutzerdefinierten
msgid "Choose your main feeds"
msgstr "Wähle deine Haupt-Feeds"
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Wähle dein Passwort"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr "Alle alten Speicherdaten löschen"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
msgid "Clear all legacy storage data (restart after this)"
msgstr "Alle alten Speicherdaten löschen (danach neu starten)"
-#: src/view/screens/Settings/index.tsx:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr "Alle Speicherdaten löschen"
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
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:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "Suchanfrage löschen"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
msgstr ""
@@ -771,21 +803,22 @@ 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:192
-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:198
+#~ msgid "Click here to open tag menu for #{tag}"
+#~ msgstr "Klicke hier, um das Tag-Menü für #{tag} zu öffnen"
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
msgstr "Klima"
+#: src/components/dialogs/GifSelect.tsx:300
#: 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:106
-#: src/components/Dialog/index.web.tsx:218
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr "Aktiven Dialog schließen"
@@ -797,6 +830,14 @@ msgstr "Meldung schließen"
msgid "Close bottom drawer"
msgstr "Untere Schublade schließen"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr ""
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Bild schließen"
@@ -805,7 +846,7 @@ msgstr "Bild schließen"
msgid "Close image viewer"
msgstr "Bildbetrachter schließen"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr "Fußzeile der Navigation schließen"
@@ -814,7 +855,7 @@ msgstr "Fußzeile der Navigation schließen"
msgid "Close this dialog"
msgstr "Diesen Dialog schließen"
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr "Schließt die untere Navigationsleiste"
@@ -822,7 +863,7 @@ msgstr "Schließt die untere Navigationsleiste"
msgid "Closes password update alert"
msgstr "Schließt die Kennwortaktualisierungsmeldung"
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr "Schließt den Beitragsverfasser und verwirft den Beitragsentwurf"
@@ -830,7 +871,7 @@ msgstr "Schließt den Beitragsverfasser und verwirft den Beitragsentwurf"
msgid "Closes viewer for header image"
msgstr "Schließt den Betrachter für das Banner"
-#: src/view/com/notifications/FeedItem.tsx:321
+#: 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"
@@ -842,7 +883,7 @@ msgstr "Komödie"
msgid "Comics"
msgstr "Comics"
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Community-Richtlinien"
@@ -851,11 +892,11 @@ msgstr "Community-Richtlinien"
msgid "Complete onboarding and start using your account"
msgstr "Schließe das Onboarding ab und nutze dein Konto"
-#: src/screens/Signup/index.tsx:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "Beende die Herausforderung"
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
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"
@@ -869,19 +910,21 @@ msgstr "Inhaltsfilterungseinstellung der Kategorie {0} konfigurieren"
#: src/components/moderation/LabelPreference.tsx:81
msgid "Configure content filtering setting for category: {name}"
-msgstr ""
+msgstr "Konfiguriere die Inhaltsfilterung für die Kategorie: {name}"
#: src/components/moderation/LabelPreference.tsx:244
msgid "Configured in <0>moderation settings0>."
-msgstr ""
+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
+#: src/view/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
msgid "Confirm"
msgstr "Bestätigen"
@@ -910,24 +953,27 @@ msgstr "Bestätige das Löschen des Kontos"
#: src/screens/Moderation/index.tsx:301
msgid "Confirm your age:"
-msgstr ""
+msgstr "Bestätige dein Alter:"
#: src/screens/Moderation/index.tsx:292
msgid "Confirm your birthdate"
-msgstr ""
+msgstr "Bestätige dein Geburtsdatum"
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
msgid "Confirmation code"
msgstr "Bestätigungscode"
-#: src/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "Verbinden..."
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Support kontaktieren"
@@ -937,7 +983,7 @@ msgstr ""
#: src/lib/moderation/useGlobalLabelStrings.ts:18
msgid "Content Blocked"
-msgstr ""
+msgstr "Inhalt blockiert"
#: src/view/screens/Moderation.tsx:83
#~ msgid "Content filtering"
@@ -949,7 +995,7 @@ msgstr ""
#: src/screens/Moderation/index.tsx:285
msgid "Content filters"
-msgstr ""
+msgstr "Inhaltsfilterung"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
@@ -974,28 +1020,28 @@ msgstr "Inhaltswarnungen"
#: src/components/Menu/index.web.tsx:84
msgid "Context menu backdrop, click to close the menu."
-msgstr ""
+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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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/components/AccountList.tsx:108
msgid "Continue as {0} (currently signed in)"
-msgstr ""
+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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Weiter zum nächsten Schritt"
@@ -1016,17 +1062,21 @@ msgstr "Kochen"
msgid "Copied"
msgstr "Kopiert"
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
msgid "Copied build version to clipboard"
msgstr "Die Build-Version wurde in die Zwischenablage kopiert"
#: 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:158
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "In die Zwischenablage kopiert"
+#: 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"
@@ -1037,14 +1087,19 @@ msgstr "Kopieren"
#: 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:388
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr "Link zur Liste kopieren"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:228
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
msgid "Copy link to post"
msgstr "Link zum Beitrag kopieren"
@@ -1052,12 +1107,12 @@ msgstr "Link zum Beitrag kopieren"
#~ msgid "Copy link to profile"
#~ msgstr "Link zum Profil kopieren"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "Beitragstext kopieren"
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Urheberrechtsbestimmungen"
@@ -1066,37 +1121,40 @@ msgstr "Urheberrechtsbestimmungen"
msgid "Could not load feed"
msgstr "Feed konnte nicht geladen werden"
-#: src/view/screens/ProfileList.tsx:907
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "Liste konnte nicht geladen werden"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr "Erstelle ein neues Bluesky-Konto"
-#: src/screens/Signup/index.tsx:129
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Konto erstellen"
+#: 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:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr "Neues Konto erstellen"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:93
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
msgid "Create report for {0}"
-msgstr ""
+msgstr "Meldung für {0} erstellen"
#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
@@ -1111,8 +1169,8 @@ msgstr "Erstellt {0}"
#~ msgstr "Erstellt von dir"
#: 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}"
+#~ msgid "Creates a card with a thumbnail. The card links to {url}"
+#~ msgstr "Erzeugt eine Karte mit Vorschaubild und verlinkt auf {url}"
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
@@ -1128,16 +1186,16 @@ msgid "Custom domain"
msgstr "Benutzerdefinierte Domain"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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."
-#: src/view/screens/PreferencesExternalEmbeds.tsx:55
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr "Passe die Einstellungen für Medien von externen Websites an."
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr "Dunkel"
@@ -1145,15 +1203,15 @@ msgstr "Dunkel"
msgid "Dark mode"
msgstr "Dunkelmodus"
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr "Dunkles Thema"
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
msgstr ""
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
msgstr ""
@@ -1161,13 +1219,13 @@ msgstr ""
msgid "Debug panel"
msgstr "Debug-Panel"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: src/view/screens/AppPasswords.tsx:268
-#: src/view/screens/ProfileList.tsx:613
+#: src/view/screens/ProfileList.tsx:615
msgid "Delete"
-msgstr ""
+msgstr "Löschen"
-#: src/view/screens/Settings/index.tsx:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "Konto löschen"
@@ -1181,9 +1239,9 @@ msgstr "App-Passwort löschen"
#: src/view/screens/AppPasswords.tsx:263
msgid "Delete app password?"
-msgstr ""
+msgstr "App-Passwort löschen?"
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Liste löschen"
@@ -1191,24 +1249,24 @@ msgstr "Liste löschen"
msgid "Delete my account"
msgstr "Mein Konto löschen"
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
msgid "Delete My Account…"
msgstr "Mein Konto Löschen…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:302
-#: src/view/com/util/forms/PostDropdownBtn.tsx:304
+#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
msgid "Delete post"
msgstr "Beitrag löschen"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:610
msgid "Delete this list?"
-msgstr ""
+msgstr "Diese Liste löschen?"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:314
+#: src/view/com/util/forms/PostDropdownBtn.tsx:340
msgid "Delete this post?"
msgstr "Diesen Beitrag löschen?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:64
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Gelöscht"
@@ -1223,22 +1281,42 @@ msgstr "Gelöschter Beitrag."
msgid "Description"
msgstr "Beschreibung"
-#: src/view/com/composer/Composer.tsx:218
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr "Wolltest du etwas sagen?"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr "Dimmen"
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr ""
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr ""
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+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 ""
+msgstr "Deaktiviert"
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr "Verwerfen"
@@ -1246,9 +1324,9 @@ msgstr "Verwerfen"
#~ msgid "Discard draft"
#~ msgstr "Entwurf verwerfen"
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
-msgstr ""
+msgstr "Entwurf löschen?"
#: src/screens/Moderation/index.tsx:518
#: src/screens/Moderation/index.tsx:522
@@ -1260,7 +1338,7 @@ 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"
@@ -1278,11 +1356,11 @@ msgstr ""
#: src/lib/moderation/useGlobalLabelStrings.ts:39
msgid "Does not include nudity."
-msgstr ""
+msgstr "Beinhaltet keine Nacktheit."
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
-msgstr ""
+msgstr "Beginnt oder endet nicht mit einem Bindestrich"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "Domain Value"
@@ -1310,7 +1388,7 @@ msgstr "Domain verifiziert!"
msgid "Done"
msgstr "Erledigt"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: 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
@@ -1340,7 +1418,7 @@ msgstr "Erledigt{extraText}"
msgid "Download CAR file"
msgstr "CAR-Datei herunterladen"
-#: src/view/com/composer/text-input/TextInput.web.tsx:249
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr "Ablegen zum Hinzufügen von Bildern"
@@ -1350,7 +1428,7 @@ msgstr "Aufgrund der Apple-Richtlinien können Inhalte für Erwachsene erst nach
#: src/view/com/modals/ChangeHandle.tsx:258
msgid "e.g. alice"
-msgstr ""
+msgstr "z.B. alice"
#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
@@ -1358,7 +1436,7 @@ msgstr "z.B. Alice Roberts"
#: src/view/com/modals/ChangeHandle.tsx:380
msgid "e.g. alice.com"
-msgstr ""
+msgstr "z.B. alice.com"
#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
@@ -1366,11 +1444,11 @@ msgstr "z.B. Künstlerin, Hundeliebhaberin und begeisterte Leserin."
#: src/lib/moderation/useGlobalLabelStrings.ts:43
msgid "E.g. artistic nudes."
-msgstr ""
+msgstr "Z.B. künstlerische Nacktheit"
#: src/view/com/modals/CreateOrEditList.tsx:284
msgid "e.g. Great Posters"
-msgstr "z.B. Große Poster"
+msgstr "z.B. Großartige Poster"
#: src/view/com/modals/CreateOrEditList.tsx:285
msgid "e.g. Spammers"
@@ -1393,17 +1471,17 @@ msgctxt "action"
msgid "Edit"
msgstr "Bearbeiten"
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
-msgstr ""
+msgstr "Avatar bearbeiten"
#: src/view/com/composer/photos/Gallery.tsx:144
#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr "Bild bearbeiten"
-#: src/view/screens/ProfileList.tsx:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Details der Liste bearbeiten"
@@ -1411,9 +1489,9 @@ msgstr "Details der Liste bearbeiten"
msgid "Edit Moderation List"
msgstr "Moderationsliste bearbeiten"
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Meine Feeds bearbeiten"
@@ -1421,18 +1499,18 @@ msgstr "Meine Feeds bearbeiten"
msgid "Edit my profile"
msgstr "Mein Profil bearbeiten"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "Profil bearbeiten"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
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"
@@ -1457,6 +1535,10 @@ msgstr "Bildung"
msgid "Email"
msgstr "E-Mail"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr ""
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "E-Mail-Adresse"
@@ -1470,21 +1552,35 @@ msgstr "E-Mail aktualisiert"
msgid "Email Updated"
msgstr "E-Mail aktualisiert"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr "E-Mail verifiziert"
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
msgid "Email:"
msgstr "E-Mail:"
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+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/screens/Moderation/index.tsx:329
msgid "Enable adult content"
-msgstr ""
+msgstr "Inhalte für Erwachsene aktivieren"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
@@ -1498,13 +1594,13 @@ msgstr "Aktiviere Inhalte für Erwachsene in deinen Feeds"
#: src/components/dialogs/EmbedConsent.tsx:82
#: src/components/dialogs/EmbedConsent.tsx:89
msgid "Enable external media"
-msgstr ""
+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
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr "Aktiviere Medienplayer für"
@@ -1514,13 +1610,13 @@ msgstr "Aktiviere diese Einstellung, um nur Antworten von Personen zu sehen, den
#: src/components/dialogs/EmbedConsent.tsx:94
msgid "Enable this source only"
-msgstr ""
+msgstr "Nur von dieser Seite erlauben"
#: src/screens/Moderation/index.tsx:339
msgid "Enabled"
-msgstr ""
+msgstr "Aktiviert"
-#: src/screens/Profile/Sections/Feed.tsx:84
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Ende des Feeds"
@@ -1530,14 +1626,14 @@ msgstr "Gebe einen Namen für dieses App-Passwort ein"
#: src/screens/Login/SetNewPasswordForm.tsx:139
msgid "Enter a password"
-msgstr ""
+msgstr "Gib ein Passwort ein"
#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
msgid "Enter a word or tag"
msgstr "Gib ein Wort oder einen Tag ein"
-#: src/view/com/modals/VerifyEmail.tsx:105
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr "Bestätigungscode eingeben"
@@ -1558,7 +1654,7 @@ msgid "Enter your birth date"
msgstr "Gib dein Geburtsdatum ein"
#: src/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Gib deine E-Mail-Adresse ein"
@@ -1578,7 +1674,7 @@ msgstr "Gib deinen Benutzernamen und dein Passwort ein"
msgid "Error receiving captcha response."
msgstr "Fehler beim Empfang der Captcha-Antwort."
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Fehler:"
@@ -1588,35 +1684,35 @@ msgstr "Alle"
#: src/lib/moderation/useReportOptions.ts:66
msgid "Excessive mentions or replies"
-msgstr ""
+msgstr "Übermäßig viele Erwähnungen oder Antworten"
#: src/view/com/modals/DeleteAccount.tsx:230
msgid "Exits account deletion process"
-msgstr ""
+msgstr "Verlässt den Vorgang der Accountlöschung"
#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
-msgstr "Beendet den Prozess des Handle-Wechsels"
+msgstr "Verlässt den Vorgang des Handle-Wechsels"
#: src/view/com/modals/crop-image/CropImage.web.tsx:136
msgid "Exits image cropping process"
-msgstr ""
+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: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: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"
@@ -1628,12 +1724,12 @@ msgstr ""
msgid "Explicit sexual images."
msgstr ""
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr "Exportiere meine Daten"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr "Exportiere meine Daten"
@@ -1643,17 +1739,17 @@ msgid "External Media"
msgstr "Externe Medien"
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:275
-#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr "Externe Medienpräferenzen"
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr "Externe Medienpräferenzen"
@@ -1666,20 +1762,24 @@ msgstr "Das App-Passwort konnte nicht erstellt werden."
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:125
+#: 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/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+msgstr ""
+
+#: 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/view/com/lightbox/Lightbox.tsx:83
msgid "Failed to save image: {0}"
-msgstr ""
+msgstr "Das Speichern des Bildes ist fehlgeschlagen: {0}"
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr "Feed"
@@ -1687,31 +1787,31 @@ msgstr "Feed"
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:314
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Feedback"
-#: src/Navigation.tsx:464
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: 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."
@@ -1721,11 +1821,11 @@ msgstr "Die Feeds können auch auf einem Thema basieren!"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "File Contents"
-msgstr ""
+msgstr "Dateiinhalt"
#: src/lib/moderation/useLabelBehaviorDescription.ts:66
msgid "Filter from feeds"
-msgstr ""
+msgstr "Aus Feeds filtern"
#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
@@ -1737,13 +1837,17 @@ msgstr "Abschließen"
msgid "Find accounts to follow"
msgstr "Konten zum Folgen finden"
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
-msgstr "Nutzer auf Bluesky finden"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:589
+#~ msgid "Find users on Bluesky"
+#~ msgstr "Nutzer auf Bluesky finden"
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr "Finde Nutzer mit der Suchfunktion auf der rechten Seite"
+#: 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:155
msgid "Finding similar accounts..."
@@ -1775,10 +1879,10 @@ msgid "Flip vertically"
msgstr "Vertikal drehen"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Folgen"
@@ -1788,7 +1892,7 @@ msgid "Follow"
msgstr "Folgen"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "{0} folgen"
@@ -1796,7 +1900,7 @@ msgstr "{0} folgen"
#: src/view/com/profile/ProfileMenu.tsx:242
#: src/view/com/profile/ProfileMenu.tsx:253
msgid "Follow Account"
-msgstr ""
+msgstr "Accounts folgen"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
@@ -1804,17 +1908,17 @@ msgstr "Allen folgen"
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
msgid "Follow Back"
-msgstr ""
+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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr "Gefolgt von {0}"
@@ -1826,7 +1930,7 @@ msgstr "Benutzer, denen ich folge"
msgid "Followed users only"
msgstr "Nur Benutzer, denen ich folge"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "folgte dir"
@@ -1835,26 +1939,26 @@ msgstr "folgte dir"
msgid "Followers"
msgstr "Follower"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:93
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr "ich folge {0}"
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
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/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
msgstr "Following-Feed-Einstellungen"
@@ -1862,7 +1966,7 @@ msgstr "Following-Feed-Einstellungen"
msgid "Follows you"
msgstr "Folgt dir"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr "Folgt dir"
@@ -1891,40 +1995,39 @@ msgstr "Aus Sicherheitsgründen kannst du dies nicht erneut ansehen. Wenn du die
msgid "Forgot Password"
msgstr "Passwort vergessen"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
-msgstr ""
+msgstr "Passwort vergessen?"
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
-msgstr ""
+msgstr "Vergessen?"
#: src/lib/moderation/useReportOptions.ts:52
msgid "Frequently Posts Unwanted Content"
-msgstr ""
+msgstr "Postet oft unerwünschte Inhalte"
-#: src/screens/Hashtag.tsx:109
-#: src/screens/Hashtag.tsx:149
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
msgstr "Von @{sanitizedAuthor}"
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "Aus <0/>"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "Galerie"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "Los geht's"
#: src/lib/moderation/useReportOptions.ts:37
msgid "Glaring violations of law or terms of service"
-msgstr ""
+msgstr "Eklatante Verstöße gegen Gesetze oder Nutzungsbedingungen"
#: src/components/moderation/ScreenHider.tsx:151
#: src/components/moderation/ScreenHider.tsx:160
@@ -1932,25 +2035,25 @@ msgstr ""
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: src/view/screens/ProfileList.tsx:918
#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Gehe zurück"
-#: src/components/Error.tsx:91
+#: src/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Gehe zurück"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "Zum vorherigen Schritt zurückkehren"
@@ -1962,7 +2065,7 @@ msgstr ""
msgid "Go Home"
msgstr ""
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "Gehe zu @{queryMaybeHandle}"
@@ -1980,24 +2083,28 @@ msgstr ""
msgid "Handle"
msgstr "Handle"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
msgstr ""
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
msgstr "Hashtag"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
msgstr "Hashtag: #{tag}"
-#: src/screens/Signup/index.tsx:217
+#: 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:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Hilfe"
@@ -2026,17 +2133,17 @@ msgstr "Hier ist dein App-Passwort."
#: 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:354
msgid "Hide"
msgstr "Ausblenden"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: 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:278
+#: src/view/com/util/forms/PostDropdownBtn.tsx:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr "Beitrag ausblenden"
@@ -2045,11 +2152,11 @@ msgstr "Beitrag ausblenden"
msgid "Hide the content"
msgstr "Den Inhalt ausblenden"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr "Diesen Beitrag ausblenden?"
-#: src/view/com/notifications/FeedItem.tsx:319
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "Benutzerliste ausblenden"
@@ -2085,11 +2192,11 @@ msgstr ""
msgid "Hmmmm, we couldn't load that moderation service."
msgstr ""
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Home"
@@ -2098,7 +2205,7 @@ msgid "Host:"
msgstr ""
#: src/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
@@ -2108,11 +2215,13 @@ msgstr "Hosting-Anbieter"
msgid "How should we open this link?"
msgstr "Wie sollen wir diesen Link öffnen?"
-#: src/view/com/modals/VerifyEmail.tsx:214
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "Ich habe einen Code"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr "Ich habe einen Bestätigungscode"
@@ -2132,13 +2241,13 @@ msgstr "Wenn keine ausgewählt werden, sind sie für alle Altersgruppen geeignet
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:610
+#: src/view/screens/ProfileList.tsx:612
msgid "If you delete this list, you won't be able to recover it."
-msgstr ""
+msgstr "Wenn du diese Liste löschst, kannst du sie nicht wiederherstellen."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:342
msgid "If you remove this post, you won't be able to recover it."
-msgstr ""
+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."
@@ -2146,7 +2255,7 @@ msgstr "Wenn du dein Passwort ändern möchtest, senden wir dir einen Code, um z
#: src/lib/moderation/useReportOptions.ts:36
msgid "Illegal and Urgent"
-msgstr ""
+msgstr "Illegal und dringend"
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
@@ -2193,15 +2302,19 @@ msgstr "Neues Passwort eingeben"
msgid "Input password for account deletion"
msgstr "Passwort für die Kontolöschung eingeben"
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr "Passwort, das an {identifier} gebunden ist, eingeben"
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
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/screens/Login/LoginForm.tsx:194
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr "Gib dein Passwort ein"
@@ -2209,15 +2322,20 @@ msgstr "Gib dein Passwort ein"
msgid "Input your preferred hosting provider"
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:62
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "Gib deinen Handle ein"
-#: src/view/com/post-thread/PostThreadItem.tsx:221
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr "Ungültiger oder nicht unterstützter Beitragrekord"
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr "Ungültiger Benutzername oder Passwort"
@@ -2245,8 +2363,7 @@ msgstr "Einladungscodes: 1 verfügbar"
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:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "Jobs"
@@ -2266,11 +2383,11 @@ msgstr ""
msgid "Labeled by the author."
msgstr ""
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
msgstr ""
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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 ""
@@ -2290,16 +2407,16 @@ msgstr ""
msgid "Language selection"
msgstr "Sprachauswahl"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr "Spracheinstellungen"
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Spracheinstellungen"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "Sprachen"
@@ -2307,6 +2424,11 @@ msgstr "Sprachen"
#~ msgid "Last step!"
#~ msgstr "Letzter Schritt!"
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr ""
+
#: src/view/com/util/moderation/ContentHider.tsx:103
#~ msgid "Learn more"
#~ msgstr "Mehr erfahren"
@@ -2345,7 +2467,7 @@ msgstr "Bluesky verlassen"
msgid "left to go."
msgstr "noch übrig."
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
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."
@@ -2363,70 +2485,70 @@ msgstr "Los geht's!"
#~ msgid "Library"
#~ msgstr "Bibliothek"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr "Licht"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Liken"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "Diesen Feed liken"
#: src/components/LikesDialog.tsx:87
-#: src/Navigation.tsx:201
-#: src/Navigation.tsx:206
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
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:268
msgid "Liked by {0} {1}"
-msgstr "Von {0} {1} gelikt"
+msgstr "Von {0} {1} geliked"
#: src/components/LabelingServiceCard/index.tsx:72
msgid "Liked by {count} {0}"
-msgstr ""
+msgstr "Geliked von {count} {0}"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: 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:159
+#: 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:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr "Likes"
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr "Likes für diesen Beitrag"
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr "Liste"
#: src/view/com/modals/CreateOrEditList.tsx:262
msgid "List Avatar"
-msgstr "Avatar auflisten"
+msgstr "Listenbild"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Liste blockiert"
@@ -2434,11 +2556,11 @@ msgstr "Liste blockiert"
msgid "List by {0}"
msgstr "Liste von {0}"
-#: src/view/screens/ProfileList.tsx:355
+#: 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"
@@ -2446,20 +2568,20 @@ msgstr "Liste stummgeschaltet"
msgid "List Name"
msgstr "Name der Liste"
-#: src/view/screens/ProfileList.tsx:325
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Liste entblockiert"
-#: src/view/screens/ProfileList.tsx:297
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Listenstummschaltung aufgehoben"
-#: src/Navigation.tsx:114
-#: src/view/screens/Profile.tsx:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "Listen"
@@ -2472,10 +2594,10 @@ msgstr "Listen"
msgid "Load new notifications"
msgstr "Neue Mitteilungen laden"
-#: src/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Neue Beiträge laden"
@@ -2483,7 +2605,7 @@ msgstr "Neue Beiträge laden"
msgid "Loading..."
msgstr "Wird geladen..."
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr "Systemprotokoll"
@@ -2502,9 +2624,13 @@ msgstr "Sichtbarkeit für abgemeldete Benutzer"
msgid "Login to account that is not listed"
msgstr "Anmeldung bei einem Konto, das nicht aufgelistet ist"
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+msgstr ""
+
#: src/screens/Login/SetNewPasswordForm.tsx:116
msgid "Looks like XXXXX-XXXXX"
-msgstr ""
+msgstr "Im Format XXXXX-XXXXX"
#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
@@ -2522,7 +2648,8 @@ msgstr "Verwalte deine stummgeschalteten Wörter und Tags"
#~ msgid "May only contain letters and numbers"
#~ msgstr "Darf nur Buchstaben und Zahlen enthalten"
-#: src/view/screens/Profile.tsx:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr "Medien"
@@ -2534,8 +2661,8 @@ msgstr "erwähnte Benutzer"
msgid "Mentioned users"
msgstr "Erwähnte Benutzer"
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "Menü"
@@ -2545,14 +2672,14 @@ msgstr "Nachricht vom Server: {0}"
#: src/lib/moderation/useReportOptions.ts:45
msgid "Misleading Account"
-msgstr ""
+msgstr "Irreführender Account"
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Moderation"
@@ -2565,13 +2692,13 @@ msgstr ""
msgid "Moderation list by {0}"
msgstr "Moderationsliste von {0}"
-#: src/view/screens/ProfileList.tsx:789
+#: 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:787
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Moderationsliste von dir"
@@ -2587,22 +2714,22 @@ msgstr "Moderationsliste aktualisiert"
msgid "Moderation lists"
msgstr "Moderationslisten"
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Moderationslisten"
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr "Moderationseinstellungen"
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
msgstr ""
#: src/screens/Moderation/index.tsx:215
msgid "Moderation tools"
-msgstr ""
+msgstr "Moderationswerkzeuge"
#: src/components/moderation/ModerationDetailsDialog.tsx:48
#: src/lib/moderation/useModerationCauseDescription.ts:40
@@ -2611,13 +2738,13 @@ msgstr "Der Moderator hat beschlossen, eine allgemeine Warnung vor dem Inhalt au
#: src/view/com/post-thread/PostThreadItem.tsx:541
msgid "More"
-msgstr ""
+msgstr "Mehr"
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "Mehr Feeds"
-#: src/view/screens/ProfileList.tsx:599
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Mehr Optionen"
@@ -2642,7 +2769,7 @@ msgstr "{truncatedTag} stummschalten"
msgid "Mute Account"
msgstr "Konto stummschalten"
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Konten stummschalten"
@@ -2658,12 +2785,12 @@ msgstr "Nur in Tags stummschalten"
msgid "Mute in text & tags"
msgstr "In Text und Tags stummschalten"
-#: 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 "Liste stummschalten"
-#: src/view/screens/ProfileList.tsx:619
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "Diese Konten stummschalten?"
@@ -2679,13 +2806,13 @@ msgstr "Dieses Wort in Beitragstexten und Tags stummschalten"
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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
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:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
msgstr "Wörter und Tags stummschalten"
@@ -2697,24 +2824,24 @@ msgstr "Stummgeschaltet"
msgid "Muted accounts"
msgstr "Stummgeschaltete Konten"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: 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/lib/moderation/useModerationCauseDescription.ts:85
msgid "Muted by \"{0}\""
-msgstr ""
+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: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 "Stummschaltung ist privat. Stummgeschaltete Konten können mit dir interagieren, aber du siehst ihre Beiträge nicht und erhältst keine Mitteilungen von ihnen."
@@ -2723,7 +2850,7 @@ msgstr "Stummschaltung ist privat. Stummgeschaltete Konten können mit dir inter
msgid "My Birthday"
msgstr "Mein Geburtstag"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "Meine Feeds"
@@ -2731,11 +2858,11 @@ msgstr "Meine Feeds"
msgid "My Profile"
msgstr "Mein Profil"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
-msgstr ""
+msgstr "Meine gespeicherten Feeds"
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
msgid "My Saved Feeds"
msgstr "Meine gespeicherten Feeds"
@@ -2763,7 +2890,7 @@ msgid "Nature"
msgstr "Natur"
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Navigiert zum nächsten Bildschirm"
@@ -2772,7 +2899,7 @@ msgstr "Navigiert zum nächsten Bildschirm"
msgid "Navigates to your profile"
msgstr "Navigiert zu Deinem Profil"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
msgid "Need to report a copyright violation?"
msgstr ""
@@ -2819,17 +2946,17 @@ msgstr "Neues Passwort"
msgid "New Password"
msgstr "Neues Passwort"
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
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:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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"
@@ -2853,12 +2980,12 @@ msgstr "Aktuelles"
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -2882,8 +3009,8 @@ msgstr "Nächstes Bild"
msgid "No"
msgstr "Nein"
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Keine Beschreibung"
@@ -2891,13 +3018,17 @@ msgstr "Keine Beschreibung"
msgid "No DNS Panel"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr "{0} wird nicht mehr gefolgt"
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
-msgstr ""
+msgstr "Nicht länger als 253 Zeichen"
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
@@ -2908,20 +3039,24 @@ msgstr "Noch keine Mitteilungen!"
msgid "No result"
msgstr "Kein Ergebnis"
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "Keine Ergebnisse für {query} gefunden"
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr ""
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
@@ -2938,25 +3073,25 @@ msgstr ""
#: src/lib/moderation/useGlobalLabelStrings.ts:42
msgid "Non-sexual Nudity"
-msgstr ""
+msgstr "Nicht-sexuelle Nacktheit"
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "Unzutreffend."
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "Nicht gefunden"
-#: src/view/com/modals/VerifyEmail.tsx:246
-#: src/view/com/modals/VerifyEmail.tsx:252
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr "Im Moment nicht"
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
msgstr ""
@@ -2964,13 +3099,13 @@ msgstr ""
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:469
+#: src/Navigation.tsx:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Mitteilungen"
@@ -2986,15 +3121,16 @@ msgstr ""
#~ msgid "Nudity or pornography not labeled as such"
#~ msgstr ""
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
-msgstr ""
+msgstr "von"
#: src/lib/moderation/useLabelBehaviorDescription.ts:11
msgid "Off"
-msgstr ""
+msgstr "Aus"
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "Oh nein!"
@@ -3003,9 +3139,9 @@ msgid "Oh no! Something went wrong."
msgstr "Oh nein, da ist etwas schief gelaufen."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
-msgstr ""
+msgstr "OK"
#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
@@ -3015,11 +3151,11 @@ msgstr "Okay"
msgid "Oldest replies first"
msgstr "Älteste Antworten zuerst"
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr "Onboarding zurücksetzen"
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr "Bei einem oder mehreren Bildern fehlt der Alt-Text."
@@ -3027,17 +3163,17 @@ msgstr "Bei einem oder mehreren Bildern fehlt der Alt-Text."
msgid "Only {0} can reply."
msgstr "Nur {0} kann antworten."
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
-msgstr ""
+msgstr "Enthält nur Buchstaben, Nummern und Bindestriche"
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
msgstr "Ups, da ist etwas schief gelaufen!"
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Huch!"
@@ -3049,41 +3185,41 @@ msgstr "Öffnen"
#~ msgid "Open content filtering settings"
#~ msgstr "Inhaltsfiltereinstellungen öffnen"
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr "Emoji-Picker öffnen"
-#: src/view/screens/ProfileFeed.tsx:300
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
msgstr ""
-#: src/view/screens/Settings/index.tsx:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr "Links mit In-App-Browser öffnen"
#: src/screens/Moderation/index.tsx:227
msgid "Open muted words and tags settings"
-msgstr ""
+msgstr "Einstellungen für stummgeschaltete Wörter und Tags öffnen"
#: 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:50
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Navigation öffnen"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:183
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
msgstr "Beitragsoptionsmenü öffnen"
-#: src/view/screens/Settings/index.tsx:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr "Geschichtenbuch öffnen"
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
msgstr ""
@@ -3091,15 +3227,19 @@ msgstr ""
msgid "Opens {numItems} options"
msgstr "Öffnet {numItems} Optionen"
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr ""
+
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
msgstr "Öffnet zusätzliche Details für einen Debug-Eintrag"
-#: src/view/com/notifications/FeedItem.tsx:353
+#: 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:78
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr "Öffnet die Kamera auf dem Gerät"
@@ -3107,11 +3247,11 @@ msgstr "Öffnet die Kamera auf dem Gerät"
msgid "Opens composer"
msgstr "Öffnet den Beitragsverfasser"
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr "Öffnet die konfigurierbaren Spracheinstellungen"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
msgid "Opens device photo gallery"
msgstr "Öffnet die Gerätefotogalerie"
@@ -3119,21 +3259,19 @@ msgstr "Öffnet die Gerätefotogalerie"
#~ 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:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr "Öffnet die Einstellungen für externe eingebettete Medien"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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 ""
+msgstr "Öffnet den Vorgang, einen neuen Bluesky account anzulegen"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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 ""
+msgstr "Öffnet den Vorgang, sich mit einen bestehenden Bluesky Account anzumelden"
#: src/view/com/profile/ProfileHeader.tsx:575
#~ msgid "Opens followers list"
@@ -3143,11 +3281,15 @@ msgstr ""
#~ msgid "Opens following list"
#~ msgstr "Öffnet folgende Liste"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr ""
+
#: 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:798
+#: src/view/screens/Settings/index.tsx:757
msgid "Opens modal for account deletion confirmation. Requires email code"
msgstr ""
@@ -3155,19 +3297,19 @@ msgstr ""
#~ 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:756
+#: src/view/screens/Settings/index.tsx:715
msgid "Opens modal for changing your Bluesky password"
msgstr ""
-#: src/view/screens/Settings/index.tsx:718
+#: src/view/screens/Settings/index.tsx:670
msgid "Opens modal for choosing a new Bluesky handle"
msgstr ""
-#: src/view/screens/Settings/index.tsx:779
+#: src/view/screens/Settings/index.tsx:738
msgid "Opens modal for downloading your Bluesky account data (repository)"
msgstr ""
-#: src/view/screens/Settings/index.tsx:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
msgstr ""
@@ -3175,24 +3317,24 @@ msgstr ""
msgid "Opens modal for using custom domain"
msgstr "Öffnet das Modal für die Verwendung einer benutzerdefinierten Domain"
-#: src/view/screens/Settings/index.tsx:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "Öffnet die Moderationseinstellungen"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
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:597
+#: src/view/screens/Settings/index.tsx:549
msgid "Opens screen with all saved feeds"
msgstr "Öffnet den Bildschirm mit allen gespeicherten Feeds"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:648
msgid "Opens the app password settings"
msgstr ""
@@ -3200,7 +3342,7 @@ msgstr ""
#~ msgid "Opens the app password settings page"
#~ msgstr "Öffnet die Einstellungsseite für das App-Passwort"
-#: src/view/screens/Settings/index.tsx:554
+#: src/view/screens/Settings/index.tsx:506
msgid "Opens the Following feed preferences"
msgstr ""
@@ -3212,16 +3354,16 @@ msgstr ""
msgid "Opens the linked website"
msgstr ""
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr "Öffnet die Geschichtenbuch"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "Öffnet die Systemprotokollseite"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "Öffnet die Thread-Einstellungen"
@@ -3229,7 +3371,7 @@ msgstr "Öffnet die Thread-Einstellungen"
msgid "Option {0} of {numItems}"
msgstr "Option {0} von {numItems}"
-#: src/components/ReportDialog/SubmitView.tsx:162
+#: src/components/ReportDialog/SubmitView.tsx:160
msgid "Optionally provide additional information below:"
msgstr ""
@@ -3249,7 +3391,7 @@ msgstr "Anderes Konto"
msgid "Other..."
msgstr "Andere..."
-#: src/components/Lists.tsx:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Seite nicht gefunden"
@@ -3258,8 +3400,8 @@ msgstr "Seite nicht gefunden"
msgid "Page Not Found"
msgstr "Seite nicht gefunden"
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3277,11 +3419,19 @@ msgstr "Passwort aktualisiert"
msgid "Password updated!"
msgstr "Passwort aktualisiert!"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr "Personen gefolgt von @{0}"
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr "Personen, die @{0} folgen"
@@ -3301,23 +3451,31 @@ msgstr "Haustiere"
msgid "Pictures meant for adults."
msgstr "Bilder, die für Erwachsene bestimmt sind."
-#: src/view/screens/ProfileFeed.tsx:292
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "An die Startseite anheften"
-#: src/view/screens/ProfileFeed.tsx:295
+#: 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 "Angeheftete Feeds"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Play"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "{0} abspielen"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3372,11 +3530,11 @@ msgstr ""
#~ 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
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr "Bitte verifiziere deine E-Mail"
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr "Bitte warte, bis deine Link-karte vollständig geladen ist"
@@ -3392,8 +3550,8 @@ msgstr "Porno"
#~ msgid "Pornography"
#~ msgstr ""
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr "Beitrag"
@@ -3403,17 +3561,17 @@ msgctxt "description"
msgid "Post"
msgstr "Beitrag"
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr "Beitrag von {0}"
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
msgid "Post by @{0}"
msgstr "Beitrag von @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:105
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Beitrag gelöscht"
@@ -3448,7 +3606,7 @@ msgstr "Beitrag nicht gefunden"
msgid "posts"
msgstr "Beiträge"
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr "Beiträge"
@@ -3464,13 +3622,13 @@ msgstr "Ausgeblendete Beiträge"
msgid "Potentially Misleading Link"
msgstr "Potenziell irreführender Link"
-#: src/components/forms/HostingProvider.tsx:45
+#: 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:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
msgstr ""
@@ -3486,16 +3644,16 @@ msgstr "Primäre Sprache"
msgid "Prioritize Your Follows"
msgstr "Priorisiere deine Follower"
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Privatsphäre"
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Datenschutzerklärung"
@@ -3504,15 +3662,15 @@ msgid "Processing..."
msgstr "Wird bearbeitet..."
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
msgstr ""
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Profil"
@@ -3520,7 +3678,7 @@ msgstr "Profil"
msgid "Profile updated"
msgstr "Profil aktualisiert"
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "Schütze dein Konto, indem du deine E-Mail bestätigst."
@@ -3536,11 +3694,11 @@ 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:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr "Beitrag veröffentlichen"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr "Antwort veröffentlichen"
@@ -3566,15 +3724,15 @@ msgstr "Zufällig (alias \"Poster's Roulette\")"
msgid "Ratios"
msgstr "Verhältnisse"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: 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"
@@ -3595,7 +3753,7 @@ msgstr "Entfernen"
msgid "Remove account"
msgstr "Konto entfernen"
-#: src/view/com/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
msgstr ""
@@ -3613,8 +3771,8 @@ msgstr ""
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Aus meinen Feeds entfernen"
@@ -3626,7 +3784,7 @@ msgstr ""
msgid "Remove image"
msgstr "Bild entfernen"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr "Bildvorschau entfernen"
@@ -3659,15 +3817,15 @@ msgstr "Aus der Liste entfernt"
msgid "Removed from my feeds"
msgstr "Aus meinen Feeds entfernt"
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
msgstr ""
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr "Entfernt Standard-Miniaturansicht von {0}"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr "Antworten"
@@ -3675,7 +3833,7 @@ msgstr "Antworten"
msgid "Replies to this thread are disabled"
msgstr "Antworten auf diesen Thread sind deaktiviert"
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr "Antworten"
@@ -3684,11 +3842,17 @@ msgstr "Antworten"
msgid "Reply Filters"
msgstr "Antwortfilter"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
+#: 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/post/Post.tsx:178
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
-msgid "Reply to <0/>"
-msgstr "Antwort an <0/>"
+msgid "Reply to <0><1/>0>"
+msgstr ""
#: src/view/com/modals/report/Modal.tsx:166
#~ msgid "Report {collectionName}"
@@ -3703,17 +3867,17 @@ msgstr "Konto melden"
msgid "Report dialog"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "Feed melden"
-#: src/view/screens/ProfileList.tsx:429
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Liste melden"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:292
-#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "Beitrag melden"
@@ -3758,19 +3922,23 @@ msgstr "Reposten oder Beitrag zitieren"
msgid "Reposted By"
msgstr "Repostet von"
-#: src/view/com/posts/FeedItem.tsx:197
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "Repostet von {0}"
#: src/view/com/posts/FeedItem.tsx:214
-msgid "Reposted by <0/>"
-msgstr "Repostet von <0/>"
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Repostet von <0/>"
+
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "hat deinen Beitrag repostet"
-#: src/view/com/post-thread/PostThreadItem.tsx:187
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr "Reposts von diesem Beitrag"
@@ -3784,14 +3952,23 @@ msgstr "Änderung anfordern"
msgid "Request Code"
msgstr "Einen Code anfordern"
-#: src/view/screens/Settings/index.tsx:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr "Alt-Text vor der Veröffentlichung erforderlich machen"
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr ""
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Für diesen Anbieter erforderlich"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr ""
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Code zurücksetzen"
@@ -3804,8 +3981,8 @@ msgstr "Code zurücksetzen"
#~ msgid "Reset onboarding"
#~ msgstr "Onboarding zurücksetzen"
-#: src/view/screens/Settings/index.tsx:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr "Onboarding-Status zurücksetzen"
@@ -3817,20 +3994,20 @@ msgstr "Passwort zurücksetzen"
#~ msgid "Reset preferences"
#~ msgstr "Einstellungen zurücksetzen"
-#: src/view/screens/Settings/index.tsx:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr "Einstellungen zurücksetzen"
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr "Setzt den Onboarding-Status zurück"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr "Einstellungen zurücksetzen"
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr "Versucht die Anmeldung erneut"
@@ -3839,20 +4016,20 @@ 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/components/Error.tsx:79
-#: src/components/Lists.tsx:91
-#: src/screens/Login/LoginForm.tsx:234
-#: src/screens/Login/LoginForm.tsx:241
+#: src/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: 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/components/Error.tsx:86
-#: src/view/screens/ProfileList.tsx:917
+#: src/components/Error.tsx:95
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Zurück zur vorherigen Seite"
@@ -3898,12 +4075,12 @@ msgstr "Handle-Änderung speichern"
msgid "Save image crop"
msgstr "Bildausschnitt speichern"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: 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 "Gespeicherte Feeds"
@@ -3911,7 +4088,7 @@ msgstr "Gespeicherte Feeds"
msgid "Saved to your camera roll."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
msgstr ""
@@ -3931,28 +4108,28 @@ msgstr ""
msgid "Science"
msgstr "Wissenschaft"
-#: src/view/screens/ProfileList.tsx:873
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Zum Anfang blättern"
-#: src/Navigation.tsx:459
+#: src/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Suche"
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "Suche nach \"{query}\""
@@ -3971,6 +4148,14 @@ msgstr "Nach allen Beiträgen mit dem Tag {displayTag} suchen"
msgid "Search for users"
msgstr "Nach Nutzern suchen"
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr ""
+
#: src/view/com/modals/ChangeEmail.tsx:110
msgid "Security Step Required"
msgstr "Sicherheitsschritt erforderlich"
@@ -3991,13 +4176,18 @@ 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:40
-msgid "See what's next"
-msgstr "Schau, was als nächstes kommt"
+#~ msgid "See what's next"
+#~ msgstr "Schau, was als nächstes kommt"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
@@ -4011,6 +4201,14 @@ msgstr ""
msgid "Select from an existing account"
msgstr "Von einem bestehenden Konto auswählen"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
msgstr ""
@@ -4032,7 +4230,7 @@ msgstr "Wähle Option {i} von {numItems}"
msgid "Select some accounts below to follow"
msgstr "Wähle unten einige Konten aus, denen du folgen möchtest"
-#: src/components/ReportDialog/SubmitView.tsx:135
+#: src/components/ReportDialog/SubmitView.tsx:133
msgid "Select the moderation service(s) to report to"
msgstr ""
@@ -4060,7 +4258,7 @@ msgstr "Wähle aus, welche Sprachen deine abonnierten Feeds enthalten sollen. We
msgid "Select your app language for the default text to display in the app."
msgstr ""
-#: src/screens/Signup/StepInfo/index.tsx:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
msgstr ""
@@ -4080,8 +4278,8 @@ msgstr "Wähle deine primären algorithmischen Feeds"
msgid "Select your secondary algorithmic feeds"
msgstr "Wähle deine sekundären algorithmischen Feeds"
-#: src/view/com/modals/VerifyEmail.tsx:202
-#: src/view/com/modals/VerifyEmail.tsx:204
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "Bestätigungs-E-Mail senden"
@@ -4094,13 +4292,13 @@ msgctxt "action"
msgid "Send Email"
msgstr "E-Mail senden"
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Feedback senden"
-#: 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 ""
@@ -4112,6 +4310,11 @@ msgstr ""
msgid "Send report to {0}"
msgstr ""
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
+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"
@@ -4190,23 +4393,23 @@ msgstr "Dein Konto einrichten"
msgid "Sets Bluesky username"
msgstr "Legt deinen Bluesky-Benutzernamen fest"
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
msgstr ""
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
msgstr ""
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
msgstr ""
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
msgstr ""
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
msgstr ""
@@ -4235,11 +4438,11 @@ msgstr ""
#~ msgid "Sets server for the Bluesky client"
#~ msgstr "Setzt den Server für den Bluesky-Client"
-#: src/Navigation.tsx:139
-#: src/view/screens/Settings/index.tsx:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Einstellungen"
@@ -4258,21 +4461,21 @@ msgstr "Teilen"
#: 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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Teilen"
#: src/view/com/profile/ProfileMenu.tsx:373
-#: src/view/com/util/forms/PostDropdownBtn.tsx:347
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Feed teilen"
@@ -4289,7 +4492,7 @@ msgstr ""
#: 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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr "Anzeigen"
@@ -4315,13 +4518,13 @@ msgstr ""
#~ msgid "Show embeds from {0}"
#~ msgstr "Eingebettete Medien von {0} anzeigen"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr "Zeige ähnliche Konten wie {0}"
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr "Mehr anzeigen"
@@ -4378,7 +4581,7 @@ msgstr "Reposts im Following-Feed anzeigen"
msgid "Show the content"
msgstr "Den Inhalt anzeigen"
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Nutzer anzeigen"
@@ -4398,24 +4601,24 @@ msgstr ""
msgid "Shows posts from {0} in your feed"
msgstr "Zeigt Beiträge von {0} in deinem Feed"
+#: 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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr "Anmelden"
@@ -4433,28 +4636,36 @@ msgstr "Anmelden als {0}"
msgid "Sign in as..."
msgstr "Anmelden als..."
+#: 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:140
#~ msgid "Sign into"
#~ msgstr "Anmelden bei"
-#: src/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "Abmelden"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
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"
@@ -4463,7 +4674,7 @@ msgstr "Registriere dich oder melden dich an, um an der Diskussion teilzunehmen"
msgid "Sign-in Required"
msgstr "Anmelden erforderlich"
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "Angemeldet als"
@@ -4491,7 +4702,7 @@ msgstr "Software-Entwicklung"
#: src/components/ReportDialog/index.tsx:59
#: src/screens/Moderation/index.tsx:114
-#: src/screens/Profile/Sections/Labels.tsx:76
+#: src/screens/Profile/Sections/Labels.tsx:87
msgid "Something went wrong, please try again."
msgstr ""
@@ -4499,7 +4710,7 @@ msgstr ""
#~ msgid "Something went wrong!"
#~ msgstr "Es ist ein Fehler aufgetreten."
-#: src/App.native.tsx:66
+#: 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."
@@ -4531,11 +4742,11 @@ msgstr "Sport"
msgid "Square"
msgstr "Quadratische"
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "Status-Seite"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
msgstr ""
@@ -4543,12 +4754,12 @@ msgstr ""
#~ msgid "Step {0} of {numSteps}"
#~ msgstr "Schritt {0} von {numSteps}"
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
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:211
-#: src/view/screens/Settings/index.tsx:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr "Geschichtenbuch"
@@ -4557,15 +4768,15 @@ msgstr "Geschichtenbuch"
msgid "Submit"
msgstr "Einreichen"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Abonnieren"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: src/screens/Profile/Sections/Labels.tsx:191
msgid "Subscribe to @{0} to use these labels:"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
msgstr ""
@@ -4574,15 +4785,15 @@ msgstr ""
msgid "Subscribe to the {0} feed"
msgstr "Abonniere den {0} Feed"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: 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 "Abonniere diese Liste"
-#: src/view/screens/Search/Search.tsx:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "Vorgeschlagene Follower"
@@ -4594,30 +4805,30 @@ msgstr "Vorgeschlagen für dich"
msgid "Suggestive"
msgstr "Suggestiv"
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
msgstr "Support"
-#: src/components/dialogs/SwitchAccount.tsx:46
-#: src/components/dialogs/SwitchAccount.tsx:49
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "Konto wechseln"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr "Wechseln zu {0}"
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
msgid "Switches the account you are logged in to"
msgstr "Wechselt das Konto, in das du eingeloggt bist"
-#: src/view/screens/Settings/index.tsx:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr "System"
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "Systemprotokoll"
@@ -4645,11 +4856,11 @@ msgstr "Technik"
msgid "Terms"
msgstr "Bedingungen"
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Nutzungsbedingungen"
@@ -4667,7 +4878,7 @@ msgstr "Text"
msgid "Text input field"
msgstr "Text-Eingabefeld"
-#: src/components/ReportDialog/SubmitView.tsx:78
+#: src/components/ReportDialog/SubmitView.tsx:76
msgid "Thank you. Your report has been sent."
msgstr ""
@@ -4675,11 +4886,11 @@ msgstr ""
msgid "That contains the following:"
msgstr ""
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "Dieser Handle ist bereits besetzt."
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: 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."
@@ -4729,8 +4940,8 @@ msgstr "Die Allgemeinen Geschäftsbedingungen wurden verschoben nach"
msgid "There are many feeds to try:"
msgstr "Es gibt viele Feeds zum Ausprobieren:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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."
@@ -4738,15 +4949,19 @@ msgstr "Es gab ein Problem bei der Kontaktaufnahme mit dem Server. Bitte überpr
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:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+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 "Es gab ein Problem bei der Kontaktaufnahme mit dem Server"
@@ -4769,12 +4984,12 @@ 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/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 ""
@@ -4786,9 +5001,9 @@ msgstr "Es gab ein Problem bei der Synchronisierung deiner Einstellungen mit dem
msgid "There was an issue with fetching your app passwords"
msgstr "Es gab ein Problem beim Abrufen deiner App-Passwörter"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -4800,14 +5015,15 @@ msgstr "Es gab ein Problem beim Abrufen deiner App-Passwörter"
msgid "There was an issue! {0}"
msgstr "Es gab ein Problem! {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 "Es ist ein Problem aufgetreten. Bitte überprüfe deine Internetverbindung und versuche es erneut."
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
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!"
@@ -4864,9 +5080,9 @@ msgstr ""
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/screens/Profile/Sections/Feed.tsx:50
-#: src/view/screens/ProfileFeed.tsx:477
-#: 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 "Dieser Feed ist leer!"
@@ -4878,7 +5094,7 @@ msgstr "Dieser Feed ist leer! Möglicherweise musst du mehr Benutzern folgen ode
msgid "This information is not shared with other users."
msgstr "Diese Informationen werden nicht an andere Nutzer weitergegeben."
-#: src/view/com/modals/VerifyEmail.tsx:119
+#: src/view/com/modals/VerifyEmail.tsx:127
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."
@@ -4886,7 +5102,7 @@ msgstr "Das ist wichtig für den Fall, dass du mal deine E-Mail ändern oder dei
msgid "This label was applied by {0}."
msgstr ""
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: src/screens/Profile/Sections/Labels.tsx:178
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
msgstr ""
@@ -4894,7 +5110,7 @@ msgstr ""
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:853
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "Diese Liste ist leer!"
@@ -4906,16 +5122,16 @@ msgstr ""
msgid "This name is already in use"
msgstr "Dieser Name ist bereits in Gebrauch"
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr "Dieser Beitrag wurde gelöscht."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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:352
msgid "This post will be hidden from feeds."
msgstr ""
@@ -4976,12 +5192,12 @@ msgstr "Dies wird {0} aus deinen stummgeschalteten Wörtern löschen. Du kannst
#~ msgid "This will hide this post from your feeds."
#~ msgstr "Dadurch wird dieser Beitrag aus deinen Feeds ausgeblendet."
-#: src/view/screens/Settings/index.tsx:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
msgstr ""
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "Thread-Einstellungen"
@@ -4989,10 +5205,14 @@ msgstr "Thread-Einstellungen"
msgid "Threaded Mode"
msgstr "Gewindemodus"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr "Thread-Einstellungen"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr ""
+
#: src/components/ReportDialog/SelectLabelerView.tsx:33
msgid "To whom would you like to send this report?"
msgstr ""
@@ -5009,14 +5229,19 @@ msgstr "Dieses Dropdown umschalten"
msgid "Toggle to enable or disable adult content"
msgstr ""
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr ""
+
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Verwandlungen"
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "Übersetzen"
@@ -5025,35 +5250,39 @@ msgctxt "action"
msgid "Try again"
msgstr "Erneut versuchen"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr ""
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
msgstr ""
-#: src/view/screens/ProfileList.tsx:478
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Liste entblocken"
-#: src/view/screens/ProfileList.tsx:461
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Stummschaltung von Liste aufheben"
#: src/screens/Login/ForgotPasswordForm.tsx:74
#: src/screens/Login/index.tsx:78
-#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:181
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
-#: src/view/screens/ProfileList.tsx:572
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Entblocken"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr "Entblocken"
@@ -5063,7 +5292,7 @@ msgstr "Entblocken"
msgid "Unblock Account"
msgstr "Konto entblocken"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
msgstr ""
@@ -5076,7 +5305,7 @@ msgid "Undo repost"
msgstr "Repost rückgängig machen"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
msgstr ""
@@ -5085,7 +5314,7 @@ msgctxt "action"
msgid "Unfollow"
msgstr "Nicht mehr folgen"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
msgid "Unfollow {0}"
msgstr "{0} nicht mehr folgen"
@@ -5098,16 +5327,16 @@ msgstr ""
#~ 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:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Like aufheben"
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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 "Stummschaltung aufheben"
@@ -5124,21 +5353,21 @@ 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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "Stummschaltung von Thread aufheben"
-#: src/view/screens/ProfileFeed.tsx:295
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Anheften aufheben"
-#: src/view/screens/ProfileFeed.tsx:292
+#: 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 "Anheften der Moderationsliste aufheben"
@@ -5146,11 +5375,11 @@ msgstr "Anheften der Moderationsliste aufheben"
#~ msgid "Unsave"
#~ msgstr "Speicherung aufheben"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
msgstr ""
@@ -5178,20 +5407,20 @@ msgstr "Aktualisieren..."
msgid "Upload a text file to:"
msgstr "Hochladen einer Textdatei auf:"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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:343
+#: 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:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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"
@@ -5265,13 +5494,13 @@ msgstr "Benutzer blockiert dich"
msgid "User list by {0}"
msgstr "Benutzerliste von {0}"
-#: src/view/screens/ProfileList.tsx:777
+#: 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:775
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "Benutzerliste von dir"
@@ -5287,11 +5516,11 @@ msgstr "Benutzerliste aktualisiert"
msgid "User Lists"
msgstr "Benutzerlisten"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "Benutzername oder E-Mail-Adresse"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "Benutzer"
@@ -5315,15 +5544,15 @@ msgstr ""
msgid "Verify {0}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "E-Mail bestätigen"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "Meine E-Mail bestätigen"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "Meine E-Mail bestätigen"
@@ -5332,11 +5561,11 @@ msgstr "Meine E-Mail bestätigen"
msgid "Verify New Email"
msgstr "Neue E-Mail bestätigen"
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr "Überprüfe deine E-Mail"
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
msgstr ""
@@ -5346,17 +5575,17 @@ msgstr "Videospiele"
#: 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/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
msgstr ""
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
msgstr ""
@@ -5368,6 +5597,8 @@ msgstr "Vollständigen Thread ansehen"
msgid "View information about these labels"
msgstr ""
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Profil ansehen"
@@ -5380,7 +5611,7 @@ msgstr "Avatar ansehen"
msgid "View the labeling service provided by @{0}"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
msgstr ""
@@ -5408,7 +5639,7 @@ msgstr ""
#~ 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
+#: src/screens/Hashtag.tsx:210
msgid "We couldn't find any results for that hashtag."
msgstr "Wir konnten keine Ergebnisse für diesen Hashtag finden."
@@ -5456,11 +5687,11 @@ msgstr "Wir werden dich benachrichtigen, wenn dein Konto bereit ist."
msgid "We'll use this to help customize your experience."
msgstr "Wir verwenden diese Informationen, um dein Erlebnis individuell zu gestalten."
-#: src/screens/Signup/index.tsx:130
+#: 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: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 "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}."
@@ -5468,16 +5699,16 @@ msgstr "Es tut uns leid, aber wir waren nicht in der Lage, diese Liste aufzulös
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:256
+#: src/view/screens/Search/Search.tsx:323
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:188
+#: src/components/Lists.tsx:197
#: 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/screens/Profile/Header/ProfileHeaderLabeler.tsx:321
+#: 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 ""
@@ -5493,9 +5724,9 @@ msgstr "Was sind deine Interessen?"
#~ msgid "What is the issue with this {collectionName}?"
#~ msgstr "Was ist das Problem mit diesem {collectionName}?"
-#: src/view/com/auth/SplashScreen.tsx:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr "Was gibt's?"
@@ -5536,11 +5767,11 @@ msgstr ""
msgid "Wide"
msgstr "Breit"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "Beitrag verfassen"
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Schreibe deine Antwort"
@@ -5589,15 +5820,15 @@ msgstr ""
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."
@@ -5639,16 +5870,16 @@ msgstr ""
#~ msgid "You have muted this user."
#~ msgstr "Du hast diesen Benutzer stummgeschaltet."
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: 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
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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 ""
@@ -5660,7 +5891,7 @@ msgstr ""
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
+#: 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 ""
@@ -5688,15 +5919,15 @@ msgstr ""
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/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 "Du wirst keine Mitteilungen mehr für diesen Thread erhalten"
-#: 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 "Du erhälst nun Mitteilungen für dieses Thread"
@@ -5727,7 +5958,7 @@ msgstr ""
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/screens/Signup/index.tsx:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Dein Konto"
@@ -5739,7 +5970,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/screens/Signup/StepInfo/index.tsx:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Dein Geburtsdatum"
@@ -5761,7 +5992,7 @@ msgstr "Deine E-Mail scheint ungültig zu sein."
msgid "Your email has been updated but not verified. As a next step, please verify your new email."
msgstr "Deine E-Mail wurde aktualisiert, aber nicht bestätigt. Als nächsten Schritt bestätige bitte deine neue E-Mail."
-#: src/view/com/modals/VerifyEmail.tsx:114
+#: src/view/com/modals/VerifyEmail.tsx:122
msgid "Your email has not yet been verified. This is an important security step which we recommend."
msgstr "Deine E-Mail wurde noch nicht bestätigt. Dies ist ein wichtiger Sicherheitsschritt, den wir empfehlen."
@@ -5769,7 +6000,7 @@ 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/screens/Signup/StepHandle.tsx:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Dein vollständiger Handle lautet"
@@ -5785,7 +6016,7 @@ msgstr "Deine stummgeschalteten Wörter"
msgid "Your password has been changed successfully!"
msgstr "Dein Passwort wurde erfolgreich geändert!"
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr "Dein Beitrag wurde veröffentlicht"
@@ -5795,14 +6026,14 @@ msgstr "Dein Beitrag wurde veröffentlicht"
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/screens/Settings/index.tsx:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "Dein Profil"
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr "Deine Antwort wurde veröffentlicht"
-#: src/screens/Signup/index.tsx:152
+#: 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 8a88ef3ad1..336056543c 100644
--- a/src/locale/locales/en/messages.po
+++ b/src/locale/locales/en/messages.po
@@ -13,33 +13,16 @@ msgstr ""
"Language-Team: \n"
"Plural-Forms: \n"
-#: src/view/com/modals/VerifyEmail.tsx:142
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr ""
-#: src/view/shell/desktop/RightNav.tsx:168
-#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
-#~ msgstr ""
-
+#: src/components/ProfileHoverCard/index.web.tsx:438
#: 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:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr ""
@@ -51,15 +34,20 @@ msgstr ""
msgid "<0>{0}0> following"
msgstr ""
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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 ""
@@ -67,39 +55,44 @@ msgstr ""
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr ""
-#: src/screens/Profile/Header/Handle.tsx:42
+#: 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/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr ""
-#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:649
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
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:300
-#: src/view/screens/Settings/index.tsx:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr ""
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr ""
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr ""
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr ""
@@ -132,7 +125,7 @@ msgstr ""
msgid "Account removed from quick access"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr ""
@@ -149,7 +142,7 @@ msgstr ""
#: 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:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr ""
@@ -157,13 +150,13 @@ 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/components/dialogs/SwitchAccount.tsx:55
-#: src/view/screens/Settings/index.tsx:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr ""
@@ -179,22 +172,13 @@ msgstr ""
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:467
-msgid "Add link card"
-msgstr ""
+#~ msgid "Add link card"
+#~ msgstr ""
#: src/view/com/composer/Composer.tsx:472
-msgid "Add link card:"
-msgstr ""
+#~ msgid "Add link card:"
+#~ msgstr ""
#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
@@ -240,24 +224,16 @@ msgstr ""
msgid "Adult Content"
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:141
-#~ 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/components/moderation/LabelPreference.tsx:242
msgid "Adult content is disabled."
msgstr ""
#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
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 ""
@@ -275,6 +251,7 @@ msgid "ALT"
msgstr ""
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr ""
@@ -282,7 +259,8 @@ msgstr ""
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
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
msgstr ""
@@ -290,10 +268,16 @@ msgstr ""
msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
msgstr ""
+#: src/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr ""
+
#: 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
@@ -301,7 +285,7 @@ msgstr ""
msgid "An issue occurred, please try again."
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr ""
@@ -310,6 +294,10 @@ msgstr ""
msgid "Animals"
msgstr ""
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
msgstr ""
@@ -330,17 +318,13 @@ msgstr ""
msgid "App Password names must be at least 4 characters long."
msgstr ""
-#: src/view/screens/Settings/index.tsx:695
+#: src/view/screens/Settings/index.tsx:647
msgid "App password settings"
msgstr ""
-#: src/view/screens/Settings.tsx:650
-#~ msgid "App passwords"
-#~ msgstr ""
-
-#: src/Navigation.tsx:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr ""
@@ -353,28 +337,11 @@ msgstr ""
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"
-#~ msgstr ""
-
#: src/components/moderation/LabelsOnMeDialog.tsx:192
msgid "Appeal submitted."
msgstr ""
-#: src/view/com/util/moderation/LabelInfo.tsx:52
-#~ msgid "Appeal this decision"
-#~ msgstr ""
-
-#: src/view/com/util/moderation/LabelInfo.tsx:56
-#~ msgid "Appeal this decision."
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr ""
@@ -386,7 +353,7 @@ msgstr ""
msgid "Are you sure you want to remove {0} from your feeds?"
msgstr ""
-#: src/view/com/composer/Composer.tsx:509
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr ""
@@ -394,10 +361,6 @@ msgstr ""
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 ""
@@ -410,7 +373,7 @@ msgstr ""
msgid "Artistic or non-erotic nudity."
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
msgstr ""
@@ -420,26 +383,21 @@ msgstr ""
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:480
-#~ msgctxt "action"
-#~ msgid "Back"
-#~ msgstr ""
-
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr ""
@@ -447,11 +405,11 @@ msgstr ""
msgid "Birthday"
msgstr ""
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
msgstr ""
@@ -465,25 +423,21 @@ 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/screens/ProfileList.tsx:320
-#~ msgid "Block this List"
-#~ 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 ""
@@ -491,8 +445,8 @@ msgstr ""
msgid "Blocked accounts"
msgstr ""
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr ""
@@ -500,7 +454,7 @@ 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:120
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 ""
@@ -508,11 +462,11 @@ msgstr ""
msgid "Blocked post."
msgstr ""
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: 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 ""
@@ -520,12 +474,10 @@ 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:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -550,18 +502,10 @@ msgstr ""
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/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 ""
@@ -574,19 +518,10 @@ msgstr ""
msgid "Books"
msgstr ""
-#: src/view/screens/Settings/index.tsx:893
-#~ msgid "Build version {0} {1}"
-#~ msgstr ""
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: 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 ""
@@ -611,7 +546,7 @@ msgstr ""
msgid "by you"
msgstr ""
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr ""
@@ -623,8 +558,8 @@ msgstr ""
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -639,9 +574,9 @@ msgstr ""
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr ""
@@ -679,42 +614,38 @@ msgstr ""
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/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
msgstr ""
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr ""
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr ""
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr ""
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr ""
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr ""
@@ -722,10 +653,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 ""
@@ -735,14 +662,18 @@ 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/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr ""
+
#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr ""
@@ -751,10 +682,6 @@ 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 ""
@@ -768,44 +695,40 @@ msgstr ""
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:104
msgid "Choose your main feeds"
msgstr ""
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr ""
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
msgid "Clear all legacy storage data (restart after this)"
msgstr ""
-#: src/view/screens/Settings/index.tsx:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
msgid "Clear all storage data (restart after this)"
msgstr ""
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr ""
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
msgstr ""
@@ -817,21 +740,22 @@ msgstr ""
msgid "Click here to open tag menu for {tag}"
msgstr ""
-#: src/components/RichText.tsx:192
-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 ""
+#: src/components/dialogs/GifSelect.tsx:300
#: 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
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr ""
@@ -843,6 +767,14 @@ msgstr ""
msgid "Close bottom drawer"
msgstr ""
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr ""
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr ""
@@ -851,7 +783,7 @@ msgstr ""
msgid "Close image viewer"
msgstr ""
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr ""
@@ -860,7 +792,7 @@ msgstr ""
msgid "Close this dialog"
msgstr ""
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr ""
@@ -868,7 +800,7 @@ msgstr ""
msgid "Closes password update alert"
msgstr ""
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr ""
@@ -876,7 +808,7 @@ msgstr ""
msgid "Closes viewer for header image"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:321
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr ""
@@ -888,7 +820,7 @@ msgstr ""
msgid "Comics"
msgstr ""
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr ""
@@ -897,11 +829,11 @@ msgstr ""
msgid "Complete onboarding and start using your account"
msgstr ""
-#: src/screens/Signup/index.tsx:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr ""
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr ""
@@ -924,19 +856,15 @@ 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/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
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"
@@ -950,10 +878,6 @@ msgstr ""
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 ""
@@ -962,22 +886,21 @@ msgstr ""
msgid "Confirm your birthdate"
msgstr ""
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
msgid "Confirmation code"
msgstr ""
-#: src/view/com/modals/Waitlist.tsx:120
-#~ msgid "Confirms signing up {email} to the waitlist"
-#~ msgstr ""
-
-#: src/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr ""
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr ""
@@ -989,14 +912,6 @@ msgstr ""
msgid "Content Blocked"
msgstr ""
-#: src/view/screens/Moderation.tsx:83
-#~ msgid "Content filtering"
-#~ msgstr ""
-
-#: src/view/com/modals/ContentFilteringSettings.tsx:44
-#~ msgid "Content Filtering"
-#~ msgstr ""
-
#: src/screens/Moderation/index.tsx:285
msgid "Content filters"
msgstr ""
@@ -1031,8 +946,8 @@ msgstr ""
#: 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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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 ""
@@ -1045,7 +960,7 @@ msgstr ""
#: 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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr ""
@@ -1066,17 +981,21 @@ msgstr ""
msgid "Copied"
msgstr ""
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
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:158
+#: 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 ""
@@ -1089,25 +1008,26 @@ msgstr ""
msgid "Copy {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:388
+#: 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:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
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:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr ""
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr ""
@@ -1116,39 +1036,38 @@ msgstr ""
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/create/Step2.tsx:91
-#~ msgid "Country"
-#~ msgstr ""
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr ""
-#: src/screens/Signup/index.tsx:129
+#: 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/HomeLoggedOutCTA.tsx:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: 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 ""
@@ -1156,17 +1075,9 @@ msgstr ""
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:469
-msgid "Creates a card with a thumbnail. The card links to {url}"
-msgstr ""
+#~ msgid "Creates a card with a thumbnail. The card links to {url}"
+#~ msgstr ""
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
@@ -1182,20 +1093,16 @@ msgid "Custom domain"
msgstr ""
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr ""
-#: src/view/screens/Settings.tsx:687
-#~ msgid "Danger Zone"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr ""
@@ -1203,15 +1110,15 @@ msgstr ""
msgid "Dark mode"
msgstr ""
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr ""
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
msgstr ""
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
msgstr ""
@@ -1219,13 +1126,13 @@ msgstr ""
msgid "Debug panel"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: 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:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr ""
@@ -1241,7 +1148,7 @@ msgstr ""
msgid "Delete app password?"
msgstr ""
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr ""
@@ -1249,28 +1156,24 @@ msgstr ""
msgid "Delete my account"
msgstr ""
-#: src/view/screens/Settings.tsx:706
-#~ msgid "Delete my account…"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
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:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
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:340
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 ""
@@ -1285,18 +1188,34 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/view/screens/Settings.tsx:760
-#~ msgid "Developer Tools"
-#~ msgstr ""
-
-#: src/view/com/composer/Composer.tsx:218
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr ""
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr ""
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr ""
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr ""
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+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
@@ -1304,15 +1223,11 @@ msgstr ""
msgid "Disabled"
msgstr ""
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr ""
-#: src/view/com/composer/Composer.tsx:145
-#~ msgid "Discard draft"
-#~ msgstr ""
-
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
msgstr ""
@@ -1326,11 +1241,7 @@ 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 ""
@@ -1350,7 +1261,7 @@ msgstr ""
msgid "Does not include nudity."
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
msgstr ""
@@ -1362,10 +1273,6 @@ msgstr ""
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
@@ -1384,7 +1291,7 @@ msgstr ""
msgid "Done"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: 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
@@ -1401,20 +1308,12 @@ msgstr ""
msgid "Done{extraText}"
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 ""
-
#: 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
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr ""
@@ -1467,7 +1366,7 @@ msgctxt "action"
msgid "Edit"
msgstr ""
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
msgstr ""
@@ -1477,7 +1376,7 @@ msgstr ""
msgid "Edit image"
msgstr ""
-#: src/view/screens/ProfileList.tsx:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr ""
@@ -1485,9 +1384,9 @@ msgstr ""
msgid "Edit Moderation List"
msgstr ""
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr ""
@@ -1495,18 +1394,18 @@ msgstr ""
msgid "Edit my profile"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
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 ""
@@ -1531,6 +1430,10 @@ msgstr ""
msgid "Email"
msgstr ""
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr ""
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr ""
@@ -1544,14 +1447,28 @@ msgstr ""
msgid "Email Updated"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr ""
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
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:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+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 ""
@@ -1574,11 +1491,7 @@ msgstr ""
msgid "Enable external media"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:97
-#~ msgid "Enable External Media"
-#~ msgstr ""
-
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr ""
@@ -1594,7 +1507,7 @@ msgstr ""
msgid "Enabled"
msgstr ""
-#: src/screens/Profile/Sections/Feed.tsx:84
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr ""
@@ -1611,7 +1524,7 @@ msgstr ""
msgid "Enter a word or tag"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:105
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr ""
@@ -1631,12 +1544,8 @@ msgstr ""
msgid "Enter your birth date"
msgstr ""
-#: src/view/com/modals/Waitlist.tsx:78
-#~ msgid "Enter your email"
-#~ msgstr ""
-
#: src/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr ""
@@ -1648,10 +1557,6 @@ msgstr ""
msgid "Enter your new email address below."
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:188
-#~ msgid "Enter your phone number"
-#~ msgstr ""
-
#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr ""
@@ -1660,7 +1565,7 @@ msgstr ""
msgid "Error receiving captcha response."
msgstr ""
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr ""
@@ -1693,16 +1598,12 @@ msgstr ""
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: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 ""
@@ -1714,12 +1615,12 @@ msgstr ""
msgid "Explicit sexual images."
msgstr ""
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr ""
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr ""
@@ -1729,17 +1630,17 @@ msgid "External Media"
msgstr ""
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr ""
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr ""
@@ -1752,12 +1653,16 @@ msgstr ""
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/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+msgstr ""
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr ""
@@ -1765,7 +1670,7 @@ msgstr ""
msgid "Failed to save image: {0}"
msgstr ""
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr ""
@@ -1773,43 +1678,31 @@ msgstr ""
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:314
+#: 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:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: 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 ""
@@ -1835,13 +1728,17 @@ msgstr ""
msgid "Find accounts to follow"
msgstr ""
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
msgstr ""
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr ""
+#: src/view/screens/Search/Search.tsx:589
+#~ msgid "Find users on Bluesky"
+#~ msgstr ""
+
+#: 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..."
@@ -1851,10 +1748,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 ""
@@ -1877,10 +1770,10 @@ msgid "Flip vertically"
msgstr ""
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr ""
@@ -1890,7 +1783,7 @@ msgid "Follow"
msgstr ""
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr ""
@@ -1912,11 +1805,11 @@ msgstr ""
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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr ""
@@ -1928,7 +1821,7 @@ msgstr ""
msgid "Followed users only"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr ""
@@ -1937,26 +1830,26 @@ msgstr ""
msgid "Followers"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: 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
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
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/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
msgstr ""
@@ -1964,7 +1857,7 @@ msgstr ""
msgid "Follows you"
msgstr ""
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr ""
@@ -1980,24 +1873,16 @@ msgstr ""
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 password"
-#~ msgstr ""
-
#: src/screens/Login/index.tsx:129
#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
msgstr ""
@@ -2005,22 +1890,21 @@ msgstr ""
msgid "Frequently Posts Unwanted Content"
msgstr ""
-#: src/screens/Hashtag.tsx:109
-#: src/screens/Hashtag.tsx:149
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
msgstr ""
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr ""
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr ""
@@ -2034,25 +1918,25 @@ msgstr ""
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: src/view/screens/ProfileList.tsx:918
#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr ""
-#: src/components/Error.tsx:91
+#: src/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr ""
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr ""
@@ -2064,7 +1948,7 @@ msgstr ""
msgid "Go Home"
msgstr ""
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr ""
@@ -2082,28 +1966,28 @@ msgstr ""
msgid "Handle"
msgstr ""
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
msgstr ""
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
msgstr ""
-#: src/components/RichText.tsx:188
-#~ msgid "Hashtag: {tag}"
-#~ msgstr ""
-
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
msgstr ""
-#: src/screens/Signup/index.tsx:217
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr ""
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr ""
@@ -2132,17 +2016,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:354
msgid "Hide"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:329
+#: 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:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr ""
@@ -2151,18 +2035,14 @@ msgstr ""
msgid "Hide the content"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:319
+#: 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 ""
@@ -2191,27 +2071,20 @@ msgstr ""
msgid "Hmmmm, we couldn't load that moderation service."
msgstr ""
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: 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/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
@@ -2221,11 +2094,13 @@ msgstr ""
msgid "How should we open this link?"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:214
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr ""
@@ -2245,11 +2120,11 @@ msgstr ""
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:610
+#: 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:342
msgid "If you remove this post, you won't be able to recover it."
msgstr ""
@@ -2269,11 +2144,6 @@ msgstr ""
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 ""
@@ -2286,14 +2156,6 @@ msgstr ""
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:181
msgid "Input name for app password"
msgstr ""
@@ -2306,27 +2168,19 @@ msgstr ""
msgid "Input password for account deletion"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:196
-#~ msgid "Input phone number for SMS verification"
-#~ msgstr ""
+#: src/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr ""
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
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/screens/Login/LoginForm.tsx:194
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr ""
@@ -2334,22 +2188,23 @@ msgstr ""
msgid "Input your preferred hosting provider"
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:62
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:221
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr ""
-#: src/view/screens/Settings.tsx:411
-#~ msgid "Invite"
-#~ msgstr ""
-
#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr ""
@@ -2366,10 +2221,6 @@ msgstr ""
msgid "Invite codes: {0} available"
msgstr ""
-#: src/view/shell/Drawer.tsx:645
-#~ msgid "Invite codes: {invitesAvailable} available"
-#~ msgstr ""
-
#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr ""
@@ -2378,24 +2229,10 @@ msgstr ""
msgid "It shows posts from the people you follow as they happen."
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: 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 ""
@@ -2412,11 +2249,11 @@ msgstr ""
msgid "Labeled by the author."
msgstr ""
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
msgstr ""
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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 ""
@@ -2436,26 +2273,23 @@ msgstr ""
msgid "Language selection"
msgstr ""
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr ""
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr ""
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr ""
-#: src/view/com/auth/create/StepHeader.tsx:20
-#~ msgid "Last step!"
-#~ msgstr ""
-
-#: src/view/com/util/moderation/ContentHider.tsx:103
-#~ msgid "Learn more"
-#~ msgstr ""
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr ""
#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
@@ -2491,7 +2325,7 @@ msgstr ""
msgid "left to go."
msgstr ""
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
msgid "Legacy storage cleared, you need to restart the app now."
msgstr ""
@@ -2504,27 +2338,22 @@ msgstr ""
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:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr ""
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
msgid "Liked by"
msgstr ""
@@ -2542,29 +2371,29 @@ msgstr ""
msgid "Liked by {count} {0}"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr ""
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr ""
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr ""
@@ -2572,7 +2401,7 @@ msgstr ""
msgid "List Avatar"
msgstr ""
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr ""
@@ -2580,11 +2409,11 @@ msgstr ""
msgid "List by {0}"
msgstr ""
-#: 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 ""
@@ -2592,36 +2421,31 @@ msgstr ""
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:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: 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/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr ""
@@ -2629,11 +2453,7 @@ msgstr ""
msgid "Loading..."
msgstr ""
-#: src/view/com/modals/ServerInput.tsx:50
-#~ msgid "Local dev server"
-#~ msgstr ""
-
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr ""
@@ -2652,6 +2472,10 @@ msgstr ""
msgid "Login to account that is not listed"
msgstr ""
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+msgstr ""
+
#: src/screens/Login/SetNewPasswordForm.tsx:116
msgid "Looks like XXXXX-XXXXX"
msgstr ""
@@ -2664,15 +2488,8 @@ msgstr ""
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:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr ""
@@ -2684,8 +2501,8 @@ msgstr ""
msgid "Mentioned users"
msgstr ""
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr ""
@@ -2697,12 +2514,12 @@ msgstr ""
msgid "Misleading Account"
msgstr ""
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr ""
@@ -2715,13 +2532,13 @@ msgstr ""
msgid "Moderation list by {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:789
+#: 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:787
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr ""
@@ -2737,16 +2554,16 @@ msgstr ""
msgid "Moderation lists"
msgstr ""
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr ""
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr ""
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
msgstr ""
@@ -2767,22 +2584,14 @@ msgstr ""
msgid "More feeds"
msgstr ""
-#: src/view/screens/ProfileList.tsx:599
+#: 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 ""
@@ -2796,7 +2605,7 @@ msgstr ""
msgid "Mute Account"
msgstr ""
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr ""
@@ -2804,10 +2613,6 @@ msgstr ""
msgid "Mute all {displayTag} posts"
msgstr ""
-#: src/components/TagMenu/index.tsx:211
-#~ msgid "Mute all {tag} posts"
-#~ msgstr ""
-
#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
msgstr ""
@@ -2816,19 +2621,15 @@ msgstr ""
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/view/screens/ProfileList.tsx:279
-#~ msgid "Mute this List"
-#~ msgstr ""
-
#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
msgstr ""
@@ -2837,13 +2638,13 @@ msgstr ""
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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
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:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
msgstr ""
@@ -2855,12 +2656,12 @@ msgstr ""
msgid "Muted accounts"
msgstr ""
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: 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 ""
@@ -2872,7 +2673,7 @@ msgstr ""
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 ""
@@ -2881,7 +2682,7 @@ msgstr ""
msgid "My Birthday"
msgstr ""
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr ""
@@ -2889,18 +2690,14 @@ msgstr ""
msgid "My Profile"
msgstr ""
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
msgstr ""
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
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:180
#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
@@ -2921,7 +2718,7 @@ msgid "Nature"
msgstr ""
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr ""
@@ -2930,15 +2727,10 @@ msgstr ""
msgid "Navigates to your profile"
msgstr ""
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: 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:74
msgid "Never lose access to your followers and data."
@@ -2948,10 +2740,6 @@ msgstr ""
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 ""
@@ -2977,17 +2765,17 @@ msgstr ""
msgid "New Password"
msgstr ""
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
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:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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 ""
@@ -3011,12 +2799,12 @@ msgstr ""
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -3040,8 +2828,8 @@ msgstr ""
msgid "No"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr ""
@@ -3049,11 +2837,15 @@ msgstr ""
msgid "No DNS Panel"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
msgstr ""
@@ -3066,20 +2858,24 @@ msgstr ""
msgid "No result"
msgstr ""
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr ""
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr ""
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
@@ -3102,19 +2898,19 @@ msgstr ""
msgid "Not Applicable."
msgstr ""
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:246
-#: src/view/com/modals/VerifyEmail.tsx:252
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr ""
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
msgstr ""
@@ -3122,13 +2918,13 @@ msgstr ""
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:469
+#: src/Navigation.tsx:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr ""
@@ -3140,11 +2936,7 @@ msgstr ""
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:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
msgstr ""
@@ -3152,7 +2944,8 @@ msgstr ""
msgid "Off"
msgstr ""
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr ""
@@ -3161,7 +2954,7 @@ msgid "Oh no! Something went wrong."
msgstr ""
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
msgstr ""
@@ -3173,11 +2966,11 @@ msgstr ""
msgid "Oldest replies first"
msgstr ""
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr ""
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr ""
@@ -3185,17 +2978,17 @@ msgstr ""
msgid "Only {0} can reply."
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
msgstr ""
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
msgstr ""
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr ""
@@ -3203,20 +2996,16 @@ msgstr ""
msgid "Open"
msgstr ""
-#: src/view/screens/Moderation.tsx:75
-#~ msgid "Open content filtering settings"
-#~ msgstr ""
-
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:300
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
msgstr ""
-#: src/view/screens/Settings/index.tsx:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr ""
@@ -3224,24 +3013,20 @@ msgstr ""
msgid "Open muted words and tags settings"
msgstr ""
-#: src/view/screens/Moderation.tsx:92
-#~ msgid "Open muted words 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:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr ""
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
msgstr ""
@@ -3249,15 +3034,19 @@ msgstr ""
msgid "Opens {numItems} options"
msgstr ""
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr ""
+
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:353
+#: 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
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr ""
@@ -3265,71 +3054,53 @@ msgstr ""
msgid "Opens composer"
msgstr ""
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr ""
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
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:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr ""
#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr ""
-#: src/view/screens/Settings/index.tsx:798
+#: src/view/screens/Settings/index.tsx:757
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 ""
-
-#: src/view/screens/Settings/index.tsx:756
+#: src/view/screens/Settings/index.tsx:715
msgid "Opens modal for changing your Bluesky password"
msgstr ""
-#: src/view/screens/Settings/index.tsx:718
+#: src/view/screens/Settings/index.tsx:670
msgid "Opens modal for choosing a new Bluesky handle"
msgstr ""
-#: src/view/screens/Settings/index.tsx:779
+#: src/view/screens/Settings/index.tsx:738
msgid "Opens modal for downloading your Bluesky account data (repository)"
msgstr ""
-#: src/view/screens/Settings/index.tsx:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
msgstr ""
@@ -3337,53 +3108,45 @@ msgstr ""
msgid "Opens modal for using custom domain"
msgstr ""
-#: src/view/screens/Settings/index.tsx:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
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:597
+#: src/view/screens/Settings/index.tsx:549
msgid "Opens screen with all saved feeds"
msgstr ""
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:648
msgid "Opens the app password settings"
msgstr ""
-#: src/view/screens/Settings/index.tsx:676
-#~ msgid "Opens the app password settings page"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:554
+#: src/view/screens/Settings/index.tsx:506
msgid "Opens the Following feed preferences"
msgstr ""
-#: src/view/screens/Settings/index.tsx:535
-#~ msgid "Opens the home feed preferences"
-#~ msgstr ""
-
#: src/view/com/modals/LinkWarning.tsx:93
msgid "Opens the linked website"
msgstr ""
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr ""
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr ""
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr ""
@@ -3391,7 +3154,7 @@ msgstr ""
msgid "Option {0} of {numItems}"
msgstr ""
-#: src/components/ReportDialog/SubmitView.tsx:162
+#: src/components/ReportDialog/SubmitView.tsx:160
msgid "Optionally provide additional information below:"
msgstr ""
@@ -3407,15 +3170,11 @@ msgstr ""
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:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr ""
@@ -3424,8 +3183,8 @@ msgstr ""
msgid "Page Not Found"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3443,11 +3202,19 @@ msgstr ""
msgid "Password updated!"
msgstr ""
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr ""
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr ""
@@ -3463,31 +3230,35 @@ 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:292
-#: 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:295
+#: 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/GifEmbed.tsx:31
+msgid "Play"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr ""
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3517,10 +3288,6 @@ msgstr ""
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:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr ""
@@ -3529,14 +3296,6 @@ msgstr ""
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/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr ""
@@ -3549,21 +3308,11 @@ msgstr ""
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 ""
-
-#: 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
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr ""
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr ""
@@ -3575,12 +3324,8 @@ msgstr ""
msgid "Porn"
msgstr ""
-#: src/lib/moderation/useGlobalLabelStrings.ts:34
-#~ msgid "Pornography"
-#~ msgstr ""
-
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr ""
@@ -3590,17 +3335,17 @@ msgctxt "description"
msgid "Post"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr ""
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
msgid "Post by @{0}"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:105
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr ""
@@ -3635,7 +3380,7 @@ msgstr ""
msgid "posts"
msgstr ""
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr ""
@@ -3651,13 +3396,13 @@ msgstr ""
msgid "Potentially Misleading Link"
msgstr ""
-#: src/components/forms/HostingProvider.tsx:45
+#: 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:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
msgstr ""
@@ -3673,16 +3418,16 @@ msgstr ""
msgid "Prioritize Your Follows"
msgstr ""
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr ""
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr ""
@@ -3691,15 +3436,15 @@ msgid "Processing..."
msgstr ""
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
msgstr ""
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr ""
@@ -3707,7 +3452,7 @@ msgstr ""
msgid "Profile updated"
msgstr ""
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr ""
@@ -3723,11 +3468,11 @@ msgstr ""
msgid "Public, shareable lists which can drive feeds."
msgstr ""
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr ""
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr ""
@@ -3753,15 +3498,15 @@ msgstr ""
msgid "Ratios"
msgstr ""
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: 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 ""
@@ -3774,15 +3519,11 @@ msgstr ""
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/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
msgstr ""
@@ -3800,8 +3541,8 @@ msgstr ""
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr ""
@@ -3813,7 +3554,7 @@ msgstr ""
msgid "Remove image"
msgstr ""
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr ""
@@ -3825,18 +3566,10 @@ msgstr ""
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: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 ""
-
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
@@ -3846,15 +3579,15 @@ msgstr ""
msgid "Removed from my feeds"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
msgstr ""
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr ""
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr ""
@@ -3862,7 +3595,7 @@ msgstr ""
msgid "Replies to this thread are disabled"
msgstr ""
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr ""
@@ -3871,16 +3604,18 @@ msgstr ""
msgid "Reply Filters"
msgstr ""
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
+#~ msgctxt "description"
+#~ msgid "Reply to <0/>"
+#~ msgstr ""
+
+#: src/view/com/post/Post.tsx:178
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
-msgid "Reply to <0/>"
+msgid "Reply to <0><1/>0>"
msgstr ""
-#: src/view/com/modals/report/Modal.tsx:166
-#~ msgid "Report {collectionName}"
-#~ msgstr ""
-
#: src/view/com/profile/ProfileMenu.tsx:319
#: src/view/com/profile/ProfileMenu.tsx:322
msgid "Report Account"
@@ -3890,17 +3625,17 @@ msgstr ""
msgid "Report dialog"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: 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:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr ""
@@ -3945,19 +3680,23 @@ msgstr ""
msgid "Reposted By"
msgstr ""
-#: src/view/com/posts/FeedItem.tsx:197
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr ""
#: src/view/com/posts/FeedItem.tsx:214
-msgid "Reposted by <0/>"
+#~ 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:166
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:187
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr ""
@@ -3966,23 +3705,28 @@ msgstr ""
msgid "Request Change"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:219
-#~ msgid "Request code"
-#~ 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:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr ""
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr ""
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr ""
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr ""
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr ""
@@ -3991,12 +3735,8 @@ msgstr ""
msgid "Reset Code"
msgstr ""
-#: src/view/screens/Settings/index.tsx:824
-#~ msgid "Reset onboarding"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr ""
@@ -4004,24 +3744,20 @@ msgstr ""
msgid "Reset password"
msgstr ""
-#: src/view/screens/Settings/index.tsx:814
-#~ msgid "Reset preferences"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr ""
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr ""
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr ""
@@ -4030,24 +3766,20 @@ msgstr ""
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/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: 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/components/Error.tsx:86
-#: src/view/screens/ProfileList.tsx:917
+#: src/components/Error.tsx:95
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr ""
@@ -4060,10 +3792,6 @@ msgstr ""
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
@@ -4097,12 +3825,12 @@ msgstr ""
msgid "Save image crop"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: 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 ""
@@ -4110,7 +3838,7 @@ msgstr ""
msgid "Saved to your camera roll."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
msgstr ""
@@ -4130,28 +3858,28 @@ msgstr ""
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/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr ""
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr ""
@@ -4160,24 +3888,24 @@ 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:105
#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr ""
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr ""
+
#: src/view/com/modals/ChangeEmail.tsx:110
msgid "Security Step Required"
msgstr ""
@@ -4198,21 +3926,18 @@ 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/components/TagMenu/index.tsx:189
-#~ msgid "See <0>{tag}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:163
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr ""
#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
-msgid "See what's next"
-msgstr ""
+#~ msgid "See what's next"
+#~ msgstr ""
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
@@ -4222,14 +3947,18 @@ msgstr ""
msgid "Select account"
msgstr ""
-#: src/view/com/modals/ServerInput.tsx:75
-#~ msgid "Select Bluesky Social"
-#~ msgstr ""
-
#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr ""
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
msgstr ""
@@ -4242,16 +3971,11 @@ msgstr ""
msgid "Select option {i} of {numItems}"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:96
-#: 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:135
+#: src/components/ReportDialog/SubmitView.tsx:133
msgid "Select the moderation service(s) to report to"
msgstr ""
@@ -4259,10 +3983,6 @@ msgstr ""
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:100
msgid "Select topical feeds to follow from the list below"
msgstr ""
@@ -4275,15 +3995,11 @@ msgstr ""
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/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:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
msgstr ""
@@ -4291,10 +4007,6 @@ msgstr ""
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 ""
@@ -4307,8 +4019,8 @@ msgstr ""
msgid "Select your secondary algorithmic feeds"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:202
-#: src/view/com/modals/VerifyEmail.tsx:204
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr ""
@@ -4321,24 +4033,25 @@ msgctxt "action"
msgid "Send Email"
msgstr ""
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: 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 ""
-#: 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/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
+msgstr ""
+
#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr ""
@@ -4347,48 +4060,14 @@ msgstr ""
msgid "Server address"
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:311
-#~ 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"
-#~ 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 ""
-
-#: 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/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 ""
@@ -4405,10 +4084,6 @@ 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 ""
@@ -4421,23 +4096,23 @@ msgstr ""
msgid "Sets Bluesky username"
msgstr ""
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
msgstr ""
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
msgstr ""
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
msgstr ""
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
msgstr ""
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
msgstr ""
@@ -4445,10 +4120,6 @@ msgstr ""
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 ""
@@ -4461,16 +4132,11 @@ msgstr ""
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 ""
-
-#: src/Navigation.tsx:139
-#: src/view/screens/Settings/index.tsx:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr ""
@@ -4489,21 +4155,21 @@ 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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: 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/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr ""
@@ -4520,7 +4186,7 @@ msgstr ""
#: 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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr ""
@@ -4542,17 +4208,13 @@ msgstr ""
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
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr ""
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr ""
@@ -4609,7 +4271,7 @@ msgstr ""
msgid "Show the content"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr ""
@@ -4621,41 +4283,31 @@ msgstr ""
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/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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr ""
-#: 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 ""
-
#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr ""
@@ -4664,28 +4316,32 @@ msgstr ""
msgid "Sign in as..."
msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:140
-#~ msgid "Sign into"
-#~ 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:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr ""
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
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 ""
@@ -4694,7 +4350,7 @@ msgstr ""
msgid "Sign-in Required"
msgstr ""
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr ""
@@ -4702,10 +4358,6 @@ msgstr ""
msgid "Signed in as @{0}"
msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:70
-#~ msgid "Signs {0} out of Bluesky"
-#~ msgstr ""
-
#: src/screens/Onboarding/StepInterests/index.tsx:239
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
@@ -4716,33 +4368,17 @@ msgstr ""
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:76
+#: 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 ""
@@ -4774,28 +4410,20 @@ msgstr ""
msgid "Square"
msgstr ""
-#: src/view/com/modals/ServerInput.tsx:62
-#~ msgid "Staging"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr ""
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
msgstr ""
-#: src/view/com/auth/create/StepHeader.tsx:22
-#~ msgid "Step {0} of {numSteps}"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
msgid "Storage cleared, you need to restart the app now."
msgstr ""
-#: src/Navigation.tsx:211
-#: src/view/screens/Settings/index.tsx:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr ""
@@ -4804,15 +4432,15 @@ msgstr ""
msgid "Submit"
msgstr "Submit"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr ""
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: src/screens/Profile/Sections/Labels.tsx:191
msgid "Subscribe to @{0} to use these labels:"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
msgstr ""
@@ -4821,15 +4449,15 @@ msgstr ""
msgid "Subscribe to the {0} feed"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: 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:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr ""
@@ -4841,34 +4469,30 @@ msgstr ""
msgid "Suggestive"
msgstr ""
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: 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/components/dialogs/SwitchAccount.tsx:46
-#: src/components/dialogs/SwitchAccount.tsx:49
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr ""
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
msgid "Switches the account you are logged in to"
msgstr ""
-#: src/view/screens/Settings/index.tsx:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr ""
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr ""
@@ -4880,10 +4504,6 @@ 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:113
msgid "Tall"
msgstr ""
@@ -4900,11 +4520,11 @@ msgstr ""
msgid "Terms"
msgstr ""
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr ""
@@ -4922,7 +4542,7 @@ msgstr ""
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 ""
@@ -4930,11 +4550,11 @@ msgstr ""
msgid "That contains the following:"
msgstr ""
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr ""
@@ -4984,8 +4604,8 @@ msgstr ""
msgid "There are many feeds to try:"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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 ""
@@ -4993,15 +4613,19 @@ msgstr ""
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+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 ""
@@ -5024,12 +4648,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 ""
@@ -5041,9 +4665,9 @@ msgstr ""
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/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -5055,14 +4679,15 @@ msgstr ""
msgid "There was an issue! {0}"
msgstr ""
-#: 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 ""
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr ""
@@ -5070,10 +4695,6 @@ 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:146
msgid "These are popular accounts you might like:"
msgstr ""
@@ -5111,10 +4732,6 @@ msgstr ""
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>"
-#~ 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 ""
@@ -5123,9 +4740,9 @@ msgstr ""
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:477
-#: 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 ""
@@ -5137,7 +4754,7 @@ msgstr ""
msgid "This information is not shared with other users."
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:119
+#: src/view/com/modals/VerifyEmail.tsx:127
msgid "This is important in case you ever need to change your email or reset your password."
msgstr ""
@@ -5145,7 +4762,7 @@ msgstr ""
msgid "This label was applied by {0}."
msgstr ""
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: src/screens/Profile/Sections/Labels.tsx:178
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
msgstr ""
@@ -5153,7 +4770,7 @@ msgstr ""
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 ""
@@ -5165,16 +4782,16 @@ msgstr ""
msgid "This name is already in use"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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:352
msgid "This post will be hidden from feeds."
msgstr ""
@@ -5203,14 +4820,6 @@ msgstr ""
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."
-#~ msgstr ""
-
#: src/components/moderation/ModerationDetailsDialog.tsx:55
msgid "This user is included in the <0>{0}0> list which you have blocked."
msgstr ""
@@ -5219,10 +4828,6 @@ msgstr ""
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 ""
@@ -5235,16 +4840,12 @@ msgstr ""
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 ""
-
-#: src/view/screens/Settings/index.tsx:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
msgstr ""
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr ""
@@ -5252,10 +4853,14 @@ msgstr ""
msgid "Threaded Mode"
msgstr ""
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr ""
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr ""
+
#: src/components/ReportDialog/SelectLabelerView.tsx:33
msgid "To whom would you like to send this report?"
msgstr ""
@@ -5272,14 +4877,19 @@ msgstr ""
msgid "Toggle to enable or disable adult content"
msgstr ""
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr ""
+
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr ""
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr ""
@@ -5288,35 +4898,39 @@ msgctxt "action"
msgid "Try again"
msgstr ""
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr ""
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
msgstr ""
-#: src/view/screens/ProfileList.tsx:478
+#: 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/screens/Login/ForgotPasswordForm.tsx:74
#: src/screens/Login/index.tsx:78
-#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: 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:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr ""
@@ -5326,7 +4940,7 @@ msgstr ""
msgid "Unblock Account"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
msgstr ""
@@ -5339,7 +4953,7 @@ msgid "Undo repost"
msgstr ""
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
msgstr ""
@@ -5348,7 +4962,7 @@ msgctxt "action"
msgid "Unfollow"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
msgid "Unfollow {0}"
msgstr ""
@@ -5357,20 +4971,16 @@ msgstr ""
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:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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 ""
@@ -5387,37 +4997,29 @@ 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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:295
-#: 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:292
+#: 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/view/screens/ProfileFeed.tsx:346
-#~ msgid "Unsave"
-#~ msgstr ""
-
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
msgstr ""
@@ -5429,10 +5031,6 @@ msgstr ""
msgid "Update {displayName} in Lists"
msgstr ""
-#: src/lib/hooks/useOTAUpdate.ts:15
-#~ msgid "Update Available"
-#~ msgstr ""
-
#: src/view/com/modals/ChangeHandle.tsx:508
msgid "Update to {handle}"
msgstr ""
@@ -5445,20 +5043,20 @@ msgstr ""
msgid "Upload a text file to:"
msgstr ""
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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:343
+#: 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:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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"
@@ -5498,10 +5096,6 @@ msgstr ""
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:201
msgid "Used by:"
msgstr ""
@@ -5527,22 +5121,18 @@ msgstr ""
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 ""
-#: src/view/screens/ProfileList.tsx:777
+#: 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:775
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr ""
@@ -5558,11 +5148,11 @@ msgstr ""
msgid "User Lists"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr ""
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr ""
@@ -5582,23 +5172,19 @@ msgstr ""
msgid "Value:"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:243
-#~ msgid "Verification code"
-#~ msgstr ""
-
#: src/view/com/modals/ChangeHandle.tsx:509
msgid "Verify {0}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr ""
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr ""
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr ""
@@ -5607,11 +5193,11 @@ msgstr ""
msgid "Verify New Email"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr ""
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
msgstr ""
@@ -5627,11 +5213,11 @@ msgstr ""
msgid "View debug entry"
msgstr ""
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
msgstr ""
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
msgstr ""
@@ -5643,6 +5229,8 @@ msgstr ""
msgid "View information about these labels"
msgstr ""
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr ""
@@ -5655,7 +5243,7 @@ msgstr ""
msgid "View the labeling service provided by @{0}"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
msgstr ""
@@ -5679,11 +5267,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 ""
-
-#: src/screens/Hashtag.tsx:133
+#: src/screens/Hashtag.tsx:210
msgid "We couldn't find any results for that hashtag."
msgstr ""
@@ -5699,10 +5283,6 @@ 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:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
msgstr ""
@@ -5727,19 +5307,15 @@ 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:142
msgid "We'll use this to help customize your experience."
msgstr ""
-#: src/screens/Signup/index.tsx:130
+#: 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 ""
@@ -5747,16 +5323,16 @@ msgstr ""
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:256
+#: src/view/screens/Search/Search.tsx:323
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/components/Lists.tsx:197
#: 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:321
+#: 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 ""
@@ -5768,13 +5344,9 @@ msgstr ""
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:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr ""
@@ -5815,11 +5387,11 @@ msgstr ""
msgid "Wide"
msgstr ""
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr ""
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr ""
@@ -5828,10 +5400,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
@@ -5842,10 +5410,6 @@ 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 ""
@@ -5859,10 +5423,6 @@ msgstr ""
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:143
msgid "You can change these settings later."
msgstr ""
@@ -5880,15 +5440,15 @@ msgstr ""
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 ""
@@ -5926,39 +5486,27 @@ msgstr ""
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: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
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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 ""
-
#: 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
+#: 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 ""
-
#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
msgstr ""
@@ -5971,23 +5519,19 @@ msgstr ""
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/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 ""
@@ -6018,7 +5562,7 @@ msgstr ""
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr ""
-#: src/screens/Signup/index.tsx:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr ""
@@ -6030,7 +5574,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/screens/Signup/StepInfo/index.tsx:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr ""
@@ -6048,15 +5592,11 @@ msgstr ""
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 ""
-#: src/view/com/modals/VerifyEmail.tsx:114
+#: src/view/com/modals/VerifyEmail.tsx:122
msgid "Your email has not yet been verified. This is an important security step which we recommend."
msgstr ""
@@ -6064,7 +5604,7 @@ msgstr ""
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr ""
@@ -6072,12 +5612,6 @@ msgstr ""
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:220
msgid "Your muted words"
msgstr ""
@@ -6086,7 +5620,7 @@ msgstr ""
msgid "Your password has been changed successfully!"
msgstr ""
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr ""
@@ -6096,14 +5630,14 @@ msgstr ""
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr ""
-#: src/view/screens/Settings/index.tsx:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr ""
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr ""
-#: src/screens/Signup/index.tsx:152
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
msgstr ""
diff --git a/src/locale/locales/es/messages.po b/src/locale/locales/es/messages.po
index 73a77abd65..b3dc1f793e 100644
--- a/src/locale/locales/es/messages.po
+++ b/src/locale/locales/es/messages.po
@@ -13,7 +13,7 @@ msgstr ""
"Language-Team: \n"
"Plural-Forms: \n"
-#: src/view/com/modals/VerifyEmail.tsx:142
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr ""
@@ -21,6 +21,7 @@ msgstr ""
#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
#~ msgstr "{0, plural, one {# invite code available} other {# invite codes available}}"
+#: src/components/ProfileHoverCard/index.web.tsx:438
#: 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:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr ""
@@ -51,15 +52,20 @@ msgstr "<0/> miembros"
msgid "<0>{0}0> following"
msgstr ""
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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>"
@@ -67,10 +73,14 @@ msgstr "<0>Sigue a algunos0><1>usuarios1><2>recomendados2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr ""
-#: src/screens/Profile/Header/Handle.tsx:42
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr ""
+#: src/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+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}."
@@ -79,27 +89,36 @@ msgstr ""
#~ 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:649
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
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:300
-#: src/view/screens/Settings/index.tsx:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "Accesibilidad"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr ""
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr ""
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "Cuenta"
@@ -132,7 +151,7 @@ msgstr "Opciones de la cuenta"
msgid "Account removed from quick access"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr ""
@@ -149,7 +168,7 @@ msgstr ""
#: 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:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Agregar"
@@ -157,13 +176,13 @@ msgstr "Agregar"
msgid "Add a content warning"
msgstr "Agregar una advertencia de cuenta"
-#: src/view/screens/ProfileList.tsx:817
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Agregar un usuario a esta lista"
-#: src/components/dialogs/SwitchAccount.tsx:55
-#: src/view/screens/Settings/index.tsx:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr "Agregar una cuenta"
@@ -189,12 +208,12 @@ msgstr ""
#~ msgstr "Agregar detalles al informe"
#: src/view/com/composer/Composer.tsx:467
-msgid "Add link card"
-msgstr "Agregar una tarjeta de enlace"
+#~ msgid "Add link card"
+#~ msgstr "Agregar una tarjeta de enlace"
#: src/view/com/composer/Composer.tsx:472
-msgid "Add link card:"
-msgstr "Agregar una tarjeta de enlace:"
+#~ msgid "Add link card:"
+#~ msgstr "Agregar una tarjeta de enlace:"
#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
@@ -253,11 +272,11 @@ msgid "Adult content is disabled."
msgstr ""
#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
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 ""
@@ -275,6 +294,7 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "Texto alt"
@@ -282,7 +302,8 @@ msgstr "Texto alt"
msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone."
msgstr "El texto alternativo describe las imágenes para los usuarios ciegos y con baja visión, y ayuda a dar contexto a todos."
-#: src/view/com/modals/VerifyEmail.tsx:124
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
msgstr "Se ha enviado un correo electrónico a {0}. Incluye un código de confirmación que puedes introducir a continuación."
@@ -290,10 +311,16 @@ 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/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr ""
+
#: 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
@@ -301,7 +328,7 @@ msgstr ""
msgid "An issue occurred, please try again."
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "y"
@@ -310,6 +337,10 @@ msgstr "y"
msgid "Animals"
msgstr ""
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
msgstr ""
@@ -330,7 +361,7 @@ msgstr ""
msgid "App Password names must be at least 4 characters long."
msgstr ""
-#: src/view/screens/Settings/index.tsx:695
+#: src/view/screens/Settings/index.tsx:647
msgid "App password settings"
msgstr ""
@@ -338,9 +369,9 @@ msgstr ""
#~ msgid "App passwords"
#~ msgstr "Contraseñas de la app"
-#: src/Navigation.tsx:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "Contraseñas de la app"
@@ -374,7 +405,7 @@ msgstr ""
#~ msgid "Appeal this decision."
#~ msgstr "Apelar esta decisión."
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "Aspecto exterior"
@@ -386,7 +417,7 @@ msgstr "¿Estás seguro de que quieres eliminar la contraseña de la app \"{name
msgid "Are you sure you want to remove {0} from your feeds?"
msgstr ""
-#: src/view/com/composer/Composer.tsx:509
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr "¿Estás seguro de que quieres descartar este borrador?"
@@ -410,7 +441,7 @@ msgstr ""
msgid "Artistic or non-erotic nudity."
msgstr "Desnudez artística o no erótica."
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
msgstr ""
@@ -420,13 +451,13 @@ msgstr ""
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr "Regresar"
@@ -439,7 +470,7 @@ msgstr "Regresar"
msgid "Based on your interest in {interestsText}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "Conceptos básicos"
@@ -447,11 +478,11 @@ msgstr "Conceptos básicos"
msgid "Birthday"
msgstr "Cumpleaños"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr "Cumpleaños:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
msgstr ""
@@ -465,16 +496,16 @@ msgstr "Bloquear una cuenta"
msgid "Block Account?"
msgstr ""
-#: src/view/screens/ProfileList.tsx:530
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Bloquear cuentas"
-#: 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 "Bloquear una lista"
-#: src/view/screens/ProfileList.tsx:629
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "¿Bloquear estas cuentas?"
@@ -483,7 +514,7 @@ msgstr "¿Bloquear estas cuentas?"
#~ 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 ""
@@ -491,8 +522,8 @@ msgstr ""
msgid "Blocked accounts"
msgstr "Cuentas bloqueadas"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "Cuentas bloqueadas"
@@ -500,7 +531,7 @@ msgstr "Cuentas bloqueadas"
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:120
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."
@@ -508,11 +539,11 @@ msgstr "Las cuentas bloqueadas no pueden responder en tus hilos, mencionarte ni
msgid "Blocked post."
msgstr "Publicación bloqueada."
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: 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 "El bloque es público. Las cuentas bloqueadas no pueden responder en tus hilos, mencionarte ni interactuar contigo de ninguna otra forma."
@@ -520,12 +551,10 @@ msgstr "El bloque es público. Las cuentas bloqueadas no pueden responder en tus
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:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blog"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -578,8 +607,7 @@ msgstr ""
#~ msgid "Build version {0} {1}"
#~ msgstr "Versión {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Negocios"
@@ -611,7 +639,7 @@ msgstr ""
msgid "by you"
msgstr ""
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "Cámara"
@@ -623,8 +651,8 @@ msgstr "Sólo puede contener letras, números, espacios, guiones y guiones bajos
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -639,9 +667,9 @@ msgstr "Sólo puede contener letras, números, espacios, guiones y guiones bajos
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Cancelar"
@@ -687,34 +715,34 @@ msgstr "Cancelar búsqueda"
msgid "Cancels opening the linked website"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
msgstr ""
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "Cambiar"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "Cambiar el identificador"
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "Cambiar el identificador"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "Cambiar mi correo electrónico"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr ""
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr ""
@@ -735,14 +763,18 @@ 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/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr ""
+
#: 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:"
@@ -776,36 +808,36 @@ msgstr "Elige los algoritmos que potencian tu experiencia con publicaciones pers
msgid "Choose your main feeds"
msgstr ""
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Elige tu contraseña"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr "Borrar todos los datos de almacenamiento heredados"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
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:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr "Borrar todos los datos de almacenamiento"
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
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:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "Borrar consulta de búsqueda"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
msgstr ""
@@ -817,21 +849,22 @@ msgstr ""
msgid "Click here to open tag menu for {tag}"
msgstr ""
-#: src/components/RichText.tsx:192
-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 ""
+#: src/components/dialogs/GifSelect.tsx:300
#: 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
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr ""
@@ -843,6 +876,14 @@ msgstr "Cerrar la alerta"
msgid "Close bottom drawer"
msgstr "Cierra el cajón inferior"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr ""
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Cerrar la imagen"
@@ -851,7 +892,7 @@ msgstr "Cerrar la imagen"
msgid "Close image viewer"
msgstr "Cerrar el visor de imagen"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr "Cerrar el pie de página de navegación"
@@ -860,7 +901,7 @@ msgstr "Cerrar el pie de página de navegación"
msgid "Close this dialog"
msgstr ""
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr ""
@@ -868,7 +909,7 @@ msgstr ""
msgid "Closes password update alert"
msgstr ""
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr ""
@@ -876,7 +917,7 @@ msgstr ""
msgid "Closes viewer for header image"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:321
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr ""
@@ -888,7 +929,7 @@ msgstr ""
msgid "Comics"
msgstr ""
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Directrices de la comunidad"
@@ -897,11 +938,11 @@ msgstr "Directrices de la comunidad"
msgid "Complete onboarding and start using your account"
msgstr ""
-#: src/screens/Signup/index.tsx:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr ""
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr ""
@@ -924,10 +965,12 @@ 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/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
msgid "Confirm"
msgstr "Confirmar"
@@ -962,10 +1005,13 @@ msgstr ""
msgid "Confirm your birthdate"
msgstr ""
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
msgid "Confirmation code"
msgstr "Código de confirmación"
@@ -973,11 +1019,11 @@ msgstr "Código de confirmación"
#~ msgid "Confirms signing up {email} to the waitlist"
#~ msgstr ""
-#: src/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "Conectando..."
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr ""
@@ -1031,8 +1077,8 @@ msgstr ""
#: 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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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"
@@ -1045,7 +1091,7 @@ msgstr ""
#: 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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr ""
@@ -1066,17 +1112,21 @@ msgstr ""
msgid "Copied"
msgstr "Copiado"
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
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:158
+#: 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 ""
@@ -1089,12 +1139,17 @@ msgstr "Copiar"
msgid "Copy {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:388
+#: 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:228
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
msgid "Copy link to post"
msgstr "Copia el enlace a la publicación"
@@ -1102,12 +1157,12 @@ msgstr "Copia el enlace a la publicación"
#~ msgid "Copy link to profile"
#~ msgstr "Copia el enlace al perfil"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "Copiar el texto de la publicación"
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Política de derechos de autor"
@@ -1116,7 +1171,7 @@ msgstr "Política de derechos de autor"
msgid "Could not load feed"
msgstr "No se ha podido cargar las publicaciones"
-#: src/view/screens/ProfileList.tsx:907
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "No se ha podido cargar la lista"
@@ -1124,31 +1179,34 @@ msgstr "No se ha podido cargar la lista"
#~ msgid "Country"
#~ msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr ""
-#: src/screens/Signup/index.tsx:129
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Crear una cuenta"
+#: 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:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: 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/components/ReportDialog/SelectReportOptionView.tsx:93
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
msgid "Create report for {0}"
msgstr ""
@@ -1165,8 +1223,8 @@ msgstr "Creado {0}"
#~ msgstr ""
#: src/view/com/composer/Composer.tsx:469
-msgid "Creates a card with a thumbnail. The card links to {url}"
-msgstr ""
+#~ msgid "Creates a card with a thumbnail. The card links to {url}"
+#~ msgstr ""
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
@@ -1182,11 +1240,11 @@ msgid "Custom domain"
msgstr "Dominio personalizado"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr ""
@@ -1194,8 +1252,8 @@ msgstr ""
#~ msgid "Danger Zone"
#~ msgstr "Zona de peligro"
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr ""
@@ -1203,15 +1261,15 @@ msgstr ""
msgid "Dark mode"
msgstr ""
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr ""
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
msgstr ""
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
msgstr ""
@@ -1219,13 +1277,13 @@ msgstr ""
msgid "Debug panel"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: 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:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "Borrar la cuenta"
@@ -1241,7 +1299,7 @@ msgstr "Borrar la contraseña de la app"
msgid "Delete app password?"
msgstr ""
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Borrar la lista"
@@ -1253,24 +1311,24 @@ msgstr "Borrar mi cuenta"
#~ msgid "Delete my account…"
#~ msgstr "Borrar mi cuenta..."
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
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:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
msgid "Delete post"
msgstr "Borrar una publicación"
-#: 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:340
msgid "Delete this post?"
msgstr "¿Borrar esta publicación?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:64
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr ""
@@ -1289,14 +1347,34 @@ msgstr "Descripción"
#~ msgid "Developer Tools"
#~ msgstr "Herramientas de desarrollador"
-#: src/view/com/composer/Composer.tsx:218
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr "¿Quieres decir algo?"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr ""
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr ""
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr ""
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+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
@@ -1304,7 +1382,7 @@ msgstr ""
msgid "Disabled"
msgstr ""
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr "Descartar"
@@ -1312,7 +1390,7 @@ msgstr "Descartar"
#~ msgid "Discard draft"
#~ msgstr "Descartar el borrador"
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
msgstr ""
@@ -1330,7 +1408,7 @@ 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 ""
@@ -1350,7 +1428,7 @@ msgstr ""
msgid "Does not include nudity."
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
msgstr ""
@@ -1384,7 +1462,7 @@ msgstr "¡Dominio verificado!"
msgid "Done"
msgstr "Listo"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: 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
@@ -1414,7 +1492,7 @@ msgstr "Listo{extraText}"
msgid "Download CAR file"
msgstr ""
-#: src/view/com/composer/text-input/TextInput.web.tsx:249
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr ""
@@ -1467,7 +1545,7 @@ msgctxt "action"
msgid "Edit"
msgstr ""
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
msgstr ""
@@ -1477,7 +1555,7 @@ msgstr ""
msgid "Edit image"
msgstr "Editar la imagen"
-#: src/view/screens/ProfileList.tsx:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Editar los detalles de la lista"
@@ -1485,9 +1563,9 @@ msgstr "Editar los detalles de la lista"
msgid "Edit Moderation List"
msgstr ""
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Editar mis noticias"
@@ -1495,18 +1573,18 @@ msgstr "Editar mis noticias"
msgid "Edit my profile"
msgstr "Editar mi perfil"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "Editar el perfil"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
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"
@@ -1531,6 +1609,10 @@ msgstr ""
msgid "Email"
msgstr "Correo electrónico"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr ""
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Dirección de correo electrónico"
@@ -1544,14 +1626,28 @@ msgstr ""
msgid "Email Updated"
msgstr "Correo electrónico actualizado"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr ""
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
msgid "Email:"
msgstr "Correo electrónico:"
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+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 ""
@@ -1578,7 +1674,7 @@ msgstr ""
#~ msgid "Enable External Media"
#~ msgstr ""
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr ""
@@ -1594,7 +1690,7 @@ msgstr ""
msgid "Enabled"
msgstr ""
-#: src/screens/Profile/Sections/Feed.tsx:84
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Fin de noticias"
@@ -1611,7 +1707,7 @@ msgstr ""
msgid "Enter a word or tag"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:105
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr ""
@@ -1636,7 +1732,7 @@ msgstr ""
#~ msgstr ""
#: src/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Introduce la dirección de correo electrónico"
@@ -1660,7 +1756,7 @@ msgstr "Introduce tu nombre de usuario y contraseña"
msgid "Error receiving captcha response."
msgstr ""
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Error:"
@@ -1701,8 +1797,8 @@ msgstr ""
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 ""
@@ -1714,12 +1810,12 @@ msgstr ""
msgid "Explicit sexual images."
msgstr ""
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr ""
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr ""
@@ -1729,17 +1825,17 @@ msgid "External Media"
msgstr ""
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr ""
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr ""
@@ -1752,12 +1848,16 @@ msgstr ""
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/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+msgstr ""
+
+#: 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"
@@ -1765,7 +1865,7 @@ msgstr "Error al cargar las noticias recomendadas"
msgid "Failed to save image: {0}"
msgstr ""
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr ""
@@ -1773,7 +1873,7 @@ msgstr ""
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"
@@ -1782,18 +1882,18 @@ msgstr "Noticias fuera de línea"
#~ msgstr "Preferencias de noticias"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:314
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Comentarios"
-#: src/Navigation.tsx:464
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "Noticias"
@@ -1805,11 +1905,11 @@ 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."
@@ -1835,13 +1935,17 @@ msgstr ""
msgid "Find accounts to follow"
msgstr ""
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
-msgstr "Encontrar usuarios en Bluesky"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:589
+#~ msgid "Find users on Bluesky"
+#~ msgstr "Encontrar usuarios en Bluesky"
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr "Encuentra usuarios con la herramienta de búsqueda de la derecha"
+#: 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:155
msgid "Finding similar accounts..."
@@ -1877,10 +1981,10 @@ msgid "Flip vertically"
msgstr ""
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Seguir"
@@ -1890,7 +1994,7 @@ msgid "Follow"
msgstr ""
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr ""
@@ -1912,11 +2016,11 @@ msgstr ""
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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr ""
@@ -1928,7 +2032,7 @@ msgstr "Usuarios seguidos"
msgid "Followed users only"
msgstr "Solo usuarios seguidos"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr ""
@@ -1937,26 +2041,26 @@ msgstr ""
msgid "Followers"
msgstr "Seguidores"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:93
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
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/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
msgstr ""
@@ -1964,7 +2068,7 @@ msgstr ""
msgid "Follows you"
msgstr "Te siguen"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr ""
@@ -1993,11 +2097,11 @@ msgstr "Por razones de seguridad, no podrás volver a verla. Si pierdes esta con
msgid "Forgot Password"
msgstr "Olvidé mi contraseña"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
msgstr ""
@@ -2005,22 +2109,21 @@ msgstr ""
msgid "Frequently Posts Unwanted Content"
msgstr ""
-#: src/screens/Hashtag.tsx:109
-#: src/screens/Hashtag.tsx:149
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
msgstr ""
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr ""
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "Galería"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "Comenzar"
@@ -2034,25 +2137,25 @@ msgstr ""
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: src/view/screens/ProfileList.tsx:918
#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Regresar"
-#: src/components/Error.tsx:91
+#: src/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Regresar"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr ""
@@ -2064,7 +2167,7 @@ msgstr ""
msgid "Go Home"
msgstr ""
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr ""
@@ -2082,11 +2185,15 @@ msgstr ""
msgid "Handle"
msgstr "Identificador"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
msgstr ""
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
msgstr ""
@@ -2094,16 +2201,16 @@ msgstr ""
#~ msgid "Hashtag: {tag}"
#~ msgstr ""
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
msgstr ""
-#: src/screens/Signup/index.tsx:217
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr ""
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Ayuda"
@@ -2132,17 +2239,17 @@ msgstr "Aquí tienes tu contraseña de la app."
#: 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:354
msgid "Hide"
msgstr "Ocultar"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: 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:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr "Ocultar publicación"
@@ -2151,11 +2258,11 @@ msgstr "Ocultar publicación"
msgid "Hide the content"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr "¿Ocultar esta publicación?"
-#: src/view/com/notifications/FeedItem.tsx:319
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "Ocultar la lista de usuarios"
@@ -2191,11 +2298,11 @@ msgstr ""
msgid "Hmmmm, we couldn't load that moderation service."
msgstr ""
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Página inicial"
@@ -2211,7 +2318,7 @@ msgid "Host:"
msgstr ""
#: src/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
@@ -2221,11 +2328,13 @@ msgstr "Proveedor de alojamiento"
msgid "How should we open this link?"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:214
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "Tengo un código"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr ""
@@ -2245,11 +2354,11 @@ msgstr "Si no se selecciona ninguno, es apto para todas las edades."
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:610
+#: 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:342
msgid "If you remove this post, you won't be able to recover it."
msgstr ""
@@ -2310,11 +2419,15 @@ msgstr ""
#~ msgid "Input phone number for SMS verification"
#~ msgstr ""
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
msgid "Input the username or email address you used at signup"
msgstr ""
@@ -2326,7 +2439,7 @@ msgstr ""
#~ msgid "Input your email to get on the Bluesky waitlist"
#~ msgstr ""
-#: src/screens/Login/LoginForm.tsx:194
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr ""
@@ -2334,15 +2447,20 @@ msgstr ""
msgid "Input your preferred hosting provider"
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:62
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:221
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr "Nombre de usuario o contraseña no válidos"
@@ -2378,8 +2496,7 @@ msgstr ""
msgid "It shows posts from the people you follow as they happen."
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "Tareas"
@@ -2412,11 +2529,11 @@ msgstr ""
msgid "Labeled by the author."
msgstr ""
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
msgstr ""
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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 ""
@@ -2436,16 +2553,16 @@ msgstr ""
msgid "Language selection"
msgstr "Escoger el idioma"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr ""
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Configuración del idioma"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "Idiomas"
@@ -2453,6 +2570,11 @@ msgstr "Idiomas"
#~ msgid "Last step!"
#~ msgstr ""
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr ""
+
#: src/view/com/util/moderation/ContentHider.tsx:103
#~ msgid "Learn more"
#~ msgstr "Aprender más"
@@ -2491,7 +2613,7 @@ msgstr "Salir de Bluesky"
msgid "left to go."
msgstr ""
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
msgid "Legacy storage cleared, you need to restart the app now."
msgstr ""
@@ -2509,22 +2631,22 @@ msgstr ""
#~ msgid "Library"
#~ msgstr "Librería"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr ""
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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/components/LikesDialog.tsx:87
-#: src/Navigation.tsx:201
-#: src/Navigation.tsx:206
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
msgid "Liked by"
msgstr "Le ha gustado a"
@@ -2542,29 +2664,29 @@ msgstr ""
msgid "Liked by {count} {0}"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr ""
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr "Cantidad de «Me gusta»"
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr ""
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr ""
@@ -2572,7 +2694,7 @@ msgstr ""
msgid "List Avatar"
msgstr "Avatar de la lista"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr ""
@@ -2580,11 +2702,11 @@ msgstr ""
msgid "List by {0}"
msgstr ""
-#: 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 ""
@@ -2592,20 +2714,20 @@ msgstr ""
msgid "List Name"
msgstr "Nombre de la lista"
-#: 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:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "Listas"
@@ -2618,10 +2740,10 @@ msgstr "Listas"
msgid "Load new notifications"
msgstr "Cargar notificaciones nuevas"
-#: src/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Cargar publicaciones nuevas"
@@ -2633,7 +2755,7 @@ msgstr "Cargando..."
#~ msgid "Local dev server"
#~ msgstr "Servidor de desarrollo local"
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr ""
@@ -2652,6 +2774,10 @@ msgstr "Visibilidad de desconexión"
msgid "Login to account that is not listed"
msgstr "Acceder a una cuenta que no está en la lista"
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+msgstr ""
+
#: src/screens/Login/SetNewPasswordForm.tsx:116
msgid "Looks like XXXXX-XXXXX"
msgstr ""
@@ -2672,7 +2798,8 @@ msgstr ""
#~ msgid "May only contain letters and numbers"
#~ msgstr ""
-#: src/view/screens/Profile.tsx:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr "Medios"
@@ -2684,8 +2811,8 @@ msgstr "usuarios mencionados"
msgid "Mentioned users"
msgstr "Usuarios mencionados"
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "Menú"
@@ -2697,12 +2824,12 @@ msgstr "Mensaje del servidor: {0}"
msgid "Misleading Account"
msgstr ""
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Moderación"
@@ -2715,13 +2842,13 @@ msgstr ""
msgid "Moderation list by {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:789
+#: 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:787
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr ""
@@ -2737,16 +2864,16 @@ msgstr ""
msgid "Moderation lists"
msgstr "Listas de moderación"
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Listas de moderación"
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr ""
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
msgstr ""
@@ -2767,7 +2894,7 @@ msgstr ""
msgid "More feeds"
msgstr "Más canales de noticias"
-#: src/view/screens/ProfileList.tsx:599
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Más opciones"
@@ -2796,7 +2923,7 @@ msgstr ""
msgid "Mute Account"
msgstr "Silenciar la cuenta"
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Silenciar las cuentas"
@@ -2816,12 +2943,12 @@ msgstr ""
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 "Silenciar la lista"
-#: src/view/screens/ProfileList.tsx:619
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "¿Silenciar estas cuentas?"
@@ -2837,13 +2964,13 @@ msgstr ""
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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
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:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
msgstr ""
@@ -2855,12 +2982,12 @@ msgstr ""
msgid "Muted accounts"
msgstr "Cuentas silenciadas"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: 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."
@@ -2872,7 +2999,7 @@ msgstr ""
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 "Silenciar es privado. Las cuentas silenciadas pueden interactuar contigo, pero no verás sus publicaciones ni recibirás notificaciones suyas."
@@ -2881,7 +3008,7 @@ msgstr "Silenciar es privado. Las cuentas silenciadas pueden interactuar contigo
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"
@@ -2889,11 +3016,11 @@ msgstr "Mis canales de noticias"
msgid "My Profile"
msgstr "Mi perfil"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
msgstr ""
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
msgid "My Saved Feeds"
msgstr "Mis canales de noticias guardados"
@@ -2921,7 +3048,7 @@ msgid "Nature"
msgstr ""
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr ""
@@ -2930,7 +3057,7 @@ msgstr ""
msgid "Navigates to your profile"
msgstr ""
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
msgid "Need to report a copyright violation?"
msgstr ""
@@ -2977,17 +3104,17 @@ msgstr ""
msgid "New Password"
msgstr ""
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
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:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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"
@@ -3011,12 +3138,12 @@ msgstr ""
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -3040,8 +3167,8 @@ msgstr "Imagen nueva"
msgid "No"
msgstr "No"
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Sin descripción"
@@ -3049,11 +3176,15 @@ msgstr "Sin descripción"
msgid "No DNS Panel"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
msgstr ""
@@ -3066,20 +3197,24 @@ msgstr ""
msgid "No result"
msgstr "Sin resultados"
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "No se han encontrado resultados para {query}"
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr ""
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
@@ -3102,19 +3237,19 @@ msgstr ""
msgid "Not Applicable."
msgstr "No aplicable."
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:246
-#: src/view/com/modals/VerifyEmail.tsx:252
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr ""
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
msgstr ""
@@ -3122,13 +3257,13 @@ msgstr ""
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:469
+#: src/Navigation.tsx:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Notificaciones"
@@ -3144,7 +3279,7 @@ msgstr ""
#~ msgid "Nudity or pornography not labeled as such"
#~ msgstr ""
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
msgstr ""
@@ -3152,7 +3287,8 @@ msgstr ""
msgid "Off"
msgstr ""
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "¡Qué problema!"
@@ -3161,7 +3297,7 @@ msgid "Oh no! Something went wrong."
msgstr ""
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
msgstr ""
@@ -3173,11 +3309,11 @@ msgstr "Está bien"
msgid "Oldest replies first"
msgstr ""
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr ""
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr "Falta el texto alternativo en una o varias imágenes."
@@ -3185,17 +3321,17 @@ msgstr "Falta el texto alternativo en una o varias imágenes."
msgid "Only {0} can reply."
msgstr "Solo {0} puede responder."
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
msgstr ""
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
msgstr ""
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr ""
@@ -3207,16 +3343,16 @@ msgstr ""
#~ msgid "Open content filtering settings"
#~ msgstr ""
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:300
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
msgstr ""
-#: src/view/screens/Settings/index.tsx:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr ""
@@ -3228,20 +3364,20 @@ msgstr ""
#~ msgid "Open muted words settings"
#~ msgstr ""
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Abrir navegación"
-#: 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:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr ""
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
msgstr ""
@@ -3249,15 +3385,19 @@ msgstr ""
msgid "Opens {numItems} options"
msgstr ""
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr ""
+
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:353
+#: 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
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr ""
@@ -3265,11 +3405,11 @@ msgstr ""
msgid "Opens composer"
msgstr ""
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr "Abrir la configuración del idioma que se puede ajustar"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
msgid "Opens device photo gallery"
msgstr ""
@@ -3277,19 +3417,17 @@ msgstr ""
#~ msgid "Opens editor for profile display name, avatar, background image, and description"
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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 ""
@@ -3301,6 +3439,10 @@ msgstr ""
#~ msgid "Opens following list"
#~ msgstr ""
+#: src/view/com/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr ""
+
#: src/view/screens/Settings.tsx:412
#~ msgid "Opens invite code list"
#~ msgstr ""
@@ -3309,7 +3451,7 @@ msgstr ""
msgid "Opens list of invite codes"
msgstr "Abre la lista de códigos de invitación"
-#: src/view/screens/Settings/index.tsx:798
+#: src/view/screens/Settings/index.tsx:757
msgid "Opens modal for account deletion confirmation. Requires email code"
msgstr ""
@@ -3317,19 +3459,19 @@ msgstr ""
#~ msgid "Opens modal for account deletion confirmation. Requires email code."
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:756
+#: src/view/screens/Settings/index.tsx:715
msgid "Opens modal for changing your Bluesky password"
msgstr ""
-#: src/view/screens/Settings/index.tsx:718
+#: src/view/screens/Settings/index.tsx:670
msgid "Opens modal for choosing a new Bluesky handle"
msgstr ""
-#: src/view/screens/Settings/index.tsx:779
+#: src/view/screens/Settings/index.tsx:738
msgid "Opens modal for downloading your Bluesky account data (repository)"
msgstr ""
-#: src/view/screens/Settings/index.tsx:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
msgstr ""
@@ -3337,24 +3479,24 @@ msgstr ""
msgid "Opens modal for using custom domain"
msgstr "Abre el modal para usar el dominio personalizado"
-#: src/view/screens/Settings/index.tsx:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "Abre la configuración de moderación"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
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:597
+#: src/view/screens/Settings/index.tsx:549
msgid "Opens screen with all saved feeds"
msgstr "Abre la pantalla con todas las noticias guardadas"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:648
msgid "Opens the app password settings"
msgstr ""
@@ -3362,7 +3504,7 @@ msgstr ""
#~ 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:554
+#: src/view/screens/Settings/index.tsx:506
msgid "Opens the Following feed preferences"
msgstr ""
@@ -3374,16 +3516,16 @@ msgstr ""
msgid "Opens the linked website"
msgstr ""
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr "Abre la página del libro de cuentos"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "Abre la página de la bitácora del sistema"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "Abre las preferencias de hilos"
@@ -3391,7 +3533,7 @@ msgstr "Abre las preferencias de hilos"
msgid "Option {0} of {numItems}"
msgstr ""
-#: src/components/ReportDialog/SubmitView.tsx:162
+#: src/components/ReportDialog/SubmitView.tsx:160
msgid "Optionally provide additional information below:"
msgstr ""
@@ -3415,7 +3557,7 @@ msgstr "Otra cuenta"
msgid "Other..."
msgstr "Otro..."
-#: src/components/Lists.tsx:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Página no encontrada"
@@ -3424,8 +3566,8 @@ msgstr "Página no encontrada"
msgid "Page Not Found"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3443,11 +3585,19 @@ msgstr "Contraseña actualizada"
msgid "Password updated!"
msgstr "¡Contraseña actualizada!"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr ""
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr ""
@@ -3471,23 +3621,31 @@ msgstr ""
msgid "Pictures meant for adults."
msgstr "Imágenes destinadas a adultos."
-#: src/view/screens/ProfileFeed.tsx:292
-#: 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:295
+#: 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 "Canales de noticias anclados"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Play"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr ""
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3554,11 +3712,11 @@ msgstr ""
#~ 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
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr ""
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr "Por favor, espera a que tu tarjeta de enlace termine de cargarse"
@@ -3574,8 +3732,8 @@ msgstr ""
#~ msgid "Pornography"
#~ msgstr ""
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr ""
@@ -3585,17 +3743,17 @@ msgctxt "description"
msgid "Post"
msgstr "Publicación"
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr ""
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
msgid "Post by @{0}"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:105
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr ""
@@ -3630,7 +3788,7 @@ msgstr "Publicación no encontrada"
msgid "posts"
msgstr ""
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr "Publicaciones"
@@ -3646,13 +3804,13 @@ msgstr ""
msgid "Potentially Misleading Link"
msgstr "Enlace potencialmente engañoso"
-#: src/components/forms/HostingProvider.tsx:45
+#: 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:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
msgstr ""
@@ -3668,16 +3826,16 @@ msgstr "Lenguajes primarios"
msgid "Prioritize Your Follows"
msgstr "Priorizar los usuarios a los que sigue"
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Privacidad"
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Política de privacidad"
@@ -3686,15 +3844,15 @@ msgid "Processing..."
msgstr "Procesando..."
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
msgstr ""
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Perfil"
@@ -3702,7 +3860,7 @@ msgstr "Perfil"
msgid "Profile updated"
msgstr ""
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "Protege tu cuenta verificando tu correo electrónico."
@@ -3718,11 +3876,11 @@ 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:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr ""
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr ""
@@ -3748,15 +3906,15 @@ msgstr ""
msgid "Ratios"
msgstr "Proporciones"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: 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"
@@ -3777,7 +3935,7 @@ msgstr "Eliminar"
msgid "Remove account"
msgstr "Eliminar la cuenta"
-#: src/view/com/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
msgstr ""
@@ -3795,8 +3953,8 @@ msgstr ""
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Eliminar de mis canales de noticias"
@@ -3808,7 +3966,7 @@ msgstr ""
msgid "Remove image"
msgstr "Eliminar la imagen"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr "Eliminar la vista previa de la imagen"
@@ -3841,15 +3999,15 @@ msgstr "Eliminar de la lista"
msgid "Removed from my feeds"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
msgstr ""
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr ""
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr "Respuestas"
@@ -3857,7 +4015,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:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr ""
@@ -3866,10 +4024,16 @@ msgstr ""
msgid "Reply Filters"
msgstr "Filtros de respuestas"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
+#~ msgctxt "description"
+#~ msgid "Reply to <0/>"
+#~ msgstr ""
+
+#: src/view/com/post/Post.tsx:178
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
-msgid "Reply to <0/>"
+msgid "Reply to <0><1/>0>"
msgstr ""
#: src/view/com/modals/report/Modal.tsx:166
@@ -3885,17 +4049,17 @@ msgstr "Informe de la cuenta"
msgid "Report dialog"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: 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:429
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Informe de la lista"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:292
-#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "Informe de la publicación"
@@ -3940,19 +4104,23 @@ msgstr "Volver a publicar o citar publicación"
msgid "Reposted By"
msgstr "Vuelto a publicar por"
-#: src/view/com/posts/FeedItem.tsx:197
+#: src/view/com/posts/FeedItem.tsx:199
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/>"
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Vuelto a publicar por <0/>"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: 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
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr ""
@@ -3970,14 +4138,23 @@ msgstr "Solicitar un cambio"
msgid "Request Code"
msgstr ""
-#: src/view/screens/Settings/index.tsx:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr ""
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr ""
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Requerido para este proveedor"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr ""
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Restablecer el código"
@@ -3990,8 +4167,8 @@ msgstr ""
#~ msgid "Reset onboarding"
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr "Restablecer el estado de incorporación"
@@ -4003,20 +4180,20 @@ msgstr "Restablecer la contraseña"
#~ msgid "Reset preferences"
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr "Restablecer el estado de preferencias"
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr "Restablece el estado de incorporación"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr "Restablecer el estado de preferencias"
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr ""
@@ -4025,13 +4202,13 @@ msgstr ""
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/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
@@ -4041,8 +4218,8 @@ msgstr "Volver a intentar"
#~ msgid "Retry."
#~ msgstr ""
-#: src/components/Error.tsx:86
-#: src/view/screens/ProfileList.tsx:917
+#: src/components/Error.tsx:95
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr ""
@@ -4092,12 +4269,12 @@ msgstr "Guardar el cambio de identificador"
msgid "Save image crop"
msgstr "Guardar el recorte de imagen"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: 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 "Guardar canales de noticias"
@@ -4105,7 +4282,7 @@ msgstr "Guardar canales de noticias"
msgid "Saved to your camera roll."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
msgstr ""
@@ -4125,28 +4302,28 @@ msgstr ""
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/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Buscar"
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr ""
@@ -4173,6 +4350,14 @@ msgstr ""
msgid "Search for users"
msgstr "Buscar usuarios"
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr ""
+
#: src/view/com/modals/ChangeEmail.tsx:110
msgid "Security Step Required"
msgstr "Se requiere un paso de seguridad"
@@ -4201,13 +4386,18 @@ 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:40
-msgid "See what's next"
-msgstr "Ver lo que sigue"
+#~ msgid "See what's next"
+#~ msgstr "Ver lo que sigue"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
@@ -4225,6 +4415,14 @@ msgstr ""
msgid "Select from an existing account"
msgstr "Selecciona de una cuenta existente"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
msgstr ""
@@ -4246,7 +4444,7 @@ msgstr ""
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 ""
@@ -4278,7 +4476,7 @@ msgstr "Selecciona qué idiomas quieres que incluyan tus canales de noticias sus
msgid "Select your app language for the default text to display in the app."
msgstr ""
-#: src/screens/Signup/StepInfo/index.tsx:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
msgstr ""
@@ -4302,8 +4500,8 @@ msgstr ""
msgid "Select your secondary algorithmic feeds"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:202
-#: src/view/com/modals/VerifyEmail.tsx:204
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "Enviar el mensaje de confirmación"
@@ -4316,13 +4514,13 @@ msgctxt "action"
msgid "Send Email"
msgstr "Enviar el mensaje"
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Enviar comentarios"
-#: 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 ""
@@ -4334,6 +4532,11 @@ msgstr ""
msgid "Send report to {0}"
msgstr ""
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
+msgstr ""
+
#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr ""
@@ -4416,23 +4619,23 @@ msgstr ""
msgid "Sets Bluesky username"
msgstr ""
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
msgstr ""
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
msgstr ""
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
msgstr ""
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
msgstr ""
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
msgstr ""
@@ -4461,11 +4664,11 @@ msgstr ""
#~ msgid "Sets server for the Bluesky client"
#~ msgstr ""
-#: src/Navigation.tsx:139
-#: src/view/screens/Settings/index.tsx:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Configuraciones"
@@ -4484,21 +4687,21 @@ 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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Compartir"
#: src/view/com/profile/ProfileMenu.tsx:373
-#: src/view/com/util/forms/PostDropdownBtn.tsx:347
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Compartir las noticias"
@@ -4515,7 +4718,7 @@ msgstr ""
#: 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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr "Mostrar"
@@ -4541,13 +4744,13 @@ msgstr ""
#~ msgid "Show embeds from {0}"
#~ msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr ""
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr ""
@@ -4604,7 +4807,7 @@ msgstr ""
msgid "Show the content"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Mostrar usuarios"
@@ -4624,24 +4827,24 @@ msgstr ""
msgid "Shows posts from {0} in your feed"
msgstr ""
+#: 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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr "Iniciar sesión"
@@ -4659,28 +4862,36 @@ msgstr "Iniciar sesión como {0}"
msgid "Sign in as..."
msgstr "Iniciar sesión como ..."
+#: 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:140
#~ msgid "Sign into"
#~ msgstr "Iniciar sesión en"
-#: src/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "Cerrar sesión"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
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"
@@ -4689,7 +4900,7 @@ msgstr "Regístrate o inicia sesión para unirte a la conversación"
msgid "Sign-in Required"
msgstr "Se requiere iniciar sesión"
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "Se inició sesión como"
@@ -4725,7 +4936,7 @@ msgstr ""
#: src/components/ReportDialog/index.tsx:59
#: src/screens/Moderation/index.tsx:114
-#: src/screens/Profile/Sections/Labels.tsx:76
+#: src/screens/Profile/Sections/Labels.tsx:87
msgid "Something went wrong, please try again."
msgstr ""
@@ -4737,7 +4948,7 @@ msgstr ""
#~ 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 ""
@@ -4773,11 +4984,11 @@ msgstr "Cuadrado"
#~ msgid "Staging"
#~ msgstr "Puesta en escena"
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "Página de estado"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
msgstr ""
@@ -4785,12 +4996,12 @@ msgstr ""
#~ msgid "Step {0} of {numSteps}"
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
msgid "Storage cleared, you need to restart the app now."
msgstr ""
-#: src/Navigation.tsx:211
-#: src/view/screens/Settings/index.tsx:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr "Libro de cuentos"
@@ -4799,15 +5010,15 @@ msgstr "Libro de cuentos"
msgid "Submit"
msgstr "Enviar"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Suscribirse"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: src/screens/Profile/Sections/Labels.tsx:191
msgid "Subscribe to @{0} to use these labels:"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
msgstr ""
@@ -4816,15 +5027,15 @@ msgstr ""
msgid "Subscribe to the {0} feed"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: 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 "Suscribirse a esta lista"
-#: src/view/screens/Search/Search.tsx:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "Usuarios sugeridos a seguir"
@@ -4836,7 +5047,7 @@ msgstr ""
msgid "Suggestive"
msgstr ""
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
@@ -4846,24 +5057,24 @@ msgstr "Soporte"
#~ msgid "Swipe up to see more"
#~ msgstr ""
-#: src/components/dialogs/SwitchAccount.tsx:46
-#: src/components/dialogs/SwitchAccount.tsx:49
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "Cambiar a otra cuenta"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
msgid "Switches the account you are logged in to"
msgstr ""
-#: src/view/screens/Settings/index.tsx:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr ""
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "Bitácora del sistema"
@@ -4895,11 +5106,11 @@ msgstr ""
msgid "Terms"
msgstr "Condiciones"
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Condiciones de servicio"
@@ -4917,7 +5128,7 @@ msgstr ""
msgid "Text input field"
msgstr "Campo de introducción de texto"
-#: src/components/ReportDialog/SubmitView.tsx:78
+#: src/components/ReportDialog/SubmitView.tsx:76
msgid "Thank you. Your report has been sent."
msgstr ""
@@ -4925,11 +5136,11 @@ msgstr ""
msgid "That contains the following:"
msgstr ""
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: 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."
@@ -4979,8 +5190,8 @@ msgstr "Las condiciones de servicio se han trasladado a"
msgid "There are many feeds to try:"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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 ""
@@ -4988,15 +5199,19 @@ msgstr ""
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+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 ""
@@ -5019,12 +5234,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 ""
@@ -5036,9 +5251,9 @@ msgstr ""
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/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -5050,14 +5265,15 @@ msgstr ""
msgid "There was an issue! {0}"
msgstr ""
-#: 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 ""
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
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!"
@@ -5118,9 +5334,9 @@ msgstr ""
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/screens/Profile/Sections/Feed.tsx:50
-#: src/view/screens/ProfileFeed.tsx:477
-#: 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 ""
@@ -5132,7 +5348,7 @@ msgstr ""
msgid "This information is not shared with other users."
msgstr "Esta información no se comparte con otros usuarios."
-#: src/view/com/modals/VerifyEmail.tsx:119
+#: src/view/com/modals/VerifyEmail.tsx:127
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."
@@ -5140,7 +5356,7 @@ msgstr "Esto es importante por si alguna vez necesitas cambiar tu correo electr
msgid "This label was applied by {0}."
msgstr ""
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: src/screens/Profile/Sections/Labels.tsx:178
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
msgstr ""
@@ -5148,7 +5364,7 @@ msgstr ""
msgid "This link is taking you to the following website:"
msgstr "Este enlace te lleva al siguiente sitio web:"
-#: src/view/screens/ProfileList.tsx:853
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr ""
@@ -5160,16 +5376,16 @@ msgstr ""
msgid "This name is already in use"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr "Esta publicación ha sido eliminada."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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:352
msgid "This post will be hidden from feeds."
msgstr ""
@@ -5234,12 +5450,12 @@ msgstr ""
#~ msgid "This will hide this post from your feeds."
#~ msgstr "Esto ocultará esta entrada de tus contenidos."
-#: src/view/screens/Settings/index.tsx:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
msgstr ""
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "Preferencias de hilos"
@@ -5247,10 +5463,14 @@ msgstr "Preferencias de hilos"
msgid "Threaded Mode"
msgstr "Modo con hilos"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr ""
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr ""
+
#: src/components/ReportDialog/SelectLabelerView.tsx:33
msgid "To whom would you like to send this report?"
msgstr ""
@@ -5267,14 +5487,19 @@ msgstr "Conmutar el menú desplegable"
msgid "Toggle to enable or disable adult content"
msgstr ""
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr ""
+
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Transformaciones"
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "Traducir"
@@ -5283,35 +5508,39 @@ msgctxt "action"
msgid "Try again"
msgstr "Intentar nuevamente"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr ""
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
msgstr ""
-#: src/view/screens/ProfileList.tsx:478
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Desbloquear una lista"
-#: src/view/screens/ProfileList.tsx:461
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Desactivar la opción de silenciar la lista"
#: src/screens/Login/ForgotPasswordForm.tsx:74
#: src/screens/Login/index.tsx:78
-#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:181
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
-#: src/view/screens/ProfileList.tsx:572
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Desbloquear"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr ""
@@ -5321,7 +5550,7 @@ msgstr ""
msgid "Unblock Account"
msgstr "Desbloquear una cuenta"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
msgstr ""
@@ -5334,7 +5563,7 @@ msgid "Undo repost"
msgstr "Deshacer esta publicación"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
msgstr ""
@@ -5343,7 +5572,7 @@ msgctxt "action"
msgid "Unfollow"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
msgid "Unfollow {0}"
msgstr ""
@@ -5356,16 +5585,16 @@ msgstr ""
#~ 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:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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 ""
@@ -5386,21 +5615,21 @@ 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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "Desactivar la opción de silenciar el hilo"
-#: src/view/screens/ProfileFeed.tsx:295
-#: 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:292
+#: 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 "Desanclar la lista de moderación"
@@ -5408,11 +5637,11 @@ msgstr "Desanclar la lista de moderación"
#~ msgid "Unsave"
#~ msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
msgstr ""
@@ -5440,20 +5669,20 @@ msgstr "Actualizando..."
msgid "Upload a text file to:"
msgstr "Carga un archivo de texto en:"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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:343
+#: 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:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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"
@@ -5531,13 +5760,13 @@ msgstr ""
msgid "User list by {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:777
+#: 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:775
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr ""
@@ -5553,11 +5782,11 @@ msgstr ""
msgid "User Lists"
msgstr "Listas de usuarios"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "Nombre de usuario o dirección de correo electrónico"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "Usuarios"
@@ -5585,15 +5814,15 @@ msgstr ""
msgid "Verify {0}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "Verificar el correo electrónico"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "Verificar mi correo electrónico"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "Verificar mi correo electrónico"
@@ -5602,11 +5831,11 @@ msgstr "Verificar mi correo electrónico"
msgid "Verify New Email"
msgstr "Verificar el correo electrónico nuevo"
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr ""
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
msgstr ""
@@ -5622,11 +5851,11 @@ msgstr ""
msgid "View debug entry"
msgstr "Ver entrada de depuración"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
msgstr ""
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
msgstr ""
@@ -5638,6 +5867,8 @@ msgstr ""
msgid "View information about these labels"
msgstr ""
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr ""
@@ -5650,7 +5881,7 @@ msgstr "Ver el avatar"
msgid "View the labeling service provided by @{0}"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
msgstr ""
@@ -5678,7 +5909,7 @@ msgstr ""
#~ msgid "We also think you'll like \"For You\" by Skygaze:"
#~ msgstr ""
-#: src/screens/Hashtag.tsx:133
+#: src/screens/Hashtag.tsx:210
msgid "We couldn't find any results for that hashtag."
msgstr ""
@@ -5730,11 +5961,11 @@ msgstr ""
msgid "We'll use this to help customize your experience."
msgstr ""
-#: src/screens/Signup/index.tsx:130
+#: 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: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 ""
@@ -5742,16 +5973,16 @@ msgstr ""
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:256
+#: src/view/screens/Search/Search.tsx:323
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:188
+#: src/components/Lists.tsx:197
#: 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/screens/Profile/Header/ProfileHeaderLabeler.tsx:321
+#: 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 ""
@@ -5767,9 +5998,9 @@ msgstr ""
#~ msgid "What is the issue with this {collectionName}?"
#~ msgstr "¿Cuál es el problema con esta {collectionName}?"
-#: src/view/com/auth/SplashScreen.tsx:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr "¿Qué hay de nuevo?"
@@ -5810,11 +6041,11 @@ msgstr ""
msgid "Wide"
msgstr "Ancho"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "Redactar una publicación"
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Redactar tu respuesta"
@@ -5875,15 +6106,15 @@ msgstr ""
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."
@@ -5925,16 +6156,16 @@ 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 "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
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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 ""
@@ -5946,7 +6177,7 @@ msgstr ""
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
+#: 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 ""
@@ -5974,15 +6205,15 @@ msgstr ""
msgid "You must be 18 years or older to enable adult content"
msgstr ""
-#: 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 ""
@@ -6013,7 +6244,7 @@ msgstr ""
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr ""
-#: src/screens/Signup/index.tsx:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Tu cuenta"
@@ -6025,7 +6256,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/screens/Signup/StepInfo/index.tsx:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Tu fecha de nacimiento"
@@ -6051,7 +6282,7 @@ msgstr "Tu correo electrónico parece no ser válido."
msgid "Your email has been updated but not verified. As a next step, please verify your new email."
msgstr "Tu correo electrónico ha sido actualizado pero no verificado. Como siguiente paso, verifica tu nuevo correo electrónico."
-#: src/view/com/modals/VerifyEmail.tsx:114
+#: src/view/com/modals/VerifyEmail.tsx:122
msgid "Your email has not yet been verified. This is an important security step which we recommend."
msgstr "Tu correo electrónico aún no ha sido verificado. Este es un paso de seguridad importante que te recomendamos."
@@ -6059,7 +6290,7 @@ 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/screens/Signup/StepHandle.tsx:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Tu identificador completo será"
@@ -6081,7 +6312,7 @@ msgstr ""
msgid "Your password has been changed successfully!"
msgstr ""
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr ""
@@ -6091,14 +6322,14 @@ msgstr ""
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/screens/Settings/index.tsx:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "Tu perfil"
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr ""
-#: src/screens/Signup/index.tsx:152
+#: 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 d5ff67405d..8cd50f6cc0 100644
--- a/src/locale/locales/fi/messages.po
+++ b/src/locale/locales/fi/messages.po
@@ -13,33 +13,16 @@ msgstr ""
"Language-Team: @pekka.bsky.social,@jaoler.fi,@rahi.bsky.social\n"
"Plural-Forms: \n"
-#: src/view/com/modals/VerifyEmail.tsx:142
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr "(ei sähköpostiosoitetta)"
-#: src/view/shell/desktop/RightNav.tsx:168
-#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
-#~ msgstr ""
-
+#: src/components/ProfileHoverCard/index.web.tsx:438
#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} seurattua"
-#: 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:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} lukematonta"
@@ -51,15 +34,20 @@ msgstr "<0/> jäsentä"
msgid "<0>{0}0> following"
msgstr "<0>{0}0> seurattua"
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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:30
+#: 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>"
@@ -67,45 +55,50 @@ msgstr "<0>Seuraa joitakin0><1>suositeltuja1><2>käyttäjiä2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Tervetuloa0><1>Blueskyhin1>"
-#: src/screens/Profile/Header/Handle.tsx:42
+#: 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."
-
-#: 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öä."
+#: src/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr ""
-#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:649
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
msgid "Access navigation links and settings"
msgstr "Siirry navigointilinkkeihin ja asetuksiin"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: 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:300
-#: src/view/screens/Settings/index.tsx:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "Saavutettavuus"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr ""
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr ""
+
#: 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:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "Käyttäjätili"
#: src/view/com/profile/ProfileMenu.tsx:139
msgid "Account blocked"
-msgstr "Käyttäjtili on estetty"
+msgstr "Käyttäjätili estetty"
#: src/view/com/profile/ProfileMenu.tsx:153
msgid "Account followed"
@@ -132,7 +125,7 @@ msgstr "Käyttäjätilin asetukset"
msgid "Account removed from quick access"
msgstr "Käyttäjätili poistettu pikalinkeistä"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Käyttäjätilin esto poistettu"
@@ -149,7 +142,7 @@ msgstr "Käyttäjätilin hiljennys poistettu"
#: 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:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Lisää"
@@ -157,13 +150,13 @@ msgstr "Lisää"
msgid "Add a content warning"
msgstr "Lisää sisältövaroitus"
-#: src/view/screens/ProfileList.tsx:817
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Lisää käyttäjä tähän listaan"
-#: src/components/dialogs/SwitchAccount.tsx:55
-#: src/view/screens/Settings/index.tsx:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr "Lisää käyttäjätili"
@@ -179,22 +172,13 @@ msgstr "Lisää ALT-teksti"
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"
-
-#: src/view/com/modals/report/Modal.tsx:194
-#~ msgid "Add details to report"
-#~ msgstr "Lisää tiedot raporttiin"
-
#: src/view/com/composer/Composer.tsx:467
-msgid "Add link card"
-msgstr "Lisää linkkikortti"
+#~ msgid "Add link card"
+#~ msgstr "Lisää linkkikortti"
#: src/view/com/composer/Composer.tsx:472
-msgid "Add link card:"
-msgstr "Lisää linkkikortti:"
+#~ msgid "Add link card:"
+#~ msgstr "Lisää linkkikortti:"
#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
@@ -240,24 +224,16 @@ msgstr "Säädä, kuinka monta tykkäystä vastauksen on saatava näkyäkseen sy
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/>."
-
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
-#~ msgid "Adult content can only be enabled via the Web at <0>bsky.app0>."
-#~ msgstr ""
-
#: src/components/moderation/LabelPreference.tsx:242
msgid "Adult content is disabled."
msgstr "Aikuissisältö on estetty"
#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
msgid "Advanced"
msgstr "Edistyneemmät"
-#: src/view/screens/Feeds.tsx:666
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
msgstr "Kaikki tallentamasi syötteet yhdessä paikassa."
@@ -275,6 +251,7 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "ALT-teksti"
@@ -282,7 +259,8 @@ msgstr "ALT-teksti"
msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone."
msgstr "ALT-teksti kuvailee kuvia sokeille ja heikkonäköisille käyttäjille sekä lisää kontekstia kaikille."
-#: src/view/com/modals/VerifyEmail.tsx:124
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
msgstr "Sähköposti on lähetetty osoitteeseen {0}. Siinä on vahvistuskoodi, jonka voit syöttää alla."
@@ -290,10 +268,16 @@ 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/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr ""
+
#: 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
@@ -301,7 +285,7 @@ msgstr "Ongelma, jota ei ole sisällytetty näihin vaihtoehtoihin"
msgid "An issue occurred, please try again."
msgstr "Tapahtui virhe, yritä uudelleen."
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "ja"
@@ -310,6 +294,10 @@ msgstr "ja"
msgid "Animals"
msgstr "Eläimet"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
msgstr "Epäsosiaalinen käytös"
@@ -330,17 +318,13 @@ msgstr "Sovelluksen salasanan nimet voivat sisältää vain kirjaimia, numeroita
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:695
+#: src/view/screens/Settings/index.tsx:647
msgid "App password settings"
msgstr "Sovelluksen salasanan asetukset"
-#: src/view/screens/Settings.tsx:650
-#~ msgid "App passwords"
-#~ msgstr ""
-
-#: src/Navigation.tsx:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "Sovellussalasanat"
@@ -353,27 +337,11 @@ msgstr "Valita"
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"
-
-#: src/view/com/modals/AppealLabel.tsx:65
-#~ 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ä"
-
-#: src/view/com/util/moderation/LabelInfo.tsx:56
-#~ msgid "Appeal this decision."
-#~ msgstr "Valita tästä päätöksestä."
-
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "Ulkonäkö"
@@ -385,7 +353,7 @@ msgstr "Haluatko varmasti poistaa sovellussalasanan \"{name}\"?"
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
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr "Haluatko varmasti hylätä tämän luonnoksen?"
@@ -393,10 +361,6 @@ msgstr "Haluatko varmasti hylätä tämän luonnoksen?"
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."
-
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
msgid "Are you writing in <0>{0}0>?"
msgstr "Onko viestisi kieli <0>{0}0>?"
@@ -409,9 +373,9 @@ msgstr "Taide"
msgid "Artistic or non-erotic nudity."
msgstr "Taiteellinen tai ei-eroottinen alastomuus."
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
-msgstr ""
+msgstr "Vähintään kolme merkkiä"
#: src/components/moderation/LabelsOnMeDialog.tsx:246
#: src/components/moderation/LabelsOnMeDialog.tsx:247
@@ -419,26 +383,21 @@ msgstr ""
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr "Takaisin"
-#: src/view/com/post-thread/PostThread.tsx:480
-#~ msgctxt "action"
-#~ msgid "Back"
-#~ msgstr "Takaisin"
-
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
msgstr "Perustuen kiinnostukseesi {interestsText}"
-#: src/view/screens/Settings/index.tsx:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "Perusasiat"
@@ -446,11 +405,11 @@ msgstr "Perusasiat"
msgid "Birthday"
msgstr "Syntymäpäivä"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr "Syntymäpäivä:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
msgstr "Estä"
@@ -464,25 +423,21 @@ msgstr "Estä käyttäjä"
msgid "Block Account?"
msgstr "Estä käyttäjätili?"
-#: src/view/screens/ProfileList.tsx:530
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Estä käyttäjätilit"
-#: 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 "Estettyjen lista"
+msgstr "Estä lista"
-#: src/view/screens/ProfileList.tsx:629
+#: 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"
-
#: 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 "Estetty"
@@ -490,8 +445,8 @@ msgstr "Estetty"
msgid "Blocked accounts"
msgstr "Estetyt käyttäjät"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "Estetyt käyttäjät"
@@ -499,7 +454,7 @@ msgstr "Estetyt käyttäjät"
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:120
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."
@@ -507,11 +462,11 @@ msgstr "Estetyt käyttäjät eivät voi vastata viesteihisi, mainita sinua tai m
msgid "Blocked post."
msgstr "Estetty viesti."
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: 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: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 "Estäminen on julkista. Estetyt käyttäjät eivät voi vastata viesteihisi, mainita sinua tai muuten olla vuorovaikutuksessa kanssasi."
@@ -519,12 +474,10 @@ msgstr "Estäminen on julkista. Estetyt käyttäjät eivät voi vastata viesteih
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/HomeLoggedOutCTA.tsx:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blogi"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -549,18 +502,10 @@ msgstr "Bluesky on avoin."
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."
-
#: 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 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"
@@ -573,19 +518,10 @@ msgstr "Sumenna kuvat ja suodata syötteistä"
msgid "Books"
msgstr "Kirjat"
-#: src/view/screens/Settings/index.tsx:893
-#~ msgid "Build version {0} {1}"
-#~ msgstr "Versio {0} {1}"
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: 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 "Painike poistettu käytöstä. Anna mukautettu verkkotunnus jatkaaksesi."
-
#: src/view/com/profile/ProfileSubpageHeader.tsx:157
msgid "by —"
msgstr "käyttäjä —"
@@ -610,7 +546,7 @@ msgstr "Luomalla käyttäjätilin hyväksyt {els}."
msgid "by you"
msgstr "sinulta"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "Kamera"
@@ -622,8 +558,8 @@ msgstr "Voi sisältää vain kirjaimia, numeroita, välilyöntejä, viivoja ja a
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -638,9 +574,9 @@ msgstr "Voi sisältää vain kirjaimia, numeroita, välilyöntejä, viivoja ja a
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Peruuta"
@@ -678,42 +614,38 @@ msgstr "Peruuta uudelleenpostaus"
msgid "Cancel search"
msgstr "Peruuta haku"
-#: src/view/com/modals/Waitlist.tsx:136
-#~ msgid "Cancel waitlist signup"
-#~ msgstr "Peruuta odotuslistalle liittyminen"
-
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
msgstr "Vaihda"
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "Vaihda"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "Vaihda käyttäjätunnus"
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "Vaihda käyttäjätunnus"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "Vaihda sähköpostiosoitteeni"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr "Vaihda salasana"
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr "Vaihda salasana"
@@ -721,10 +653,6 @@ msgstr "Vaihda salasana"
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"
-
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
msgstr "Vaihda sähköpostiosoitteesi"
@@ -734,14 +662,18 @@ 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/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr ""
+
#: 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:"
@@ -750,10 +682,6 @@ msgstr "Tarkista sähköpostisi ja syötä saamasi vahvistuskoodi alle:"
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"
-
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "Valitse palvelu"
@@ -767,44 +695,40 @@ msgstr "Valitse algoritmit, jotka ohjaavat mukautettuja syötteitäsi."
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 "Valitse algoritmiperustaiset syötteet"
-
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
msgid "Choose your main feeds"
msgstr "Valitse pääsyötteet"
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Valitse salasanasi"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr "Tyhjennä kaikki vanhan tietomallin mukaiset tiedot"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
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:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr "Tyhjennä kaikki tallennukset"
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
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:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "Tyhjennä hakukysely"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
msgstr "Tyhjentää kaikki tallennustiedot"
@@ -816,21 +740,22 @@ msgstr "klikkaa tästä"
msgid "Click here to open tag menu for {tag}"
msgstr "Avaa tästä valikko aihetunnisteelle {tag}"
-#: src/components/RichText.tsx:192
-msgid "Click here to open tag menu for #{tag}"
-msgstr "Klikkaa tästä avataksesi valikon 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/components/dialogs/GifSelect.tsx:300
#: src/view/com/modals/ChangePassword.tsx:267
#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "Sulje"
-#: src/components/Dialog/index.web.tsx:106
-#: src/components/Dialog/index.web.tsx:218
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr "Sulje aktiivinen ikkuna"
@@ -842,6 +767,14 @@ msgstr "Sulje hälytys"
msgid "Close bottom drawer"
msgstr "Sulje alavalinnat"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr ""
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Sulje kuva"
@@ -850,7 +783,7 @@ msgstr "Sulje kuva"
msgid "Close image viewer"
msgstr "Sulje kuvankatselu"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr "Sulje alanavigointi"
@@ -859,7 +792,7 @@ msgstr "Sulje alanavigointi"
msgid "Close this dialog"
msgstr "Sulje tämä valintaikkuna"
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr "Sulkee alanavigaation"
@@ -867,7 +800,7 @@ msgstr "Sulkee alanavigaation"
msgid "Closes password update alert"
msgstr "Sulkee salasanan päivitysilmoituksen"
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr "Sulkee editorin ja hylkää luonnoksen"
@@ -875,7 +808,7 @@ msgstr "Sulkee editorin ja hylkää luonnoksen"
msgid "Closes viewer for header image"
msgstr "Sulkee kuvan katseluohjelman"
-#: src/view/com/notifications/FeedItem.tsx:321
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "Pienentää käyttäjäluettelon annetulle ilmoitukselle"
@@ -887,7 +820,7 @@ msgstr "Komedia"
msgid "Comics"
msgstr "Sarjakuvat"
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Yhteisöohjeet"
@@ -896,11 +829,11 @@ msgstr "Yhteisöohjeet"
msgid "Complete onboarding and start using your account"
msgstr "Suorita käyttöönotto loppuun ja aloita käyttäjätilisi käyttö"
-#: src/screens/Signup/index.tsx:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "Tee haaste loppuun"
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Laadi viestejä, joiden pituus on enintään {MAX_GRAPHEME_LENGTH} merkkiä"
@@ -923,19 +856,15 @@ 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/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
msgid "Confirm"
msgstr "Vahvista"
-#: src/view/com/modals/Confirm.tsx:75
-#: src/view/com/modals/Confirm.tsx:78
-#~ msgctxt "action"
-#~ msgid "Confirm"
-#~ msgstr "Vahvista"
-
#: src/view/com/modals/ChangeEmail.tsx:193
#: src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
@@ -949,10 +878,6 @@ msgstr "Vahvista sisällön kieliasetukset"
msgid "Confirm delete account"
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öä"
-
#: src/screens/Moderation/index.tsx:301
msgid "Confirm your age:"
msgstr "Vahvista ikäsi:"
@@ -961,22 +886,21 @@ msgstr "Vahvista ikäsi:"
msgid "Confirm your birthdate"
msgstr "Vahvista syntymäaikasi"
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
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"
-
-#: src/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "Yhdistetään..."
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Ota yhteyttä tukeen"
@@ -988,14 +912,6 @@ msgstr "sisältö"
msgid "Content Blocked"
msgstr "Sisältö estetty"
-#: src/view/screens/Moderation.tsx:83
-#~ msgid "Content filtering"
-#~ msgstr "Sisällönsuodatus"
-
-#: src/view/com/modals/ContentFilteringSettings.tsx:44
-#~ msgid "Content Filtering"
-#~ msgstr "Sisällönsuodatus"
-
#: src/screens/Moderation/index.tsx:285
msgid "Content filters"
msgstr "Sisältösuodattimet"
@@ -1030,21 +946,21 @@ msgstr ""
#: 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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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/components/AccountList.tsx:108
msgid "Continue as {0} (currently signed in)"
-msgstr ""
+msgstr "Jatka käyttäjänä {0} (kirjautunut)"
#: 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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Jatka seuraavaan vaiheeseen"
@@ -1065,17 +981,21 @@ msgstr "Ruoanlaitto"
msgid "Copied"
msgstr "Kopioitu"
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
msgid "Copied build version to clipboard"
msgstr "Ohjelmiston versio kopioitu leikepöydälle"
#: 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:158
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "Kopioitu leikepöydälle"
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr "Kopioitu!"
+
#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr "Kopioi sovellussalasanan"
@@ -1088,25 +1008,26 @@ msgstr "Kopioi"
msgid "Copy {0}"
msgstr "Kopioi {0}"
-#: src/view/screens/ProfileList.tsx:388
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr "Kopioi koodi"
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr "Kopioi listan linkki"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:228
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
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"
-
-#: src/view/com/util/forms/PostDropdownBtn.tsx:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "Kopioi viestin teksti"
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Tekijänoikeuskäytäntö"
@@ -1115,39 +1036,38 @@ msgstr "Tekijänoikeuskäytäntö"
msgid "Could not load feed"
msgstr "Syötettä ei voitu ladata"
-#: src/view/screens/ProfileList.tsx:907
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "Listaa ei voitu ladata"
-#: src/view/com/auth/create/Step2.tsx:91
-#~ msgid "Country"
-#~ msgstr "Maa"
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
msgid "Create a new account"
msgstr "Luo uusi käyttäjätili"
-#: src/view/screens/Settings/index.tsx:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr "Luo uusi Bluesky-tili"
-#: src/screens/Signup/index.tsx:129
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Luo käyttäjätili"
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr "Luo käyttäjätili"
+
#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr "Luo sovellussalasana"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr "Luo uusi käyttäjätili"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:93
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
msgid "Create report for {0}"
msgstr "Luo raportti: {0}"
@@ -1155,17 +1075,9 @@ msgstr "Luo raportti: {0}"
msgid "Created {0}"
msgstr "{0} luotu"
-#: src/view/screens/ProfileFeed.tsx:616
-#~ msgid "Created by <0/>"
-#~ msgstr "Luonut <0/>"
-
-#: src/view/screens/ProfileFeed.tsx:614
-#~ msgid "Created by you"
-#~ msgstr "Luomasi sisältö"
-
#: 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}"
+#~ msgid "Creates a card with a thumbnail. The card links to {url}"
+#~ msgstr "Luo kortin pikkukuvan kanssa. Kortti linkittyy osoitteeseen {url}"
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
@@ -1181,20 +1093,16 @@ msgid "Custom domain"
msgstr "Mukautettu verkkotunnus"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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 mieluisaa sisältöä."
-#: src/view/screens/PreferencesExternalEmbeds.tsx:55
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr "Muokkaa ulkoisten sivustojen mediasisältöjen asetuksia"
-#: src/view/screens/Settings.tsx:687
-#~ msgid "Danger Zone"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr "Tumma"
@@ -1202,15 +1110,15 @@ msgstr "Tumma"
msgid "Dark mode"
msgstr "Tumma ulkoasu"
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr "Tumma teema"
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
-msgstr ""
+msgstr "Syntymäaika"
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
msgstr ""
@@ -1218,13 +1126,13 @@ msgstr ""
msgid "Debug panel"
msgstr "Vianetsintäpaneeli"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: src/view/screens/AppPasswords.tsx:268
-#: src/view/screens/ProfileList.tsx:613
+#: src/view/screens/ProfileList.tsx:615
msgid "Delete"
msgstr "Poista"
-#: src/view/screens/Settings/index.tsx:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "Poista käyttäjätili"
@@ -1240,7 +1148,7 @@ msgstr "Poista sovellussalasana"
msgid "Delete app password?"
msgstr "Poista sovellussalasana"
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Poista lista"
@@ -1248,28 +1156,24 @@ msgstr "Poista lista"
msgid "Delete my account"
msgstr "Poista käyttäjätilini"
-#: src/view/screens/Settings.tsx:706
-#~ msgid "Delete my account…"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
msgid "Delete My Account…"
msgstr "Poista käyttäjätilini…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:302
-#: src/view/com/util/forms/PostDropdownBtn.tsx:304
+#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
msgid "Delete post"
msgstr "Poista viesti"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:610
msgid "Delete this list?"
msgstr "Poista tämä lista?"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:314
+#: src/view/com/util/forms/PostDropdownBtn.tsx:340
msgid "Delete this post?"
msgstr "Poista tämä viesti?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:64
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Poistettu"
@@ -1284,18 +1188,34 @@ msgstr "Poistettu viesti."
msgid "Description"
msgstr "Kuvaus"
-#: src/view/screens/Settings.tsx:760
-#~ msgid "Developer Tools"
-#~ msgstr "Kehittäjätyökalut"
-
-#: src/view/com/composer/Composer.tsx:218
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr "Haluatko sanoa jotain?"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr "Himmeä"
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr ""
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr ""
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+#~ msgid "Disable haptics"
+#~ msgstr "Poista haptiset palautteet käytöstä"
+
+#: src/view/screens/Settings/index.tsx:697
+#~ msgid "Disable vibrations"
+#~ msgstr "Poista värinät käytöstä"
+
#: src/lib/moderation/useLabelBehaviorDescription.ts:32
#: src/lib/moderation/useLabelBehaviorDescription.ts:42
#: src/lib/moderation/useLabelBehaviorDescription.ts:68
@@ -1303,15 +1223,11 @@ msgstr "Himmeä"
msgid "Disabled"
msgstr "Poistettu käytöstä"
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr "Hylkää"
-#: src/view/com/composer/Composer.tsx:145
-#~ msgid "Discard draft"
-#~ msgstr "Hylkää luonnos"
-
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
msgstr "Hylkää luonnos?"
@@ -1325,11 +1241,7 @@ msgstr "Estä sovelluksia näyttämästä tiliäni kirjautumattomille käyttäji
msgid "Discover new custom feeds"
msgstr "Löydä uusia mukautettuja syötteitä"
-#: 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 "Löydä uusia syötteitä"
@@ -1349,9 +1261,9 @@ msgstr "DNS-paneeli"
msgid "Does not include nudity."
msgstr "Ei sisällä alastomuutta."
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
-msgstr ""
+msgstr "Ei ala eikä lopu väliviivaan"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "Domain Value"
@@ -1361,10 +1273,6 @@ msgstr ""
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?"
-
#: src/components/dialogs/BirthDateSettings.tsx:119
#: src/components/dialogs/BirthDateSettings.tsx:125
#: src/components/forms/DateField/index.tsx:74
@@ -1383,7 +1291,7 @@ msgstr "Verkkotunnus vahvistettu!"
msgid "Done"
msgstr "Valmis"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: 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
@@ -1400,20 +1308,12 @@ msgstr "Valmis"
msgid "Done{extraText}"
msgstr "Valmis{extraText}"
-#: 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)"
-
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
msgid "Download CAR file"
msgstr "Lataa CAR tiedosto"
-#: src/view/com/composer/text-input/TextInput.web.tsx:249
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr "Raahaa tähän lisätäksesi kuvia"
@@ -1466,7 +1366,7 @@ msgctxt "action"
msgid "Edit"
msgstr "Muokkaa"
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
msgstr "Muokkaa profiilikuvaa"
@@ -1476,7 +1376,7 @@ msgstr "Muokkaa profiilikuvaa"
msgid "Edit image"
msgstr "Muokkaa kuvaa"
-#: src/view/screens/ProfileList.tsx:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Muokkaa listan tietoja"
@@ -1484,9 +1384,9 @@ msgstr "Muokkaa listan tietoja"
msgid "Edit Moderation List"
msgstr "Muokkaa moderaatiolistaa"
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Muokkaa syötteitä"
@@ -1494,18 +1394,18 @@ msgstr "Muokkaa syötteitä"
msgid "Edit my profile"
msgstr "Muokkaa profiilia"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "Muokkaa profiilia"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
msgid "Edit Profile"
msgstr "Muokkaa profiilia"
-#: 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 "Muokkaa tallennettuja syötteitä"
@@ -1530,6 +1430,10 @@ msgstr "Koulutus"
msgid "Email"
msgstr "Sähköposti"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr ""
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Sähköpostiosoite"
@@ -1543,14 +1447,28 @@ msgstr "Sähköpostiosoite päivitetty"
msgid "Email Updated"
msgstr "Sähköpostiosoite päivitetty"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr "Sähköpostiosoite vahvistettu"
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
msgid "Email:"
msgstr "Sähköpostiosoite:"
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr "Upotuksen HTML-koodi"
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+msgid "Embed post"
+msgstr "Upota viesti"
+
+#: 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 "Upota tämä julkaisu verkkosivustollesi. Kopioi vain seuraava koodinpätkä ja liitä se verkkosivustosi HTML-koodiin."
+
#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "Ota käyttöön vain {0}"
@@ -1571,13 +1489,9 @@ 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 ""
+msgstr "Ota käyttöön ulkoinen media"
-#: src/view/com/modals/EmbedConsent.tsx:97
-#~ msgid "Enable External Media"
-#~ msgstr "Ota ulkoinen media käyttöön"
-
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr "Ota mediatoistimet käyttöön kohteille"
@@ -1593,7 +1507,7 @@ msgstr ""
msgid "Enabled"
msgstr "Käytössä"
-#: src/screens/Profile/Sections/Feed.tsx:84
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Syötteen loppu"
@@ -1603,14 +1517,14 @@ msgstr "Anna sovellusalasanalle nimi"
#: src/screens/Login/SetNewPasswordForm.tsx:139
msgid "Enter a password"
-msgstr ""
+msgstr "Anna salasana"
#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
msgid "Enter a word or tag"
msgstr "Kirjoita sana tai aihetunniste"
-#: src/view/com/modals/VerifyEmail.tsx:105
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr "Syötä vahvistuskoodi"
@@ -1624,18 +1538,14 @@ msgstr "Anna verkkotunnus, jota haluat käyttää"
#: 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."
+msgstr "Anna sähköpostiosoite, jota käytit tilin luomiseen. Lähetämme sinulle \"nollauskoodin\", jotta voit määritellä uuden salasanan."
#: 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"
-
#: src/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Syötä sähköpostiosoitteesi"
@@ -1647,10 +1557,6 @@ msgstr "Syötä uusi sähköpostiosoitteesi yläpuolelle"
msgid "Enter your new email address below."
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"
-
#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "Syötä käyttäjätunnuksesi ja salasanasi"
@@ -1659,7 +1565,7 @@ msgstr "Syötä käyttäjätunnuksesi ja salasanasi"
msgid "Error receiving captcha response."
msgstr "Virhe captcha-vastauksen vastaanottamisessa."
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Virhe:"
@@ -1692,16 +1598,12 @@ msgstr "Poistuu kuvan katselutilasta"
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}"
-
#: 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"
@@ -1713,12 +1615,12 @@ msgstr "Selvästi tai mahdollisesti häiritsevä media."
msgid "Explicit sexual images."
msgstr "Selvästi seksuaalista kuvamateriaalia."
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr "Vie tietoni"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr "Vie tietoni"
@@ -1728,17 +1630,17 @@ msgid "External Media"
msgstr "Ulkoiset mediat"
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:275
-#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr "Ulkoisten mediasoittimien asetukset"
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr "Ulkoisten mediasoittimien asetukset"
@@ -1751,12 +1653,16 @@ msgstr "Sovellussalasanan luominen epäonnistui."
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:125
+#: 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/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+msgstr ""
+
+#: 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"
@@ -1764,7 +1670,7 @@ msgstr "Suositeltujen syötteiden lataaminen epäonnistui"
msgid "Failed to save image: {0}"
msgstr "Kuvan {0} tallennus epäonnistui"
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr "Syöte"
@@ -1772,43 +1678,31 @@ msgstr "Syöte"
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ä"
-#: src/view/com/feeds/FeedPage.tsx:143
-#~ msgid "Feed Preferences"
-#~ msgstr "Syötteen asetukset"
-
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:314
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Palaute"
-#: src/Navigation.tsx:464
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "Syötteet"
-#: 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 "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."
@@ -1834,13 +1728,17 @@ msgstr "Viimeistely"
msgid "Find accounts to follow"
msgstr "Etsi seurattavia tilejä"
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
-msgstr "Etsi käyttäjiä Bluesky-palvelusta"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
+msgstr ""
+
+#: 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:440
-msgid "Find users with the search tool on the right"
-msgstr "Etsi käyttäjiä oikealla olevan hakutyökalun avulla"
+#: 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:155
msgid "Finding similar accounts..."
@@ -1850,10 +1748,6 @@ msgstr "Etsitään samankaltaisia käyttäjätilejä"
msgid "Fine-tune the content you see on your Following feed."
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."
-#~ msgstr "Hienosäädä näkemääsi sisältöä pääsivulla."
-
#: src/view/screens/PreferencesThreads.tsx:60
msgid "Fine-tune the discussion threads."
msgstr "Hienosäädä keskusteluketjuja."
@@ -1876,10 +1770,10 @@ msgid "Flip vertically"
msgstr "Käännä pystysuunnassa"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Seuraa"
@@ -1889,7 +1783,7 @@ msgid "Follow"
msgstr "Seuraa"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "Seuraa {0}"
@@ -1897,7 +1791,7 @@ msgstr "Seuraa {0}"
#: src/view/com/profile/ProfileMenu.tsx:242
#: src/view/com/profile/ProfileMenu.tsx:253
msgid "Follow Account"
-msgstr ""
+msgstr "Seuraa käyttäjää"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
@@ -1905,17 +1799,17 @@ msgstr "Seuraa kaikkia"
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
msgid "Follow Back"
-msgstr ""
+msgstr "Seuraa takaisin"
#: 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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr "Seuraajina {0}"
@@ -1927,7 +1821,7 @@ msgstr "Seuratut käyttäjät"
msgid "Followed users only"
msgstr "Vain seuratut käyttäjät"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "seurasi sinua"
@@ -1936,26 +1830,26 @@ msgstr "seurasi sinua"
msgid "Followers"
msgstr "Seuraajat"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
#: src/view/com/profile/ProfileFollows.tsx:104
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
msgstr "Seurataan"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr "Seurataan {0}"
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
msgid "Following feed preferences"
msgstr "Seuratut -syötteen asetukset"
-#: src/Navigation.tsx:262
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
msgstr "Seuratut -syötteen asetukset"
@@ -1963,7 +1857,7 @@ msgstr "Seuratut -syötteen asetukset"
msgid "Follows you"
msgstr "Seuraa sinua"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr "Seuraa sinua"
@@ -1979,47 +1873,38 @@ msgstr "Turvallisuussyistä meidän on lähetettävä vahvistuskoodi sähköpost
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 password"
-#~ msgstr "Unohtunut salasana"
-
#: src/screens/Login/index.tsx:129
#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "Unohtunut salasana"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
-msgstr ""
+msgstr "Unohtuiko salasana?"
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
-msgstr ""
+msgstr "Unohditko?"
#: 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
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
msgstr ""
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "Lähde: <0/>"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "Galleria"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "Aloita tästä"
@@ -2033,25 +1918,25 @@ msgstr "Ilmeisiä lain tai käyttöehtojen rikkomuksia"
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: src/view/screens/ProfileList.tsx:918
#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Palaa takaisin"
-#: src/components/Error.tsx:91
+#: src/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Palaa takaisin"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "Palaa edelliseen vaiheeseen"
@@ -2063,7 +1948,7 @@ msgstr "Palaa alkuun"
msgid "Go Home"
msgstr "Palaa alkuun"
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "Siirry @{queryMaybeHandle}"
@@ -2081,28 +1966,28 @@ msgstr ""
msgid "Handle"
msgstr "Käyttäjätunnus"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
msgstr "Häirintä, trollaus tai suvaitsemattomuus"
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
msgstr "Aihetunniste"
-#: src/components/RichText.tsx:188
-#~ msgid "Hashtag: {tag}"
-#~ msgstr "Aihetunniste: {tag}"
-
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
msgstr "Aihetunniste #{tag}"
-#: src/screens/Signup/index.tsx:217
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "Ongelmia?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Ohje"
@@ -2131,17 +2016,17 @@ msgstr "Tässä on sovelluksesi salasana."
#: 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:354
msgid "Hide"
msgstr "Piilota"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr "Piilota"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:278
+#: src/view/com/util/forms/PostDropdownBtn.tsx:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr "Piilota viesti"
@@ -2150,18 +2035,14 @@ msgstr "Piilota viesti"
msgid "Hide the content"
msgstr "Piilota sisältö"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr "Piilota tämä viesti?"
-#: src/view/com/notifications/FeedItem.tsx:319
+#: 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"
-
#: 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, jokin ongelma ilmeni ottaessa yhteyttä syötteen palvelimeen. Ilmoita asiasta syötteen omistajalle."
@@ -2190,27 +2071,20 @@ msgstr "Hmm, vaikuttaa siltä, että tämän datan lataamisessa on ongelmia. Kat
msgid "Hmmmm, we couldn't load that moderation service."
msgstr "Hmm, emme pystyneet avaamaan kyseistä moderaatiopalvelua."
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Koti"
-#: 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 "Aloitussivun syötteiden asetukset"
-
#: src/view/com/modals/ChangeHandle.tsx:420
msgid "Host:"
msgstr ""
#: src/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
@@ -2220,11 +2094,13 @@ msgstr "Hostingyritys"
msgid "How should we open this link?"
msgstr "Kuinka haluat avata tämän linkin?"
-#: src/view/com/modals/VerifyEmail.tsx:214
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "Minulla on koodi"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr "Minulla on vahvistuskoodi"
@@ -2244,13 +2120,13 @@ msgstr "Jos mitään ei ole valittu, sopii kaikenikäisille."
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:610
+#: src/view/screens/ProfileList.tsx:612
msgid "If you delete this list, you won't be able to recover it."
-msgstr ""
+msgstr "Jos poistat tämän listan, et voi palauttaa sitä."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:342
msgid "If you remove this post, you won't be able to recover it."
-msgstr ""
+msgstr "Jos poistat tämän julkaisun, et voi palauttaa sitä."
#: 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."
@@ -2268,11 +2144,6 @@ msgstr "Kuva"
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"
-
#: 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ä"
@@ -2285,14 +2156,6 @@ msgstr "Syötä sähköpostiisi lähetetty koodi salasanan nollaamista varten"
msgid "Input confirmation code for account deletion"
msgstr "Syötä vahvistuskoodi käyttäjätilin poistoa 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:151
-#~ msgid "Input invite code to proceed"
-#~ msgstr "Syötä kutsukoodi jatkaaksesi"
-
#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr "Syötä nimi sovellussalasanaa varten"
@@ -2305,27 +2168,19 @@ msgstr "Syötä uusi salasana"
msgid "Input password for account deletion"
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/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr ""
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr "Syötä salasana, joka liittyy kohteeseen {identifier}"
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
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"
-#: src/view/com/auth/create/Step2.tsx:271
-#~ msgid "Input the verification code we have texted to you"
-#~ 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"
-
-#: src/screens/Login/LoginForm.tsx:194
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr "Syötä salasanasi"
@@ -2333,22 +2188,23 @@ msgstr "Syötä salasanasi"
msgid "Input your preferred hosting provider"
msgstr "Syötä haluamasi palveluntarjoaja"
-#: src/screens/Signup/StepHandle.tsx:62
+#: 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:221
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr "Virheellinen tai ei tuettu tietue"
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr "Virheellinen käyttäjätunnus tai salasana"
-#: src/view/screens/Settings.tsx:411
-#~ msgid "Invite"
-#~ msgstr "Kutsu"
-
#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "Kutsu ystävä"
@@ -2365,10 +2221,6 @@ msgstr "Kutsukoodia ei hyväksytty. Tarkista, että syötit sen oikein ja yritä
msgid "Invite codes: {0} available"
msgstr "Kutsukoodit: {0} saatavilla"
-#: src/view/shell/Drawer.tsx:645
-#~ msgid "Invite codes: {invitesAvailable} available"
-#~ msgstr ""
-
#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr "Kutsukoodit: 1 saatavilla"
@@ -2377,24 +2229,10 @@ msgstr "Kutsukoodit: 1 saatavilla"
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:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: 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"
-
-#: src/view/com/auth/create/Step1.tsx:174
-#: src/view/com/auth/create/Step1.tsx:178
-#~ msgid "Join the waitlist."
-#~ msgstr "Liity odotuslistalle."
-
-#: src/view/com/modals/Waitlist.tsx:128
-#~ msgid "Join Waitlist"
-#~ msgstr "Liity odotuslistalle"
-
#: src/screens/Onboarding/index.tsx:24
msgid "Journalism"
msgstr "Journalismi"
@@ -2405,17 +2243,17 @@ msgstr ""
#: src/components/moderation/ContentHider.tsx:144
msgid "Labeled by {0}."
-msgstr ""
+msgstr "Merkinnnyt {0}."
#: src/components/moderation/ContentHider.tsx:142
msgid "Labeled by the author."
msgstr ""
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
msgstr ""
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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 ""
@@ -2435,26 +2273,23 @@ msgstr ""
msgid "Language selection"
msgstr "Kielen valinta"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr "Kielen asetukset"
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Kielen asetukset"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "Kielet"
-#: src/view/com/auth/create/StepHeader.tsx:20
-#~ msgid "Last step!"
-#~ msgstr "Viimeinen vaihe!"
-
-#: src/view/com/util/moderation/ContentHider.tsx:103
-#~ msgid "Learn more"
-#~ msgstr "Lue lisää"
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr "Uusimmat"
#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
@@ -2490,7 +2325,7 @@ msgstr "Poistuminen Blueskysta"
msgid "left to go."
msgstr "jäljellä."
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "Legacy tietovarasto tyhjennetty, sinun on käynnistettävä sovellus uudelleen nyt."
@@ -2503,27 +2338,22 @@ msgstr "Aloitetaan salasanasi nollaus!"
msgid "Let's go!"
msgstr "Aloitetaan!"
-#: src/view/com/util/UserAvatar.tsx:248
-#: src/view/com/util/UserBanner.tsx:62
-#~ msgid "Library"
-#~ msgstr "Kirjasto"
-
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr "Vaalea"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Tykkää"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "Tykkää tästä syötteestä"
#: src/components/LikesDialog.tsx:87
-#: src/Navigation.tsx:201
-#: src/Navigation.tsx:206
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
msgid "Liked by"
msgstr "Tykänneet"
@@ -2541,29 +2371,29 @@ msgstr "Tykännyt {0} {1}"
msgid "Liked by {count} {0}"
msgstr "Tykännyt {count} {0}"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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 "Tykännyt {likeCount} {0}"
-#: src/view/com/notifications/FeedItem.tsx:174
+#: 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:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "tykkäsi viestistäsi"
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr "Tykkäykset"
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr "Tykkäykset tässä viestissä"
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr "Lista"
@@ -2571,7 +2401,7 @@ msgstr "Lista"
msgid "List Avatar"
msgstr "Listan kuvake"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Lista estetty"
@@ -2579,11 +2409,11 @@ msgstr "Lista estetty"
msgid "List by {0}"
msgstr "Listan on luonut {0}"
-#: src/view/screens/ProfileList.tsx:355
+#: 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"
@@ -2591,36 +2421,31 @@ msgstr "Lista hiljennetty"
msgid "List Name"
msgstr "Listan nimi"
-#: src/view/screens/ProfileList.tsx:325
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Listaa estosta poistetut"
-#: src/view/screens/ProfileList.tsx:297
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Listaa hiljennyksestä poistetut"
-#: src/Navigation.tsx:114
-#: src/view/screens/Profile.tsx:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: 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ä"
-
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr "Lataa uusia ilmoituksia"
-#: src/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Lataa uusia viestejä"
@@ -2628,11 +2453,7 @@ msgstr "Lataa uusia viestejä"
msgid "Loading..."
msgstr "Ladataan..."
-#: src/view/com/modals/ServerInput.tsx:50
-#~ msgid "Local dev server"
-#~ msgstr ""
-
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr "Loki"
@@ -2651,6 +2472,10 @@ msgstr "Näkyvyys kirjautumattomana"
msgid "Login to account that is not listed"
msgstr "Kirjaudu tiliin, joka ei ole luettelossa"
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+msgstr ""
+
#: src/screens/Login/SetNewPasswordForm.tsx:116
msgid "Looks like XXXXX-XXXXX"
msgstr ""
@@ -2663,15 +2488,8 @@ msgstr "Varmista, että olet menossa oikeaan paikkaan!"
msgid "Manage your muted words and tags"
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ä"
-
-#: src/view/com/auth/create/Step2.tsx:109
-#~ msgid "May only contain letters and numbers"
-#~ msgstr "Ei saa olla pidempi kuin 253 merkkiä"
-
-#: src/view/screens/Profile.tsx:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr "Media"
@@ -2683,8 +2501,8 @@ msgstr "mainitut käyttäjät"
msgid "Mentioned users"
msgstr "Mainitut käyttäjät"
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "Valikko"
@@ -2696,12 +2514,12 @@ msgstr "Viesti palvelimelta: {0}"
msgid "Misleading Account"
msgstr "Harhaanjohtava käyttäjätili"
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Moderointi"
@@ -2714,13 +2532,13 @@ msgstr "Moderaation yksityiskohdat"
msgid "Moderation list by {0}"
msgstr "Moderointilista käyttäjältä {0}"
-#: src/view/screens/ProfileList.tsx:789
+#: 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:787
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Sinun moderointilistasi"
@@ -2736,16 +2554,16 @@ msgstr "Moderointilista päivitetty"
msgid "Moderation lists"
msgstr "Moderointilistat"
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Moderointilistat"
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr "Moderointiasetukset"
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
msgstr ""
@@ -2766,22 +2584,14 @@ msgstr "Lisää"
msgid "More feeds"
msgstr "Lisää syötteitä"
-#: src/view/screens/ProfileList.tsx:599
+#: 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"
-
#: 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ä"
-
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
msgstr "Hiljennä"
@@ -2795,7 +2605,7 @@ msgstr "Hiljennä {truncatedTag}"
msgid "Mute Account"
msgstr "Hiljennä käyttäjä"
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Hiljennä käyttäjät"
@@ -2803,10 +2613,6 @@ msgstr "Hiljennä käyttäjät"
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"
-
#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
msgstr "Hiljennä vain aihetunnisteissa"
@@ -2815,19 +2621,15 @@ msgstr "Hiljennä vain aihetunnisteissa"
msgid "Mute in text & tags"
msgstr "Hiljennä tekstissä ja aihetunnisteissa"
-#: 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 "Hiljennä lista"
-#: src/view/screens/ProfileList.tsx:619
+#: 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"
-
#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
msgstr "Hiljennä tämä sana viesteissä ja aihetunnisteissa"
@@ -2836,13 +2638,13 @@ msgstr "Hiljennä tämä sana viesteissä ja aihetunnisteissa"
msgid "Mute this word in tags only"
msgstr "Hiljennä tämä sana vain aihetunnisteissa"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
msgid "Mute thread"
msgstr "Hiljennä keskustelu"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
msgstr "Hiljennä sanat ja aihetunnisteet"
@@ -2854,12 +2656,12 @@ msgstr "Hiljennetty"
msgid "Muted accounts"
msgstr "Hiljennetyt käyttäjät"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: 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ä."
@@ -2871,7 +2673,7 @@ msgstr "Hiljentäjä: \"{0}\""
msgid "Muted words & tags"
msgstr "Hiljennetyt sanat ja aihetunnisteet"
-#: 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 "Hiljennys on yksityinen. Hiljennetyt käyttäjät voivat edelleen vuorovaikuttaa kanssasi, mutta et näe heidän viestejään tai saa ilmoituksia heiltä."
@@ -2880,7 +2682,7 @@ msgstr "Hiljennys on yksityinen. Hiljennetyt käyttäjät voivat edelleen vuorov
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"
@@ -2888,18 +2690,14 @@ msgstr "Omat syötteet"
msgid "My Profile"
msgstr "Profiilini"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
msgstr "Tallennetut syötteeni"
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
msgid "My Saved Feeds"
msgstr "Tallennetut syötteeni"
-#: src/view/com/auth/server-input/index.tsx:118
-#~ msgid "my-server.com"
-#~ msgstr "oma-palvelimeni.com"
-
#: src/view/com/modals/AddAppPasswords.tsx:180
#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
@@ -2920,7 +2718,7 @@ msgid "Nature"
msgstr "Luonto"
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Siirtyy seuraavalle näytölle"
@@ -2929,15 +2727,10 @@ msgstr "Siirtyy seuraavalle näytölle"
msgid "Navigates to your profile"
msgstr "Siirtyy profiiliisi"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: 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}"
-
#: 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."
@@ -2947,10 +2740,6 @@ msgstr "Älä koskaan menetä pääsyä seuraajiisi ja tietoihisi."
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ä"
-
#: src/view/com/modals/ChangeHandle.tsx:519
msgid "Nevermind, create a handle for me"
msgstr ""
@@ -2976,17 +2765,17 @@ msgstr "Uusi salasana"
msgid "New Password"
msgstr "Uusi salasana"
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
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:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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"
@@ -3010,12 +2799,12 @@ msgstr "Uutiset"
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -3039,8 +2828,8 @@ msgstr "Seuraava kuva"
msgid "No"
msgstr "Ei"
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Ei kuvausta"
@@ -3048,13 +2837,17 @@ msgstr "Ei kuvausta"
msgid "No DNS Panel"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr "Et enää seuraa käyttäjää {0}"
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
-msgstr ""
+msgstr "Ei pidempi kuin 253 merkkiä."
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
@@ -3065,20 +2858,24 @@ msgstr "Ei vielä ilmoituksia!"
msgid "No result"
msgstr "Ei tuloksia"
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
msgid "No results found"
msgstr "Tuloksia ei löydetty"
-#: src/view/screens/Feeds.tsx:495
+#: 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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "Ei tuloksia haulle {query}"
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr ""
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
@@ -3101,19 +2898,19 @@ msgstr "Ei-seksuaalinen alastomuus"
msgid "Not Applicable."
msgstr "Ei sovellettavissa."
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "Ei löytynyt"
-#: src/view/com/modals/VerifyEmail.tsx:246
-#: src/view/com/modals/VerifyEmail.tsx:252
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr "Ei juuri nyt"
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
msgstr ""
@@ -3121,13 +2918,13 @@ msgstr ""
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:469
+#: src/Navigation.tsx:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Ilmoitukset"
@@ -3139,19 +2936,16 @@ msgstr "Alastomuus"
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:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
msgstr ""
#: src/lib/moderation/useLabelBehaviorDescription.ts:11
msgid "Off"
-msgstr ""
+msgstr "Pois"
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "Voi ei!"
@@ -3160,7 +2954,7 @@ msgid "Oh no! Something went wrong."
msgstr "Voi ei! Jokin meni pieleen."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
msgstr "OK"
@@ -3172,11 +2966,11 @@ msgstr "Selvä"
msgid "Oldest replies first"
msgstr "Vanhimmat vastaukset ensin"
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr "Käyttöönoton nollaus"
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr "Yksi tai useampi kuva on ilman vaihtoehtoista Alt-tekstiä."
@@ -3184,17 +2978,17 @@ msgstr "Yksi tai useampi kuva on ilman vaihtoehtoista Alt-tekstiä."
msgid "Only {0} can reply."
msgstr "Vain {0} voi vastata."
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
-msgstr ""
+msgstr "Sisältää vain kirjaimia, numeroita ja väliviivoja"
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
-msgstr ""
+msgstr "Hups, nyt meni jotain väärin!"
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Hups!"
@@ -3202,20 +2996,16 @@ msgstr "Hups!"
msgid "Open"
msgstr "Avaa"
-#: src/view/screens/Moderation.tsx:75
-#~ msgid "Open content filtering settings"
-#~ msgstr "Avaa sisällönsuodatusasetukset"
-
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr "Avaa emoji-valitsin"
-#: src/view/screens/ProfileFeed.tsx:300
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
msgstr "Avaa syötteen asetusvalikko"
-#: src/view/screens/Settings/index.tsx:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr "Avaa linkit sovelluksen sisäisellä selaimella"
@@ -3223,24 +3013,20 @@ msgstr "Avaa linkit sovelluksen sisäisellä selaimella"
msgid "Open muted words and tags settings"
msgstr "Avaa hiljennettyjen sanojen ja aihetunnisteiden asetukset"
-#: src/view/screens/Moderation.tsx:92
-#~ msgid "Open muted words settings"
-#~ msgstr "Avaa hiljennettyjen sanojen asetukset"
-
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Avaa navigointi"
-#: 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:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr "Avaa storybook-sivu"
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
msgstr "Avaa järjestelmäloki"
@@ -3248,15 +3034,19 @@ msgstr "Avaa järjestelmäloki"
msgid "Opens {numItems} options"
msgstr "Avaa {numItems} asetusta"
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr ""
+
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
msgstr "Avaa debug lisätiedot"
-#: src/view/com/notifications/FeedItem.tsx:353
+#: 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:78
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr "Avaa laitteen kameran"
@@ -3264,71 +3054,53 @@ msgstr "Avaa laitteen kameran"
msgid "Opens composer"
msgstr "Avaa editorin"
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr "Avaa mukautettavat kielen asetukset"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
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"
-
-#: src/view/screens/Settings/index.tsx:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr "Avaa ulkoiset upotusasetukset"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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"
-
-#: src/view/com/profile/ProfileHeader.tsx:594
-#~ msgid "Opens following list"
-#~ msgstr "Avaa seurattavien listan"
-
-#: src/view/screens/Settings.tsx:412
-#~ msgid "Opens invite code list"
-#~ msgstr ""
+#: src/view/com/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr ""
#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "Avaa kutsukoodien luettelon"
-#: src/view/screens/Settings/index.tsx:798
+#: src/view/screens/Settings/index.tsx:757
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 "Avaa tilin poistovahvistuksen. Vaatii sähköpostikoodin."
-
-#: src/view/screens/Settings/index.tsx:756
+#: src/view/screens/Settings/index.tsx:715
msgid "Opens modal for changing your Bluesky password"
msgstr ""
-#: src/view/screens/Settings/index.tsx:718
+#: src/view/screens/Settings/index.tsx:670
msgid "Opens modal for choosing a new Bluesky handle"
msgstr ""
-#: src/view/screens/Settings/index.tsx:779
+#: src/view/screens/Settings/index.tsx:738
msgid "Opens modal for downloading your Bluesky account data (repository)"
msgstr ""
-#: src/view/screens/Settings/index.tsx:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
msgstr ""
@@ -3336,53 +3108,45 @@ msgstr ""
msgid "Opens modal for using custom domain"
msgstr "Avaa asetukset oman verkkotunnuksen käyttöönottoon"
-#: src/view/screens/Settings/index.tsx:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "Avaa moderointiasetukset"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
msgid "Opens password reset form"
msgstr "Avaa salasanan palautuslomakkeen"
-#: 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 "Avaa näkymän tallennettujen syötteiden muokkaamiseen"
-#: src/view/screens/Settings/index.tsx:597
+#: src/view/screens/Settings/index.tsx:549
msgid "Opens screen with all saved feeds"
msgstr "Avaa näkymän kaikkiin tallennettuihin syötteisiin"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:648
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"
-
-#: src/view/screens/Settings/index.tsx:554
+#: src/view/screens/Settings/index.tsx:506
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"
-
#: src/view/com/modals/LinkWarning.tsx:93
msgid "Opens the linked website"
msgstr "Avaa linkitetyn verkkosivun"
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr "Avaa storybook-sivun"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "Avaa järjestelmän lokisivun"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "Avaa keskusteluasetukset"
@@ -3390,7 +3154,7 @@ msgstr "Avaa keskusteluasetukset"
msgid "Option {0} of {numItems}"
msgstr "Asetus {0}/{numItems}"
-#: src/components/ReportDialog/SubmitView.tsx:162
+#: src/components/ReportDialog/SubmitView.tsx:160
msgid "Optionally provide additional information below:"
msgstr "Voit tarvittaessa antaa lisätietoja alla:"
@@ -3406,15 +3170,11 @@ msgstr "Joku toinen"
msgid "Other account"
msgstr "Toinen tili"
-#: src/view/com/modals/ServerInput.tsx:88
-#~ msgid "Other service"
-#~ msgstr ""
-
#: src/view/com/composer/select-language/SelectLangBtn.tsx:91
msgid "Other..."
msgstr "Muu..."
-#: src/components/Lists.tsx:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Sivua ei löytynyt"
@@ -3423,8 +3183,8 @@ msgstr "Sivua ei löytynyt"
msgid "Page Not Found"
msgstr "Sivua ei löytynyt"
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3442,11 +3202,19 @@ msgstr "Salasana päivitetty"
msgid "Password updated!"
msgstr "Salasana päivitetty!"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr "Henkilöt"
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr "Henkilöt, joita @{0} seuraa"
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr "Henkilöt, jotka seuraavat käyttäjää @{0}"
@@ -3462,31 +3230,35 @@ msgstr "Lupa valokuviin evättiin. Anna lupa järjestelmäasetuksissa."
msgid "Pets"
msgstr "Lemmikit"
-#: src/view/com/auth/create/Step2.tsx:183
-#~ msgid "Phone number"
-#~ msgstr "Puhelinnumero"
-
#: src/view/com/modals/SelfLabel.tsx:121
msgid "Pictures meant for adults."
msgstr "Aikuisille tarkoitetut kuvat."
-#: src/view/screens/ProfileFeed.tsx:292
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "Kiinnitä etusivulle"
-#: src/view/screens/ProfileFeed.tsx:295
+#: src/view/screens/ProfileFeed.tsx:306
msgid "Pin to Home"
msgstr "Kiinnitä etusivulle"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Kiinnitetyt syötteet"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Play"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "Toista {0}"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3516,10 +3288,6 @@ msgstr "Vahvista sähköpostiosoitteesi ennen sen vaihtamista. Tämä on väliai
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."
-#: src/view/com/auth/create/Step2.tsx:206
-#~ 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: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."
@@ -3528,14 +3296,6 @@ msgstr "Anna uniikki nimi tälle sovellussalasanalle tai käytä satunnaisesti l
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."
-
-#: src/view/com/auth/create/Step2.tsx:282
-#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
-#~ msgstr "Anna numeroon {phoneNumberFormatted} vastaanottamasi vahvistuskoodi."
-
#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "Anna sähköpostiosoitteesi."
@@ -3548,21 +3308,11 @@ msgstr "Anna myös salasanasi:"
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!"
-
-#: 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 "Kerro meille, miksi uskot tämän päätöksen olleen virheellinen."
-
-#: src/view/com/modals/VerifyEmail.tsx:101
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr "Vahvista sähköpostiosoitteesi"
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr "Odota, että linkkikortti latautuu kokonaan"
@@ -3574,12 +3324,8 @@ msgstr "Politiikka"
msgid "Porn"
msgstr "Porno"
-#: src/lib/moderation/useGlobalLabelStrings.ts:34
-#~ msgid "Pornography"
-#~ msgstr "Pornografia"
-
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr "Lähetä"
@@ -3589,17 +3335,17 @@ msgctxt "description"
msgid "Post"
msgstr "Viesti"
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr "Lähettäjä {0}"
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
msgid "Post by @{0}"
msgstr "Lähettäjä @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:105
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Viesti poistettu"
@@ -3634,7 +3380,7 @@ msgstr "Viestiä ei löydy"
msgid "posts"
msgstr "viestit"
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr "Viestit"
@@ -3650,13 +3396,13 @@ msgstr "Piilotetut viestit"
msgid "Potentially Misleading Link"
msgstr "Mahdollisesti harhaanjohtava linkki"
-#: src/components/forms/HostingProvider.tsx:45
+#: 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:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
msgstr "Paina uudelleen jatkaaksesi"
@@ -3672,16 +3418,16 @@ msgstr "Ensisijainen kieli"
msgid "Prioritize Your Follows"
msgstr "Aseta seurattavat tärkeysjärjestykseen"
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Yksityisyys"
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Yksityisyydensuojakäytäntö"
@@ -3690,15 +3436,15 @@ msgid "Processing..."
msgstr "Käsitellään..."
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
msgstr "profiili"
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Profiili"
@@ -3706,7 +3452,7 @@ msgstr "Profiili"
msgid "Profile updated"
msgstr "Profiili päivitetty"
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "Suojaa käyttäjätilisi vahvistamalla sähköpostiosoitteesi."
@@ -3722,11 +3468,11 @@ 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:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr "Julkaise viesti"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr "Julkaise vastaus"
@@ -3752,15 +3498,15 @@ msgstr "Satunnainen (tunnetaan myös nimellä \"Lähettäjän ruletti\")"
msgid "Ratios"
msgstr "Suhdeluvut"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
msgstr "Viimeaikaiset haut"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: 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"
@@ -3773,15 +3519,11 @@ msgstr "Suositellut käyttäjät"
msgid "Remove"
msgstr "Poista"
-#: src/view/com/feeds/FeedSourceCard.tsx:108
-#~ msgid "Remove {0} from my feeds?"
-#~ msgstr "Poistetaanko {0} syötteistäni?"
-
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
msgstr "Poista käyttäjätili"
-#: src/view/com/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
msgstr "Poista avatar"
@@ -3799,8 +3541,8 @@ msgstr "Poista syöte?"
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Poista syötteistäni"
@@ -3812,7 +3554,7 @@ msgstr "Poista syötteistäni?"
msgid "Remove image"
msgstr "Poista kuva"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr "Poista kuvan esikatselu"
@@ -3822,20 +3564,12 @@ msgstr "Poista hiljennetty sana listaltasi"
#: 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 "Poista tämä syöte omista syötteistäni?"
+msgstr "Poista uudelleenjulkaisu"
#: 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?"
-
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
@@ -3845,15 +3579,15 @@ msgstr "Poistettu listalta"
msgid "Removed from my feeds"
msgstr "Poistettu syötteistäni"
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
msgstr "Poistettu syötteistäsi"
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr "Poistaa {0} oletuskuvakkeen"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr "Vastaukset"
@@ -3861,7 +3595,7 @@ msgstr "Vastaukset"
msgid "Replies to this thread are disabled"
msgstr "Tähän keskusteluun vastaaminen on estetty"
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr "Vastaa"
@@ -3870,15 +3604,17 @@ msgstr "Vastaa"
msgid "Reply Filters"
msgstr "Vastaussuodattimet"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
-msgctxt "description"
-msgid "Reply to <0/>"
-msgstr "Vastaa käyttäjälle <0/>"
+#: 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 "Ilmianna {collectionName}"
+#: src/view/com/post/Post.tsx:178
+#: src/view/com/posts/FeedItem.tsx:285
+msgctxt "description"
+msgid "Reply to <0><1/>0>"
+msgstr ""
#: src/view/com/profile/ProfileMenu.tsx:319
#: src/view/com/profile/ProfileMenu.tsx:322
@@ -3889,17 +3625,17 @@ msgstr "Ilmianna käyttäjätili"
msgid "Report dialog"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "Ilmianna syöte"
-#: src/view/screens/ProfileList.tsx:429
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Ilmianna luettelo"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:292
-#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "Ilmianna viesti"
@@ -3929,34 +3665,34 @@ msgstr "Ilmianna tämä käyttäjä"
#: src/view/com/util/post-ctrls/RepostButton.tsx:61
msgctxt "action"
msgid "Repost"
-msgstr "Uudelleenjaa"
+msgstr "Uudelleenjulkaise"
#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
msgid "Repost"
-msgstr "Uudelleenjaa"
+msgstr "Uudelleenjulkaise"
#: 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 "Uudelleenjaa tai lainaa viestiä"
+msgstr "Uudelleenjulkaise tai lainaa viestiä"
#: src/view/screens/PostRepostedBy.tsx:27
msgid "Reposted By"
-msgstr "Uudelleenjakanut"
+msgstr "Uudelleenjulkaissut"
-#: src/view/com/posts/FeedItem.tsx:197
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
-msgstr "Uudelleenjakanut {0}"
+msgstr "{0} uudelleenjulkaisi"
-#: src/view/com/posts/FeedItem.tsx:214
-msgid "Reposted by <0/>"
-msgstr "Uudelleenjakanut <0/>"
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr "Uudelleenjulkaissut <0><1/>0>"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
-msgstr "uudelleenjakoi viestisi"
+msgstr "uudelleenjulkaisi viestisi"
-#: src/view/com/post-thread/PostThreadItem.tsx:187
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr "Tämän viestin uudelleenjulkaisut"
@@ -3965,23 +3701,28 @@ msgstr "Tämän viestin uudelleenjulkaisut"
msgid "Request Change"
msgstr "Pyydä muutosta"
-#: src/view/com/auth/create/Step2.tsx:219
-#~ msgid "Request code"
-#~ msgstr "Pyydä koodia"
-
#: 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:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr "Edellytä ALT-tekstiä ennen viestin julkaisua"
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr ""
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Vaaditaan tälle instanssille"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr ""
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Nollauskoodi"
@@ -3990,12 +3731,8 @@ msgstr "Nollauskoodi"
msgid "Reset Code"
msgstr "Nollauskoodi"
-#: src/view/screens/Settings/index.tsx:824
-#~ msgid "Reset onboarding"
-#~ msgstr "Nollaa käyttöönotto"
-
-#: src/view/screens/Settings/index.tsx:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr "Nollaa käyttöönoton tila"
@@ -4003,24 +3740,20 @@ msgstr "Nollaa käyttöönoton tila"
msgid "Reset password"
msgstr "Nollaa salasana"
-#: src/view/screens/Settings/index.tsx:814
-#~ msgid "Reset preferences"
-#~ msgstr "Nollaa asetukset"
-
-#: src/view/screens/Settings/index.tsx:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr "Nollaa asetusten tila"
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr "Nollaa käyttöönoton tilan"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr "Nollaa asetusten tilan"
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr "Yrittää uudelleen kirjautumista"
@@ -4029,24 +3762,20 @@ msgstr "Yrittää uudelleen kirjautumista"
msgid "Retries the last action, which errored out"
msgstr "Yrittää uudelleen viimeisintä toimintoa, joka epäonnistui"
-#: src/components/Error.tsx:79
-#: src/components/Lists.tsx:91
-#: src/screens/Login/LoginForm.tsx:234
-#: src/screens/Login/LoginForm.tsx:241
+#: src/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: 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 "Yritä uudelleen"
-#: src/view/com/auth/create/Step2.tsx:247
-#~ msgid "Retry."
-#~ msgstr "Yritä uudelleen."
-
-#: src/components/Error.tsx:86
-#: src/view/screens/ProfileList.tsx:917
+#: src/components/Error.tsx:95
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Palaa edelliselle sivulle"
@@ -4059,10 +3788,6 @@ msgstr "Palaa etusivulle"
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
@@ -4096,20 +3821,20 @@ msgstr "Tallenna käyttäjätunnuksen muutos"
msgid "Save image crop"
msgstr "Tallenna kuvan rajaus"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: 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:122
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "Tallennetut syötteet"
#: src/view/com/lightbox/Lightbox.tsx:81
msgid "Saved to your camera roll."
-msgstr "Tallennettu kameraasi"
+msgstr "Tallennettu kuvagalleriaasi."
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
msgstr "Tallennettu syötteisiisi"
@@ -4129,28 +3854,28 @@ msgstr "Tallentaa kuvan rajausasetukset"
msgid "Science"
msgstr "Tiede"
-#: src/view/screens/ProfileList.tsx:873
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Vieritä alkuun"
-#: src/Navigation.tsx:459
+#: src/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Haku"
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "Haku hakusanalla \"{query}\""
@@ -4159,24 +3884,24 @@ msgstr "Haku hakusanalla \"{query}\""
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 aihetunnisteella {tag}"
-
#: 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ä"
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr ""
+
#: src/view/com/modals/ChangeEmail.tsx:110
msgid "Security Step Required"
msgstr "Turvatarkistus vaaditaan"
@@ -4197,22 +3922,15 @@ msgstr "Näytä <0>{displayTag}0> viestit"
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"
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr "Katso profiilia"
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr "Katso tämä opas"
-#: 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}"
@@ -4221,14 +3939,18 @@ msgstr "Valitse {item}"
msgid "Select account"
msgstr ""
-#: src/view/com/modals/ServerInput.tsx:75
-#~ msgid "Select Bluesky Social"
-#~ msgstr "Valitse Bluesky Social"
-
#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "Valitse olemassa olevalta tililtä"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
msgstr "Valitse kielet"
@@ -4241,16 +3963,11 @@ msgstr "Valitse moderaattori"
msgid "Select option {i} of {numItems}"
msgstr "Valitse vaihtoehto {i} / {numItems}"
-#: 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:135
+#: src/components/ReportDialog/SubmitView.tsx:133
msgid "Select the moderation service(s) to report to"
msgstr ""
@@ -4258,10 +3975,6 @@ msgstr ""
msgid "Select the service that hosts your data."
msgstr "Valitse palvelu, joka hostaa tietojasi."
-#: 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:100
msgid "Select topical feeds to follow from the list below"
msgstr "Valitse ajankohtaisia syötteitä alla olevasta listasta"
@@ -4274,26 +3987,18 @@ msgstr "Valitse, mitä haluat nähdä (tai olla näkemättä) ja me huolehdimme
msgid "Select which languages you want your subscribed feeds to include. If none are selected, all languages will be shown."
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"
-
#: 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:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
-msgstr ""
+msgstr "Aseta syntymäaikasi"
#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
msgstr "Valitse kiinnostuksen kohteesi alla olevista vaihtoehdoista"
-#: src/view/com/auth/create/Step2.tsx:155
-#~ msgid "Select your phone's country"
-#~ msgstr "Valitse puhelinnumerosi maa"
-
#: src/view/screens/LanguageSettings.tsx:190
msgid "Select your preferred language for translations in your feed."
msgstr "Valitse käännösten kieli syötteessäsi."
@@ -4306,8 +4011,8 @@ msgstr "Valitse ensisijaiset algoritmisyötteet"
msgid "Select your secondary algorithmic feeds"
msgstr "Valitse toissijaiset algoritmisyötteet"
-#: src/view/com/modals/VerifyEmail.tsx:202
-#: src/view/com/modals/VerifyEmail.tsx:204
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "Lähetä vahvistussähköposti"
@@ -4320,24 +4025,25 @@ msgctxt "action"
msgid "Send Email"
msgstr "Lähetä sähköposti"
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Lähetä palautetta"
-#: 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 "Lähetä raportti"
-#: 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/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
+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"
@@ -4346,48 +4052,14 @@ msgstr "Lähettää sähköpostin tilin poistamiseen tarvittavan vahvistuskoodin
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"
-
-#: src/view/com/modals/ContentFilteringSettings.tsx:160
-#: src/view/com/modals/ContentFilteringSettings.tsx:179
-#~ 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"
-
-#: src/view/screens/Settings/index.tsx:481
-#~ 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"
-
-#: src/view/screens/Settings/index.tsx:514
-#~ 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"
-
#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr "Aseta uusi 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."
msgstr "Aseta tämä asetus \"Ei\"-tilaan piilottaaksesi kaikki lainaukset syötteestäsi. Uudelleenjulkaisut näkyvät silti."
@@ -4404,10 +4076,6 @@ msgstr "Aseta tämä asetus \"Ei\"-tilaan piilottaaksesi kaikki uudelleenjulkais
msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature."
msgstr "Aseta tämä asetus \"Kyllä\" tilaan näyttääksesi vastaukset ketjumaisessa näkymässä. Tämä on kokeellinen ominaisuus."
-#: 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 "Aseta tämä asetus \"Kyllä\"-tilaan nähdäksesi esimerkkejä tallennetuista syötteistäsi seuraamissasi syötteessäsi. Tämä on kokeellinen ominaisuus."
-
#: 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 "Aseta tämä asetus \"Kyllä\"-tilaan nähdäksesi esimerkkejä tallennetuista syötteistäsi seuraamissasi syötteessäsi. Tämä on kokeellinen ominaisuus."
@@ -4420,23 +4088,23 @@ msgstr "Luo käyttäjätili"
msgid "Sets Bluesky username"
msgstr "Asettaa Bluesky-käyttäjätunnuksen"
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
msgstr "Muuttaa väriteeman tummaksi"
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
msgstr "Muuttaa väriteeman vaaleaksi"
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
msgstr "Muuttaa väriteeman käyttöjärjestelmän mukaiseksi"
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
msgstr "Muuttaa tumman väriteeman tummaksi"
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
msgstr "Asettaa tumman teeman himmeäksi teemaksi"
@@ -4444,10 +4112,6 @@ msgstr "Asettaa tumman teeman himmeäksi teemaksi"
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"
-
#: src/view/com/modals/crop-image/CropImage.web.tsx:124
msgid "Sets image aspect ratio to square"
msgstr "Asettaa kuvan kuvasuhteen neliöksi"
@@ -4460,16 +4124,11 @@ msgstr "Asettaa kuvan kuvasuhteen korkeaksi"
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:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Asetukset"
@@ -4488,38 +4147,38 @@ msgstr "Jaa"
#: 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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Jaa"
#: src/view/com/profile/ProfileMenu.tsx:373
-#: src/view/com/util/forms/PostDropdownBtn.tsx:347
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
msgstr "Jaa kuitenkin"
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Jaa syöte"
#: src/view/com/modals/LinkWarning.tsx:89
#: src/view/com/modals/LinkWarning.tsx:95
msgid "Share Link"
-msgstr ""
+msgstr "Jaa linkki"
#: src/view/com/modals/LinkWarning.tsx:92
msgid "Shares the linked website"
-msgstr ""
+msgstr "Jakaa linkitetyn verkkosivun"
#: 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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr "Näytä"
@@ -4541,17 +4200,13 @@ msgstr ""
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
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr "Näytä seurannat samankaltaisilta käyttäjiltä kuin {0}"
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr "Näytä lisää"
@@ -4608,7 +4263,7 @@ msgstr "Näytä uudelleenjulkaisut seurattavissa"
msgid "Show the content"
msgstr "Näytä sisältö"
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Näytä käyttäjät"
@@ -4620,41 +4275,31 @@ msgstr "Näytä varoitus"
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/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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr "Kirjaudu sisään"
-#: 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"
-
#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "Kirjaudu sisään nimellä {0}"
@@ -4663,28 +4308,32 @@ msgstr "Kirjaudu sisään nimellä {0}"
msgid "Sign in as..."
msgstr "Kirjaudu sisään nimellä..."
-#: src/view/com/auth/login/LoginForm.tsx:140
-#~ 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/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr "Kirjaudu Blueskyhin tai luo uusi käyttäjätili"
-#: src/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "Kirjaudu ulos"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
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"
@@ -4693,7 +4342,7 @@ msgstr "Rekisteröidy tai kirjaudu sisään liittyäksesi keskusteluun"
msgid "Sign-in Required"
msgstr "Sisäänkirjautuminen vaaditaan"
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "Kirjautunut sisään nimellä"
@@ -4701,10 +4350,6 @@ msgstr "Kirjautunut sisään nimellä"
msgid "Signed in as @{0}"
msgstr "Kirjautunut sisään käyttäjätunnuksella @{0}"
-#: src/view/com/modals/SwitchAccount.tsx:70
-#~ msgid "Signs {0} out of Bluesky"
-#~ msgstr "{0} kirjautuu ulos Blueskysta"
-
#: src/screens/Onboarding/StepInterests/index.tsx:239
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
@@ -4715,29 +4360,17 @@ msgstr "Ohita"
msgid "Skip this flow"
msgstr "Ohita tämä vaihe"
-#: src/view/com/auth/create/Step2.tsx:82
-#~ msgid "SMS verification"
-#~ msgstr "SMS-varmennus"
-
#: src/screens/Onboarding/index.tsx:40
msgid "Software Dev"
msgstr "Ohjelmistokehitys"
-#: src/view/com/modals/ProfilePreview.tsx:62
-#~ msgid "Something went wrong and we're not sure what."
-#~ 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:76
+#: 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."
-
-#: src/App.native.tsx:66
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr "Pahoittelut! Istuntosi on vanhentunut. Kirjaudu sisään uudelleen."
@@ -4769,28 +4402,20 @@ msgstr "Urheilu"
msgid "Square"
msgstr "Neliö"
-#: src/view/com/modals/ServerInput.tsx:62
-#~ msgid "Staging"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "Tilasivu"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
-msgstr ""
-
-#: src/view/com/auth/create/StepHeader.tsx:22
-#~ msgid "Step {0} of {numSteps}"
-#~ msgstr "Vaihe {0}/{numSteps}"
+msgstr "Askel"
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
msgid "Storage cleared, you need to restart the app now."
msgstr "Tallennustila tyhjennetty, sinun on käynnistettävä sovellus uudelleen."
-#: src/Navigation.tsx:211
-#: src/view/screens/Settings/index.tsx:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr "Storybook"
@@ -4799,15 +4424,15 @@ msgstr "Storybook"
msgid "Submit"
msgstr "Lähetä"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Tilaa"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: src/screens/Profile/Sections/Labels.tsx:191
msgid "Subscribe to @{0} to use these labels:"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
msgstr ""
@@ -4816,15 +4441,15 @@ msgstr ""
msgid "Subscribe to the {0} feed"
msgstr "Tilaa {0}-syöte"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: 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 "Tilaa tämä lista"
-#: src/view/screens/Search/Search.tsx:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "Mahdollisia seurattavia"
@@ -4836,34 +4461,30 @@ msgstr "Suositeltua sinulle"
msgid "Suggestive"
msgstr "Viittaava"
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
msgstr "Tuki"
-#: src/view/com/modals/ProfilePreview.tsx:110
-#~ msgid "Swipe up to see more"
-#~ msgstr "Pyyhkäise ylöspäin nähdäksesi lisää"
-
-#: src/components/dialogs/SwitchAccount.tsx:46
-#: src/components/dialogs/SwitchAccount.tsx:49
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "Vaihda käyttäjätiliä"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr "Vaihda käyttäjään {0}"
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
msgid "Switches the account you are logged in to"
msgstr "Vaihtaa sisäänkirjautuneen käyttäjän tilin"
-#: src/view/screens/Settings/index.tsx:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr "Järjestelmä"
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "Järjestelmäloki"
@@ -4875,10 +4496,6 @@ msgstr "aihetunniste"
msgid "Tag menu: {displayTag}"
msgstr "Aihetunnistevalikko: {displayTag}"
-#: src/components/TagMenu/index.tsx:74
-#~ msgid "Tag menu: {tag}"
-#~ msgstr "Aihetunnistevalikko: {tag}"
-
#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
msgstr "Pitkä"
@@ -4895,11 +4512,11 @@ msgstr "Teknologia"
msgid "Terms"
msgstr "Ehdot"
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Käyttöehdot"
@@ -4917,7 +4534,7 @@ msgstr "teksti"
msgid "Text input field"
msgstr "Tekstikenttä"
-#: src/components/ReportDialog/SubmitView.tsx:78
+#: src/components/ReportDialog/SubmitView.tsx:76
msgid "Thank you. Your report has been sent."
msgstr "Kiitos. Raporttisi on lähetetty."
@@ -4925,11 +4542,11 @@ msgstr "Kiitos. Raporttisi on lähetetty."
msgid "That contains the following:"
msgstr "Se sisältää seuraavaa:"
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "Tuo käyttätunnus on jo käytössä."
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "Käyttäjä voi olla vuorovaikutuksessa kanssasi, kun poistat eston."
@@ -4979,8 +4596,8 @@ msgstr "Käyttöehdot on siirretty kohtaan"
msgid "There are many feeds to try:"
msgstr "On monia syötteitä kokeiltavaksi:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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."
@@ -4988,15 +4605,19 @@ msgstr "Emme saaneet yhteyttä palvelimeen, tarkista internetyhteytesi ja yritä
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:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+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 "Yhteydenotto palvelimeen epäonnistui"
@@ -5019,12 +4640,12 @@ 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/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 "Raportin lähettämisessä ilmeni ongelma. Tarkista internet-yhteytesi."
@@ -5036,9 +4657,9 @@ msgstr "Ongelma asetuksiesi synkronoinnissa palvelimelle"
msgid "There was an issue with fetching your app passwords"
msgstr "Sovellussalasanojen hakemisessa tapahtui virhe"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -5050,14 +4671,15 @@ msgstr "Sovellussalasanojen hakemisessa tapahtui virhe"
msgid "There was an issue! {0}"
msgstr "Ilmeni ongelma! {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 "Ilmeni joku ongelma. Tarkista internet-yhteys ja yritä uudelleen."
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
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!"
@@ -5065,10 +4687,6 @@ msgstr "Sovelluksessa ilmeni odottamaton ongelma. Kerro meille, jos tämä tapah
msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
msgstr "Blueskyyn on tullut paljon uusia käyttäjiä! Aktivoimme tilisi niin pian kuin mahdollista."
-#: 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ässä numerossa on jotain vikaa. Valitse maasi ja syötä koko puhelinnumerosi!"
-
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
msgstr "Nämä ovat suosittuja tilejä, joista saatat pitää:"
@@ -5106,10 +4724,6 @@ msgstr "Tämä sisältö ei ole saatavilla, koska toinen käyttäjistä on estä
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>"
-
#: 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 ""
@@ -5118,9 +4732,9 @@ msgstr ""
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/screens/Profile/Sections/Feed.tsx:50
-#: src/view/screens/ProfileFeed.tsx:477
-#: 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 "Tämä syöte on tyhjä!"
@@ -5132,15 +4746,15 @@ msgstr "Tämä syöte on tyhjä! Sinun on ehkä seurattava useampia käyttäjiä
msgid "This information is not shared with other users."
msgstr "Tätä tietoa ei jaeta muiden käyttäjien kanssa."
-#: src/view/com/modals/VerifyEmail.tsx:119
+#: src/view/com/modals/VerifyEmail.tsx:127
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/components/moderation/ModerationDetailsDialog.tsx:124
msgid "This label was applied by {0}."
-msgstr ""
+msgstr "Merkinnän lisäsi {0}."
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: src/screens/Profile/Sections/Labels.tsx:178
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
msgstr ""
@@ -5148,7 +4762,7 @@ msgstr ""
msgid "This link is taking you to the following website:"
msgstr "Tämä linkki vie sinut tälle verkkosivustolle:"
-#: src/view/screens/ProfileList.tsx:853
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "Tämä lista on tyhjä!"
@@ -5160,16 +4774,16 @@ msgstr ""
msgid "This name is already in use"
msgstr "Tämä nimi on jo käytössä"
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr "Tämä viesti on poistettu."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:352
msgid "This post will be hidden from feeds."
msgstr "Tämä julkaisu piilotetaan syötteistä."
@@ -5198,14 +4812,6 @@ msgstr "Tämä käyttäjä on estänyt sinut. Et voi nähdä hänen sisältöä.
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."
-
-#: 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."
-
#: 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."
@@ -5214,10 +4820,6 @@ msgstr "Tämä käyttäjä on <0>{0}0>-listassa, jonka olet estänyt."
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."
@@ -5230,16 +4832,12 @@ msgstr "Tämä varoitus on saatavilla vain viesteille, joihin on liitetty mediat
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."
-
-#: src/view/screens/Settings/index.tsx:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
msgstr "Keskusteluketjun asetukset"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "Keskusteluketjun asetukset"
@@ -5247,10 +4845,14 @@ msgstr "Keskusteluketjun asetukset"
msgid "Threaded Mode"
msgstr "Ketjumainen näkymä"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr "Keskusteluketjujen asetukset"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr ""
+
#: 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?"
@@ -5267,14 +4869,19 @@ msgstr "Vaihda pudotusvalikko"
msgid "Toggle to enable or disable adult content"
msgstr "Vaihda ottaaksesi käyttöön tai poistaaksesi käytöstä aikuisille tarkoitettu sisältö."
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr ""
+
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Muutokset"
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "Käännä"
@@ -5283,35 +4890,39 @@ msgctxt "action"
msgid "Try again"
msgstr "Yritä uudelleen"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr ""
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
-msgstr ""
+msgstr "Tyyppi:"
-#: src/view/screens/ProfileList.tsx:478
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Poista listan esto"
-#: src/view/screens/ProfileList.tsx:461
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Poista listan hiljennys"
#: src/screens/Login/ForgotPasswordForm.tsx:74
#: src/screens/Login/index.tsx:78
-#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:181
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
-#: src/view/screens/ProfileList.tsx:572
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Poista esto"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr "Poista esto"
@@ -5321,7 +4932,7 @@ msgstr "Poista esto"
msgid "Unblock Account"
msgstr "Poista käyttäjätilin esto"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
msgstr "Poista esto?"
@@ -5331,10 +4942,10 @@ msgstr "Poista esto?"
#: 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"
+msgstr "Kumoa uudelleenjulkaisu"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
msgstr "Älä seuraa"
@@ -5343,7 +4954,7 @@ msgctxt "action"
msgid "Unfollow"
msgstr "Lopeta seuraaminen"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
msgid "Unfollow {0}"
msgstr "Lopeta seuraaminen {0}"
@@ -5352,20 +4963,16 @@ msgstr "Lopeta seuraaminen {0}"
msgid "Unfollow Account"
msgstr "Lopeta käyttäjätilin seuraaminen"
-#: 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:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "En tykkää"
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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:579
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "Poista hiljennys"
@@ -5382,37 +4989,29 @@ msgstr "Poista käyttäjätilin hiljennys"
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ä"
-
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "Poista keskusteluketjun hiljennys"
-#: src/view/screens/ProfileFeed.tsx:295
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Poista kiinnitys"
-#: src/view/screens/ProfileFeed.tsx:292
+#: src/view/screens/ProfileFeed.tsx:303
msgid "Unpin from home"
msgstr "Poista kiinnitys etusivulta"
-#: src/view/screens/ProfileList.tsx:444
+#: 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"
-
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
msgstr "Peruuta tilaus"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
msgstr ""
@@ -5424,10 +5023,6 @@ msgstr "Ei-toivottu seksuaalinen sisältö"
msgid "Update {displayName} in Lists"
msgstr "Päivitä {displayName} listoissa"
-#: src/lib/hooks/useOTAUpdate.ts:15
-#~ msgid "Update Available"
-#~ msgstr "Päivitys saatavilla"
-
#: src/view/com/modals/ChangeHandle.tsx:508
msgid "Update to {handle}"
msgstr "Päivitä {handle}\""
@@ -5440,20 +5035,20 @@ msgstr "Päivitetään..."
msgid "Upload a text file to:"
msgstr "Lataa tekstitiedosto kohteeseen:"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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:343
+#: 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:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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"
@@ -5493,10 +5088,6 @@ msgstr ""
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."
-#: src/view/com/modals/ServerInput.tsx:105
-#~ msgid "Use your domain as your Bluesky client service provider"
-#~ msgstr ""
-
#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr "Käyttänyt:"
@@ -5522,22 +5113,18 @@ msgstr "Käyttäjä on estänyt sinut"
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"
-
#: 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:777
+#: 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:775
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "Käyttäjälistasi"
@@ -5553,11 +5140,11 @@ msgstr "Käyttäjälista päivitetty"
msgid "User Lists"
msgstr "Käyttäjälistat"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "Käyttäjätunnus tai sähköpostiosoite"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "Käyttäjät"
@@ -5575,25 +5162,21 @@ 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"
+msgstr "Arvo:"
#: src/view/com/modals/ChangeHandle.tsx:509
msgid "Verify {0}"
msgstr "Vahvista {0}"
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "Varmista sähköposti"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "Vahvista sähköpostini"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "Vahvista sähköpostini"
@@ -5602,13 +5185,13 @@ msgstr "Vahvista sähköpostini"
msgid "Verify New Email"
msgstr "Vahvista uusi sähköposti"
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr "Vahvista sähköpostisi"
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
-msgstr ""
+msgstr "Versio {0}"
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
@@ -5622,11 +5205,11 @@ msgstr "Katso {0}:n avatar"
msgid "View debug entry"
msgstr "Katso vianmääritystietue"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
msgstr "Näytä tiedot"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
msgstr "Näytä tiedot tekijänoikeusrikkomuksen ilmoittamisesta"
@@ -5638,6 +5221,8 @@ msgstr "Katso koko keskusteluketju"
msgid "View information about these labels"
msgstr ""
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Katso profiilia"
@@ -5650,9 +5235,9 @@ msgstr "Katso avatar"
msgid "View the labeling service provided by @{0}"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
-msgstr ""
+msgstr "Katso, kuka tykkää tästä syötteestä"
#: src/view/com/modals/LinkWarning.tsx:89
#: src/view/com/modals/LinkWarning.tsx:95
@@ -5674,11 +5259,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 "Uskomme myös, että pitäisit Skygazen \"For You\" -syötteestä:"
-
-#: src/screens/Hashtag.tsx:133
+#: src/screens/Hashtag.tsx:210
msgid "We couldn't find any results for that hashtag."
msgstr "Emme löytäneet tuloksia tuolla aihetunnisteella."
@@ -5694,10 +5275,6 @@ msgstr "Toivomme sinulle ihania hetkiä. Muista, että Bluesky on:"
msgid "We ran out of posts from your follows. Here's the latest from <0/>."
msgstr "Emme enää löytäneet viestejä seurattavilta. Tässä on uusin tekijältä <0/>."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:118
-#~ msgid "We recommend \"For You\" by Skygaze:"
-#~ msgstr ""
-
#: 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 mitään viestejä näytetä."
@@ -5722,19 +5299,15 @@ msgstr "Yhteyden muodostaminen ei onnistunut. Yritä uudelleen jatkaaksesi tilis
msgid "We will let you know when your account is ready."
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."
-
#: 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/screens/Signup/index.tsx:130
+#: 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: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 "Pahoittelemme, emme saaneet avattua tätä listaa. Jos ongelma jatkuu, ota yhteyttä listan tekijään: @{handleOrDid}."
@@ -5742,16 +5315,16 @@ msgstr "Pahoittelemme, emme saaneet avattua tätä listaa. Jos ongelma jatkuu, o
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:256
+#: src/view/screens/Search/Search.tsx:323
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/components/Lists.tsx:197
#: 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/screens/Profile/Header/ProfileHeaderLabeler.tsx:321
+#: 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 ""
@@ -5763,13 +5336,9 @@ msgstr "Tervetuloa <0>Bluesky0>:iin"
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?"
-
-#: src/view/com/auth/SplashScreen.tsx:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr "Mitä kuuluu?"
@@ -5810,11 +5379,11 @@ msgstr "Miksi tämä käyttäjä tulisi arvioida?"
msgid "Wide"
msgstr "Leveä"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "Kirjoita viesti"
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Kirjoita vastauksesi"
@@ -5823,10 +5392,6 @@ msgstr "Kirjoita vastauksesi"
msgid "Writers"
msgstr "Kirjoittajat"
-#: 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
@@ -5837,27 +5402,19 @@ msgstr "Kirjoittajat"
msgid "Yes"
msgstr "Kyllä"
-#: src/screens/Onboarding/StepModeration/index.tsx:46
-#~ msgid "You are in control"
-#~ msgstr ""
-
#: src/screens/Deactivated.tsx:130
msgid "You are in line."
msgstr "Olet jonossa."
#: src/view/com/profile/ProfileFollows.tsx:86
msgid "You are not following anyone."
-msgstr ""
+msgstr "Et seuraa ketään."
#: 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 "Voit myös selata uusia mukautettuja syötteitä seurattavaksi."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:123
-#~ msgid "You can also try our \"Discover\" algorithm:"
-#~ msgstr ""
-
#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr "Voit muuttaa näitä asetuksia myöhemmin."
@@ -5875,15 +5432,15 @@ msgstr "Sinulla ei ole kyhtään seuraajaa."
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ä."
@@ -5906,53 +5463,41 @@ msgstr "Olet syöttänyt virheellisen koodin. Sen tulisi näyttää muodoltaan X
#: src/lib/moderation/useModerationCauseDescription.ts:109
msgid "You have hidden this post"
-msgstr ""
+msgstr "Olet piilottanut tämän viestin"
#: src/components/moderation/ModerationDetailsDialog.tsx:101
msgid "You have hidden this post."
-msgstr ""
+msgstr "Olet piilottanut tämän viestin."
#: src/components/moderation/ModerationDetailsDialog.tsx:94
#: src/lib/moderation/useModerationCauseDescription.ts:92
msgid "You have muted this account."
-msgstr ""
+msgstr "Olet hiljentänyt tämän käyttäjätilin."
#: 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."
+msgstr "Olet hiljentänyt tämän käyttäjän"
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: 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
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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 "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."
+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 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
+#: 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 "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."
+msgstr "Et ole hiljentänyt vielä yhtään käyttäjää. Hiljentääksesi käyttäjän, mene hänen profiiliin ja valitse \"Hiljennä käyttäjä\" valikosta."
#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
@@ -5960,29 +5505,25 @@ 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 ""
+msgstr "Voit valittaa näistä merkinnöistä, jos ne ovat mielestäsi virheellisiä."
#: 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öä."
-
#: 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/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 "Et enää saa ilmoituksia tästä keskustelusta"
-#: 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 "Saat nyt ilmoituksia tästä keskustelusta"
@@ -6007,13 +5548,13 @@ 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 ""
+msgstr "Olet halunnut piilottaa sanan tai aihetunnisteen tässä viestissä"
#: 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/screens/Signup/index.tsx:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Käyttäjätilisi"
@@ -6025,7 +5566,7 @@ msgstr "Käyttäjätilisi on poistettu"
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 "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/screens/Signup/StepInfo/index.tsx:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Syntymäaikasi"
@@ -6043,15 +5584,11 @@ msgstr "Oletussyötteesi on \"Following\""
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ä."
-
#: 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 "Sähköpostiosoitteesi on päivitetty, mutta sitä ei ole vielä vahvistettu. Seuraavana vaiheena vahvista uusi sähköpostiosoitteesi."
-#: src/view/com/modals/VerifyEmail.tsx:114
+#: src/view/com/modals/VerifyEmail.tsx:122
msgid "Your email has not yet been verified. This is an important security step which we recommend."
msgstr "Sähköpostiosoitettasi ei ole vielä vahvistettu. Tämä on tärkeä turvatoimi, jonka suosittelemme suorittamaan."
@@ -6059,7 +5596,7 @@ 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/screens/Signup/StepHandle.tsx:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Käyttäjätunnuksesi tulee olemaan"
@@ -6067,12 +5604,6 @@ msgstr "Käyttäjätunnuksesi tulee olemaan"
msgid "Your full handle will be <0>@{0}0>"
msgstr "Käyttäjätunnuksesi tulee olemaan <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:220
msgid "Your muted words"
msgstr "Hiljentämäsi sanat"
@@ -6081,7 +5612,7 @@ msgstr "Hiljentämäsi sanat"
msgid "Your password has been changed successfully!"
msgstr "Salasanasi on vaihdettu onnistuneesti!"
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr "Viestisi on julkaistu"
@@ -6091,14 +5622,14 @@ msgstr "Viestisi on julkaistu"
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "Julkaisusi, tykkäyksesi ja estosi ovat julkisia. Hiljennykset ovat yksityisiä."
-#: src/view/screens/Settings/index.tsx:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "Profiilisi"
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr "Vastauksesi on julkaistu"
-#: src/screens/Signup/index.tsx:152
+#: 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 898ee589cc..d5f0bee142 100644
--- a/src/locale/locales/fr/messages.po
+++ b/src/locale/locales/fr/messages.po
@@ -8,20 +8,21 @@ msgstr ""
"Language: fr\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-03-12 09:00+0000\n"
+"PO-Revision-Date: 2024-04-22 15:00+0100\n"
"Last-Translator: surfdude29\n"
"Language-Team: Stanislas Signoud (@signez.fr), surfdude29\n"
"Plural-Forms: \n"
-#: src/view/com/modals/VerifyEmail.tsx:142
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr "(pas d’e-mail)"
+#: src/components/ProfileHoverCard/index.web.tsx:438
#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} abonnements"
-#: src/view/shell/Drawer.tsx:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} non lus"
@@ -31,17 +32,22 @@ msgstr "<0/> membres"
#: src/view/shell/Drawer.tsx:97
msgid "<0>{0}0> following"
-msgstr ""
+msgstr "<0>{0}0> abonnements"
+
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr "<0>{followers} 0><1>{pluralizedFollowers}1>"
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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>"
@@ -49,39 +55,44 @@ msgstr "<0>Suivre certains0><1>comptes1><2>recommandés2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Bienvenue sur0><1>Bluesky1>"
-#: src/screens/Profile/Header/Handle.tsx:42
+#: 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}."
-
-#: 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."
+#: src/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr ""
-#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:649
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
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:300
-#: src/view/screens/Settings/index.tsx:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "Accessibilité"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr ""
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr ""
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
-msgstr ""
+msgstr "compte"
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "Compte"
@@ -91,7 +102,7 @@ msgstr "Compte bloqué"
#: src/view/com/profile/ProfileMenu.tsx:153
msgid "Account followed"
-msgstr ""
+msgstr "Compte suivi"
#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
@@ -114,14 +125,14 @@ msgstr "Options de compte"
msgid "Account removed from quick access"
msgstr "Compte supprimé de l’accès rapide"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Compte débloqué"
#: src/view/com/profile/ProfileMenu.tsx:166
msgid "Account unfollowed"
-msgstr ""
+msgstr "Compte désabonné"
#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
@@ -131,7 +142,7 @@ msgstr "Compte démasqué"
#: 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:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Ajouter"
@@ -139,13 +150,13 @@ msgstr "Ajouter"
msgid "Add a content warning"
msgstr "Ajouter un avertissement sur le contenu"
-#: src/view/screens/ProfileList.tsx:817
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Ajouter un compte à cette liste"
-#: src/components/dialogs/SwitchAccount.tsx:55
-#: src/view/screens/Settings/index.tsx:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr "Ajouter un compte"
@@ -161,22 +172,13 @@ msgstr "Ajouter un texte alt"
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"
-
-#: src/view/com/modals/report/Modal.tsx:194
-#~ msgid "Add details to report"
-#~ msgstr "Ajouter des détails au rapport"
-
#: src/view/com/composer/Composer.tsx:467
-msgid "Add link card"
-msgstr "Ajouter une carte de lien"
+#~ msgid "Add link card"
+#~ msgstr "Ajouter une carte de lien"
#: src/view/com/composer/Composer.tsx:472
-msgid "Add link card:"
-msgstr "Ajouter une carte de lien :"
+#~ msgid "Add link card:"
+#~ msgstr "Ajouter une carte de lien :"
#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
@@ -222,20 +224,16 @@ msgstr "Définissez le nombre de likes qu’une réponse doit avoir pour être a
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/>."
-
#: src/components/moderation/LabelPreference.tsx:242
msgid "Adult content is disabled."
-msgstr ""
+msgstr "Le contenu pour adultes est désactivé."
#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
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."
@@ -253,6 +251,7 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "Texte Alt"
@@ -260,18 +259,25 @@ msgstr "Texte Alt"
msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone."
msgstr "Le texte Alt décrit les images pour les personnes aveugles et malvoyantes, et aide à donner un contexte à tout le monde."
-#: src/view/com/modals/VerifyEmail.tsx:124
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
msgstr "Un e-mail a été envoyé à {0}. Il comprend un code de confirmation que vous pouvez saisir ici."
#: 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 "Un courriel a été envoyé à votre ancienne adresse, {0}. Il comprend un code de confirmation que vous pouvez saisir ici."
+msgstr "Un e-mail a été envoyé à votre ancienne adresse, {0}. Il comprend un code de confirmation que vous pouvez saisir ici."
+
+#: src/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr ""
#: src/lib/moderation/useReportOptions.ts:26
msgid "An issue not included in these options"
-msgstr ""
+msgstr "Un problème qui ne fait pas partie de ces options"
+#: 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
@@ -279,7 +285,7 @@ msgstr ""
msgid "An issue occurred, please try again."
msgstr "Un problème est survenu, veuillez réessayer."
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "et"
@@ -288,9 +294,13 @@ msgstr "et"
msgid "Animals"
msgstr "Animaux"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
-msgstr ""
+msgstr "Comportement antisocial"
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
@@ -308,47 +318,30 @@ msgstr "Les noms de mots de passe d’application ne peuvent contenir que des le
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:695
+#: src/view/screens/Settings/index.tsx:647
msgid "App password settings"
msgstr "Paramètres de mot de passe d’application"
-#: src/Navigation.tsx:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "Mots de passe d’application"
#: src/components/moderation/LabelsOnMeDialog.tsx:133
#: src/components/moderation/LabelsOnMeDialog.tsx:136
msgid "Appeal"
-msgstr ""
+msgstr "Faire appel"
#: 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"
-
-#: src/view/com/modals/AppealLabel.tsx:65
-#~ msgid "Appeal Content Warning"
-#~ msgstr "Faire appel de l’avertissement sur le contenu"
+msgstr "Faire appel de l’étiquette « {0} »"
#: 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"
-
-#: src/view/com/util/moderation/LabelInfo.tsx:56
-#~ msgid "Appeal this decision."
-#~ msgstr "Faire appel de cette décision."
+msgstr "Appel soumis."
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "Affichage"
@@ -358,9 +351,9 @@ msgstr "Êtes-vous sûr de vouloir supprimer le mot de passe de l’application
#: src/view/com/feeds/FeedSourceCard.tsx:280
msgid "Are you sure you want to remove {0} from your feeds?"
-msgstr ""
+msgstr "Êtes-vous sûr de vouloir supprimer {0} de vos fils d’actu ?"
-#: src/view/com/composer/Composer.tsx:509
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr "Êtes-vous sûr de vouloir rejeter ce brouillon ?"
@@ -368,10 +361,6 @@ msgstr "Êtes-vous sûr de vouloir rejeter ce brouillon ?"
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é."
-
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
msgid "Are you writing in <0>{0}0>?"
msgstr "Écrivez-vous en <0>{0}0> ?"
@@ -384,9 +373,9 @@ msgstr "Art"
msgid "Artistic or non-erotic nudity."
msgstr "Nudité artistique ou non érotique."
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
-msgstr ""
+msgstr "Au moins 3 caractères"
#: src/components/moderation/LabelsOnMeDialog.tsx:246
#: src/components/moderation/LabelsOnMeDialog.tsx:247
@@ -394,26 +383,21 @@ msgstr ""
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr "Arrière"
-#: src/view/com/post-thread/PostThread.tsx:480
-#~ msgctxt "action"
-#~ msgid "Back"
-#~ msgstr "Retour"
-
#: 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:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "Principes de base"
@@ -421,14 +405,14 @@ msgstr "Principes de base"
msgid "Birthday"
msgstr "Date de naissance"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr "Date de naissance :"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
-msgstr ""
+msgstr "Bloquer"
#: src/view/com/profile/ProfileMenu.tsx:300
#: src/view/com/profile/ProfileMenu.tsx:307
@@ -437,27 +421,23 @@ msgstr "Bloquer ce compte"
#: src/view/com/profile/ProfileMenu.tsx:344
msgid "Block Account?"
-msgstr ""
+msgstr "Bloquer ce compte ?"
-#: src/view/screens/ProfileList.tsx:530
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Bloquer ces comptes"
-#: 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 "Liste de blocage"
-#: src/view/screens/ProfileList.tsx:629
+#: 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"
-
#: 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 "Bloqué"
@@ -465,8 +445,8 @@ msgstr "Bloqué"
msgid "Blocked accounts"
msgstr "Comptes bloqués"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "Comptes bloqués"
@@ -474,7 +454,7 @@ msgstr "Comptes bloqués"
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:120
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."
@@ -482,24 +462,22 @@ msgstr "Les comptes bloqués ne peuvent pas répondre à vos discussions, vous m
msgid "Blocked post."
msgstr "Post bloqué."
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: src/screens/Profile/Sections/Labels.tsx:163
msgid "Blocking does not prevent this labeler from placing labels on your account."
-msgstr ""
+msgstr "Le blocage n’empêche pas cet étiqueteur de placer des étiquettes sur votre compte."
-#: 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 "Le blocage est public. Les comptes bloqués ne peuvent pas répondre à vos discussions, vous mentionner ou interagir avec vous."
#: 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 ""
+msgstr "Le blocage n’empêchera pas les étiquettes d’être appliquées à votre compte, mais il empêchera ce compte de répondre à vos discussions ou d’interagir avec vous."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blog"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -530,22 +508,17 @@ msgstr "Bluesky n’affichera pas votre profil et vos posts à des personnes non
#: src/lib/moderation/useLabelBehaviorDescription.ts:53
msgid "Blur images"
-msgstr ""
+msgstr "Flouter les images"
#: src/lib/moderation/useLabelBehaviorDescription.ts:51
msgid "Blur images and filter from feeds"
-msgstr ""
+msgstr "Flouter les images et les filtrer des fils d’actu"
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
msgstr "Livres"
-#: src/view/screens/Settings/index.tsx:893
-#~ msgid "Build version {0} {1}"
-#~ msgstr "Version Build {0} {1}"
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Affaires"
@@ -559,7 +532,7 @@ msgstr "par {0}"
#: src/components/LabelingServiceCard/index.tsx:57
msgid "By {0}"
-msgstr ""
+msgstr "Par {0}"
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
@@ -567,13 +540,13 @@ msgstr "par <0/>"
#: src/screens/Signup/StepInfo/Policies.tsx:74
msgid "By creating an account you agree to the {els}."
-msgstr ""
+msgstr "En créant un compte, vous acceptez les {els}."
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr "par vous"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "Caméra"
@@ -585,8 +558,8 @@ msgstr "Ne peut contenir que des lettres, des chiffres, des espaces, des tirets
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -601,9 +574,9 @@ msgstr "Ne peut contenir que des lettres, des chiffres, des espaces, des tirets
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Annuler"
@@ -643,36 +616,36 @@ msgstr "Annuler la recherche"
#: src/view/com/modals/LinkWarning.tsx:106
msgid "Cancels opening the linked website"
-msgstr ""
+msgstr "Annule l’ouverture du site web lié"
-#: src/view/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
-msgstr ""
+msgstr "Modifier"
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "Modifier"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "Modifier le pseudo"
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "Modifier le pseudo"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "Modifier mon e-mail"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr "Modifier le mot de passe"
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr "Modifier le mot de passe"
@@ -680,10 +653,6 @@ msgstr "Modifier le mot de passe"
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"
-
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
msgstr "Modifier votre e-mail"
@@ -693,14 +662,18 @@ 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/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr ""
+
#: 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 :"
@@ -709,10 +682,6 @@ msgstr "Consultez votre boîte de réception, vous avez du recevoir un e-mail co
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"
-
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "Choisir un service"
@@ -730,38 +699,38 @@ msgstr "Choisissez les algorithmes qui alimentent votre expérience avec des fil
msgid "Choose your main feeds"
msgstr "Choisissez vos principaux fils d’actu"
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Choisissez votre mot de passe"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr "Effacer toutes les données de stockage existantes"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
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:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr "Effacer toutes les données de stockage"
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
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:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "Effacer la recherche"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
-msgstr ""
+msgstr "Efface toutes les données de stockage existantes"
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
-msgstr ""
+msgstr "Efface toutes les données de stockage"
#: src/view/screens/Support.tsx:40
msgid "click here"
@@ -771,21 +740,22 @@ 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:192
-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:198
+#~ msgid "Click here to open tag menu for #{tag}"
+#~ msgstr "Cliquez ici pour ouvrir le menu de mot-clé pour #{tag}"
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
msgstr "Climat"
+#: src/components/dialogs/GifSelect.tsx:300
#: src/view/com/modals/ChangePassword.tsx:267
#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "Fermer"
-#: src/components/Dialog/index.web.tsx:106
-#: src/components/Dialog/index.web.tsx:218
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr "Fermer le dialogue actif"
@@ -797,6 +767,14 @@ msgstr "Fermer l’alerte"
msgid "Close bottom drawer"
msgstr "Fermer le tiroir du bas"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr ""
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Fermer l’image"
@@ -805,7 +783,7 @@ msgstr "Fermer l’image"
msgid "Close image viewer"
msgstr "Fermer la visionneuse d’images"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr "Fermer le pied de page de navigation"
@@ -814,7 +792,7 @@ msgstr "Fermer le pied de page de navigation"
msgid "Close this dialog"
msgstr "Fermer ce dialogue"
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr "Ferme la barre de navigation du bas"
@@ -822,7 +800,7 @@ msgstr "Ferme la barre de navigation du bas"
msgid "Closes password update alert"
msgstr "Ferme la notification de mise à jour du mot de passe"
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr "Ferme la fenêtre de rédaction et supprime le brouillon"
@@ -830,7 +808,7 @@ msgstr "Ferme la fenêtre de rédaction et supprime le brouillon"
msgid "Closes viewer for header image"
msgstr "Ferme la visionneuse pour l’image d’en-tête"
-#: src/view/com/notifications/FeedItem.tsx:321
+#: 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"
@@ -842,7 +820,7 @@ msgstr "Comédie"
msgid "Comics"
msgstr "Bandes dessinées"
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Directives communautaires"
@@ -851,11 +829,11 @@ msgstr "Directives communautaires"
msgid "Complete onboarding and start using your account"
msgstr "Terminez le didacticiel et commencez à utiliser votre compte"
-#: src/screens/Signup/index.tsx:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "Compléter le défi"
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Permet d’écrire des posts de {MAX_GRAPHEME_LENGTH} caractères maximum"
@@ -869,28 +847,24 @@ msgstr "Configurer les paramètres de filtrage de contenu pour la catégorie :
#: src/components/moderation/LabelPreference.tsx:81
msgid "Configure content filtering setting for category: {name}"
-msgstr ""
+msgstr "Configure les paramètres de filtrage de contenu pour la catégorie : {name}"
#: src/components/moderation/LabelPreference.tsx:244
msgid "Configured in <0>moderation settings0>."
-msgstr ""
+msgstr "Configuré dans <0>les paramètres de modération0>."
#: 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/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
msgid "Confirm"
msgstr "Confirmer"
-#: src/view/com/modals/Confirm.tsx:75
-#: src/view/com/modals/Confirm.tsx:78
-#~ msgctxt "action"
-#~ msgid "Confirm"
-#~ msgstr "Confirmer"
-
#: src/view/com/modals/ChangeEmail.tsx:193
#: src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
@@ -904,52 +878,43 @@ msgstr "Confirmer les paramètres de langue"
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."
-
#: src/screens/Moderation/index.tsx:301
msgid "Confirm your age:"
-msgstr ""
+msgstr "Confirmez votre âge :"
#: src/screens/Moderation/index.tsx:292
msgid "Confirm your birthdate"
-msgstr ""
+msgstr "Confirme votre date de naissance"
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
msgid "Confirmation code"
msgstr "Code de confirmation"
-#: src/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "Connexion…"
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Contacter le support"
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "content"
-msgstr ""
+msgstr "contenu"
#: src/lib/moderation/useGlobalLabelStrings.ts:18
msgid "Content Blocked"
-msgstr ""
-
-#: src/view/screens/Moderation.tsx:83
-#~ msgid "Content filtering"
-#~ msgstr "Filtrage du contenu"
-
-#: src/view/com/modals/ContentFilteringSettings.tsx:44
-#~ msgid "Content Filtering"
-#~ msgstr "Filtrage du contenu"
+msgstr "Contenu bloqué"
#: src/screens/Moderation/index.tsx:285
msgid "Content filters"
-msgstr ""
+msgstr "Filtres de contenu"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
@@ -974,28 +939,28 @@ msgstr "Avertissements sur le contenu"
#: src/components/Menu/index.web.tsx:84
msgid "Context menu backdrop, click to close the menu."
-msgstr ""
+msgstr "Menu contextuel en arrière-plan, cliquez pour fermer le 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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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/components/AccountList.tsx:108
msgid "Continue as {0} (currently signed in)"
-msgstr ""
+msgstr "Continuer comme {0} (actuellement connecté)"
#: 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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Passer à l’étape suivante"
@@ -1016,48 +981,53 @@ msgstr "Cuisine"
msgid "Copied"
msgstr "Copié"
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
msgid "Copied build version to clipboard"
msgstr "Version de build copiée dans le presse-papier"
#: 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:158
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "Copié dans le presse-papier"
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr "Copié !"
+
#: 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:189
msgid "Copy"
-msgstr "Copie"
+msgstr "Copier"
#: src/view/com/modals/ChangeHandle.tsx:480
msgid "Copy {0}"
-msgstr ""
+msgstr "Copier {0}"
-#: src/view/screens/ProfileList.tsx:388
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr "Copier ce code"
+
+#: 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:228
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
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"
-
-#: src/view/com/util/forms/PostDropdownBtn.tsx:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "Copier le texte du post"
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Politique sur les droits d’auteur"
@@ -1066,53 +1036,48 @@ msgstr "Politique sur les droits d’auteur"
msgid "Could not load feed"
msgstr "Impossible de charger le fil d’actu"
-#: src/view/screens/ProfileList.tsx:907
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "Impossible de charger la liste"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr "Créer un compte Bluesky"
-#: src/screens/Signup/index.tsx:129
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Créer un compte"
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr "Créer un compte"
+
#: 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:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: 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/components/ReportDialog/SelectReportOptionView.tsx:93
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
msgid "Create report for {0}"
-msgstr ""
+msgstr "Créer un rapport pour {0}"
#: 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/>"
-
-#: src/view/screens/ProfileFeed.tsx:614
-#~ msgid "Created by you"
-#~ msgstr "Créée par vous"
-
#: 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}"
+#~ 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}"
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
@@ -1128,16 +1093,16 @@ msgid "Custom domain"
msgstr "Domaine personnalisé"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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."
-#: src/view/screens/PreferencesExternalEmbeds.tsx:55
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr "Personnaliser les médias provenant de sites externes."
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr "Sombre"
@@ -1145,29 +1110,29 @@ msgstr "Sombre"
msgid "Dark mode"
msgstr "Mode sombre"
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr "Thème sombre"
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
-msgstr ""
+msgstr "Date de naissance"
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
-msgstr ""
+msgstr "Déboguer la modération"
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr "Panneau de débug"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: src/view/screens/AppPasswords.tsx:268
-#: src/view/screens/ProfileList.tsx:613
+#: src/view/screens/ProfileList.tsx:615
msgid "Delete"
-msgstr ""
+msgstr "Supprimer"
-#: src/view/screens/Settings/index.tsx:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "Supprimer le compte"
@@ -1181,9 +1146,9 @@ msgstr "Supprimer le mot de passe de l’appli"
#: src/view/screens/AppPasswords.tsx:263
msgid "Delete app password?"
-msgstr ""
+msgstr "Supprimer le mot de passe de l’appli ?"
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Supprimer la liste"
@@ -1191,24 +1156,24 @@ msgstr "Supprimer la liste"
msgid "Delete my account"
msgstr "Supprimer mon compte"
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
msgid "Delete My Account…"
msgstr "Supprimer mon compte…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:302
-#: src/view/com/util/forms/PostDropdownBtn.tsx:304
+#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
msgid "Delete post"
msgstr "Supprimer le post"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:610
msgid "Delete this list?"
-msgstr ""
+msgstr "Supprimer cette liste ?"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:314
+#: src/view/com/util/forms/PostDropdownBtn.tsx:340
msgid "Delete this post?"
msgstr "Supprimer ce post ?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:64
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Supprimé"
@@ -1223,32 +1188,48 @@ msgstr "Post supprimé."
msgid "Description"
msgstr "Description"
-#: src/view/com/composer/Composer.tsx:218
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr "Vous vouliez dire quelque chose ?"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr "Atténué"
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr ""
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr ""
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+#~ msgid "Disable haptics"
+#~ msgstr "Désactiver l’haptique"
+
+#: src/view/screens/Settings/index.tsx:697
+#~ msgid "Disable vibrations"
+#~ msgstr "Désactiver les vibrations"
+
#: 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 ""
+msgstr "Désactivé"
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr "Ignorer"
-#: src/view/com/composer/Composer.tsx:145
-#~ msgid "Discard draft"
-#~ msgstr "Ignorer le brouillon"
-
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
-msgstr ""
+msgstr "Abandonner le brouillon ?"
#: src/screens/Moderation/index.tsx:518
#: src/screens/Moderation/index.tsx:522
@@ -1260,7 +1241,7 @@ 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"
@@ -1274,19 +1255,19 @@ msgstr "Afficher le nom"
#: src/view/com/modals/ChangeHandle.tsx:397
msgid "DNS Panel"
-msgstr ""
+msgstr "Panneau DNS"
#: src/lib/moderation/useGlobalLabelStrings.ts:39
msgid "Does not include nudity."
-msgstr ""
+msgstr "Ne comprend pas de nudité."
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
-msgstr ""
+msgstr "Ne commence pas ou ne se termine pas par un trait d’union"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "Domain Value"
-msgstr ""
+msgstr "Valeur du domaine"
#: src/view/com/modals/ChangeHandle.tsx:488
msgid "Domain verified!"
@@ -1310,7 +1291,7 @@ msgstr "Domaine vérifié !"
msgid "Done"
msgstr "Terminé"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: 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
@@ -1327,20 +1308,12 @@ msgstr "Terminer"
msgid "Done{extraText}"
msgstr "Terminé{extraText}"
-#: 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)"
-
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
msgid "Download CAR file"
msgstr "Télécharger le fichier CAR"
-#: src/view/com/composer/text-input/TextInput.web.tsx:249
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr "Déposer pour ajouter des images"
@@ -1350,7 +1323,7 @@ msgstr "En raison des politiques d’Apple, le contenu pour adultes ne peut êtr
#: src/view/com/modals/ChangeHandle.tsx:258
msgid "e.g. alice"
-msgstr ""
+msgstr "ex. alice"
#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
@@ -1358,7 +1331,7 @@ msgstr "ex. Alice Dupont"
#: src/view/com/modals/ChangeHandle.tsx:380
msgid "e.g. alice.com"
-msgstr ""
+msgstr "ex. alice.fr"
#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
@@ -1366,7 +1339,7 @@ msgstr "ex. Artiste, amoureuse des chiens et lectrice passionnée."
#: src/lib/moderation/useGlobalLabelStrings.ts:43
msgid "E.g. artistic nudes."
-msgstr ""
+msgstr "Ex. nus artistiques."
#: src/view/com/modals/CreateOrEditList.tsx:284
msgid "e.g. Great Posters"
@@ -1393,17 +1366,17 @@ msgctxt "action"
msgid "Edit"
msgstr "Modifier"
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
-msgstr ""
+msgstr "Modifier l’avatar"
#: src/view/com/composer/photos/Gallery.tsx:144
#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr "Modifier l’image"
-#: src/view/screens/ProfileList.tsx:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Modifier les infos de la liste"
@@ -1411,9 +1384,9 @@ msgstr "Modifier les infos de la liste"
msgid "Edit Moderation List"
msgstr "Modifier la liste de modération"
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Modifier mes fils d’actu"
@@ -1421,18 +1394,18 @@ msgstr "Modifier mes fils d’actu"
msgid "Edit my profile"
msgstr "Modifier mon profil"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "Modifier le profil"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
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"
@@ -1457,6 +1430,10 @@ msgstr "Éducation"
msgid "Email"
msgstr "E-mail"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr ""
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Adresse e-mail"
@@ -1470,21 +1447,35 @@ msgstr "Adresse e-mail mise à jour"
msgid "Email Updated"
msgstr "E-mail mis à jour"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr "Adresse e-mail vérifiée"
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
msgid "Email:"
msgstr "E-mail :"
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr "Code HTML à intégrer"
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+msgid "Embed post"
+msgstr "Intégrer le post"
+
+#: 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 "Intégrez ce post à votre site web. Il suffit de copier l’extrait suivant et de le coller dans le code HTML de votre site web."
+
#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "Activer {0} uniquement"
#: src/screens/Moderation/index.tsx:329
msgid "Enable adult content"
-msgstr ""
+msgstr "Activer le contenu pour adultes"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
@@ -1498,13 +1489,9 @@ 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"
+msgstr "Activer les médias externes"
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr "Activer les lecteurs médias pour"
@@ -1514,13 +1501,13 @@ msgstr "Activez ce paramètre pour ne voir que les réponses des personnes que v
#: src/components/dialogs/EmbedConsent.tsx:94
msgid "Enable this source only"
-msgstr ""
+msgstr "Active cette source uniquement"
#: src/screens/Moderation/index.tsx:339
msgid "Enabled"
-msgstr ""
+msgstr "Activé"
-#: src/screens/Profile/Sections/Feed.tsx:84
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Fin du fil d’actu"
@@ -1530,14 +1517,14 @@ msgstr "Entrer un nom pour ce mot de passe d’application"
#: src/screens/Login/SetNewPasswordForm.tsx:139
msgid "Enter a password"
-msgstr ""
+msgstr "Saisir un mot de passe"
#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
msgid "Enter a word or tag"
msgstr "Saisir un mot ou un mot-clé"
-#: src/view/com/modals/VerifyEmail.tsx:105
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr "Entrer un code de confirmation"
@@ -1558,7 +1545,7 @@ msgid "Enter your birth date"
msgstr "Saisissez votre date de naissance"
#: src/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Entrez votre e-mail"
@@ -1578,7 +1565,7 @@ msgstr "Entrez votre pseudo et votre mot de passe"
msgid "Error receiving captcha response."
msgstr "Erreur de réception de la réponse captcha."
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Erreur :"
@@ -1588,11 +1575,11 @@ msgstr "Tout le monde"
#: src/lib/moderation/useReportOptions.ts:66
msgid "Excessive mentions or replies"
-msgstr ""
+msgstr "Mentions ou réponses excessives"
#: src/view/com/modals/DeleteAccount.tsx:230
msgid "Exits account deletion process"
-msgstr ""
+msgstr "Sort du processus de suppression du compte"
#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
@@ -1600,7 +1587,7 @@ msgstr "Sort du processus de changement de pseudo"
#: src/view/com/modals/crop-image/CropImage.web.tsx:136
msgid "Exits image cropping process"
-msgstr ""
+msgstr "Sort du processus de recadrage de l’image"
#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
@@ -1615,25 +1602,25 @@ msgstr "Sort de la saisie de la recherche"
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/lib/moderation/useGlobalLabelStrings.ts:47
msgid "Explicit or potentially disturbing media."
-msgstr ""
+msgstr "Médias explicites ou potentiellement dérangeants."
#: src/lib/moderation/useGlobalLabelStrings.ts:35
msgid "Explicit sexual images."
-msgstr ""
+msgstr "Images sexuelles explicites."
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr "Exporter mes données"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr "Exporter mes données"
@@ -1643,17 +1630,17 @@ msgid "External Media"
msgstr "Média externe"
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:275
-#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr "Préférences sur les médias externes"
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr "Préférences sur les médias externes"
@@ -1666,20 +1653,24 @@ msgstr "Échec de la création du mot de passe d’application."
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:125
+#: 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/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+msgstr ""
+
+#: 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/view/com/lightbox/Lightbox.tsx:83
msgid "Failed to save image: {0}"
-msgstr ""
+msgstr "Échec de l’enregistrement de l’image : {0}"
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr "Fil d’actu"
@@ -1687,31 +1678,31 @@ msgstr "Fil d’actu"
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:314
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Feedback"
-#: src/Navigation.tsx:464
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: 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."
@@ -1721,11 +1712,11 @@ msgstr "Les fils d’actu peuvent également être thématiques !"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "File Contents"
-msgstr ""
+msgstr "Contenu du fichier"
#: src/lib/moderation/useLabelBehaviorDescription.ts:66
msgid "Filter from feeds"
-msgstr ""
+msgstr "Filtrer des fils d’actu"
#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
@@ -1737,13 +1728,17 @@ msgstr "Finalisation"
msgid "Find accounts to follow"
msgstr "Trouver des comptes à suivre"
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
-msgstr "Trouver des comptes sur Bluesky"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:589
+#~ msgid "Find users on Bluesky"
+#~ msgstr "Trouver des comptes sur Bluesky"
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr "Trouvez des comptes à l’aide de l’outil de recherche, à droite"
+#: 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:155
msgid "Finding similar accounts..."
@@ -1775,10 +1770,10 @@ msgid "Flip vertically"
msgstr "Miroir vertical"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Suivre"
@@ -1788,7 +1783,7 @@ msgid "Follow"
msgstr "Suivre"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "Suivre {0}"
@@ -1796,7 +1791,7 @@ msgstr "Suivre {0}"
#: src/view/com/profile/ProfileMenu.tsx:242
#: src/view/com/profile/ProfileMenu.tsx:253
msgid "Follow Account"
-msgstr ""
+msgstr "Suivre le compte"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
@@ -1804,17 +1799,17 @@ msgstr "Suivre tous"
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
msgid "Follow Back"
-msgstr ""
+msgstr "Suivre en retour"
#: 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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr "Suivi par {0}"
@@ -1826,7 +1821,7 @@ msgstr "Comptes suivis"
msgid "Followed users only"
msgstr "Comptes suivis uniquement"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "vous suit"
@@ -1835,26 +1830,26 @@ msgstr "vous suit"
msgid "Followers"
msgstr "Abonné·e·s"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:93
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr "Suit {0}"
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
msgid "Following feed preferences"
-msgstr ""
+msgstr "Préférences du fil d’actu « Following »"
-#: src/Navigation.tsx:262
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
msgstr "Préférences en matière de fil d’actu « Following »"
@@ -1862,7 +1857,7 @@ msgstr "Préférences en matière de fil d’actu « Following »"
msgid "Follows you"
msgstr "Vous suit"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr "Vous suit"
@@ -1878,53 +1873,44 @@ msgstr "Pour des raisons de sécurité, nous devrons envoyer un code de confirma
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 password"
-#~ msgstr "Mot de passe oublié"
-
#: src/screens/Login/index.tsx:129
#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "Mot de passe oublié"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
-msgstr ""
+msgstr "Mot de passe oublié ?"
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
-msgstr ""
+msgstr "Oublié ?"
#: src/lib/moderation/useReportOptions.ts:52
msgid "Frequently Posts Unwanted Content"
-msgstr ""
+msgstr "Publication fréquente de contenu indésirable"
-#: src/screens/Hashtag.tsx:109
-#: src/screens/Hashtag.tsx:149
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
msgstr "De @{sanitizedAuthor}"
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "Tiré de <0/>"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "Galerie"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "C’est parti"
#: src/lib/moderation/useReportOptions.ts:37
msgid "Glaring violations of law or terms of service"
-msgstr ""
+msgstr "Violations flagrantes de la loi ou des conditions d’utilisation"
#: src/components/moderation/ScreenHider.tsx:151
#: src/components/moderation/ScreenHider.tsx:160
@@ -1932,37 +1918,37 @@ msgstr ""
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: src/view/screens/ProfileList.tsx:918
#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Retour"
-#: src/components/Error.tsx:91
+#: src/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Retour"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "Retour à l’étape précédente"
#: src/view/screens/NotFound.tsx:55
msgid "Go home"
-msgstr ""
+msgstr "Accéder à l’accueil"
#: src/view/screens/NotFound.tsx:54
msgid "Go Home"
-msgstr ""
+msgstr "Accéder à l’accueil"
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "Aller à @{queryMaybeHandle}"
@@ -1974,30 +1960,34 @@ msgstr "Aller à la suite"
#: src/lib/moderation/useGlobalLabelStrings.ts:46
msgid "Graphic Media"
-msgstr ""
+msgstr "Médias crus"
#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "Pseudo"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
-msgstr ""
+msgstr "Harcèlement, trolling ou intolérance"
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
msgstr "Mot-clé"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
msgstr "Mot-clé : #{tag}"
-#: src/screens/Signup/index.tsx:217
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "Un souci ?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Aide"
@@ -2026,17 +2016,17 @@ msgstr "Voici le mot de passe de votre appli."
#: 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:354
msgid "Hide"
msgstr "Cacher"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: 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:278
+#: src/view/com/util/forms/PostDropdownBtn.tsx:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr "Cacher ce post"
@@ -2045,18 +2035,14 @@ msgstr "Cacher ce post"
msgid "Hide the content"
msgstr "Cacher ce contenu"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr "Cacher ce post ?"
-#: src/view/com/notifications/FeedItem.tsx:319
+#: 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"
-
#: 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, un problème s’est produit avec le serveur de fils d’actu. Veuillez informer la personne propriétaire du fil d’actu de ce problème."
@@ -2067,11 +2053,11 @@ msgstr "Hmm, le serveur du fils d’actu semble être mal configuré. Veuillez i
#: 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 "Mmm… le serveur de fils d’actu semble être hors ligne. Veuillez informer la personne propriétaire du fil d’actu de ce problème."
+msgstr "Hmm, le serveur de fils d’actu semble être hors ligne. Veuillez informer la personne propriétaire du fil d’actu de ce problème."
#: 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 "Mmm… le serveur de fils d’actu ne répond pas. Veuillez informer la personne propriétaire du fil d’actu de ce problème."
+msgstr "Hmm, le serveur de fils d’actu ne répond pas. Veuillez informer la personne propriétaire du fil d’actu de ce problème."
#: src/view/com/posts/FeedErrorMessage.tsx:96
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
@@ -2079,26 +2065,26 @@ msgstr "Hmm, nous n’arrivons pas à trouver ce fil d’actu. Il a peut-être
#: 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 ""
+msgstr "Hmm, il semble que nous ayons des difficultés à charger ces données. Voir ci-dessous pour plus de détails. Si le problème persiste, veuillez nous contacter."
#: src/screens/Profile/ErrorState.tsx:31
msgid "Hmmmm, we couldn't load that moderation service."
-msgstr ""
+msgstr "Hmm, nous n’avons pas pu charger ce service de modération."
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Accueil"
#: src/view/com/modals/ChangeHandle.tsx:420
msgid "Host:"
-msgstr ""
+msgstr "Hébergeur :"
#: src/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
@@ -2108,11 +2094,13 @@ msgstr "Hébergeur"
msgid "How should we open this link?"
msgstr "Comment ouvrir ce lien ?"
-#: src/view/com/modals/VerifyEmail.tsx:214
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "J’ai un code"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr "J’ai un code de confirmation"
@@ -2130,15 +2118,15 @@ msgstr "Si rien n’est sélectionné, il n’y a pas de restriction d’âge."
#: 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 ""
+msgstr "Si vous n’êtes pas encore un adulte selon les lois de votre pays, vos parents ou votre tuteur légal doivent lire ces conditions en votre nom."
-#: src/view/screens/ProfileList.tsx:610
+#: src/view/screens/ProfileList.tsx:612
msgid "If you delete this list, you won't be able to recover it."
-msgstr ""
+msgstr "Si vous supprimez cette liste, vous ne pourrez pas la récupérer."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:342
msgid "If you remove this post, you won't be able to recover it."
-msgstr ""
+msgstr "Si vous supprimez ce post, vous ne pourrez pas le récupérer."
#: 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."
@@ -2146,7 +2134,7 @@ msgstr "Si vous souhaitez modifier votre mot de passe, nous vous enverrons un co
#: src/lib/moderation/useReportOptions.ts:36
msgid "Illegal and Urgent"
-msgstr ""
+msgstr "Illégal et urgent"
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
@@ -2156,14 +2144,9 @@ msgstr "Image"
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"
-
#: src/lib/moderation/useReportOptions.ts:47
msgid "Impersonation or false claims about identity or affiliation"
-msgstr ""
+msgstr "Usurpation d’identité ou fausses déclarations concernant l’identité ou l’affiliation"
#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
@@ -2173,14 +2156,6 @@ msgstr "Entrez le code envoyé à votre e-mail pour réinitialiser le mot de pas
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"
-
-#: src/view/com/auth/create/Step1.tsx:151
-#~ msgid "Input invite code to proceed"
-#~ msgstr "Entrez le code d’invitation pour continuer"
-
#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr "Entrez le nom du mot de passe de l’appli"
@@ -2193,31 +2168,40 @@ msgstr "Entrez le nouveau mot de passe"
msgid "Input password for account deletion"
msgstr "Entrez le mot de passe pour la suppression du compte"
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr "Entrez le mot de passe associé à {identifier}"
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
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/screens/Login/LoginForm.tsx:194
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr "Entrez votre mot de passe"
#: src/view/com/modals/ChangeHandle.tsx:389
msgid "Input your preferred hosting provider"
-msgstr ""
+msgstr "Entrez votre hébergeur préféré"
-#: src/screens/Signup/StepHandle.tsx:62
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "Entrez votre pseudo"
-#: src/view/com/post-thread/PostThreadItem.tsx:221
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr "Enregistrement de post invalide ou non pris en charge"
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr "Pseudo ou mot de passe incorrect"
@@ -2245,8 +2229,7 @@ msgstr "Invitations : 1 code dispo"
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:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "Emplois"
@@ -2256,60 +2239,57 @@ msgstr "Journalisme"
#: src/components/moderation/LabelsOnMe.tsx:59
msgid "label has been placed on this {labelTarget}"
-msgstr ""
+msgstr "étiquette a été placée sur ce {labelTarget}"
#: src/components/moderation/ContentHider.tsx:144
msgid "Labeled by {0}."
-msgstr ""
+msgstr "Étiqueté par {0}."
#: src/components/moderation/ContentHider.tsx:142
msgid "Labeled by the author."
-msgstr ""
+msgstr "Étiqueté par l’auteur."
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
-msgstr ""
+msgstr "Étiquettes"
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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 ""
+msgstr "Les étiquettes sont des annotations sur les comptes et le contenu. Elles peuvent être utilisées pour masquer, avertir et catégoriser le réseau."
#: src/components/moderation/LabelsOnMe.tsx:61
msgid "labels have been placed on this {labelTarget}"
-msgstr ""
+msgstr "étiquettes ont été placées sur ce {labelTarget}"
#: src/components/moderation/LabelsOnMeDialog.tsx:62
msgid "Labels on your account"
-msgstr ""
+msgstr "Étiquettes sur votre compte"
#: src/components/moderation/LabelsOnMeDialog.tsx:64
msgid "Labels on your content"
-msgstr ""
+msgstr "Étiquettes sur votre contenu"
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "Sélection de la langue"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr "Préférences de langue"
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Paramètres linguistiques"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "Langues"
-#: src/view/com/auth/create/StepHeader.tsx:20
-#~ msgid "Last step!"
-#~ msgstr "Dernière étape !"
-
-#: src/view/com/util/moderation/ContentHider.tsx:103
-#~ msgid "Learn more"
-#~ msgstr "En savoir plus"
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr "Dernier"
#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
@@ -2318,7 +2298,7 @@ msgstr "En savoir plus"
#: src/components/moderation/ContentHider.tsx:65
#: src/components/moderation/ContentHider.tsx:128
msgid "Learn more about the moderation applied to this content."
-msgstr ""
+msgstr "En savoir plus sur la modération appliquée à ce contenu."
#: src/components/moderation/PostHider.tsx:85
#: src/components/moderation/ScreenHider.tsx:125
@@ -2331,7 +2311,7 @@ msgstr "En savoir plus sur ce qui est public sur Bluesky."
#: src/components/moderation/ContentHider.tsx:152
msgid "Learn more."
-msgstr ""
+msgstr "En savoir plus."
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
@@ -2345,7 +2325,7 @@ msgstr "Quitter Bluesky"
msgid "left to go."
msgstr "devant vous dans la file."
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "Stockage ancien effacé, vous devez redémarrer l’application maintenant."
@@ -2358,27 +2338,22 @@ msgstr "Réinitialisez votre mot de passe !"
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"
-
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr "Clair"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Liker"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "Liker ce fil d’actu"
#: src/components/LikesDialog.tsx:87
-#: src/Navigation.tsx:201
-#: src/Navigation.tsx:206
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
msgid "Liked by"
msgstr "Liké par"
@@ -2394,31 +2369,31 @@ msgstr "Liké par {0} {1}"
#: src/components/LabelingServiceCard/index.tsx:72
msgid "Liked by {count} {0}"
-msgstr ""
+msgstr "Liké par {count} {0}\""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: 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:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "liké votre post"
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr "Likes"
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr "Likes sur ce post"
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr "Liste"
@@ -2426,7 +2401,7 @@ msgstr "Liste"
msgid "List Avatar"
msgstr "Liste des avatars"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Liste bloquée"
@@ -2434,11 +2409,11 @@ msgstr "Liste bloquée"
msgid "List by {0}"
msgstr "Liste par {0}"
-#: src/view/screens/ProfileList.tsx:355
+#: 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"
@@ -2446,36 +2421,31 @@ msgstr "Liste masquée"
msgid "List Name"
msgstr "Nom de liste"
-#: src/view/screens/ProfileList.tsx:325
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Liste débloquée"
-#: src/view/screens/ProfileList.tsx:297
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Liste démasquée"
-#: src/Navigation.tsx:114
-#: src/view/screens/Profile.tsx:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: 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"
-
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr "Charger les nouvelles notifications"
-#: src/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Charger les nouveaux posts"
@@ -2483,7 +2453,7 @@ msgstr "Charger les nouveaux posts"
msgid "Loading..."
msgstr "Chargement…"
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr "Journaux"
@@ -2502,9 +2472,13 @@ msgstr "Visibilité déconnectée"
msgid "Login to account that is not listed"
msgstr "Se connecter à un compte qui n’est pas listé"
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+msgstr ""
+
#: src/screens/Login/SetNewPasswordForm.tsx:116
msgid "Looks like XXXXX-XXXXX"
-msgstr ""
+msgstr "De la forme XXXXX-XXXXX"
#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
@@ -2514,15 +2488,8 @@ msgstr "Assurez-vous que c’est bien là que vous avez l’intention d’aller
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"
-
-#: 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"
-
-#: src/view/screens/Profile.tsx:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr "Média"
@@ -2534,8 +2501,8 @@ msgstr "comptes mentionnés"
msgid "Mentioned users"
msgstr "Comptes mentionnés"
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "Menu"
@@ -2545,33 +2512,33 @@ msgstr "Message du serveur : {0}"
#: src/lib/moderation/useReportOptions.ts:45
msgid "Misleading Account"
-msgstr ""
+msgstr "Compte trompeur"
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: 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 ""
+msgstr "Détails de la modération"
#: 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:789
+#: 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:787
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Liste de modération par vous"
@@ -2587,22 +2554,22 @@ msgstr "Liste de modération mise à jour"
msgid "Moderation lists"
msgstr "Listes de modération"
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Listes de modération"
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr "Paramètres de modération"
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
-msgstr ""
+msgstr "États de modération"
#: src/screens/Moderation/index.tsx:215
msgid "Moderation tools"
-msgstr ""
+msgstr "Outils de modération"
#: src/components/moderation/ModerationDetailsDialog.tsx:48
#: src/lib/moderation/useModerationCauseDescription.ts:40
@@ -2611,13 +2578,13 @@ msgstr "La modération a choisi d’ajouter un avertissement général sur le co
#: src/view/com/post-thread/PostThreadItem.tsx:541
msgid "More"
-msgstr ""
+msgstr "Plus"
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "Plus de fils d’actu"
-#: src/view/screens/ProfileList.tsx:599
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Plus d’options"
@@ -2625,10 +2592,6 @@ msgstr "Plus d’options"
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"
-
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
msgstr "Masquer"
@@ -2642,7 +2605,7 @@ msgstr "Masquer {truncatedTag}"
msgid "Mute Account"
msgstr "Masquer le compte"
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Masquer les comptes"
@@ -2658,19 +2621,15 @@ msgstr "Masquer dans les mots-clés uniquement"
msgid "Mute in text & tags"
msgstr "Masquer dans le texte et les mots-clés"
-#: 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 "Masquer la liste"
-#: src/view/screens/ProfileList.tsx:619
+#: 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"
-
#: 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"
@@ -2679,13 +2638,13 @@ msgstr "Masquer ce mot dans le texte du post et les mots-clés"
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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
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:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
msgstr "Masquer les mots et les mots-clés"
@@ -2697,24 +2656,24 @@ msgstr "Masqué"
msgid "Muted accounts"
msgstr "Comptes masqués"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: 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/lib/moderation/useModerationCauseDescription.ts:85
msgid "Muted by \"{0}\""
-msgstr ""
+msgstr "Masqué par « {0} »"
#: 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: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 "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."
@@ -2723,7 +2682,7 @@ msgstr "Ce que vous masquez reste privé. Les comptes masqués peuvent interagir
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"
@@ -2731,18 +2690,14 @@ msgstr "Mes fils d’actu"
msgid "My Profile"
msgstr "Mon profil"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
-msgstr ""
+msgstr "Mes fils d’actu enregistrés"
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
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"
-
#: src/view/com/modals/AddAppPasswords.tsx:180
#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
@@ -2756,14 +2711,14 @@ msgstr "Le nom est requis"
#: src/lib/moderation/useReportOptions.ts:78
#: src/lib/moderation/useReportOptions.ts:86
msgid "Name or Description Violates Community Standards"
-msgstr ""
+msgstr "Nom ou description qui viole les normes communautaires"
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr "Nature"
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Navigue vers le prochain écran"
@@ -2772,31 +2727,22 @@ msgstr "Navigue vers le prochain écran"
msgid "Navigates to your profile"
msgstr "Navigue vers votre profil"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: 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}"
+msgstr "Besoin de signaler une violation des droits d’auteur ?"
#: 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 "Ne perdez jamais l’accès à vos followers et à vos données."
+msgstr "Ne perdez jamais l’accès à vos abonné·e·s et à vos données."
#: 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"
+msgstr "Ne perdez jamais l’accès à vos abonné·e·s ou à vos données."
#: src/view/com/modals/ChangeHandle.tsx:519
msgid "Nevermind, create a handle for me"
-msgstr ""
+msgstr "Peu importe, créez un pseudo pour moi"
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -2819,17 +2765,17 @@ msgstr "Nouveau mot de passe"
msgid "New Password"
msgstr "Nouveau mot de passe"
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
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:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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"
@@ -2853,12 +2799,12 @@ msgstr "Actualités"
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -2882,22 +2828,26 @@ msgstr "Image suivante"
msgid "No"
msgstr "Non"
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Aucune description"
#: src/view/com/modals/ChangeHandle.tsx:405
msgid "No DNS Panel"
+msgstr "Pas de panneau DNS"
+
+#: src/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr "Ne suit plus {0}"
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
-msgstr ""
+msgstr "Pas plus de 253 caractères"
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
@@ -2908,20 +2858,24 @@ msgstr "Pas encore de notifications !"
msgid "No result"
msgstr "Aucun résultat"
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "Aucun résultat trouvé pour {query}"
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr ""
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
@@ -2934,43 +2888,43 @@ 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 ""
+msgstr "Personne n’a encore liké. Peut-être devriez-vous ouvrir la voie !"
#: src/lib/moderation/useGlobalLabelStrings.ts:42
msgid "Non-sexual Nudity"
-msgstr ""
+msgstr "Nudité non sexuelle"
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "Sans objet."
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "Introuvable"
-#: src/view/com/modals/VerifyEmail.tsx:246
-#: src/view/com/modals/VerifyEmail.tsx:252
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr "Pas maintenant"
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
-msgstr ""
+msgstr "Note sur le partage"
#: 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:469
+#: src/Navigation.tsx:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Notifications"
@@ -2980,21 +2934,18 @@ msgstr "Nudité"
#: src/lib/moderation/useReportOptions.ts:71
msgid "Nudity or adult content not labeled as such"
-msgstr ""
+msgstr "Nudité ou contenu adulte non identifié comme tel"
-#: src/lib/moderation/useReportOptions.ts:71
-#~ msgid "Nudity or pornography not labeled as such"
-#~ msgstr ""
-
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
-msgstr ""
+msgstr "sur"
#: src/lib/moderation/useLabelBehaviorDescription.ts:11
msgid "Off"
-msgstr ""
+msgstr "Éteint"
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "Oh non !"
@@ -3003,9 +2954,9 @@ msgid "Oh no! Something went wrong."
msgstr "Oh non ! Il y a eu un problème."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
-msgstr ""
+msgstr "OK"
#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
@@ -3015,11 +2966,11 @@ msgstr "D’accord"
msgid "Oldest replies first"
msgstr "Plus anciennes réponses en premier"
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr "Réinitialiser le didacticiel"
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr "Une ou plusieurs images n’ont pas de texte alt."
@@ -3027,17 +2978,17 @@ msgstr "Une ou plusieurs images n’ont pas de texte alt."
msgid "Only {0} can reply."
msgstr "Seul {0} peut répondre."
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
-msgstr ""
+msgstr "Ne contient que des lettres, des chiffres et des traits d’union"
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
msgstr "Oups, quelque chose n’a pas marché !"
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Oups !"
@@ -3045,61 +2996,57 @@ msgstr "Oups !"
msgid "Open"
msgstr "Ouvrir"
-#: src/view/screens/Moderation.tsx:75
-#~ msgid "Open content filtering settings"
-#~ msgstr "Ouvrir les paramètres de filtrage de contenu"
-
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr "Ouvrir le sélecteur d’emoji"
-#: src/view/screens/ProfileFeed.tsx:300
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
-msgstr ""
+msgstr "Ouvrir le menu des options de fil d’actu"
-#: src/view/screens/Settings/index.tsx:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr "Ouvrir des liens avec le navigateur interne à l’appli"
#: src/screens/Moderation/index.tsx:227
msgid "Open muted words and tags settings"
-msgstr ""
+msgstr "Ouvrir les paramètres des mots masqués et mots-clés"
-#: 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:50
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Navigation ouverte"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:183
+#: 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:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr "Ouvrir la page Storybook"
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
-msgstr ""
+msgstr "Ouvrir le journal du système"
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr "Ouvre {numItems} options"
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr ""
+
#: src/view/screens/Log.tsx:54
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:353
+#: 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:78
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr "Ouvre l’appareil photo de l’appareil"
@@ -3107,121 +3054,99 @@ msgstr "Ouvre l’appareil photo de l’appareil"
msgid "Opens composer"
msgstr "Ouvre le rédacteur"
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr "Ouvre les paramètres linguistiques configurables"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
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"
-
-#: src/view/screens/Settings/index.tsx:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr "Ouvre les paramètres d’intégration externe"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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 ""
+msgstr "Ouvre le flux de création d’un nouveau compte Bluesky"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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"
+msgstr "Ouvre le flux pour vous connecter à votre compte Bluesky existant"
-#: src/view/com/profile/ProfileHeader.tsx:594
-#~ msgid "Opens following list"
-#~ msgstr "Ouvre la liste des abonnements"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr ""
#: 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:798
+#: src/view/screens/Settings/index.tsx:757
msgid "Opens modal for account deletion confirmation. Requires email code"
-msgstr ""
+msgstr "Ouvre la fenêtre modale pour confirmer la suppression du compte. Requiert un code e-mail."
-#: 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:756
+#: src/view/screens/Settings/index.tsx:715
msgid "Opens modal for changing your Bluesky password"
-msgstr ""
+msgstr "Ouvre une fenêtre modale pour changer le mot de passe de Bluesky"
-#: src/view/screens/Settings/index.tsx:718
+#: src/view/screens/Settings/index.tsx:670
msgid "Opens modal for choosing a new Bluesky handle"
-msgstr ""
+msgstr "Ouvre une fenêtre modale pour choisir un nouveau pseudo Bluesky"
-#: src/view/screens/Settings/index.tsx:779
+#: src/view/screens/Settings/index.tsx:738
msgid "Opens modal for downloading your Bluesky account data (repository)"
-msgstr ""
+msgstr "Ouvre une fenêtre modale pour télécharger les données du compte Bluesky (dépôt)"
-#: src/view/screens/Settings/index.tsx:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
-msgstr ""
+msgstr "Ouvre une fenêtre modale pour la vérification de l’e-mail"
#: 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:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "Ouvre les paramètres de modération"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
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:597
+#: src/view/screens/Settings/index.tsx:549
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:696
+#: src/view/screens/Settings/index.tsx:648
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"
+msgstr "Ouvre les paramètres du mot de passe de l’application"
-#: src/view/screens/Settings/index.tsx:554
+#: src/view/screens/Settings/index.tsx:506
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"
+msgstr "Ouvre les préférences du fil d’actu « Following »"
#: src/view/com/modals/LinkWarning.tsx:93
msgid "Opens the linked website"
-msgstr ""
+msgstr "Ouvre le site web lié"
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr "Ouvre la page de l’historique"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "Ouvre la page du journal système"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "Ouvre les préférences relatives aux fils de discussion"
@@ -3229,9 +3154,9 @@ 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:162
+#: src/components/ReportDialog/SubmitView.tsx:160
msgid "Optionally provide additional information below:"
-msgstr ""
+msgstr "Ajoutez des informations supplémentaires ci-dessous (optionnel) :"
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
@@ -3239,7 +3164,7 @@ msgstr "Ou une combinaison de ces options :"
#: src/lib/moderation/useReportOptions.ts:25
msgid "Other"
-msgstr ""
+msgstr "Autre"
#: src/components/AccountList.tsx:73
msgid "Other account"
@@ -3249,7 +3174,7 @@ msgstr "Autre compte"
msgid "Other..."
msgstr "Autre…"
-#: src/components/Lists.tsx:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Page introuvable"
@@ -3258,8 +3183,8 @@ msgstr "Page introuvable"
msgid "Page Not Found"
msgstr "Page introuvable"
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3267,7 +3192,7 @@ msgstr "Mot de passe"
#: src/view/com/modals/ChangePassword.tsx:142
msgid "Password Changed"
-msgstr ""
+msgstr "Mot de passe modifié"
#: src/screens/Login/index.tsx:157
msgid "Password updated"
@@ -3277,11 +3202,19 @@ msgstr "Mise à jour du mot de passe"
msgid "Password updated!"
msgstr "Mot de passe mis à jour !"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr "Personnes"
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr "Personnes suivies par @{0}"
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr "Personnes qui suivent @{0}"
@@ -3301,23 +3234,31 @@ msgstr "Animaux domestiques"
msgid "Pictures meant for adults."
msgstr "Images destinées aux adultes."
-#: src/view/screens/ProfileFeed.tsx:292
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "Ajouter à l’accueil"
-#: src/view/screens/ProfileFeed.tsx:295
+#: src/view/screens/ProfileFeed.tsx:306
msgid "Pin to Home"
-msgstr ""
+msgstr "Ajouter à l’accueil"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Fils épinglés"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Play"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "Lire {0}"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3365,18 +3306,13 @@ 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 !"
+msgstr "Veuillez expliquer pourquoi vous pensez que cette étiquette a été appliquée à tort par {0}"
-#: src/view/com/modals/VerifyEmail.tsx:101
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr "Veuillez vérifier votre e-mail"
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr "Veuillez patienter le temps que votre carte de lien soit chargée"
@@ -3388,12 +3324,8 @@ msgstr "Politique"
msgid "Porn"
msgstr "Porno"
-#: src/lib/moderation/useGlobalLabelStrings.ts:34
-#~ msgid "Pornography"
-#~ msgstr ""
-
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr "Poster"
@@ -3403,17 +3335,17 @@ msgctxt "description"
msgid "Post"
msgstr "Post"
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr "Post de {0}"
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
msgid "Post by @{0}"
msgstr "Post de @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:105
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Post supprimé"
@@ -3424,12 +3356,12 @@ msgstr "Post caché"
#: src/components/moderation/ModerationDetailsDialog.tsx:97
#: src/lib/moderation/useModerationCauseDescription.ts:99
msgid "Post Hidden by Muted Word"
-msgstr ""
+msgstr "Post caché par mot masqué"
#: src/components/moderation/ModerationDetailsDialog.tsx:100
#: src/lib/moderation/useModerationCauseDescription.ts:108
msgid "Post Hidden by You"
-msgstr ""
+msgstr "Post caché par vous"
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
@@ -3448,7 +3380,7 @@ msgstr "Post introuvable"
msgid "posts"
msgstr "posts"
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr "Posts"
@@ -3464,15 +3396,15 @@ msgstr "Posts cachés"
msgid "Potentially Misleading Link"
msgstr "Lien potentiellement trompeur"
-#: src/components/forms/HostingProvider.tsx:45
+#: src/components/forms/HostingProvider.tsx:46
msgid "Press to change hosting provider"
-msgstr ""
+msgstr "Appuyer pour changer d’hébergeur"
-#: src/components/Error.tsx:74
-#: src/components/Lists.tsx:80
-#: src/screens/Signup/index.tsx:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
-msgstr ""
+msgstr "Appuyer pour réessayer"
#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
@@ -3486,16 +3418,16 @@ msgstr "Langue principale"
msgid "Prioritize Your Follows"
msgstr "Définissez des priorités de vos suivis"
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Vie privée"
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Charte de confidentialité"
@@ -3504,15 +3436,15 @@ msgid "Processing..."
msgstr "Traitement…"
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
-msgstr ""
+msgstr "profil"
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Profil"
@@ -3520,7 +3452,7 @@ msgstr "Profil"
msgid "Profile updated"
msgstr "Profil mis à jour"
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "Protégez votre compte en vérifiant votre e-mail."
@@ -3536,11 +3468,11 @@ 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:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr "Publier le post"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr "Publier la réponse"
@@ -3566,15 +3498,15 @@ msgstr "Aléatoire"
msgid "Ratios"
msgstr "Ratios"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
-msgstr ""
+msgstr "Recherches récentes"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: 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"
@@ -3587,46 +3519,42 @@ msgstr "Comptes recommandés"
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 ?"
-
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
msgstr "Supprimer compte"
-#: src/view/com/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
-msgstr ""
+msgstr "Supprimer l’avatar"
#: src/view/com/util/UserBanner.tsx:148
msgid "Remove Banner"
-msgstr ""
+msgstr "Supprimer l’image d’en-tête"
#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
-msgstr "Supprimer fil d’actu"
+msgstr "Supprimer le fil d’actu"
#: src/view/com/posts/FeedErrorMessage.tsx:201
msgid "Remove feed?"
-msgstr ""
+msgstr "Supprimer le fil d’actu ?"
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: 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 ""
+msgstr "Supprimer de mes fils d’actu ?"
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "Supprimer l’image"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr "Supprimer l’aperçu d’image"
@@ -3638,17 +3566,9 @@ msgstr "Supprimer le mot masqué de votre liste"
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 ?"
-
#: 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 ?"
+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
@@ -3659,15 +3579,15 @@ msgstr "Supprimé de la liste"
msgid "Removed from my feeds"
msgstr "Supprimé de mes fils d’actu"
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
-msgstr ""
+msgstr "Supprimé de vos fils d’actu"
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr "Supprime la miniature par défaut de {0}"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr "Réponses"
@@ -3675,7 +3595,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:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr "Répondre"
@@ -3684,15 +3604,17 @@ msgstr "Répondre"
msgid "Reply Filters"
msgstr "Filtres de réponse"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
-msgctxt "description"
-msgid "Reply to <0/>"
-msgstr "Réponse à <0/>"
+#: 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}"
+#: src/view/com/post/Post.tsx:178
+#: src/view/com/posts/FeedItem.tsx:285
+msgctxt "description"
+msgid "Reply to <0><1/>0>"
+msgstr ""
#: src/view/com/profile/ProfileMenu.tsx:319
#: src/view/com/profile/ProfileMenu.tsx:322
@@ -3701,41 +3623,41 @@ msgstr "Signaler le compte"
#: src/components/ReportDialog/index.tsx:49
msgid "Report dialog"
-msgstr ""
+msgstr "Fenêtre de dialogue de signalement"
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: 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:429
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Signaler la liste"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:292
-#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "Signaler le post"
#: src/components/ReportDialog/SelectReportOptionView.tsx:42
msgid "Report this content"
-msgstr ""
+msgstr "Signaler ce contenu"
#: src/components/ReportDialog/SelectReportOptionView.tsx:55
msgid "Report this feed"
-msgstr ""
+msgstr "Signaler ce fil d’actu"
#: src/components/ReportDialog/SelectReportOptionView.tsx:52
msgid "Report this list"
-msgstr ""
+msgstr "Signaler cette liste"
#: src/components/ReportDialog/SelectReportOptionView.tsx:49
msgid "Report this post"
-msgstr ""
+msgstr "Signaler ce post"
#: src/components/ReportDialog/SelectReportOptionView.tsx:46
msgid "Report this user"
-msgstr ""
+msgstr "Signaler ce compte"
#: src/view/com/modals/Repost.tsx:44
#: src/view/com/modals/Repost.tsx:49
@@ -3758,19 +3680,19 @@ msgstr "Republier ou citer"
msgid "Reposted By"
msgstr "Republié par"
-#: src/view/com/posts/FeedItem.tsx:197
+#: src/view/com/posts/FeedItem.tsx:199
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/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr "Republié par <0><1/>0>"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "a republié votre post"
-#: src/view/com/post-thread/PostThreadItem.tsx:187
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr "Reposts de ce post"
@@ -3784,14 +3706,23 @@ msgstr "Demande de modification"
msgid "Request Code"
msgstr "Demander un code"
-#: src/view/screens/Settings/index.tsx:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr "Nécessiter un texte alt avant de publier"
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr ""
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Obligatoire pour cet hébergeur"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr ""
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Réinitialiser le code"
@@ -3800,12 +3731,8 @@ msgstr "Réinitialiser le code"
msgid "Reset Code"
msgstr "Code de réinitialisation"
-#: src/view/screens/Settings/index.tsx:824
-#~ msgid "Reset onboarding"
-#~ msgstr "Réinitialiser le didacticiel"
-
-#: src/view/screens/Settings/index.tsx:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr "Réinitialisation du didacticiel"
@@ -3813,24 +3740,20 @@ msgstr "Réinitialisation du didacticiel"
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"
-
-#: src/view/screens/Settings/index.tsx:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr "Réinitialiser l’état des préférences"
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr "Réinitialise l’état d’accueil"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr "Réinitialise l’état des préférences"
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr "Réessaye la connection"
@@ -3839,31 +3762,31 @@ msgstr "Réessaye la connection"
msgid "Retries the last action, which errored out"
msgstr "Réessaye la dernière action, qui a échoué"
-#: src/components/Error.tsx:79
-#: src/components/Lists.tsx:91
-#: src/screens/Login/LoginForm.tsx:234
-#: src/screens/Login/LoginForm.tsx:241
+#: src/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: 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/components/Error.tsx:86
-#: src/view/screens/ProfileList.tsx:917
+#: src/components/Error.tsx:95
+#: 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 ""
+msgstr "Retour à la page d’accueil"
#: src/view/screens/NotFound.tsx:58
#: src/view/screens/ProfileFeed.tsx:113
msgid "Returns to previous page"
-msgstr ""
+msgstr "Retour à la page précédente"
#: src/components/dialogs/BirthDateSettings.tsx:125
#: src/view/com/modals/ChangeHandle.tsx:174
@@ -3884,7 +3807,7 @@ msgstr "Enregistrer le texte alt"
#: src/components/dialogs/BirthDateSettings.tsx:119
msgid "Save birthday"
-msgstr ""
+msgstr "Enregistrer la date de naissance"
#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
@@ -3898,22 +3821,22 @@ msgstr "Enregistrer le changement de pseudo"
msgid "Save image crop"
msgstr "Enregistrer le recadrage de l’image"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
msgid "Save to my feeds"
-msgstr ""
+msgstr "Enregistrer dans mes fils d’actu"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "Fils d’actu enregistrés"
#: src/view/com/lightbox/Lightbox.tsx:81
msgid "Saved to your camera roll."
-msgstr ""
+msgstr "Enregistré dans votre photothèque"
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
-msgstr ""
+msgstr "Enregistré à mes fils d’actu"
#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
@@ -3925,34 +3848,34 @@ msgstr "Enregistre le changement de pseudo en {handle}"
#: src/view/com/modals/crop-image/CropImage.web.tsx:146
msgid "Saves image crop settings"
-msgstr ""
+msgstr "Enregistre les paramètres de recadrage de l’image"
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
msgstr "Science"
-#: src/view/screens/ProfileList.tsx:873
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Remonter en haut"
-#: src/Navigation.tsx:459
+#: src/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Recherche"
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "Recherche de « {query} »"
@@ -3971,6 +3894,14 @@ msgstr "Rechercher tous les posts avec le mot-clé {displayTag}"
msgid "Search for users"
msgstr "Rechercher des comptes"
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr ""
+
#: src/view/com/modals/ChangeEmail.tsx:110
msgid "Security Step Required"
msgstr "Étape de sécurité requise"
@@ -3991,50 +3922,54 @@ 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 "Voir le profil"
+
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr "Voir ce guide"
-#: 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/screens/Login/ChooseAccountForm.tsx:61
msgid "Select account"
-msgstr ""
+msgstr "Sélectionner un compte"
#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "Sélectionner un compte existant"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
-msgstr ""
+msgstr "Sélectionner les langues"
#: src/components/ReportDialog/SelectLabelerView.tsx:30
msgid "Select moderator"
-msgstr ""
+msgstr "Sélectionner une modération"
#: 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: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:135
+#: src/components/ReportDialog/SubmitView.tsx:133
msgid "Select the moderation service(s) to report to"
-msgstr ""
+msgstr "Sélectionnez le(s) service(s) de modération destinataires du signalement"
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
@@ -4052,17 +3987,13 @@ msgstr "Sélectionnez ce que vous voulez voir (ou ne pas voir), et nous nous occ
msgid "Select which languages you want your subscribed feeds to include. If none are selected, all languages will be shown."
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"
-
#: src/view/screens/LanguageSettings.tsx:98
msgid "Select your app language for the default text to display in the app."
-msgstr ""
+msgstr "Sélectionnez votre langue par défaut pour les textes de l’application."
-#: src/screens/Signup/StepInfo/index.tsx:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
-msgstr ""
+msgstr "Sélectionnez votre date de naissance"
#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
@@ -4080,8 +4011,8 @@ msgstr "Sélectionnez vos principaux fils d’actu algorithmiques"
msgid "Select your secondary algorithmic feeds"
msgstr "Sélectionnez vos fils d’actu algorithmiques secondaires"
-#: src/view/com/modals/VerifyEmail.tsx:202
-#: src/view/com/modals/VerifyEmail.tsx:204
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "Envoyer un e-mail de confirmation"
@@ -4094,22 +4025,23 @@ msgctxt "action"
msgid "Send Email"
msgstr "Envoyer l’e-mail"
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Envoyer des commentaires"
-#: 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 ""
-
-#: src/view/com/modals/report/SendReportButton.tsx:45
-#~ msgid "Send Report"
-#~ msgstr "Envoyer le rapport"
+msgstr "Envoyer le rapport"
#: src/components/ReportDialog/SelectLabelerView.tsx:44
msgid "Send report to {0}"
+msgstr "Envoyer le rapport à {0}"
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
msgstr ""
#: src/view/com/modals/DeleteAccount.tsx:132
@@ -4120,48 +4052,14 @@ msgstr "Envoie un e-mail avec le code de confirmation pour la suppression du com
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}"
-
-#: src/view/com/modals/ContentFilteringSettings.tsx:160
-#: src/view/com/modals/ContentFilteringSettings.tsx:179
-#~ 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"
-
-#: src/view/screens/Settings/index.tsx:481
-#~ 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"
-
-#: 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"
-
-#: 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"
+msgstr "Entrez votre date de naissance"
#: 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"
-
#: 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 "Choisissez « Non » pour cacher toutes les citations sur votre fils d’actu. Les reposts seront toujours visibles."
@@ -4190,56 +4088,47 @@ msgstr "Créez votre compte"
msgid "Sets Bluesky username"
msgstr "Définit le pseudo Bluesky"
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
-msgstr ""
+msgstr "Change le thème de couleur en sombre"
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
-msgstr ""
+msgstr "Change le thème de couleur en clair"
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
-msgstr ""
+msgstr "Change le thème de couleur en fonction du paramètre système"
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
-msgstr ""
+msgstr "Change le thème sombre comme étant le plus sombre"
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
-msgstr ""
+msgstr "Change le thème sombre comme étant le thème atténué"
#: 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"
-
#: src/view/com/modals/crop-image/CropImage.web.tsx:124
msgid "Sets image aspect ratio to square"
-msgstr ""
+msgstr "Définit le rapport d’aspect de l’image comme étant carré"
#: src/view/com/modals/crop-image/CropImage.web.tsx:114
msgid "Sets image aspect ratio to tall"
-msgstr ""
+msgstr "Définit le rapport d’aspect de l’image comme portrait"
#: src/view/com/modals/crop-image/CropImage.web.tsx:104
msgid "Sets image aspect ratio to wide"
-msgstr ""
+msgstr "Définit le rapport d’aspect de l’image comme paysage"
-#: src/view/com/auth/create/Step1.tsx:97
-#: 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:139
-#: src/view/screens/Settings/index.tsx:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Paramètres"
@@ -4249,7 +4138,7 @@ msgstr "Activité sexuelle ou nudité érotique."
#: src/lib/moderation/useGlobalLabelStrings.ts:38
msgid "Sexually Suggestive"
-msgstr ""
+msgstr "Sexuellement suggestif"
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
@@ -4258,38 +4147,38 @@ msgstr "Partager"
#: 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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Partager"
#: src/view/com/profile/ProfileMenu.tsx:373
-#: src/view/com/util/forms/PostDropdownBtn.tsx:347
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
-msgstr ""
+msgstr "Partager quand même"
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Partager le fil d’actu"
#: src/view/com/modals/LinkWarning.tsx:89
#: src/view/com/modals/LinkWarning.tsx:95
msgid "Share Link"
-msgstr ""
+msgstr "Partager le lien"
#: src/view/com/modals/LinkWarning.tsx:92
msgid "Shares the linked website"
-msgstr ""
+msgstr "Partage le site web lié"
#: 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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr "Afficher"
@@ -4305,23 +4194,19 @@ msgstr "Afficher quand même"
#: src/lib/moderation/useLabelBehaviorDescription.ts:27
#: src/lib/moderation/useLabelBehaviorDescription.ts:63
msgid "Show badge"
-msgstr ""
+msgstr "Afficher le badge"
#: 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}"
+msgstr "Afficher les badges et filtrer des fils d’actu"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr "Afficher les suivis similaires à {0}"
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr "Voir plus"
@@ -4378,53 +4263,43 @@ msgstr "Afficher les reposts dans le fil d’actu « Following »"
msgid "Show the content"
msgstr "Afficher le contenu"
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Afficher les comptes"
#: src/lib/moderation/useLabelBehaviorDescription.ts:58
msgid "Show warning"
-msgstr ""
+msgstr "Afficher l’avertissement"
#: 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."
+msgstr "Afficher l’avertissement et filtrer des fils d’actu"
#: 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/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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr "Connexion"
-#: 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"
-
#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "Se connecter en tant que {0}"
@@ -4433,28 +4308,32 @@ msgstr "Se connecter en tant que {0}"
msgid "Sign in as..."
msgstr "Se connecter en tant que…"
-#: src/view/com/auth/login/LoginForm.tsx:140
-#~ msgid "Sign into"
-#~ msgstr "Se connecter à"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr "Connectez-vous ou créez votre compte pour participer à la conversation !"
+
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr "Connectez-vous à Bluesky ou créez un nouveau compte"
-#: src/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "Déconnexion"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
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"
@@ -4463,7 +4342,7 @@ msgstr "S’inscrire ou se connecter pour participer à la conversation"
msgid "Sign-in Required"
msgstr "Connexion requise"
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "Connecté en tant que"
@@ -4471,10 +4350,6 @@ msgstr "Connecté en tant que"
msgid "Signed in as @{0}"
msgstr "Connecté en tant que @{0}"
-#: 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:239
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
@@ -4491,15 +4366,11 @@ msgstr "Développement de logiciels"
#: src/components/ReportDialog/index.tsx:59
#: src/screens/Moderation/index.tsx:114
-#: src/screens/Profile/Sections/Labels.tsx:76
+#: src/screens/Profile/Sections/Labels.tsx:87
msgid "Something went wrong, please try again."
-msgstr ""
+msgstr "Quelque chose n’a pas marché, veuillez réessayer."
-#: src/components/Lists.tsx:203
-#~ msgid "Something went wrong!"
-#~ msgstr "Quelque chose n’a pas marché !"
-
-#: src/App.native.tsx:66
+#: 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."
@@ -4513,15 +4384,15 @@ msgstr "Trier les réponses au même post par :"
#: src/components/moderation/LabelsOnMeDialog.tsx:146
msgid "Source:"
-msgstr ""
+msgstr "Source :"
#: src/lib/moderation/useReportOptions.ts:65
msgid "Spam"
-msgstr ""
+msgstr "Spam"
#: src/lib/moderation/useReportOptions.ts:53
msgid "Spam; excessive mentions or replies"
-msgstr ""
+msgstr "Spam ; mentions ou réponses excessives"
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
@@ -4531,24 +4402,20 @@ msgstr "Sports"
msgid "Square"
msgstr "Carré"
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "État du service"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
-msgstr ""
+msgstr "Étape"
-#: src/view/com/auth/create/StepHeader.tsx:22
-#~ msgid "Step {0} of {numSteps}"
-#~ msgstr "Étape {0} sur {numSteps}"
-
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
msgid "Storage cleared, you need to restart the app now."
msgstr "Stockage effacé, vous devez redémarrer l’application maintenant."
-#: src/Navigation.tsx:211
-#: src/view/screens/Settings/index.tsx:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr "Historique"
@@ -4557,32 +4424,32 @@ msgstr "Historique"
msgid "Submit"
msgstr "Envoyer"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "S’abonner"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: src/screens/Profile/Sections/Labels.tsx:191
msgid "Subscribe to @{0} to use these labels:"
-msgstr ""
+msgstr "Abonnez-vous à @{0} pour utiliser ces étiquettes :"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
-msgstr ""
+msgstr "S’abonner à l’étiqueteur"
#: 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/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
msgid "Subscribe to this labeler"
-msgstr ""
+msgstr "S’abonner à cet étiqueteur"
-#: src/view/screens/ProfileList.tsx:586
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "S’abonner à cette liste"
-#: src/view/screens/Search/Search.tsx:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "Suivis suggérés"
@@ -4594,30 +4461,30 @@ msgstr "Suggérés pour vous"
msgid "Suggestive"
msgstr "Suggestif"
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
msgstr "Soutien"
-#: src/components/dialogs/SwitchAccount.tsx:46
-#: src/components/dialogs/SwitchAccount.tsx:49
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "Changer de compte"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr "Basculer sur {0}"
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
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:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr "Système"
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "Journal système"
@@ -4645,11 +4512,11 @@ msgstr "Technologie"
msgid "Terms"
msgstr "Conditions générales"
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Conditions d’utilisation"
@@ -4657,7 +4524,7 @@ msgstr "Conditions d’utilisation"
#: src/lib/moderation/useReportOptions.ts:79
#: src/lib/moderation/useReportOptions.ts:87
msgid "Terms used violate community standards"
-msgstr ""
+msgstr "Termes utilisés qui violent les normes de la communauté"
#: src/components/dialogs/MutedWords.tsx:323
msgid "text"
@@ -4667,26 +4534,26 @@ msgstr "texte"
msgid "Text input field"
msgstr "Champ de saisie de texte"
-#: src/components/ReportDialog/SubmitView.tsx:78
+#: src/components/ReportDialog/SubmitView.tsx:76
msgid "Thank you. Your report has been sent."
-msgstr ""
+msgstr "Nous vous remercions. Votre rapport a été envoyé."
#: src/view/com/modals/ChangeHandle.tsx:465
msgid "That contains the following:"
-msgstr ""
+msgstr "Qui contient les éléments suivants :"
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "Ce pseudo est déjà occupé."
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: 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 ""
+msgstr "l’auteur"
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
@@ -4698,11 +4565,11 @@ msgstr "Notre politique de droits d’auteur a été déplacée vers <0/>"
#: src/components/moderation/LabelsOnMeDialog.tsx:48
msgid "The following labels were applied to your account."
-msgstr ""
+msgstr "Les étiquettes suivantes ont été appliquées à votre compte."
#: src/components/moderation/LabelsOnMeDialog.tsx:49
msgid "The following labels were applied to your content."
-msgstr ""
+msgstr "Les étiquettes suivantes ont été appliquées à votre contenu."
#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
@@ -4729,8 +4596,8 @@ msgstr "Nos conditions d’utilisation ont été déplacées vers"
msgid "There are many feeds to try:"
msgstr "Il existe de nombreux fils d’actu à essayer :"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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."
@@ -4738,15 +4605,19 @@ msgstr "Il y a eu un problème de connexion au serveur, veuillez vérifier votre
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:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+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 "Il y a eu un problème de connexion au serveur"
@@ -4769,14 +4640,14 @@ 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/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 ""
+msgstr "Il y a eu un problème lors de l’envoi de votre rapport. Veuillez vérifier votre connexion internet."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
@@ -4786,9 +4657,9 @@ msgstr "Il y a eu un problème de synchronisation de vos préférences avec le s
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/screens/Profile/Header/ProfileHeaderStandard.tsx:105
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -4800,14 +4671,15 @@ msgstr "Il y a eu un problème lors de la récupération de vos mots de passe d
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: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 "Il y a eu un problème. Veuillez vérifier votre connexion Internet et réessayez."
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
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é !"
@@ -4829,15 +4701,15 @@ msgstr "Ce compte a demandé aux personnes de se connecter pour voir son profil.
#: src/components/moderation/LabelsOnMeDialog.tsx:204
msgid "This appeal will be sent to <0>{0}0>."
-msgstr ""
+msgstr "Cet appel sera envoyé à <0>{0}0>."
#: src/lib/moderation/useGlobalLabelStrings.ts:19
msgid "This content has been hidden by the moderators."
-msgstr ""
+msgstr "Ce contenu a été masqué par la modération."
#: src/lib/moderation/useGlobalLabelStrings.ts:24
msgid "This content has received a general warning from moderators."
-msgstr ""
+msgstr "Ce contenu a reçu un avertissement général de la part de la modération."
#: src/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
@@ -4852,21 +4724,17 @@ msgstr "Ce contenu n’est pas disponible car l’un des comptes impliqués a bl
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>"
-
#: 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 ""
+msgstr "Cette fonctionnalité est en version bêta. Vous pouvez en savoir plus sur les exportations de dépôts dans <0>ce blogpost0>."
#: 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/screens/Profile/Sections/Feed.tsx:50
-#: src/view/screens/ProfileFeed.tsx:477
-#: 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 "Ce fil d’actu est vide !"
@@ -4878,62 +4746,62 @@ msgstr "Ce fil d’actu est vide ! Vous devriez peut-être suivre plus de compt
msgid "This information is not shared with other users."
msgstr "Ces informations ne sont pas partagées avec d’autres personnes."
-#: src/view/com/modals/VerifyEmail.tsx:119
+#: src/view/com/modals/VerifyEmail.tsx:127
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/components/moderation/ModerationDetailsDialog.tsx:124
msgid "This label was applied by {0}."
-msgstr ""
+msgstr "Cette étiquette a été apposée par {0}."
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: src/screens/Profile/Sections/Labels.tsx:178
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
-msgstr ""
+msgstr "Cet étiqueteur n’a pas déclaré les étiquettes qu’il publie et peut ne pas être actif."
#: 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:853
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "Cette liste est vide !"
#: src/screens/Profile/ErrorState.tsx:40
msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
-msgstr ""
+msgstr "Ce service de modération n’est pas disponible. Voir ci-dessous pour plus de détails. Si le problème persiste, contactez-nous."
#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr "Ce nom est déjà utilisé"
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr "Ce post a été supprimé."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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 ""
+msgstr "Ce post n’est visible que pour les personnes connectées. Il ne sera pas visible pour les personnes qui ne sont pas connectées."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:352
msgid "This post will be hidden from feeds."
-msgstr ""
+msgstr "Ce post sera masqué des fils d’actu."
#: 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 ""
+msgstr "Ce profil n’est visible que pour les personnes connectées. Il ne sera pas visible pour les personnes qui ne sont pas connectées."
#: src/screens/Signup/StepInfo/Policies.tsx:37
msgid "This service has not provided terms of service or a privacy policy."
-msgstr ""
+msgstr "Ce service n’a pas fourni de conditions d’utilisation ni de politique de confidentialité."
#: src/view/com/modals/ChangeHandle.tsx:445
msgid "This should create a domain record at:"
-msgstr ""
+msgstr "Cela devrait créer un enregistrement de domaine à :"
#: src/view/com/profile/ProfileFollowers.tsx:87
msgid "This user doesn't have any followers."
-msgstr ""
+msgstr "Ce compte n’a pas d’abonné·e·s."
#: src/components/moderation/ModerationDetailsDialog.tsx:72
#: src/lib/moderation/useModerationCauseDescription.ts:68
@@ -4942,27 +4810,19 @@ 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."
-
-#: 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."
+msgstr "Cette personne a demandé que son contenu ne soit affiché qu’aux personnes connectées."
#: src/components/moderation/ModerationDetailsDialog.tsx:55
msgid "This user is included in the <0>{0}0> list which you have blocked."
-msgstr ""
+msgstr "Ce compte est inclus dans la liste <0>{0}0> que vous avez bloquée."
#: src/components/moderation/ModerationDetailsDialog.tsx:84
msgid "This user is included in the <0>{0}0> list which you have muted."
-msgstr ""
+msgstr "Ce compte est inclus dans la liste <0>{0}0> que vous avez masquée."
#: src/view/com/profile/ProfileFollows.tsx:87
msgid "This user isn't following anyone."
-msgstr ""
+msgstr "Ce compte ne suit personne."
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
@@ -4972,16 +4832,12 @@ msgstr "Cet avertissement n’est disponible que pour les posts contenant des m
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."
-
-#: src/view/screens/Settings/index.tsx:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
-msgstr ""
+msgstr "Préférences des fils de discussion"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "Préférences des fils de discussion"
@@ -4989,13 +4845,17 @@ msgstr "Préférences des fils de discussion"
msgid "Threaded Mode"
msgstr "Mode arborescent"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
-msgstr "Préférences de fils de discussion"
+msgstr "Préférences des fils de discussion"
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr ""
#: src/components/ReportDialog/SelectLabelerView.tsx:33
msgid "To whom would you like to send this report?"
-msgstr ""
+msgstr "À qui souhaitez-vous envoyer ce rapport ?"
#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
@@ -5007,7 +4867,12 @@ msgstr "Activer le menu déroulant"
#: src/screens/Moderation/index.tsx:332
msgid "Toggle to enable or disable adult content"
-msgstr ""
+msgstr "Activer ou désactiver le contenu pour adultes"
+
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr "Meilleur"
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
@@ -5015,8 +4880,8 @@ msgstr "Transformations"
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "Traduire"
@@ -5025,35 +4890,39 @@ msgctxt "action"
msgid "Try again"
msgstr "Réessayer"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr ""
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
-msgstr ""
+msgstr "Type :"
-#: src/view/screens/ProfileList.tsx:478
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Débloquer la liste"
-#: src/view/screens/ProfileList.tsx:461
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Réafficher cette liste"
#: src/screens/Login/ForgotPasswordForm.tsx:74
#: src/screens/Login/index.tsx:78
-#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:181
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
-#: src/view/screens/ProfileList.tsx:572
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Débloquer"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr "Débloquer"
@@ -5063,10 +4932,10 @@ msgstr "Débloquer"
msgid "Unblock Account"
msgstr "Débloquer le compte"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
-msgstr ""
+msgstr "Débloquer le compte ?"
#: src/view/com/modals/Repost.tsx:43
#: src/view/com/modals/Repost.tsx:56
@@ -5076,38 +4945,34 @@ msgid "Undo repost"
msgstr "Annuler le repost"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
-msgstr ""
+msgstr "Se désabonner"
#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr "Se désabonner"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
msgid "Unfollow {0}"
msgstr "Se désabonner de {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 "Malheureusement, vous ne remplissez pas les conditions requises pour créer un compte."
+msgstr "Se désabonner du compte"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Déliker"
-#: src/view/screens/ProfileFeed.tsx:573
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Unlike this feed"
-msgstr ""
+msgstr "Déliker ce fil d’actu"
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:579
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "Réafficher"
@@ -5124,51 +4989,43 @@ 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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "Réafficher ce fil de discussion"
-#: src/view/screens/ProfileFeed.tsx:295
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Désépingler"
-#: src/view/screens/ProfileFeed.tsx:292
+#: src/view/screens/ProfileFeed.tsx:303
msgid "Unpin from home"
-msgstr ""
+msgstr "Désépingler de l’accueil"
-#: src/view/screens/ProfileList.tsx:444
+#: 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"
-
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
-msgstr ""
+msgstr "Se désabonner"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
-msgstr ""
+msgstr "Se désabonner de cet étiqueteur"
#: src/lib/moderation/useReportOptions.ts:70
msgid "Unwanted Sexual Content"
-msgstr ""
+msgstr "Contenu sexuel non désiré"
#: 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"
-
#: src/view/com/modals/ChangeHandle.tsx:508
msgid "Update to {handle}"
-msgstr ""
+msgstr "Mettre à jour pour {handle}"
#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
@@ -5178,28 +5035,28 @@ msgstr "Mise à jour…"
msgid "Upload a text file to:"
msgstr "Envoyer un fichier texte vers :"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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 ""
+msgstr "Envoyer à partir de l’appareil photo"
-#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserAvatar.tsx:345
#: src/view/com/util/UserBanner.tsx:133
msgid "Upload from Files"
-msgstr ""
+msgstr "Envoyer à partir de fichiers"
-#: src/view/com/util/UserAvatar.tsx:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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 ""
+msgstr "Envoyer à partir de la photothèque"
#: src/view/com/modals/ChangeHandle.tsx:408
msgid "Use a file on your server"
-msgstr ""
+msgstr "Utiliser un fichier sur votre serveur"
#: 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."
@@ -5207,7 +5064,7 @@ msgstr "Utilisez les mots de passe de l’appli pour se connecter à d’autres
#: src/view/com/modals/ChangeHandle.tsx:517
msgid "Use bsky.social as hosting provider"
-msgstr ""
+msgstr "Utiliser bsky.social comme hébergeur"
#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
@@ -5225,7 +5082,7 @@ msgstr "Utiliser mon navigateur par défaut"
#: src/view/com/modals/ChangeHandle.tsx:400
msgid "Use the DNS panel"
-msgstr ""
+msgstr "Utiliser le panneau DNS"
#: src/view/com/modals/AddAppPasswords.tsx:156
msgid "Use this to sign into the other app along with your handle."
@@ -5242,7 +5099,7 @@ msgstr "Compte bloqué"
#: src/lib/moderation/useModerationCauseDescription.ts:48
msgid "User Blocked by \"{0}\""
-msgstr ""
+msgstr "Compte bloqué par « {0} »"
#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
@@ -5250,28 +5107,24 @@ msgstr "Compte bloqué par liste"
#: src/lib/moderation/useModerationCauseDescription.ts:66
msgid "User Blocking You"
-msgstr ""
+msgstr "Compte qui vous bloque"
#: 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"
-
#: 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:777
+#: 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:775
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "Liste de compte par vous"
@@ -5287,11 +5140,11 @@ msgstr "Liste de compte mise à jour"
msgid "User Lists"
msgstr "Listes de comptes"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "Pseudo ou e-mail"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "Comptes"
@@ -5305,25 +5158,25 @@ msgstr "Comptes dans « {0} »"
#: src/components/LikesDialog.tsx:85
msgid "Users that have liked this content or profile"
-msgstr ""
+msgstr "Comptes qui ont liké ce contenu ou ce profil"
#: src/view/com/modals/ChangeHandle.tsx:436
msgid "Value:"
-msgstr ""
+msgstr "Valeur :"
#: src/view/com/modals/ChangeHandle.tsx:509
msgid "Verify {0}"
-msgstr ""
+msgstr "Vérifier {0}"
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "Confirmer l’e-mail"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "Confirmer mon e-mail"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "Confirmer mon e-mail"
@@ -5332,13 +5185,13 @@ msgstr "Confirmer mon e-mail"
msgid "Verify New Email"
msgstr "Confirmer le nouvel e-mail"
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr "Vérifiez votre e-mail"
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
-msgstr ""
+msgstr "Version {0}"
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
@@ -5352,13 +5205,13 @@ msgstr "Voir l’avatar de {0}"
msgid "View debug entry"
msgstr "Afficher l’entrée de débogage"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
-msgstr ""
+msgstr "Voir les détails"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
-msgstr ""
+msgstr "Voir les détails pour signaler une violation du droit d’auteur"
#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
@@ -5366,8 +5219,10 @@ msgstr "Voir le fil de discussion entier"
#: src/components/moderation/LabelsOnMe.tsx:51
msgid "View information about these labels"
-msgstr ""
+msgstr "Voir les informations sur ces étiquettes"
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Voir le profil"
@@ -5378,11 +5233,11 @@ msgstr "Afficher l’avatar"
#: src/components/LabelingServiceCard/index.tsx:140
msgid "View the labeling service provided by @{0}"
-msgstr ""
+msgstr "Voir le service d’étiquetage fourni par @{0}"
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
-msgstr ""
+msgstr "Voir les comptes qui a liké ce fil d’actu"
#: src/view/com/modals/LinkWarning.tsx:89
#: src/view/com/modals/LinkWarning.tsx:95
@@ -5398,17 +5253,13 @@ msgstr "Avertir"
#: src/lib/moderation/useLabelBehaviorDescription.ts:48
msgid "Warn content"
-msgstr ""
+msgstr "Avertir du contenu"
#: 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 :"
+msgstr "Avertir du contenu et filtrer des fils d’actu"
-#: src/screens/Hashtag.tsx:133
+#: src/screens/Hashtag.tsx:210
msgid "We couldn't find any results for that hashtag."
msgstr "Nous n’avons trouvé aucun résultat pour ce mot-clé."
@@ -5434,11 +5285,11 @@ msgstr "Nous vous recommandons notre fil d’actu « Discover » :"
#: src/components/dialogs/BirthDateSettings.tsx:52
msgid "We were unable to load your birth date preferences. Please try again."
-msgstr ""
+msgstr "Nous n’avons pas pu charger vos préférences en matière de date de naissance. Veuillez réessayer."
#: src/screens/Moderation/index.tsx:385
msgid "We were unable to load your configured labelers at this time."
-msgstr ""
+msgstr "Nous n’avons pas pu charger vos étiqueteurs configurés pour le moment."
#: 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."
@@ -5448,19 +5299,15 @@ msgstr "Nous n’avons pas pu nous connecter. Veuillez réessayer pour continuer
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."
-
#: 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/screens/Signup/index.tsx:130
+#: 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: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 "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}."
@@ -5468,18 +5315,18 @@ msgstr "Nous sommes désolés, mais nous n’avons pas pu charger cette liste. S
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:256
+#: src/view/screens/Search/Search.tsx:323
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:188
+#: src/components/Lists.tsx:197
#: 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/screens/Profile/Header/ProfileHeaderLabeler.tsx:321
+#: 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 ""
+msgstr "Nous sommes désolés ! Vous ne pouvez vous abonner qu’à dix étiqueteurs, et vous avez atteint votre limite de dix."
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
@@ -5489,13 +5336,9 @@ msgstr "Bienvenue sur <0>Bluesky0>"
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} ?"
-
-#: src/view/com/auth/SplashScreen.tsx:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr "Quoi de neuf ?"
@@ -5514,33 +5357,33 @@ msgstr "Qui peut répondre ?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:43
msgid "Why should this content be reviewed?"
-msgstr ""
+msgstr "Pourquoi ce contenu doit-il être examiné ?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:56
msgid "Why should this feed be reviewed?"
-msgstr ""
+msgstr "Pourquoi ce fil d’actu doit-il être examiné ?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:53
msgid "Why should this list be reviewed?"
-msgstr ""
+msgstr "Pourquoi cette liste devrait-elle être examinée ?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:50
msgid "Why should this post be reviewed?"
-msgstr ""
+msgstr "Pourquoi ce post devrait-il être examiné ?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:47
msgid "Why should this user be reviewed?"
-msgstr ""
+msgstr "Pourquoi ce compte doit-il être examiné ?"
#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "Large"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "Rédiger un post"
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Rédigez votre réponse"
@@ -5565,7 +5408,7 @@ msgstr "Vous êtes dans la file d’attente."
#: src/view/com/profile/ProfileFollows.tsx:86
msgid "You are not following anyone."
-msgstr ""
+msgstr "Vous ne suivez personne."
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
@@ -5583,21 +5426,21 @@ msgstr "Vous pouvez maintenant vous connecter avec votre nouveau mot de passe."
#: src/view/com/profile/ProfileFollowers.tsx:86
msgid "You do not have any followers."
-msgstr ""
+msgstr "Vous n’avez pas d’abonné·e·s."
#: 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é."
@@ -5620,53 +5463,41 @@ msgstr "Vous avez introduit un code non valide. Il devrait ressembler à XXXXX-X
#: src/lib/moderation/useModerationCauseDescription.ts:109
msgid "You have hidden this post"
-msgstr ""
+msgstr "Vous avez caché ce post"
#: src/components/moderation/ModerationDetailsDialog.tsx:101
msgid "You have hidden this post."
-msgstr ""
+msgstr "Vous avez caché ce post."
#: src/components/moderation/ModerationDetailsDialog.tsx:94
#: src/lib/moderation/useModerationCauseDescription.ts:92
msgid "You have muted this account."
-msgstr ""
+msgstr "Vous avez masqué ce compte."
#: 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."
+msgstr "Vous avez masqué ce compte"
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: 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
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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 "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."
+msgstr "Vous n’avez pas encore bloqué de comptes. Pour bloquer un compte, allez sur 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
+#: 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 "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."
+msgstr "Vous n’avez encore masqué aucun compte. Pour masquer 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"
@@ -5674,29 +5505,25 @@ msgstr "Vous n’avez pas encore masqué de mot ou de mot-clé"
#: src/components/moderation/LabelsOnMeDialog.tsx:68
msgid "You may appeal these labels if you feel they were placed in error."
-msgstr ""
+msgstr "Vous pouvez faire appel de ces étiquettes si vous estimez qu’elles ont été apposées par erreur."
#: 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."
+msgstr "Vous devez avoir 13 ans ou plus pour vous inscrire."
#: 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/components/ReportDialog/SubmitView.tsx:205
+#: src/components/ReportDialog/SubmitView.tsx:203
msgid "You must select at least one labeler for a report"
-msgstr ""
+msgstr "Vous devez sélectionner au moins un étiqueteur pour un rapport"
-#: 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 "Vous ne recevrez plus de notifications pour ce fil de discussion"
-#: 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 "Vous recevrez désormais des notifications pour ce fil de discussion"
@@ -5721,13 +5548,13 @@ 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 ""
+msgstr "Vous avez choisi de masquer un mot ou un mot-clé dans ce post."
#: 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/screens/Signup/index.tsx:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Votre compte"
@@ -5739,7 +5566,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/screens/Signup/StepInfo/index.tsx:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Votre date de naissance"
@@ -5761,7 +5588,7 @@ msgstr "Votre e-mail semble être invalide."
msgid "Your email has been updated but not verified. As a next step, please verify your new email."
msgstr "Votre e-mail a été mis à jour, mais n’a pas été vérifié. L’étape suivante consiste à vérifier votre nouvel e-mail."
-#: src/view/com/modals/VerifyEmail.tsx:114
+#: src/view/com/modals/VerifyEmail.tsx:122
msgid "Your email has not yet been verified. This is an important security step which we recommend."
msgstr "Votre e-mail n’a pas encore été vérifié. Il s’agit d’une mesure de sécurité importante que nous recommandons."
@@ -5769,7 +5596,7 @@ 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/screens/Signup/StepHandle.tsx:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Votre nom complet sera"
@@ -5785,7 +5612,7 @@ msgstr "Vos mots masqués"
msgid "Your password has been changed successfully!"
msgstr "Votre mot de passe a été modifié avec succès !"
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr "Votre post a été publié"
@@ -5795,14 +5622,14 @@ msgstr "Votre post a été publié"
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/screens/Settings/index.tsx:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "Votre profil"
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr "Votre réponse a été publiée"
-#: src/screens/Signup/index.tsx:152
+#: 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
index 8b79ff6321..dc357bafeb 100644
--- a/src/locale/locales/ga/messages.po
+++ b/src/locale/locales/ga/messages.po
@@ -12,23 +12,15 @@ msgstr ""
"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
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr "(gan ríomhphost)"
-#: src/screens/Profile/Header/Metrics.tsx:44
+#: src/components/ProfileHoverCard/index.web.tsx:438 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:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} gan léamh"
@@ -38,17 +30,21 @@ msgstr "<0/> ball"
#: src/view/shell/Drawer.tsx:97
msgid "<0>{0}0> following"
-msgstr ""
+msgstr "<0>{0}0> á leanúint"
+
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr "<0>{following} 0><1>{pluralizedFollowers}1>"
-#: src/screens/Profile/Header/Metrics.tsx:45
+#: src/components/ProfileHoverCard/index.web.tsx:441 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:30
+#: 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:37
+#: 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>"
@@ -56,39 +52,39 @@ msgstr "<0>Lean cúpla0><1>Úsáideoirí1><2>Molta2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Fáilte go0><1>Bluesky1>"
-#: src/screens/Profile/Header/Handle.tsx:42
+#: 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/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr "Dearbhú 2FA"
-#: 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:649
+#: src/view/com/util/ViewHeader.tsx:91 src/view/screens/Search/Search.tsx:727
msgid "Access navigation links and settings"
msgstr "Oscail nascanna agus socruithe"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: 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:470
+#: src/view/com/modals/EditImage.tsx:300 src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "Inrochtaineacht"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr "Socruithe inrochtaineachta"
+
+#: src/Navigation.tsx:284 src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr "Socruithe Inrochtaineachta"
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
-msgstr ""
+msgstr "cuntas"
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161 src/view/screens/Settings/index.tsx:323 src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "Cuntas"
@@ -98,14 +94,13 @@ msgstr "Cuntas blocáilte"
#: src/view/com/profile/ProfileMenu.tsx:153
msgid "Account followed"
-msgstr ""
+msgstr "Cuntas leanaithe"
#: 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
+#: src/components/moderation/ModerationDetailsDialog.tsx:93 src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
msgstr "Cuireadh an cuntas i bhfolach"
@@ -121,24 +116,19 @@ msgstr "Roghanna cuntais"
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
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135 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 ""
+msgstr "Cuntas díleanaithe"
#: 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:827
+#: 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"
@@ -146,59 +136,35 @@ msgstr "Cuir leis"
msgid "Add a content warning"
msgstr "Cuir rabhadh faoin ábhar leis"
-#: src/view/screens/ProfileList.tsx:817
+#: 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:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56 src/view/screens/Settings/index.tsx:398 src/view/screens/Settings/index.tsx:407
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
+#: 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
+#: 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 ""
+msgstr "Cuir focal atá le cur i bhfolach anseo le haghaidh socruithe a rinne tú"
#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
-msgstr ""
+msgstr "Cuir focail agus clibeanna a cuireadh i bhfolach leis seo"
#: 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
+#: src/view/com/profile/ProfileMenu.tsx:263 src/view/com/profile/ProfileMenu.tsx:266
msgid "Add to Lists"
msgstr "Cuir le liostaí"
@@ -210,8 +176,7 @@ msgstr "Cuir le mo chuid fothaí"
msgid "Added"
msgstr "Curtha leis"
-#: src/view/com/modals/ListAddRemoveUsers.tsx:191
-#: src/view/com/modals/UserAddRemoveLists.tsx:144
+#: src/view/com/modals/ListAddRemoveUsers.tsx:191 src/view/com/modals/UserAddRemoveLists.tsx:144
msgid "Added to list"
msgstr "Curtha leis an liosta"
@@ -223,35 +188,23 @@ msgstr "Curtha le mo chuid fothaí"
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
+#: 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 ""
+msgstr "Tá ábhar do dhaoine fásta curtha ar ceal."
-#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/screens/Moderation/index.tsx:375 src/view/screens/Settings/index.tsx:636
msgid "Advanced"
msgstr "Ardleibhéal"
-#: src/view/screens/Feeds.tsx:666
+#: 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
+#: 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?"
@@ -263,7 +216,7 @@ msgstr "Logáilte isteach cheana mar @{0}"
msgid "ALT"
msgstr "ALT"
-#: src/view/com/modals/EditImage.tsx:316
+#: src/view/com/modals/EditImage.tsx:316 src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "Téacs malartach"
@@ -271,7 +224,7 @@ msgstr "Téacs malartach"
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
+#: src/view/com/modals/VerifyEmail.tsx:132 src/view/screens/Settings/DisableEmail2FADialog.tsx:96
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."
@@ -279,19 +232,19 @@ msgstr "Cuireadh teachtaireacht ríomhphoist chuig {0}. Tá cód dearbhaithe fao
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/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr "Tharla earráid"
+
#: src/lib/moderation/useReportOptions.ts:26
msgid "An issue not included in these options"
-msgstr ""
+msgstr "Rud nach bhfuil ar fáil sna roghanna seo"
-#: 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
+#: 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:240
-#: src/view/com/threadgate/WhoCanReply.tsx:178
+#: src/view/com/notifications/FeedItem.tsx:242 src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "agus"
@@ -299,9 +252,13 @@ msgstr "agus"
msgid "Animals"
msgstr "Ainmhithe"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr "GIF beo"
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
-msgstr ""
+msgstr "Iompar Frithshóisialta"
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
@@ -319,50 +276,27 @@ msgstr "Ní féidir ach litreacha, uimhreacha, spásanna, daiseanna agus fostrí
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:695
+#: src/view/screens/Settings/index.tsx:647
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:704
+#: src/Navigation.tsx:252 src/view/screens/AppPasswords.tsx:189 src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "Pasfhocal na haipe"
-#: src/components/moderation/LabelsOnMeDialog.tsx:133
-#: src/components/moderation/LabelsOnMeDialog.tsx:136
+#: src/components/moderation/LabelsOnMeDialog.tsx:133 src/components/moderation/LabelsOnMeDialog.tsx:136
msgid "Appeal"
-msgstr ""
+msgstr "Achomharc"
#: 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"
+msgstr "Achomharc in aghaidh lipéid \"{0}\""
#: 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."
+msgstr "Achomharc déanta"
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "Cuma"
@@ -372,9 +306,9 @@ msgstr "An bhfuil tú cinnte gur mhaith leat pasfhocal na haipe “{name}” a s
#: src/view/com/feeds/FeedSourceCard.tsx:280
msgid "Are you sure you want to remove {0} from your feeds?"
-msgstr ""
+msgstr "An bhfuil tú cinnte gur mhaith leat {0} a bhaint de do chuid fothaí?"
-#: src/view/com/composer/Composer.tsx:509
+#: src/view/com/composer/Composer.tsx:523
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?"
@@ -382,10 +316,6 @@ msgstr "An bhfuil tú cinnte gur mhaith leat an dréacht seo a scriosadh?"
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>?"
@@ -398,36 +328,19 @@ msgstr "Ealaín"
msgid "Artistic or non-erotic nudity."
msgstr "Lomnochtacht ealaíonta nó gan a bheith gáirsiúil."
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
-msgstr ""
+msgstr "3 charachtar ar a laghad"
-#: 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:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: 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:269 src/screens/Login/LoginForm.tsx:275 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:89
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:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "Bunrudaí"
@@ -435,43 +348,35 @@ msgstr "Bunrudaí"
msgid "Birthday"
msgstr "Breithlá"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr "Breithlá:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
-#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284 src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
-msgstr ""
+msgstr "Blocáil"
-#: src/view/com/profile/ProfileMenu.tsx:300
-#: src/view/com/profile/ProfileMenu.tsx:307
+#: 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 ""
+msgstr "Blocáil an cuntas seo?"
-#: src/view/screens/ProfileList.tsx:530
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Blocáil na cuntais seo"
-#: 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 "Liosta blocála"
-#: src/view/screens/ProfileList.tsx:629
+#: 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:55
+#: src/view/com/lists/ListCard.tsx:110 src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr "Blocáilte"
@@ -479,8 +384,7 @@ msgstr "Blocáilte"
msgid "Blocked accounts"
msgstr "Cuntais bhlocáilte"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135 src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "Cuntais bhlocáilte"
@@ -488,7 +392,7 @@ msgstr "Cuntais bhlocáilte"
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:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:120
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."
@@ -496,26 +400,23 @@ msgstr "Ní féidir leis na cuntais bhlocáilte freagra a thabhairt ar do chomhr
msgid "Blocked post."
msgstr "Postáil bhlocáilte."
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: src/screens/Profile/Sections/Labels.tsx:163
msgid "Blocking does not prevent this labeler from placing labels on your account."
-msgstr ""
+msgstr "Ní bhacann blocáil an lipéadóir seo ar lipéid a chur ar do chuntas."
-#: 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 "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 ""
+msgstr "Ní chuirfidh blocáil cosc ar lipéid a bheith curtha ar do chuntas, ach bacfaidh sí an cuntas seo ar fhreagraí a thabhairt i do chuid snáitheanna agus ar chaidreamh a dhéanamh leat."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blag"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
-#: src/view/com/auth/server-input/index.tsx:89
-#: src/view/com/auth/server-input/index.tsx:91
+#: src/view/com/auth/server-input/index.tsx:89 src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
msgstr "Bluesky"
@@ -523,58 +424,38 @@ msgstr "Bluesky"
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
+#: 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
+#: 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
+#: 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 ""
+msgstr "Déan íomhánna doiléir"
#: src/lib/moderation/useLabelBehaviorDescription.ts:51
msgid "Blur images and filter from feeds"
-msgstr ""
+msgstr "Déan íomhánna doiléir agus scag ó fhothaí iad"
#: 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/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: 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 —"
@@ -585,7 +466,7 @@ msgstr "le {0}"
#: src/components/LabelingServiceCard/index.tsx:57
msgid "By {0}"
-msgstr ""
+msgstr "Le {0}"
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
@@ -593,13 +474,13 @@ msgstr "le <0/>"
#: src/screens/Signup/StepInfo/Policies.tsx:74
msgid "By creating an account you agree to the {els}."
-msgstr ""
+msgstr "Le cruthú an chuntais aontaíonn tú leis na {els}."
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr "leat"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "Ceamara"
@@ -607,42 +488,16 @@ msgstr "Ceamara"
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:718
-#: src/view/shell/desktop/Search.tsx:239
+#: 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:349 src/view/com/composer/Composer.tsx:354 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:255 src/view/com/modals/VerifyEmail.tsx:261 src/view/screens/Search/Search.tsx:796 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
+#: 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
+#: src/view/com/modals/DeleteAccount.tsx:151 src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
msgstr "Ná scrios an chuntas"
@@ -662,47 +517,40 @@ msgstr "Cealaigh eagarthóireacht na próifíle"
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
+#: 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 ""
+msgstr "Cuireann sé seo oscailt an tsuímh gréasáin atá nasctha ar ceal"
-#: src/view/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
-msgstr ""
+msgstr "Athraigh"
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "Athraigh"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "Athraigh mo leasainm"
-#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/com/modals/ChangeHandle.tsx:162 src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "Athraigh mo leasainm"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "Athraigh mo ríomhphost"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr "Athraigh mo phasfhocal"
-#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/com/modals/ChangePassword.tsx:141 src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr "Athraigh mo phasfhocal"
@@ -710,27 +558,26 @@ msgstr "Athraigh mo phasfhocal"
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
+#: 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: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 "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:185
+#: 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/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr "Féach ar do bhosca ríomhphoist le haghaidh cód dearbhaithe agus cuir isteach anseo é."
+
#: 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."
@@ -739,10 +586,6 @@ msgstr "Féach ar do bhosca ríomhphoist le haghaidh teachtaireachta leis an gc
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"
@@ -751,51 +594,45 @@ msgstr "Roghnaigh Seirbhís"
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
+#: 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:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Roghnaigh do phasfhocal"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr "Glan na sonraí oidhreachta ar fad atá i dtaisce."
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
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:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr "Glan na sonraí ar fad atá i dtaisce."
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
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:699
+#: src/view/com/util/forms/SearchInput.tsx:88 src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "Glan an cuardach"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
-msgstr ""
+msgstr "Glanann seo na sonraí oidhreachta ar fad atá i dtaisce"
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
-msgstr ""
+msgstr "Glanann seo na sonraí ar fad atá i dtaisce"
#: src/view/screens/Support.tsx:40
msgid "click here"
@@ -803,23 +640,17 @@ 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:192
-msgid "Click here to open tag menu for #{tag}"
-msgstr ""
+msgstr "Cliceáil anseo le clár na clibe le haghaidh {tag} a oscailt"
#: 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
+#: src/components/dialogs/GifSelect.tsx:300 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
+#: src/components/Dialog/index.web.tsx:111 src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr "Dún an dialóg oscailte"
@@ -831,6 +662,14 @@ msgstr "Dún an rabhadh"
msgid "Close bottom drawer"
msgstr "Dún an tarraiceán íochtair"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr "Dún an dialóg"
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr "Dún an dialóg GIF"
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Dún an íomhá"
@@ -839,16 +678,15 @@ msgstr "Dún an íomhá"
msgid "Close image viewer"
msgstr "Dún amharcóir na n-íomhánna"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr "Dún an buntásc"
-#: src/components/Menu/index.tsx:207
-#: src/components/TagMenu/index.tsx:262
+#: src/components/Menu/index.tsx:207 src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
-msgstr ""
+msgstr "Dún an dialóg seo"
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr "Dúnann sé seo an barra nascleanúna ag an mbun"
@@ -856,7 +694,7 @@ msgstr "Dúnann sé seo an barra nascleanúna ag an mbun"
msgid "Closes password update alert"
msgstr "Dúnann sé seo an rabhadh faoi uasdátú an phasfhocail"
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
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"
@@ -864,7 +702,7 @@ msgstr "Dúnann sé seo cumadóir na postálacha agus ní shábhálann sé an dr
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:321
+#: 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"
@@ -876,8 +714,7 @@ msgstr "Greann"
msgid "Comics"
msgstr "Greannáin"
-#: src/Navigation.tsx:241
-#: src/view/screens/CommunityGuidelines.tsx:32
+#: src/Navigation.tsx:242 src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Treoirlínte an phobail"
@@ -885,11 +722,11 @@ msgstr "Treoirlínte an phobail"
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:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "Freagair an dúshlán"
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
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"
@@ -903,30 +740,17 @@ 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 ""
+msgstr "Socraigh scagadh an ábhair le haghaidh catagóir: {name}"
#: src/components/moderation/LabelPreference.tsx:244
msgid "Configured in <0>moderation settings0>."
-msgstr ""
+msgstr "Le socrú i <0>socruithe na modhnóireachta0>."
-#: 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
+#: src/components/Prompt.tsx:153 src/components/Prompt.tsx:156 src/view/com/modals/SelfLabel.tsx:154 src/view/com/modals/VerifyEmail.tsx:239 src/view/com/modals/VerifyEmail.tsx:241 src/view/screens/PreferencesFollowingFeed.tsx:308 src/view/screens/PreferencesThreads.tsx:159 src/view/screens/Settings/DisableEmail2FADialog.tsx:180 src/view/screens/Settings/DisableEmail2FADialog.tsx:183
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
+#: src/view/com/modals/ChangeEmail.tsx:193 src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
msgstr "Dearbhaigh an t-athrú"
@@ -938,71 +762,47 @@ msgstr "Dearbhaigh socruithe le haghaidh teanga an ábhair"
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 ""
+msgstr "Dearbhaigh d'aois:"
#: src/screens/Moderation/index.tsx:292
msgid "Confirm your birthdate"
-msgstr ""
+msgstr "Dearbhaigh do bhreithlá"
-#: 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
+#: src/screens/Login/LoginForm.tsx:244 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:173 src/view/screens/Settings/DisableEmail2FADialog.tsx:143 src/view/screens/Settings/DisableEmail2FADialog.tsx:149
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
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "Ag nascadh…"
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Teagmháil le Support"
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "content"
-msgstr ""
+msgstr "ábhar"
#: 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"
+msgstr "Ábhar Blocáilte"
#: src/screens/Moderation/index.tsx:285
msgid "Content filters"
-msgstr ""
+msgstr "Scagthaí ábhair"
-#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
-#: src/view/screens/LanguageSettings.tsx:278
+#: 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
+#: 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
+#: 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"
@@ -1012,28 +812,17 @@ msgstr "Rabhadh ábhair"
#: src/components/Menu/index.web.tsx:84
msgid "Context menu backdrop, click to close the menu."
-msgstr ""
+msgstr "Cúlra an roghchláir comhthéacs, cliceáil chun an roghchlár a dhúnadh."
-#: 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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
+#: 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 ""
+msgstr "Lean ort mar {0} (atá logáilte isteach faoi láthair)"
-#: 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:198
+#: 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"
@@ -1049,22 +838,22 @@ msgstr "Lean ar aghaidh go dtí an chéad chéim eile gan aon chuntas a leanúin
msgid "Cooking"
msgstr "Cócaireacht"
-#: src/view/com/modals/AddAppPasswords.tsx:196
-#: src/view/com/modals/InviteCodes.tsx:183
+#: 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:251
+#: src/view/screens/Settings/index.tsx:243
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: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 "Cóipeáilte sa ghearrthaisce"
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr "Cóipeáilte!"
+
#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr "Cóipeálann sé seo pasfhocal na haipe"
@@ -1075,28 +864,25 @@ msgstr "Cóipeáil"
#: src/view/com/modals/ChangeHandle.tsx:480
msgid "Copy {0}"
-msgstr ""
+msgstr "Cóipeáil {0}"
-#: src/view/screens/ProfileList.tsx:388
+#: src/components/dialogs/Embed.tsx:120 src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr "Cóipeáil an cód"
+
+#: 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:228
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240 src/view/com/util/forms/PostDropdownBtn.tsx:249
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:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230 src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "Cóipeáil téacs na postála"
-#: src/Navigation.tsx:246
-#: src/view/screens/CopyrightPolicy.tsx:29
+#: src/Navigation.tsx:247 src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "An polasaí maidir le cóipcheart"
@@ -1104,64 +890,47 @@ msgstr "An polasaí maidir le cóipcheart"
msgid "Could not load feed"
msgstr "Ní féidir an fotha a lódáil"
-#: src/view/screens/ProfileList.tsx:907
+#: 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/HomeLoggedOutCTA.tsx:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr "Cruthaigh cuntas nua Bluesky"
-#: src/screens/Signup/index.tsx:129
+#: 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 "Cruthaigh cuntas"
+
#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr "Cruthaigh pasfhocal aipe"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: 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:93
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
msgid "Create report for {0}"
-msgstr ""
+msgstr "Cruthaigh tuairisc do {0}"
#: 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
+#: src/view/com/auth/server-input/index.tsx:97 src/view/com/auth/server-input/index.tsx:99
msgid "Custom"
msgstr "Saincheaptha"
@@ -1169,21 +938,15 @@ msgstr "Saincheaptha"
msgid "Custom domain"
msgstr "Sainfhearann"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: 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 "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
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
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:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433 src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr "Dorcha"
@@ -1191,29 +954,27 @@ msgstr "Dorcha"
msgid "Dark mode"
msgstr "Modh dorcha"
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr "Téama Dorcha"
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
-msgstr ""
+msgstr "Dáta breithe"
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
-msgstr ""
+msgstr "Dífhabhtaigh Modhnóireacht"
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr "Painéal dífhabhtaithe"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
-#: src/view/screens/AppPasswords.tsx:268
-#: src/view/screens/ProfileList.tsx:613
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345 src/view/screens/AppPasswords.tsx:268 src/view/screens/ProfileList.tsx:615
msgid "Delete"
-msgstr ""
+msgstr "Scrios"
-#: src/view/screens/Settings/index.tsx:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "Scrios an cuntas"
@@ -1227,9 +988,9 @@ msgstr "Scrios pasfhocal na haipe"
#: src/view/screens/AppPasswords.tsx:263
msgid "Delete app password?"
-msgstr ""
+msgstr "Scrios pasfhocal na haipe?"
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Scrios an liosta"
@@ -1237,28 +998,23 @@ msgstr "Scrios an liosta"
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:808
+#: src/view/screens/Settings/index.tsx:767
msgid "Delete My Account…"
msgstr "Scrios mo chuntas…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:302
-#: src/view/com/util/forms/PostDropdownBtn.tsx:304
+#: src/view/com/util/forms/PostDropdownBtn.tsx:326 src/view/com/util/forms/PostDropdownBtn.tsx:328
msgid "Delete post"
msgstr "Scrios an phostáil"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:610
msgid "Delete this list?"
-msgstr ""
+msgstr "An bhfuil fonn ort an liosta seo a scriosadh?"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:314
+#: src/view/com/util/forms/PostDropdownBtn.tsx:340
msgid "Delete this post?"
msgstr "An bhfuil fonn ort an phostáil seo a scriosadh?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:64
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Scriosta"
@@ -1266,59 +1022,55 @@ msgstr "Scriosta"
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
+#: 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
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr "Ar mhaith leat rud éigin a rá?"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr "Breacdhorcha"
-#: src/lib/moderation/useLabelBehaviorDescription.ts:32
-#: src/lib/moderation/useLabelBehaviorDescription.ts:42
-#: src/lib/moderation/useLabelBehaviorDescription.ts:68
-#: src/screens/Moderation/index.tsx:341
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr "Ná seinn GIFanna go huathoibríoch"
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr "Ná húsáid 2FA trí ríomhphost"
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+msgstr "Ná húsáid aiseolas haptach"
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr "Ná húsáid creathadh"
+
+#: 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 ""
+msgstr "Díchumasaithe"
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
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
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
-msgstr ""
+msgstr "Faigh réidh leis an dréacht?"
-#: src/screens/Moderation/index.tsx:518
-#: src/screens/Moderation/index.tsx:522
+#: 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
+#: 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:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr "Aimsigh Fothaí Nua"
@@ -1332,56 +1084,30 @@ msgstr "Ainm Taispeána"
#: src/view/com/modals/ChangeHandle.tsx:397
msgid "DNS Panel"
-msgstr ""
+msgstr "Painéal DNS"
#: src/lib/moderation/useGlobalLabelStrings.ts:39
msgid "Does not include nudity."
-msgstr ""
+msgstr "Níl lomnochtacht ann."
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
-msgstr ""
+msgstr "Ní thosaíonn ná chríochnaíonn sé le fleiscín"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "Domain Value"
-msgstr ""
+msgstr "Luach an Fhearainn"
#: 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/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: 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"
+#: 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/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
+#: 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"
@@ -1389,20 +1115,11 @@ msgstr "Déanta"
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
+#: 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
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr "Scaoil anseo chun íomhánna a chur leis"
@@ -1412,7 +1129,7 @@ msgstr "De bharr pholasaí Apple, ní féidir ábhar do dhaoine fásta ar an nGr
#: src/view/com/modals/ChangeHandle.tsx:258
msgid "e.g. alice"
-msgstr ""
+msgstr "m.sh. cáit"
#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
@@ -1420,7 +1137,7 @@ msgstr "m.sh. Cáit Ní Dhuibhir"
#: src/view/com/modals/ChangeHandle.tsx:380
msgid "e.g. alice.com"
-msgstr ""
+msgstr "m.sh. cait.com"
#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
@@ -1428,7 +1145,7 @@ msgstr "m.sh. Ealaíontóir, File, Eolaí"
#: src/lib/moderation/useGlobalLabelStrings.ts:43
msgid "E.g. artistic nudes."
-msgstr ""
+msgstr "Noicht ealaíonta, mar shampla"
#: src/view/com/modals/CreateOrEditList.tsx:284
msgid "e.g. Great Posters"
@@ -1455,17 +1172,15 @@ msgctxt "action"
msgid "Edit"
msgstr "Eagar"
-#: src/view/com/util/UserAvatar.tsx:299
-#: src/view/com/util/UserBanner.tsx:85
+#: src/view/com/util/UserAvatar.tsx:301 src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
-msgstr ""
+msgstr "Cuir an t-abhatár in eagar"
-#: src/view/com/composer/photos/Gallery.tsx:144
-#: src/view/com/modals/EditImage.tsx:208
+#: 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:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Athraigh mionsonraí an liosta"
@@ -1473,9 +1188,7 @@ msgstr "Athraigh mionsonraí an liosta"
msgid "Edit Moderation List"
msgstr "Athraigh liosta na modhnóireachta"
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257 src/view/screens/Feeds.tsx:459 src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Athraigh mo chuid fothaí"
@@ -1483,18 +1196,15 @@ msgstr "Athraigh mo chuid fothaí"
msgid "Edit my profile"
msgstr "Athraigh mo phróifíl"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178 src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "Athraigh an phróifíl"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181 src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
msgid "Edit Profile"
msgstr "Athraigh an Phróifíl"
-#: 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 "Athraigh na fothaí sábháilte"
@@ -1514,17 +1224,19 @@ msgstr "Athraigh an cur síos ort sa phróifíl"
msgid "Education"
msgstr "Oideachas"
-#: src/screens/Signup/StepInfo/index.tsx:80
-#: src/view/com/modals/ChangeEmail.tsx:141
+#: src/screens/Signup/StepInfo/index.tsx:80 src/view/com/modals/ChangeEmail.tsx:141
msgid "Email"
msgstr "Ríomhphost"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr "Níl 2FA trí ríomhphost ar fáil a thuilleadh"
+
#: 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
+#: src/view/com/modals/ChangeEmail.tsx:56 src/view/com/modals/ChangeEmail.tsx:88
msgid "Email updated"
msgstr "Seoladh ríomhphoist uasdátaithe"
@@ -1532,41 +1244,47 @@ msgstr "Seoladh ríomhphoist uasdátaithe"
msgid "Email Updated"
msgstr "Seoladh ríomhphoist uasdátaithe"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr "Ríomhphost dearbhaithe"
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
msgid "Email:"
msgstr "Ríomhphost:"
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr "Leabaigh an cód HTML"
+
+#: src/components/dialogs/Embed.tsx:97 src/view/com/util/forms/PostDropdownBtn.tsx:257 src/view/com/util/forms/PostDropdownBtn.tsx:259
+msgid "Embed post"
+msgstr "Leabaigh an phostáil"
+
+#: 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 "Leabaigh an phostáil seo i do shuíomh gréasáin féin. Cóipeáil an píosa cóid seo a leanas isteach san HTML ar do shuíomh."
+
#: 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 ""
+msgstr "Cuir ábhar do dhaoine fásta ar fáil"
#: 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
+#: 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
+#: 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"
+msgstr "Cuir meáin sheachtracha ar fáil"
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr "Cuir seinnteoirí na meán ar fáil le haghaidh"
@@ -1576,13 +1294,13 @@ msgstr "Cuir an socrú seo ar siúl le gan ach freagraí i measc na ndaoine a le
#: src/components/dialogs/EmbedConsent.tsx:94
msgid "Enable this source only"
-msgstr ""
+msgstr "Cuir an foinse seo amháin ar fáil"
#: src/screens/Moderation/index.tsx:339
msgid "Enabled"
-msgstr ""
+msgstr "Cumasaithe"
-#: src/screens/Profile/Sections/Feed.tsx:84
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Deireadh an fhotha"
@@ -1592,14 +1310,13 @@ msgstr "Cuir isteach ainm don phasfhocal aipe seo"
#: src/screens/Login/SetNewPasswordForm.tsx:139
msgid "Enter a password"
-msgstr ""
+msgstr "Cuir pasfhocal isteach"
-#: src/components/dialogs/MutedWords.tsx:99
-#: src/components/dialogs/MutedWords.tsx:100
+#: src/components/dialogs/MutedWords.tsx:99 src/components/dialogs/MutedWords.tsx:100
msgid "Enter a word or tag"
-msgstr ""
+msgstr "Cuir focal na clib isteach"
-#: src/view/com/modals/VerifyEmail.tsx:105
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr "Cuir isteach an cód dearbhaithe"
@@ -1619,12 +1336,7 @@ msgstr "Cuir isteach an seoladh ríomhphoist a d’úsáid tú le do chuntas a c
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:91
+#: 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"
@@ -1636,10 +1348,6 @@ msgstr "Cuir isteach do sheoladh ríomhphoist nua thuas"
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"
@@ -1648,7 +1356,7 @@ msgstr "Cuir isteach do leasainm agus do phasfhocal"
msgid "Error receiving captcha response."
msgstr "Earráid agus an freagra ar an captcha á phróiseáil."
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Earráid:"
@@ -1658,11 +1366,11 @@ msgstr "Chuile dhuine"
#: src/lib/moderation/useReportOptions.ts:66
msgid "Excessive mentions or replies"
-msgstr ""
+msgstr "An iomarca tagairtí nó freagraí"
#: src/view/com/modals/DeleteAccount.tsx:230
msgid "Exits account deletion process"
-msgstr ""
+msgstr "Fágann sé seo próiseas scrios an chuntais"
#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
@@ -1670,69 +1378,57 @@ msgstr "Fágann sé seo athrú do leasainm"
#: src/view/com/modals/crop-image/CropImage.web.tsx:136
msgid "Exits image cropping process"
-msgstr ""
+msgstr "Fágann sé seo próiseas laghdú an íomhá"
#: 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
+#: 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: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 "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 ""
+msgstr "Meáin is féidir a bheith gáirsiúil nó goilliúnach."
#: src/lib/moderation/useGlobalLabelStrings.ts:35
msgid "Explicit sexual images."
-msgstr ""
+msgstr "Íomhánna gnéasacha."
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr "Easpórtáil mo chuid sonraí"
-#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/ExportCarDialog.tsx:44 src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr "Easpórtáil mo chuid sonraí"
-#: src/components/dialogs/EmbedConsent.tsx:55
-#: src/components/dialogs/EmbedConsent.tsx:59
+#: 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
+#: src/components/dialogs/EmbedConsent.tsx:71 src/view/screens/PreferencesExternalEmbeds.tsx:67
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:677
+#: src/Navigation.tsx:276 src/view/screens/PreferencesExternalEmbeds.tsx:53 src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr "Roghanna maidir le meáin sheachtracha"
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
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
+#: 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ú."
@@ -1740,20 +1436,23 @@ msgstr "Teip ar phasfhocal aipe a chruthú."
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:125
+#: 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:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+msgstr "Theip ar lódáil na GIFanna"
+
+#: 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 ""
+msgstr "Níor sábháladh an íomhá: {0}"
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr "Fotha"
@@ -1761,43 +1460,23 @@ msgstr "Fotha"
msgid "Feed by {0}"
msgstr "Fotha le {0}"
-#: src/view/screens/Feeds.tsx:605
+#: 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:314
+#: src/view/shell/desktop/RightNav.tsx:61 src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Aiseolas"
-#: src/Navigation.tsx:464
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
-#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: src/Navigation.tsx:465 src/view/screens/Feeds.tsx:444 src/view/screens/Feeds.tsx:549 src/view/screens/Profile.tsx:198 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: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 "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: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 "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."
@@ -1807,29 +1486,23 @@ 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 ""
+msgstr "Ábhar an Chomhaid"
#: src/lib/moderation/useLabelBehaviorDescription.ts:66
msgid "Filter from feeds"
-msgstr ""
+msgstr "Scag ó mo chuid fothaí"
#: 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
+#: 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:442
-msgid "Find users on Bluesky"
-msgstr "Aimsigh úsáideoirí ar Bluesky"
-
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr "Aimsigh úsáideoirí leis an uirlis chuardaigh ar dheis"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
+msgstr "Aimsigh postálacha agus úsáideoirí ar Bluesky"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
@@ -1837,11 +1510,7 @@ 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."
+msgstr "Mionathraigh an t-ábhar a fheiceann tú ar an bhfotha Following."
#: src/view/screens/PreferencesThreads.tsx:60
msgid "Fine-tune the discussion threads."
@@ -1859,16 +1528,11 @@ msgstr "Solúbtha"
msgid "Flip horizontal"
msgstr "Iompaigh go cothrománach é"
-#: src/view/com/modals/EditImage.tsx:121
-#: src/view/com/modals/EditImage.tsx:288
+#: 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:236
-#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189 src/screens/Profile/Header/ProfileHeaderStandard.tsx:233 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"
@@ -1877,16 +1541,13 @@ 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
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58 src/screens/Profile/Header/ProfileHeaderStandard.tsx:219 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
+#: src/view/com/profile/ProfileMenu.tsx:242 src/view/com/profile/ProfileMenu.tsx:253
msgid "Follow Account"
-msgstr ""
+msgstr "Lean an cuntas seo"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
@@ -1894,17 +1555,17 @@ msgstr "Lean iad uile"
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
msgid "Follow Back"
-msgstr ""
+msgstr "Lean Ar Ais"
#: 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: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 "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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr "Leanta ag {0}"
@@ -1916,43 +1577,35 @@ msgstr "Cuntais a leanann tú"
msgid "Followed users only"
msgstr "Cuntais a leanann tú amháin"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: 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
+#: src/view/com/profile/ProfileFollowers.tsx:104 src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr "Leantóirí"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
-#: src/view/com/profile/ProfileFollows.tsx:104
-#: src/view/screens/ProfileFollows.tsx:25
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231 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
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr "Ag leanúint {0}"
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
msgid "Following feed preferences"
-msgstr ""
+msgstr "Roghanna le haghaidh an fhotha Following"
-#: src/Navigation.tsx:262
-#: 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:562
+#: src/Navigation.tsx:263 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:514
msgid "Following Feed Preferences"
-msgstr ""
+msgstr "Roghanna don Fhotha Following"
#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
msgstr "Leanann sé/sí thú"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr "Leanann sé/sí thú"
@@ -1968,126 +1621,100 @@ msgstr "Ar chúiseanna slándála, beidh orainn cód dearbhaithe a chur chuig do
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
+#: src/screens/Login/index.tsx:129 src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "Pasfhocal dearmadta"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
-msgstr ""
+msgstr "Pasfhocal dearmadta?"
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
-msgstr ""
+msgstr "Dearmadta?"
#: src/lib/moderation/useReportOptions.ts:52
msgid "Frequently Posts Unwanted Content"
-msgstr ""
+msgstr "Is minic a phostálann siad ábhar nach bhfuil de dhíth"
-#: src/screens/Hashtag.tsx:109
-#: src/screens/Hashtag.tsx:149
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
-msgstr ""
+msgstr "Ó @{sanitizedAuthor}"
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "Ó <0/>"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "Gailearaí"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197 src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "Ar aghaidh leat anois!"
#: src/lib/moderation/useReportOptions.ts:37
msgid "Glaring violations of law or terms of service"
-msgstr ""
+msgstr "Deargshárú an dlí nó na dtéarmaí seirbhíse"
-#: 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:916
-#: src/view/shell/desktop/LeftNav.tsx:108
+#: 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:921
+#: src/components/Error.tsx:100 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:104
-#: src/screens/Onboarding/Layout.tsx:102
-#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: 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 ""
+msgstr "Abhaile"
#: src/view/screens/NotFound.tsx:54
msgid "Go Home"
-msgstr ""
+msgstr "Abhaile"
-#: src/view/screens/Search/Search.tsx:749
-#: src/view/shell/desktop/Search.tsx:263
+#: src/view/screens/Search/Search.tsx:827 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
+#: 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 ""
+msgstr "Meáin Ghrafacha"
#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "Leasainm"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr "Haptaic"
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
-msgstr ""
+msgstr "Ciapadh, trolláil, nó éadulaingt"
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
-msgstr ""
+msgstr "Haischlib"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
-msgstr ""
+msgstr "Haischlib: #{tag}"
-#: src/screens/Signup/index.tsx:217
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "Fadhb ort?"
-#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:324
+#: src/view/shell/desktop/RightNav.tsx:90 src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Cúnamh"
@@ -2107,46 +1734,31 @@ msgstr "Seo cúpla fotha a phléann le rudaí a bhfuil suim agat iontu: {interes
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:328
+#: 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:354
msgid "Hide"
msgstr "Cuir i bhfolach"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr "Cuir i bhfolach"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:278
+#: src/view/com/util/forms/PostDropdownBtn.tsx:298 src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr "Cuir an phostáil seo i bhfolach"
-#: src/components/moderation/ContentHider.tsx:67
-#: src/components/moderation/PostHider.tsx:64
+#: 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:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr "An bhfuil fonn ort an phostáil seo a chur i bhfolach?"
-#: src/view/com/notifications/FeedItem.tsx:319
+#: 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."
@@ -2169,35 +1781,21 @@ 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 ""
+msgstr "Hmmm, is cosúil go bhfuil fadhb againn le lódáil na sonraí seo. Féach thíos le haghaidh tuilleadh sonraí. Má mhaireann an fhadhb seo, téigh i dteagmháil linn, le do thoil."
#: src/screens/Profile/ErrorState.tsx:31
msgid "Hmmmm, we couldn't load that moderation service."
-msgstr ""
+msgstr "Hmmm, ní raibh muid in ann an tseirbhís modhnóireachta sin a lódáil."
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
-#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: src/Navigation.tsx:455 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 ""
+msgstr "Óstach:"
-#: 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
+#: src/screens/Login/ForgotPasswordForm.tsx:89 src/screens/Login/LoginForm.tsx:151 src/screens/Signup/StepInfo/index.tsx:40 src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr "Soláthraí óstála"
@@ -2205,11 +1803,11 @@ msgstr "Soláthraí óstála"
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
+#: src/view/com/modals/VerifyEmail.tsx:222 src/view/screens/Settings/DisableEmail2FADialog.tsx:132 src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "Tá cód agam"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr "Tá cód dearbhaithe agam"
@@ -2227,15 +1825,15 @@ 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 ""
+msgstr "Ní duine fásta thú de réir dhlí do thíre, tá ar do thuismitheoir nó do chaomhnóir dlíthiúil na Téarmaí seo a léamh ar do shon."
-#: src/view/screens/ProfileList.tsx:610
+#: src/view/screens/ProfileList.tsx:612
msgid "If you delete this list, you won't be able to recover it."
-msgstr ""
+msgstr "Má scriosann tú an liosta seo, ní bheidh tú in ann é a fháil ar ais."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:342
msgid "If you remove this post, you won't be able to recover it."
-msgstr ""
+msgstr "Má bhaineann tú an phostáil seo, ní bheidh tú in ann í a fháil ar ais."
#: 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."
@@ -2243,7 +1841,7 @@ msgstr "Más mian leat do phasfhocal a athrú, seolfaimid cód duit chun dearbh
#: src/lib/moderation/useReportOptions.ts:36
msgid "Illegal and Urgent"
-msgstr ""
+msgstr "Mídhleathach agus Práinneach"
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
@@ -2253,14 +1851,9 @@ msgstr "Íomhá"
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 ""
+msgstr "Pearsanú nó maíomh mícheart maidir le cé atá ann nó a gceangal"
#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
@@ -2270,14 +1863,6 @@ msgstr "Cuir isteach an cód a seoladh chuig do ríomhphost leis an bpasfhocal a
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"
@@ -2290,50 +1875,42 @@ msgstr "Cuir isteach an pasfhocal nua"
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:257
+msgid "Input the code which has been emailed to you"
+msgstr "Cuir isteach an cód a chuir muid chugat i dteachtaireacht r-phoist"
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr "Cuir isteach an pasfhocal ceangailte le {identifier}"
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
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
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr "Cuir isteach do phasfhocal"
#: src/view/com/modals/ChangeHandle.tsx:389
msgid "Input your preferred hosting provider"
-msgstr ""
+msgstr "Cuir isteach an soláthraí óstála is fearr leat"
-#: src/screens/Signup/StepHandle.tsx:62
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "Cuir isteach do leasainm"
-#: src/view/com/post-thread/PostThreadItem.tsx:221
+#: src/screens/Login/LoginForm.tsx:126 src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr "Tá an cód 2FA seo neamhbhailí."
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr "Taifead postála atá neamhbhailí nó gan bhunús"
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
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"
@@ -2350,10 +1927,6 @@ msgstr "Níor glacadh leis an gcód cuiridh. Bí cinnte gur scríobh tú i gcear
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"
@@ -2362,96 +1935,75 @@ msgstr "Cóid chuiridh: 1 ar fáil"
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/HomeLoggedOutCTA.tsx:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: 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 ""
+msgstr "cuireadh lipéad ar an {labelTarget} seo"
#: src/components/moderation/ContentHider.tsx:144
msgid "Labeled by {0}."
-msgstr ""
+msgstr "Lipéad curtha ag {0}."
#: src/components/moderation/ContentHider.tsx:142
msgid "Labeled by the author."
-msgstr ""
+msgstr "Lipéadaithe ag an údar."
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
-msgstr ""
+msgstr "Lipéid"
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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 ""
+msgstr "Nótaí faoi úsáideoirí nó ábhar is ea lipéid. Is féidir úsáid a bhaint astu leis an líonra a cheilt, a chatagóiriú, agus fainic a chur air."
#: src/components/moderation/LabelsOnMe.tsx:61
msgid "labels have been placed on this {labelTarget}"
-msgstr ""
+msgstr "cuireadh lipéid ar an {labelTarget}"
#: src/components/moderation/LabelsOnMeDialog.tsx:62
msgid "Labels on your account"
-msgstr ""
+msgstr "Lipéid ar do chuntas"
#: src/components/moderation/LabelsOnMeDialog.tsx:64
msgid "Labels on your content"
-msgstr ""
+msgstr "Lipéid ar do chuid ábhair"
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "Rogha teanga"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr "Socruithe teanga"
-#: src/Navigation.tsx:144
-#: src/view/screens/LanguageSettings.tsx:89
+#: src/Navigation.tsx:145 src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Socruithe teanga"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "Teangacha"
-#: src/view/com/auth/create/StepHeader.tsx:20
-#~ msgid "Last step!"
-#~ msgstr "An chéim dheireanach!"
-
-#: src/view/com/util/moderation/ContentHider.tsx:103
-#~ msgid "Learn more"
-#~ msgstr "Le tuilleadh a fhoghlaim"
+#: src/screens/Hashtag.tsx:99 src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr "Is Déanaí"
#: 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
+#: src/components/moderation/ContentHider.tsx:65 src/components/moderation/ContentHider.tsx:128
msgid "Learn more about the moderation applied to this content."
-msgstr ""
+msgstr "Foghlaim níos mó faoin modhnóireacht a dhéantar ar an ábhar seo."
-#: src/components/moderation/PostHider.tsx:85
-#: src/components/moderation/ScreenHider.tsx:125
+#: 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"
@@ -2461,7 +2013,7 @@ msgstr "Le tuilleadh a fhoghlaim faoi céard atá poiblí ar Bluesky"
#: src/components/moderation/ContentHider.tsx:152
msgid "Learn more."
-msgstr ""
+msgstr "Tuilleadh eolais."
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
@@ -2475,12 +2027,11 @@ msgstr "Ag fágáil slán ag Bluesky"
msgid "left to go."
msgstr "le déanamh fós."
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
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
+#: 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!"
@@ -2488,33 +2039,23 @@ msgstr "Socraímis do phasfhocal arís!"
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:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr "Sorcha"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Mol"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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
+#: src/components/LikesDialog.tsx:87 src/Navigation.tsx:202 src/Navigation.tsx:207
msgid "Liked by"
msgstr "Molta ag"
-#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
-#: src/view/screens/PostLikedBy.tsx:27
-#: src/view/screens/ProfileFeedLikedBy.tsx:27
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29 src/view/screens/PostLikedBy.tsx:27 src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
msgstr "Molta ag"
@@ -2524,31 +2065,29 @@ msgstr "Molta ag {0} {1}"
#: src/components/LabelingServiceCard/index.tsx:72
msgid "Liked by {count} {0}"
-msgstr ""
+msgstr "Molta ag {count} {0}"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "a mhol do shainfhotha"
-#: src/view/com/notifications/FeedItem.tsx:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "a mhol do phostáil"
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr "Moltaí"
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr "Moltaí don phostáil seo"
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr "Liosta"
@@ -2556,7 +2095,7 @@ msgstr "Liosta"
msgid "List Avatar"
msgstr "Abhatár an Liosta"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Liosta blocáilte"
@@ -2564,11 +2103,11 @@ msgstr "Liosta blocáilte"
msgid "List by {0}"
msgstr "Liosta le {0}"
-#: src/view/screens/ProfileList.tsx:355
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr "Scriosadh an liosta"
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr "Balbhaíodh an liosta"
@@ -2576,36 +2115,23 @@ msgstr "Balbhaíodh an liosta"
msgid "List Name"
msgstr "Ainm an liosta"
-#: src/view/screens/ProfileList.tsx:325
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Liosta díbhlocáilte"
-#: src/view/screens/ProfileList.tsx:297
+#: 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:189
-#: src/view/screens/Profile.tsx:195
-#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: src/Navigation.tsx:115 src/view/screens/Profile.tsx:193 src/view/screens/Profile.tsx:199 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:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86 src/view/com/feeds/FeedPage.tsx:134 src/view/screens/ProfileFeed.tsx:507 src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Lódáil postálacha nua"
@@ -2613,18 +2139,11 @@ msgstr "Lódáil postálacha nua"
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
+#: src/Navigation.tsx:222
msgid "Log"
msgstr "Logleabhar"
-#: 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 "Logáil amach"
@@ -2636,9 +2155,13 @@ msgstr "Feiceálacht le linn a bheith logáilte amach"
msgid "Login to account that is not listed"
msgstr "Logáil isteach ar chuntas nach bhfuil liostáilte"
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+msgstr "Brú fada le clár na clibe le haghaidh #{tag} a oscailt"
+
#: src/screens/Login/SetNewPasswordForm.tsx:116
msgid "Looks like XXXXX-XXXXX"
-msgstr ""
+msgstr "Tá cuma XXXXX-XXXXX air"
#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
@@ -2646,9 +2169,9 @@ 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 ""
+msgstr "Bainistigh do chuid clibeanna agus na focail a chuir tú i bhfolach"
-#: src/view/screens/Profile.tsx:192
+#: src/view/screens/AccessibilitySettings.tsx:89 src/view/screens/Profile.tsx:196
msgid "Media"
msgstr "Meáin"
@@ -2660,8 +2183,7 @@ msgstr "úsáideoirí luaite"
msgid "Mentioned users"
msgstr "Úsáideoirí luaite"
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89 src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "Clár"
@@ -2671,33 +2193,25 @@ msgstr "Teachtaireacht ón bhfreastalaí: {0}"
#: src/lib/moderation/useReportOptions.ts:45
msgid "Misleading Account"
-msgstr ""
+msgstr "Cuntas atá Míthreorach"
-#: src/Navigation.tsx:119
-#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
-#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: src/Navigation.tsx:120 src/screens/Moderation/index.tsx:104 src/view/screens/Settings/index.tsx:597 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 ""
+msgstr "Mionsonraí modhnóireachta"
-#: src/view/com/lists/ListCard.tsx:93
-#: src/view/com/modals/UserAddRemoveLists.tsx:206
+#: 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:789
+#: 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:787
+#: 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"
@@ -2713,107 +2227,93 @@ msgstr "Liosta modhnóireachta uasdátaithe"
msgid "Moderation lists"
msgstr "Liostaí modhnóireachta"
-#: src/Navigation.tsx:124
-#: src/view/screens/ModerationModlists.tsx:58
+#: src/Navigation.tsx:125 src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Liostaí modhnóireachta"
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr "Socruithe modhnóireachta"
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
-msgstr ""
+msgstr "Stádais modhnóireachta"
#: src/screens/Moderation/index.tsx:215
msgid "Moderation tools"
-msgstr ""
+msgstr "Uirlisí modhnóireachta"
-#: src/components/moderation/ModerationDetailsDialog.tsx:48
-#: src/lib/moderation/useModerationCauseDescription.ts:40
+#: 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:541
msgid "More"
-msgstr ""
+msgstr "Tuilleadh"
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "Tuilleadh fothaí"
-#: src/view/screens/ProfileList.tsx:599
+#: 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 ""
+msgstr "Cuir i bhfolach"
#: src/components/TagMenu/index.web.tsx:105
msgid "Mute {truncatedTag}"
-msgstr ""
+msgstr "Cuir {truncatedTag} i bhfolach"
-#: src/view/com/profile/ProfileMenu.tsx:279
-#: src/view/com/profile/ProfileMenu.tsx:286
+#: 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:518
+#: 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 ""
+msgstr "Cuir gach postáil {displayTag} i bhfolach"
#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
-msgstr ""
+msgstr "Ná cuir i bhfolach ach i gclibeanna"
#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
-msgstr ""
+msgstr "Cuir i bhfolach i dtéacs agus i gclibeanna"
-#: 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 "Cuir an liosta i bhfolach"
-#: src/view/screens/ProfileList.tsx:619
+#: 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 ""
+msgstr "Cuir an focal seo i bhfolach i dtéacs postálacha agus i gclibeanna"
#: src/components/dialogs/MutedWords.tsx:141
msgid "Mute this word in tags only"
-msgstr ""
+msgstr "Ná cuir an focal seo i bhfolach ach i gclibeanna"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:273 src/view/com/util/forms/PostDropdownBtn.tsx:279
msgid "Mute thread"
msgstr "Cuir an snáithe seo i bhfolach"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:289 src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
-msgstr ""
+msgstr "Cuir focail ⁊ clibeanna i bhfolach"
#: src/view/com/lists/ListCard.tsx:102
msgid "Muted"
@@ -2823,33 +2323,31 @@ msgstr "Curtha i bhfolach"
msgid "Muted accounts"
msgstr "Cuntais a cuireadh i bhfolach"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130 src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr "Cuntais a Cuireadh i bhFolach"
-#: 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 "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 ""
+msgstr "Curtha i bhfolach ag \"{0}\""
#: src/screens/Moderation/index.tsx:231
msgid "Muted words & tags"
-msgstr ""
+msgstr "Focail ⁊ clibeanna a cuireadh i bhfolach"
-#: 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 "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
+#: src/components/dialogs/BirthDateSettings.tsx:35 src/components/dialogs/BirthDateSettings.tsx:38
msgid "My Birthday"
msgstr "Mo Bhreithlá"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "Mo Chuid Fothaí"
@@ -2857,23 +2355,15 @@ msgstr "Mo Chuid Fothaí"
msgid "My Profile"
msgstr "Mo Phróifíl"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
-msgstr ""
+msgstr "Na fothaí a shábháil mé"
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
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
+#: src/view/com/modals/AddAppPasswords.tsx:180 src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
msgstr "Ainm"
@@ -2881,19 +2371,15 @@ msgstr "Ainm"
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
+#: 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 ""
+msgstr "Sáraíonn an tAinm nó an Cur Síos Caighdeáin an Phobail"
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr "Nádúr"
-#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
-#: src/view/com/modals/ChangePassword.tsx:168
+#: src/screens/Login/ForgotPasswordForm.tsx:173 src/screens/Login/LoginForm.tsx:303 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"
@@ -2901,17 +2387,11 @@ msgstr "Téann sé seo chuig an gcéad scáileán eile"
msgid "Navigates to your profile"
msgstr "Téann sé seo chuig do phróifíl"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
msgid "Need to report a copyright violation?"
-msgstr ""
+msgstr "An bhfuil tú ag iarraidh sárú cóipchirt a thuairisciú?"
-#: 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
+#: 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."
@@ -2921,7 +2401,7 @@ msgstr "Ná bíodh gan fáil ar do chuid leantóirí ná ar do chuid dáta go de
#: src/view/com/modals/ChangeHandle.tsx:519
msgid "Nevermind, create a handle for me"
-msgstr ""
+msgstr "Is cuma, cruthaigh leasainm dom"
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -2944,18 +2424,12 @@ msgstr "Pasfhocal Nua"
msgid "New Password"
msgstr "Pasfhocal Nua"
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
msgctxt "action"
msgid "New post"
msgstr "Postáil nua"
-#: src/view/screens/Feeds.tsx:555
-#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
-#: src/view/shell/desktop/LeftNav.tsx:252
+#: src/view/screens/Feeds.tsx:580 src/view/screens/Notifications.tsx:168 src/view/screens/Profile.tsx:465 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"
@@ -2976,16 +2450,7 @@ msgstr "Na freagraí is déanaí ar dtús"
msgid "News"
msgstr "Nuacht"
-#: src/screens/Login/ForgotPasswordForm.tsx:143
-#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
-#: src/screens/Login/SetNewPasswordForm.tsx:174
-#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
-#: src/view/com/modals/ChangePassword.tsx:253
-#: src/view/com/modals/ChangePassword.tsx:255
+#: src/screens/Login/ForgotPasswordForm.tsx:143 src/screens/Login/ForgotPasswordForm.tsx:150 src/screens/Login/LoginForm.tsx:302 src/screens/Login/LoginForm.tsx:309 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"
@@ -2998,57 +2463,55 @@ msgstr "Ar aghaidh"
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
+#: 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:562
-#: src/view/screens/ProfileList.tsx:769
+#: 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 ""
+msgstr "Gan Phainéal DNS"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
+msgstr "Níor aimsíodh GIFanna speisialta. D'fhéadfadh sé gur tharla fadhb le Tenor."
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr "Ní leantar {0} níos mó"
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
-msgstr ""
+msgstr "Gan a bheith níos faide na 253 charachtar"
#: 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
+#: 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
+#: src/components/Lists.tsx:192
msgid "No results found"
-msgstr ""
+msgstr "Gan torthaí"
-#: src/view/screens/Feeds.tsx:495
+#: 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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/com/modals/ListAddRemoveUsers.tsx:127 src/view/screens/Search/Search.tsx:350 src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "Gan torthaí ar {query}"
-#: src/components/dialogs/EmbedConsent.tsx:105
-#: src/components/dialogs/EmbedConsent.tsx:112
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr "Gan torthaí ar \"{search}\"."
+
+#: src/components/dialogs/EmbedConsent.tsx:105 src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
msgstr "Níor mhaith liom é sin."
@@ -3056,46 +2519,35 @@ msgstr "Níor mhaith liom é sin."
msgid "Nobody"
msgstr "Duine ar bith"
-#: src/components/LikedByList.tsx:79
-#: src/components/LikesDialog.tsx:99
+#: src/components/LikedByList.tsx:79 src/components/LikesDialog.tsx:99
msgid "Nobody has liked this yet. Maybe you should be the first!"
-msgstr ""
+msgstr "Níor mhol éinne fós é. Ar cheart duit tosú?"
#: src/lib/moderation/useGlobalLabelStrings.ts:42
msgid "Non-sexual Nudity"
-msgstr ""
+msgstr "Lomnochtacht Neamhghnéasach"
#: 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:99
+#: src/Navigation.tsx:110 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
+#: src/view/com/modals/VerifyEmail.tsx:254 src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr "Ní anois"
-#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/profile/ProfileMenu.tsx:368 src/view/com/util/forms/PostDropdownBtn.tsx:368 src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
-msgstr ""
+msgstr "Nóta faoi roinnt"
#: 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:469
-#: src/view/screens/Notifications.tsx:124
-#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
-#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/Navigation.tsx:470 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í"
@@ -3105,17 +2557,17 @@ msgstr "Lomnochtacht"
#: src/lib/moderation/useReportOptions.ts:71
msgid "Nudity or adult content not labeled as such"
-msgstr ""
+msgstr "Lomnochtacht nó ábhar do dhaoine fásta nach bhfuil an lipéad sin air"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
-msgstr ""
+msgstr "de"
#: src/lib/moderation/useLabelBehaviorDescription.ts:11
msgid "Off"
-msgstr ""
+msgstr "As"
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287 src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "Úps!"
@@ -3123,10 +2575,9 @@ msgstr "Úps!"
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:327
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126 src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
-msgstr ""
+msgstr "OK"
#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
@@ -3136,11 +2587,11 @@ msgstr "Maith go leor"
msgid "Oldest replies first"
msgstr "Na freagraí is sine ar dtús"
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr "Atosú an chláraithe"
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
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."
@@ -3148,17 +2599,15 @@ msgstr "Tá téacs malartach de dhíth ar íomhá amháin nó níos mó acu."
msgid "Only {0} can reply."
msgstr "Ní féidir ach le {0} freagra a thabhairt."
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
-msgstr ""
+msgstr "Níl ann ach litreacha, uimhreacha, agus fleiscíní"
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
-msgstr ""
+msgstr "Úps! Theip ar rud éigin!"
-#: src/components/Lists.tsx:170
-#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/components/Lists.tsx:177 src/view/screens/AppPasswords.tsx:67 src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Úps!"
@@ -3166,53 +2615,55 @@ msgstr "Úps!"
msgid "Open"
msgstr "Oscail"
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505 src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr "Oscail roghnóir na n-emoji"
-#: src/view/screens/ProfileFeed.tsx:300
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
-msgstr ""
+msgstr "Oscail roghchlár na bhfothaí"
-#: src/view/screens/Settings/index.tsx:734
+#: src/view/screens/Settings/index.tsx:686
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 ""
+msgstr "Oscail suíomhanna na gclibeanna agus na bhfocal a cuireadh i bhfolach"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Oscail an nascleanúint"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:183
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
-msgstr ""
+msgstr "Oscail roghchlár na bpostálacha"
-#: src/view/screens/Settings/index.tsx:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787 src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr "Oscail leathanach an Storybook"
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
-msgstr ""
+msgstr "Oscail logleabhar an chórais"
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr "Osclaíonn sé seo {numItems} rogha"
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr "Osclaíonn sé seo na socruithe inrochtaineachta"
+
#: 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:353
+#: 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
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr "Osclaíonn sé seo an ceamara ar an ngléas"
@@ -3220,125 +2671,95 @@ msgstr "Osclaíonn sé seo an ceamara ar an ngléas"
msgid "Opens composer"
msgstr "Osclaíonn sé seo an t-eagarthóir"
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
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
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
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:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr "Osclaíonn sé seo na socruithe le haghaidh leabuithe seachtracha"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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 ""
+msgstr "Osclaíonn sé seo an próiseas le cuntas nua Bluesky a chruthú"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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ú"
+msgstr "Osclaíonn sé seo an síniú isteach ar an gcuntas Bluesky atá agat cheana féin"
-#: src/view/screens/Settings.tsx:412
-#~ msgid "Opens invite code list"
-#~ msgstr "Osclaíonn sé seo liosta na gcód cuiridh"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr "Osclaíonn sé seo fuinneog chun GIF a roghnú"
#: 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:798
+#: src/view/screens/Settings/index.tsx:757
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."
+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:756
+#: src/view/screens/Settings/index.tsx:715
msgid "Opens modal for changing your Bluesky password"
-msgstr ""
+msgstr "Osclaíonn sé seo an fhuinneog le do phasfhocal Bluesky a athrú"
-#: src/view/screens/Settings/index.tsx:718
+#: src/view/screens/Settings/index.tsx:670
msgid "Opens modal for choosing a new Bluesky handle"
-msgstr ""
+msgstr "Osclaíonn sé seo an fhuinneog le leasainm nua Bluesky a roghnú"
-#: src/view/screens/Settings/index.tsx:779
+#: src/view/screens/Settings/index.tsx:738
msgid "Opens modal for downloading your Bluesky account data (repository)"
-msgstr ""
+msgstr "Osclaíonn sé seo an fhuinneog le stór sonraí do chuntais Bluesky a íoslódáil"
-#: src/view/screens/Settings/index.tsx:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
-msgstr ""
+msgstr "Osclaíonn sé seo fuinneog le deimhniú an ríomhphoist"
#: 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:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "Osclaíonn sé seo socruithe na modhnóireachta"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
msgid "Opens password reset form"
msgstr "Osclaíonn sé seo an fhoirm leis an bpasfhocal a athrú"
-#: 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 "Osclaíonn sé seo an scáileán leis na fothaí sábháilte a athrú"
-#: src/view/screens/Settings/index.tsx:597
+#: src/view/screens/Settings/index.tsx:549
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:696
+#: src/view/screens/Settings/index.tsx:648
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"
+msgstr "Osclaíonn sé seo an leathanach a bhfuil socruithe phasfhocal na haipe air"
-#: src/view/screens/Settings/index.tsx:554
+#: src/view/screens/Settings/index.tsx:506
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"
+msgstr "Osclaíonn sé seo roghanna don fhotha Following"
#: src/view/com/modals/LinkWarning.tsx:93
msgid "Opens the linked website"
-msgstr ""
+msgstr "Osclaíonn sé seo an suíomh gréasáin atá nasctha"
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788 src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr "Osclaíonn sé seo leathanach an Storybook"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "Osclaíonn sé seo logleabhar an chórais"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "Osclaíonn sé seo roghanna na snáitheanna"
@@ -3346,9 +2767,9 @@ msgstr "Osclaíonn sé seo roghanna na snáitheanna"
msgid "Option {0} of {numItems}"
msgstr "Rogha {0} as {numItems}"
-#: src/components/ReportDialog/SubmitView.tsx:162
+#: src/components/ReportDialog/SubmitView.tsx:160
msgid "Optionally provide additional information below:"
-msgstr ""
+msgstr "Is féidir tuilleadh eolais a chur ar fáil thíos:"
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
@@ -3356,22 +2777,17 @@ msgstr "Nó cuir na roghanna seo le chéile:"
#: src/lib/moderation/useReportOptions.ts:25
msgid "Other"
-msgstr ""
+msgstr "Eile"
#: 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
+#: src/components/Lists.tsx:193 src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Leathanach gan aimsiú"
@@ -3379,16 +2795,13 @@ msgstr "Leathanach gan aimsiú"
msgid "Page Not Found"
msgstr "Leathanach gan aimsiú"
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
-#: src/view/com/modals/DeleteAccount.tsx:194
-#: src/view/com/modals/DeleteAccount.tsx:201
+#: src/screens/Login/LoginForm.tsx:195 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 ""
+msgstr "Athraíodh an pasfhocal"
#: src/screens/Login/index.tsx:157
msgid "Password updated"
@@ -3398,11 +2811,19 @@ msgstr "Pasfhocal uasdátaithe"
msgid "Password updated!"
msgstr "Pasfhocal uasdátaithe!"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr "Sos"
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr "Daoine"
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr "Na daoine atá leanta ag @{0}"
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr "Na leantóirí atá ag @{0}"
@@ -3418,33 +2839,35 @@ msgstr "Ní bhfuarthas cead le rolla an cheamara a oscailt. Athraigh socruithe a
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:292
-#: src/view/screens/ProfileList.tsx:563
+#: 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:295
+#: src/view/screens/ProfileFeed.tsx:306
msgid "Pin to Home"
-msgstr ""
+msgstr "Greamaigh le Baile"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Fothaí greamaithe"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Play"
+msgstr "Seinn"
+
#: 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
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr "Seinn nó stop an GIF"
+
+#: 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"
@@ -3472,25 +2895,13 @@ msgstr "Dearbhaigh do ríomhphost roimh é a athrú. Riachtanas sealadach é seo
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."
+msgstr "Cuir focal, clib, nó frása inghlactha isteach le cur i bhfolach"
#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
@@ -3502,23 +2913,13 @@ 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."
+msgstr "Abair linn, le do thoil, cén fáth a gcreideann tú gur chuir {0} an lipéad 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
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr "Dearbhaigh do ríomhphost, le do thoil."
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
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."
@@ -3530,8 +2931,7 @@ msgstr "Polaitíocht"
msgid "Porn"
msgstr "Pornagrafaíocht"
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399 src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr "Postáil"
@@ -3541,17 +2941,15 @@ msgctxt "description"
msgid "Post"
msgstr "Postáil"
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr "Postáil ó {0}"
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177 src/Navigation.tsx:184 src/Navigation.tsx:191
msgid "Post by @{0}"
msgstr "Postáil ó @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:105
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Scriosadh an phostáil"
@@ -3559,15 +2957,13 @@ msgstr "Scriosadh an phostáil"
msgid "Post hidden"
msgstr "Cuireadh an phostáil i bhfolach"
-#: src/components/moderation/ModerationDetailsDialog.tsx:97
-#: src/lib/moderation/useModerationCauseDescription.ts:99
+#: src/components/moderation/ModerationDetailsDialog.tsx:97 src/lib/moderation/useModerationCauseDescription.ts:99
msgid "Post Hidden by Muted Word"
-msgstr ""
+msgstr "Postáil nach bhfuil le feiceáil de bharr focail a cuireadh i bhfolach"
-#: src/components/moderation/ModerationDetailsDialog.tsx:100
-#: src/lib/moderation/useModerationCauseDescription.ts:108
+#: src/components/moderation/ModerationDetailsDialog.tsx:100 src/lib/moderation/useModerationCauseDescription.ts:108
msgid "Post Hidden by You"
-msgstr ""
+msgstr "Postáil a chuir tú i bhfolach"
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
@@ -3577,22 +2973,21 @@ msgstr "Teanga postála"
msgid "Post Languages"
msgstr "Teangacha postála"
-#: src/view/com/post-thread/PostThread.tsx:152
-#: src/view/com/post-thread/PostThread.tsx:164
+#: 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 ""
+msgstr "postálacha"
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
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 ""
+msgstr "Is féidir postálacha a chuir i bhfolach de bharr a gcuid téacs, a gcuid clibeanna, nó an dá rud."
#: src/view/com/posts/FeedErrorMessage.tsx:64
msgid "Posts hidden"
@@ -3602,15 +2997,13 @@ msgstr "Cuireadh na postálacha i bhfolach"
msgid "Potentially Misleading Link"
msgstr "Is féidir go bhfuil an nasc seo míthreorach."
-#: src/components/forms/HostingProvider.tsx:45
+#: src/components/forms/HostingProvider.tsx:46
msgid "Press to change hosting provider"
-msgstr ""
+msgstr "Brúigh leis an soláthraí óstála a athrú"
-#: src/components/Error.tsx:74
-#: src/components/Lists.tsx:80
-#: src/screens/Signup/index.tsx:186
+#: src/components/Error.tsx:83 src/components/Lists.tsx:83 src/screens/Signup/index.tsx:187
msgid "Press to retry"
-msgstr ""
+msgstr "Brúigh le iarracht eile a dhéanamh"
#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
@@ -3624,16 +3017,11 @@ msgstr "Príomhtheanga"
msgid "Prioritize Your Follows"
msgstr "Tabhair Tosaíocht do Do Chuid Leantóirí"
-#: src/view/screens/Settings/index.tsx:652
-#: src/view/shell/desktop/RightNav.tsx:72
+#: src/view/screens/Settings/index.tsx:604 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:923
-#: src/view/shell/Drawer.tsx:265
+#: src/Navigation.tsx:232 src/screens/Signup/StepInfo/Policies.tsx:56 src/view/screens/PrivacyPolicy.tsx:29 src/view/screens/Settings/index.tsx:882 src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Polasaí príobháideachta"
@@ -3641,16 +3029,11 @@ msgstr "Polasaí príobháideachta"
msgid "Processing..."
msgstr "Á phróiseáil..."
-#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/DebugMod.tsx:888 src/view/screens/Profile.tsx:346
msgid "profile"
-msgstr ""
+msgstr "próifíl"
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
-#: src/view/shell/desktop/LeftNav.tsx:419
-#: src/view/shell/Drawer.tsx:70
-#: src/view/shell/Drawer.tsx:549
-#: src/view/shell/Drawer.tsx:550
+#: 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"
@@ -3658,7 +3041,7 @@ msgstr "Próifíl"
msgid "Profile updated"
msgstr "Próifíl uasdátaithe"
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "Dearbhaigh do ríomhphost le do chuntas a chosaint."
@@ -3674,11 +3057,11 @@ msgstr "Liostaí poiblí agus inroinnte d’úsáideoirí le cur i bhfolach nó
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
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr "Foilsigh an phostáil"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr "Foilsigh an freagra"
@@ -3704,42 +3087,33 @@ msgstr "Randamach"
msgid "Ratios"
msgstr "Cóimheasa"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
-msgstr ""
+msgstr "Cuardaigh a Rinneadh le Déanaí"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr "Fothaí molta"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: 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
+#: 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:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
-msgstr ""
+msgstr "Bain an tAbhatár Amach"
#: src/view/com/util/UserBanner.tsx:148
msgid "Remove Banner"
-msgstr ""
+msgstr "Bain an Fógra Meirge Amach"
#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
@@ -3747,49 +3121,37 @@ msgstr "Bain an fotha de"
#: src/view/com/posts/FeedErrorMessage.tsx:201
msgid "Remove feed?"
-msgstr ""
+msgstr "An bhfuil fonn ort an fotha a bhaint?"
-#: src/view/com/feeds/FeedSourceCard.tsx:173
-#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: 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 ""
+msgstr "É sin a bhaint de mo chuid fothaí?"
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "Bain an íomhá de"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
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 ""
+msgstr "Bain focal folaigh de do liosta"
#: 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?"
+msgstr "Bain an fotha seo de do chuid fothaí sábháilte"
-#: src/view/com/modals/ListAddRemoveUsers.tsx:199
-#: src/view/com/modals/UserAddRemoveLists.tsx:152
+#: src/view/com/modals/ListAddRemoveUsers.tsx:199 src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
msgstr "Baineadh den liosta é"
@@ -3797,15 +3159,15 @@ msgstr "Baineadh den liosta é"
msgid "Removed from my feeds"
msgstr "Baineadh de do chuid fothaí é"
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
-msgstr ""
+msgstr "Baineadh de do chuid fothaí é"
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr "Baineann sé seo an mhionsamhail réamhshocraithe de {0}"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr "Freagraí"
@@ -3813,7 +3175,7 @@ msgstr "Freagraí"
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
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr "Freagair"
@@ -3822,63 +3184,52 @@ msgstr "Freagair"
msgid "Reply Filters"
msgstr "Scagairí freagra"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
+#: src/view/com/post/Post.tsx:178 src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
-msgid "Reply to <0/>"
-msgstr "Freagra ar <0/>"
+msgid "Reply to <0><1/>0>"
+msgstr "Freagra ar <0><1/>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
+#: 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 ""
+msgstr "Tuairiscigh comhrá"
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: 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:429
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Déan gearán faoi liosta"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:292
-#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:316 src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "Déan gearán faoi phostáil"
#: src/components/ReportDialog/SelectReportOptionView.tsx:42
msgid "Report this content"
-msgstr ""
+msgstr "Déan gearán faoin ábhar seo"
#: src/components/ReportDialog/SelectReportOptionView.tsx:55
msgid "Report this feed"
-msgstr ""
+msgstr "Déan gearán faoin fhotha seo"
#: src/components/ReportDialog/SelectReportOptionView.tsx:52
msgid "Report this list"
-msgstr ""
+msgstr "Déan gearán faoin liosta seo"
#: src/components/ReportDialog/SelectReportOptionView.tsx:49
msgid "Report this post"
-msgstr ""
+msgstr "Déan gearán faoin phostáil seo"
#: src/components/ReportDialog/SelectReportOptionView.tsx:46
msgid "Report this user"
-msgstr ""
+msgstr "Déan gearán faoin úsáideoir seo"
-#: 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
+#: 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"
@@ -3887,8 +3238,7 @@ msgstr "Athphostáil"
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
+#: 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"
@@ -3896,44 +3246,46 @@ msgstr "Athphostáil nó luaigh postáil"
msgid "Reposted By"
msgstr "Athphostáilte ag"
-#: src/view/com/posts/FeedItem.tsx:197
+#: 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 "Athphostáilte ag <0><1/>0>"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: 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
+#: src/view/com/post-thread/PostThreadItem.tsx:188
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
+#: 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
+#: 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:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr "Bíodh téacs malartach ann roimh phostáil i gcónaí"
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr "Bíodh cód ríomhphoist ag teastáil chun logáil isteach"
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Riachtanach don soláthraí seo"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168 src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr "Athsheol an ríomhphost"
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Cód athshocraithe"
@@ -3942,12 +3294,7 @@ msgstr "Cód athshocraithe"
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:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817 src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr "Athshocraigh an próiseas cláraithe"
@@ -3955,76 +3302,48 @@ msgstr "Athshocraigh an próiseas cláraithe"
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:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807 src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr "Athshocraigh na roghanna"
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr "Athshocraíonn sé seo an clárú"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr "Athshocraíonn sé seo na roghanna"
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
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
+#: 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:193
-#: src/view/com/util/error/ErrorMessage.tsx:55
-#: src/view/com/util/error/ErrorScreen.tsx:72
+#: src/components/Error.tsx:88 src/components/Lists.tsx:94 src/screens/Login/LoginForm.tsx:282 src/screens/Login/LoginForm.tsx:289 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:917
+#: src/components/Error.tsx:95 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 ""
+msgstr "Filleann sé seo abhaile"
-#: src/view/screens/NotFound.tsx:58
-#: src/view/screens/ProfileFeed.tsx:113
+#: src/view/screens/NotFound.tsx:58 src/view/screens/ProfileFeed.tsx:113
msgid "Returns to previous page"
-msgstr ""
+msgstr "Filleann sé seo ar an leathanach roimhe seo"
-#: 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/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:346
-msgctxt "action"
+#: 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/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
+#: src/view/com/lightbox/Lightbox.tsx:132 src/view/com/modals/CreateOrEditList.tsx:346
+msgctxt "action"
msgid "Save"
msgstr "Sábháil"
@@ -4034,7 +3353,7 @@ msgstr "Sábháil an téacs malartach"
#: src/components/dialogs/BirthDateSettings.tsx:119
msgid "Save birthday"
-msgstr ""
+msgstr "Sábháil do bhreithlá"
#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
@@ -4048,22 +3367,21 @@ msgstr "Sábháil an leasainm nua"
msgid "Save image crop"
msgstr "Sábháil an pictiúr bearrtha"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: src/view/screens/ProfileFeed.tsx:347 src/view/screens/ProfileFeed.tsx:353
msgid "Save to my feeds"
-msgstr ""
+msgstr "Sábháil i mo chuid fothaí"
-#: src/view/screens/SavedFeeds.tsx:122
+#: 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 ""
+msgstr "Sábháilte i do rolla ceamara."
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
-msgstr ""
+msgstr "Sábháilte le mo chuid fothaí"
#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
@@ -4075,129 +3393,116 @@ 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 ""
+msgstr "Sábhálann sé seo na socruithe le haghaidh íomhánna a laghdú"
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
msgstr "Eolaíocht"
-#: src/view/screens/ProfileList.tsx:873
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Fill ar an mbarr"
-#: src/Navigation.tsx:459
-#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
-#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/Navigation.tsx:460 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:503 src/view/screens/Search/Search.tsx:748 src/view/screens/Search/Search.tsx:766 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:737
-#: src/view/shell/desktop/Search.tsx:256
+#: src/view/screens/Search/Search.tsx:815 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 ""
+msgstr "Lorg na postálacha uile le @{authorHandle} leis an gclib {displayTag}"
#: src/components/TagMenu/index.tsx:94
msgid "Search for all posts with tag {displayTag}"
-msgstr ""
+msgstr "Lorg na postálacha uile leis an gclib {displayTag}"
-#: src/view/com/auth/LoggedOut.tsx:105
-#: src/view/com/auth/LoggedOut.tsx:106
-#: src/view/com/modals/ListAddRemoveUsers.tsx:70
+#: 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/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr "Cuardaigh GIFanna"
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr "Cuardaigh Tenor"
+
#: 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 ""
+msgstr "Féach na postálacha {truncatedTag}"
#: src/components/TagMenu/index.web.tsx:83
msgid "See {truncatedTag} posts by user"
-msgstr ""
+msgstr "Féach na postálacha {truncatedTag} leis an úsáideoir"
#: src/components/TagMenu/index.tsx:128
msgid "See <0>{displayTag}0> posts"
-msgstr ""
+msgstr "Féach na postálacha <0>{displayTag}0>"
#: src/components/TagMenu/index.tsx:187
msgid "See <0>{displayTag}0> posts by this user"
-msgstr ""
+msgstr "Féach na postálacha <0>{displayTag}0> leis an úsáideoir seo"
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/com/notifications/FeedItem.tsx:419 src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr "Féach ar an bpróifíl"
+
+#: 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"
+msgstr "Roghnaigh cuntas"
#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "Roghnaigh ó chuntas atá ann"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr "Roghnaigh GIF"
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr "Roghnaigh GIF \"{0}\""
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
-msgstr ""
+msgstr "Roghnaigh teangacha"
#: src/components/ReportDialog/SelectLabelerView.tsx:30
msgid "Select moderator"
-msgstr ""
+msgstr "Roghnaigh modhnóir"
#: 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:135
+#: src/components/ReportDialog/SubmitView.tsx:133
msgid "Select the moderation service(s) to report to"
-msgstr ""
+msgstr "Roghnaigh na seirbhísí modhnóireachta le tuairisciú chuige"
#: 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"
@@ -4210,26 +3515,18 @@ msgstr "Roghnaigh na rudaí ba mhaith leat a fheiceáil (nó gan a fheiceáil),
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 ""
+msgstr "Roghnaigh teanga an téacs a thaispeánfar san aip."
-#: src/screens/Signup/StepInfo/index.tsx:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
-msgstr ""
+msgstr "Roghnaigh do dháta breithe"
#: 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."
@@ -4242,8 +3539,7 @@ msgstr "Roghnaigh do phríomhfhothaí algartamacha"
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
+#: src/view/com/modals/VerifyEmail.tsx:210 src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "Seol ríomhphost dearbhaithe"
@@ -4256,23 +3552,21 @@ msgctxt "action"
msgid "Send Email"
msgstr "Seol ríomhphost"
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: src/view/shell/Drawer.tsx:304 src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Seol aiseolas"
-#: 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 ""
-
-#: src/view/com/modals/report/SendReportButton.tsx:45
-#~ msgid "Send Report"
-#~ msgstr "Seol an tuairisc"
+msgstr "Seol an tuairisc"
#: src/components/ReportDialog/SelectLabelerView.tsx:44
msgid "Send report to {0}"
-msgstr ""
+msgstr "Seol an tuairisc chuig {0}"
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:119 src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
+msgstr "Seol ríomhphost dearbhaithe"
#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
@@ -4282,48 +3576,14 @@ msgstr "Seolann sé seo ríomhphost ina bhfuil cód dearbhaithe chun an cuntas a
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"
+msgstr "Socraigh do bhreithlá"
#: 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."
@@ -4340,13 +3600,9 @@ msgstr "Roghnaigh “Níl” chun athphostálacha a chur i bhfolach i d'fhotha."
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 ""
+msgstr "Roghnaigh “Tá” le samplaí ó do chuid fothaí sábháilte a thaispeáint in ”Á Leanúint”. Is gné thurgnamhach é seo."
#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
@@ -4356,56 +3612,43 @@ msgstr "Socraigh do chuntas"
msgid "Sets Bluesky username"
msgstr "Socraíonn sé seo d'ainm úsáideora ar Bluesky"
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
-msgstr ""
+msgstr "Roghnaíonn sé seo an modh dorcha"
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
-msgstr ""
+msgstr "Roghnaíonn sé seo an modh sorcha"
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
-msgstr ""
+msgstr "Roghnaíonn sé seo scéim dathanna an chórais"
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
-msgstr ""
+msgstr "Úsáideann sé seo an téama dorcha mar théama dorcha"
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
-msgstr ""
+msgstr "Úsáideann sé seo an téama breacdhorcha mar théama dorcha"
#: 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 ""
+msgstr "Socraíonn sé seo cóimheas treoíochta na híomhá go cearnógach"
#: src/view/com/modals/crop-image/CropImage.web.tsx:114
msgid "Sets image aspect ratio to tall"
-msgstr ""
+msgstr "Socraíonn sé seo cóimheas treoíochta na híomhá go hard"
#: src/view/com/modals/crop-image/CropImage.web.tsx:104
msgid "Sets image aspect ratio to wide"
-msgstr ""
+msgstr "Socraíonn sé seo cóimheas treoíochta na híomhá go leathan"
-#: 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:313
-#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/Navigation.tsx:140 src/view/screens/Settings/index.tsx:309 src/view/shell/desktop/LeftNav.tsx:437 src/view/shell/Drawer.tsx:576 src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Socruithe"
@@ -4415,47 +3658,34 @@ msgstr "Gníomhaíocht ghnéasach nó lomnochtacht gháirsiúil."
#: src/lib/moderation/useGlobalLabelStrings.ts:38
msgid "Sexually Suggestive"
-msgstr ""
+msgstr "Graosta"
#: 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:228
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/profile/ProfileMenu.tsx:215 src/view/com/profile/ProfileMenu.tsx:224 src/view/com/util/forms/PostDropdownBtn.tsx:240 src/view/com/util/forms/PostDropdownBtn.tsx:249 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:347
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/profile/ProfileMenu.tsx:373 src/view/com/util/forms/PostDropdownBtn.tsx:373 src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
-msgstr ""
+msgstr "Comhroinn mar sin féin"
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: 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
+#: src/view/com/modals/LinkWarning.tsx:89 src/view/com/modals/LinkWarning.tsx:95
msgid "Share Link"
-msgstr ""
+msgstr "Comhroinn Nasc"
#: src/view/com/modals/LinkWarning.tsx:92
msgid "Shares the linked website"
-msgstr ""
+msgstr "Roinneann sé seo na suíomh gréasáin atá nasctha"
-#: 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:363
+#: 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:359
msgid "Show"
msgstr "Taispeáin"
@@ -4463,31 +3693,23 @@ msgstr "Taispeáin"
msgid "Show all replies"
msgstr "Taispeáin gach freagra"
-#: src/components/moderation/ScreenHider.tsx:169
-#: src/components/moderation/ScreenHider.tsx:172
+#: 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
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27 src/lib/moderation/useLabelBehaviorDescription.ts:63
msgid "Show badge"
-msgstr ""
+msgstr "Taispeáin suaitheantas"
#: 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}"
+msgstr "Taispeáin suaitheantas agus scag ó na fothaí é"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr "Taispeáin cuntais cosúil le {0}"
-#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post-thread/PostThreadItem.tsx:507 src/view/com/post/Post.tsx:215 src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr "Tuilleadh"
@@ -4539,58 +3761,30 @@ msgstr "Taispeáin athphostálacha"
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
+#: 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:351
+#: 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 ""
+msgstr "Taispeáin rabhadh"
#: 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."
+msgstr "Taispeáin rabhadh agus scag ó na fothaí é"
#: 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/screens/Login/index.tsx:100
-#: src/screens/Login/index.tsx:119
-#: src/screens/Login/LoginForm.tsx:131
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
-#: src/view/shell/bottom-bar/BottomBar.tsx:301
-#: src/view/shell/bottom-bar/BottomBar.tsx:303
-#: 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:61
+#: 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:148 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:69 src/view/shell/NavSignupCard.tsx:70 src/view/shell/NavSignupCard.tsx:72
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}"
@@ -4599,37 +3793,31 @@ msgstr "Logáil isteach mar {0}"
msgid "Sign in as..."
msgstr "Logáil isteach mar..."
-#: src/view/com/auth/login/LoginForm.tsx:137
-#~ msgid "Sign into"
-#~ msgstr "Logáil isteach i"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr "Logáil isteach nó cláraigh chun páirt a ghlacadh sa chomhrá!"
-#: src/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr "Logáil isteach i Bluesky nó cruthaigh cuntas nua"
+
+#: src/view/screens/Settings/index.tsx:111 src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "Logáil amach"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
-#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
-#: 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/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:60 src/view/shell/NavSignupCard.tsx:61 src/view/shell/NavSignupCard.tsx:63
msgid "Sign up"
msgstr "Cláraigh"
-#: src/view/shell/NavSignupCard.tsx:42
+#: 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
+#: 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:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "Logáilte isteach mar"
@@ -4637,13 +3825,7 @@ msgstr "Logáilte isteach mar"
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
+#: 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"
@@ -4651,29 +3833,15 @@ msgstr "Ná bac leis"
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:76
+#: 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 ""
+msgstr "Chuaigh rud éigin ó rath. Bain triail eile as."
-#: 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:66
+#: 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."
@@ -4687,15 +3855,15 @@ msgstr "Sórtáil freagraí ar an bpostáil chéanna de réir:"
#: src/components/moderation/LabelsOnMeDialog.tsx:146
msgid "Source:"
-msgstr ""
+msgstr "Foinse:"
#: src/lib/moderation/useReportOptions.ts:65
msgid "Spam"
-msgstr ""
+msgstr "Turscar"
#: src/lib/moderation/useReportOptions.ts:53
msgid "Spam; excessive mentions or replies"
-msgstr ""
+msgstr "Turscar; an iomarca tagairtí nó freagraí"
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
@@ -4705,62 +3873,51 @@ msgstr "Spórt"
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:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "Leathanach stádais"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
-msgstr ""
+msgstr "Céim"
-#: 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:292
+#: src/view/screens/Settings/index.tsx:288
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:831
+#: src/Navigation.tsx:212 src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr "Storybook"
-#: src/components/moderation/LabelsOnMeDialog.tsx:255
-#: src/components/moderation/LabelsOnMeDialog.tsx:256
+#: src/components/moderation/LabelsOnMeDialog.tsx:255 src/components/moderation/LabelsOnMeDialog.tsx:256
msgid "Submit"
msgstr "Seol"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Liostáil"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: src/screens/Profile/Sections/Labels.tsx:191
msgid "Subscribe to @{0} to use these labels:"
-msgstr ""
+msgstr "Glac síntiús le @{0} leis na lipéid seo a úsáid:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
-msgstr ""
+msgstr "Glac síntiús le lipéadóir"
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
+#: 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:184
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
msgid "Subscribe to this labeler"
-msgstr ""
+msgstr "Glac síntiús leis an lipéadóir seo"
-#: src/view/screens/ProfileList.tsx:586
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "Liostáil leis an liosta seo"
-#: src/view/screens/Search/Search.tsx:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "Cuntais le leanúint"
@@ -4772,44 +3929,37 @@ msgstr "Molta duit"
msgid "Suggestive"
msgstr "Gáirsiúil"
-#: src/Navigation.tsx:226
-#: src/view/screens/Support.tsx:30
-#: src/view/screens/Support.tsx:33
+#: src/Navigation.tsx:227 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
+#: src/components/dialogs/SwitchAccount.tsx:47 src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "Athraigh an cuntas"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr "Athraigh go {0}"
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
msgid "Switches the account you are logged in to"
msgstr "Athraíonn sé seo an cuntas beo"
-#: src/view/screens/Settings/index.tsx:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr "Córas"
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "Logleabhar an chórais"
#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
-msgstr ""
+msgstr "clib"
#: src/components/TagMenu/index.tsx:78
msgid "Tag menu: {displayTag}"
-msgstr ""
+msgstr "Roghchlár na gclibeanna: {displayTag}"
#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
@@ -4827,48 +3977,41 @@ msgstr "Teic"
msgid "Terms"
msgstr "Téarmaí"
-#: src/Navigation.tsx:236
-#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
-#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/Navigation.tsx:237 src/screens/Signup/StepInfo/Policies.tsx:49 src/view/screens/Settings/index.tsx:876 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
+#: 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 ""
+msgstr "Sárú ar chaighdeáin an phobail atá sna téarmaí a úsáideadh"
#: src/components/dialogs/MutedWords.tsx:323
msgid "text"
-msgstr ""
+msgstr "téacs"
#: src/components/moderation/LabelsOnMeDialog.tsx:219
msgid "Text input field"
msgstr "Réimse téacs"
-#: src/components/ReportDialog/SubmitView.tsx:78
+#: src/components/ReportDialog/SubmitView.tsx:76
msgid "Thank you. Your report has been sent."
-msgstr ""
+msgstr "Go raibh maith agat. Seoladh do thuairisc."
#: src/view/com/modals/ChangeHandle.tsx:465
msgid "That contains the following:"
-msgstr ""
+msgstr "Ina bhfuil an méid seo a leanas:"
-#: src/screens/Signup/index.tsx:84
+#: 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:283
-#: src/view/com/profile/ProfileMenu.tsx:349
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280 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 ""
+msgstr "an t-údar"
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
@@ -4880,18 +4023,17 @@ 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 ""
+msgstr "Cuireadh na lipéid seo a leanas le do chuntas."
#: src/components/moderation/LabelsOnMeDialog.tsx:49
msgid "The following labels were applied to your content."
-msgstr ""
+msgstr "Cuireadh na lipéid seo a leanas le do chuid ábhair."
#: 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
+#: 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."
@@ -4911,8 +4053,7 @@ msgstr "Bogadh ár dTéarmaí Seirbhíse go dtí"
msgid "There are many feeds to try:"
msgstr "Tá a lán fothaí ann le blaiseadh:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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."
@@ -4920,22 +4061,19 @@ msgstr "Bhí fadhb ann maidir le dul i dteagmháil leis an bhfreastalaí. Seice
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:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+msgstr "Bhí fadhb ann maidir le teagmháil a dhéanamh le Tenor."
+
+#: 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
+#: 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í"
@@ -4951,14 +4089,13 @@ msgstr "Bhí fadhb ann maidir le postálacha a fháil. Tapáil anseo le triail e
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: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 "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:83
+#: src/components/ReportDialog/SubmitView.tsx:81
msgid "There was an issue sending your report. Please check your internet connection."
-msgstr ""
+msgstr "Níor seoladh do thuairisc. Seiceáil do nasc leis an idirlíon, le do thoil."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
@@ -4968,28 +4105,15 @@ msgstr "Bhí fadhb ann maidir le do chuid roghanna a shioncronú leis an bhfreas
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
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:103 src/screens/Profile/Header/ProfileHeaderStandard.tsx:125 src/screens/Profile/Header/ProfileHeaderStandard.tsx:139 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: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 "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
+#: src/components/dialogs/GifSelect.tsx:289 src/view/com/util/ErrorBoundary.tsx:57
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!"
@@ -4997,10 +4121,6 @@ msgstr "D’éirigh fadhb gan choinne leis an aip. Abair linn, le do thoil, má
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."
@@ -5015,22 +4135,21 @@ 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 ""
+msgstr "Cuirfear an t-achomharc seo chuig <0>{0}0>."
#: src/lib/moderation/useGlobalLabelStrings.ts:19
msgid "This content has been hidden by the moderators."
-msgstr ""
+msgstr "Chuir na modhnóirí an t-ábhar seo i bhfolach."
#: src/lib/moderation/useGlobalLabelStrings.ts:24
msgid "This content has received a general warning from moderators."
-msgstr ""
+msgstr "Chuir na modhnóirí foláireamh ginearálta leis an ábhar seo."
#: 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
+#: 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."
@@ -5038,21 +4157,15 @@ msgstr "Níl an t-ábhar seo le feiceáil toisc gur bhlocáil duine de na húsá
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 ""
+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 seo0>."
#: 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:50
-#: src/view/screens/ProfileFeed.tsx:477
-#: 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 "Tá an fotha seo folamh!"
@@ -5064,95 +4177,81 @@ msgstr "Tá an fotha seo folamh! Is féidir go mbeidh ort tuilleadh úsáideoir
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
+#: src/view/com/modals/VerifyEmail.tsx:127
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 ""
+msgstr "Cuireadh an lipéad seo ag {0}."
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: src/screens/Profile/Sections/Labels.tsx:178
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
-msgstr ""
+msgstr "Ní dúirt an lipéadóir seo céard iad na lipéid a fhoilsíonn sé, agus is féidir nach bhfuil sé i mbun gnó."
#: 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:853
+#: 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 ""
+msgstr "Níl an tseirbhís modhnóireachta ar fáil. Féach tuilleadh sonraí thíos. Má mhaireann an fhadhb seo, téigh i dteagmháil linn."
#: 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
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr "Scriosadh an phostáil seo."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370 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 ""
+msgstr "Níl an phostáil seo le feiceáil ach ag úsáideoirí atá logáilte isteach. Ní bheidh daoine nach bhfuil logáilte isteach in ann í a fheiceáil."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:352
msgid "This post will be hidden from feeds."
-msgstr ""
+msgstr "Ní bheidh an phostáil seo le feiceáil ar do chuid fothaí."
#: 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 ""
+msgstr "Níl an phróifíl seo le feiceáil ach ag úsáideoirí atá logáilte isteach. Ní bheidh daoine nach bhfuil logáilte isteach in ann í a fheiceáil."
#: src/screens/Signup/StepInfo/Policies.tsx:37
msgid "This service has not provided terms of service or a privacy policy."
-msgstr ""
+msgstr "Níor chuir an tseirbhís seo téarmaí seirbhíse ná polasaí príobháideachta ar fáil."
#: src/view/com/modals/ChangeHandle.tsx:445
msgid "This should create a domain record at:"
-msgstr ""
+msgstr "Ba cheart dó seo taifead fearainn a chruthú ag:"
#: src/view/com/profile/ProfileFollowers.tsx:87
msgid "This user doesn't have any followers."
-msgstr ""
+msgstr "Níl aon leantóirí ag an úsáideoir seo."
-#: src/components/moderation/ModerationDetailsDialog.tsx:72
-#: src/lib/moderation/useModerationCauseDescription.ts:68
+#: 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."
+msgstr "Is mian leis an úsáideoir seo nach mbeidh a chuid ábhair ar fáil ach d’úsáideoirí atá sínithe isteach."
#: src/components/moderation/ModerationDetailsDialog.tsx:55
msgid "This user is included in the <0>{0}0> list which you have blocked."
-msgstr ""
+msgstr "Tá an t-úsáideoir seo ar an liosta <0>{0}0> a bhlocáil tú."
#: 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."
+msgstr "Tá an t-úsáideoir seo ar an liosta <0>{0}0> a chuir tú i bhfolach."
#: src/view/com/profile/ProfileFollows.tsx:87
msgid "This user isn't following anyone."
-msgstr ""
+msgstr "Níl éinne á leanúint ag an úsáideoir seo."
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
@@ -5160,18 +4259,13 @@ msgstr "Níl an rabhadh seo ar fáil ach le haghaidh postálacha a bhfuil meáin
#: src/components/dialogs/MutedWords.tsx:283
msgid "This will delete {0} from your muted words. You can always add it back later."
-msgstr ""
+msgstr "Bainfidh sé seo {0} de do chuid focal i bhfolach. Tig leat é a chur ar ais níos déanaí."
-#: 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:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
-msgstr ""
+msgstr "Roghanna snáitheanna"
-#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/PreferencesThreads.tsx:53 src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "Roghanna Snáitheanna"
@@ -5179,17 +4273,21 @@ msgstr "Roghanna Snáitheanna"
msgid "Threaded Mode"
msgstr "Modh Snáithithe"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr "Roghanna Snáitheanna"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr "Chun 2FA trí ríomhphoist a dhíchumasú, dearbhaigh gur leatsa an seoladh ríomhphoist."
+
#: src/components/ReportDialog/SelectLabelerView.tsx:33
msgid "To whom would you like to send this report?"
-msgstr ""
+msgstr "Cé chuige ar mhaith leat an tuairisc seo a sheoladh?"
#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
-msgstr ""
+msgstr "Scoránaigh idir na roghanna maidir le focail atá le cur i bhfolach."
#: src/view/com/util/forms/DropdownButton.tsx:246
msgid "Toggle dropdown"
@@ -5197,16 +4295,17 @@ msgstr "Scoránaigh an bosca anuas"
#: src/screens/Moderation/index.tsx:332
msgid "Toggle to enable or disable adult content"
-msgstr ""
+msgstr "Scoránaigh le ábhar do dhaoine fásta a cheadú nó gan a cheadú"
+
+#: src/screens/Hashtag.tsx:88 src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr "Barr"
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Trasfhoirmithe"
-#: src/view/com/post-thread/PostThreadItem.tsx:644
-#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/post-thread/PostThreadItem.tsx:644 src/view/com/post-thread/PostThreadItem.tsx:646 src/view/com/util/forms/PostDropdownBtn.tsx:222 src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "Aistrigh"
@@ -5215,150 +4314,123 @@ msgctxt "action"
msgid "Try again"
msgstr "Bain triail eile as"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr "Fíordheimhniú déshraithe (2FA)"
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
-msgstr ""
+msgstr "Clóscríobh:"
-#: src/view/screens/ProfileList.tsx:478
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Díbhlocáil an liosta"
-#: src/view/screens/ProfileList.tsx:461
+#: 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:63
-#: src/view/com/modals/ChangePassword.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:74 src/screens/Login/index.tsx:78 src/screens/Login/LoginForm.tsx:136 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:287
-#: src/view/com/profile/ProfileMenu.tsx:361
-#: src/view/screens/ProfileList.tsx:572
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179 src/screens/Profile/Header/ProfileHeaderStandard.tsx:284 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
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr "Díbhlocáil"
-#: src/view/com/profile/ProfileMenu.tsx:299
-#: src/view/com/profile/ProfileMenu.tsx:305
+#: 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:281
-#: src/view/com/profile/ProfileMenu.tsx:343
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278 src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
-msgstr ""
+msgstr "An bhfuil fonn ort an cuntas seo a dhíbhlocáil?"
-#: 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
+#: 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:246
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141 src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
-msgstr ""
+msgstr "Dílean"
#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr "Dílean"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
msgid "Unfollow {0}"
msgstr "Dílean {0}"
-#: src/view/com/profile/ProfileMenu.tsx:241
-#: src/view/com/profile/ProfileMenu.tsx:251
+#: 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ú."
+msgstr "Dílean an cuntas seo"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Dímhol"
-#: src/view/screens/ProfileFeed.tsx:573
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Unlike this feed"
-msgstr ""
+msgstr "Dímhol an fotha seo"
-#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:579
+#: 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 ""
+msgstr "Ná coinnigh {truncatedTag} i bhfolach"
-#: src/view/com/profile/ProfileMenu.tsx:278
-#: src/view/com/profile/ProfileMenu.tsx:284
+#: 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 ""
+msgstr "Ná coinnigh aon phostáil {displayTag} i bhfolach"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:273 src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "Ná coinnigh an snáithe seo i bhfolach níos mó"
-#: src/view/screens/ProfileFeed.tsx:295
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:306 src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Díghreamaigh"
-#: src/view/screens/ProfileFeed.tsx:292
+#: src/view/screens/ProfileFeed.tsx:303
msgid "Unpin from home"
-msgstr ""
+msgstr "Díghreamaigh ón mbaile"
-#: src/view/screens/ProfileList.tsx:444
+#: 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:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
-msgstr ""
+msgstr "Díliostáil"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
-msgstr ""
+msgstr "Díliostáil ón lipéadóir seo"
#: src/lib/moderation/useReportOptions.ts:70
msgid "Unwanted Sexual Content"
-msgstr ""
+msgstr "Ábhar graosta nach mian liom"
#: 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 ""
+msgstr "Déan uasdátú go {handle}"
#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
@@ -5368,28 +4440,21 @@ msgstr "Á uasdátú…"
msgid "Upload a text file to:"
msgstr "Uaslódáil comhad téacs chuig:"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
-#: src/view/com/util/UserBanner.tsx:116
-#: src/view/com/util/UserBanner.tsx:119
+#: 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 ""
+msgstr "Uaslódáil ó Cheamara"
-#: src/view/com/util/UserAvatar.tsx:343
-#: src/view/com/util/UserBanner.tsx:133
+#: src/view/com/util/UserAvatar.tsx:345 src/view/com/util/UserBanner.tsx:133
msgid "Upload from Files"
-msgstr ""
+msgstr "Uaslódáil ó Chomhaid"
-#: src/view/com/util/UserAvatar.tsx:337
-#: src/view/com/util/UserAvatar.tsx:341
-#: src/view/com/util/UserBanner.tsx:127
-#: src/view/com/util/UserBanner.tsx:131
+#: 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 ""
+msgstr "Uaslódáil ó Leabharlann"
#: src/view/com/modals/ChangeHandle.tsx:408
msgid "Use a file on your server"
-msgstr ""
+msgstr "Bain úsáid as comhad ar do fhreastalaí"
#: 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."
@@ -5397,46 +4462,39 @@ msgstr "Bain úsáid as pasfhocail na haipe le logáil isteach ar chliaint eile
#: src/view/com/modals/ChangeHandle.tsx:517
msgid "Use bsky.social as hosting provider"
-msgstr ""
+msgstr "Bain feidhm as bsky.social mar sholáthraí óstála"
#: 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
+#: 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
+#: 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 ""
+msgstr "Bain feidhm as an bpainéal DNS"
#: 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
+#: 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 ""
+msgstr "Úsáideoir blocáilte ag \"{0}\""
#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
@@ -5444,28 +4502,21 @@ msgstr "Úsáideoir blocáilte le liosta"
#: src/lib/moderation/useModerationCauseDescription.ts:66
msgid "User Blocking You"
-msgstr ""
+msgstr "Úsáideoir a bhlocálann thú"
#: 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
+#: 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:777
+#: 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:775
+#: 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"
@@ -5481,11 +4532,11 @@ msgstr "Liosta úsáideoirí uasdátaithe"
msgid "User Lists"
msgstr "Liostaí Úsáideoirí"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "Ainm úsáideora nó ríomhphost"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "Úsáideoirí"
@@ -5499,44 +4550,39 @@ msgstr "Úsáideoirí in ”{0}“"
#: src/components/LikesDialog.tsx:85
msgid "Users that have liked this content or profile"
-msgstr ""
+msgstr "Úsáideoirí ar thaitin an t-ábhar nó an próifíl seo leo"
#: 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"
+msgstr "Luach:"
#: src/view/com/modals/ChangeHandle.tsx:509
msgid "Verify {0}"
-msgstr ""
+msgstr "Dearbhaigh {0}"
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "Dearbhaigh ríomhphost"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "Dearbhaigh mo ríomhphost"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "Dearbhaigh Mo Ríomhphost"
-#: src/view/com/modals/ChangeEmail.tsx:205
-#: src/view/com/modals/ChangeEmail.tsx:207
+#: 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
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr "Dearbhaigh Do Ríomhphost"
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
-msgstr ""
+msgstr "Leagan {0}"
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
@@ -5550,13 +4596,13 @@ msgstr "Féach ar an abhatár atá ag {0}"
msgid "View debug entry"
msgstr "Féach ar an iontráil dífhabhtaithe"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
-msgstr ""
+msgstr "Féach ar shonraí"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
-msgstr ""
+msgstr "Féach ar shonraí maidir le sárú cóipchirt a thuairisciú"
#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
@@ -5564,9 +4610,9 @@ msgstr "Féach ar an snáithe iomlán"
#: src/components/moderation/LabelsOnMe.tsx:51
msgid "View information about these labels"
-msgstr ""
+msgstr "Féach ar eolas faoi na lipéid seo"
-#: src/view/com/posts/FeedErrorMessage.tsx:166
+#: src/components/ProfileHoverCard/index.web.tsx:379 src/components/ProfileHoverCard/index.web.tsx:408 src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Féach ar an bpróifíl"
@@ -5576,39 +4622,31 @@ msgstr "Féach ar an abhatár"
#: src/components/LabelingServiceCard/index.tsx:140
msgid "View the labeling service provided by @{0}"
-msgstr ""
+msgstr "Féach ar an tseirbhís lipéadaithe atá curtha ar fáil ag @{0}"
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
-msgstr ""
+msgstr "Féach ar úsáideoirí ar thaitin an fotha seo leo"
-#: src/view/com/modals/LinkWarning.tsx:89
-#: src/view/com/modals/LinkWarning.tsx:95
+#: 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
+#: 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 ""
+msgstr "Tabhair foláireamh faoi ábhar"
#: 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:"
+msgstr "Tabhair foláireamh faoi ábhar agus scag as fothaí"
-#: src/screens/Hashtag.tsx:133
+#: src/screens/Hashtag.tsx:210
msgid "We couldn't find any results for that hashtag."
-msgstr ""
+msgstr "Níor aimsigh muid toradh ar bith don haischlib sin."
#: src/screens/Deactivated.tsx:133
msgid "We estimate {estimatedTime} until your account is ready."
@@ -5622,13 +4660,9 @@ msgstr "Tá súil againn go mbeidh an-chraic agat anseo. Ná déan dearmad go bh
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 ""
+msgstr "Molaimid focail choitianta a bhíonn i go leor póstálacha a sheachaint, toisc gur féidir nach dtaispeánfaí aon phostáil dá bharr."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
@@ -5636,11 +4670,11 @@ 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 ""
+msgstr "Theip orainn do rogha maidir le dáta breithe a lódáil. Bain triail as arís."
#: src/screens/Moderation/index.tsx:385
msgid "We were unable to load your configured labelers at this time."
-msgstr ""
+msgstr "Theip orainn na lipéadóirí a roghnaigh tú a lódáil faoi láthair."
#: 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."
@@ -5650,38 +4684,33 @@ msgstr "Níorbh fhéidir linn ceangal a bhunú. Bain triail eile as do chuntas a
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:130
+#: 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: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 "Á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 ""
+msgstr "Tá brón orainn, ach theip orainn na focail a chuir tú i bhfolach a lódáil an uair seo. Bain triail as arís."
-#: src/view/screens/Search/Search.tsx:256
+#: src/view/screens/Search/Search.tsx:323
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
+#: src/components/Lists.tsx:197 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:321
+#: 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 ""
+msgstr "Tá brón orainn! Ní féidir síntiúis a ghlacadh ach le deich lipéadóir, tá an teorainn sin sroichte agat."
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
@@ -5691,13 +4720,7 @@ msgstr "Fáilte go <0>Bluesky0>"
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:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40 src/view/com/auth/SplashScreen.web.tsx:81 src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr "Aon scéal?"
@@ -5709,41 +4732,39 @@ msgstr "Cad iad na teangacha sa phostáil seo?"
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
+#: 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 ""
+msgstr "Cén fáth gur cheart athbhreithniú a dhéanamh ar an t-ábhar seo?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:56
msgid "Why should this feed be reviewed?"
-msgstr ""
+msgstr "Cén fáth gur cheart athbhreithniú a dhéanamh ar an bhfotha seo?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:53
msgid "Why should this list be reviewed?"
-msgstr ""
+msgstr "Cén fáth gur cheart athbhreithniú a dhéanamh ar an liosta seo?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:50
msgid "Why should this post be reviewed?"
-msgstr ""
+msgstr "Cén fáth gur cheart athbhreithniú a dhéanamh ar an bpostáil seo?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:47
msgid "Why should this user be reviewed?"
-msgstr ""
+msgstr "Cén fáth gur cheart athbhreithniú a dhéanamh ar an úsáideoir seo?"
#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "Leathan"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "Scríobh postáil"
-#: src/view/com/composer/Composer.tsx:295
-#: src/view/com/composer/Prompt.tsx:37
+#: src/view/com/composer/Composer.tsx:305 src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Scríobh freagra"
@@ -5751,67 +4772,47 @@ msgstr "Scríobh freagra"
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
+#: 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 ""
+msgstr "Níl éinne á leanúint agat."
-#: src/view/com/posts/FollowingEmptyState.tsx:67
-#: src/view/com/posts/FollowingEndOfFeed.tsx:68
+#: 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
+#: 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 ""
+msgstr "Níl aon leantóir agat."
#: 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:102
+#: 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:452
+#: 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:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr "Níl aon fhothaí sábháilte agat."
@@ -5819,98 +4820,75 @@ msgstr "Níl aon fhothaí sábháilte agat."
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
+#: 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
+#: 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 ""
+msgstr "Chuir tú an phostáil seo i bhfolach"
#: src/components/moderation/ModerationDetailsDialog.tsx:101
msgid "You have hidden this post."
-msgstr ""
+msgstr "Chuir tú an phostáil seo i bhfolach."
-#: src/components/moderation/ModerationDetailsDialog.tsx:94
-#: src/lib/moderation/useModerationCauseDescription.ts:92
+#: src/components/moderation/ModerationDetailsDialog.tsx:94 src/lib/moderation/useModerationCauseDescription.ts:92
msgid "You have muted this account."
-msgstr ""
+msgstr "Chuir tú an cuntas seo i bhfolach."
#: 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."
+msgstr "Chuir tú an t-úsáideoir seo i bhfolach"
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: 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:140
+#: 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:132
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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."
+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:131
+#: 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."
+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 seo i bhfolach” ar an gclár ansin."
#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
-msgstr ""
+msgstr "Níor chuir tú aon fhocal ná clib i bhfolach fós"
#: src/components/moderation/LabelsOnMeDialog.tsx:68
msgid "You may appeal these labels if you feel they were placed in error."
-msgstr ""
+msgstr "Is féidir leat achomharc a dhéanamh maidir leis na lipéad seo má shíleann tú gur cuireadh in earráid iad."
#: 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."
+msgstr "Caithfidh tú a bheith 13 bliana d’aois nó níos sine le clárú."
#: 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:205
+#: src/components/ReportDialog/SubmitView.tsx:203
msgid "You must select at least one labeler for a report"
-msgstr ""
+msgstr "Caithfidh tú ar a laghad lipéadóir amháin a roghnú do thuairisc"
-#: 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 "Ní bhfaighidh tú fógraí don snáithe seo a thuilleadh."
-#: 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 "Gheobhaidh tú fógraí don snáithe seo anois."
@@ -5922,9 +4900,7 @@ msgstr "Gheobhaidh tú teachtaireacht ríomhphoist le “cód athshocraithe” a
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
+#: 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"
@@ -5932,16 +4908,15 @@ msgstr "Tá tú sa scuaine"
msgid "You're ready to go!"
msgstr "Tá tú réidh!"
-#: src/components/moderation/ModerationDetailsDialog.tsx:98
-#: src/lib/moderation/useModerationCauseDescription.ts:101
+#: 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 ""
+msgstr "Roghnaigh tú focal nó clib atá sa phostáil seo a chur i bhfolach."
#: 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:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Do chuntas"
@@ -5953,7 +4928,7 @@ msgstr "Scriosadh do chuntas"
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:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Do bhreithlá"
@@ -5965,21 +4940,15 @@ msgstr "Sábhálfar do rogha, ach is féidir é athrú níos déanaí sna socrui
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
+#: 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
+#: src/view/com/modals/VerifyEmail.tsx:122
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 é."
@@ -5987,7 +4956,7 @@ msgstr "Níor dearbhaíodh do sheoladh ríomhphoist fós. Is tábhachtach an ch
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:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Do leasainm iomlán anseo:"
@@ -5995,37 +4964,67 @@ msgstr "Do leasainm iomlán anseo:"
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 ""
+msgstr "Na focail a chuir tú i bhfolach"
#: 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
+#: src/view/com/composer/Composer.tsx:294
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
+#: 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:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "Do phróifíl"
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr "Foilsíodh do fhreagra"
-#: src/screens/Signup/index.tsx:152
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
msgstr "Do leasainm"
+
+#: 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/RichText.tsx:198
+#~ msgid "Click here to open tag menu for #{tag}"
+#~ msgstr "Cliceáil anseo le clár na clibe le haghaidh #{tag} a oscailt"
+
+#: 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/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/post/Post.tsx:177 src/view/com/posts/FeedItem.tsx:285
+#~ msgctxt "description"
+#~ msgid "Reply to <0/>"
+#~ msgstr "Freagra ar <0/>"
+
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Athphostáilte ag <0/>"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "Féach an chéad rud eile"
diff --git a/src/locale/locales/hi/messages.po b/src/locale/locales/hi/messages.po
index 437ecb2628..edbf44baea 100644
--- a/src/locale/locales/hi/messages.po
+++ b/src/locale/locales/hi/messages.po
@@ -13,7 +13,7 @@ msgstr ""
"Language-Team: \n"
"Plural-Forms: \n"
-#: src/view/com/modals/VerifyEmail.tsx:142
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr ""
@@ -21,6 +21,7 @@ msgstr ""
#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
#~ msgstr ""
+#: src/components/ProfileHoverCard/index.web.tsx:438
#: 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:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr ""
@@ -51,15 +52,20 @@ msgstr ""
msgid "<0>{0}0> following"
msgstr ""
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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>"
@@ -71,10 +77,14 @@ msgstr "<0>कुछ0><1>पसंदीदा उपयोगकर्ता
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr ""
-#: src/screens/Profile/Header/Handle.tsx:42
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr ""
+#: src/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr ""
+
#: src/view/com/util/moderation/LabelInfo.tsx:45
#~ msgid "A content warning has been applied to this {0}."
#~ msgstr ""
@@ -83,27 +93,36 @@ 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:649
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
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:300
-#: src/view/screens/Settings/index.tsx:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "प्रवेर्शयोग्यता"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr ""
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr ""
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "अकाउंट"
@@ -136,7 +155,7 @@ msgstr "अकाउंट के विकल्प"
msgid "Account removed from quick access"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr ""
@@ -153,7 +172,7 @@ msgstr ""
#: 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:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "ऐड करो"
@@ -161,13 +180,13 @@ 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/components/dialogs/SwitchAccount.tsx:55
-#: src/view/screens/Settings/index.tsx:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr "अकाउंट जोड़ें"
@@ -193,12 +212,12 @@ msgstr ""
#~ msgstr "रिपोर्ट करने के लिए विवरण जोड़ें"
#: src/view/com/composer/Composer.tsx:467
-msgid "Add link card"
-msgstr "लिंक कार्ड जोड़ें"
+#~ msgid "Add link card"
+#~ msgstr "लिंक कार्ड जोड़ें"
#: src/view/com/composer/Composer.tsx:472
-msgid "Add link card:"
-msgstr "लिंक कार्ड जोड़ें:"
+#~ msgid "Add link card:"
+#~ msgstr "लिंक कार्ड जोड़ें:"
#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
@@ -257,11 +276,11 @@ msgid "Adult content is disabled."
msgstr ""
#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
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 ""
@@ -279,6 +298,7 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "वैकल्पिक पाठ"
@@ -286,7 +306,8 @@ msgstr "वैकल्पिक पाठ"
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
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
msgstr "{0} को ईमेल भेजा गया है। इसमें एक OTP कोड शामिल है जिसे आप नीचे दर्ज कर सकते हैं।।"
@@ -294,10 +315,16 @@ 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/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr ""
+
#: 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
@@ -305,7 +332,7 @@ msgstr ""
msgid "An issue occurred, please try again."
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "और"
@@ -314,6 +341,10 @@ msgstr "और"
msgid "Animals"
msgstr ""
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
msgstr ""
@@ -334,7 +365,7 @@ msgstr ""
msgid "App Password names must be at least 4 characters long."
msgstr ""
-#: src/view/screens/Settings/index.tsx:695
+#: src/view/screens/Settings/index.tsx:647
msgid "App password settings"
msgstr ""
@@ -342,9 +373,9 @@ msgstr ""
#~ msgid "App passwords"
#~ msgstr "ऐप पासवर्ड"
-#: src/Navigation.tsx:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "ऐप पासवर्ड"
@@ -378,7 +409,7 @@ msgstr ""
#~ msgid "Appeal this decision."
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "दिखावट"
@@ -390,7 +421,7 @@ msgstr "क्या आप वाकई ऐप पासवर्ड \"{name}\"
msgid "Are you sure you want to remove {0} from your feeds?"
msgstr ""
-#: src/view/com/composer/Composer.tsx:509
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr "क्या आप वाकई इस ड्राफ्ट को हटाना करना चाहेंगे?"
@@ -414,7 +445,7 @@ msgstr ""
msgid "Artistic or non-erotic nudity."
msgstr "कलात्मक या गैर-कामुक नग्नता।।"
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
msgstr ""
@@ -424,13 +455,13 @@ msgstr ""
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr "वापस"
@@ -443,7 +474,7 @@ msgstr "वापस"
msgid "Based on your interest in {interestsText}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "मूल बातें"
@@ -451,11 +482,11 @@ msgstr "मूल बातें"
msgid "Birthday"
msgstr "जन्मदिन"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr "जन्मदिन:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
msgstr ""
@@ -469,16 +500,16 @@ 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 "खाता ब्लॉक करें?"
@@ -487,7 +518,7 @@ msgstr "खाता ब्लॉक करें?"
#~ 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 ""
@@ -495,8 +526,8 @@ msgstr ""
msgid "Blocked accounts"
msgstr "ब्लॉक किए गए खाते"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "ब्लॉक किए गए खाते"
@@ -504,7 +535,7 @@ 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:120
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 "अवरुद्ध खाते आपके थ्रेड्स में उत्तर नहीं दे सकते, आपका उल्लेख नहीं कर सकते, या अन्यथा आपके साथ बातचीत नहीं कर सकते। आप उनकी सामग्री नहीं देख पाएंगे और उन्हें आपकी सामग्री देखने से रोका जाएगा।"
@@ -512,11 +543,11 @@ msgstr "अवरुद्ध खाते आपके थ्रेड्स
msgid "Blocked post."
msgstr "ब्लॉक पोस्ट।"
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: 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 "अवरोधन सार्वजनिक है. अवरुद्ध खाते आपके थ्रेड्स में उत्तर नहीं दे सकते, आपका उल्लेख नहीं कर सकते, या अन्यथा आपके साथ बातचीत नहीं कर सकते।"
@@ -524,12 +555,10 @@ 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:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -582,8 +611,7 @@ msgstr ""
#~ msgid "Build version {0} {1}"
#~ msgstr "Build version {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr ""
@@ -615,7 +643,7 @@ msgstr ""
msgid "by you"
msgstr ""
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "कैमरा"
@@ -627,8 +655,8 @@ msgstr "केवल अक्षर, संख्या, रिक्त स्
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -643,9 +671,9 @@ msgstr "केवल अक्षर, संख्या, रिक्त स्
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "कैंसिल"
@@ -691,34 +719,34 @@ msgstr "खोज मत करो"
msgid "Cancels opening the linked website"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
msgstr ""
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "परिवर्तन"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "हैंडल बदलें"
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "हैंडल बदलें"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "मेरा ईमेल बदलें"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr ""
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr ""
@@ -739,14 +767,18 @@ 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/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr ""
+
#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "नीचे प्रवेश करने के लिए OTP कोड के साथ एक ईमेल के लिए अपने इनबॉक्स की जाँच करें:"
@@ -780,36 +812,36 @@ msgstr "उन एल्गोरिदम का चयन करें जो
msgid "Choose your main feeds"
msgstr ""
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "अपना पासवर्ड चुनें"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
msgid "Clear all legacy storage data (restart after this)"
msgstr ""
-#: src/view/screens/Settings/index.tsx:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
msgid "Clear all storage data (restart after this)"
msgstr ""
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "खोज क्वेरी साफ़ करें"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
msgstr ""
@@ -821,21 +853,22 @@ msgstr ""
msgid "Click here to open tag menu for {tag}"
msgstr ""
-#: src/components/RichText.tsx:192
-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 ""
+#: src/components/dialogs/GifSelect.tsx:300
#: 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
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr ""
@@ -847,6 +880,14 @@ msgstr "चेतावनी को बंद करो"
msgid "Close bottom drawer"
msgstr "बंद करो"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr ""
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "छवि बंद करें"
@@ -855,7 +896,7 @@ msgstr "छवि बंद करें"
msgid "Close image viewer"
msgstr "छवि बंद करें"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr "नेविगेशन पाद बंद करें"
@@ -864,7 +905,7 @@ msgstr "नेविगेशन पाद बंद करें"
msgid "Close this dialog"
msgstr ""
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr ""
@@ -872,7 +913,7 @@ msgstr ""
msgid "Closes password update alert"
msgstr ""
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr ""
@@ -880,7 +921,7 @@ msgstr ""
msgid "Closes viewer for header image"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:321
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr ""
@@ -892,7 +933,7 @@ msgstr ""
msgid "Comics"
msgstr ""
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "समुदाय दिशानिर्देश"
@@ -901,11 +942,11 @@ msgstr "समुदाय दिशानिर्देश"
msgid "Complete onboarding and start using your account"
msgstr ""
-#: src/screens/Signup/index.tsx:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr ""
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr ""
@@ -928,10 +969,12 @@ 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/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
msgid "Confirm"
msgstr "हो गया"
@@ -966,10 +1009,13 @@ msgstr ""
msgid "Confirm your birthdate"
msgstr ""
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
msgid "Confirmation code"
msgstr "OTP कोड"
@@ -977,11 +1023,11 @@ msgstr "OTP कोड"
#~ msgid "Confirms signing up {email} to the waitlist"
#~ msgstr ""
-#: src/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "कनेक्टिंग ..।"
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr ""
@@ -1035,8 +1081,8 @@ msgstr ""
#: 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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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 "आगे बढ़ें"
@@ -1049,7 +1095,7 @@ msgstr ""
#: 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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr ""
@@ -1070,17 +1116,21 @@ msgstr ""
msgid "Copied"
msgstr "कॉपी कर ली"
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
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:158
+#: 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 ""
@@ -1093,12 +1143,17 @@ msgstr "कॉपी"
msgid "Copy {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:388
+#: 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:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
msgid "Copy link to post"
msgstr ""
@@ -1106,12 +1161,12 @@ msgstr ""
#~ msgid "Copy link to profile"
#~ msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "पोस्ट टेक्स्ट कॉपी करें"
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "कॉपीराइट नीति"
@@ -1120,7 +1175,7 @@ msgstr "कॉपीराइट नीति"
msgid "Could not load feed"
msgstr "फ़ीड लोड नहीं कर सकता"
-#: src/view/screens/ProfileList.tsx:907
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "सूची लोड नहीं कर सकता"
@@ -1128,31 +1183,34 @@ msgstr "सूची लोड नहीं कर सकता"
#~ msgid "Country"
#~ msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr ""
-#: src/screens/Signup/index.tsx:129
+#: 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/HomeLoggedOutCTA.tsx:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: 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 ""
@@ -1169,8 +1227,8 @@ msgstr "बनाया गया {0}"
#~ msgstr ""
#: src/view/com/composer/Composer.tsx:469
-msgid "Creates a card with a thumbnail. The card links to {url}"
-msgstr ""
+#~ msgid "Creates a card with a thumbnail. The card links to {url}"
+#~ msgstr ""
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
@@ -1186,11 +1244,11 @@ msgid "Custom domain"
msgstr "कस्टम डोमेन"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr ""
@@ -1198,8 +1256,8 @@ msgstr ""
#~ msgid "Danger Zone"
#~ msgstr "खतरा क्षेत्र"
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr "डार्क मोड"
@@ -1207,15 +1265,15 @@ msgstr "डार्क मोड"
msgid "Dark mode"
msgstr ""
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr ""
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
msgstr ""
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
msgstr ""
@@ -1223,13 +1281,13 @@ msgstr ""
msgid "Debug panel"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: 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:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "खाता हटाएं"
@@ -1245,7 +1303,7 @@ msgstr "अप्प पासवर्ड हटाएं"
msgid "Delete app password?"
msgstr ""
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "सूची हटाएँ"
@@ -1257,24 +1315,24 @@ msgstr "मेरा खाता हटाएं"
#~ msgid "Delete my account…"
#~ msgstr "मेरा खाता हटाएं…"
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
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:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
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:340
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 ""
@@ -1293,14 +1351,34 @@ msgstr "विवरण"
#~ msgid "Developer Tools"
#~ msgstr "डेवलपर उपकरण"
-#: src/view/com/composer/Composer.tsx:218
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr ""
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr ""
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr ""
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr ""
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+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
@@ -1308,7 +1386,7 @@ msgstr ""
msgid "Disabled"
msgstr ""
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr ""
@@ -1316,7 +1394,7 @@ msgstr ""
#~ msgid "Discard draft"
#~ msgstr "ड्राफ्ट हटाएं"
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
msgstr ""
@@ -1334,7 +1412,7 @@ msgstr ""
#~ msgid "Discover new feeds"
#~ msgstr "नए फ़ीड की खोज करें"
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr ""
@@ -1354,7 +1432,7 @@ msgstr ""
msgid "Does not include nudity."
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
msgstr ""
@@ -1388,7 +1466,7 @@ msgstr "डोमेन सत्यापित!"
msgid "Done"
msgstr "खत्म"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: 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
@@ -1418,7 +1496,7 @@ msgstr "खत्म {extraText}"
msgid "Download CAR file"
msgstr ""
-#: src/view/com/composer/text-input/TextInput.web.tsx:249
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr ""
@@ -1471,7 +1549,7 @@ msgctxt "action"
msgid "Edit"
msgstr ""
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
msgstr ""
@@ -1481,7 +1559,7 @@ msgstr ""
msgid "Edit image"
msgstr "छवि संपादित करें"
-#: src/view/screens/ProfileList.tsx:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "सूची विवरण संपादित करें"
@@ -1489,9 +1567,9 @@ msgstr "सूची विवरण संपादित करें"
msgid "Edit Moderation List"
msgstr ""
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "मेरी फ़ीड संपादित करें"
@@ -1499,18 +1577,18 @@ msgstr "मेरी फ़ीड संपादित करें"
msgid "Edit my profile"
msgstr "मेरी प्रोफ़ाइल संपादित करें"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "मेरी प्रोफ़ाइल संपादित करें"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
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 "एडिट सेव्ड फीड"
@@ -1535,6 +1613,10 @@ msgstr ""
msgid "Email"
msgstr "ईमेल"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr ""
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "ईमेल"
@@ -1548,14 +1630,28 @@ msgstr ""
msgid "Email Updated"
msgstr "ईमेल अपडेट किया गया"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr ""
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
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:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+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 ""
@@ -1582,7 +1678,7 @@ msgstr ""
#~ msgid "Enable External Media"
#~ msgstr ""
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr ""
@@ -1598,7 +1694,7 @@ msgstr ""
msgid "Enabled"
msgstr ""
-#: src/screens/Profile/Sections/Feed.tsx:84
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr ""
@@ -1615,7 +1711,7 @@ msgstr ""
msgid "Enter a word or tag"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:105
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr ""
@@ -1640,7 +1736,7 @@ msgstr ""
#~ msgstr ""
#: src/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "अपना ईमेल पता दर्ज करें"
@@ -1664,7 +1760,7 @@ msgstr "अपने यूज़रनेम और पासवर्ड द
msgid "Error receiving captcha response."
msgstr ""
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr ""
@@ -1705,8 +1801,8 @@ msgstr ""
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 ""
@@ -1718,12 +1814,12 @@ msgstr ""
msgid "Explicit sexual images."
msgstr ""
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr ""
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr ""
@@ -1733,17 +1829,17 @@ msgid "External Media"
msgstr ""
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr ""
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr ""
@@ -1756,12 +1852,16 @@ msgstr ""
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/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+msgstr ""
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "अनुशंसित फ़ीड लोड करने में विफल"
@@ -1769,7 +1869,7 @@ msgstr "अनुशंसित फ़ीड लोड करने में
msgid "Failed to save image: {0}"
msgstr ""
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr ""
@@ -1777,7 +1877,7 @@ msgstr ""
msgid "Feed by {0}"
msgstr ""
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr "फ़ीड ऑफ़लाइन है"
@@ -1786,18 +1886,18 @@ msgstr "फ़ीड ऑफ़लाइन है"
#~ msgstr "फ़ीड प्राथमिकता"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:314
+#: 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:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "सभी फ़ीड"
@@ -1809,11 +1909,11 @@ 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/> अधिक जानकारी के लिए."
@@ -1839,13 +1939,17 @@ msgstr ""
msgid "Find accounts to follow"
msgstr ""
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
msgstr ""
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr ""
+#: src/view/screens/Search/Search.tsx:589
+#~ msgid "Find users on Bluesky"
+#~ msgstr ""
+
+#: 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..."
@@ -1881,10 +1985,10 @@ msgid "Flip vertically"
msgstr ""
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "फॉलो"
@@ -1894,7 +1998,7 @@ msgid "Follow"
msgstr ""
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr ""
@@ -1916,11 +2020,11 @@ msgstr ""
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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr ""
@@ -1932,7 +2036,7 @@ msgstr ""
msgid "Followed users only"
msgstr "केवल वे यूजर को फ़ॉलो किया गया"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr ""
@@ -1941,26 +2045,26 @@ msgstr ""
msgid "Followers"
msgstr "यह यूजर आपका फ़ोलो करता है"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: 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
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
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/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
msgstr ""
@@ -1968,7 +2072,7 @@ msgstr ""
msgid "Follows you"
msgstr "यह यूजर आपका फ़ोलो करता है"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr ""
@@ -1997,11 +2101,11 @@ msgstr "सुरक्षा कारणों के लिए, आप इस
msgid "Forgot Password"
msgstr "पासवर्ड भूल गए"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
msgstr ""
@@ -2009,22 +2113,21 @@ msgstr ""
msgid "Frequently Posts Unwanted Content"
msgstr ""
-#: src/screens/Hashtag.tsx:109
-#: src/screens/Hashtag.tsx:149
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
msgstr ""
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr ""
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "गैलरी"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "प्रारंभ करें"
@@ -2038,25 +2141,25 @@ msgstr ""
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: src/view/screens/ProfileList.tsx:918
#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "वापस जाओ"
-#: src/components/Error.tsx:91
+#: src/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "वापस जाओ"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr ""
@@ -2068,7 +2171,7 @@ msgstr ""
msgid "Go Home"
msgstr ""
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr ""
@@ -2086,11 +2189,15 @@ msgstr ""
msgid "Handle"
msgstr "हैंडल"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
msgstr ""
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
msgstr ""
@@ -2098,16 +2205,16 @@ msgstr ""
#~ msgid "Hashtag: {tag}"
#~ msgstr ""
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
msgstr ""
-#: src/screens/Signup/index.tsx:217
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr ""
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "सहायता"
@@ -2136,17 +2243,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:354
msgid "Hide"
msgstr "इसे छिपाएं"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: 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:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr ""
@@ -2155,11 +2262,11 @@ msgstr ""
msgid "Hide the content"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:319
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "उपयोगकर्ता सूची छुपाएँ"
@@ -2195,11 +2302,11 @@ msgstr ""
msgid "Hmmmm, we couldn't load that moderation service."
msgstr ""
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "होम फीड"
@@ -2215,7 +2322,7 @@ msgid "Host:"
msgstr ""
#: src/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
@@ -2225,11 +2332,13 @@ msgstr "होस्टिंग प्रदाता"
msgid "How should we open this link?"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:214
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "मेरे पास एक OTP कोड है"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr ""
@@ -2249,11 +2358,11 @@ msgstr "यदि किसी को चुना जाता है, तो
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:610
+#: 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:342
msgid "If you remove this post, you won't be able to recover it."
msgstr ""
@@ -2314,11 +2423,15 @@ msgstr ""
#~ msgid "Input phone number for SMS verification"
#~ msgstr ""
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
msgid "Input the username or email address you used at signup"
msgstr ""
@@ -2330,7 +2443,7 @@ msgstr ""
#~ msgid "Input your email to get on the Bluesky waitlist"
#~ msgstr ""
-#: src/screens/Login/LoginForm.tsx:194
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr ""
@@ -2338,15 +2451,20 @@ msgstr ""
msgid "Input your preferred hosting provider"
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:62
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:221
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr "अवैध उपयोगकर्ता नाम या पासवर्ड"
@@ -2382,8 +2500,7 @@ msgstr ""
msgid "It shows posts from the people you follow as they happen."
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr ""
@@ -2416,11 +2533,11 @@ msgstr ""
msgid "Labeled by the author."
msgstr ""
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
msgstr ""
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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 ""
@@ -2440,16 +2557,16 @@ msgstr ""
msgid "Language selection"
msgstr "अपनी भाषा चुने"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr ""
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "भाषा सेटिंग्स"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "भाषा"
@@ -2457,6 +2574,11 @@ msgstr "भाषा"
#~ msgid "Last step!"
#~ msgstr ""
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr ""
+
#: src/view/com/util/moderation/ContentHider.tsx:103
#~ msgid "Learn more"
#~ msgstr ""
@@ -2495,7 +2617,7 @@ msgstr "लीविंग Bluesky"
msgid "left to go."
msgstr ""
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
msgid "Legacy storage cleared, you need to restart the app now."
msgstr ""
@@ -2513,22 +2635,22 @@ msgstr ""
#~ msgid "Library"
#~ msgstr "चित्र पुस्तकालय"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr "लाइट मोड"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
msgid "Liked by"
msgstr "इन यूजर ने लाइक किया है"
@@ -2546,29 +2668,29 @@ msgstr ""
msgid "Liked by {count} {0}"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr ""
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr ""
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr ""
@@ -2576,7 +2698,7 @@ msgstr ""
msgid "List Avatar"
msgstr "सूची अवतार"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr ""
@@ -2584,11 +2706,11 @@ msgstr ""
msgid "List by {0}"
msgstr ""
-#: 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 ""
@@ -2596,20 +2718,20 @@ msgstr ""
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:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "सूची"
@@ -2622,10 +2744,10 @@ msgstr "सूची"
msgid "Load new notifications"
msgstr "नई सूचनाएं लोड करें"
-#: src/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "नई पोस्ट लोड करें"
@@ -2637,7 +2759,7 @@ msgstr ""
#~ msgid "Local dev server"
#~ msgstr "स्थानीय देव सर्वर"
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr ""
@@ -2656,6 +2778,10 @@ msgstr ""
msgid "Login to account that is not listed"
msgstr "उस खाते में लॉग इन करें जो सूचीबद्ध नहीं है"
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+msgstr ""
+
#: src/screens/Login/SetNewPasswordForm.tsx:116
msgid "Looks like XXXXX-XXXXX"
msgstr ""
@@ -2676,7 +2802,8 @@ msgstr ""
#~ msgid "May only contain letters and numbers"
#~ msgstr ""
-#: src/view/screens/Profile.tsx:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr ""
@@ -2688,8 +2815,8 @@ msgstr ""
msgid "Mentioned users"
msgstr ""
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "मेनू"
@@ -2701,12 +2828,12 @@ msgstr ""
msgid "Misleading Account"
msgstr ""
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "मॉडरेशन"
@@ -2719,13 +2846,13 @@ msgstr ""
msgid "Moderation list by {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:789
+#: 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:787
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr ""
@@ -2741,16 +2868,16 @@ msgstr ""
msgid "Moderation lists"
msgstr "मॉडरेशन सूचियाँ"
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr ""
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr ""
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
msgstr ""
@@ -2771,7 +2898,7 @@ msgstr ""
msgid "More feeds"
msgstr "अधिक फ़ीड"
-#: src/view/screens/ProfileList.tsx:599
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "अधिक विकल्प"
@@ -2800,7 +2927,7 @@ msgstr ""
msgid "Mute Account"
msgstr "खाता म्यूट करें"
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "खातों को म्यूट करें"
@@ -2820,12 +2947,12 @@ msgstr ""
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 "इन खातों को म्यूट करें?"
@@ -2841,13 +2968,13 @@ msgstr ""
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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
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:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
msgstr ""
@@ -2859,12 +2986,12 @@ msgstr ""
msgid "Muted accounts"
msgstr "म्यूट किए गए खाते"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: 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 "म्यूट किए गए खातों की पोस्ट आपके फ़ीड और आपकी सूचनाओं से हटा दी जाती हैं। म्यूट पूरी तरह से निजी हैं."
@@ -2876,7 +3003,7 @@ msgstr ""
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 "म्यूट करना निजी है. म्यूट किए गए खाते आपके साथ इंटरैक्ट कर सकते हैं, लेकिन आप उनकी पोस्ट नहीं देखेंगे या उनसे सूचनाएं प्राप्त नहीं करेंगे।"
@@ -2885,7 +3012,7 @@ msgstr "म्यूट करना निजी है. म्यूट कि
msgid "My Birthday"
msgstr "जन्मदिन"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "मेरी फ़ीड"
@@ -2893,11 +3020,11 @@ msgstr "मेरी फ़ीड"
msgid "My Profile"
msgstr "मेरी प्रोफाइल"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
msgstr ""
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
msgid "My Saved Feeds"
msgstr "मेरी फ़ीड"
@@ -2925,7 +3052,7 @@ msgid "Nature"
msgstr ""
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr ""
@@ -2934,7 +3061,7 @@ msgstr ""
msgid "Navigates to your profile"
msgstr ""
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
msgid "Need to report a copyright violation?"
msgstr ""
@@ -2981,17 +3108,17 @@ msgstr ""
msgid "New Password"
msgstr ""
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
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:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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 "नई पोस्ट"
@@ -3015,12 +3142,12 @@ msgstr ""
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -3044,8 +3171,8 @@ msgstr "अगली फोटो"
msgid "No"
msgstr "नहीं"
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "कोई विवरण नहीं"
@@ -3053,11 +3180,15 @@ msgstr "कोई विवरण नहीं"
msgid "No DNS Panel"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
msgstr ""
@@ -3070,20 +3201,24 @@ msgstr ""
msgid "No result"
msgstr ""
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "{query} के लिए कोई परिणाम नहीं मिला\""
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr ""
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
@@ -3106,19 +3241,19 @@ msgstr ""
msgid "Not Applicable."
msgstr "लागू नहीं।"
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:246
-#: src/view/com/modals/VerifyEmail.tsx:252
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr ""
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
msgstr ""
@@ -3126,13 +3261,13 @@ msgstr ""
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:469
+#: src/Navigation.tsx:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "सूचनाएं"
@@ -3148,7 +3283,7 @@ msgstr ""
#~ msgid "Nudity or pornography not labeled as such"
#~ msgstr ""
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
msgstr ""
@@ -3156,7 +3291,8 @@ msgstr ""
msgid "Off"
msgstr ""
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "अरे नहीं!"
@@ -3165,7 +3301,7 @@ msgid "Oh no! Something went wrong."
msgstr ""
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
msgstr ""
@@ -3177,11 +3313,11 @@ msgstr "ठीक है"
msgid "Oldest replies first"
msgstr ""
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr ""
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr "एक या अधिक छवियाँ alt पाठ याद आती हैं।।"
@@ -3189,17 +3325,17 @@ msgstr "एक या अधिक छवियाँ alt पाठ याद
msgid "Only {0} can reply."
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
msgstr ""
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
msgstr ""
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr ""
@@ -3211,16 +3347,16 @@ msgstr ""
#~ msgid "Open content filtering settings"
#~ msgstr ""
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:300
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
msgstr ""
-#: src/view/screens/Settings/index.tsx:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr ""
@@ -3232,20 +3368,20 @@ msgstr ""
#~ msgid "Open muted words 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:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr ""
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
msgstr ""
@@ -3253,15 +3389,19 @@ msgstr ""
msgid "Opens {numItems} options"
msgstr ""
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr ""
+
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:353
+#: 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
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr ""
@@ -3269,11 +3409,11 @@ msgstr ""
msgid "Opens composer"
msgstr ""
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr "भाषा सेटिंग्स खोलें"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
msgid "Opens device photo gallery"
msgstr ""
@@ -3281,19 +3421,17 @@ msgstr ""
#~ msgid "Opens editor for profile display name, avatar, background image, and description"
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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 ""
@@ -3305,6 +3443,10 @@ msgstr ""
#~ msgid "Opens following list"
#~ msgstr ""
+#: src/view/com/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr ""
+
#: src/view/screens/Settings.tsx:412
#~ msgid "Opens invite code list"
#~ msgstr ""
@@ -3313,7 +3455,7 @@ msgstr ""
msgid "Opens list of invite codes"
msgstr ""
-#: src/view/screens/Settings/index.tsx:798
+#: src/view/screens/Settings/index.tsx:757
msgid "Opens modal for account deletion confirmation. Requires email code"
msgstr ""
@@ -3321,19 +3463,19 @@ msgstr ""
#~ msgid "Opens modal for account deletion confirmation. Requires email code."
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:756
+#: src/view/screens/Settings/index.tsx:715
msgid "Opens modal for changing your Bluesky password"
msgstr ""
-#: src/view/screens/Settings/index.tsx:718
+#: src/view/screens/Settings/index.tsx:670
msgid "Opens modal for choosing a new Bluesky handle"
msgstr ""
-#: src/view/screens/Settings/index.tsx:779
+#: src/view/screens/Settings/index.tsx:738
msgid "Opens modal for downloading your Bluesky account data (repository)"
msgstr ""
-#: src/view/screens/Settings/index.tsx:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
msgstr ""
@@ -3341,24 +3483,24 @@ msgstr ""
msgid "Opens modal for using custom domain"
msgstr "कस्टम डोमेन का उपयोग करने के लिए मोडल खोलें"
-#: src/view/screens/Settings/index.tsx:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "मॉडरेशन सेटिंग्स खोलें"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
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:597
+#: src/view/screens/Settings/index.tsx:549
msgid "Opens screen with all saved feeds"
msgstr "सभी बचाया फ़ीड के साथ स्क्रीन खोलें"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:648
msgid "Opens the app password settings"
msgstr ""
@@ -3366,7 +3508,7 @@ msgstr ""
#~ msgid "Opens the app password settings page"
#~ msgstr "ऐप पासवर्ड सेटिंग पेज खोलें"
-#: src/view/screens/Settings/index.tsx:554
+#: src/view/screens/Settings/index.tsx:506
msgid "Opens the Following feed preferences"
msgstr ""
@@ -3378,16 +3520,16 @@ msgstr ""
msgid "Opens the linked website"
msgstr ""
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr "स्टोरीबुक पेज खोलें"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "सिस्टम लॉग पेज खोलें"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "धागे वरीयताओं को खोलता है"
@@ -3395,7 +3537,7 @@ msgstr "धागे वरीयताओं को खोलता है"
msgid "Option {0} of {numItems}"
msgstr ""
-#: src/components/ReportDialog/SubmitView.tsx:162
+#: src/components/ReportDialog/SubmitView.tsx:160
msgid "Optionally provide additional information below:"
msgstr ""
@@ -3423,7 +3565,7 @@ msgstr "अन्य खाता"
msgid "Other..."
msgstr "अन्य..।"
-#: src/components/Lists.tsx:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "पृष्ठ नहीं मिला"
@@ -3432,8 +3574,8 @@ msgstr "पृष्ठ नहीं मिला"
msgid "Page Not Found"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3451,11 +3593,19 @@ msgstr ""
msgid "Password updated!"
msgstr "पासवर्ड अद्यतन!"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr ""
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr ""
@@ -3479,23 +3629,31 @@ msgstr ""
msgid "Pictures meant for adults."
msgstr "चित्र वयस्कों के लिए थे।।"
-#: src/view/screens/ProfileFeed.tsx:292
-#: 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:295
+#: 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/GifEmbed.tsx:31
+msgid "Play"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr ""
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3562,11 +3720,11 @@ msgstr ""
#~ msgid "Please tell us why you think this content warning was incorrectly applied!"
#~ msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:101
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr ""
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr ""
@@ -3582,8 +3740,8 @@ msgstr ""
#~ msgid "Pornography"
#~ msgstr ""
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr ""
@@ -3593,17 +3751,17 @@ msgctxt "description"
msgid "Post"
msgstr "पोस्ट"
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr ""
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
msgid "Post by @{0}"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:105
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr ""
@@ -3638,7 +3796,7 @@ msgstr "पोस्ट नहीं मिला"
msgid "posts"
msgstr ""
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr ""
@@ -3654,13 +3812,13 @@ msgstr ""
msgid "Potentially Misleading Link"
msgstr "शायद एक भ्रामक लिंक"
-#: src/components/forms/HostingProvider.tsx:45
+#: 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:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
msgstr ""
@@ -3676,16 +3834,16 @@ msgstr "प्राथमिक भाषा"
msgid "Prioritize Your Follows"
msgstr "अपने फ़ॉलोअर्स को प्राथमिकता दें"
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "गोपनीयता"
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "गोपनीयता नीति"
@@ -3694,15 +3852,15 @@ msgid "Processing..."
msgstr "प्रसंस्करण..."
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
msgstr ""
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "प्रोफ़ाइल"
@@ -3710,7 +3868,7 @@ msgstr "प्रोफ़ाइल"
msgid "Profile updated"
msgstr ""
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "अपने ईमेल को सत्यापित करके अपने खाते को सुरक्षित रखें।।"
@@ -3726,11 +3884,11 @@ msgstr ""
msgid "Public, shareable lists which can drive feeds."
msgstr "सार्वजनिक, साझा करने योग्य सूचियाँ जो फ़ीड चला सकती हैं।"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr ""
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr ""
@@ -3756,15 +3914,15 @@ msgstr ""
msgid "Ratios"
msgstr "अनुपात"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: 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 "अनुशंसित लोग"
@@ -3785,7 +3943,7 @@ msgstr "निकालें"
msgid "Remove account"
msgstr "खाता हटाएं"
-#: src/view/com/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
msgstr ""
@@ -3803,8 +3961,8 @@ msgstr ""
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "मेरे फ़ीड से हटाएँ"
@@ -3816,7 +3974,7 @@ msgstr ""
msgid "Remove image"
msgstr "छवि निकालें"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr "छवि पूर्वावलोकन निकालें"
@@ -3849,15 +4007,15 @@ msgstr ""
msgid "Removed from my feeds"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
msgstr ""
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr ""
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr ""
@@ -3865,7 +4023,7 @@ msgstr ""
msgid "Replies to this thread are disabled"
msgstr ""
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr ""
@@ -3874,10 +4032,16 @@ msgstr ""
msgid "Reply Filters"
msgstr "फिल्टर"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
+#~ msgctxt "description"
+#~ msgid "Reply to <0/>"
+#~ msgstr ""
+
+#: src/view/com/post/Post.tsx:178
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
-msgid "Reply to <0/>"
+msgid "Reply to <0><1/>0>"
msgstr ""
#: src/view/com/modals/report/Modal.tsx:166
@@ -3893,17 +4057,17 @@ msgstr "रिपोर्ट"
msgid "Report dialog"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: 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:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "रिपोर्ट पोस्ट"
@@ -3948,19 +4112,23 @@ msgstr "पोस्ट दोबारा पोस्ट करें या
msgid "Reposted By"
msgstr "द्वारा दोबारा पोस्ट किया गया"
-#: src/view/com/posts/FeedItem.tsx:197
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr ""
#: src/view/com/posts/FeedItem.tsx:214
-msgid "Reposted by <0/>"
+#~ 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:166
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:187
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr ""
@@ -3978,14 +4146,23 @@ msgstr "अनुरोध बदलें"
msgid "Request Code"
msgstr ""
-#: src/view/screens/Settings/index.tsx:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr "पोस्ट करने से पहले वैकल्पिक टेक्स्ट की आवश्यकता है"
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr ""
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "इस प्रदाता के लिए आवश्यक"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr ""
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "कोड रीसेट करें"
@@ -3998,8 +4175,8 @@ msgstr ""
#~ msgid "Reset onboarding"
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr "ऑनबोर्डिंग स्टेट को रीसेट करें"
@@ -4011,20 +4188,20 @@ msgstr "पासवर्ड रीसेट"
#~ msgid "Reset preferences"
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr "प्राथमिकताओं को रीसेट करें"
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr "ऑनबोर्डिंग स्टेट को रीसेट करें"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr "प्राथमिकताओं की स्थिति को रीसेट करें"
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr ""
@@ -4033,13 +4210,13 @@ msgstr ""
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/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
@@ -4049,8 +4226,8 @@ msgstr "फिर से कोशिश करो"
#~ msgid "Retry."
#~ msgstr ""
-#: src/components/Error.tsx:86
-#: src/view/screens/ProfileList.tsx:917
+#: src/components/Error.tsx:95
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr ""
@@ -4100,12 +4277,12 @@ msgstr "बदलाव सेव करो"
msgid "Save image crop"
msgstr "फोटो बदलाव सेव करो"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: 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 "सहेजे गए फ़ीड"
@@ -4113,7 +4290,7 @@ msgstr "सहेजे गए फ़ीड"
msgid "Saved to your camera roll."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
msgstr ""
@@ -4133,28 +4310,28 @@ msgstr ""
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/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "खोज"
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr ""
@@ -4181,6 +4358,14 @@ msgstr ""
msgid "Search for users"
msgstr ""
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr ""
+
#: src/view/com/modals/ChangeEmail.tsx:110
msgid "Security Step Required"
msgstr "सुरक्षा चरण आवश्यक"
@@ -4209,13 +4394,18 @@ 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:40
-msgid "See what's next"
-msgstr "आगे क्या है"
+#~ msgid "See what's next"
+#~ msgstr "आगे क्या है"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
@@ -4233,6 +4423,14 @@ msgstr ""
msgid "Select from an existing account"
msgstr "मौजूदा खाते से चुनें"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
msgstr ""
@@ -4254,7 +4452,7 @@ msgstr ""
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 ""
@@ -4286,7 +4484,7 @@ msgstr "चुनें कि आप अपनी सदस्यता वा
msgid "Select your app language for the default text to display in the app."
msgstr ""
-#: src/screens/Signup/StepInfo/index.tsx:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
msgstr ""
@@ -4310,8 +4508,8 @@ msgstr ""
msgid "Select your secondary algorithmic feeds"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:202
-#: src/view/com/modals/VerifyEmail.tsx:204
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "पुष्टिकरण ईमेल भेजें"
@@ -4324,13 +4522,13 @@ msgctxt "action"
msgid "Send Email"
msgstr "ईमेल भेजें"
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: 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 ""
@@ -4342,6 +4540,11 @@ msgstr ""
msgid "Send report to {0}"
msgstr ""
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
+msgstr ""
+
#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr ""
@@ -4424,23 +4627,23 @@ msgstr ""
msgid "Sets Bluesky username"
msgstr ""
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
msgstr ""
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
msgstr ""
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
msgstr ""
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
msgstr ""
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
msgstr ""
@@ -4469,11 +4672,11 @@ msgstr ""
#~ msgid "Sets server for the Bluesky client"
#~ msgstr ""
-#: src/Navigation.tsx:139
-#: src/view/screens/Settings/index.tsx:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "सेटिंग्स"
@@ -4492,21 +4695,21 @@ 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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: 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/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr ""
@@ -4523,7 +4726,7 @@ msgstr ""
#: 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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr "दिखाओ"
@@ -4549,13 +4752,13 @@ msgstr ""
#~ msgid "Show embeds from {0}"
#~ msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr ""
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr ""
@@ -4612,7 +4815,7 @@ msgstr ""
msgid "Show the content"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "लोग दिखाएँ"
@@ -4632,24 +4835,24 @@ msgstr ""
msgid "Shows posts from {0} in your feed"
msgstr ""
+#: 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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr "साइन इन करें"
@@ -4667,28 +4870,36 @@ msgstr "{0} के रूप में साइन इन करें"
msgid "Sign in as..."
msgstr "... के रूप में साइन इन करें"
+#: 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:140
#~ msgid "Sign into"
#~ msgstr "साइन इन करें"
-#: src/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "साइन आउट"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
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 ""
@@ -4697,7 +4908,7 @@ msgstr ""
msgid "Sign-in Required"
msgstr ""
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "आपने इस रूप में साइन इन करा है:"
@@ -4733,7 +4944,7 @@ msgstr ""
#: src/components/ReportDialog/index.tsx:59
#: src/screens/Moderation/index.tsx:114
-#: src/screens/Profile/Sections/Labels.tsx:76
+#: src/screens/Profile/Sections/Labels.tsx:87
msgid "Something went wrong, please try again."
msgstr ""
@@ -4745,7 +4956,7 @@ msgstr ""
#~ 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 ""
@@ -4781,11 +4992,11 @@ msgstr "स्क्वायर"
#~ msgid "Staging"
#~ msgstr "स्टेजिंग"
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "स्थिति पृष्ठ"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
msgstr ""
@@ -4793,12 +5004,12 @@ msgstr ""
#~ msgid "Step {0} of {numSteps}"
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
msgid "Storage cleared, you need to restart the app now."
msgstr ""
-#: src/Navigation.tsx:211
-#: src/view/screens/Settings/index.tsx:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr "Storybook"
@@ -4807,15 +5018,15 @@ msgstr "Storybook"
msgid "Submit"
msgstr ""
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "सब्सक्राइब"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: src/screens/Profile/Sections/Labels.tsx:191
msgid "Subscribe to @{0} to use these labels:"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
msgstr ""
@@ -4824,15 +5035,15 @@ msgstr ""
msgid "Subscribe to the {0} feed"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: 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:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "अनुशंसित लोग"
@@ -4844,7 +5055,7 @@ msgstr ""
msgid "Suggestive"
msgstr ""
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
@@ -4854,24 +5065,24 @@ msgstr "सहायता"
#~ msgid "Swipe up to see more"
#~ msgstr ""
-#: src/components/dialogs/SwitchAccount.tsx:46
-#: src/components/dialogs/SwitchAccount.tsx:49
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "खाते बदलें"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
msgid "Switches the account you are logged in to"
msgstr ""
-#: src/view/screens/Settings/index.tsx:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr "प्रणाली"
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "सिस्टम लॉग"
@@ -4903,11 +5114,11 @@ msgstr ""
msgid "Terms"
msgstr "शर्तें"
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "सेवा की शर्तें"
@@ -4925,7 +5136,7 @@ msgstr ""
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 ""
@@ -4933,11 +5144,11 @@ msgstr ""
msgid "That contains the following:"
msgstr ""
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "अनब्लॉक करने के बाद अकाउंट आपसे इंटरैक्ट कर सकेगा।"
@@ -4987,8 +5198,8 @@ msgstr "सेवा की शर्तों को स्थानांत
msgid "There are many feeds to try:"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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 ""
@@ -4996,15 +5207,19 @@ msgstr ""
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+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 ""
@@ -5027,12 +5242,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 ""
@@ -5044,9 +5259,9 @@ msgstr ""
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/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -5058,14 +5273,15 @@ msgstr ""
msgid "There was an issue! {0}"
msgstr ""
-#: 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 ""
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "एप्लिकेशन में एक अप्रत्याशित समस्या थी. कृपया हमें बताएं कि क्या आपके साथ ऐसा हुआ है!"
@@ -5126,9 +5342,9 @@ msgstr ""
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:477
-#: 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 ""
@@ -5140,7 +5356,7 @@ msgstr ""
msgid "This information is not shared with other users."
msgstr "यह जानकारी अन्य उपयोगकर्ताओं के साथ साझा नहीं की जाती है।।"
-#: src/view/com/modals/VerifyEmail.tsx:119
+#: src/view/com/modals/VerifyEmail.tsx:127
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "अगर आपको कभी अपना ईमेल बदलने या पासवर्ड रीसेट करने की आवश्यकता है तो यह महत्वपूर्ण है।।"
@@ -5148,7 +5364,7 @@ msgstr "अगर आपको कभी अपना ईमेल बदलन
msgid "This label was applied by {0}."
msgstr ""
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: src/screens/Profile/Sections/Labels.tsx:178
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
msgstr ""
@@ -5156,7 +5372,7 @@ msgstr ""
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 ""
@@ -5168,16 +5384,16 @@ msgstr ""
msgid "This name is already in use"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr "इस पोस्ट को हटा दिया गया है।।"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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:352
msgid "This post will be hidden from feeds."
msgstr ""
@@ -5242,12 +5458,12 @@ msgstr ""
#~ msgid "This will hide this post from your feeds."
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
msgstr ""
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "थ्रेड प्राथमिकता"
@@ -5255,10 +5471,14 @@ msgstr "थ्रेड प्राथमिकता"
msgid "Threaded Mode"
msgstr "थ्रेड मोड"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr ""
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr ""
+
#: src/components/ReportDialog/SelectLabelerView.tsx:33
msgid "To whom would you like to send this report?"
msgstr ""
@@ -5275,14 +5495,19 @@ msgstr "ड्रॉपडाउन टॉगल करें"
msgid "Toggle to enable or disable adult content"
msgstr ""
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr ""
+
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "परिवर्तन"
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "अनुवाद"
@@ -5291,35 +5516,39 @@ msgctxt "action"
msgid "Try again"
msgstr "फिर से कोशिश करो"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr ""
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
msgstr ""
-#: src/view/screens/ProfileList.tsx:478
+#: 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/screens/Login/ForgotPasswordForm.tsx:74
#: src/screens/Login/index.tsx:78
-#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: 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:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr ""
@@ -5329,7 +5558,7 @@ msgstr ""
msgid "Unblock Account"
msgstr "अनब्लॉक खाता"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
msgstr ""
@@ -5342,7 +5571,7 @@ msgid "Undo repost"
msgstr "पुनः पोस्ट पूर्ववत करें"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
msgstr ""
@@ -5351,7 +5580,7 @@ msgctxt "action"
msgid "Unfollow"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
msgid "Unfollow {0}"
msgstr ""
@@ -5364,16 +5593,16 @@ msgstr ""
#~ msgid "Unfortunately, you do not meet the requirements to create an account."
#~ msgstr ""
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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 ""
@@ -5394,21 +5623,21 @@ 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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "थ्रेड को अनम्यूट करें"
-#: src/view/screens/ProfileFeed.tsx:295
-#: 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:292
+#: 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 ""
@@ -5416,11 +5645,11 @@ msgstr ""
#~ msgid "Unsave"
#~ msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
msgstr ""
@@ -5448,20 +5677,20 @@ msgstr "अद्यतन..।"
msgid "Upload a text file to:"
msgstr "एक पाठ फ़ाइल अपलोड करने के लिए:"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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:343
+#: 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:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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"
@@ -5539,13 +5768,13 @@ msgstr ""
msgid "User list by {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:777
+#: 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:775
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr ""
@@ -5561,11 +5790,11 @@ msgstr ""
msgid "User Lists"
msgstr "लोग सूचियाँ"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "यूजर नाम या ईमेल पता"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "यूजर लोग"
@@ -5593,15 +5822,15 @@ msgstr ""
msgid "Verify {0}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "ईमेल सत्यापित करें"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "मेरी ईमेल सत्यापित करें"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "मेरी ईमेल सत्यापित करें"
@@ -5610,11 +5839,11 @@ msgstr "मेरी ईमेल सत्यापित करें"
msgid "Verify New Email"
msgstr "नया ईमेल सत्यापित करें"
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr ""
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
msgstr ""
@@ -5630,11 +5859,11 @@ msgstr ""
msgid "View debug entry"
msgstr "डीबग प्रविष्टि देखें"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
msgstr ""
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
msgstr ""
@@ -5646,6 +5875,8 @@ msgstr ""
msgid "View information about these labels"
msgstr ""
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr ""
@@ -5658,7 +5889,7 @@ msgstr "अवतार देखें"
msgid "View the labeling service provided by @{0}"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
msgstr ""
@@ -5686,7 +5917,7 @@ msgstr ""
#~ msgid "We also think you'll like \"For You\" by Skygaze:"
#~ msgstr ""
-#: src/screens/Hashtag.tsx:133
+#: src/screens/Hashtag.tsx:210
msgid "We couldn't find any results for that hashtag."
msgstr ""
@@ -5738,11 +5969,11 @@ msgstr ""
msgid "We'll use this to help customize your experience."
msgstr ""
-#: src/screens/Signup/index.tsx:130
+#: 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 ""
@@ -5750,16 +5981,16 @@ msgstr ""
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:256
+#: src/view/screens/Search/Search.tsx:323
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/components/Lists.tsx:197
#: 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:321
+#: 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 ""
@@ -5775,9 +6006,9 @@ msgstr ""
#~ msgid "What is the issue with this {collectionName}?"
#~ msgstr "इस {collectionName} के साथ क्या मुद्दा है?"
-#: src/view/com/auth/SplashScreen.tsx:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr ""
@@ -5818,11 +6049,11 @@ msgstr ""
msgid "Wide"
msgstr "चौड़ा"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "पोस्ट लिखो"
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "अपना जवाब दें"
@@ -5883,15 +6114,15 @@ msgstr ""
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 "आपके पास कोई सहेजी गई फ़ीड नहीं है."
@@ -5933,16 +6164,16 @@ 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
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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 ""
@@ -5954,7 +6185,7 @@ msgstr ""
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
+#: 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 ""
@@ -5982,15 +6213,15 @@ msgstr ""
msgid "You must be 18 years or older to enable adult content"
msgstr ""
-#: 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 ""
@@ -6021,7 +6252,7 @@ msgstr ""
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr ""
-#: src/screens/Signup/index.tsx:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "आपका खाता"
@@ -6033,7 +6264,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/screens/Signup/StepInfo/index.tsx:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "जन्म तिथि"
@@ -6059,7 +6290,7 @@ msgstr ""
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
+#: src/view/com/modals/VerifyEmail.tsx:122
msgid "Your email has not yet been verified. This is an important security step which we recommend."
msgstr "आपका ईमेल अभी तक सत्यापित नहीं हुआ है। यह एक महत्वपूर्ण सुरक्षा कदम है जिसे हम अनुशंसा करते हैं।।"
@@ -6067,7 +6298,7 @@ msgstr "आपका ईमेल अभी तक सत्यापित न
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "आपका पूरा हैंडल होगा"
@@ -6089,7 +6320,7 @@ msgstr ""
msgid "Your password has been changed successfully!"
msgstr ""
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr ""
@@ -6099,14 +6330,14 @@ msgstr ""
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "आपकी पोस्ट, पसंद और ब्लॉक सार्वजनिक हैं। म्यूट निजी हैं।।"
-#: src/view/screens/Settings/index.tsx:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "आपकी प्रोफ़ाइल"
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr ""
-#: src/screens/Signup/index.tsx:152
+#: 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 cc5327953c..96addec4e9 100644
--- a/src/locale/locales/id/messages.po
+++ b/src/locale/locales/id/messages.po
@@ -13,7 +13,7 @@ msgstr ""
"Plural-Forms: \n"
"X-Generator: Poedit 3.4.2\n"
-#: src/view/com/modals/VerifyEmail.tsx:142
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr "(tidak ada email)"
@@ -29,6 +29,7 @@ msgstr "(tidak ada email)"
#~ msgid "{0} {purposeLabel} List"
#~ msgstr "Daftar {purposeLabel} {0}"
+#: src/components/ProfileHoverCard/index.web.tsx:438
#: 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:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} belum dibaca"
@@ -67,15 +68,20 @@ msgstr "<0/> anggota"
msgid "<0>{0}0> following"
msgstr ""
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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>"
@@ -83,10 +89,14 @@ msgstr "<0>Ikuti0><1>Rekomendasi1><2>Pengguna2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Selamat datang di0>Bluesky1>"
-#: src/screens/Profile/Header/Handle.tsx:42
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr "⚠Handle Tidak Valid"
+#: src/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr ""
+
#: 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}"
@@ -95,27 +105,36 @@ msgstr "⚠Handle Tidak Valid"
#~ 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:649
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
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:300
-#: src/view/screens/Settings/index.tsx:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "Aksesibilitas"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr ""
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr ""
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "Akun"
@@ -148,7 +167,7 @@ msgstr "Pengaturan akun"
msgid "Account removed from quick access"
msgstr "Akun dihapus dari akses cepat"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Akun batal diblokir"
@@ -165,7 +184,7 @@ msgstr "Akun batal dibisukan"
#: 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:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Tambah"
@@ -173,13 +192,13 @@ msgstr "Tambah"
msgid "Add a content warning"
msgstr "Tambahkan peringatan konten"
-#: src/view/screens/ProfileList.tsx:817
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Tambahkan pengguna ke daftar ini"
-#: src/components/dialogs/SwitchAccount.tsx:55
-#: src/view/screens/Settings/index.tsx:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr "Tambahkan akun"
@@ -205,12 +224,12 @@ msgstr "Tambahkan Kata Sandi Aplikasi"
#~ msgstr "Tambahkan detail ke laporan"
#: src/view/com/composer/Composer.tsx:467
-msgid "Add link card"
-msgstr "Tambahkan kartu tautan"
+#~ msgid "Add link card"
+#~ msgstr "Tambahkan kartu tautan"
#: src/view/com/composer/Composer.tsx:472
-msgid "Add link card:"
-msgstr "Tambahkan kartu tautan:"
+#~ msgid "Add link card:"
+#~ msgstr "Tambahkan kartu tautan:"
#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
@@ -269,11 +288,11 @@ msgid "Adult content is disabled."
msgstr ""
#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
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 ""
@@ -291,6 +310,7 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "Teks alt"
@@ -298,7 +318,8 @@ msgstr "Teks alt"
msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone."
msgstr "Teks alt menjelaskan gambar untuk pengguna tunanetra dan pengguna dengan penglihatan rendah, serta membantu memberikan konteks kepada semua orang."
-#: src/view/com/modals/VerifyEmail.tsx:124
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
msgstr "Email telah dikirim ke {0}. Email tersebut berisi kode konfirmasi yang dapat Anda masukkan di bawah ini."
@@ -306,10 +327,16 @@ 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/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr ""
+
#: 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
@@ -317,7 +344,7 @@ msgstr ""
msgid "An issue occurred, please try again."
msgstr "Terjadi masalah, silakan coba lagi."
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "dan"
@@ -326,6 +353,10 @@ msgstr "dan"
msgid "Animals"
msgstr "Hewan"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
msgstr ""
@@ -346,7 +377,7 @@ msgstr "Nama Kata Sandi Aplikasi hanya boleh terdiri dari huruf, angka, spasi, t
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:695
+#: src/view/screens/Settings/index.tsx:647
msgid "App password settings"
msgstr "Pengaturan kata sandi aplikasi"
@@ -354,9 +385,9 @@ msgstr "Pengaturan kata sandi aplikasi"
#~ msgid "App passwords"
#~ msgstr "Kata sandi aplikasi"
-#: src/Navigation.tsx:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "Kata sandi Aplikasi"
@@ -393,7 +424,7 @@ msgstr ""
#~ msgid "Appeal this decision."
#~ msgstr "Ajukan banding untuk keputusan ini."
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "Tampilan"
@@ -405,7 +436,7 @@ msgstr "Anda yakin untuk menghapus kata sandi aplikasi \"{name}\"?"
msgid "Are you sure you want to remove {0} from your feeds?"
msgstr ""
-#: src/view/com/composer/Composer.tsx:509
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr "Anda yakin untuk membuang draf ini?"
@@ -429,7 +460,7 @@ msgstr "Seni"
msgid "Artistic or non-erotic nudity."
msgstr "Ketelanjangan artistik atau non-erotis."
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
msgstr ""
@@ -439,13 +470,13 @@ msgstr ""
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr "Kembali"
@@ -458,7 +489,7 @@ msgstr "Kembali"
msgid "Based on your interest in {interestsText}"
msgstr "Berdasarkan minat Anda pada {interestsText}"
-#: src/view/screens/Settings/index.tsx:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "Dasar"
@@ -466,11 +497,11 @@ msgstr "Dasar"
msgid "Birthday"
msgstr "Tanggal lahir"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr "Tanggal lahir:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
msgstr ""
@@ -484,16 +515,16 @@ msgstr "Blokir Akun"
msgid "Block Account?"
msgstr ""
-#: src/view/screens/ProfileList.tsx:530
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Blokir akun"
-#: 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 "Daftar blokir"
-#: src/view/screens/ProfileList.tsx:629
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "Blokir akun ini?"
@@ -502,7 +533,7 @@ msgstr "Blokir akun ini?"
#~ msgstr "Blokir Daftar ini"
#: 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 "Diblokir"
@@ -510,8 +541,8 @@ msgstr "Diblokir"
msgid "Blocked accounts"
msgstr "Akun yang diblokir"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "Akun yang diblokir"
@@ -519,7 +550,7 @@ msgstr "Akun yang diblokir"
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:120
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."
@@ -527,11 +558,11 @@ msgstr "Akun yang diblokir tidak dapat membalas postingan Anda, menyebutkan Anda
msgid "Blocked post."
msgstr "Postingan yang diblokir."
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: 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 "Blokir bersifat publik. Akun yang diblokir tidak dapat membalas postingan Anda, menyebutkan Anda, dan interaksi lain dengan Anda."
@@ -539,12 +570,10 @@ msgstr "Blokir bersifat publik. Akun yang diblokir tidak dapat membalas postinga
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:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blog"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -597,8 +626,7 @@ msgstr "Buku"
#~ msgid "Build version {0} {1}"
#~ msgstr "Versi {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Bisnis"
@@ -630,7 +658,7 @@ msgstr ""
msgid "by you"
msgstr "oleh Anda"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "Kamera"
@@ -642,8 +670,8 @@ msgstr "Hanya dapat terdiri dari huruf, angka, spasi, tanda hubung dan garis baw
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -658,9 +686,9 @@ msgstr "Hanya dapat terdiri dari huruf, angka, spasi, tanda hubung dan garis baw
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Batal"
@@ -709,34 +737,34 @@ msgstr "Batal mencari"
msgid "Cancels opening the linked website"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
msgstr "Ubah"
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "Ubah"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "Ubah handle"
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "Ubah Handle"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "Ubah email saya"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr "Ubah kata sandi"
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr "Ubah Kata Sandi"
@@ -757,14 +785,18 @@ msgstr "Ubah Email Anda"
msgid "Check my status"
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/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr ""
+
#: 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:"
@@ -798,36 +830,36 @@ msgstr "Pilih algoritma yang akan digunakan untuk feed khusus Anda."
msgid "Choose your main feeds"
msgstr "Pilih feed utama Anda"
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Pilih kata sandi Anda"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr "Hapus semua data penyimpanan lama"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
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:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr "Hapus semua data penyimpanan"
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
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:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "Hapus kueri pencarian"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
msgstr ""
@@ -839,21 +871,22 @@ msgstr "klik di sini"
msgid "Click here to open tag menu for {tag}"
msgstr ""
-#: src/components/RichText.tsx:192
-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 "Iklim"
+#: src/components/dialogs/GifSelect.tsx:300
#: src/view/com/modals/ChangePassword.tsx:267
#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "Tutup"
-#: src/components/Dialog/index.web.tsx:106
-#: src/components/Dialog/index.web.tsx:218
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr "Tutup dialog aktif"
@@ -865,6 +898,14 @@ msgstr "Tutup peringatan"
msgid "Close bottom drawer"
msgstr "Tutup kotak bawah"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr ""
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Tutup gambar"
@@ -873,7 +914,7 @@ msgstr "Tutup gambar"
msgid "Close image viewer"
msgstr "Tutup penampil gambar"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr "Tutup footer navigasi"
@@ -882,7 +923,7 @@ msgstr "Tutup footer navigasi"
msgid "Close this dialog"
msgstr ""
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr "Menutup bilah navigasi bawah"
@@ -890,7 +931,7 @@ msgstr "Menutup bilah navigasi bawah"
msgid "Closes password update alert"
msgstr "Menutup peringatan pembaruan kata sandi"
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr "Menutup penyusun postingan dan membuang draf"
@@ -898,7 +939,7 @@ msgstr "Menutup penyusun postingan dan membuang draf"
msgid "Closes viewer for header image"
msgstr "Menutup penampil untuk gambar header"
-#: src/view/com/notifications/FeedItem.tsx:321
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "Menciutkan daftar pengguna untuk notifikasi tertentu"
@@ -910,7 +951,7 @@ msgstr "Komedi"
msgid "Comics"
msgstr "Komik"
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Panduan Komunitas"
@@ -919,11 +960,11 @@ msgstr "Panduan Komunitas"
msgid "Complete onboarding and start using your account"
msgstr "Selesaikan onboarding dan mulai menggunakan akun Anda"
-#: src/screens/Signup/index.tsx:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr ""
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Buat postingan dengan panjang hingga {MAX_GRAPHEME_LENGTH} karakter"
@@ -946,10 +987,12 @@ 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/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
msgid "Confirm"
msgstr "Konfirmasi"
@@ -984,10 +1027,13 @@ msgstr ""
msgid "Confirm your birthdate"
msgstr ""
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
msgid "Confirmation code"
msgstr "Kode konfirmasi"
@@ -995,11 +1041,11 @@ msgstr "Kode konfirmasi"
#~ msgid "Confirms signing up {email} to the waitlist"
#~ msgstr "Konfirmasi pendaftaran {email} ke daftar tunggu"
-#: src/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "Menghubungkan..."
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Hubungi pusat bantuan"
@@ -1053,8 +1099,8 @@ msgstr ""
#: 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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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"
@@ -1067,7 +1113,7 @@ msgstr ""
#: 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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Lanjutkan ke langkah berikutnya"
@@ -1088,17 +1134,21 @@ msgstr "Memasak"
msgid "Copied"
msgstr "Disalin"
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
msgid "Copied build version to clipboard"
msgstr "Menyalin versi build ke papan klip"
#: 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:158
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "Disalin ke papan klip"
+#: 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"
@@ -1111,12 +1161,17 @@ msgstr "Salin"
msgid "Copy {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:388
+#: 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:228
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
msgid "Copy link to post"
msgstr "Salin tautan ke postingan"
@@ -1124,12 +1179,12 @@ msgstr "Salin tautan ke postingan"
#~ msgid "Copy link to profile"
#~ msgstr "Salin tautan ke profil"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "Salin teks postingan"
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Kebijakan Hak Cipta"
@@ -1138,7 +1193,7 @@ msgstr "Kebijakan Hak Cipta"
msgid "Could not load feed"
msgstr "Tidak dapat memuat feed"
-#: src/view/screens/ProfileList.tsx:907
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "Tidak dapat memuat daftar"
@@ -1146,31 +1201,34 @@ msgstr "Tidak dapat memuat daftar"
#~ msgid "Country"
#~ msgstr "Negara"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr "Buat akun Bluesky baru"
-#: src/screens/Signup/index.tsx:129
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Buat Akun"
+#: 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:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr "Buat akun baru"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:93
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
msgid "Create report for {0}"
msgstr ""
@@ -1187,8 +1245,8 @@ msgstr "Dibuat {0}"
#~ msgstr "Dibuat oleh Anda"
#: 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}"
+#~ 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"
@@ -1204,11 +1262,11 @@ msgid "Custom domain"
msgstr "Domain kustom"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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 "Feed khusus yang dibuat oleh komunitas memberikan pengalaman baru dan membantu Anda menemukan konten yang Anda sukai."
-#: src/view/screens/PreferencesExternalEmbeds.tsx:55
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr "Sesuaikan media dari situs eksternal."
@@ -1216,8 +1274,8 @@ msgstr "Sesuaikan media dari situs eksternal."
#~ msgid "Danger Zone"
#~ msgstr "Zona Berbahaya"
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr "Gelap"
@@ -1225,11 +1283,11 @@ msgstr "Gelap"
msgid "Dark mode"
msgstr "Mode gelap"
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr "Tema Gelap"
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
msgstr ""
@@ -1237,7 +1295,7 @@ msgstr ""
#~ msgid "Debug"
#~ msgstr "Debug"
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
msgstr ""
@@ -1245,13 +1303,13 @@ msgstr ""
msgid "Debug panel"
msgstr "Panel debug"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: 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:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "Hapus akun"
@@ -1267,7 +1325,7 @@ msgstr "Hapus kata sandi aplikasi"
msgid "Delete app password?"
msgstr ""
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Hapus Daftar"
@@ -1279,24 +1337,24 @@ msgstr "Hapus akun saya"
#~ msgid "Delete my account…"
#~ msgstr "Hapus akun saya…"
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
msgid "Delete My Account…"
msgstr "Hapus Akun Saya…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:302
-#: src/view/com/util/forms/PostDropdownBtn.tsx:304
+#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
msgid "Delete post"
msgstr "Hapus postingan"
-#: 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:340
msgid "Delete this post?"
msgstr "Hapus postingan ini?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:64
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Dihapus"
@@ -1319,14 +1377,34 @@ msgstr "Deskripsi"
#~ msgid "Developer Tools"
#~ msgstr "Alat Pengembang"
-#: src/view/com/composer/Composer.tsx:218
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr "Apakah Anda ingin mengatakan sesuatu?"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr "Redup"
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr ""
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr ""
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+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
@@ -1334,7 +1412,7 @@ msgstr "Redup"
msgid "Disabled"
msgstr ""
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr "Buang"
@@ -1342,7 +1420,7 @@ msgstr "Buang"
#~ msgid "Discard draft"
#~ msgstr "Buang draf"
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
msgstr ""
@@ -1360,7 +1438,7 @@ 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 ""
@@ -1380,7 +1458,7 @@ msgstr ""
msgid "Does not include nudity."
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
msgstr ""
@@ -1414,7 +1492,7 @@ msgstr "Domain terverifikasi!"
msgid "Done"
msgstr "Selesai"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: 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
@@ -1444,7 +1522,7 @@ msgstr "Selesai{extraText}"
msgid "Download CAR file"
msgstr ""
-#: src/view/com/composer/text-input/TextInput.web.tsx:249
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr "Lepaskan untuk menambahkan gambar"
@@ -1497,7 +1575,7 @@ msgctxt "action"
msgid "Edit"
msgstr "Ubah"
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
msgstr ""
@@ -1507,7 +1585,7 @@ msgstr ""
msgid "Edit image"
msgstr "Edit gambar"
-#: src/view/screens/ProfileList.tsx:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Edit detail daftar"
@@ -1515,9 +1593,9 @@ msgstr "Edit detail daftar"
msgid "Edit Moderation List"
msgstr "Ubah Daftar Moderasi"
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Edit Feed Saya"
@@ -1525,18 +1603,18 @@ msgstr "Edit Feed Saya"
msgid "Edit my profile"
msgstr "Edit profil saya"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "Edit profil"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
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"
@@ -1561,6 +1639,10 @@ msgstr "Pendidikan"
msgid "Email"
msgstr "Email"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr ""
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Alamat email"
@@ -1574,14 +1656,28 @@ msgstr "Email diperbarui"
msgid "Email Updated"
msgstr "Email Diupdate"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr "Email terverifikasi"
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
msgid "Email:"
msgstr "Email:"
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+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"
@@ -1608,7 +1704,7 @@ msgstr ""
#~ msgid "Enable External Media"
#~ msgstr "Aktifkan Media Eksternal"
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr "Aktifkan pemutar media untuk"
@@ -1624,7 +1720,7 @@ msgstr ""
msgid "Enabled"
msgstr ""
-#: src/screens/Profile/Sections/Feed.tsx:84
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Akhir feed"
@@ -1641,7 +1737,7 @@ msgstr ""
msgid "Enter a word or tag"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:105
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr "Masukkan Kode Konfirmasi"
@@ -1670,7 +1766,7 @@ msgstr "Masukkan tanggal lahir Anda"
#~ msgstr "Masukkan email Anda"
#: src/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Masukkan alamat email Anda"
@@ -1694,7 +1790,7 @@ msgstr "Masukkan nama pengguna dan kata sandi Anda"
msgid "Error receiving captcha response."
msgstr ""
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Eror:"
@@ -1735,8 +1831,8 @@ msgstr "Keluar dari memasukkan permintaan pencarian"
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"
@@ -1748,12 +1844,12 @@ msgstr ""
msgid "Explicit sexual images."
msgstr ""
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr ""
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr ""
@@ -1763,17 +1859,17 @@ msgid "External Media"
msgstr "Media Eksternal"
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:275
-#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr "Preferensi Media Eksternal"
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr "Pengaturan media eksternal"
@@ -1786,12 +1882,16 @@ msgstr "Gagal membuat kata sandi aplikasi."
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:125
+#: 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/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+msgstr ""
+
+#: 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"
@@ -1799,7 +1899,7 @@ msgstr "Gagal memuat rekomendasi feed"
msgid "Failed to save image: {0}"
msgstr ""
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr "Feed"
@@ -1807,7 +1907,7 @@ msgstr "Feed"
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"
@@ -1816,18 +1916,18 @@ msgstr "Feed offline"
#~ msgstr "Preferensi Feed"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:314
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Masukan"
-#: src/Navigation.tsx:464
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "Feed"
@@ -1839,11 +1939,11 @@ msgstr "Feed"
#~ msgid "Feeds are created by users and organizations. They offer you varied experiences and suggest content you may like using algorithms."
#~ 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."
@@ -1869,13 +1969,17 @@ msgstr "Menyelesaikan"
msgid "Find accounts to follow"
msgstr "Temukan akun untuk diikuti"
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
-msgstr "Temukan pengguna di Bluesky"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:589
+#~ msgid "Find users on Bluesky"
+#~ msgstr "Temukan pengguna di Bluesky"
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr "Temukan pengguna dengan alat pencarian di sebelah kanan"
+#: 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:155
msgid "Finding similar accounts..."
@@ -1911,10 +2015,10 @@ msgid "Flip vertically"
msgstr "Balik secara vertikal"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Ikuti"
@@ -1924,7 +2028,7 @@ msgid "Follow"
msgstr "Ikuti"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "Ikuti {0}"
@@ -1950,11 +2054,11 @@ msgstr "Ikuti akun yang dipilih dan lanjutkan ke langkah berikutnya"
#~ msgid "Follow selected accounts and continue to then next step"
#~ 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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr "Diikuti oleh {0}"
@@ -1966,7 +2070,7 @@ msgstr "Pengguna yang diikuti"
msgid "Followed users only"
msgstr "Hanya pengguna yang diikuti"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "mengikuti Anda"
@@ -1978,26 +2082,26 @@ msgstr "Pengikut"
#~ msgid "following"
#~ msgstr "mengikuti"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:93
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr "Mengikuti {0}"
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
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/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
msgstr ""
@@ -2005,7 +2109,7 @@ msgstr ""
msgid "Follows you"
msgstr "Mengikuti Anda"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr "Mengikuti Anda"
@@ -2034,11 +2138,11 @@ msgstr "Untuk alasan keamanan, Anda tidak akan dapat melihat ini lagi. Jika Anda
msgid "Forgot Password"
msgstr "Lupa Kata Sandi"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
msgstr ""
@@ -2046,22 +2150,21 @@ msgstr ""
msgid "Frequently Posts Unwanted Content"
msgstr ""
-#: src/screens/Hashtag.tsx:109
-#: src/screens/Hashtag.tsx:149
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
msgstr ""
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "Dari <0/>"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "Galeri"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "Memulai"
@@ -2075,25 +2178,25 @@ msgstr ""
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: src/view/screens/ProfileList.tsx:918
#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Kembali"
-#: src/components/Error.tsx:91
+#: src/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Kembali"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "Kembali ke langkah sebelumnya"
@@ -2105,7 +2208,7 @@ msgstr ""
msgid "Go Home"
msgstr ""
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "Kembali ke @{queryMaybeHandle}"
@@ -2123,11 +2226,15 @@ msgstr ""
msgid "Handle"
msgstr "Handle"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
msgstr ""
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
msgstr ""
@@ -2135,16 +2242,16 @@ msgstr ""
#~ msgid "Hashtag: {tag}"
#~ msgstr ""
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
msgstr ""
-#: src/screens/Signup/index.tsx:217
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "Mengalami masalah?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Bantuan"
@@ -2177,17 +2284,17 @@ msgstr "Berikut kata sandi aplikasi Anda."
#: 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:354
msgid "Hide"
msgstr "Sembunyikan"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: 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:278
+#: src/view/com/util/forms/PostDropdownBtn.tsx:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr "Sembunyikan postingan"
@@ -2196,11 +2303,11 @@ msgstr "Sembunyikan postingan"
msgid "Hide the content"
msgstr "Sembunyikan konten"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr "Sembunyikan postingan ini?"
-#: src/view/com/notifications/FeedItem.tsx:319
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "Sembunyikan daftar pengguna"
@@ -2236,11 +2343,11 @@ msgstr ""
msgid "Hmmmm, we couldn't load that moderation service."
msgstr ""
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Beranda"
@@ -2256,7 +2363,7 @@ msgid "Host:"
msgstr ""
#: src/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
@@ -2270,11 +2377,13 @@ msgstr "Provider hosting"
msgid "How should we open this link?"
msgstr "Bagaimana kami harus membuka tautan ini?"
-#: src/view/com/modals/VerifyEmail.tsx:214
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "Saya punya kode"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr "Saya punya kode konfirmasi"
@@ -2294,11 +2403,11 @@ msgstr "Jika tidak ada yang dipilih, cocok untuk semua umur."
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:610
+#: 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:342
msgid "If you remove this post, you won't be able to recover it."
msgstr ""
@@ -2367,11 +2476,15 @@ msgstr "Masukkan kata sandi untuk penghapusan akun"
#~ msgid "Input phone number for SMS verification"
#~ msgstr "Masukkan nomor telepon untuk verifikasi SMS"
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr "Masukkan kata sandi yang terkait dengan {identifier}"
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
msgid "Input the username or email address you used at signup"
msgstr "Masukkan nama pengguna atau alamat email yang Anda gunakan saat mendaftar"
@@ -2383,7 +2496,7 @@ msgstr "Masukkan nama pengguna atau alamat email yang Anda gunakan saat mendafta
#~ msgid "Input your email to get on the Bluesky waitlist"
#~ msgstr "Masukkan email Anda untuk masuk ke daftar tunggu Bluesky"
-#: src/screens/Login/LoginForm.tsx:194
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr "Masukkan kata sandi Anda"
@@ -2391,15 +2504,20 @@ msgstr "Masukkan kata sandi Anda"
msgid "Input your preferred hosting provider"
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:62
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "Masukkan handle pengguna Anda"
-#: src/view/com/post-thread/PostThreadItem.tsx:221
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr "Catatan posting tidak valid atau tidak didukung"
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr "Username atau kata sandi salah"
@@ -2435,8 +2553,7 @@ msgstr "Kode undangan: 1 tersedia"
msgid "It shows posts from the people you follow as they happen."
msgstr "Feed ini menampilkan postingan secara langsung dari orang yang Anda ikuti."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "Karir"
@@ -2469,11 +2586,11 @@ msgstr ""
msgid "Labeled by the author."
msgstr ""
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
msgstr ""
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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 ""
@@ -2493,16 +2610,16 @@ msgstr ""
msgid "Language selection"
msgstr "Pilih bahasa"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr "Pengaturan bahasa"
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Pengaturan Bahasa"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "Bahasa"
@@ -2510,6 +2627,11 @@ msgstr "Bahasa"
#~ msgid "Last step!"
#~ msgstr "Langkah terakhir!"
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr ""
+
#: src/view/com/util/moderation/ContentHider.tsx:103
#~ msgid "Learn more"
#~ msgstr "Pelajari lebih lanjut"
@@ -2548,7 +2670,7 @@ msgstr "Meninggalkan Bluesky"
msgid "left to go."
msgstr "yang tersisa"
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "Penyimpanan lama dihapus, Anda perlu memulai ulang aplikasi sekarang."
@@ -2566,22 +2688,22 @@ msgstr "Ayo!"
#~ msgid "Library"
#~ msgstr "Pustaka"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr "Terang"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Suka"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "Suka feed ini"
#: src/components/LikesDialog.tsx:87
-#: src/Navigation.tsx:201
-#: src/Navigation.tsx:206
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
msgid "Liked by"
msgstr "Disukai oleh"
@@ -2599,13 +2721,13 @@ msgstr "Disukai oleh {0} {1}"
msgid "Liked by {count} {0}"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "menyukai feed khusus Anda"
@@ -2617,19 +2739,19 @@ msgstr "menyukai feed khusus Anda"
#~ msgid "liked your custom feed{0}"
#~ msgstr "menyukai feed khusus Anda{0}"
-#: src/view/com/notifications/FeedItem.tsx:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "menyukai postingan Anda"
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr "Suka"
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr "Suka pada postingan ini"
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr "Daftar"
@@ -2637,7 +2759,7 @@ msgstr "Daftar"
msgid "List Avatar"
msgstr "Avatar Daftar"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Daftar diblokir"
@@ -2645,11 +2767,11 @@ msgstr "Daftar diblokir"
msgid "List by {0}"
msgstr "Daftar oleh {0}"
-#: src/view/screens/ProfileList.tsx:355
+#: 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"
@@ -2657,20 +2779,20 @@ msgstr "Daftar dibisukan"
msgid "List Name"
msgstr "Nama Daftar"
-#: src/view/screens/ProfileList.tsx:325
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Daftar tidak diblokir"
-#: src/view/screens/ProfileList.tsx:297
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Daftar tidak dibisukan"
-#: src/Navigation.tsx:114
-#: src/view/screens/Profile.tsx:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "Daftar"
@@ -2683,10 +2805,10 @@ msgstr "Daftar"
msgid "Load new notifications"
msgstr "Muat notifikasi baru"
-#: src/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Muat postingan baru"
@@ -2698,7 +2820,7 @@ msgstr "Memuat..."
#~ msgid "Local dev server"
#~ msgstr "Server dev lokal"
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr "Catatan"
@@ -2717,6 +2839,10 @@ msgstr "Visibilitas pengguna yang tidak login"
msgid "Login to account that is not listed"
msgstr "Masuk ke akun yang tidak ada di daftar"
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+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 "Sepertinya feed ini hanya tersedia untuk pengguna dengan akun Bluesky. Silakan daftar atau masuk untuk melihat feed ini!"
@@ -2740,7 +2866,8 @@ msgstr ""
#~ msgid "May only contain letters and numbers"
#~ msgstr ""
-#: src/view/screens/Profile.tsx:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr "Media"
@@ -2752,8 +2879,8 @@ msgstr "pengguna yang disebutkan"
msgid "Mentioned users"
msgstr "Pengguna yang disebutkan"
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "Menu"
@@ -2768,12 +2895,12 @@ msgstr "Pesan dari server: {0}"
msgid "Misleading Account"
msgstr ""
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Moderasi"
@@ -2786,13 +2913,13 @@ msgstr ""
msgid "Moderation list by {0}"
msgstr "Daftar moderasi oleh {0}"
-#: src/view/screens/ProfileList.tsx:789
+#: 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:787
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Daftar moderasi oleh Anda"
@@ -2808,16 +2935,16 @@ msgstr "Daftar moderasi diperbarui"
msgid "Moderation lists"
msgstr "Daftar moderasi"
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Daftar Moderasi"
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr "Pengaturan moderasi"
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
msgstr ""
@@ -2838,7 +2965,7 @@ msgstr ""
msgid "More feeds"
msgstr "Feed lainnya"
-#: src/view/screens/ProfileList.tsx:599
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Pilihan lainnya"
@@ -2867,7 +2994,7 @@ msgstr ""
msgid "Mute Account"
msgstr "Bisukan Akun"
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Bisukan akun"
@@ -2887,12 +3014,12 @@ msgstr ""
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 "Daftar akun yang dibisukan"
-#: src/view/screens/ProfileList.tsx:619
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "Bisukan akun ini?"
@@ -2908,13 +3035,13 @@ msgstr ""
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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
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:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
msgstr ""
@@ -2926,12 +3053,12 @@ msgstr "Dibisukan"
msgid "Muted accounts"
msgstr "Akun yang dibisukan"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: 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."
@@ -2943,7 +3070,7 @@ msgstr ""
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 "Pembisuan akun bersifat privat. Akun yang dibisukan tetap dapat berinteraksi dengan Anda, namun Anda tidak akan melihat postingan atau notifikasi dari mereka."
@@ -2952,7 +3079,7 @@ msgstr "Pembisuan akun bersifat privat. Akun yang dibisukan tetap dapat berinter
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"
@@ -2960,11 +3087,11 @@ msgstr "Feed Saya"
msgid "My Profile"
msgstr "Profil Saya"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
msgstr ""
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
msgid "My Saved Feeds"
msgstr "Feed Tersimpan Saya"
@@ -2992,7 +3119,7 @@ msgid "Nature"
msgstr "Alam"
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Menuju ke layar berikutnya"
@@ -3001,7 +3128,7 @@ msgstr "Menuju ke layar berikutnya"
msgid "Navigates to your profile"
msgstr "Menuju ke profil Anda"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
msgid "Need to report a copyright violation?"
msgstr ""
@@ -3048,17 +3175,17 @@ msgstr "Kata sandi baru"
msgid "New Password"
msgstr "Kata Sandi Baru"
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
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:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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"
@@ -3085,12 +3212,12 @@ msgstr "Berita"
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -3114,8 +3241,8 @@ msgstr "Gambar berikutnya"
msgid "No"
msgstr "Tidak"
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Tidak ada deskripsi"
@@ -3123,11 +3250,15 @@ msgstr "Tidak ada deskripsi"
msgid "No DNS Panel"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr "Tidak lagi mengikuti {0}"
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
msgstr ""
@@ -3140,20 +3271,24 @@ msgstr "Belum ada notifikasi!"
msgid "No result"
msgstr "Tidak ada hasil"
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "Tidak ada hasil ditemukan untuk {query}"
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr ""
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
@@ -3176,19 +3311,19 @@ msgstr ""
msgid "Not Applicable."
msgstr "Tidak Berlaku."
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "Tidak ditemukan"
-#: src/view/com/modals/VerifyEmail.tsx:246
-#: src/view/com/modals/VerifyEmail.tsx:252
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr "Jangan sekarang"
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
msgstr ""
@@ -3196,13 +3331,13 @@ msgstr ""
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:469
+#: src/Navigation.tsx:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Notifikasi"
@@ -3218,7 +3353,7 @@ msgstr ""
#~ msgid "Nudity or pornography not labeled as such"
#~ msgstr ""
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
msgstr ""
@@ -3226,7 +3361,8 @@ msgstr ""
msgid "Off"
msgstr ""
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "Oh tidak!"
@@ -3235,7 +3371,7 @@ 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:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
msgstr ""
@@ -3247,11 +3383,11 @@ msgstr "Baiklah"
msgid "Oldest replies first"
msgstr "Balasan terlama terlebih dahulu"
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr "Atur ulang orientasi"
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr "Satu atau lebih gambar belum ada teks alt."
@@ -3259,17 +3395,17 @@ msgstr "Satu atau lebih gambar belum ada teks alt."
msgid "Only {0} can reply."
msgstr "Hanya {0} dapat membalas."
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
msgstr ""
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
msgstr ""
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Uups!"
@@ -3281,16 +3417,16 @@ msgstr "Buka"
#~ msgid "Open content filtering settings"
#~ msgstr ""
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr "Buka pemilih emoji"
-#: src/view/screens/ProfileFeed.tsx:300
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
msgstr ""
-#: src/view/screens/Settings/index.tsx:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr "Buka tautan dengan browser dalam aplikasi"
@@ -3302,20 +3438,20 @@ msgstr ""
#~ msgid "Open muted words settings"
#~ msgstr ""
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Buka navigasi"
-#: 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:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr "Buka halaman buku cerita"
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
msgstr ""
@@ -3323,15 +3459,19 @@ msgstr ""
msgid "Opens {numItems} options"
msgstr "Membuka opsi {numItems}"
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr ""
+
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
msgstr "Membuka detail tambahan untuk entri debug"
-#: src/view/com/notifications/FeedItem.tsx:353
+#: 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:78
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr "Membuka kamera pada perangkat"
@@ -3339,11 +3479,11 @@ msgstr "Membuka kamera pada perangkat"
msgid "Opens composer"
msgstr "Membuka penyusun postingan"
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr "Membuka pengaturan bahasa yang dapat dikonfigurasi"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
msgid "Opens device photo gallery"
msgstr "Membuka galeri foto perangkat"
@@ -3351,19 +3491,17 @@ msgstr "Membuka galeri foto perangkat"
#~ 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:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr "Membuka pengaturan penyematan eksternal"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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 ""
@@ -3375,6 +3513,10 @@ msgstr ""
#~ msgid "Opens following list"
#~ msgstr "Membuka daftar mengikuti"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr ""
+
#: src/view/screens/Settings.tsx:412
#~ msgid "Opens invite code list"
#~ msgstr "Membuka daftar kode undangan"
@@ -3383,7 +3525,7 @@ msgstr ""
msgid "Opens list of invite codes"
msgstr "Membuka daftar kode undangan"
-#: src/view/screens/Settings/index.tsx:798
+#: src/view/screens/Settings/index.tsx:757
msgid "Opens modal for account deletion confirmation. Requires email code"
msgstr ""
@@ -3391,19 +3533,19 @@ msgstr ""
#~ 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:756
+#: src/view/screens/Settings/index.tsx:715
msgid "Opens modal for changing your Bluesky password"
msgstr ""
-#: src/view/screens/Settings/index.tsx:718
+#: src/view/screens/Settings/index.tsx:670
msgid "Opens modal for choosing a new Bluesky handle"
msgstr ""
-#: src/view/screens/Settings/index.tsx:779
+#: src/view/screens/Settings/index.tsx:738
msgid "Opens modal for downloading your Bluesky account data (repository)"
msgstr ""
-#: src/view/screens/Settings/index.tsx:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
msgstr ""
@@ -3411,24 +3553,24 @@ msgstr ""
msgid "Opens modal for using custom domain"
msgstr "Buka modal untuk menggunakan domain kustom"
-#: src/view/screens/Settings/index.tsx:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "Buka pengaturan moderasi"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
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 Feed Tersimpan"
-#: src/view/screens/Settings/index.tsx:597
+#: src/view/screens/Settings/index.tsx:549
msgid "Opens screen with all saved feeds"
msgstr "Buka halaman dengan semua feed tersimpan"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:648
msgid "Opens the app password settings"
msgstr ""
@@ -3436,7 +3578,7 @@ msgstr ""
#~ msgid "Opens the app password settings page"
#~ msgstr "Buka halaman pengaturan kata sandi aplikasi"
-#: src/view/screens/Settings/index.tsx:554
+#: src/view/screens/Settings/index.tsx:506
msgid "Opens the Following feed preferences"
msgstr ""
@@ -3448,16 +3590,16 @@ msgstr ""
msgid "Opens the linked website"
msgstr ""
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr "Buka halaman storybook"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "Buka halaman log sistem"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "Buka preferensi utasan"
@@ -3465,7 +3607,7 @@ msgstr "Buka preferensi utasan"
msgid "Option {0} of {numItems}"
msgstr "Opsi {0} dari {numItems}"
-#: src/components/ReportDialog/SubmitView.tsx:162
+#: src/components/ReportDialog/SubmitView.tsx:160
msgid "Optionally provide additional information below:"
msgstr ""
@@ -3493,7 +3635,7 @@ msgstr "Akun lainnya"
msgid "Other..."
msgstr "Lainnya..."
-#: src/components/Lists.tsx:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Halaman tidak ditemukan"
@@ -3502,8 +3644,8 @@ msgstr "Halaman tidak ditemukan"
msgid "Page Not Found"
msgstr "Halaman Tidak Ditemukan"
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3521,11 +3663,19 @@ msgstr "Kata sandi diganti"
msgid "Password updated!"
msgstr "Kata sandi diganti!"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr "Orang yang diikuti oleh @{0}"
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr "Orang yang mengikuti @{0}"
@@ -3549,23 +3699,31 @@ msgstr "Hewan Peliharaan"
msgid "Pictures meant for adults."
msgstr "Gambar yang ditujukan untuk orang dewasa."
-#: src/view/screens/ProfileFeed.tsx:292
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "Sematkan ke beranda"
-#: src/view/screens/ProfileFeed.tsx:295
+#: 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 "Feed Tersemat"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Play"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "Putar {0}"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3635,11 +3793,11 @@ msgstr ""
#~ msgid "Please tell us why you think this decision was incorrect."
#~ msgstr "Mohon beritahu kami mengapa menurut Anda keputusan ini salah."
-#: src/view/com/modals/VerifyEmail.tsx:101
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr "Mohon Verifikasi Email Anda"
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr "Harap tunggu hingga kartu tautan Anda selesai dimuat"
@@ -3655,8 +3813,8 @@ msgstr "Pornografi"
#~ msgid "Pornography"
#~ msgstr ""
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr "Posting"
@@ -3669,17 +3827,17 @@ msgstr "Posting"
#~ msgid "Post"
#~ msgstr "Posting"
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr "Postingan oleh {0}"
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
msgid "Post by @{0}"
msgstr "Postingan oleh @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:105
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Postingan dihapus"
@@ -3714,7 +3872,7 @@ msgstr "Postingan tidak ditemukan"
msgid "posts"
msgstr ""
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr "Postingan"
@@ -3730,13 +3888,13 @@ msgstr "Postingan disembunyikan"
msgid "Potentially Misleading Link"
msgstr "Tautan yang Mungkin Menyesatkan"
-#: src/components/forms/HostingProvider.tsx:45
+#: 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:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
msgstr ""
@@ -3752,16 +3910,16 @@ msgstr "Bahasa Utama"
msgid "Prioritize Your Follows"
msgstr "Prioritaskan Pengikut Anda"
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Privasi"
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Kebijakan Privasi"
@@ -3770,15 +3928,15 @@ msgid "Processing..."
msgstr "Memproses..."
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
msgstr ""
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Profil"
@@ -3786,7 +3944,7 @@ msgstr "Profil"
msgid "Profile updated"
msgstr "Profil diperbarui"
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "Amankan akun Anda dengan memverifikasi email Anda."
@@ -3802,11 +3960,11 @@ 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:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr "Publikasikan postingan"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr "Publikasikan balasan"
@@ -3835,15 +3993,15 @@ msgstr "Acak (alias \"Rolet Poster\")"
msgid "Ratios"
msgstr "Rasio"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: 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"
@@ -3864,7 +4022,7 @@ msgstr "Hapus"
msgid "Remove account"
msgstr "Hapus akun"
-#: src/view/com/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
msgstr ""
@@ -3882,8 +4040,8 @@ msgstr ""
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Hapus dari feed saya"
@@ -3895,7 +4053,7 @@ msgstr ""
msgid "Remove image"
msgstr "Hapus gambar"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr "Hapus pratinjau gambar"
@@ -3928,15 +4086,15 @@ msgstr "Dihapus dari daftar"
msgid "Removed from my feeds"
msgstr "Dihapus dari feed saya"
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
msgstr ""
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr "Menghapus gambar pra tinjau bawaan dari {0}"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr "Balasan"
@@ -3944,7 +4102,7 @@ msgstr "Balasan"
msgid "Replies to this thread are disabled"
msgstr "Balasan ke utas ini dinonaktifkan"
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr "Balas"
@@ -3953,11 +4111,17 @@ msgstr "Balas"
msgid "Reply Filters"
msgstr "Penyaring Balasan"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
+#: 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/post/Post.tsx:178
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
-msgid "Reply to <0/>"
-msgstr "Balas ke <0/>"
+msgid "Reply to <0><1/>0>"
+msgstr ""
#: src/view/com/modals/report/Modal.tsx:166
#~ msgid "Report {collectionName}"
@@ -3972,17 +4136,17 @@ msgstr "Laporkan Akun"
msgid "Report dialog"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "Laporkan feed"
-#: src/view/screens/ProfileList.tsx:429
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Laporkan Daftar"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:292
-#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "Laporkan postingan"
@@ -4031,7 +4195,7 @@ msgstr "Posting ulang atau kutip postingan"
msgid "Reposted By"
msgstr "Diposting Ulang Oleh"
-#: src/view/com/posts/FeedItem.tsx:197
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "Diposting ulang oleh {0}"
@@ -4040,14 +4204,18 @@ msgstr "Diposting ulang oleh {0}"
#~ msgstr "Diposting ulang oleh {0})"
#: src/view/com/posts/FeedItem.tsx:214
-msgid "Reposted by <0/>"
-msgstr "Diposting ulang oleh <0/>"
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Diposting ulang oleh <0/>"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: 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:187
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr "Posting ulang postingan ini"
@@ -4065,14 +4233,23 @@ msgstr "Ajukan Perubahan"
msgid "Request Code"
msgstr "Minta Kode"
-#: src/view/screens/Settings/index.tsx:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr "Memerlukan teks alt sebelum memposting"
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr ""
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Diwajibkan untuk provider ini"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr ""
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Kode reset"
@@ -4085,8 +4262,8 @@ msgstr "Kode Reset"
#~ msgid "Reset onboarding"
#~ msgstr "Atur ulang onboarding"
-#: src/view/screens/Settings/index.tsx:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr "Reset status onboarding"
@@ -4098,20 +4275,20 @@ msgstr "Reset kata sandi"
#~ msgid "Reset preferences"
#~ msgstr "Atur ulang preferensi"
-#: src/view/screens/Settings/index.tsx:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr "Atur ulang status preferensi"
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr "Reset status onboarding"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr "Reset status preferensi"
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr "Mencoba masuk kembali"
@@ -4120,13 +4297,13 @@ msgstr "Mencoba masuk kembali"
msgid "Retries the last action, which errored out"
msgstr "Coba kembali tindakan terakhir, yang gagal"
-#: src/components/Error.tsx:79
-#: src/components/Lists.tsx:91
-#: src/screens/Login/LoginForm.tsx:234
-#: src/screens/Login/LoginForm.tsx:241
+#: src/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
@@ -4136,8 +4313,8 @@ msgstr "Ulangi"
#~ msgid "Retry."
#~ msgstr "Ulangi"
-#: src/components/Error.tsx:86
-#: src/view/screens/ProfileList.tsx:917
+#: src/components/Error.tsx:95
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Kembali ke halaman sebelumnya"
@@ -4187,12 +4364,12 @@ msgstr "Simpan perubahan handle"
msgid "Save image crop"
msgstr "Simpan potongan gambar"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: 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 "Simpan Feed"
@@ -4200,7 +4377,7 @@ msgstr "Simpan Feed"
msgid "Saved to your camera roll."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
msgstr ""
@@ -4220,28 +4397,28 @@ msgstr ""
msgid "Science"
msgstr "Sains"
-#: src/view/screens/ProfileList.tsx:873
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Gulir ke atas"
-#: src/Navigation.tsx:459
+#: src/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Cari"
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "Cari \"{query}\""
@@ -4268,6 +4445,14 @@ msgstr ""
msgid "Search for users"
msgstr "Cari pengguna"
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr ""
+
#: src/view/com/modals/ChangeEmail.tsx:110
msgid "Security Step Required"
msgstr "Langkah Keamanan Diperlukan"
@@ -4296,13 +4481,18 @@ 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:40
-msgid "See what's next"
-msgstr "Lihat apa yang akan datang"
+#~ msgid "See what's next"
+#~ msgstr "Lihat apa yang akan datang"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
@@ -4320,6 +4510,14 @@ msgstr ""
msgid "Select from an existing account"
msgstr "Pilih dari akun yang sudah ada"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
msgstr ""
@@ -4341,7 +4539,7 @@ msgstr "Pilih opsi {i} dari {numItems}"
msgid "Select some accounts below to follow"
msgstr "Pilih beberapa akun di bawah ini untuk diikuti"
-#: src/components/ReportDialog/SubmitView.tsx:135
+#: src/components/ReportDialog/SubmitView.tsx:133
msgid "Select the moderation service(s) to report to"
msgstr ""
@@ -4373,7 +4571,7 @@ msgstr "Pilih bahasa yang ingin Anda langgani di feed Anda. Jika tidak memilih,
msgid "Select your app language for the default text to display in the app."
msgstr ""
-#: src/screens/Signup/StepInfo/index.tsx:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
msgstr ""
@@ -4397,8 +4595,8 @@ msgstr "Pilih feed algoritma utama Anda"
msgid "Select your secondary algorithmic feeds"
msgstr "Pilih feed algoritma sekunder Anda"
-#: src/view/com/modals/VerifyEmail.tsx:202
-#: src/view/com/modals/VerifyEmail.tsx:204
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "Kirim Email Konfirmasi"
@@ -4414,13 +4612,13 @@ msgstr "Kirim Email"
#~ msgid "Send Email"
#~ msgstr "Kirim Email"
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Kirim masukan"
-#: 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 ""
@@ -4432,6 +4630,11 @@ msgstr ""
msgid "Send report to {0}"
msgstr ""
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
+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"
@@ -4514,23 +4717,23 @@ msgstr "Atur akun Anda"
msgid "Sets Bluesky username"
msgstr "Atur nama pengguna Bluesky"
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
msgstr ""
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
msgstr ""
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
msgstr ""
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
msgstr ""
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
msgstr ""
@@ -4563,11 +4766,11 @@ msgstr ""
#~ msgid "Sets server for the Bluesky client"
#~ msgstr "Atur server untuk klien Bluesky"
-#: src/Navigation.tsx:139
-#: src/view/screens/Settings/index.tsx:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Pengaturan"
@@ -4586,21 +4789,21 @@ msgstr "Bagikan"
#: 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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Bagikan"
#: src/view/com/profile/ProfileMenu.tsx:373
-#: src/view/com/util/forms/PostDropdownBtn.tsx:347
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Bagikan feed"
@@ -4617,7 +4820,7 @@ msgstr ""
#: 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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr "Tampilkan"
@@ -4643,13 +4846,13 @@ msgstr ""
#~ msgid "Show embeds from {0}"
#~ msgstr "Tampilkan embed dari {0}"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr "Tampilkan berikut ini mirip dengan {0}"
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr "Tampilkan Lebih Lanjut"
@@ -4706,7 +4909,7 @@ msgstr "Tampilkan posting ulang di Mengikuti"
msgid "Show the content"
msgstr "Tampilkan konten"
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Tampilkan pengguna"
@@ -4726,24 +4929,24 @@ msgstr ""
msgid "Shows posts from {0} in your feed"
msgstr "Tampilkan postingan dari {0} di feed Anda"
+#: 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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr "Masuk"
@@ -4761,28 +4964,36 @@ msgstr "Masuk sebagai {0}"
msgid "Sign in as..."
msgstr "Masuk sebagai..."
+#: 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:140
#~ msgid "Sign into"
#~ msgstr "Masuk ke"
-#: src/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "Keluar"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
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"
@@ -4791,7 +5002,7 @@ msgstr "Daftar atau masuk untuk bergabung dalam obrolan"
msgid "Sign-in Required"
msgstr "Dibutuhkan Masuk"
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "Masuk sebagai"
@@ -4827,7 +5038,7 @@ msgstr "Pengembang Perangkat Lunak"
#: src/components/ReportDialog/index.tsx:59
#: src/screens/Moderation/index.tsx:114
-#: src/screens/Profile/Sections/Labels.tsx:76
+#: src/screens/Profile/Sections/Labels.tsx:87
msgid "Something went wrong, please try again."
msgstr ""
@@ -4839,7 +5050,7 @@ msgstr ""
#~ 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."
@@ -4875,11 +5086,11 @@ msgstr "Persegi"
#~ msgid "Staging"
#~ msgstr "Staging"
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "Halaman status"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
msgstr ""
@@ -4891,12 +5102,12 @@ msgstr ""
#~ msgid "Step {step} of 3"
#~ msgstr "Langkah {step} dari 3"
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
msgid "Storage cleared, you need to restart the app now."
msgstr "Penyimpanan dihapus, Anda perlu memulai ulang aplikasi sekarang."
-#: src/Navigation.tsx:211
-#: src/view/screens/Settings/index.tsx:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr "Storybook"
@@ -4905,15 +5116,15 @@ msgstr "Storybook"
msgid "Submit"
msgstr "Kirim"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Langganan"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: src/screens/Profile/Sections/Labels.tsx:191
msgid "Subscribe to @{0} to use these labels:"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
msgstr ""
@@ -4922,15 +5133,15 @@ msgstr ""
msgid "Subscribe to the {0} feed"
msgstr "Langganan ke feed {0}"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: 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 "Langganan ke daftar ini"
-#: src/view/screens/Search/Search.tsx:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "Saran untuk Diikuti"
@@ -4942,7 +5153,7 @@ msgstr "Disarankan untuk Anda"
msgid "Suggestive"
msgstr "Sugestif"
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
@@ -4952,24 +5163,24 @@ msgstr "Dukungan"
#~ msgid "Swipe up to see more"
#~ msgstr "Geser ke atas untuk melihat lebih banyak"
-#: src/components/dialogs/SwitchAccount.tsx:46
-#: src/components/dialogs/SwitchAccount.tsx:49
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "Pindah Akun"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr "Beralih ke {0}"
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
msgid "Switches the account you are logged in to"
msgstr "Mengganti akun yang Anda masuki"
-#: src/view/screens/Settings/index.tsx:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr "Sistem"
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "Log sistem"
@@ -5001,11 +5212,11 @@ msgstr "Teknologi"
msgid "Terms"
msgstr "Ketentuan"
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Ketentuan Layanan"
@@ -5023,7 +5234,7 @@ msgstr ""
msgid "Text input field"
msgstr "Area input teks"
-#: src/components/ReportDialog/SubmitView.tsx:78
+#: src/components/ReportDialog/SubmitView.tsx:76
msgid "Thank you. Your report has been sent."
msgstr ""
@@ -5031,11 +5242,11 @@ msgstr ""
msgid "That contains the following:"
msgstr ""
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: 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."
@@ -5088,8 +5299,8 @@ msgstr "Ketentuan Layanan telah dipindahkan ke"
msgid "There are many feeds to try:"
msgstr "Ada banyak feed untuk dicoba:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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."
@@ -5097,15 +5308,19 @@ msgstr "Ada masalah saat menghubungi server, silakan periksa koneksi internet An
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:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+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 "Ada masalah saat menghubungi server"
@@ -5128,12 +5343,12 @@ 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/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 ""
@@ -5145,9 +5360,9 @@ msgstr "Ada masalah saat mensinkronkan preferensi Anda dengan server"
msgid "There was an issue with fetching your app passwords"
msgstr "Ada masalah dengan pengambilan kata sandi aplikasi Anda"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -5159,14 +5374,15 @@ msgstr "Ada masalah dengan pengambilan kata sandi aplikasi Anda"
msgid "There was an issue! {0}"
msgstr "Ada masalah! {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 "Ada masalah. Periksa koneksi internet Anda dan coba lagi."
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
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!"
@@ -5234,9 +5450,9 @@ msgstr ""
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/screens/Profile/Sections/Feed.tsx:50
-#: src/view/screens/ProfileFeed.tsx:477
-#: 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 "Feed ini kosong!"
@@ -5248,7 +5464,7 @@ msgstr "Feed ini kosong! Anda mungkin perlu mengikuti lebih banyak pengguna atau
msgid "This information is not shared with other users."
msgstr "Informasi ini tidak akan dibagikan ke pengguna lainnya."
-#: src/view/com/modals/VerifyEmail.tsx:119
+#: src/view/com/modals/VerifyEmail.tsx:127
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "Ini penting jika Anda butuh untuk mengganti email atau reset kata sandi Anda nantinya."
@@ -5260,7 +5476,7 @@ msgstr "Ini penting jika Anda butuh untuk mengganti email atau reset kata sandi
msgid "This label was applied by {0}."
msgstr ""
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: src/screens/Profile/Sections/Labels.tsx:178
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
msgstr ""
@@ -5268,7 +5484,7 @@ msgstr ""
msgid "This link is taking you to the following website:"
msgstr "Tautan ini akan membawa Anda ke website:"
-#: src/view/screens/ProfileList.tsx:853
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "Daftar ini kosong!"
@@ -5280,16 +5496,16 @@ msgstr ""
msgid "This name is already in use"
msgstr "Nama ini sudah digunakan"
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr "Postingan ini telah dihapus."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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:352
msgid "This post will be hidden from feeds."
msgstr ""
@@ -5354,12 +5570,12 @@ msgstr ""
#~ msgid "This will hide this post from your feeds."
#~ msgstr "Ini akan menyembunyikan postingan ini dari feed Anda."
-#: src/view/screens/Settings/index.tsx:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
msgstr ""
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "Preferensi Utasan"
@@ -5367,10 +5583,14 @@ msgstr "Preferensi Utasan"
msgid "Threaded Mode"
msgstr "Mode Utasan"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr "Preferensi Utas"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr ""
+
#: src/components/ReportDialog/SelectLabelerView.tsx:33
msgid "To whom would you like to send this report?"
msgstr ""
@@ -5387,14 +5607,19 @@ msgstr "Beralih dropdown"
msgid "Toggle to enable or disable adult content"
msgstr ""
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr ""
+
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Transformasi"
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "Terjemahkan"
@@ -5406,35 +5631,39 @@ msgstr "Coba lagi"
#~ msgid "Try again"
#~ msgstr "Ulangi"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr ""
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
msgstr ""
-#: src/view/screens/ProfileList.tsx:478
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Buka blokir daftar"
-#: src/view/screens/ProfileList.tsx:461
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Bunyikan daftar"
#: src/screens/Login/ForgotPasswordForm.tsx:74
#: src/screens/Login/index.tsx:78
-#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:181
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
-#: src/view/screens/ProfileList.tsx:572
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Buka blokir"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr "Buka blokir"
@@ -5444,7 +5673,7 @@ msgstr "Buka blokir"
msgid "Unblock Account"
msgstr "Buka blokir Akun"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
msgstr ""
@@ -5457,7 +5686,7 @@ msgid "Undo repost"
msgstr "Batalkan posting ulang"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
msgstr ""
@@ -5466,7 +5695,7 @@ msgctxt "action"
msgid "Unfollow"
msgstr "Berhenti mengikuti"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
msgid "Unfollow {0}"
msgstr "Berhenti mengikuti {0}"
@@ -5479,16 +5708,16 @@ msgstr ""
#~ 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:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Tidak suka"
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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 "Bunyikan"
@@ -5509,21 +5738,21 @@ 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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "Bunyikan utasan"
-#: src/view/screens/ProfileFeed.tsx:295
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Lepas sematan"
-#: src/view/screens/ProfileFeed.tsx:292
+#: 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 "Lepas sematan daftar moderasi"
@@ -5531,11 +5760,11 @@ msgstr "Lepas sematan daftar moderasi"
#~ msgid "Unsave"
#~ msgstr "Batal simpan"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
msgstr ""
@@ -5563,20 +5792,20 @@ msgstr "Memperbarui..."
msgid "Upload a text file to:"
msgstr "Unggah berkas teks ke:"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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:343
+#: 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:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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"
@@ -5654,13 +5883,13 @@ msgstr "Pengguna Memblokir Anda"
msgid "User list by {0}"
msgstr "Daftar pengguna oleh {0}"
-#: src/view/screens/ProfileList.tsx:777
+#: 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:775
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "Daftar pengguna oleh Anda"
@@ -5676,11 +5905,11 @@ msgstr "Daftar pengguna diperbarui"
msgid "User Lists"
msgstr "Daftar Pengguna"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "Nama pengguna atau alamat email"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "Pengguna"
@@ -5708,15 +5937,15 @@ msgstr ""
msgid "Verify {0}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "Verifikasi email"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "Verifikasi email saya"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "Verifikasi Email Saya"
@@ -5725,11 +5954,11 @@ msgstr "Verifikasi Email Saya"
msgid "Verify New Email"
msgstr "Verifikasi Email Baru"
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr "Verifikasi Email Anda"
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
msgstr ""
@@ -5745,11 +5974,11 @@ msgstr "Lihat avatar {0}"
msgid "View debug entry"
msgstr "Lihat entri debug"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
msgstr ""
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
msgstr ""
@@ -5761,6 +5990,8 @@ msgstr "Lihat utas lengkap"
msgid "View information about these labels"
msgstr ""
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Lihat profil"
@@ -5773,7 +6004,7 @@ msgstr "Lihat avatar"
msgid "View the labeling service provided by @{0}"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
msgstr ""
@@ -5801,7 +6032,7 @@ msgstr ""
#~ 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
+#: src/screens/Hashtag.tsx:210
msgid "We couldn't find any results for that hashtag."
msgstr ""
@@ -5857,11 +6088,11 @@ msgstr "Kami akan memberi tahu Anda ketika akun Anda siap."
msgid "We'll use this to help customize your experience."
msgstr "Kami akan menggunakan ini untuk menyesuaikan pengalaman Anda."
-#: src/screens/Signup/index.tsx:130
+#: 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: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 "Mohon maaf, kami tidak dapat menyelesaikan daftar ini. Jika hal ini terus berlanjut, silakan hubungi pembuat daftar, @{handleOrDid}."
@@ -5869,16 +6100,16 @@ msgstr "Mohon maaf, kami tidak dapat menyelesaikan daftar ini. Jika hal ini teru
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:256
+#: src/view/screens/Search/Search.tsx:323
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:188
+#: src/components/Lists.tsx:197
#: 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/screens/Profile/Header/ProfileHeaderLabeler.tsx:321
+#: 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 ""
@@ -5897,9 +6128,9 @@ msgstr "Apa saja minat Anda?"
#~ msgid "What's next?"
#~ msgstr "Apa selanjutnya?"
-#: src/view/com/auth/SplashScreen.tsx:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr "Apa kabar?"
@@ -5940,11 +6171,11 @@ msgstr ""
msgid "Wide"
msgstr "Lebar"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "Tulis postingan"
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Tulis balasan Anda"
@@ -6009,15 +6240,15 @@ msgstr ""
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."
@@ -6059,16 +6290,16 @@ msgstr ""
#~ 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
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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 ""
@@ -6080,7 +6311,7 @@ msgstr ""
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
+#: 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 ""
@@ -6108,15 +6339,15 @@ msgstr ""
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: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 "Anda tidak akan lagi menerima notifikasi untuk utas ini"
-#: 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 "Anda sekarang akan menerima notifikasi untuk utas ini"
@@ -6147,7 +6378,7 @@ msgstr ""
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/screens/Signup/index.tsx:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Akun Anda"
@@ -6159,7 +6390,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/screens/Signup/StepInfo/index.tsx:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Tanggal lahir Anda"
@@ -6185,7 +6416,7 @@ msgstr "Email Anda tidak valid."
msgid "Your email has been updated but not verified. As a next step, please verify your new email."
msgstr "Alamat email Anda telah diperbarui namun belum diverifikasi. Silakan verifikasi alamat email baru Anda."
-#: src/view/com/modals/VerifyEmail.tsx:114
+#: src/view/com/modals/VerifyEmail.tsx:122
msgid "Your email has not yet been verified. This is an important security step which we recommend."
msgstr "Alamat email Anda belum diverifikasi. Ini merupakan langkah keamanan penting yang kami rekomendasikan."
@@ -6193,7 +6424,7 @@ 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/screens/Signup/StepHandle.tsx:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Handle lengkap Anda akan menjadi"
@@ -6219,7 +6450,7 @@ msgstr ""
msgid "Your password has been changed successfully!"
msgstr "Kata sandi Anda telah berhasil diubah!"
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr "Postingan Anda telah dipublikasikan"
@@ -6229,14 +6460,14 @@ msgstr "Postingan Anda telah dipublikasikan"
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "Postingan, suka, dan blokir Anda bersifat publik. Bisukan bersifat privat."
-#: src/view/screens/Settings/index.tsx:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "Profil Anda"
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr "Balasan Anda telah dipublikasikan"
-#: src/screens/Signup/index.tsx:152
+#: 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 c8eda439d2..1ebf1e4d5c 100644
--- a/src/locale/locales/it/messages.po
+++ b/src/locale/locales/it/messages.po
@@ -14,7 +14,7 @@ msgstr ""
"X-Generator: Poedit 3.4.2\n"
"X-Poedit-SourceCharset: UTF-8\n"
-#: src/view/com/modals/VerifyEmail.tsx:142
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr "(no email)"
@@ -27,6 +27,7 @@ msgstr "(no email)"
#~ msgid "{0} {purposeLabel} List"
#~ msgstr "Lista {purposeLabel} {0}"
+#: src/components/ProfileHoverCard/index.web.tsx:438
#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} seguendo"
@@ -43,7 +44,7 @@ msgstr "{following} seguendo"
#~ msgid "{message}"
#~ msgstr "{message}"
-#: src/view/shell/Drawer.tsx:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} non letto"
@@ -55,15 +56,20 @@ msgstr "<0/> membri"
msgid "<0>{0}0> following"
msgstr "<0>{0}0> following"
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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:30
+#: 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>"
@@ -71,37 +77,50 @@ msgstr "<0>Segui alcuni0><1>utenti1><2>consigliati2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Ti diamo il benvenuto su0><1>Bluesky1>"
-#: src/screens/Profile/Header/Handle.tsx:42
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr "⚠Nome utente non valido"
+#: src/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr ""
+
#~ msgid "A content warning has been applied to this {0}."
#~ msgstr "A questo post è stato applicato un avviso di contenuto {0}."
#~ 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:649
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
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:300
-#: src/view/screens/Settings/index.tsx:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "Accessibilità"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr ""
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr ""
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
msgstr "account"
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "Account"
@@ -134,7 +153,7 @@ msgstr "Opzioni dell'account"
msgid "Account removed from quick access"
msgstr "Account rimosso dall'accesso immediato"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Account sbloccato"
@@ -151,7 +170,7 @@ msgstr "Account non silenziato"
#: 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:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Aggiungi"
@@ -159,13 +178,13 @@ msgstr "Aggiungi"
msgid "Add a content warning"
msgstr "Aggiungi un avviso sul contenuto"
-#: src/view/screens/ProfileList.tsx:817
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Aggiungi un utente a questo elenco"
-#: src/components/dialogs/SwitchAccount.tsx:55
-#: src/view/screens/Settings/index.tsx:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr "Aggiungi account"
@@ -188,12 +207,12 @@ msgstr "Aggiungi la Password per l'App"
#~ msgstr "Aggiungi dettagli da segnalare"
#: src/view/com/composer/Composer.tsx:467
-msgid "Add link card"
-msgstr "Aggiungi anteprima del link"
+#~ msgid "Add link card"
+#~ msgstr "Aggiungi anteprima del link"
#: src/view/com/composer/Composer.tsx:472
-msgid "Add link card:"
-msgstr "Aggiungi anteprima del link:"
+#~ msgid "Add link card:"
+#~ msgstr "Aggiungi anteprima del link:"
#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
@@ -247,11 +266,11 @@ msgid "Adult content is disabled."
msgstr "Il contenuto per adulti è disattivato."
#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
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."
@@ -269,6 +288,7 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "Testo alternativo"
@@ -276,7 +296,8 @@ msgstr "Testo alternativo"
msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone."
msgstr "Il testo alternativo descrive le immagini per gli utenti non vedenti e ipovedenti e aiuta a fornire un contesto a tutti."
-#: src/view/com/modals/VerifyEmail.tsx:124
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
msgstr "È stata inviata un'e-mail a {0}. Include un codice di conferma che puoi inserire di seguito."
@@ -284,10 +305,16 @@ 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/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr ""
+
#: 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
@@ -295,7 +322,7 @@ msgstr "Un problema non incluso in queste opzioni"
msgid "An issue occurred, please try again."
msgstr "Si è verificato un problema, riprova un'altra volta."
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "e"
@@ -304,6 +331,10 @@ msgstr "e"
msgid "Animals"
msgstr "Animali"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
msgstr "Comportamento antisociale"
@@ -324,16 +355,16 @@ msgstr "Le password per le app possono contenere solo lettere, numeri, spazi, tr
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:695
+#: src/view/screens/Settings/index.tsx:647
msgid "App password settings"
msgstr "Impostazioni della password dell'app"
#~ msgid "App passwords"
#~ msgstr "Passwords dell'app"
-#: src/Navigation.tsx:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "Passwords dell'App"
@@ -365,7 +396,7 @@ msgstr "Ricorso presentato."
#~ msgid "Appeal this decision."
#~ msgstr "Appella contro questa decisione."
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "Aspetto"
@@ -377,7 +408,7 @@ msgstr "Conferma di voler eliminare la password dell'app \"{name}\"?"
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
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr "Conferma di voler eliminare questa bozza?"
@@ -400,7 +431,7 @@ msgstr "Arte"
msgid "Artistic or non-erotic nudity."
msgstr "Nudità artistica o non erotica."
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
msgstr ""
@@ -410,13 +441,13 @@ msgstr ""
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr "Indietro"
@@ -428,7 +459,7 @@ msgstr "Indietro"
msgid "Based on your interest in {interestsText}"
msgstr "Basato sui tuoi interessi {interestsText}"
-#: src/view/screens/Settings/index.tsx:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "Preferenze"
@@ -436,11 +467,11 @@ msgstr "Preferenze"
msgid "Birthday"
msgstr "Compleanno"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr "Compleanno:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
msgstr "Blocca"
@@ -454,16 +485,16 @@ msgstr "Blocca Account"
msgid "Block Account?"
msgstr "Blocca Account?"
-#: src/view/screens/ProfileList.tsx:530
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Blocca gli accounts"
-#: 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 "Lista di blocchi"
-#: src/view/screens/ProfileList.tsx:629
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "Vuoi bloccare questi accounts?"
@@ -471,7 +502,7 @@ msgstr "Vuoi bloccare questi accounts?"
#~ msgstr "Blocca questa Lista"
#: 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 "Bloccato"
@@ -479,8 +510,8 @@ msgstr "Bloccato"
msgid "Blocked accounts"
msgstr "Accounts bloccati"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "Accounts bloccati"
@@ -488,7 +519,7 @@ msgstr "Accounts bloccati"
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
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:120
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 alle tue discussioni, menzionarti, o interagire in nessun altro modo con te. Non vedrai il loro contenuto e non vedranno il tuo."
@@ -496,11 +527,11 @@ msgstr "Gli account bloccati non possono rispondere alle tue discussioni, menzio
msgid "Blocked post."
msgstr "Post bloccato."
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: 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/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 "l blocco è pubblico. Gli account bloccati non possono rispondere alle tue discussioni, menzionarti, o interagire con te in nessun altro modo."
@@ -508,12 +539,10 @@ msgstr "l blocco è pubblico. Gli account bloccati non possono rispondere alle t
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/HomeLoggedOutCTA.tsx:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blog"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -564,8 +593,7 @@ msgstr "Libri"
#~ msgid "Build version {0} {1}"
#~ msgstr "Versione {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Attività commerciale"
@@ -596,7 +624,7 @@ msgstr "Creando un account accetti i {els}."
msgid "by you"
msgstr "da te"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "Fotocamera"
@@ -608,8 +636,8 @@ msgstr "Può contenere solo lettere, numeri, spazi, trattini e trattini bassi. D
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -624,9 +652,9 @@ msgstr "Può contenere solo lettere, numeri, spazi, trattini e trattini bassi. D
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Cancella"
@@ -674,34 +702,34 @@ msgstr "Annulla la ricerca"
msgid "Cancels opening the linked website"
msgstr "Annulla l'apertura del sito collegato"
-#: src/view/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
msgstr "Cambia"
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "Cambia"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "Cambia il nome utente"
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "Cambia il Nome Utente"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "Cambia la mia email"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr "Cambia la password"
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr "Cambia la Password"
@@ -721,14 +749,18 @@ msgstr "Cambia la tua email"
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 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/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr ""
+
#: 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:"
@@ -757,36 +789,36 @@ msgstr "Scegli gli algoritmi che migliorano la tua esperienza con i feed persona
msgid "Choose your main feeds"
msgstr "Scegli i tuoi feed principali"
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Scegli la tua password"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr "Cancella tutti i dati legacy in archivio"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
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:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr "Cancella tutti i dati in archivio"
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
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:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "Annulla la ricerca"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
msgstr "Cancella tutti i dati di archiviazione legacy"
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
msgstr "Cancella tutti i dati di archiviazione"
@@ -798,21 +830,22 @@ msgstr "clicca qui"
msgid "Click here to open tag menu for {tag}"
msgstr "Clicca qui per aprire il menu per {tag}"
-#: src/components/RichText.tsx:192
-msgid "Click here to open tag menu for #{tag}"
-msgstr "Clicca qui per aprire il menu per #{tag}"
+#: src/components/RichText.tsx:198
+#~ msgid "Click here to open tag menu for #{tag}"
+#~ msgstr "Clicca qui per aprire il menu per #{tag}"
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
msgstr "Clima"
+#: src/components/dialogs/GifSelect.tsx:300
#: src/view/com/modals/ChangePassword.tsx:267
#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "Chiudi"
-#: src/components/Dialog/index.web.tsx:106
-#: src/components/Dialog/index.web.tsx:218
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr "Chiudi la finestra attiva"
@@ -824,6 +857,14 @@ msgstr "Chiudi l'avviso"
msgid "Close bottom drawer"
msgstr "Chiudi il bottom drawer"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr ""
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Chiudi l'immagine"
@@ -832,7 +873,7 @@ msgstr "Chiudi l'immagine"
msgid "Close image viewer"
msgstr "Chiudi il visualizzatore di immagini"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr "Chiudi la navigazione del footer"
@@ -841,7 +882,7 @@ msgstr "Chiudi la navigazione del footer"
msgid "Close this dialog"
msgstr "Chiudi la finestra"
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr "Chiude la barra di navigazione in basso"
@@ -849,7 +890,7 @@ msgstr "Chiude la barra di navigazione in basso"
msgid "Closes password update alert"
msgstr "Chiude l'avviso di aggiornamento della password"
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr "Chiude l'editore del post ed elimina la bozza del post"
@@ -857,7 +898,7 @@ msgstr "Chiude l'editore del post ed elimina la bozza del post"
msgid "Closes viewer for header image"
msgstr "Chiude il visualizzatore dell'immagine di intestazione"
-#: src/view/com/notifications/FeedItem.tsx:321
+#: 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"
@@ -869,7 +910,7 @@ msgstr "Commedia"
msgid "Comics"
msgstr "Fumetti"
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Linee guida della community"
@@ -878,11 +919,11 @@ msgstr "Linee guida della community"
msgid "Complete onboarding and start using your account"
msgstr "Completa l'incorporazione e inizia a utilizzare il tuo account"
-#: src/screens/Signup/index.tsx:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "Completa la challenge"
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Componi un post fino a {MAX_GRAPHEME_LENGTH} caratteri"
@@ -905,10 +946,12 @@ 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
+#: src/view/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
msgid "Confirm"
msgstr "Conferma"
@@ -940,21 +983,24 @@ msgstr "Conferma la tua età:"
msgid "Confirm your birthdate"
msgstr "Conferma la tua data di nascita"
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
msgid "Confirmation code"
msgstr "Codice di conferma"
#~ msgid "Confirms signing up {email} to the waitlist"
#~ msgstr "Conferma l'iscrizione di {email} alla lista d'attesa"
-#: src/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "Connessione in corso..."
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Contatta il supporto"
@@ -1006,8 +1052,8 @@ msgstr "Sfondo del menu contestuale, clicca per chiudere il menu."
#: 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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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"
@@ -1020,7 +1066,7 @@ msgstr ""
#: 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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Vai al passaggio successivo"
@@ -1041,17 +1087,21 @@ msgstr "Cucina"
msgid "Copied"
msgstr "Copiato"
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
msgid "Copied build version to clipboard"
msgstr "Versione di build copiata nella clipboard"
#: 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:158
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "Copiato nel clipboard"
+#: 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"
@@ -1064,24 +1114,29 @@ msgstr "Copia"
msgid "Copy {0}"
msgstr "Copia {0}"
-#: src/view/screens/ProfileList.tsx:388
+#: 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:228
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
msgid "Copy link to post"
msgstr "Copia il link al post"
#~ msgid "Copy link to profile"
#~ msgstr "Copia il link al profilo"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "Copia il testo del post"
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Politica sul diritto d'autore"
@@ -1090,38 +1145,41 @@ msgstr "Politica sul diritto d'autore"
msgid "Could not load feed"
msgstr "Feed non caricato"
-#: src/view/screens/ProfileList.tsx:907
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "No si è potuto caricare la lista"
#~ msgid "Country"
#~ msgstr "Paese"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr "Crea un nuovo Bluesky account"
-#: src/screens/Signup/index.tsx:129
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Crea un account"
+#: 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:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: 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/components/ReportDialog/SelectReportOptionView.tsx:93
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
msgid "Create report for {0}"
msgstr "Crea un report per {0}"
@@ -1136,8 +1194,8 @@ msgstr "Creato {0}"
#~ msgstr "Creato da te"
#: 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}"
+#~ 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}"
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
@@ -1153,19 +1211,19 @@ msgid "Custom domain"
msgstr "Dominio personalizzato"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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 contenuti interessanti."
-#: src/view/screens/PreferencesExternalEmbeds.tsx:55
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr "Personalizza i media da i siti esterni."
#~ msgid "Danger Zone"
#~ msgstr "Zona di Pericolo"
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr "Scuro"
@@ -1173,15 +1231,15 @@ msgstr "Scuro"
msgid "Dark mode"
msgstr "Aspetto scuro"
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr "Tema scuro"
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
msgstr ""
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
msgstr "Eliminare errori nella Moderazione"
@@ -1189,13 +1247,13 @@ msgstr "Eliminare errori nella Moderazione"
msgid "Debug panel"
msgstr "Pannello per il debug"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: src/view/screens/AppPasswords.tsx:268
-#: src/view/screens/ProfileList.tsx:613
+#: src/view/screens/ProfileList.tsx:615
msgid "Delete"
msgstr "Elimina"
-#: src/view/screens/Settings/index.tsx:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "Elimina l'account"
@@ -1211,7 +1269,7 @@ msgstr "Elimina la password dell'app"
msgid "Delete app password?"
msgstr "Eliminare la password dell'app?"
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Elimina la lista"
@@ -1222,24 +1280,24 @@ msgstr "Cancellare account"
#~ msgid "Delete my account…"
#~ msgstr "Cancella il mio account…"
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
msgid "Delete My Account…"
msgstr "Cancellare Account…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:302
-#: src/view/com/util/forms/PostDropdownBtn.tsx:304
+#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
msgid "Delete post"
msgstr "Elimina il post"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:610
msgid "Delete this list?"
msgstr "Elimina questa lista?"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:314
+#: src/view/com/util/forms/PostDropdownBtn.tsx:340
msgid "Delete this post?"
msgstr "Eliminare questo post?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:64
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Eliminato"
@@ -1260,14 +1318,34 @@ msgstr "Descrizione"
#~ msgid "Developer Tools"
#~ msgstr "Strumenti per sviluppatori"
-#: src/view/com/composer/Composer.tsx:218
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr "Volevi dire qualcosa?"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr "Fioco"
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr ""
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr ""
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+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
@@ -1275,14 +1353,14 @@ msgstr "Fioco"
msgid "Disabled"
msgstr "Disabilitato"
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr "Scartare"
#~ msgid "Discard draft"
#~ msgstr "Scarta la bozza"
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
msgstr "Scartare la bozza?"
@@ -1299,7 +1377,7 @@ msgstr "Scopri nuovi feeds personalizzati"
#~ msgid "Discover new feeds"
#~ msgstr "Scopri nuovi feeds"
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr "Scopri nuovi feeds"
@@ -1319,7 +1397,7 @@ msgstr "Pannello DNS"
msgid "Does not include nudity."
msgstr "Non include nudità."
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
msgstr ""
@@ -1352,7 +1430,7 @@ msgstr "Dominio verificato!"
msgid "Done"
msgstr "Fatto"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: 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
@@ -1381,7 +1459,7 @@ msgstr "Fatto{extraText}"
msgid "Download CAR file"
msgstr "Scarica il CAR file"
-#: src/view/com/composer/text-input/TextInput.web.tsx:249
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr "Trascina e rilascia per aggiungere immagini"
@@ -1434,7 +1512,7 @@ msgctxt "action"
msgid "Edit"
msgstr "Modifica"
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
msgstr "Modifica l'avatar"
@@ -1444,7 +1522,7 @@ msgstr "Modifica l'avatar"
msgid "Edit image"
msgstr "Modifica l'immagine"
-#: src/view/screens/ProfileList.tsx:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Modifica i dettagli della lista"
@@ -1452,9 +1530,9 @@ msgstr "Modifica i dettagli della lista"
msgid "Edit Moderation List"
msgstr "Modifica l'elenco di moderazione"
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Modifica i miei feeds"
@@ -1462,18 +1540,18 @@ msgstr "Modifica i miei feeds"
msgid "Edit my profile"
msgstr "Modifica il mio profilo"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "Modifica il profilo"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
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"
@@ -1498,6 +1576,10 @@ msgstr "Formazione scolastica"
msgid "Email"
msgstr "Email"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr ""
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Indirizzo email"
@@ -1511,14 +1593,28 @@ msgstr "Email aggiornata"
msgid "Email Updated"
msgstr "Email Aggiornata"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr "Email verificata"
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
msgid "Email:"
msgstr "Email:"
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+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"
@@ -1545,7 +1641,7 @@ msgstr ""
#~ msgid "Enable External Media"
#~ msgstr "Attiva Media Esterna"
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr "Attiva i lettori multimediali per"
@@ -1561,7 +1657,7 @@ msgstr ""
msgid "Enabled"
msgstr "Abilitato"
-#: src/screens/Profile/Sections/Feed.tsx:84
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Fine del feed"
@@ -1578,7 +1674,7 @@ msgstr ""
msgid "Enter a word or tag"
msgstr "Inserisci una parola o tag"
-#: src/view/com/modals/VerifyEmail.tsx:105
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr "Inserire il codice di conferma"
@@ -1605,7 +1701,7 @@ msgstr "Inserisci la tua data di nascita"
#~ msgstr "Inserisci la tua email"
#: src/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Inserisci il tuo indirizzo email"
@@ -1628,7 +1724,7 @@ msgstr "Inserisci il tuo nome di utente e la tua password"
msgid "Error receiving captcha response."
msgstr "Errore nella risposta del captcha."
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Errore:"
@@ -1668,8 +1764,8 @@ msgstr "Uscita dall'inserzione della domanda di ricerca"
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"
@@ -1681,12 +1777,12 @@ msgstr "Media espliciti o potenzialmente inquietanti."
msgid "Explicit sexual images."
msgstr "Immagini sessuali esplicite."
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr "Esporta i miei dati"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr "Esporta i miei dati"
@@ -1696,17 +1792,17 @@ msgid "External Media"
msgstr "Media esterni"
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:275
-#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr "Preferenze multimediali esterni"
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr "Impostazioni multimediali esterni"
@@ -1719,12 +1815,16 @@ msgstr "Impossibile creare la password dell'app."
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:125
+#: 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/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+msgstr ""
+
+#: 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"
@@ -1732,7 +1832,7 @@ msgstr "Non possiamo caricare i feed consigliati"
msgid "Failed to save image: {0}"
msgstr "Non è possibile salvare l'immagine: {0}"
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr "Feed"
@@ -1740,7 +1840,7 @@ msgstr "Feed"
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"
@@ -1748,26 +1848,26 @@ msgstr "Feed offline"
#~ msgstr "Preferenze del feed"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:314
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Commenti"
-#: src/Navigation.tsx:464
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: 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."
@@ -1793,13 +1893,17 @@ msgstr "Finalizzando"
msgid "Find accounts to follow"
msgstr "Trova account da seguire"
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
-msgstr "Trova utenti su Bluesky"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
+msgstr ""
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr "Trova gli utenti con lo strumento di ricerca sulla destra"
+#: src/view/screens/Search/Search.tsx:589
+#~ msgid "Find users on Bluesky"
+#~ msgstr "Trova utenti su Bluesky"
+
+#: 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:155
msgid "Finding similar accounts..."
@@ -1834,10 +1938,10 @@ msgid "Flip vertically"
msgstr "Gira in verticale"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Segui"
@@ -1847,7 +1951,7 @@ msgid "Follow"
msgstr "Segui"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "Segui {0}"
@@ -1869,11 +1973,11 @@ msgstr ""
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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr "Seguito da {0}"
@@ -1885,7 +1989,7 @@ msgstr "Utenti seguiti"
msgid "Followed users only"
msgstr "Solo utenti seguiti"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "ti segue"
@@ -1897,26 +2001,26 @@ msgstr "Followers"
#~ msgid "following"
#~ msgstr "following"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:93
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr "Seguiti {0}"
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
msgid "Following feed preferences"
msgstr "Preferenze del Following feed"
-#: src/Navigation.tsx:262
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
msgstr "Preferenze del Following Feed"
@@ -1924,7 +2028,7 @@ msgstr "Preferenze del Following Feed"
msgid "Follows you"
msgstr "Ti segue"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr "Ti Segue"
@@ -1953,11 +2057,11 @@ msgstr "Per motivi di sicurezza non potrai visualizzarlo nuovamente. Se perdi qu
msgid "Forgot Password"
msgstr "Ho dimenticato il Password"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
msgstr ""
@@ -1965,22 +2069,21 @@ msgstr ""
msgid "Frequently Posts Unwanted Content"
msgstr "Pubblica spesso contenuti indesiderati"
-#: src/screens/Hashtag.tsx:109
-#: src/screens/Hashtag.tsx:149
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
msgstr "Di @{sanitizedAuthor}"
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "Da <0/>"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "Galleria"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "Inizia"
@@ -1994,25 +2097,25 @@ msgstr "Evidenti violazioni della legge o dei termini di servizio"
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: src/view/screens/ProfileList.tsx:918
#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Torna indietro"
-#: src/components/Error.tsx:91
+#: src/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Torna Indietro"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "Torna al passaggio precedente"
@@ -2024,7 +2127,7 @@ msgstr "Torna Home"
msgid "Go Home"
msgstr "Torna Home"
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "Vai a @{queryMaybeHandle}"
@@ -2042,24 +2145,28 @@ msgstr "Media grafici"
msgid "Handle"
msgstr "Nome Utente"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
msgstr "Molestie, trolling o intolleranza"
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
msgstr "Hashtag"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
msgstr "Hashtag: #{tag}"
-#: src/screens/Signup/index.tsx:217
+#: 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:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Aiuto"
@@ -2088,17 +2195,17 @@ msgstr "Ecco la password dell'app."
#: 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:354
msgid "Hide"
msgstr "Nascondi"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: 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:278
+#: src/view/com/util/forms/PostDropdownBtn.tsx:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr "Nascondi il messaggio"
@@ -2107,11 +2214,11 @@ msgstr "Nascondi il messaggio"
msgid "Hide the content"
msgstr "Nascondere il contenuto"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr "Vuoi nascondere questo post?"
-#: src/view/com/notifications/FeedItem.tsx:319
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "Nascondi elenco utenti"
@@ -2146,11 +2253,11 @@ msgstr "Stiamo riscontrando problemi nel trovare questi dati. Guarda PI[U giù p
msgid "Hmmmm, we couldn't load that moderation service."
msgstr "Non siamo riusciti a caricare il servizio di moderazione."
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Home"
@@ -2162,7 +2269,7 @@ msgid "Host:"
msgstr "Hosting:"
#: src/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
@@ -2175,11 +2282,13 @@ msgstr "Servizio di hosting"
msgid "How should we open this link?"
msgstr "Come dovremmo aprire questo link?"
-#: src/view/com/modals/VerifyEmail.tsx:214
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "Ho un codice"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr "Ho un codice di conferma"
@@ -2199,11 +2308,11 @@ msgstr "Se niente è selezionato, adatto a tutte le età."
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:610
+#: 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:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:342
msgid "If you remove this post, you won't be able to recover it."
msgstr "Se rimuovi questo post, non potrai recuperarlo."
@@ -2261,11 +2370,15 @@ msgstr "Inserisci la password per la cancellazione dell'account"
#~ msgid "Input phone number for SMS verification"
#~ msgstr "Inserisci il numero di telefono per la verifica via SMS"
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr "Inserisci la password relazionata a {identifier}"
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
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"
@@ -2275,7 +2388,7 @@ msgstr "Inserisci il nome utente o l'indirizzo email che hai utilizzato al momen
#~ msgid "Input your email to get on the Bluesky waitlist"
#~ msgstr "Inserisci la tua email per entrare nella lista d'attesa di Bluesky"
-#: src/screens/Login/LoginForm.tsx:194
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr "Inserisci la tua password"
@@ -2283,15 +2396,20 @@ msgstr "Inserisci la tua password"
msgid "Input your preferred hosting provider"
msgstr "Inserisci il tuo provider di hosting preferito"
-#: src/screens/Signup/StepHandle.tsx:62
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "Inserisci il tuo identificatore"
-#: src/view/com/post-thread/PostThreadItem.tsx:221
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr "Protocollo del post non valido o non supportato"
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr "Nome dell'utente o password errato"
@@ -2325,8 +2443,7 @@ msgstr "Codici di invito: 1 disponibile"
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:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "Lavori"
@@ -2355,11 +2472,11 @@ msgstr "Etichettato da {0}."
msgid "Labeled by the author."
msgstr "Etichettato dall'autore."
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
msgstr "Etichette"
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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."
@@ -2379,16 +2496,16 @@ msgstr "Etichette sul tuo contenuto"
msgid "Language selection"
msgstr "Seleziona la lingua"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr "Impostazione delle lingue"
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Impostazione delle Lingue"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "Lingue"
@@ -2396,6 +2513,11 @@ msgstr "Lingue"
#~ msgid "Last step!"
#~ msgstr "Ultimo passo!"
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr ""
+
#~ msgid "Learn more"
#~ msgstr "Ulteriori informazioni"
@@ -2433,7 +2555,7 @@ msgstr "Stai lasciando Bluesky"
msgid "left to go."
msgstr "mancano."
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "L'archivio legacy è stato cancellato, riattiva la app."
@@ -2449,22 +2571,22 @@ msgstr "Andiamo!"
#~ msgid "Library"
#~ msgstr "Biblioteca"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr "Chiaro"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Mi piace"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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/components/LikesDialog.tsx:87
-#: src/Navigation.tsx:201
-#: src/Navigation.tsx:206
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
msgid "Liked by"
msgstr "Piace a"
@@ -2482,32 +2604,32 @@ msgstr "Piace a {0} {1}"
msgid "Liked by {count} {0}"
msgstr "È piaciuto a {count} {0}"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "piace il tuo feed personalizzato"
#~ msgid "liked your custom feed{0}"
#~ msgstr "piace il feed personalizzato{0}"
-#: src/view/com/notifications/FeedItem.tsx:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "piace il tuo post"
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr "Mi piace"
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr "Mi Piace in questo post"
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr "Lista"
@@ -2515,7 +2637,7 @@ msgstr "Lista"
msgid "List Avatar"
msgstr "Lista avatar"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Lista bloccata"
@@ -2523,11 +2645,11 @@ msgstr "Lista bloccata"
msgid "List by {0}"
msgstr "Lista di {0}"
-#: src/view/screens/ProfileList.tsx:355
+#: 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"
@@ -2535,20 +2657,20 @@ msgstr "Lista muta"
msgid "List Name"
msgstr "Nome della lista"
-#: src/view/screens/ProfileList.tsx:325
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Lista sbloccata"
-#: src/view/screens/ProfileList.tsx:297
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Lista non mutata"
-#: src/Navigation.tsx:114
-#: src/view/screens/Profile.tsx:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "Liste"
@@ -2559,10 +2681,10 @@ msgstr "Liste"
msgid "Load new notifications"
msgstr "Carica più notifiche"
-#: src/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Carica nuovi posts"
@@ -2573,7 +2695,7 @@ msgstr "Caricamento..."
#~ msgid "Local dev server"
#~ msgstr "Server di sviluppo locale"
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr "Log"
@@ -2592,6 +2714,10 @@ msgstr "Visibilità degli utenti disconnessi"
msgid "Login to account that is not listed"
msgstr "Accedi all'account che non è nella lista"
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+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 "Sembra che questo feed sia disponibile solo per gli utenti con un account Bluesky. Per favore registrati o accedi per visualizzare questo feed!"
@@ -2615,7 +2741,8 @@ msgstr "Gestisci le parole mute e i tags"
#~ msgid "May only contain letters and numbers"
#~ msgstr "Può contenere solo lettere e numeri"
-#: src/view/screens/Profile.tsx:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr "Media"
@@ -2627,8 +2754,8 @@ msgstr "utenti menzionati"
msgid "Mentioned users"
msgstr "Utenti menzionati"
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "Menù"
@@ -2643,12 +2770,12 @@ msgstr "Messaggio dal server: {0}"
msgid "Misleading Account"
msgstr "Account Ingannevole"
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Moderazione"
@@ -2661,13 +2788,13 @@ msgstr "Dettagli sulla moderazione"
msgid "Moderation list by {0}"
msgstr "Lista di moderazione di {0}"
-#: src/view/screens/ProfileList.tsx:789
+#: 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:787
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Le tue liste di moderazione"
@@ -2683,16 +2810,16 @@ msgstr "Lista di moderazione aggiornata"
msgid "Moderation lists"
msgstr "Liste di moderazione"
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Liste di Moderazione"
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr "Impostazioni di moderazione"
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
msgstr "Stati di moderazione"
@@ -2713,7 +2840,7 @@ msgstr "Di più"
msgid "More feeds"
msgstr "Altri feed"
-#: src/view/screens/ProfileList.tsx:599
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Altre opzioni"
@@ -2741,7 +2868,7 @@ msgstr "Silenzia {truncatedTag}"
msgid "Mute Account"
msgstr "Silenzia l'account"
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Silenzia gli accounts"
@@ -2757,12 +2884,12 @@ msgstr "Silenzia solo i tags"
msgid "Mute in text & tags"
msgstr "Silenzia nel testo & tags"
-#: 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 "Silenziare la lista"
-#: src/view/screens/ProfileList.tsx:619
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "Vuoi silenziare queste liste?"
@@ -2777,13 +2904,13 @@ msgstr "Silenzia questa parola nel testo e nei tag del post"
msgid "Mute this word in tags only"
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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
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:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
msgstr "Silenzia parole & tags"
@@ -2795,12 +2922,12 @@ msgstr "Silenziato"
msgid "Muted accounts"
msgstr "Account silenziato"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: 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."
@@ -2812,7 +2939,7 @@ msgstr "Silenziato da \"{0}\""
msgid "Muted words & tags"
msgstr "Parole e tags silenziati"
-#: 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 "Silenziare un account è privato. Gli account silenziati possono interagire con te, ma non vedrai i loro post né riceverai le loro notifiche."
@@ -2821,7 +2948,7 @@ msgstr "Silenziare un account è privato. Gli account silenziati possono interag
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"
@@ -2829,11 +2956,11 @@ msgstr "I miei Feeds"
msgid "My Profile"
msgstr "Il mio Profilo"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
msgstr "I miei feed salvati"
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
msgid "My Saved Feeds"
msgstr "I miei Feeds Salvati"
@@ -2860,7 +2987,7 @@ msgid "Nature"
msgstr "Natura"
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Vai alla schermata successiva"
@@ -2869,7 +2996,7 @@ msgstr "Vai alla schermata successiva"
msgid "Navigates to your profile"
msgstr "Vai al tuo profilo"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
msgid "Need to report a copyright violation?"
msgstr "Hai bisogno di segnalare una violazione del copyright?"
@@ -2912,17 +3039,17 @@ msgstr "Nuovo Password"
msgid "New Password"
msgstr "Nuovo Password"
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
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:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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"
@@ -2949,12 +3076,12 @@ msgstr "Notizie"
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -2978,8 +3105,8 @@ msgstr "Immagine seguente"
msgid "No"
msgstr "No"
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Senza descrizione"
@@ -2987,11 +3114,15 @@ msgstr "Senza descrizione"
msgid "No DNS Panel"
msgstr "Nessun pannello DNS"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr "Non segui più {0}"
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
msgstr ""
@@ -3004,20 +3135,24 @@ msgstr "Ancora nessuna notifica!"
msgid "No result"
msgstr "Nessun risultato"
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
msgid "No results found"
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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "Nessun risultato trovato per {query}"
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr ""
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
@@ -3040,19 +3175,19 @@ msgstr "Nudità non sessuale"
msgid "Not Applicable."
msgstr "Non applicabile."
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "Non trovato"
-#: src/view/com/modals/VerifyEmail.tsx:246
-#: src/view/com/modals/VerifyEmail.tsx:252
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr "Non adesso"
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
msgstr "Nota sulla condivisione"
@@ -3060,13 +3195,13 @@ msgstr "Nota sulla condivisione"
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:469
+#: src/Navigation.tsx:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Notifiche"
@@ -3082,7 +3217,7 @@ msgstr ""
#~ msgid "Nudity or pornography not labeled as such"
#~ msgstr "Nudità o pornografia non etichettata come tale"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
msgstr ""
@@ -3090,7 +3225,8 @@ msgstr ""
msgid "Off"
msgstr "Spento"
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "Oh no!"
@@ -3099,7 +3235,7 @@ msgid "Oh no! Something went wrong."
msgstr "Oh no! Qualcosa è andato male."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
msgstr "OK"
@@ -3111,11 +3247,11 @@ msgstr "Va bene"
msgid "Oldest replies first"
msgstr "Mostrare prima le risposte più vecchie"
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr "Reimpostazione dell'onboarding"
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr "A una o più immagini manca il testo alternativo."
@@ -3123,17 +3259,17 @@ msgstr "A una o più immagini manca il testo alternativo."
msgid "Only {0} can reply."
msgstr "Solo {0} può rispondere."
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
msgstr ""
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
msgstr "Ops! Qualcosa è andato male!"
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Ops!"
@@ -3141,16 +3277,16 @@ msgstr "Ops!"
msgid "Open"
msgstr "Apri"
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr "Apri il selettore emoji"
-#: src/view/screens/ProfileFeed.tsx:300
+#: 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:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr "Apri i links con il navigatore della app"
@@ -3158,20 +3294,20 @@ msgstr "Apri i links con il navigatore della app"
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:183
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
msgstr "Apri il menu delle opzioni del post"
-#: src/view/screens/Settings/index.tsx:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr "Apri la pagina della cronologia"
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
msgstr "Apri il registro di sistema"
@@ -3179,15 +3315,19 @@ msgstr "Apri il registro di sistema"
msgid "Opens {numItems} options"
msgstr "Apre le {numItems} opzioni"
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr ""
+
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
msgstr "Apre dettagli aggiuntivi per una debug entry"
-#: src/view/com/notifications/FeedItem.tsx:353
+#: 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:78
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr "Apre la fotocamera sul dispositivo"
@@ -3195,30 +3335,28 @@ msgstr "Apre la fotocamera sul dispositivo"
msgid "Opens composer"
msgstr "Apre il compositore"
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr "Apre le impostazioni configurabili delle lingue"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
msgid "Opens device photo gallery"
msgstr "Apre la galleria fotografica del dispositivo"
#~ 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:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr "Apre le impostazioni esterne per gli incorporamenti"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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/auth/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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"
@@ -3228,6 +3366,10 @@ msgstr "Apre il procedimento per accedere al tuo account esistente di Bluesky"
#~ msgid "Opens following list"
#~ msgstr "Apre la lista di chi segui"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr ""
+
#~ msgid "Opens invite code list"
#~ msgstr "Apre la lista dei codici di invito"
@@ -3235,26 +3377,26 @@ msgstr "Apre il procedimento per accedere al tuo account esistente di Bluesky"
msgid "Opens list of invite codes"
msgstr "Apre la lista dei codici di invito"
-#: src/view/screens/Settings/index.tsx:798
+#: src/view/screens/Settings/index.tsx:757
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"
#~ 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:756
+#: src/view/screens/Settings/index.tsx:715
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:718
+#: src/view/screens/Settings/index.tsx:670
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:779
+#: src/view/screens/Settings/index.tsx:738
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:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
msgstr "Apre la modale per la verifica dell'e-mail"
@@ -3262,31 +3404,31 @@ msgstr "Apre la modale per la verifica dell'e-mail"
msgid "Opens modal for using custom domain"
msgstr "Apre il modal per l'utilizzo del dominio personalizzato"
-#: src/view/screens/Settings/index.tsx:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "Apre le impostazioni di moderazione"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
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:597
+#: src/view/screens/Settings/index.tsx:549
msgid "Opens screen with all saved feeds"
msgstr "Apre la schermata con tutti i feed salvati"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:648
msgid "Opens the app password settings"
msgstr "Apre le impostazioni della password dell'app"
#~ msgid "Opens the app password settings page"
#~ msgstr "Apre la pagina delle impostazioni della password dell'app"
-#: src/view/screens/Settings/index.tsx:554
+#: src/view/screens/Settings/index.tsx:506
msgid "Opens the Following feed preferences"
msgstr "Apre le preferenze del feed Following"
@@ -3297,16 +3439,16 @@ msgstr "Apre le preferenze del feed Following"
msgid "Opens the linked website"
msgstr "Apre il sito Web collegato"
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr "Apri la pagina della cronologia"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "Apre la pagina del registro di sistema"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "Apre le preferenze dei threads"
@@ -3314,7 +3456,7 @@ msgstr "Apre le preferenze dei threads"
msgid "Option {0} of {numItems}"
msgstr "Opzione {0} di {numItems}"
-#: src/components/ReportDialog/SubmitView.tsx:162
+#: src/components/ReportDialog/SubmitView.tsx:160
msgid "Optionally provide additional information below:"
msgstr "Facoltativamente, fornisci ulteriori informazioni di seguito:"
@@ -3337,7 +3479,7 @@ msgstr "Altro account"
msgid "Other..."
msgstr "Altro..."
-#: src/components/Lists.tsx:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Pagina non trovata"
@@ -3346,8 +3488,8 @@ msgstr "Pagina non trovata"
msgid "Page Not Found"
msgstr "Pagina non trovata"
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3365,11 +3507,19 @@ msgstr "Password aggiornata"
msgid "Password updated!"
msgstr "Password aggiornata!"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr "Persone seguite da @{0}"
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr "Persone che seguono @{0}"
@@ -3392,23 +3542,31 @@ msgstr "Animali di compagnia"
msgid "Pictures meant for adults."
msgstr "Immagini per adulti."
-#: src/view/screens/ProfileFeed.tsx:292
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "Fissa su Home"
-#: src/view/screens/ProfileFeed.tsx:295
+#: src/view/screens/ProfileFeed.tsx:306
msgid "Pin to Home"
msgstr "Fissa su Home"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Feeds Fissi"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Play"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "Riproduci {0}"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3473,11 +3631,11 @@ msgstr "Spiega perché ritieni che questa etichetta sia stata applicata in modo
#~ 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
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr "Verifica la tua email"
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr "Attendi il caricamento della scheda di collegamento"
@@ -3493,8 +3651,8 @@ msgstr "Porno"
#~ msgid "Pornography"
#~ msgstr "Pornografia"
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr "Post"
@@ -3507,17 +3665,17 @@ msgstr "Post"
#~ msgid "Post"
#~ msgstr "Post"
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr "Pubblicato da {0}"
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
msgid "Post by @{0}"
msgstr "Pubblicato da @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:105
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Post eliminato"
@@ -3552,7 +3710,7 @@ msgstr "Post non trovato"
msgid "posts"
msgstr "post"
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr "Post"
@@ -3568,13 +3726,13 @@ msgstr "Post nascosto"
msgid "Potentially Misleading Link"
msgstr "Link potenzialmente fuorviante"
-#: src/components/forms/HostingProvider.tsx:45
+#: 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:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
msgstr "Premere per riprovare"
@@ -3590,16 +3748,16 @@ msgstr "Lingua principale"
msgid "Prioritize Your Follows"
msgstr "Dai priorità a quelli che segui"
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Privacy"
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Informativa sulla privacy"
@@ -3608,15 +3766,15 @@ msgid "Processing..."
msgstr "Elaborazione in corso…"
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
msgstr "profilo"
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Profilo"
@@ -3624,7 +3782,7 @@ msgstr "Profilo"
msgid "Profile updated"
msgstr "Profilo aggiornato"
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "Proteggi il tuo account verificando la tua email."
@@ -3640,11 +3798,11 @@ 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:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr "Pubblica il post"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr "Pubblica la risposta"
@@ -3673,15 +3831,15 @@ msgstr "Selezione a caso (nota anche come \"Poster's Roulette\")"
msgid "Ratios"
msgstr "Rapporti"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
msgstr "Ricerche recenti"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: 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"
@@ -3701,7 +3859,7 @@ msgstr "Rimuovi"
msgid "Remove account"
msgstr "Rimuovi l'account"
-#: src/view/com/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
msgstr "Rimuovere Avatar"
@@ -3719,8 +3877,8 @@ msgstr "Rimuovere il feed?"
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Rimuovi dai miei feed"
@@ -3732,7 +3890,7 @@ msgstr "Rimuovere dai miei feed?"
msgid "Remove image"
msgstr "Rimuovi l'immagine"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr "Rimuovi l'anteprima dell'immagine"
@@ -3763,15 +3921,15 @@ msgstr "Elimina dalla lista"
msgid "Removed from my feeds"
msgstr "Rimuovere dai miei feeds"
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
msgstr "Rimosso dai tuoi feed"
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr "Elimina la miniatura predefinita da {0}"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr "Risposte"
@@ -3779,7 +3937,7 @@ msgstr "Risposte"
msgid "Replies to this thread are disabled"
msgstr "Le risposte a questo thread sono disabilitate"
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr "Risposta"
@@ -3788,11 +3946,17 @@ msgstr "Risposta"
msgid "Reply Filters"
msgstr "Filtri di risposta"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
+#: 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/post/Post.tsx:178
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
-msgid "Reply to <0/>"
-msgstr "In risposta a <0/>"
+msgid "Reply to <0><1/>0>"
+msgstr ""
#~ msgid "Report {collectionName}"
#~ msgstr "Segnala {collectionName}"
@@ -3806,17 +3970,17 @@ msgstr "Segnala l'account"
msgid "Report dialog"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "Segnala il feed"
-#: src/view/screens/ProfileList.tsx:429
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Segnala la lista"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:292
-#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "Segnala il post"
@@ -3864,7 +4028,7 @@ msgstr "Ripubblicare o citare il post"
msgid "Reposted By"
msgstr "Repost di"
-#: src/view/com/posts/FeedItem.tsx:197
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "Repost di {0}"
@@ -3872,14 +4036,18 @@ msgstr "Repost di {0}"
#~ msgstr "Repost di {0})"
#: src/view/com/posts/FeedItem.tsx:214
-msgid "Reposted by <0/>"
-msgstr "Repost di <0/>"
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Repost di <0/>"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: 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:187
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr "Repost di questo post"
@@ -3896,14 +4064,23 @@ msgstr "Richiedi un cambio"
msgid "Request Code"
msgstr "Richiedi il codice"
-#: src/view/screens/Settings/index.tsx:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr "Richiedi il testo alternativo prima di pubblicare"
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr ""
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Obbligatorio per questo operatore"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr ""
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Reimpostare il codice"
@@ -3915,8 +4092,8 @@ msgstr "Reimposta il Codice"
#~ msgid "Reset onboarding"
#~ msgstr "Reimposta l'incorporazione"
-#: src/view/screens/Settings/index.tsx:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr "Reimposta lo stato dell' incorporazione"
@@ -3927,20 +4104,20 @@ msgstr "Reimposta la password"
#~ msgid "Reset preferences"
#~ msgstr "Reimposta le preferenze"
-#: src/view/screens/Settings/index.tsx:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr "Reimposta lo stato delle preferenze"
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr "Reimposta lo stato dell'incorporazione"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr "Reimposta lo stato delle preferenze"
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr "Ritenta l'accesso"
@@ -3949,13 +4126,13 @@ msgstr "Ritenta l'accesso"
msgid "Retries the last action, which errored out"
msgstr "Ritenta l'ultima azione che ha generato un errore"
-#: src/components/Error.tsx:79
-#: src/components/Lists.tsx:91
-#: src/screens/Login/LoginForm.tsx:234
-#: src/screens/Login/LoginForm.tsx:241
+#: src/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
@@ -3964,8 +4141,8 @@ msgstr "Riprova"
#~ msgid "Retry."
#~ msgstr "Riprova."
-#: src/components/Error.tsx:86
-#: src/view/screens/ProfileList.tsx:917
+#: src/components/Error.tsx:95
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Ritorna alla pagina precedente"
@@ -4014,12 +4191,12 @@ msgstr "Salva la modifica del tuo identificatore"
msgid "Save image crop"
msgstr "Salva il ritaglio dell'immagine"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: 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:122
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "Canali salvati"
@@ -4027,7 +4204,7 @@ msgstr "Canali salvati"
msgid "Saved to your camera roll."
msgstr "Salvato nel rullino fotografico."
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
msgstr "Salvato nei tuoi feed"
@@ -4047,28 +4224,28 @@ msgstr "Salva le impostazioni di ritaglio dell'immagine"
msgid "Science"
msgstr "Scienza"
-#: src/view/screens/ProfileList.tsx:873
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Scorri verso l'alto"
-#: src/Navigation.tsx:459
+#: src/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Cerca"
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "Cerca \"{query}\""
@@ -4087,6 +4264,14 @@ msgstr "Cerca tutti i post con il tag {displayTag}"
msgid "Search for users"
msgstr "Cerca utenti"
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr ""
+
#: src/view/com/modals/ChangeEmail.tsx:110
msgid "Security Step Required"
msgstr "Passaggio di sicurezza obbligatorio"
@@ -4107,13 +4292,18 @@ msgstr "Vedi <0>{displayTag}0> posts"
msgid "See <0>{displayTag}0> posts by this user"
msgstr "Vedi <0>{displayTag}0> posts di questo utente"
-#: 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 questa guida"
#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
-msgid "See what's next"
-msgstr "Scopri cosa c'è dopo"
+#~ msgid "See what's next"
+#~ msgstr "Scopri cosa c'è dopo"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
@@ -4130,6 +4320,14 @@ msgstr ""
msgid "Select from an existing account"
msgstr "Seleziona da un account esistente"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
msgstr "Seleziona lingue"
@@ -4151,7 +4349,7 @@ msgstr "Seleziona l'opzione {i} di {numItems}"
msgid "Select some accounts below to follow"
msgstr "Seleziona alcuni account da seguire qui giù"
-#: src/components/ReportDialog/SubmitView.tsx:135
+#: 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"
@@ -4178,7 +4376,7 @@ msgstr "Seleziona le lingue che desideri includere nei feed a cui sei iscritto.
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:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
msgstr ""
@@ -4201,8 +4399,8 @@ msgstr "Seleziona i tuoi feed algoritmici principali"
msgid "Select your secondary algorithmic feeds"
msgstr "Seleziona i tuoi feed algoritmici secondari"
-#: src/view/com/modals/VerifyEmail.tsx:202
-#: src/view/com/modals/VerifyEmail.tsx:204
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "Invia email di conferma"
@@ -4218,13 +4416,13 @@ msgstr "Invia email"
#~ msgid "Send Email"
#~ msgstr "Envia Email"
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Invia feedback"
-#: 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 "Invia la segnalazione"
@@ -4235,6 +4433,11 @@ msgstr "Invia la segnalazione"
msgid "Send report to {0}"
msgstr "Invia la segnalazione a {0}"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
+msgstr ""
+
#: 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"
@@ -4308,23 +4511,23 @@ msgstr "Configura il tuo account"
msgid "Sets Bluesky username"
msgstr "Imposta il tuo nome utente di Bluesky"
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
msgstr "Imposta il tema colore su scuro"
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
msgstr "Imposta il tema colore su chiaro"
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
msgstr "Imposta il tema colore basato impostazioni di sistema"
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
msgstr "Imposta il tema scuro sul tema scuro"
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
msgstr "Imposta il tema scuro sul tema semi fosco"
@@ -4353,11 +4556,11 @@ msgstr "Imposta l'amplio sulle proporzioni dell'immagine"
#~ msgid "Sets server for the Bluesky client"
#~ msgstr "Imposta il server per il client Bluesky"
-#: src/Navigation.tsx:139
-#: src/view/screens/Settings/index.tsx:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Impostazioni"
@@ -4376,21 +4579,21 @@ msgstr "Condividi"
#: 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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Condividi"
#: src/view/com/profile/ProfileMenu.tsx:373
-#: src/view/com/util/forms/PostDropdownBtn.tsx:347
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
msgstr "Condividi comunque"
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Condividi il feed"
@@ -4407,7 +4610,7 @@ msgstr ""
#: 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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr "Mostra"
@@ -4433,13 +4636,13 @@ msgstr "Mostra badge e filtra dai feed"
#~ msgid "Show embeds from {0}"
#~ msgstr "Mostra incorporamenti di {0}"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr "Mostra follows simile a {0}"
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr "Mostra di più"
@@ -4496,7 +4699,7 @@ msgstr "Mostra i re-repost in Seguiti"
msgid "Show the content"
msgstr "Mostra il contenuto"
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Mostra utenti"
@@ -4515,24 +4718,24 @@ msgstr "Mostra avviso e filtra dai feed"
msgid "Shows posts from {0} in your feed"
msgstr "Mostra i post di {0} nel tuo feed"
+#: 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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr "Accedi"
@@ -4550,28 +4753,36 @@ msgstr "Accedi come... {0}"
msgid "Sign in as..."
msgstr "Accedi come..."
+#: 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:140
#~ msgid "Sign into"
#~ msgstr "Accedere a"
-#: src/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "Disconnetta"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
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"
@@ -4580,7 +4791,7 @@ msgstr "Iscriviti o accedi per partecipare alla conversazione"
msgid "Sign-in Required"
msgstr "È richiesta l'autenticazione"
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "Registrato/a come"
@@ -4614,14 +4825,14 @@ msgstr "Sviluppo Software"
#: src/components/ReportDialog/index.tsx:59
#: src/screens/Moderation/index.tsx:114
-#: src/screens/Profile/Sections/Labels.tsx:76
+#: src/screens/Profile/Sections/Labels.tsx:87
msgid "Something went wrong, please try again."
msgstr "Qualcosa è andato male, prova di nuovo."
#~ 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."
@@ -4656,11 +4867,11 @@ msgstr "Quadrato"
#~ msgid "Staging"
#~ msgstr "Allestimento"
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "Pagina di stato"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
msgstr ""
@@ -4668,12 +4879,12 @@ msgstr ""
#~ msgid "Step {0} of {numSteps}"
#~ msgstr "Passo {0} di {numSteps}"
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
msgid "Storage cleared, you need to restart the app now."
msgstr "Spazio di archiviazione eliminato. Riavvia l'app."
-#: src/Navigation.tsx:211
-#: src/view/screens/Settings/index.tsx:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr "Cronologia"
@@ -4682,15 +4893,15 @@ msgstr "Cronologia"
msgid "Submit"
msgstr "Invia"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Iscriviti"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: 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:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
msgstr "Iscriviti a Labeler"
@@ -4699,15 +4910,15 @@ msgstr "Iscriviti a Labeler"
msgid "Subscribe to the {0} feed"
msgstr "Iscriviti a {0} feed"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
msgid "Subscribe to this labeler"
msgstr "Iscriviti a questo labeler"
-#: src/view/screens/ProfileList.tsx:586
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "Iscriviti alla lista"
-#: src/view/screens/Search/Search.tsx:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "Followers suggeriti"
@@ -4719,7 +4930,7 @@ msgstr "Suggerito per te"
msgid "Suggestive"
msgstr "Suggestivo"
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
@@ -4728,24 +4939,24 @@ msgstr "Supporto"
#~ 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
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "Cambia account"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr "Cambia a {0}"
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
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:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr "Sistema"
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "Registro di sistema"
@@ -4773,11 +4984,11 @@ msgstr "Tecnologia"
msgid "Terms"
msgstr "Termini"
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Termini di servizio"
@@ -4795,7 +5006,7 @@ msgstr "testo"
msgid "Text input field"
msgstr "Campo di testo"
-#: src/components/ReportDialog/SubmitView.tsx:78
+#: src/components/ReportDialog/SubmitView.tsx:76
msgid "Thank you. Your report has been sent."
msgstr "Grazie. La tua segnalazione è stata inviata."
@@ -4803,11 +5014,11 @@ msgstr "Grazie. La tua segnalazione è stata inviata."
msgid "That contains the following:"
msgstr "Che contiene il seguente:"
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "Questo handle è già stato preso."
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: 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."
@@ -4860,8 +5071,8 @@ msgstr "I Termini di Servizio sono stati spostati a"
msgid "There are many feeds to try:"
msgstr "Ci sono molti feed da provare:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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."
@@ -4869,15 +5080,19 @@ msgstr "Si è verificato un problema nel contattare il server, controlla la tua
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:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+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 "Si è verificato un problema durante il contatto con il server"
@@ -4900,12 +5115,12 @@ 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/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 "Si è verificato un problema durante l'invio della segnalazione. Per favore controlla la tua connessione Internet."
@@ -4917,9 +5132,9 @@ msgstr "Si è verificato un problema durante la sincronizzazione delle tue prefe
msgid "There was an issue with fetching your app passwords"
msgstr "Si è verificato un problema durante il recupero delle password dell'app"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -4931,14 +5146,15 @@ msgstr "Si è verificato un problema durante il recupero delle password dell'app
msgid "There was an issue! {0}"
msgstr "Si è verificato un problema! {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 "Si è verificato un problema. Per favore controlla la tua connessione Internet e prova di nuovo."
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
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!"
@@ -5000,9 +5216,9 @@ msgstr "Questa funzionalità è in versione beta. Puoi leggere ulteriori informa
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/screens/Profile/Sections/Feed.tsx:50
-#: src/view/screens/ProfileFeed.tsx:477
-#: 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 "Questo feed è vuoto!"
@@ -5014,7 +5230,7 @@ msgstr "Questo feed è vuoto! Prova a seguire più utenti o ottimizza le imposta
msgid "This information is not shared with other users."
msgstr "Queste informazioni non vengono condivise con altri utenti."
-#: src/view/com/modals/VerifyEmail.tsx:119
+#: src/view/com/modals/VerifyEmail.tsx:127
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."
@@ -5025,7 +5241,7 @@ msgstr "Questo è importante nel caso in cui avessi bisogno di modificare la tua
msgid "This label was applied by {0}."
msgstr "Questa etichetta è stata applicata da {0}."
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: 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."
@@ -5033,7 +5249,7 @@ msgstr "Questo etichettatore non ha dichiarato quali etichette pubblica e potreb
msgid "This link is taking you to the following website:"
msgstr "Questo link ti porta al seguente sito web:"
-#: src/view/screens/ProfileList.tsx:853
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "La lista è vuota!"
@@ -5045,16 +5261,16 @@ msgstr "Questo servizio di moderazione non è disponibile. Vedi giù per ulterio
msgid "This name is already in use"
msgstr "Questo nome è già in uso"
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr "Questo post è stato cancellato."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:352
msgid "This post will be hidden from feeds."
msgstr "Questo post verrà nascosto dai feed."
@@ -5115,12 +5331,12 @@ msgstr "Questo eliminerà {0} dalle parole disattivate. Puoi sempre aggiungerla
#~ msgid "This will hide this post from your feeds."
#~ msgstr "Questo nasconderà il post dai tuoi feeds."
-#: src/view/screens/Settings/index.tsx:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
msgstr "Preferenze delle discussioni"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "Preferenze delle Discussioni"
@@ -5128,10 +5344,14 @@ msgstr "Preferenze delle Discussioni"
msgid "Threaded Mode"
msgstr "Modalità discussione"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr "Preferenze per le discussioni"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr ""
+
#: src/components/ReportDialog/SelectLabelerView.tsx:33
msgid "To whom would you like to send this report?"
msgstr "A chi desideri inviare questo report?"
@@ -5148,14 +5368,19 @@ msgstr "Attiva/disattiva il menu a discesa"
msgid "Toggle to enable or disable adult content"
msgstr "Seleziona per abilitare o disabilitare i contenuti per adulti"
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr ""
+
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Trasformazioni"
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "Tradurre"
@@ -5167,35 +5392,39 @@ msgstr "Riprova"
#~ msgid "Try again"
#~ msgstr "Provalo di nuovo"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr ""
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
msgstr "Tipo:"
-#: src/view/screens/ProfileList.tsx:478
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Sblocca la lista"
-#: src/view/screens/ProfileList.tsx:461
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Riattiva questa lista"
#: src/screens/Login/ForgotPasswordForm.tsx:74
#: src/screens/Login/index.tsx:78
-#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:181
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
-#: src/view/screens/ProfileList.tsx:572
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Sblocca"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr "Sblocca"
@@ -5205,7 +5434,7 @@ msgstr "Sblocca"
msgid "Unblock Account"
msgstr "Sblocca Account"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
msgstr "Sblocca Account?"
@@ -5218,7 +5447,7 @@ msgid "Undo repost"
msgstr "Annulla la ripubblicazione"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
msgstr "Smetti di seguire"
@@ -5227,7 +5456,7 @@ msgctxt "action"
msgid "Unfollow"
msgstr "Smetti di seguire"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
msgid "Unfollow {0}"
msgstr "Smetti di seguire {0}"
@@ -5240,16 +5469,16 @@ msgstr "Smetti di seguire questo account"
#~ 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:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Togli Mi piace"
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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:579
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "Riattiva"
@@ -5266,32 +5495,32 @@ msgstr "Riattiva questo account"
msgid "Unmute all {displayTag} posts"
msgstr "Riattiva tutti i post di {displayTag}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "Riattiva questa discussione"
-#: src/view/screens/ProfileFeed.tsx:295
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Stacca dal profilo"
-#: src/view/screens/ProfileFeed.tsx:292
+#: src/view/screens/ProfileFeed.tsx:303
msgid "Unpin from home"
msgstr "Stacca dalla Home"
-#: src/view/screens/ProfileList.tsx:444
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr "Stacca la lista di moderazione"
#~ msgid "Unsave"
#~ msgstr "Rimuovi"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
msgstr "Annulla l'iscrizione"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
msgstr "Annulla l'iscrizione a questo/a labeler"
@@ -5318,20 +5547,20 @@ msgstr "In aggiornamento..."
msgid "Upload a text file to:"
msgstr "Carica una file di testo a:"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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:343
+#: 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:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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"
@@ -5408,13 +5637,13 @@ msgstr "Questo utente ti blocca"
msgid "User list by {0}"
msgstr "Lista di {0}"
-#: src/view/screens/ProfileList.tsx:777
+#: 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:775
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "La tua lista"
@@ -5430,11 +5659,11 @@ msgstr "Lista aggiornata"
msgid "User Lists"
msgstr "Liste publiche"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "Nome utente o indirizzo Email"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "Utenti"
@@ -5461,15 +5690,15 @@ msgstr "Valore:"
msgid "Verify {0}"
msgstr "Verifica {0}"
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "Verifica Email"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "Verifica la mia email"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "Verifica la Mia Email"
@@ -5478,11 +5707,11 @@ msgstr "Verifica la Mia Email"
msgid "Verify New Email"
msgstr "Verifica la nuova email"
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr "Verifica la tua email"
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
msgstr ""
@@ -5498,11 +5727,11 @@ msgstr "Vedi l'avatar di {0}"
msgid "View debug entry"
msgstr "Vedi le informazioni del debug"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
msgstr "Vedere dettagli"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
msgstr "Visualizza i dettagli per segnalare una violazione del copyright"
@@ -5514,6 +5743,8 @@ msgstr "Vedi la discussione completa"
msgid "View information about these labels"
msgstr "Visualizza le informazioni su queste etichette"
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Vedi il profilo"
@@ -5526,7 +5757,7 @@ msgstr "Vedi l'avatar"
msgid "View the labeling service provided by @{0}"
msgstr "Visualizza il servizio di etichettatura fornito da @{0}"
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
msgstr "Visualizza gli utenti a cui piace questo feed"
@@ -5554,7 +5785,7 @@ msgstr "Avvisa i contenuti e filtra dai feed"
#~ 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
+#: src/screens/Hashtag.tsx:210
msgid "We couldn't find any results for that hashtag."
msgstr "Non siamo riusciti a trovare alcun risultato per quell'hashtag."
@@ -5601,11 +5832,11 @@ msgstr "Ti faremo sapere quando il tuo account sarà pronto."
msgid "We'll use this to help customize your experience."
msgstr "Lo useremo per personalizzare la tua esperienza."
-#: src/screens/Signup/index.tsx:130
+#: 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: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 "Siamo spiacenti, ma non siamo riusciti a risolvere questa lista. Se il problema persiste, contatta il creatore della lista, @{handleOrDid}."
@@ -5613,16 +5844,16 @@ msgstr "Siamo spiacenti, ma non siamo riusciti a risolvere questa lista. Se il p
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
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:256
+#: src/view/screens/Search/Search.tsx:323
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:188
+#: src/components/Lists.tsx:197
#: 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/screens/Profile/Header/ProfileHeaderLabeler.tsx:321
+#: 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."
@@ -5640,9 +5871,9 @@ msgstr "Quali sono i tuoi interessi?"
#~ msgid "What's next?"
#~ msgstr "Qual è il prossimo?"
-#: src/view/com/auth/SplashScreen.tsx:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr "Come va?"
@@ -5683,11 +5914,11 @@ msgstr "Perché questo utente dovrebbe essere revisionato?"
msgid "Wide"
msgstr "Largo"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "Scrivi un post"
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Scrivi la tua risposta"
@@ -5742,15 +5973,15 @@ msgstr "Non hai follower."
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."
@@ -5791,16 +6022,16 @@ msgstr "Hai silenziato questo utente"
#~ msgid "You have muted this user."
#~ msgstr "Hai disattivato questo utente."
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: 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/ProfileLists.tsx:148
msgid "You have no lists."
msgstr "Non hai liste."
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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."
@@ -5811,7 +6042,7 @@ msgstr "Non hai ancora bloccato nessun account. Per bloccare un account, vai sul
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
+#: 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."
@@ -5837,15 +6068,15 @@ msgstr ""
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/components/ReportDialog/SubmitView.tsx:205
+#: 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:144
+#: 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:147
+#: 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"
@@ -5876,7 +6107,7 @@ msgstr "Hai scelto di nascondere una parola o un tag in questo post."
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/screens/Signup/index.tsx:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Il tuo account"
@@ -5888,7 +6119,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/screens/Signup/StepInfo/index.tsx:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "La tua data di nascita"
@@ -5913,7 +6144,7 @@ msgstr "Your email appears to be invalid."
msgid "Your email has been updated but not verified. As a next step, please verify your new email."
msgstr "La tua email è stata aggiornata ma non verificata. Come passo successivo, verifica la tua nuova email."
-#: src/view/com/modals/VerifyEmail.tsx:114
+#: src/view/com/modals/VerifyEmail.tsx:122
msgid "Your email has not yet been verified. This is an important security step which we recommend."
msgstr "La tua email non è stata ancora verificata. Ti consigliamo di fare questo importante passo per la sicurezza del tuo account."
@@ -5921,7 +6152,7 @@ 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/screens/Signup/StepHandle.tsx:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Il tuo nome di utente completo sarà"
@@ -5943,7 +6174,7 @@ msgstr "Le tue parole silenziate"
msgid "Your password has been changed successfully!"
msgstr "La tua password è stata modificata correttamente!"
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr "Il tuo post è stato pubblicato"
@@ -5953,14 +6184,14 @@ msgstr "Il tuo post è stato pubblicato"
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:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "Il tuo profilo"
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr "La tua risposta è stata pubblicata"
-#: src/screens/Signup/index.tsx:152
+#: 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 3bb8437bba..98b4f5a471 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,58 +8,24 @@ msgstr ""
"Language: ja\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-03-24 09:30+0900\n"
-"Last-Translator: Hima-Zinn\n"
+"PO-Revision-Date: 2024-04-23 13:29+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
+#: src/view/com/modals/VerifyEmail.tsx:150
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, other {# 個の招待コードが利用可能}}"
-
-#: src/view/com/modals/CreateOrEditList.tsx:185
-#: src/view/screens/Settings.tsx:294
-#~ msgid "{0}"
-#~ msgstr "{0}"
-
-#: src/view/com/modals/CreateOrEditList.tsx:176
-#~ msgid "{0} {purposeLabel} List"
-#~ msgstr "{0} {purposeLabel} リスト"
-
+#: src/components/ProfileHoverCard/index.web.tsx:438
#: 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, 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/screens/Search/Search.tsx:87
-#~ msgid "{message}"
-#~ msgstr "{message}"
-
-#: src/view/shell/Drawer.tsx:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications}件の未読"
-#: src/Navigation.tsx:147
-#~ msgid "@{0}"
-#~ msgstr "@{0}"
-
#: src/view/com/threadgate/WhoCanReply.tsx:158
msgid "<0/> members"
msgstr "<0/>のメンバー"
@@ -68,15 +34,20 @@ msgstr "<0/>のメンバー"
msgid "<0>{0}0> following"
msgstr "<0>{0}0> フォロー"
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr "<0>{followers} 0><1>フォロワー1>"
+
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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><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>"
@@ -84,39 +55,44 @@ msgstr "<1>おすすめの1><2>ユーザー2><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 "⚠無効なハンドル"
-#: 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/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr "2要素認証の確認"
-#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:649
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
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:300
-#: src/view/screens/Settings/index.tsx:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "アクセシビリティ"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr "アクセシビリティの設定"
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr "アクセシビリティの設定"
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
msgstr "アカウント"
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "アカウント"
@@ -149,7 +125,7 @@ msgstr "アカウントオプション"
msgid "Account removed from quick access"
msgstr "クイックアクセスからアカウントを解除"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "アカウントのブロックを解除しました"
@@ -166,7 +142,7 @@ msgstr "アカウントのミュートを解除しました"
#: 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:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "追加"
@@ -174,13 +150,13 @@ 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/components/dialogs/SwitchAccount.tsx:55
-#: src/view/screens/Settings/index.tsx:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr "アカウントを追加"
@@ -196,23 +172,6 @@ msgstr "ALTテキストを追加"
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: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 "ミュートするワードを設定に追加"
@@ -257,24 +216,16 @@ msgstr "返信がフィードに表示されるために必要ないいねの数
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/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/components/moderation/LabelPreference.tsx:242
msgid "Adult content is disabled."
msgstr "成人向けコンテンツは無効になっています。"
#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
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 "保存したすべてのフィードを1箇所にまとめます。"
@@ -292,6 +243,7 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "ALTテキスト"
@@ -299,7 +251,8 @@ msgstr "ALTテキスト"
msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone."
msgstr "ALTテキストは、すべての人が文脈を理解できるようにするために、視覚障害者や低視力者向けに提供する画像の説明文です。"
-#: src/view/com/modals/VerifyEmail.tsx:124
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
msgstr "メールが{0}に送信されました。以下に入力できる確認コードがそのメールに記載されています。"
@@ -307,10 +260,16 @@ 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/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr "エラーが発生しました"
+
#: 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
@@ -318,7 +277,7 @@ msgstr "ほかの選択肢にはあてはまらない問題"
msgid "An issue occurred, please try again."
msgstr "問題が発生しました。もう一度お試しください。"
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "および"
@@ -327,6 +286,10 @@ msgstr "および"
msgid "Animals"
msgstr "動物"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr "アニメーションGIF"
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
msgstr "反社会的な行動"
@@ -347,17 +310,13 @@ msgstr "アプリパスワードの名前には、英数字、スペース、ハ
msgid "App Password names must be at least 4 characters long."
msgstr "アプリパスワードの名前は長さが4文字以上である必要があります。"
-#: src/view/screens/Settings/index.tsx:695
+#: src/view/screens/Settings/index.tsx:647
msgid "App password settings"
msgstr "アプリパスワードの設定"
-#: src/view/screens/Settings.tsx:650
-#~ msgid "App passwords"
-#~ msgstr "アプリパスワード"
-
-#: src/Navigation.tsx:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "アプリパスワード"
@@ -370,32 +329,11 @@ msgstr "異議を申し立てる"
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 "コンテンツの警告に異議を申し立てる"
-
-#: src/view/com/modals/AppealLabel.tsx:65
-#~ 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 "この判断に異議を申し立てる"
-
-#: src/view/com/util/moderation/LabelInfo.tsx:56
-#~ msgid "Appeal this decision."
-#~ msgstr "この判断に異議を申し立てる"
-
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "背景"
@@ -407,7 +345,7 @@ msgstr "アプリパスワード「{name}」を本当に削除しますか?"
msgid "Are you sure you want to remove {0} from your feeds?"
msgstr "あなたのフィードから{0}を削除してもよろしいですか?"
-#: src/view/com/composer/Composer.tsx:509
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr "本当にこの下書きを破棄しますか?"
@@ -415,10 +353,6 @@ msgstr "本当にこの下書きを破棄しますか?"
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>で書かれた投稿ですか?"
@@ -431,9 +365,9 @@ msgstr "アート"
msgid "Artistic or non-erotic nudity."
msgstr "芸術的または性的ではないヌード。"
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
-msgstr ""
+msgstr "少なくとも3文字"
#: src/components/moderation/LabelsOnMeDialog.tsx:246
#: src/components/moderation/LabelsOnMeDialog.tsx:247
@@ -441,38 +375,33 @@ msgstr ""
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr "戻る"
-#: src/view/com/post-thread/PostThread.tsx:480
-#~ msgctxt "action"
-#~ 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:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "基本"
#: src/components/dialogs/BirthDateSettings.tsx:107
msgid "Birthday"
-msgstr "誕生日"
+msgstr "生年月日"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
-msgstr "誕生日:"
+msgstr "生年月日:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
msgstr "ブロック"
@@ -486,25 +415,21 @@ 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/screens/ProfileList.tsx:320
-#~ msgid "Block this List"
-#~ 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 "ブロックされています"
@@ -512,8 +437,8 @@ msgstr "ブロックされています"
msgid "Blocked accounts"
msgstr "ブロック中のアカウント"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "ブロック中のアカウント"
@@ -521,7 +446,7 @@ 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:120
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 "ブロック中のアカウントは、あなたのスレッドでの返信、あなたへのメンション、その他の方法であなたとやり取りすることはできません。あなたは相手のコンテンツを見ることができず、相手はあなたのコンテンツを見ることができなくなります。"
@@ -529,11 +454,11 @@ msgstr "ブロック中のアカウントは、あなたのスレッドでの返
msgid "Blocked post."
msgstr "投稿をブロックしました。"
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: 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 "ブロックしたことは公開されます。ブロック中のアカウントは、あなたのスレッドでの返信、あなたへのメンション、その他の方法であなたとやり取りすることはできません。"
@@ -541,12 +466,10 @@ 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:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "ブログ"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -571,18 +494,10 @@ msgstr "Blueskyは開かれています。"
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はより健全なコミュニティーを構築するために招待状を使用します。招待状をお持ちでない場合、Waitlistにお申し込みいただくと招待状をお送りします。"
-
#: 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 "画像をぼかす"
@@ -595,19 +510,10 @@ msgstr "画像のぼかしとフィードからのフィルタリング"
msgid "Books"
msgstr "書籍"
-#: src/view/screens/Settings/index.tsx:893
-#~ msgid "Build version {0} {1}"
-#~ msgstr "ビルドバージョン {0} {1}"
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: 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 "作成者:-"
@@ -632,7 +538,7 @@ msgstr "アカウントを作成することで、{els}に同意したものと
msgid "by you"
msgstr "作成者:あなた"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "カメラ"
@@ -644,8 +550,8 @@ msgstr "英数字、スペース、ハイフン、アンダースコアのみが
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -660,9 +566,9 @@ msgstr "英数字、スペース、ハイフン、アンダースコアのみが
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "キャンセル"
@@ -679,10 +585,6 @@ msgstr "キャンセル"
msgid "Cancel account deletion"
msgstr "アカウントの削除をキャンセル"
-#: src/view/com/modals/AltImage.tsx:123
-#~ msgid "Cancel add image alt text"
-#~ msgstr "画像のALTテキストの追加をキャンセル"
-
#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Cancel change handle"
msgstr "ハンドルの変更をキャンセル"
@@ -704,42 +606,38 @@ msgstr "引用をキャンセル"
msgid "Cancel search"
msgstr "検索をキャンセル"
-#: src/view/com/modals/Waitlist.tsx:136
-#~ msgid "Cancel waitlist signup"
-#~ msgstr "Waitlistの登録をキャンセル"
-
#: src/view/com/modals/LinkWarning.tsx:106
msgid "Cancels opening the linked website"
msgstr "リンク先のウェブサイトを開くことをキャンセル"
-#: src/view/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
msgstr "変更"
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "変更"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "ハンドルを変更"
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "ハンドルを変更"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "メールアドレスを変更"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr "パスワードを変更"
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr "パスワードを変更"
@@ -747,10 +645,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 "メールアドレスを変更"
@@ -760,14 +654,18 @@ 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/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr "確認コードが記載されたメールを確認し、ここに入力してください。"
+
#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "入力したメールアドレスの受信トレイを確認して、以下に入力するための確認コードが記載されたメールが届いていないか確認してください:"
@@ -776,10 +674,6 @@ 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 "サービスを選択"
@@ -793,44 +687,40 @@ msgstr "カスタムフィードのアルゴリズムを選択できます。"
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:104
msgid "Choose your main feeds"
msgstr "メインのフィードを選択"
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "パスワードを入力"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr "レガシーストレージデータをすべてクリア"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
msgid "Clear all legacy storage data (restart after this)"
msgstr "すべてのレガシーストレージデータをクリア(このあと再起動します)"
-#: src/view/screens/Settings/index.tsx:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr "すべてのストレージデータをクリア"
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
msgid "Clear all storage data (restart after this)"
msgstr "すべてのストレージデータをクリア(このあと再起動します)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "検索クエリをクリア"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
msgstr "すべてのレガシーストレージデータをクリア"
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
msgstr "すべてのストレージデータをクリア"
@@ -842,21 +732,18 @@ msgstr "こちらをクリック"
msgid "Click here to open tag menu for {tag}"
msgstr "{tag}のタグメニューをクリックして表示"
-#: src/components/RichText.tsx:192
-msgid "Click here to open tag menu for #{tag}"
-msgstr "#{tag}のタグメニューをクリックして表示"
-
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
msgstr "気象"
+#: src/components/dialogs/GifSelect.tsx:300
#: 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
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr "アクティブなダイアログを閉じる"
@@ -868,6 +755,14 @@ msgstr "アラートを閉じる"
msgid "Close bottom drawer"
msgstr "一番下の引き出しを閉じる"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr "ダイアログを閉じる"
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr "GIFのダイアログを閉じる"
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "画像を閉じる"
@@ -876,7 +771,7 @@ msgstr "画像を閉じる"
msgid "Close image viewer"
msgstr "画像ビューアを閉じる"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr "ナビゲーションフッターを閉じる"
@@ -885,7 +780,7 @@ msgstr "ナビゲーションフッターを閉じる"
msgid "Close this dialog"
msgstr "このダイアログを閉じる"
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr "下部のナビゲーションバーを閉じる"
@@ -893,7 +788,7 @@ msgstr "下部のナビゲーションバーを閉じる"
msgid "Closes password update alert"
msgstr "パスワード更新アラートを閉じる"
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr "投稿の編集画面を閉じて下書きを削除する"
@@ -901,7 +796,7 @@ msgstr "投稿の編集画面を閉じて下書きを削除する"
msgid "Closes viewer for header image"
msgstr "ヘッダー画像のビューワーを閉じる"
-#: src/view/com/notifications/FeedItem.tsx:321
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "指定した通知のユーザーリストを折りたたむ"
@@ -913,7 +808,7 @@ msgstr "コメディー"
msgid "Comics"
msgstr "漫画"
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "コミュニティーガイドライン"
@@ -922,11 +817,11 @@ msgstr "コミュニティーガイドライン"
msgid "Complete onboarding and start using your account"
msgstr "初期設定を完了してアカウントを使い始める"
-#: src/screens/Signup/index.tsx:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "テストをクリアしてください"
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "{MAX_GRAPHEME_LENGTH}文字までの投稿を作成"
@@ -940,7 +835,7 @@ msgstr "このカテゴリのコンテンツフィルタリングを設定:{0}
#: src/components/moderation/LabelPreference.tsx:81
msgid "Configure content filtering setting for category: {name}"
-msgstr ""
+msgstr "このカテゴリのコンテンツフィルタリングを設定:{name}"
#: src/components/moderation/LabelPreference.tsx:244
msgid "Configured in <0>moderation settings0>."
@@ -949,19 +844,15 @@ 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/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
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"
@@ -975,10 +866,6 @@ msgstr "コンテンツの言語設定を確認"
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 "年齢の確認:"
@@ -987,22 +874,21 @@ msgstr "年齢の確認:"
msgid "Confirm your birthdate"
msgstr "生年月日の確認"
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
msgid "Confirmation code"
msgstr "確認コード"
-#: src/view/com/modals/Waitlist.tsx:120
-#~ msgid "Confirms signing up {email} to the waitlist"
-#~ msgstr "{email}のWaitlistへの登録を確認"
-
-#: src/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "接続中..."
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "サポートに連絡"
@@ -1014,14 +900,6 @@ msgstr "コンテンツ"
msgid "Content Blocked"
msgstr "ブロックされたコンテンツ"
-#: src/view/screens/Moderation.tsx:83
-#~ msgid "Content filtering"
-#~ msgstr "コンテンツのフィルタリング"
-
-#: src/view/com/modals/ContentFilteringSettings.tsx:44
-#~ msgid "Content Filtering"
-#~ msgstr "コンテンツのフィルタリング"
-
#: src/screens/Moderation/index.tsx:285
msgid "Content filters"
msgstr "コンテンツのフィルター"
@@ -1056,21 +934,21 @@ msgstr "コンテキストメニューの背景をクリックし、メニュー
#: 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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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 ""
+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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "次のステップへ進む"
@@ -1091,17 +969,21 @@ msgstr "料理"
msgid "Copied"
msgstr "コピーしました"
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
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:158
+#: 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 "アプリパスワードをコピーします"
@@ -1114,25 +996,26 @@ msgstr "コピー"
msgid "Copy {0}"
msgstr "{0}をコピー"
-#: src/view/screens/ProfileList.tsx:388
+#: 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:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
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:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "投稿のテキストをコピー"
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "著作権ポリシー"
@@ -1141,39 +1024,38 @@ msgstr "著作権ポリシー"
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/create/Step2.tsx:91
-#~ msgid "Country"
-#~ msgstr "国"
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr "新しいBlueskyアカウントを作成"
-#: src/screens/Signup/index.tsx:129
+#: 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/HomeLoggedOutCTA.tsx:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: 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}の報告を作成"
@@ -1181,18 +1063,6 @@ msgstr "{0}の報告を作成"
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:469
-msgid "Creates a card with a thumbnail. The card links to {url}"
-msgstr "サムネイル付きのカードを作成します。そのカードは次のアドレスへリンクします:{url}"
-
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
msgstr "文化"
@@ -1207,20 +1077,16 @@ msgid "Custom domain"
msgstr "カスタムドメイン"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr "外部サイトのメディアをカスタマイズします。"
-#: src/view/screens/Settings.tsx:687
-#~ msgid "Danger Zone"
-#~ msgstr "危険地帯"
-
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr "ダーク"
@@ -1228,19 +1094,15 @@ msgstr "ダーク"
msgid "Dark mode"
msgstr "ダークモード"
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr "ダークテーマ"
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
-msgstr ""
-
-#: src/Navigation.tsx:204
-#~ msgid "Debug"
-#~ msgstr "デバッグ"
+msgstr "生年月日"
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
msgstr "モデレーションをデバッグ"
@@ -1248,13 +1110,13 @@ msgstr "モデレーションをデバッグ"
msgid "Debug panel"
msgstr "デバッグパネル"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: 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:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "アカウントを削除"
@@ -1270,7 +1132,7 @@ msgstr "アプリパスワードを削除"
msgid "Delete app password?"
msgstr "アプリパスワードを削除しますか?"
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "リストを削除"
@@ -1278,28 +1140,24 @@ msgstr "リストを削除"
msgid "Delete my account"
msgstr "マイアカウントを削除"
-#: src/view/screens/Settings.tsx:706
-#~ msgid "Delete my account…"
-#~ msgstr "マイアカウントを削除…"
-
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
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:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
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:340
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 "削除されています"
@@ -1314,22 +1172,26 @@ msgstr "投稿を削除しました。"
msgid "Description"
msgstr "説明"
-#: src/view/com/auth/create/Step1.tsx:96
-#~ msgid "Dev Server"
-#~ msgstr "開発者サーバー"
-
-#: src/view/screens/Settings.tsx:760
-#~ msgid "Developer Tools"
-#~ msgstr "開発者ツール"
-
-#: src/view/com/composer/Composer.tsx:218
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr "なにか言いたいことはあった?"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr "グレー"
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr "GIFを自動再生しない"
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr "メールでの2要素認証を無効化"
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+msgstr "触覚フィードバックを無効化"
+
#: src/lib/moderation/useLabelBehaviorDescription.ts:32
#: src/lib/moderation/useLabelBehaviorDescription.ts:42
#: src/lib/moderation/useLabelBehaviorDescription.ts:68
@@ -1337,15 +1199,11 @@ msgstr "グレー"
msgid "Disabled"
msgstr "無効"
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr "破棄"
-#: src/view/com/composer/Composer.tsx:145
-#~ msgid "Discard draft"
-#~ msgstr "下書きを破棄"
-
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
msgstr "下書きを削除しますか?"
@@ -1359,11 +1217,7 @@ 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 "新しいフィードを探す"
@@ -1383,9 +1237,9 @@ msgstr "DNSパネルがある場合"
msgid "Does not include nudity."
msgstr "ヌードは含まれません。"
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
-msgstr ""
+msgstr "ハイフンで始まったり終ったりしない"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "Domain Value"
@@ -1395,10 +1249,6 @@ msgstr "ドメインの値"
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
@@ -1417,7 +1267,7 @@ msgstr "ドメインを確認しました!"
msgid "Done"
msgstr "完了"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: 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
@@ -1434,20 +1284,12 @@ msgstr "完了"
msgid "Done{extraText}"
msgstr "完了{extraText}"
-#: 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 "Blueskyのアカウントのデータ(リポジトリ)をダウンロード"
-
#: 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
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr "ドロップして画像を追加する"
@@ -1500,7 +1342,7 @@ msgctxt "action"
msgid "Edit"
msgstr "編集"
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
msgstr "アバターを編集"
@@ -1510,7 +1352,7 @@ msgstr "アバターを編集"
msgid "Edit image"
msgstr "画像を編集"
-#: src/view/screens/ProfileList.tsx:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "リストの詳細を編集"
@@ -1518,9 +1360,9 @@ msgstr "リストの詳細を編集"
msgid "Edit Moderation List"
msgstr "モデレーションリストを編集"
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "マイフィードを編集"
@@ -1528,18 +1370,18 @@ msgstr "マイフィードを編集"
msgid "Edit my profile"
msgstr "マイプロフィールを編集"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "プロフィールを編集"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
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 "保存されたフィードを編集"
@@ -1564,6 +1406,10 @@ msgstr "教育"
msgid "Email"
msgstr "メールアドレス"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr "メールでの2要素認証を無効にしました"
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "メールアドレス"
@@ -1577,14 +1423,28 @@ msgstr "メールアドレスは更新されました"
msgid "Email Updated"
msgstr "メールアドレスは更新されました"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr "メールアドレスは認証されました"
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
msgid "Email:"
msgstr "メールアドレス:"
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr "HTMLコードを埋め込む"
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+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 "この投稿をあなたのウェブサイトに埋め込みます。以下のスニペットをコピーして、あなたのウェブサイトのHTMLコードに貼り付けるだけです。"
+
#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "{0}のみ有効にする"
@@ -1605,13 +1465,9 @@ 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 "外部メディアを有効にする"
+msgstr "外部メディアを有効にする"
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr "有効にするメディアプレイヤー"
@@ -1621,13 +1477,13 @@ msgstr "この設定を有効にすると、自分がフォローしているユ
#: src/components/dialogs/EmbedConsent.tsx:94
msgid "Enable this source only"
-msgstr ""
+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 "フィードの終わり"
@@ -1637,21 +1493,17 @@ msgstr "このアプリパスワードの名前を入力"
#: src/screens/Login/SetNewPasswordForm.tsx:139
msgid "Enter a password"
-msgstr ""
+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
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr "確認コードを入力してください"
-#: src/view/com/auth/create/Step1.tsx:71
-#~ msgid "Enter the address of your provider:"
-#~ msgstr "プロバイダーのアドレスを入力してください:"
-
#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
msgstr "パスワードを変更するために受け取ったコードを入力してください。"
@@ -1666,14 +1518,10 @@ msgstr "アカウントの作成に使用したメールアドレスを入力し
#: src/components/dialogs/BirthDateSettings.tsx:108
msgid "Enter your birth date"
-msgstr "誕生日を入力してください"
-
-#: src/view/com/modals/Waitlist.tsx:78
-#~ msgid "Enter your email"
-#~ msgstr "メールアドレスを入力してください"
+msgstr "生年月日を入力してください"
#: src/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "メールアドレスを入力してください"
@@ -1685,10 +1533,6 @@ msgstr "上記に新しいメールアドレスを入力してください"
msgid "Enter your new email address below."
msgstr "以下に新しいメールアドレスを入力してください。"
-#: src/view/com/auth/create/Step2.tsx:188
-#~ msgid "Enter your phone number"
-#~ msgstr "電話番号を入力"
-
#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "ユーザー名とパスワードを入力してください"
@@ -1697,7 +1541,7 @@ msgstr "ユーザー名とパスワードを入力してください"
msgid "Error receiving captcha response."
msgstr "Captchaレスポンスの受信中にエラーが発生しました。"
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "エラー:"
@@ -1730,16 +1574,12 @@ msgstr "画像表示を終了"
msgid "Exits inputting search query"
msgstr "検索クエリの入力を終了"
-#: src/view/com/modals/Waitlist.tsx:138
-#~ msgid "Exits signing up for waitlist with {email}"
-#~ msgstr "{email}でWaitlistへの登録を終了"
-
#: 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 "返信する投稿全体を展開または折りたたむ"
@@ -1751,12 +1591,12 @@ msgstr "露骨な、または不愉快になる可能性のあるメディア。
msgid "Explicit sexual images."
msgstr "露骨な性的画像。"
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr "私のデータをエクスポートする"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr "私のデータをエクスポートする"
@@ -1766,17 +1606,17 @@ msgid "External Media"
msgstr "外部メディア"
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr "外部メディアの設定"
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr "外部メディアの設定"
@@ -1789,12 +1629,16 @@ msgstr "アプリパスワードの作成に失敗しました。"
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/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+msgstr "GIFの読み込みに失敗しました"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "おすすめのフィードの読み込みに失敗しました"
@@ -1802,7 +1646,7 @@ msgstr "おすすめのフィードの読み込みに失敗しました"
msgid "Failed to save image: {0}"
msgstr "画像の保存に失敗しました:{0}"
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr "フィード"
@@ -1810,43 +1654,31 @@ 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/com/feeds/FeedPage.tsx:143
-#~ msgid "Feed Preferences"
-#~ msgstr "フィードの設定"
-
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:314
+#: 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:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: 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/>を参照してください。"
@@ -1872,13 +1704,9 @@ msgstr "最後に"
msgid "Find accounts to follow"
msgstr "フォローするアカウントを探す"
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
-msgstr "Blueskyでユーザーを検索"
-
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr "右側の検索ツールでユーザーを検索"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
+msgstr "投稿やユーザーをBlueskyで検索"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
@@ -1888,10 +1716,6 @@ msgstr "似ているアカウントを検索中..."
msgid "Fine-tune the content you see on your Following feed."
msgstr "Followingフィードに表示されるコンテンツを調整します。"
-#: 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 "ディスカッションスレッドを微調整します。"
@@ -1914,10 +1738,10 @@ msgid "Flip vertically"
msgstr "垂直方向に反転"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "フォロー"
@@ -1927,7 +1751,7 @@ msgid "Follow"
msgstr "フォロー"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "{0}をフォロー"
@@ -1943,21 +1767,17 @@ msgstr "すべてのアカウントをフォロー"
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
msgid "Follow Back"
-msgstr ""
+msgstr "フォローバック"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
msgid "Follow selected accounts and continue to the next step"
msgstr "選択したアカウントをフォローして次のステップへ進む"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
-#~ 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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr "{0}がフォロー中"
@@ -1969,7 +1789,7 @@ msgstr "自分がフォローしているユーザー"
msgid "Followed users only"
msgstr "自分がフォローしているユーザーのみ"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "あなたをフォローしました"
@@ -1978,30 +1798,26 @@ msgstr "あなたをフォローしました"
msgid "Followers"
msgstr "フォロワー"
-#: src/view/com/profile/ProfileHeader.tsx:624
-#~ msgid "following"
-#~ msgstr "フォロー中"
-
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: 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
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr "{0}をフォローしています"
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
msgid "Following feed preferences"
msgstr "Followingフィードの設定"
-#: src/Navigation.tsx:262
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
msgstr "Followingフィードの設定"
@@ -2009,7 +1825,7 @@ msgstr "Followingフィードの設定"
msgid "Follows you"
msgstr "あなたをフォロー"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr "あなたをフォロー"
@@ -2025,47 +1841,38 @@ msgstr "セキュリティ上の理由から、あなたのメールアドレス
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 password"
-#~ msgstr "パスワードを忘れた"
-
#: src/screens/Login/index.tsx:129
#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "パスワードを忘れた"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
-msgstr ""
+msgstr "パスワードを忘れた?"
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
-msgstr ""
+msgstr "忘れた?"
#: src/lib/moderation/useReportOptions.ts:52
msgid "Frequently Posts Unwanted Content"
msgstr "望ましくないコンテンツを頻繁に投稿"
-#: src/screens/Hashtag.tsx:109
-#: src/screens/Hashtag.tsx:149
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
msgstr "@{sanitizedAuthor}による"
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "<0/>から"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "ギャラリー"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "開始"
@@ -2079,25 +1886,25 @@ msgstr "法律または利用規約への明らかな違反"
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: src/view/screens/ProfileList.tsx:918
#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "戻る"
-#: src/components/Error.tsx:91
+#: src/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "戻る"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "前のステップに戻る"
@@ -2109,7 +1916,7 @@ msgstr "ホームへ"
msgid "Go Home"
msgstr "ホームへ"
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "@{queryMaybeHandle}へ"
@@ -2127,28 +1934,28 @@ msgstr "生々しいメディア"
msgid "Handle"
msgstr "ハンドル"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr "触覚フィードバック"
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
msgstr "嫌がらせ、荒らし、不寛容"
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
msgstr "ハッシュタグ"
-#: src/components/RichText.tsx:188
-#~ msgid "Hashtag: {tag}"
-#~ msgstr "ハッシュタグ:{tag}"
-
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
msgstr "ハッシュタグ:#{tag}"
-#: src/screens/Signup/index.tsx:217
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "なにか問題が発生しましたか?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "ヘルプ"
@@ -2156,10 +1963,6 @@ msgstr "ヘルプ"
msgid "Here are some accounts for you to follow"
msgstr "あなたがフォローしそうなアカウントを紹介します"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
-#~ msgid "Here are some accounts for your 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 "人気のあるフィードを紹介します。好きなだけフォローすることができます。"
@@ -2181,17 +1984,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:354
msgid "Hide"
msgstr "非表示"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: 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:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr "投稿を非表示"
@@ -2200,18 +2003,14 @@ msgstr "投稿を非表示"
msgid "Hide the content"
msgstr "コンテンツを非表示"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr "この投稿を非表示にしますか?"
-#: src/view/com/notifications/FeedItem.tsx:319
+#: 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 "フィードサーバーに問い合わせたところ、なんらかの問題が発生しました。この問題をフィードのオーナーにお知らせください。"
@@ -2240,46 +2039,36 @@ msgstr "このデータの読み込みに問題があるようです。詳細は
msgid "Hmmmm, we couldn't load that moderation service."
msgstr "そのモデレーションサービスを読み込めませんでした。"
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: 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/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr "ホスティングプロバイダー"
-#: src/view/com/auth/create/Step1.tsx:76
-#: src/view/com/auth/create/Step1.tsx:81
-#~ msgid "Hosting provider address"
-#~ msgstr "ホスティングプロバイダーのアドレス"
-
#: src/view/com/modals/InAppBrowserConsent.tsx:44
msgid "How should we open this link?"
msgstr "このリンクをどのように開きますか?"
-#: src/view/com/modals/VerifyEmail.tsx:214
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "コードを持っています"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr "確認コードを持っています"
@@ -2299,11 +2088,11 @@ msgstr "なにも選択しない場合は、全年齢対象です。"
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:610
+#: 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:342
msgid "If you remove this post, you won't be able to recover it."
msgstr "この投稿を削除すると、復元できなくなります。"
@@ -2323,11 +2112,6 @@ msgstr "画像"
msgid "Image alt text"
msgstr "画像のALTテキスト"
-#: 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 "なりすまし、または身元もしくは所属に関する虚偽の主張"
@@ -2340,22 +2124,6 @@ msgstr "パスワードをリセットするためにあなたのメールアド
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/Step2.tsx:109
-#~ msgid "Input email for Bluesky waitlist"
-#~ msgstr "BlueskyのWaitlistのためのメールアドレスを入力"
-
-#: src/view/com/auth/create/Step1.tsx:80
-#~ msgid "Input hosting provider address"
-#~ msgstr "ホスティングプロバイダーのアドレスを入力"
-
-#: src/view/com/auth/create/Step1.tsx:151
-#~ msgid "Input invite code to proceed"
-#~ msgstr "招待コードを入力して次に進む"
-
#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr "アプリパスワードの名前を入力"
@@ -2368,27 +2136,19 @@ msgstr "新しいパスワードを入力"
msgid "Input password for account deletion"
msgstr "アカウント削除のためにパスワードを入力"
-#: src/view/com/auth/create/Step2.tsx:196
-#~ msgid "Input phone number for SMS verification"
-#~ msgstr "SMS認証に用いる電話番号を入力"
+#: src/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr "メールで送られたコードを入力"
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr "{identifier}に紐づくパスワードを入力"
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
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のWaitlistに登録するメールアドレスを入力"
-
-#: src/screens/Login/LoginForm.tsx:194
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr "あなたのパスワードを入力"
@@ -2396,22 +2156,23 @@ msgstr "あなたのパスワードを入力"
msgid "Input your preferred hosting provider"
msgstr "ご希望のホスティングプロバイダーを入力"
-#: src/screens/Signup/StepHandle.tsx:62
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "あなたのユーザーハンドルを入力"
-#: src/view/com/post-thread/PostThreadItem.tsx:221
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr "無効な2要素認証の確認コードです。"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr "無効またはサポートされていない投稿のレコード"
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr "無効なユーザー名またはパスワード"
-#: src/view/screens/Settings.tsx:411
-#~ msgid "Invite"
-#~ msgstr "招待"
-
#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "友達を招待"
@@ -2428,36 +2189,18 @@ msgstr "招待コードが確認できません。正しく入力されている
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: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 "あなたがフォローした人の投稿が随時表示されます。"
+msgstr "あなたがフォローしたユーザーの投稿が随時表示されます。"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "仕事"
-#: src/view/com/modals/Waitlist.tsx:67
-#~ msgid "Join the waitlist"
-#~ msgstr "Waitlistに参加"
-
-#: src/view/com/auth/create/Step1.tsx:174
-#: src/view/com/auth/create/Step1.tsx:178
-#~ msgid "Join the waitlist."
-#~ msgstr "Waitlistに参加します。"
-
-#: src/view/com/modals/Waitlist.tsx:128
-#~ msgid "Join Waitlist"
-#~ msgstr "Waitlistに参加"
-
#: src/screens/Onboarding/index.tsx:24
msgid "Journalism"
msgstr "報道"
@@ -2474,11 +2217,11 @@ msgstr "{0}によるラベル"
msgid "Labeled by the author."
msgstr "投稿者によるラベル。"
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
msgstr "ラベル"
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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 "ラベルは、ユーザーやコンテンツに対する注釈です。ラベルはネットワークを隠したり、警告したり、分類したりするのに使われます。"
@@ -2498,26 +2241,23 @@ msgstr "あなたのコンテンツのラベル"
msgid "Language selection"
msgstr "言語の選択"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr "言語の設定"
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "言語の設定"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "言語"
-#: src/view/com/auth/create/StepHeader.tsx:20
-#~ msgid "Last step!"
-#~ msgstr "最後のステップ!"
-
-#: src/view/com/util/moderation/ContentHider.tsx:103
-#~ msgid "Learn more"
-#~ msgstr "詳細"
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr "最新"
#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
@@ -2553,7 +2293,7 @@ msgstr "Blueskyから離れる"
msgid "left to go."
msgstr "あと少しです。"
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "レガシーストレージがクリアされたため、今すぐアプリを再起動する必要があります。"
@@ -2566,27 +2306,22 @@ msgstr "パスワードをリセットしましょう!"
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:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr "ライト"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "いいね"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
msgid "Liked by"
msgstr "いいねしたユーザー"
@@ -2604,41 +2339,29 @@ msgstr "{0} {1}にいいねされました"
msgid "Liked by {count} {0}"
msgstr "{count} {0}にいいねされました"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "あなたのカスタムフィードがいいねされました"
-#: src/view/com/notifications/FeedItem.tsx:171
-#~ msgid "liked your custom feed '{0}'"
-#~ msgstr "あなたのカスタムフィード「{0}」がいいねされました"
-
-#: src/view/com/notifications/FeedItem.tsx:171
-#~ msgid "liked your custom feed{0}"
-#~ msgstr "{0}にあなたのカスタムフィードがいいねされました"
-
-#: src/view/com/notifications/FeedItem.tsx:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "あなたの投稿がいいねされました"
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr "いいね"
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr "この投稿をいいねする"
-#: src/view/screens/Moderation.tsx:203
-#~ msgid "Limit the visibility of my account to logged-out users"
-#~ msgstr "ログアウトしたユーザーに対して私のアカウントの閲覧を制限"
-
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr "リスト"
@@ -2646,7 +2369,7 @@ msgstr "リスト"
msgid "List Avatar"
msgstr "リストのアバター"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "リストをブロックしました"
@@ -2654,11 +2377,11 @@ 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 "リストをミュートしました"
@@ -2666,36 +2389,31 @@ msgstr "リストをミュートしました"
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:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: 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/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "最新の投稿を読み込む"
@@ -2703,11 +2421,7 @@ msgstr "最新の投稿を読み込む"
msgid "Loading..."
msgstr "読み込み中..."
-#: src/view/com/modals/ServerInput.tsx:50
-#~ msgid "Local dev server"
-#~ msgstr "ローカル開発者サーバー"
-
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr "ログ"
@@ -2718,10 +2432,6 @@ msgstr "ログ"
msgid "Log out"
msgstr "ログアウト"
-#: src/view/screens/Moderation.tsx:134
-#~ msgid "Logged-out users"
-#~ msgstr "ログアウトしたユーザー"
-
#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr "ログアウトしたユーザーからの可視性"
@@ -2730,13 +2440,13 @@ msgstr "ログアウトしたユーザーからの可視性"
msgid "Login to account that is not listed"
msgstr "リストにないアカウントにログイン"
-#: src/view/screens/ProfileFeed.tsx:472
-#~ 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/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+msgstr "長押しで #{tag} のタグメニューを開く"
#: src/screens/Login/SetNewPasswordForm.tsx:116
msgid "Looks like XXXXX-XXXXX"
-msgstr ""
+msgstr "XXXXX-XXXXXみたいなもの"
#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
@@ -2746,15 +2456,8 @@ msgstr "意図した場所であることを確認してください!"
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:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr "メディア"
@@ -2766,15 +2469,11 @@ msgstr "メンションされたユーザー"
msgid "Mentioned users"
msgstr "メンションされたユーザー"
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "メニュー"
-#: src/view/com/posts/FeedErrorMessage.tsx:194
-#~ msgid "Message from server"
-#~ msgstr "サーバーからのメッセージ"
-
#: src/view/com/posts/FeedErrorMessage.tsx:192
msgid "Message from server: {0}"
msgstr "サーバーからのメッセージ:{0}"
@@ -2783,12 +2482,12 @@ msgstr "サーバーからのメッセージ:{0}"
msgid "Misleading Account"
msgstr "誤解を招くアカウント"
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "モデレーション"
@@ -2801,13 +2500,13 @@ 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 "あなたの作成したモデレーションリスト"
@@ -2823,16 +2522,16 @@ msgstr "モデレーションリストを更新しました"
msgid "Moderation lists"
msgstr "モデレーションリスト"
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "モデレーションリスト"
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr "モデレーションの設定"
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
msgstr "モデレーションのステータス"
@@ -2853,22 +2552,14 @@ msgstr "さらに"
msgid "More feeds"
msgstr "その他のフィード"
-#: src/view/screens/ProfileList.tsx:599
+#: 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 "ミュート"
@@ -2882,7 +2573,7 @@ msgstr "{truncatedTag}をミュート"
msgid "Mute Account"
msgstr "アカウントをミュート"
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "アカウントをミュート"
@@ -2890,10 +2581,6 @@ 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:148
msgid "Mute in tags only"
msgstr "タグのみをミュート"
@@ -2902,19 +2589,15 @@ msgstr "タグのみをミュート"
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/view/screens/ProfileList.tsx:279
-#~ msgid "Mute this List"
-#~ msgstr "このリストをミュート"
-
#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
msgstr "投稿のテキストやタグでこのワードをミュート"
@@ -2923,13 +2606,13 @@ msgstr "投稿のテキストやタグでこのワードをミュート"
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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
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:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
msgstr "ワードとタグをミュート"
@@ -2941,12 +2624,12 @@ msgstr "ミュートされています"
msgid "Muted accounts"
msgstr "ミュート中のアカウント"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: 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 "ミュート中のアカウントの投稿は、フィードや通知から取り除かれます。ミュートの設定は完全に非公開です。"
@@ -2958,16 +2641,16 @@ msgstr "「{0}」によってミュート中"
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: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 "マイフィード"
@@ -2975,18 +2658,14 @@ msgstr "マイフィード"
msgid "My Profile"
msgstr "マイプロフィール"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
msgstr "保存されたフィード"
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
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:180
#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
@@ -3007,7 +2686,7 @@ msgid "Nature"
msgstr "自然"
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "次の画面に移動します"
@@ -3016,14 +2695,9 @@ msgstr "次の画面に移動します"
msgid "Navigates to your profile"
msgstr "あなたのプロフィールに移動します"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: 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}からの埋め込みを表示しない"
+msgstr "著作権侵害を報告する必要がありますか?"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
@@ -3034,10 +2708,6 @@ msgstr "フォロワーやデータへのアクセスを失うことはありま
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 "気にせずにハンドルを作成"
@@ -3063,17 +2733,17 @@ msgstr "新しいパスワード"
msgid "New Password"
msgstr "新しいパスワード"
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
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:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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 "新しい投稿"
@@ -3083,10 +2753,6 @@ msgctxt "action"
msgid "New Post"
msgstr "新しい投稿"
-#: src/view/shell/desktop/LeftNav.tsx:258
-#~ msgid "New Post"
-#~ msgstr "新しい投稿"
-
#: src/view/com/modals/CreateOrEditList.tsx:248
msgid "New User List"
msgstr "新しいユーザーリスト"
@@ -3101,12 +2767,12 @@ msgstr "ニュース"
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -3130,8 +2796,8 @@ msgstr "次の画像"
msgid "No"
msgstr "いいえ"
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "説明はありません"
@@ -3139,13 +2805,17 @@ msgstr "説明はありません"
msgid "No DNS Panel"
msgstr "DNSパネルがない場合"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
+msgstr "おすすめのGIFが見つかりません。Tenorに問題があるかもしれません。"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr "{0}のフォローを解除しました"
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
-msgstr ""
+msgstr "253文字まで"
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
@@ -3156,20 +2826,24 @@ msgstr "お知らせはありません!"
msgid "No result"
msgstr "結果はありません"
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "「{query}」の検索結果はありません"
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr "「{search}」の検索結果はありません"
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
@@ -3192,37 +2866,33 @@ msgstr "性的ではないヌード"
msgid "Not Applicable."
msgstr "該当なし。"
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "見つかりません"
-#: src/view/com/modals/VerifyEmail.tsx:246
-#: src/view/com/modals/VerifyEmail.tsx:252
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr "今はしない"
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: 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/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:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "通知"
@@ -3232,21 +2902,18 @@ msgstr "ヌード"
#: 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 "ヌードもしくはポルノと表示されていないもの"
+msgstr "ヌードあるいは成人向けコンテンツと表示されていないもの"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
-msgstr ""
+msgstr "/"
#: src/lib/moderation/useLabelBehaviorDescription.ts:11
msgid "Off"
msgstr "オフ"
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "ちょっと!"
@@ -3255,7 +2922,7 @@ msgid "Oh no! Something went wrong."
msgstr "ちょっと!なにかがおかしいです。"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
msgstr "OK"
@@ -3267,11 +2934,11 @@ msgstr "OK"
msgid "Oldest replies first"
msgstr "古い順に返信を表示"
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr "オンボーディングのリセット"
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr "1つもしくは複数の画像にALTテキストがありません。"
@@ -3279,17 +2946,17 @@ msgstr "1つもしくは複数の画像にALTテキストがありません。
msgid "Only {0} can reply."
msgstr "{0}のみ返信可能"
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
-msgstr ""
+msgstr "英数字とハイフンのみ"
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
msgstr "おっと、なにかが間違っているようです!"
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "おっと!"
@@ -3297,20 +2964,16 @@ msgstr "おっと!"
msgid "Open"
msgstr "開かれています"
-#: src/view/screens/Moderation.tsx:75
-#~ msgid "Open content filtering settings"
-#~ msgstr "コンテンツのフィルタリング設定を開く"
-
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr "絵文字を入力"
-#: src/view/screens/ProfileFeed.tsx:300
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
msgstr "フィードの設定メニューを開く"
-#: src/view/screens/Settings/index.tsx:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr "アプリ内ブラウザーでリンクを開く"
@@ -3318,24 +2981,20 @@ msgstr "アプリ内ブラウザーでリンクを開く"
msgid "Open muted words and tags settings"
msgstr "ミュートしたワードとタグの設定を開く"
-#: src/view/screens/Moderation.tsx:92
-#~ msgid "Open muted words 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:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr "絵本のページを開く"
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
msgstr "システムのログを開く"
@@ -3343,15 +3002,19 @@ msgstr "システムのログを開く"
msgid "Opens {numItems} options"
msgstr "{numItems}個のオプションを開く"
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr "アクセシビリティの設定を開く"
+
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
msgstr "デバッグエントリーの追加詳細を開く"
-#: src/view/com/notifications/FeedItem.tsx:353
+#: 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
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr "デバイスのカメラを開く"
@@ -3359,71 +3022,53 @@ msgstr "デバイスのカメラを開く"
msgid "Opens composer"
msgstr "編集画面を開く"
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr "構成可能な言語設定を開く"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
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:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr "外部コンテンツの埋め込みの設定を開く"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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 "フォロワーのリストを開きます"
-
-#: 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/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr "GIFの選択のダイアログを開く"
#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "招待コードのリストを開く"
-#: src/view/screens/Settings/index.tsx:798
+#: src/view/screens/Settings/index.tsx:757
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 "アカウントの削除確認用の表示を開きます。メールアドレスのコードが必要です。"
-
-#: src/view/screens/Settings/index.tsx:756
+#: src/view/screens/Settings/index.tsx:715
msgid "Opens modal for changing your Bluesky password"
msgstr "Blueskyのパスワードを変更するためのモーダルを開く"
-#: src/view/screens/Settings/index.tsx:718
+#: src/view/screens/Settings/index.tsx:670
msgid "Opens modal for choosing a new Bluesky handle"
msgstr "新しいBlueskyのハンドルを選択するためのモーダルを開く"
-#: src/view/screens/Settings/index.tsx:779
+#: src/view/screens/Settings/index.tsx:738
msgid "Opens modal for downloading your Bluesky account data (repository)"
msgstr "Blueskyのアカウントのデータ(リポジトリ)をダウンロードするためのモーダルを開く"
-#: src/view/screens/Settings/index.tsx:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
msgstr "メールアドレスの認証のためのモーダルを開く"
@@ -3431,53 +3076,45 @@ msgstr "メールアドレスの認証のためのモーダルを開く"
msgid "Opens modal for using custom domain"
msgstr "カスタムドメインを使用するためのモーダルを開く"
-#: src/view/screens/Settings/index.tsx:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "モデレーションの設定を開く"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
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:597
+#: src/view/screens/Settings/index.tsx:549
msgid "Opens screen with all saved feeds"
msgstr "保存されたすべてのフィードで画面を開く"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:648
msgid "Opens the app password settings"
msgstr "アプリパスワードの設定を開く"
-#: src/view/screens/Settings/index.tsx:676
-#~ msgid "Opens the app password settings page"
-#~ msgstr "アプリパスワードの設定ページを開く"
-
-#: src/view/screens/Settings/index.tsx:554
+#: src/view/screens/Settings/index.tsx:506
msgid "Opens the Following feed preferences"
msgstr "Followingフィードの設定を開く"
-#: src/view/screens/Settings/index.tsx:535
-#~ msgid "Opens the home feed preferences"
-#~ msgstr "ホームフィードの設定を開く"
-
#: src/view/com/modals/LinkWarning.tsx:93
msgid "Opens the linked website"
msgstr "リンク先のウェブサイトを開く"
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr "ストーリーブックのページを開く"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "システムログのページを開く"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "スレッドの設定を開く"
@@ -3485,7 +3122,7 @@ 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 "オプションとして、以下に追加情報をご記入ください:"
@@ -3493,10 +3130,6 @@ msgstr "オプションとして、以下に追加情報をご記入ください
msgid "Or combine these options:"
msgstr "または以下のオプションを組み合わせてください:"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:122
-#~ msgid "Or you can try our \"Discover\" algorithm:"
-#~ msgstr "または我々の「Discover」アルゴリズムを試すことができます:"
-
#: src/lib/moderation/useReportOptions.ts:25
msgid "Other"
msgstr "その他"
@@ -3505,15 +3138,11 @@ msgstr "その他"
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:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "ページが見つかりません"
@@ -3522,8 +3151,8 @@ msgstr "ページが見つかりません"
msgid "Page Not Found"
msgstr "ページが見つかりません"
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3541,11 +3170,19 @@ msgstr "パスワードが更新されました"
msgid "Password updated!"
msgstr "パスワードが更新されました!"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr "一時停止"
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr "ユーザー"
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr "@{0}がフォロー中のユーザー"
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr "@{0}をフォロー中のユーザー"
@@ -3561,31 +3198,35 @@ 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:292
-#: 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:295
+#: 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/GifEmbed.tsx:31
+msgid "Play"
+msgstr "再生"
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "{0}を再生"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr "GIFの再生や一時停止"
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3615,10 +3256,6 @@ msgstr "変更する前にメールを確認してください。これは、メ
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 "SMSでテキストメッセージを受け取れる電話番号を入力してください。"
-
#: src/view/com/modals/AddAppPasswords.tsx:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr "このアプリパスワードに固有の名前を入力するか、ランダムに生成された名前を使用してください。"
@@ -3627,14 +3264,6 @@ msgstr "このアプリパスワードに固有の名前を入力するか、ラ
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で受け取ったコードを入力してください。"
-
-#: src/view/com/auth/create/Step2.tsx:282
-#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
-#~ msgstr "{phoneNumberFormatted}に送った認証コードを入力してください。"
-
#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "メールアドレスを入力してください。"
@@ -3647,21 +3276,11 @@ msgstr "パスワードも入力してください:"
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 "このコンテンツに対する警告が誤って適用されたと思われる理由を教えてください!"
-
-#: 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
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr "メールアドレスを確認してください"
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr "リンクカードが読み込まれるまでお待ちください"
@@ -3673,12 +3292,8 @@ msgstr "政治"
msgid "Porn"
msgstr "ポルノ"
-#: src/lib/moderation/useGlobalLabelStrings.ts:34
-#~ msgid "Pornography"
-#~ msgstr "ポルノグラフィ"
-
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr "投稿"
@@ -3688,23 +3303,17 @@ msgctxt "description"
msgid "Post"
msgstr "投稿"
-#: src/view/com/composer/Composer.tsx:346
-#: src/view/com/post-thread/PostThread.tsx:225
-#: src/view/screens/PostThread.tsx:80
-#~ msgid "Post"
-#~ msgstr "投稿"
-
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr "{0}による投稿"
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
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 "投稿を削除"
@@ -3739,7 +3348,7 @@ msgstr "投稿が見つかりません"
msgid "posts"
msgstr "投稿"
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr "投稿"
@@ -3755,13 +3364,13 @@ msgstr "非表示の投稿"
msgid "Potentially Misleading Link"
msgstr "誤解を招く可能性のあるリンク"
-#: src/components/forms/HostingProvider.tsx:45
+#: src/components/forms/HostingProvider.tsx:46
msgid "Press to change hosting provider"
-msgstr ""
+msgstr "ホスティングプロバイダーを変える"
-#: src/components/Error.tsx:74
-#: src/components/Lists.tsx:80
-#: src/screens/Signup/index.tsx:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
msgstr "再実行する"
@@ -3777,16 +3386,16 @@ msgstr "第一言語"
msgid "Prioritize Your Follows"
msgstr "あなたのフォローを優先"
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "プライバシー"
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "プライバシーポリシー"
@@ -3795,15 +3404,15 @@ msgid "Processing..."
msgstr "処理中..."
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
msgstr "プロフィール"
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "プロフィール"
@@ -3811,7 +3420,7 @@ msgstr "プロフィール"
msgid "Profile updated"
msgstr "プロフィールを更新しました"
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "メールアドレスを確認してアカウントを保護します。"
@@ -3827,11 +3436,11 @@ msgstr "ユーザーを一括でミュートまたはブロックする、公開
msgid "Public, shareable lists which can drive feeds."
msgstr "フィードとして利用できる、公開された共有可能なリスト。"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr "投稿を公開"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr "返信を公開"
@@ -3849,10 +3458,6 @@ msgctxt "action"
msgid "Quote Post"
msgstr "引用"
-#: src/view/com/modals/Repost.tsx:56
-#~ msgid "Quote Post"
-#~ msgstr "引用"
-
#: src/view/screens/PreferencesThreads.tsx:86
msgid "Random (aka \"Poster's Roulette\")"
msgstr "ランダムな順番で表示(別名「投稿者のルーレット」)"
@@ -3861,15 +3466,15 @@ msgstr "ランダムな順番で表示(別名「投稿者のルーレット」
msgid "Ratios"
msgstr "比率"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
msgstr "検索履歴"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: 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 "おすすめのユーザー"
@@ -3882,15 +3487,11 @@ msgstr "おすすめのユーザー"
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/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
msgstr "アバターを削除"
@@ -3908,8 +3509,8 @@ msgstr "フィードを削除しますか?"
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "マイフィードから削除"
@@ -3921,7 +3522,7 @@ msgstr "マイフィードから削除しますか?"
msgid "Remove image"
msgstr "イメージを削除"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr "イメージプレビューを削除"
@@ -3933,18 +3534,10 @@ msgstr "リストからミュートワードを削除"
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: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 "保存したフィードからこのフィードを削除しますか?"
-
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
@@ -3954,15 +3547,15 @@ msgstr "リストから削除されました"
msgid "Removed from my feeds"
msgstr "フィードから削除しました"
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
msgstr "あなたのフィードから削除しました"
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr "{0}からデフォルトのサムネイルを削除"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr "返信"
@@ -3970,7 +3563,7 @@ msgstr "返信"
msgid "Replies to this thread are disabled"
msgstr "このスレッドへの返信はできません"
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr "返信"
@@ -3979,15 +3572,11 @@ msgstr "返信"
msgid "Reply Filters"
msgstr "返信のフィルター"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
+#: src/view/com/post/Post.tsx:178
+#: 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 "Reply to <0><1/>0>"
+msgstr "<0><1/>0>に返信"
#: src/view/com/profile/ProfileMenu.tsx:319
#: src/view/com/profile/ProfileMenu.tsx:322
@@ -3996,19 +3585,19 @@ msgstr "アカウントを報告"
#: src/components/ReportDialog/index.tsx:49
msgid "Report dialog"
-msgstr ""
+msgstr "報告ダイアログ"
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: 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:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "投稿を報告"
@@ -4049,31 +3638,23 @@ msgstr "リポスト"
msgid "Repost or quote post"
msgstr "リポストまたは引用"
-#: src/view/screens/PostRepostedBy.tsx:27
-#~ msgid "Reposted by"
-#~ msgstr "リポストしたユーザー"
-
#: src/view/screens/PostRepostedBy.tsx:27
msgid "Reposted By"
msgstr "リポストしたユーザー"
-#: src/view/com/posts/FeedItem.tsx:197
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "{0}にリポストされた"
-#: src/view/com/posts/FeedItem.tsx:206
-#~ msgid "Reposted by {0})"
-#~ msgstr "{0}によるリポスト"
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr "<0><1/>0>がリポスト"
-#: src/view/com/posts/FeedItem.tsx:214
-msgid "Reposted by <0/>"
-msgstr "<0/>によるリポスト"
-
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "あなたの投稿はリポストされました"
-#: src/view/com/post-thread/PostThreadItem.tsx:187
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr "この投稿をリポスト"
@@ -4082,37 +3663,38 @@ msgstr "この投稿をリポスト"
msgid "Request Change"
msgstr "変更を要求"
-#: src/view/com/auth/create/Step2.tsx:219
-#~ msgid "Request code"
-#~ 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:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr "画像投稿時にALTテキストを必須とする"
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr "アカウントにログインする時にメールのコードを必須とする"
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "このプロバイダーに必要"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr "メールを再送"
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
-msgstr "コードをリセット"
+msgstr "リセットコード"
#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
-msgstr "コードをリセット"
-
-#: src/view/screens/Settings/index.tsx:824
-#~ msgid "Reset onboarding"
-#~ msgstr "オンボーディングの状態をリセット"
+msgstr "リセットコード"
-#: src/view/screens/Settings/index.tsx:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr "オンボーディングの状態をリセット"
@@ -4120,24 +3702,20 @@ msgstr "オンボーディングの状態をリセット"
msgid "Reset password"
msgstr "パスワードをリセット"
-#: src/view/screens/Settings/index.tsx:814
-#~ msgid "Reset preferences"
-#~ msgstr "設定をリセット"
-
-#: src/view/screens/Settings/index.tsx:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr "設定をリセット"
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr "オンボーディングの状態をリセットします"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr "設定の状態をリセットします"
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr "ログインをやり直す"
@@ -4146,24 +3724,20 @@ msgstr "ログインをやり直す"
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/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: 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/components/Error.tsx:86
-#: src/view/screens/ProfileList.tsx:917
+#: src/components/Error.tsx:95
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "前のページに戻る"
@@ -4176,10 +3750,6 @@ msgstr "ホームページに戻る"
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
@@ -4199,7 +3769,7 @@ msgstr "ALTテキストを保存"
#: src/components/dialogs/BirthDateSettings.tsx:119
msgid "Save birthday"
-msgstr "誕生日を保存"
+msgstr "生年月日を保存"
#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
@@ -4213,12 +3783,12 @@ msgstr "ハンドルの変更を保存"
msgid "Save image crop"
msgstr "画像の切り抜きを保存"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: 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 "保存されたフィード"
@@ -4226,7 +3796,7 @@ msgstr "保存されたフィード"
msgid "Saved to your camera roll."
msgstr "カメラロールに保存しました。"
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
msgstr "フィードを保存しました"
@@ -4246,28 +3816,28 @@ msgstr "画像の切り抜き設定を保存"
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/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "検索"
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "「{query}」を検索"
@@ -4276,28 +3846,24 @@ msgstr "「{query}」を検索"
msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
msgstr "{displayTag}のすべての投稿を検索(@{authorHandle}のみ)"
-#: src/components/TagMenu/index.tsx:145
-#~ msgid "Search for all posts by @{authorHandle} with tag {tag}"
-#~ msgstr "{tag}のすべての投稿を検索(@{authorHandle}のみ)"
-
#: 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/screens/Search/Search.tsx:390
-#~ msgid "Search for posts and users."
-#~ 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 "ユーザーを検索"
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr "GIFを検索"
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr "Tenorを検索"
+
#: src/view/com/modals/ChangeEmail.tsx:110
msgid "Security Step Required"
msgstr "必要なセキュリティの手順"
@@ -4318,38 +3884,35 @@ 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/components/TagMenu/index.tsx:189
-#~ msgid "See <0>{tag}0> posts by this user"
-#~ msgstr "<0>{tag}0>の投稿を表示(このユーザーのみ)"
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr "プロフィールを表示"
-#: src/view/screens/SavedFeeds.tsx:163
+#: 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/view/com/modals/ServerInput.tsx:75
-#~ msgid "Select Bluesky Social"
-#~ msgstr "Bluesky Socialを選択"
+msgstr "アカウントを選択"
#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "既存のアカウントから選択"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr "GIFを選ぶ"
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr "GIF「{0}」を選ぶ"
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
msgstr "言語を選択"
@@ -4362,16 +3925,11 @@ msgstr "モデレーターを選択"
msgid "Select option {i} of {numItems}"
msgstr "{numItems}個中{i}個目のオプションを選択"
-#: src/view/com/auth/create/Step1.tsx:96
-#: 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:135
+#: src/components/ReportDialog/SubmitView.tsx:133
msgid "Select the moderation service(s) to report to"
msgstr "報告先のモデレーションサービスを選んでください"
@@ -4379,10 +3937,6 @@ msgstr "報告先のモデレーションサービスを選んでください"
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:100
msgid "Select topical feeds to follow from the list below"
msgstr "次のリストから話題のフィードを選択してフォローしてください"
@@ -4395,26 +3949,18 @@ msgstr "見たい(または見たくない)ものを選択してください
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/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:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
-msgstr ""
+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 "フィード内の翻訳に使用する言語を選択します。"
@@ -4427,8 +3973,8 @@ msgstr "1番目のフィードのアルゴリズムを選択してください
msgid "Select your secondary algorithmic feeds"
msgstr "2番目のフィードのアルゴリズムを選択してください"
-#: src/view/com/modals/VerifyEmail.tsx:202
-#: src/view/com/modals/VerifyEmail.tsx:204
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "確認のメールを送信"
@@ -4441,28 +3987,25 @@ msgctxt "action"
msgid "Send Email"
msgstr "メールを送信"
-#: src/view/com/modals/DeleteAccount.tsx:138
-#~ msgid "Send Email"
-#~ msgstr "メールを送信"
-
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: 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 "報告を送信"
-#: 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/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
+msgstr "確認メールを送信"
+
#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr "アカウントの削除の確認コードをメールに送信"
@@ -4471,48 +4014,14 @@ msgstr "アカウントの削除の確認コードをメールに送信"
msgid "Server address"
msgstr "サーバーアドレス"
-#: src/view/com/modals/ContentFilteringSettings.tsx:311
-#~ 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 "年齢を設定"
-
#: src/screens/Moderation/index.tsx:304
msgid "Set birthdate"
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/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 "フィード内の引用をすべて非表示にするには、この設定を「いいえ」にします。リポストは引き続き表示されます。"
@@ -4529,10 +4038,6 @@ 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 "保存されたフィードから投稿を抽出してFollowingフィードに表示するには、この設定を「はい」にします。これは実験的な機能です。"
-
#: 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 "保存されたフィードから投稿を抽出してFollowingフィードに表示するには、この設定を「はい」にします。これは実験的な機能です。"
@@ -4545,23 +4050,23 @@ msgstr "アカウントを設定する"
msgid "Sets Bluesky username"
msgstr "Blueskyのユーザーネームを設定"
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
msgstr "カラーテーマをダークに設定します"
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
msgstr "カラーテーマをライトに設定します"
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
msgstr "デバイスで設定したカラーテーマを使用するように設定します"
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
msgstr "ダークテーマを暗いものに設定します"
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
msgstr "ダークテーマを薄暗いものに設定します"
@@ -4569,14 +4074,6 @@ msgstr "ダークテーマを薄暗いものに設定します"
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/auth/create/Step1.tsx:143
-#~ msgid "Sets hosting provider to {label}"
-#~ msgstr "ホスティングプロバイダーを{label}に設定"
-
#: src/view/com/modals/crop-image/CropImage.web.tsx:124
msgid "Sets image aspect ratio to square"
msgstr "画像のアスペクト比を正方形に設定"
@@ -4589,16 +4086,11 @@ msgstr "画像のアスペクト比を縦長に設定"
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:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "設定"
@@ -4617,38 +4109,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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: 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/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
msgstr "とにかく共有"
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: 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 ""
+msgstr "リンクを共有"
#: src/view/com/modals/LinkWarning.tsx:92
msgid "Shares the linked website"
-msgstr ""
+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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr "表示"
@@ -4670,17 +4162,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:200
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr "{0}に似たおすすめのフォロー候補を表示"
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr "さらに表示"
@@ -4737,7 +4225,7 @@ msgstr "Followingフィードでリポストを表示"
msgid "Show the content"
msgstr "コンテンツを表示"
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "ユーザーを表示"
@@ -4749,41 +4237,31 @@ msgstr "警告を表示"
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/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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr "サインイン"
-#: 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 "サインイン"
-
#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "{0}としてサインイン"
@@ -4792,28 +4270,32 @@ msgstr "{0}としてサインイン"
msgid "Sign in as..."
msgstr "アカウントの選択"
-#: src/view/com/auth/login/LoginForm.tsx:140
-#~ msgid "Sign into"
-#~ 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 "Blueskyにサインイン または 新規アカウントの登録"
-#: src/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "サインアウト"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
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 "サインアップまたはサインインして会話に参加"
@@ -4822,7 +4304,7 @@ msgstr "サインアップまたはサインインして会話に参加"
msgid "Sign-in Required"
msgstr "サインインが必要"
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "サインイン済み"
@@ -4830,10 +4312,6 @@ msgstr "サインイン済み"
msgid "Signed in as @{0}"
msgstr "@{0}でサインイン"
-#: src/view/com/modals/SwitchAccount.tsx:70
-#~ msgid "Signs {0} out of Bluesky"
-#~ msgstr "Blueskyから{0}をサインアウト"
-
#: src/screens/Onboarding/StepInterests/index.tsx:239
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
@@ -4844,33 +4322,17 @@ msgstr "スキップ"
msgid "Skip this flow"
msgstr "この手順をスキップする"
-#: src/view/com/auth/create/Step2.tsx:82
-#~ msgid "SMS verification"
-#~ msgstr "SMS認証"
-
#: 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:76
+#: 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 "大変申し訳ありません!セッションの有効期限が切れました。もう一度ログインしてください。"
@@ -4902,32 +4364,20 @@ msgstr "スポーツ"
msgid "Square"
msgstr "正方形"
-#: src/view/com/modals/ServerInput.tsx:62
-#~ msgid "Staging"
-#~ msgstr "ステージング"
-
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "ステータスページ"
-#: src/screens/Signup/index.tsx:142
+#: 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}個目のステップ"
-
-#: src/view/com/auth/create/StepHeader.tsx:15
-#~ msgid "Step {step} of 3"
-#~ msgstr "3個中{step}個目のステップ"
+msgstr "ステップ"
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
msgid "Storage cleared, you need to restart the app now."
msgstr "ストレージがクリアされたため、今すぐアプリを再起動する必要があります。"
-#: src/Navigation.tsx:211
-#: src/view/screens/Settings/index.tsx:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr "ストーリーブック"
@@ -4936,15 +4386,15 @@ msgstr "ストーリーブック"
msgid "Submit"
msgstr "送信"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "登録"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: src/screens/Profile/Sections/Labels.tsx:191
msgid "Subscribe to @{0} to use these labels:"
msgstr "これらのラベルを使用するには@{0}を登録してください:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
msgstr "ラベラーを登録する"
@@ -4953,19 +4403,15 @@ msgstr "ラベラーを登録する"
msgid "Subscribe to the {0} feed"
msgstr "{0} フィードを登録"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: 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/com/lists/ListCard.tsx:101
-#~ msgid "Subscribed"
-#~ msgstr "登録済み"
-
-#: src/view/screens/Search/Search.tsx:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "おすすめのフォロー"
@@ -4977,34 +4423,30 @@ msgstr "あなたへのおすすめ"
msgid "Suggestive"
msgstr "きわどい"
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: 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/components/dialogs/SwitchAccount.tsx:46
-#: src/components/dialogs/SwitchAccount.tsx:49
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "アカウントを切り替える"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr "{0}に切り替え"
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
msgid "Switches the account you are logged in to"
msgstr "ログインしているアカウントを切り替えます"
-#: src/view/screens/Settings/index.tsx:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr "システム"
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "システムログ"
@@ -5016,10 +4458,6 @@ 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:113
msgid "Tall"
msgstr "トール"
@@ -5036,11 +4474,11 @@ msgstr "テクノロジー"
msgid "Terms"
msgstr "条件"
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "利用規約"
@@ -5058,7 +4496,7 @@ msgstr "テキスト"
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 "ありがとうございます。あなたの報告は送信されました。"
@@ -5066,11 +4504,11 @@ msgstr "ありがとうございます。あなたの報告は送信されまし
msgid "That contains the following:"
msgstr "その内容は以下の通りです:"
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "そのハンドルはすでに使用されています。"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "このアカウントは、ブロック解除後にあなたとやり取りすることができます。"
@@ -5112,10 +4550,6 @@ msgstr "プライバシーポリシーは<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 "サポートフォームは移動しました。サポートが必要な場合は、<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}にアクセスしてご連絡ください。"
-
#: src/view/screens/TermsOfService.tsx:33
msgid "The Terms of Service have been moved to"
msgstr "サービス規約は移動しました"
@@ -5124,8 +4558,8 @@ msgstr "サービス規約は移動しました"
msgid "There are many feeds to try:"
msgstr "試せるフィードはたくさんあります:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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 "サーバーへの問い合わせ中に問題が発生しました。インターネットへの接続を確認の上、もう一度お試しください。"
@@ -5133,15 +4567,19 @@ msgstr "サーバーへの問い合わせ中に問題が発生しました。イ
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr "フィードの削除中に問題が発生しました。インターネットへの接続を確認の上、もう一度お試しください。"
-#: src/view/screens/ProfileFeed.tsx:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+msgstr "Tenorへの接続中に問題が発生しました。"
+
+#: 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 "サーバーへの問い合わせ中に問題が発生しました"
@@ -5164,12 +4602,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 "報告の送信に問題が発生しました。インターネットの接続を確認してください。"
@@ -5181,9 +4619,9 @@ msgstr "設定をサーバーと同期中に問題が発生しました"
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/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -5195,14 +4633,15 @@ 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 "問題が発生しました。インターネットへの接続を確認の上、もう一度お試しください。"
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "アプリケーションに予期しない問題が発生しました。このようなことが繰り返した場合はサポートへお知らせください!"
@@ -5210,22 +4649,10 @@ 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:146
msgid "These are popular accounts you might like:"
msgstr "これらは、あなたが好きかもしれない人気のあるアカウントです。"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
-#~ msgid "These are popular accounts you might like."
-#~ msgstr "これらは、あなたが好きかもしれない人気のあるアカウントです。"
-
-#: src/view/com/util/moderation/LabelInfo.tsx:45
-#~ msgid "This {0} has been labeled."
-#~ msgstr "この{0}にはラベルが貼られています"
-
#: src/components/moderation/ScreenHider.tsx:116
msgid "This {screenDescription} has been flagged:"
msgstr "この{screenDescription}にはフラグが設定されています:"
@@ -5259,10 +4686,6 @@ msgstr "このコンテンツは関係するユーザーの一方が他方をブ
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>を参照してください。"
-
#: 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>を参照してください。"
@@ -5271,9 +4694,9 @@ msgstr "この機能はベータ版です。リポジトリのエクスポート
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:477
-#: 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 "このフィードは空です!"
@@ -5285,19 +4708,15 @@ msgstr "このフィードは空です!もっと多くのユーザーをフォ
msgid "This information is not shared with other users."
msgstr "この情報は他のユーザーと共有されません。"
-#: src/view/com/modals/VerifyEmail.tsx:119
+#: src/view/com/modals/VerifyEmail.tsx:127
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "これは、メールアドレスの変更やパスワードのリセットが必要な場合に重要です。"
-#: src/view/com/auth/create/Step1.tsx:55
-#~ msgid "This is the service that keeps you online."
-#~ msgstr "これはオンラインを維持するためのサービスです。"
-
#: src/components/moderation/ModerationDetailsDialog.tsx:124
msgid "This label was applied by {0}."
msgstr "{0}によって適用されたラベルです。"
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: src/screens/Profile/Sections/Labels.tsx:178
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
msgstr "このラベラーはどのようなラベルを発行しているか宣言しておらず、活動していない可能性もあります。"
@@ -5305,7 +4724,7 @@ msgstr "このラベラーはどのようなラベルを発行しているか宣
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 "このリストは空です!"
@@ -5317,16 +4736,16 @@ msgstr "このモデレーションのサービスはご利用できません。
msgid "This name is already in use"
msgstr "この名前はすでに使用中です"
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr "この投稿は削除されました。"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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:352
msgid "This post will be hidden from feeds."
msgstr "この投稿はフィードから非表示になります。"
@@ -5355,14 +4774,6 @@ msgstr "このユーザーはあなたをブロックしているため、あな
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/>リストに含まれています。"
-
-#: 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>リストに含まれています。"
@@ -5371,10 +4782,6 @@ msgstr "このユーザーはブロックした<0>{0}0>リストに含まれ
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 "このユーザーは誰もフォローしていません。"
@@ -5387,16 +4794,12 @@ msgstr "この警告は、メディアが添付されている投稿にのみ使
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:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
msgstr "スレッドの設定"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "スレッドの設定"
@@ -5404,10 +4807,14 @@ msgstr "スレッドの設定"
msgid "Threaded Mode"
msgstr "スレッドモード"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr "スレッドの設定"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr "メールでの2要素認証を無効にするには、メールアドレスにアクセスできるか確認してください。"
+
#: src/components/ReportDialog/SelectLabelerView.tsx:33
msgid "To whom would you like to send this report?"
msgstr "この報告を誰に送りたいですか?"
@@ -5424,14 +4831,19 @@ msgstr "ドロップダウンをトグル"
msgid "Toggle to enable or disable adult content"
msgstr "成人向けコンテンツの有効もしくは無効の切り替え"
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr "トップ"
+
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "変換"
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "翻訳"
@@ -5440,39 +4852,39 @@ msgctxt "action"
msgid "Try again"
msgstr "再試行"
-#: src/view/com/util/error/ErrorScreen.tsx:73
-#~ msgid "Try again"
-#~ msgstr "再試行"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr "2要素認証"
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
msgstr "タイプ:"
-#: src/view/screens/ProfileList.tsx:478
+#: 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/screens/Login/ForgotPasswordForm.tsx:74
#: src/screens/Login/index.tsx:78
-#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: 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:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr "ブロックを解除"
@@ -5482,7 +4894,7 @@ msgstr "ブロックを解除"
msgid "Unblock Account"
msgstr "アカウントのブロックを解除"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
msgstr "アカウントのブロックを解除しますか?"
@@ -5495,7 +4907,7 @@ msgid "Undo repost"
msgstr "リポストを元に戻す"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
msgstr "フォローを解除"
@@ -5504,7 +4916,7 @@ msgctxt "action"
msgid "Unfollow"
msgstr "フォローを解除"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
msgid "Unfollow {0}"
msgstr "{0}のフォローを解除"
@@ -5513,20 +4925,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:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "いいねを外す"
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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 "ミュートを解除"
@@ -5543,37 +4951,29 @@ msgstr "アカウントのミュートを解除"
msgid "Unmute all {displayTag} posts"
msgstr "{displayTag}のすべての投稿のミュートを解除"
-#: src/components/TagMenu/index.tsx:210
-#~ msgid "Unmute all {tag} 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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "スレッドのミュートを解除"
-#: src/view/screens/ProfileFeed.tsx:295
-#: 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:292
+#: 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/view/screens/ProfileFeed.tsx:346
-#~ msgid "Unsave"
-#~ msgstr "保存を解除"
-
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
msgstr "登録を解除"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
msgstr "このラベラーの登録を解除"
@@ -5585,10 +4985,6 @@ msgstr "望まない性的なコンテンツ"
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}に更新"
@@ -5601,20 +4997,20 @@ msgstr "更新中…"
msgid "Upload a text file to:"
msgstr "テキストファイルのアップロード先:"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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:343
+#: 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:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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"
@@ -5654,10 +5050,6 @@ msgstr "DNSパネルを使用"
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:201
msgid "Used by:"
msgstr "使用者:"
@@ -5683,22 +5075,18 @@ msgstr "あなたがブロック中のユーザー"
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 "あなたの作成したユーザーリスト"
@@ -5714,11 +5102,11 @@ msgstr "ユーザーリストを更新しました"
msgid "User Lists"
msgstr "ユーザーリスト"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "ユーザー名またはメールアドレス"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "ユーザー"
@@ -5738,23 +5126,19 @@ msgstr "このコンテンツやプロフィールにいいねをしているユ
msgid "Value:"
msgstr "値:"
-#: src/view/com/auth/create/Step2.tsx:243
-#~ msgid "Verification code"
-#~ msgstr "認証コード"
-
#: src/view/com/modals/ChangeHandle.tsx:509
msgid "Verify {0}"
msgstr "{0}で認証"
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "メールアドレスを確認"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "メールアドレスを確認"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "メールアドレスを確認"
@@ -5763,13 +5147,13 @@ msgstr "メールアドレスを確認"
msgid "Verify New Email"
msgstr "新しいメールアドレスを確認"
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr "メールアドレスを確認"
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
-msgstr ""
+msgstr "バージョン {0}"
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
@@ -5783,11 +5167,11 @@ msgstr "{0}のアバターを表示"
msgid "View debug entry"
msgstr "デバッグエントリーを表示"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
msgstr "詳細を表示"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
msgstr "著作権侵害の報告の詳細を見る"
@@ -5799,6 +5183,8 @@ msgstr "スレッドをすべて表示"
msgid "View information about these labels"
msgstr "これらのラベルに関する情報を見る"
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "プロフィールを表示"
@@ -5811,7 +5197,7 @@ msgstr "アバターを表示"
msgid "View the labeling service provided by @{0}"
msgstr "@{0}によって提供されるラベリングサービスを見る"
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
msgstr "このフィードにいいねしたユーザーを見る"
@@ -5835,11 +5221,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:133
+#: src/screens/Hashtag.tsx:210
msgid "We couldn't find any results for that hashtag."
msgstr "そのハッシュタグの検索結果は見つかりませんでした。"
@@ -5851,18 +5233,10 @@ msgstr "あなたのアカウントが準備できるまで{estimatedTime}ほど
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"
-#~ msgstr "あなたのフォロー中のユーザーの投稿を読み終わりました。以下のフィード内の最新の投稿を表示します:"
-
#: 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/screens/Onboarding/StepAlgoFeeds/index.tsx:118
-#~ msgid "We recommend \"For You\" by Skygaze:"
-#~ msgstr "Skygazeによる「For You」フィードがおすすめ:"
-
#: 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 "投稿が表示されなくなる可能性があるため、多くの投稿に使われる一般的なワードは避けることをおすすめします。"
@@ -5887,19 +5261,15 @@ 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:142
msgid "We'll use this to help customize your experience."
msgstr "これはあなたの体験をカスタマイズするために使用されます。"
-#: src/screens/Signup/index.tsx:130
+#: 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}までお問い合わせください。"
@@ -5907,16 +5277,16 @@ msgstr "大変申し訳ありませんが、このリストを解決できませ
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:256
+#: src/view/screens/Search/Search.tsx:323
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/components/Lists.tsx:197
#: 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:321
+#: 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までしか登録できず、すでに上限に達しています。"
@@ -5928,13 +5298,9 @@ msgstr "<0>Bluesky0>へようこそ"
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:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr "最近どう?"
@@ -5975,11 +5341,11 @@ msgstr "なぜこのユーザーをレビューする必要がありますか?
msgid "Wide"
msgstr "ワイド"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "投稿を書く"
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "返信を書く"
@@ -5988,10 +5354,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
@@ -6002,10 +5364,6 @@ 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 "あなたは並んでいます。"
@@ -6019,14 +5377,6 @@ msgstr "あなたはまだだれもフォローしていません。"
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 "我々の「Discover」アルゴリズムを試すことができます:"
-
-#: src/view/com/auth/create/Step1.tsx:106
-#~ msgid "You can change hosting providers at any time."
-#~ msgstr "ホスティングプロバイダはいつでも変更できます。"
-
#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr "これらの設定はあとで変更できます。"
@@ -6044,15 +5394,15 @@ msgstr "あなたはまだだれもフォロワーがいません。"
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 "保存されたフィードがありません。"
@@ -6090,39 +5440,27 @@ msgstr "このアカウントをミュートしました。"
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: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
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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 "ブロック中のアカウントはまだありません。アカウントをブロックするには、ユーザーのプロフィールに移動し、アカウントメニューから「アカウントをブロック」を選択します。"
-
#: 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
+#: 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 "ミュートしているアカウントはまだありません。アカウントをミュートするには、プロフィールに移動し、アカウントメニューから「アカウントをミュート」を選択します。"
-
#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
msgstr "まだワードやタグをミュートしていません"
@@ -6133,25 +5471,21 @@ 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 "成人向けコンテンツを有効にするには、18歳以上である必要があります。"
+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 "報告をするには少なくとも1つのラベラーを選択する必要があります"
-#: 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 "これ以降、このスレッドに関する通知を受け取ることができます"
@@ -6182,7 +5516,7 @@ msgstr "この投稿でワードまたはタグを隠すことを選択しまし
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr "フィードはここまでです!もっとフォローするアカウントを見つけましょう。"
-#: src/screens/Signup/index.tsx:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "あなたのアカウント"
@@ -6194,7 +5528,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/screens/Signup/StepInfo/index.tsx:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "生年月日"
@@ -6212,15 +5546,11 @@ msgstr "あなたのデフォルトフィードは「Following」です"
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 "メールアドレスは更新されましたが、確認されていません。次のステップとして、新しいメールアドレスを確認してください。"
-#: src/view/com/modals/VerifyEmail.tsx:114
+#: src/view/com/modals/VerifyEmail.tsx:122
msgid "Your email has not yet been verified. This is an important security step which we recommend."
msgstr "メールアドレスはまだ確認されていません。これは、当社が推奨する重要なセキュリティステップです。"
@@ -6228,7 +5558,7 @@ msgstr "メールアドレスはまだ確認されていません。これは、
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "Followingフィードは空です!もっと多くのユーザーをフォローして、近況を確認しましょう。"
-#: src/screens/Signup/StepHandle.tsx:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "フルハンドルは"
@@ -6236,16 +5566,6 @@ msgstr "フルハンドルは"
msgid "Your full handle will be <0>@{0}0>"
msgstr "フルハンドルは<0>@{0}0>になります"
-#: src/view/com/auth/create/Step1.tsx:53
-#~ msgid "Your hosting provider"
-#~ 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:220
msgid "Your muted words"
msgstr "ミュートしたワード"
@@ -6254,7 +5574,7 @@ msgstr "ミュートしたワード"
msgid "Your password has been changed successfully!"
msgstr "パスワードの変更が完了しました!"
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr "投稿を公開しました"
@@ -6264,18 +5584,14 @@ msgstr "投稿を公開しました"
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "投稿、いいね、ブロックは公開されます。ミュートは非公開です。"
-#: src/view/screens/Settings/index.tsx:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "あなたのプロフィール"
-#: src/view/screens/Moderation.tsx:220
-#~ 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:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr "返信を公開しました"
-#: src/screens/Signup/index.tsx:152
+#: 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 48c7a235bd..1b22c10557 100644
--- a/src/locale/locales/ko/messages.po
+++ b/src/locale/locales/ko/messages.po
@@ -13,15 +13,16 @@ msgstr ""
"Language-Team: quiple, lens0021, HaruChanHeart, hazzzi, heartade\n"
"Plural-Forms: \n"
-#: src/view/com/modals/VerifyEmail.tsx:142
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr "(이메일 없음)"
+#: src/components/ProfileHoverCard/index.web.tsx:438
#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} 팔로우 중"
-#: src/view/shell/Drawer.tsx:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications}개 읽지 않음"
@@ -33,15 +34,20 @@ msgstr "<0/>의 멤버"
msgid "<0>{0}0> following"
msgstr "<0>{0}0> 팔로우 중"
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr "<0>{followers} 0><1>팔로워1>"
+
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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>"
@@ -49,31 +55,44 @@ 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 "⚠잘못된 핸들"
-#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:649
+#: src/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr ""
+
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
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:300
-#: src/view/screens/Settings/index.tsx:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "접근성"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr "접근성 설정"
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr "접근성 설정"
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
msgstr "계정"
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "계정"
@@ -106,7 +125,7 @@ msgstr "계정 옵션"
msgid "Account removed from quick access"
msgstr "빠른 액세스에서 계정 제거"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "계정 차단 해제됨"
@@ -123,7 +142,7 @@ msgstr "계정 언뮤트됨"
#: 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:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "추가"
@@ -131,13 +150,13 @@ 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/components/dialogs/SwitchAccount.tsx:55
-#: src/view/screens/Settings/index.tsx:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr "계정 추가"
@@ -153,14 +172,6 @@ msgstr "대체 텍스트 추가하기"
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 "구성 설정에 뮤트 단어 추가"
@@ -210,11 +221,11 @@ msgid "Adult content is disabled."
msgstr "성인 콘텐츠가 비활성화되어 있습니다."
#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
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 "저장한 모든 피드를 한 곳에서 확인하세요."
@@ -232,6 +243,7 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "대체 텍스트"
@@ -239,7 +251,8 @@ msgstr "대체 텍스트"
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
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
msgstr "{0}(으)로 이메일을 보냈습니다. 이 이메일에는 아래에 입력하는 확인 코드가 포함되어 있습니다."
@@ -247,10 +260,16 @@ 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/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr ""
+
#: 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
@@ -258,7 +277,7 @@ msgstr "어떤 옵션에도 포함되지 않는 문제"
msgid "An issue occurred, please try again."
msgstr "문제가 발생했습니다. 다시 시도해 주세요."
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "및"
@@ -267,6 +286,10 @@ msgstr "및"
msgid "Animals"
msgstr "동물"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
msgstr "반사회적 행위"
@@ -287,13 +310,13 @@ msgstr "앱 비밀번호 이름에는 문자, 숫자, 공백, 대시, 밑줄만
msgid "App Password names must be at least 4 characters long."
msgstr "앱 비밀번호 이름은 4자 이상이어야 합니다."
-#: src/view/screens/Settings/index.tsx:695
+#: src/view/screens/Settings/index.tsx:647
msgid "App password settings"
msgstr "앱 비밀번호 설정"
-#: src/Navigation.tsx:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "앱 비밀번호"
@@ -310,7 +333,7 @@ msgstr "\"{0}\" 라벨 이의신청"
msgid "Appeal submitted."
msgstr "이의신청 제출함"
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "모양"
@@ -322,7 +345,7 @@ msgstr "앱 비밀번호 \"{name}\"을(를) 삭제하시겠습니까?"
msgid "Are you sure you want to remove {0} from your feeds?"
msgstr "피드에서 {0}을(를) 제거하시겠습니까?"
-#: src/view/com/composer/Composer.tsx:509
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr "이 초안을 삭제하시겠습니까?"
@@ -342,7 +365,7 @@ msgstr "예술"
msgid "Artistic or non-erotic nudity."
msgstr "선정적이지 않거나 예술적인 노출."
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
msgstr "3자 이상"
@@ -352,13 +375,13 @@ msgstr "3자 이상"
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr "뒤로"
@@ -366,7 +389,7 @@ msgstr "뒤로"
msgid "Based on your interest in {interestsText}"
msgstr "{interestsText}에 대한 관심사 기반"
-#: src/view/screens/Settings/index.tsx:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "기본"
@@ -374,11 +397,11 @@ msgstr "기본"
msgid "Birthday"
msgstr "생년월일"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr "생년월일:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
msgstr "차단"
@@ -392,21 +415,21 @@ 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 "차단됨"
@@ -414,8 +437,8 @@ msgstr "차단됨"
msgid "Blocked accounts"
msgstr "차단한 계정"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "차단한 계정"
@@ -423,7 +446,7 @@ 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:120
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 "차단한 계정은 내 스레드에 답글을 달거나 나를 멘션하거나 기타 다른 방식으로 나와 상호작용할 수 없습니다. 차단한 계정의 콘텐츠를 볼 수 없으며 해당 계정도 내 콘텐츠를 볼 수 없게 됩니다."
@@ -431,11 +454,11 @@ msgstr "차단한 계정은 내 스레드에 답글을 달거나 나를 멘션
msgid "Blocked post."
msgstr "차단된 게시물."
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: 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 "차단 목록은 공개됩니다. 차단한 계정은 내 스레드에 답글을 달거나 나를 멘션하거나 기타 다른 방식으로 나와 상호작용할 수 없습니다."
@@ -443,12 +466,10 @@ 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:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "블로그"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -473,6 +494,10 @@ msgstr "Bluesky는 열려 있습니다."
msgid "Bluesky is public."
msgstr "Bluesky는 공개적입니다."
+#: src/components/dialogs/GifSelect.tsx:314
+#~ msgid "Bluesky uses GIPHY to provide the GIF selector feature."
+#~ msgstr "Bluesky는 GIPHY를 사용하여 GIF를 선택할 수 있는 기능을 제공합니다."
+
#: 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 "로그아웃한 사용자에게 내 프로필과 게시물을 표시하지 않습니다. 다른 앱에서는 이 설정을 따르지 않을 수 있습니다. 내 계정을 비공개로 전환하지는 않습니다."
@@ -489,12 +514,7 @@ msgstr "이미지 흐리게 및 피드에서 필터링"
msgid "Books"
msgstr "책"
-#: src/view/screens/Settings/index.tsx:893
-#~ msgid "Build version {0} {1}"
-#~ msgstr "빌드 버전 {0} {1}"
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "비즈니스"
@@ -522,7 +542,7 @@ msgstr "계정을 만들면 {els}에 동의하는 것입니다."
msgid "by you"
msgstr "내가 만듦"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "카메라"
@@ -534,8 +554,8 @@ msgstr "글자, 숫자, 공백, 대시, 밑줄만 포함할 수 있습니다.
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -550,9 +570,9 @@ msgstr "글자, 숫자, 공백, 대시, 밑줄만 포함할 수 있습니다.
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "취소"
@@ -594,34 +614,34 @@ msgstr "검색 취소"
msgid "Cancels opening the linked website"
msgstr "연결된 웹사이트를 여는 것을 취소합니다"
-#: src/view/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
msgstr "변경"
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "변경"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "핸들 변경"
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "핸들 변경"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "내 이메일 변경하기"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr "비밀번호 변경"
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr "비밀번호 변경"
@@ -638,14 +658,18 @@ 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/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr ""
+
#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "받은 편지함에서 아래에 입력하는 확인 코드가 포함된 이메일이 있는지 확인하세요:"
@@ -671,36 +695,36 @@ msgstr "맞춤 피드를 통해 사용자 경험을 강화하는 알고리즘을
msgid "Choose your main feeds"
msgstr "기본 피드 선택"
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "비밀번호를 입력하세요"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr "모든 레거시 스토리지 데이터 지우기"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
msgid "Clear all legacy storage data (restart after this)"
msgstr "모든 레거시 스토리지 데이터 지우기 (이후 다시 시작)"
-#: src/view/screens/Settings/index.tsx:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr "모든 스토리지 데이터 지우기"
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
msgid "Clear all storage data (restart after this)"
msgstr "모든 스토리지 데이터 지우기 (이후 다시 시작)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "검색어 지우기"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
msgstr "모든 레거시 스토리지 데이터를 지웁니다"
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
msgstr "모든 스토리지 데이터를 지웁니다"
@@ -712,21 +736,22 @@ msgstr "이곳을 클릭"
msgid "Click here to open tag menu for {tag}"
msgstr "이곳을 클릭하여 {tag}의 태그 메뉴 열기"
-#: src/components/RichText.tsx:192
-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/components/dialogs/GifSelect.tsx:300
#: 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
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr "열려 있는 대화 상자 닫기"
@@ -738,6 +763,14 @@ msgstr "알림 닫기"
msgid "Close bottom drawer"
msgstr "하단 서랍 닫기"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr "GIF 대화 상자 닫기"
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "이미지 닫기"
@@ -746,7 +779,7 @@ msgstr "이미지 닫기"
msgid "Close image viewer"
msgstr "이미지 뷰어 닫기"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr "탐색 푸터 닫기"
@@ -755,7 +788,7 @@ msgstr "탐색 푸터 닫기"
msgid "Close this dialog"
msgstr "이 대화 상자 닫기"
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr "하단 탐색 막대를 닫습니다"
@@ -763,7 +796,7 @@ msgstr "하단 탐색 막대를 닫습니다"
msgid "Closes password update alert"
msgstr "비밀번호 변경 알림을 닫습니다"
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr "게시물 작성 상자를 닫고 게시물 초안을 삭제합니다"
@@ -771,7 +804,7 @@ msgstr "게시물 작성 상자를 닫고 게시물 초안을 삭제합니다"
msgid "Closes viewer for header image"
msgstr "헤더 이미지 뷰어를 닫습니다"
-#: src/view/com/notifications/FeedItem.tsx:321
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "이 알림에 대한 사용자 목록을 축소합니다"
@@ -783,7 +816,7 @@ msgstr "코미디"
msgid "Comics"
msgstr "만화"
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "커뮤니티 가이드라인"
@@ -792,11 +825,11 @@ msgstr "커뮤니티 가이드라인"
msgid "Complete onboarding and start using your account"
msgstr "온보딩 완료 후 계정 사용 시작"
-#: src/screens/Signup/index.tsx:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "챌린지 완료하기"
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "최대 {MAX_GRAPHEME_LENGTH}자 길이까지 글을 작성할 수 있습니다"
@@ -819,10 +852,12 @@ 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/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
msgid "Confirm"
msgstr "확인"
@@ -847,18 +882,21 @@ msgstr "나이를 확인하세요:"
msgid "Confirm your birthdate"
msgstr "생년월일 확인"
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
msgid "Confirmation code"
msgstr "확인 코드"
-#: src/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "연결 중…"
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "지원에 연락하기"
@@ -904,8 +942,8 @@ msgstr "컨텍스트 메뉴 배경을 클릭하여 메뉴를 닫습니다."
#: 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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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 "계속"
@@ -918,7 +956,7 @@ msgstr "{0}(으)로 계속하기 (현재 로그인)"
#: 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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "다음 단계로 계속하기"
@@ -939,17 +977,21 @@ msgstr "요리"
msgid "Copied"
msgstr "복사됨"
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
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:158
+#: 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 "앱 비밀번호를 복사합니다"
@@ -962,21 +1004,26 @@ msgstr "복사"
msgid "Copy {0}"
msgstr "{0} 복사"
-#: src/view/screens/ProfileList.tsx:388
+#: 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:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
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:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "게시물 텍스트 복사"
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "저작권 정책"
@@ -985,35 +1032,38 @@ msgstr "저작권 정책"
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:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr "새 Bluesky 계정을 만듭니다"
-#: src/screens/Signup/index.tsx:129
+#: 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/HomeLoggedOutCTA.tsx:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: 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}에 대한 신고 작성하기"
@@ -1021,10 +1071,6 @@ msgstr "{0}에 대한 신고 작성하기"
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 "문화"
@@ -1039,16 +1085,16 @@ msgid "Custom domain"
msgstr "사용자 지정 도메인"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr "외부 사이트 미디어를 사용자 지정합니다."
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr "어두움"
@@ -1056,15 +1102,15 @@ msgstr "어두움"
msgid "Dark mode"
msgstr "어두운 모드"
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr "어두운 테마"
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
msgstr "생년월일"
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
msgstr "검토 디버그"
@@ -1072,13 +1118,13 @@ msgstr "검토 디버그"
msgid "Debug panel"
msgstr "디버그 패널"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: 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:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "계정 삭제"
@@ -1094,7 +1140,7 @@ msgstr "앱 비밀번호 삭제"
msgid "Delete app password?"
msgstr "앱 비밀번호를 삭제하시겠습니까?"
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "리스트 삭제"
@@ -1102,24 +1148,24 @@ msgstr "리스트 삭제"
msgid "Delete my account"
msgstr "내 계정 삭제"
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
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:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
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:340
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 "삭제됨"
@@ -1134,14 +1180,26 @@ msgstr "삭제된 게시물."
msgid "Description"
msgstr "설명"
-#: src/view/com/composer/Composer.tsx:218
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr "하고 싶은 말이 있나요?"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr "어둑함"
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr "GIF 자동 재생 끄기"
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr ""
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+msgstr "햅틱 피드백 끄기"
+
#: src/lib/moderation/useLabelBehaviorDescription.ts:32
#: src/lib/moderation/useLabelBehaviorDescription.ts:42
#: src/lib/moderation/useLabelBehaviorDescription.ts:68
@@ -1149,11 +1207,11 @@ msgstr "어둑함"
msgid "Disabled"
msgstr "비활성화됨"
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr "삭제"
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
msgstr "초안 삭제"
@@ -1167,7 +1225,7 @@ msgstr "앱이 로그아웃한 사용자에게 내 계정을 표시하지 않도
msgid "Discover new custom feeds"
msgstr "새로운 맞춤 피드 찾아보기"
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr "새 피드 발견하기"
@@ -1187,7 +1245,7 @@ msgstr "DNS 패널"
msgid "Does not include nudity."
msgstr "노출을 포함하지 않습니다."
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
msgstr "하이픈으로 시작하거나 끝나지 않음"
@@ -1217,7 +1275,7 @@ msgstr "도메인을 확인했습니다."
msgid "Done"
msgstr "완료"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: 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
@@ -1239,7 +1297,7 @@ msgstr "완료{extraText}"
msgid "Download CAR file"
msgstr "CAR 파일 다운로드"
-#: src/view/com/composer/text-input/TextInput.web.tsx:249
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr "드롭하여 이미지 추가"
@@ -1292,7 +1350,7 @@ msgctxt "action"
msgid "Edit"
msgstr "편집"
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
msgstr "아바타 편집"
@@ -1302,7 +1360,7 @@ msgstr "아바타 편집"
msgid "Edit image"
msgstr "이미지 편집"
-#: src/view/screens/ProfileList.tsx:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "리스트 세부 정보 편집"
@@ -1310,9 +1368,9 @@ msgstr "리스트 세부 정보 편집"
msgid "Edit Moderation List"
msgstr "검토 리스트 편집"
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "내 피드 편집"
@@ -1320,18 +1378,18 @@ msgstr "내 피드 편집"
msgid "Edit my profile"
msgstr "내 프로필 편집"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "프로필 편집"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
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 "저장된 피드 편집"
@@ -1356,6 +1414,10 @@ msgstr "교육"
msgid "Email"
msgstr "이메일"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr ""
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "이메일 주소"
@@ -1369,17 +1431,31 @@ msgstr "이메일 변경됨"
msgid "Email Updated"
msgstr "이메일 변경됨"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr "이메일 확인됨"
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
msgid "Email:"
msgstr "이메일:"
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr "임베드 HTML 코드"
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+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 "웹사이트에 이 게시물을 임베드하세요. 다음 코드를 복사하여 웹사이트에 HTML 코드로 붙여넣기만 하면 됩니다."
+
#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
-msgstr "{0}만 사용"
+msgstr "{0}에서만 사용"
#: src/screens/Moderation/index.tsx:329
msgid "Enable adult content"
@@ -1397,13 +1473,14 @@ msgstr "피드에서 성인 콘텐츠 사용"
#: src/components/dialogs/EmbedConsent.tsx:82
#: src/components/dialogs/EmbedConsent.tsx:89
msgid "Enable external media"
-msgstr ""
+msgstr "외부 미디어 사용"
-#: src/view/com/modals/EmbedConsent.tsx:97
-#~ msgid "Enable External Media"
-#~ msgstr "외부 미디어 사용"
+#: src/components/dialogs/GifSelect.tsx:335
+#: src/components/dialogs/GifSelect.tsx:342
+#~ msgid "Enable GIPHY"
+#~ msgstr "GIPHY 사용"
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr "미디어 플레이어를 사용할 외부 사이트"
@@ -1413,13 +1490,13 @@ msgstr "내가 팔로우하는 사람들 간의 답글만 표시합니다."
#: src/components/dialogs/EmbedConsent.tsx:94
msgid "Enable this source only"
-msgstr ""
+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 "피드 끝"
@@ -1436,7 +1513,7 @@ msgstr "비밀번호 입력"
msgid "Enter a word or tag"
msgstr "단어 또는 태그 입력"
-#: src/view/com/modals/VerifyEmail.tsx:105
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr "확인 코드 입력"
@@ -1457,7 +1534,7 @@ msgid "Enter your birth date"
msgstr "생년월일을 입력하세요"
#: src/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "이메일 주소를 입력하세요"
@@ -1477,7 +1554,7 @@ msgstr "사용자 이름 및 비밀번호 입력"
msgid "Error receiving captcha response."
msgstr "캡차 응답을 수신하는 동안 오류가 발생했습니다."
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "오류:"
@@ -1514,8 +1591,8 @@ msgstr "검색어 입력을 종료합니다"
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 "답글을 달고 있는 전체 게시물을 펼치거나 접습니다"
@@ -1527,12 +1604,12 @@ msgstr "노골적이거나 불쾌감을 줄 수 있는 미디어."
msgid "Explicit sexual images."
msgstr "노골적인 성적 이미지."
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr "내 데이터 내보내기"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr "내 데이터 내보내기"
@@ -1542,17 +1619,17 @@ msgid "External Media"
msgstr "외부 미디어"
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr "외부 미디어 설정"
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr "외부 미디어 설정"
@@ -1565,12 +1642,16 @@ msgstr "앱 비밀번호를 만들지 못했습니다."
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/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+msgstr "GIF 불러오기 실패"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "추천 피드를 불러오지 못했습니다"
@@ -1578,7 +1659,7 @@ msgstr "추천 피드를 불러오지 못했습니다"
msgid "Failed to save image: {0}"
msgstr "이미지를 저장하지 못함: {0}"
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr "피드"
@@ -1586,31 +1667,31 @@ 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:314
+#: 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:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: 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/>에서 자세한 내용을 확인하세요."
@@ -1636,13 +1717,9 @@ msgstr "마무리 중"
msgid "Find accounts to follow"
msgstr "팔로우할 계정 찾아보기"
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
-msgstr "Bluesky에서 사용자 찾기"
-
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr "오른쪽의 검색 도구로 사용자 찾기"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
+msgstr "Bluesky에서 게시물 및 사용자 찾기"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
@@ -1674,10 +1751,10 @@ msgid "Flip vertically"
msgstr "세로로 뒤집기"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "팔로우"
@@ -1687,7 +1764,7 @@ msgid "Follow"
msgstr "팔로우"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "{0} 님을 팔로우"
@@ -1703,17 +1780,17 @@ msgstr "모두 팔로우"
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
msgid "Follow Back"
-msgstr ""
+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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr "{0} 님이 팔로우함"
@@ -1725,7 +1802,7 @@ msgstr "팔로우한 사용자"
msgid "Followed users only"
msgstr "팔로우한 사용자만"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "님이 나를 팔로우했습니다"
@@ -1734,26 +1811,26 @@ msgstr "님이 나를 팔로우했습니다"
msgid "Followers"
msgstr "팔로워"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: 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
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr "{0} 님을 팔로우했습니다"
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
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/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
msgstr "팔로우 중 피드 설정"
@@ -1761,7 +1838,7 @@ msgstr "팔로우 중 피드 설정"
msgid "Follows you"
msgstr "나를 팔로우함"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr "나를 팔로우함"
@@ -1782,11 +1859,11 @@ msgstr "보안상의 이유로 이 비밀번호는 다시 볼 수 없습니다.
msgid "Forgot Password"
msgstr "비밀번호 분실"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
msgstr "비밀번호를 잊으셨나요?"
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
msgstr "분실"
@@ -1794,25 +1871,28 @@ msgstr "분실"
msgid "Frequently Posts Unwanted Content"
msgstr "잦은 원치 않는 콘텐츠 게시"
-#: src/screens/Hashtag.tsx:109
-#: src/screens/Hashtag.tsx:149
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
msgstr "@{sanitizedAuthor} 님의 태그"
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "<0/>에서"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "갤러리"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "시작하기"
+#: src/components/dialogs/GifSelect.tsx:320
+#~ msgid "GIPHY may collect information about you and your device. You can find out more in their <0>privacy policy0>."
+#~ msgstr "GIPHY는 나와 내 기기에 대한 정보를 수집할 수 있습니다. 자세한 내용은 <0>개인정보 처리방침0>에서 확인할 수 있습니다."
+
#: src/lib/moderation/useReportOptions.ts:37
msgid "Glaring violations of law or terms of service"
msgstr "명백한 법률 또는 서비스 이용약관 위반 행위"
@@ -1823,25 +1903,25 @@ msgstr "명백한 법률 또는 서비스 이용약관 위반 행위"
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: src/view/screens/ProfileList.tsx:918
#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "뒤로"
-#: src/components/Error.tsx:91
+#: src/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "뒤로"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "이전 단계로 돌아가기"
@@ -1853,7 +1933,7 @@ msgstr "홈으로 이동"
msgid "Go Home"
msgstr "홈으로 이동"
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "@{queryMaybeHandle}(으)로 이동"
@@ -1871,24 +1951,28 @@ msgstr "그래픽 미디어"
msgid "Handle"
msgstr "핸들"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr "햅틱"
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
msgstr "괴롭힘, 분쟁 유발 또는 차별"
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
msgstr "해시태그"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
msgstr "해시태그: #{tag}"
-#: src/screens/Signup/index.tsx:217
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "문제가 있나요?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "도움말"
@@ -1917,17 +2001,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:354
msgid "Hide"
msgstr "숨기기"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: 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:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr "게시물 숨기기"
@@ -1936,11 +2020,11 @@ msgstr "게시물 숨기기"
msgid "Hide the content"
msgstr "콘텐츠 숨기기"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr "이 게시물을 숨기시겠습니까?"
-#: src/view/com/notifications/FeedItem.tsx:319
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "사용자 리스트 숨기기"
@@ -1972,11 +2056,11 @@ msgstr "이 데이터를 불러오는 데 문제가 있는 것 같습니다. 자
msgid "Hmmmm, we couldn't load that moderation service."
msgstr "검토 서비스를 불러올 수 없습니다."
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "홈"
@@ -1985,7 +2069,7 @@ msgid "Host:"
msgstr "호스트:"
#: src/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
@@ -1995,11 +2079,13 @@ msgstr "호스팅 제공자"
msgid "How should we open this link?"
msgstr "이 링크를 어떻게 여시겠습니까?"
-#: src/view/com/modals/VerifyEmail.tsx:214
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "코드가 있습니다"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr "확인 코드가 있습니다"
@@ -2019,11 +2105,11 @@ msgstr "아무것도 선택하지 않으면 모든 연령대에 적합하다는
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:610
+#: 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:342
msgid "If you remove this post, you won't be able to recover it."
msgstr "이 게시물을 삭제하면 다시 복구할 수 없습니다."
@@ -2067,15 +2153,19 @@ msgstr "새 비밀번호를 입력합니다"
msgid "Input password for account deletion"
msgstr "계정을 삭제하기 위해 비밀번호를 입력합니다"
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr "{identifier}에 연결된 비밀번호를 입력합니다"
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
msgid "Input the username or email address you used at signup"
msgstr "가입 시 사용한 사용자 이름 또는 이메일 주소를 입력합니다"
-#: src/screens/Login/LoginForm.tsx:194
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr "비밀번호를 입력합니다"
@@ -2083,15 +2173,20 @@ msgstr "비밀번호를 입력합니다"
msgid "Input your preferred hosting provider"
msgstr "선호하는 호스팅 제공자를 입력합니다"
-#: src/screens/Signup/StepHandle.tsx:62
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "사용자 핸들을 입력합니다"
-#: src/view/com/post-thread/PostThreadItem.tsx:221
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr "유효하지 않거나 지원되지 않는 게시물 기록"
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr "잘못된 사용자 이름 또는 비밀번호"
@@ -2119,8 +2214,7 @@ msgstr "초대 코드: 1개 사용 가능"
msgid "It shows posts from the people you follow as they happen."
msgstr "내가 팔로우하는 사람들의 게시물이 올라오는 대로 표시됩니다."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "채용"
@@ -2140,11 +2234,11 @@ msgstr "{0} 님이 라벨 지정함."
msgid "Labeled by the author."
msgstr "작성자가 라벨 지정함."
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
msgstr "라벨"
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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 "라벨은 사용자 및 콘텐츠에 대한 주석입니다. 네트워크를 숨기고, 경고하고, 분류하는 데 사용할 수 있습니다."
@@ -2164,19 +2258,24 @@ msgstr "내 콘텐츠의 라벨"
msgid "Language selection"
msgstr "언어 선택"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr "언어 설정"
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "언어 설정"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "언어"
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr "최신"
+
#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr "더 알아보기"
@@ -2211,7 +2310,7 @@ msgstr "Bluesky 떠나기"
msgid "left to go."
msgstr "명 남았습니다."
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "레거시 스토리지가 지워졌으며 지금 앱을 다시 시작해야 합니다."
@@ -2224,22 +2323,22 @@ msgstr "비밀번호를 재설정해 봅시다!"
msgid "Let's go!"
msgstr "출발!"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr "밝음"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "좋아요"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
msgid "Liked by"
msgstr "좋아요 표시한 사용자"
@@ -2257,29 +2356,29 @@ msgstr "{0}명의 사용자가 좋아함"
msgid "Liked by {count} {0}"
msgstr "{count}명의 사용자가 좋아함"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "님이 내 맞춤 피드를 좋아합니다"
-#: src/view/com/notifications/FeedItem.tsx:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "님이 내 게시물을 좋아합니다"
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr "좋아요"
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr "이 게시물을 좋아요 표시합니다"
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr "리스트"
@@ -2287,7 +2386,7 @@ msgstr "리스트"
msgid "List Avatar"
msgstr "리스트 아바타"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "리스트 차단됨"
@@ -2295,11 +2394,11 @@ 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 "리스트 뮤트됨"
@@ -2307,20 +2406,20 @@ msgstr "리스트 뮤트됨"
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:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "리스트"
@@ -2328,10 +2427,10 @@ msgstr "리스트"
msgid "Load new notifications"
msgstr "새 알림 불러오기"
-#: src/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "새 게시물 불러오기"
@@ -2339,7 +2438,7 @@ msgstr "새 게시물 불러오기"
msgid "Loading..."
msgstr "불러오는 중…"
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr "로그"
@@ -2358,6 +2457,10 @@ msgstr "로그아웃 표시"
msgid "Login to account that is not listed"
msgstr "목록에 없는 계정으로 로그인"
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+msgstr ""
+
#: src/screens/Login/SetNewPasswordForm.tsx:116
msgid "Looks like XXXXX-XXXXX"
msgstr "XXXXX-XXXXX 형식"
@@ -2370,7 +2473,8 @@ msgstr "이곳이 당신이 가고자 하는 곳인지 확인하세요!"
msgid "Manage your muted words and tags"
msgstr "뮤트한 단어 및 태그 관리"
-#: src/view/screens/Profile.tsx:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr "미디어"
@@ -2382,8 +2486,8 @@ msgstr "멘션한 사용자"
msgid "Mentioned users"
msgstr "멘션한 사용자"
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "메뉴"
@@ -2395,12 +2499,12 @@ msgstr "서버에서 보낸 메시지: {0}"
msgid "Misleading Account"
msgstr "오해의 소지가 있는 계정"
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "검토"
@@ -2413,13 +2517,13 @@ 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 "내 검토 리스트"
@@ -2435,16 +2539,16 @@ msgstr "검토 리스트 업데이트됨"
msgid "Moderation lists"
msgstr "검토 리스트"
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "검토 리스트"
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr "검토 설정"
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
msgstr "검토 상태"
@@ -2465,7 +2569,7 @@ msgstr "더 보기"
msgid "More feeds"
msgstr "피드 더 보기"
-#: src/view/screens/ProfileList.tsx:599
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "옵션 더 보기"
@@ -2486,7 +2590,7 @@ msgstr "{truncatedTag} 뮤트"
msgid "Mute Account"
msgstr "계정 뮤트"
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "계정 뮤트"
@@ -2502,12 +2606,12 @@ msgstr "태그에서만 뮤트"
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 "이 계정들을 뮤트하시겠습니까?"
@@ -2519,13 +2623,13 @@ msgstr "게시물 글 및 태그에서 이 단어 뮤트하기"
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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
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:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
msgstr "단어 및 태그 뮤트"
@@ -2537,12 +2641,12 @@ msgstr "뮤트됨"
msgid "Muted accounts"
msgstr "뮤트한 계정"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: 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 "계정을 뮤트하면 피드와 알림에서 해당 계정의 게시물이 사라집니다. 뮤트 목록은 완전히 비공개로 유지됩니다."
@@ -2554,7 +2658,7 @@ msgstr "\"{0}\" 님이 뮤트함"
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 "뮤트 목록은 비공개입니다. 뮤트한 계정은 나와 상호작용할 수 있지만 해당 계정의 게시물을 보거나 해당 계정으로부터 알림을 받을 수 없습니다."
@@ -2563,7 +2667,7 @@ msgstr "뮤트 목록은 비공개입니다. 뮤트한 계정은 나와 상호
msgid "My Birthday"
msgstr "내 생년월일"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "내 피드"
@@ -2571,11 +2675,11 @@ msgstr "내 피드"
msgid "My Profile"
msgstr "내 프로필"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
msgstr "내 저장된 피드"
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
msgid "My Saved Feeds"
msgstr "내 저장된 피드"
@@ -2599,7 +2703,7 @@ msgid "Nature"
msgstr "자연"
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "다음 화면으로 이동합니다"
@@ -2608,15 +2712,10 @@ msgstr "다음 화면으로 이동합니다"
msgid "Navigates to your profile"
msgstr "내 프로필로 이동합니다"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: 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}에서 임베드를 불러오지 않습니다"
-
#: 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."
@@ -2651,17 +2750,17 @@ msgstr "새 비밀번호"
msgid "New Password"
msgstr "새 비밀번호"
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
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:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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 "새 게시물"
@@ -2685,12 +2784,12 @@ msgstr "뉴스"
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -2714,8 +2813,8 @@ msgstr "다음 이미지"
msgid "No"
msgstr "아니요"
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "설명 없음"
@@ -2723,11 +2822,15 @@ msgstr "설명 없음"
msgid "No DNS Panel"
msgstr "DNS 패널 없음"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr "더 이상 {0} 님을 팔로우하지 않음"
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
msgstr "253자를 초과하지 않음"
@@ -2740,25 +2843,33 @@ msgstr "아직 알림이 없습니다."
msgid "No result"
msgstr "결과 없음"
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "{query}에 대한 결과를 찾을 수 없습니다"
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr "\"{search}\"에 대한 검색 결과를 찾을 수 없습니다."
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
msgstr "사용하지 않음"
+#: src/components/dialogs/GifSelect.tsx:218
+#~ msgid "No trending GIFs found. There may be an issue with GIPHY."
+#~ msgstr "인기 GIF를 찾을 수 없습니다. GIPHY에 문제가 발생했을 수 있습니다."
+
#: src/view/com/modals/Threadgate.tsx:82
msgid "Nobody"
msgstr "없음"
@@ -2776,19 +2887,19 @@ msgstr "선정적이지 않은 노출"
msgid "Not Applicable."
msgstr "해당 없음."
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "찾을 수 없음"
-#: src/view/com/modals/VerifyEmail.tsx:246
-#: src/view/com/modals/VerifyEmail.tsx:252
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr "나중에 하기"
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
msgstr "공유 관련 참고 사항"
@@ -2796,13 +2907,13 @@ msgstr "공유 관련 참고 사항"
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:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "알림"
@@ -2812,13 +2923,9 @@ msgstr "노출"
#: 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 "누드 또는 음란물로 설정되지 않은 콘텐츠"
+msgstr "누드 또는 성인 콘텐츠로 설정되지 않은 콘텐츠"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
msgstr ""
@@ -2826,7 +2933,8 @@ msgstr ""
msgid "Off"
msgstr "끄기"
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "이런!"
@@ -2835,7 +2943,7 @@ msgid "Oh no! Something went wrong."
msgstr "이런! 뭔가 잘못되었습니다."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
msgstr "확인"
@@ -2847,11 +2955,11 @@ msgstr "확인"
msgid "Oldest replies first"
msgstr "오래된 순"
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr "온보딩 재설정"
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr "하나 이상의 이미지에 대체 텍스트가 누락되었습니다."
@@ -2859,17 +2967,17 @@ msgstr "하나 이상의 이미지에 대체 텍스트가 누락되었습니다.
msgid "Only {0} can reply."
msgstr "{0}만 답글을 달 수 있습니다."
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
msgstr "문자, 숫자, 하이픈만 포함"
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
msgstr "이런, 뭔가 잘못되었습니다!"
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "이런!"
@@ -2877,16 +2985,16 @@ msgstr "이런!"
msgid "Open"
msgstr "공개성"
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr "이모티콘 선택기 열기"
-#: src/view/screens/ProfileFeed.tsx:300
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
msgstr "피드 옵션 메뉴 열기"
-#: src/view/screens/Settings/index.tsx:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr "링크를 인앱 브라우저로 열기"
@@ -2894,20 +3002,20 @@ msgstr "링크를 인앱 브라우저로 열기"
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:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr "스토리북 페이지 열기"
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
msgstr "시스템 로그 열기"
@@ -2915,15 +3023,19 @@ msgstr "시스템 로그 열기"
msgid "Opens {numItems} options"
msgstr "{numItems}번째 옵션을 엽니다"
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr "접근성 설정을 엽니다"
+
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
msgstr "디버그 항목에 대한 추가 세부 정보를 엽니다"
-#: src/view/com/notifications/FeedItem.tsx:353
+#: 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
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr "기기에서 카메라를 엽니다"
@@ -2931,51 +3043,53 @@ msgstr "기기에서 카메라를 엽니다"
msgid "Opens composer"
msgstr "답글 작성 상자를 엽니다"
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr "구성 가능한 언어 설정을 엽니다"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
msgid "Opens device photo gallery"
msgstr "기기의 사진 갤러리를 엽니다"
-#: src/view/screens/Settings/index.tsx:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr "외부 임베드 설정을 엽니다"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr "GIF 선택 대화 상자를 엽니다"
+
#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "초대 코드 목록을 엽니다"
-#: src/view/screens/Settings/index.tsx:798
+#: src/view/screens/Settings/index.tsx:757
msgid "Opens modal for account deletion confirmation. Requires email code"
msgstr "계정 삭제 확인을 위한 대화 상자를 엽니다. 이메일 코드가 필요합니다"
-#: src/view/screens/Settings/index.tsx:756
+#: src/view/screens/Settings/index.tsx:715
msgid "Opens modal for changing your Bluesky password"
msgstr "Bluesky 비밀번호 변경을 위한 대화 상자를 엽니다"
-#: src/view/screens/Settings/index.tsx:718
+#: src/view/screens/Settings/index.tsx:670
msgid "Opens modal for choosing a new Bluesky handle"
msgstr "새로운 Bluesky 핸들을 선택하기 위한 대화 상자를 엽니다"
-#: src/view/screens/Settings/index.tsx:779
+#: src/view/screens/Settings/index.tsx:738
msgid "Opens modal for downloading your Bluesky account data (repository)"
msgstr "Bluesky 계정 데이터(저장소)를 다운로드하기 위한 대화 상자를 엽니다"
-#: src/view/screens/Settings/index.tsx:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
msgstr "이메일 인증을 위한 대화 상자를 엽니다"
@@ -2983,28 +3097,28 @@ msgstr "이메일 인증을 위한 대화 상자를 엽니다"
msgid "Opens modal for using custom domain"
msgstr "사용자 지정 도메인을 사용하기 위한 대화 상자를 엽니다"
-#: src/view/screens/Settings/index.tsx:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "검토 설정을 엽니다"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
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:597
+#: src/view/screens/Settings/index.tsx:549
msgid "Opens screen with all saved feeds"
msgstr "모든 저장된 피드 화면을 엽니다"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:648
msgid "Opens the app password settings"
msgstr "비밀번호 설정을 엽니다"
-#: src/view/screens/Settings/index.tsx:554
+#: src/view/screens/Settings/index.tsx:506
msgid "Opens the Following feed preferences"
msgstr "팔로우 중 피드 설정을 엽니다"
@@ -3012,16 +3126,16 @@ msgstr "팔로우 중 피드 설정을 엽니다"
msgid "Opens the linked website"
msgstr "연결된 웹사이트를 엽니다"
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr "스토리북 페이지를 엽니다"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "시스템 로그 페이지를 엽니다"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "스레드 설정을 엽니다"
@@ -3029,7 +3143,7 @@ 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 "선택 사항으로 아래에 추가 정보를 입력하세요:"
@@ -3049,7 +3163,7 @@ msgstr "다른 계정"
msgid "Other..."
msgstr "기타…"
-#: src/components/Lists.tsx:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "페이지를 찾을 수 없음"
@@ -3058,8 +3172,8 @@ msgstr "페이지를 찾을 수 없음"
msgid "Page Not Found"
msgstr "페이지를 찾을 수 없음"
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3077,11 +3191,19 @@ msgstr "비밀번호 변경됨"
msgid "Password updated!"
msgstr "비밀번호 변경됨"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr "사람들"
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr "@{0} 님이 팔로우한 사람들"
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr "@{0} 님을 팔로우하는 사람들"
@@ -3093,6 +3215,11 @@ msgstr "앨범에 접근할 수 있는 권한이 필요합니다."
msgid "Permission to access camera roll was denied. Please enable it in your system settings."
msgstr "앨범에 접근할 수 있는 권한이 거부되었습니다. 시스템 설정에서 활성화하세요."
+#: src/components/dialogs/GifSelect.tsx:306
+#: src/components/dialogs/GifSelect.tsx:309
+#~ msgid "Permission to use GIPHY"
+#~ msgstr "GIPHY 사용 허가"
+
#: src/screens/Onboarding/index.tsx:31
msgid "Pets"
msgstr "반려동물"
@@ -3101,23 +3228,31 @@ msgstr "반려동물"
msgid "Pictures meant for adults."
msgstr "성인용 사진."
-#: src/view/screens/ProfileFeed.tsx:292
-#: 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:295
+#: 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/GifEmbed.tsx:31
+msgid "Play"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "{0} 재생"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3167,11 +3302,11 @@ msgstr "비밀번호도 입력해 주세요:"
msgid "Please explain why you think this label was incorrectly applied by {0}"
msgstr "{0} 님이 이 라벨을 잘못 적용했다고 생각하는 이유를 설명해 주세요"
-#: src/view/com/modals/VerifyEmail.tsx:101
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr "이메일 인증하기"
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr "링크 카드를 완전히 불러올 때까지 기다려주세요"
@@ -3183,12 +3318,8 @@ msgstr "정치"
msgid "Porn"
msgstr "음란물"
-#: src/lib/moderation/useGlobalLabelStrings.ts:34
-#~ msgid "Pornography"
-#~ msgstr "음란물"
-
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr "게시하기"
@@ -3198,17 +3329,17 @@ msgctxt "description"
msgid "Post"
msgstr "게시물"
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr "{0} 님의 게시물"
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
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 "게시물 삭제됨"
@@ -3243,7 +3374,7 @@ msgstr "게시물을 찾을 수 없음"
msgid "posts"
msgstr "게시물"
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr "게시물"
@@ -3259,13 +3390,17 @@ msgstr "게시물 숨겨짐"
msgid "Potentially Misleading Link"
msgstr "오해의 소지가 있는 링크"
-#: src/components/forms/HostingProvider.tsx:45
+#: src/components/dialogs/GifSelect.tsx:175
+#~ msgid "Powered by GIPHY"
+#~ msgstr "GIPHY 제공"
+
+#: 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:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
msgstr "눌러서 다시 시도하기"
@@ -3281,16 +3416,16 @@ msgstr "주 언어"
msgid "Prioritize Your Follows"
msgstr "내 팔로우 먼저 표시"
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "개인정보"
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "개인정보 처리방침"
@@ -3299,15 +3434,15 @@ msgid "Processing..."
msgstr "처리 중…"
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
msgstr "프로필"
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "프로필"
@@ -3315,7 +3450,7 @@ msgstr "프로필"
msgid "Profile updated"
msgstr "프로필 업데이트됨"
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "이메일을 인증하여 계정을 보호하세요."
@@ -3331,11 +3466,11 @@ msgstr "일괄 뮤트하거나 차단할 수 있는 공개적이고 공유 가
msgid "Public, shareable lists which can drive feeds."
msgstr "피드를 탐색할 수 있는 공개적이고 공유 가능한 목록입니다."
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr "게시물 게시하기"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr "답글 게시하기"
@@ -3361,15 +3496,15 @@ msgstr "무작위"
msgid "Ratios"
msgstr "비율"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
msgstr "최근 검색"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: 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 "추천 사용자"
@@ -3386,7 +3521,7 @@ msgstr "제거"
msgid "Remove account"
msgstr "계정 제거"
-#: src/view/com/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
msgstr "아바타 제거"
@@ -3404,8 +3539,8 @@ msgstr "피드를 제거하시겠습니까?"
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "내 피드에서 제거"
@@ -3417,7 +3552,7 @@ msgstr "내 피드에서 제거하시겠습니까?"
msgid "Remove image"
msgstr "이미지 제거"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr "이미지 미리보기 제거"
@@ -3442,15 +3577,15 @@ msgstr "리스트에서 제거됨"
msgid "Removed from my feeds"
msgstr "내 피드에서 제거됨"
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
msgstr "내 피드에서 제거됨"
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr "{0}에서 기본 미리보기 이미지를 제거합니다"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr "답글"
@@ -3458,7 +3593,7 @@ msgstr "답글"
msgid "Replies to this thread are disabled"
msgstr "이 스레드에 대한 답글이 비활성화됩니다."
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr "답글"
@@ -3467,11 +3602,11 @@ msgstr "답글"
msgid "Reply Filters"
msgstr "답글 필터"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
+#: src/view/com/post/Post.tsx:178
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
-msgid "Reply to <0/>"
-msgstr "<0/> 님에게 보내는 답글"
+msgid "Reply to <0><1/>0>"
+msgstr "<0><1/>0> 님에게 보내는 답글"
#: src/view/com/profile/ProfileMenu.tsx:319
#: src/view/com/profile/ProfileMenu.tsx:322
@@ -3482,17 +3617,17 @@ msgstr "계정 신고"
msgid "Report dialog"
msgstr "신고 대화 상자"
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: 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:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "게시물 신고"
@@ -3537,19 +3672,19 @@ msgstr "재게시 또는 게시물 인용"
msgid "Reposted By"
msgstr "재게시한 사용자"
-#: src/view/com/posts/FeedItem.tsx:197
+#: 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 "<0><1/>0> 님이 재게시함"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "님이 내 게시물을 재게시했습니다"
-#: src/view/com/post-thread/PostThreadItem.tsx:187
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr "이 게시물의 재게시"
@@ -3563,14 +3698,23 @@ msgstr "변경 요청"
msgid "Request Code"
msgstr "코드 요청"
-#: src/view/screens/Settings/index.tsx:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr "게시하기 전 대체 텍스트 필수"
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr ""
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "이 제공자에서 필수"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr ""
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "재설정 코드"
@@ -3579,8 +3723,8 @@ msgstr "재설정 코드"
msgid "Reset Code"
msgstr "재설정 코드"
-#: src/view/screens/Settings/index.tsx:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr "온보딩 상태 초기화"
@@ -3588,20 +3732,20 @@ msgstr "온보딩 상태 초기화"
msgid "Reset password"
msgstr "비밀번호 재설정"
-#: src/view/screens/Settings/index.tsx:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr "설정 상태 초기화"
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr "온보딩 상태 초기화"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr "설정 상태 초기화"
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr "로그인을 다시 시도합니다"
@@ -3610,20 +3754,20 @@ msgstr "로그인을 다시 시도합니다"
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/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: 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:917
+#: src/components/Error.tsx:95
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "이전 페이지로 돌아갑니다"
@@ -3669,12 +3813,12 @@ msgstr "핸들 변경 저장"
msgid "Save image crop"
msgstr "이미지 자르기 저장"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: 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 "저장된 피드"
@@ -3682,7 +3826,7 @@ msgstr "저장된 피드"
msgid "Saved to your camera roll."
msgstr "내 앨범에 저장됨"
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
msgstr "내 피드에 저장됨"
@@ -3702,28 +3846,28 @@ msgstr "이미지 자르기 설정을 저장합니다"
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/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "검색"
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "\"{query}\"에 대한 검색 결과"
@@ -3742,6 +3886,14 @@ msgstr "{displayTag} 태그를 사용한 모든 게시물 검색"
msgid "Search for users"
msgstr "사용자 검색하기"
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr "GIF 검색하기"
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr ""
+
#: src/view/com/modals/ChangeEmail.tsx:110
msgid "Security Step Required"
msgstr "보안 단계 필요"
@@ -3762,14 +3914,15 @@ 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:40
-msgid "See what's next"
-msgstr "See what's next"
-
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
msgstr "{item} 선택"
@@ -3782,6 +3935,14 @@ msgstr "계정 선택"
msgid "Select from an existing account"
msgstr "기존 계정에서 선택"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr "GIF 선택"
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr "GIF \"{0}\" 선택"
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
msgstr "언어 선택"
@@ -3798,7 +3959,7 @@ msgstr "{numItems}개 중 {i}번째 옵션을 선택합니다"
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 "신고할 검토 서비스를 선택하세요."
@@ -3822,7 +3983,7 @@ msgstr "구독하는 피드에 포함할 언어를 선택합니다. 선택하지
msgid "Select your app language for the default text to display in the app."
msgstr "앱에 표시되는 기본 텍스트 언어를 선택합니다."
-#: src/screens/Signup/StepInfo/index.tsx:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
msgstr "생년월일을 선택하세요"
@@ -3842,8 +4003,8 @@ msgstr "기본 알고리즘 피드를 선택하세요"
msgid "Select your secondary algorithmic feeds"
msgstr "보조 알고리즘 피드를 선택하세요"
-#: src/view/com/modals/VerifyEmail.tsx:202
-#: src/view/com/modals/VerifyEmail.tsx:204
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "확인 이메일 보내기"
@@ -3856,13 +4017,13 @@ msgctxt "action"
msgid "Send Email"
msgstr "이메일 보내기"
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: 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 "신고 보내기"
@@ -3870,6 +4031,11 @@ msgstr "신고 보내기"
msgid "Send report to {0}"
msgstr "{0} 님에게 신고 보내기"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
+msgstr ""
+
#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr "계정 삭제를 위한 확인 코드가 포함된 이메일을 전송합니다"
@@ -3914,23 +4080,23 @@ msgstr "계정 설정하기"
msgid "Sets Bluesky username"
msgstr "Bluesky 사용자 이름을 설정합니다"
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
msgstr "색상 테마를 어두움으로 설정합니다"
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
msgstr "색상 테마를 밝음으로 설정합니다"
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
msgstr "색상 테마를 시스템 설정에 맞춥니다"
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
msgstr "어두운 테마를 완전히 어둡게 설정합니다"
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
msgstr "어두운 테마를 살짝 밝게 설정합니다"
@@ -3950,11 +4116,11 @@ msgstr "이미지 비율을 세로로 길게 설정합니다"
msgid "Sets image aspect ratio to wide"
msgstr "이미지 비율을 가로로 길게 설정합니다"
-#: src/Navigation.tsx:139
-#: src/view/screens/Settings/index.tsx:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "설정"
@@ -3973,38 +4139,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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: 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/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
msgstr "무시하고 공유"
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: 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 ""
+msgstr "링크 공유"
#: src/view/com/modals/LinkWarning.tsx:92
msgid "Shares the linked website"
-msgstr ""
+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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr "표시"
@@ -4026,17 +4192,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:200
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr "{0} 님과 비슷한 팔로우 표시"
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr "더 보기"
@@ -4093,7 +4255,7 @@ msgstr "팔로우 중 피드에 재게시 표시"
msgid "Show the content"
msgstr "콘텐츠 표시"
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "사용자 표시"
@@ -4109,33 +4271,27 @@ msgstr "경고 표시 및 피드에서 필터링"
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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr "로그인"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:82
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:118
-#~ msgid "Sign In"
-#~ msgstr "로그인"
-
#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "{0}(으)로 로그인"
@@ -4144,24 +4300,32 @@ msgstr "{0}(으)로 로그인"
msgid "Sign in as..."
msgstr "로그인"
-#: src/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: 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 "Bluesky에 로그인하거나 새 계정 만들기"
+
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "로그아웃"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
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 "가입 또는 로그인하여 대화에 참여하세요"
@@ -4170,7 +4334,7 @@ msgstr "가입 또는 로그인하여 대화에 참여하세요"
msgid "Sign-in Required"
msgstr "로그인 필요"
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "로그인한 계정"
@@ -4178,10 +4342,6 @@ msgstr "로그인한 계정"
msgid "Signed in as @{0}"
msgstr "@{0}(으)로 로그인했습니다"
-#: src/view/com/modals/SwitchAccount.tsx:71
-#~ msgid "Signs {0} out of Bluesky"
-#~ msgstr "Bluesky에서 {0}을(를) 로그아웃합니다"
-
#: src/screens/Onboarding/StepInterests/index.tsx:239
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
@@ -4198,11 +4358,11 @@ msgstr "소프트웨어 개발"
#: src/components/ReportDialog/index.tsx:59
#: src/screens/Moderation/index.tsx:114
-#: src/screens/Profile/Sections/Labels.tsx:76
+#: src/screens/Profile/Sections/Labels.tsx:87
msgid "Something went wrong, please try again."
msgstr "뭔가 잘못되었습니다. 다시 시도해 주세요."
-#: src/App.native.tsx:66
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr "죄송합니다. 세션이 만료되었습니다. 다시 로그인해 주세요."
@@ -4234,20 +4394,20 @@ msgstr "스포츠"
msgid "Square"
msgstr "정사각형"
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "상태 페이지"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
msgstr ""
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
msgid "Storage cleared, you need to restart the app now."
msgstr "스토리지가 지워졌으며 지금 앱을 다시 시작해야 합니다."
-#: src/Navigation.tsx:211
-#: src/view/screens/Settings/index.tsx:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr "스토리북"
@@ -4256,15 +4416,15 @@ msgstr "스토리북"
msgid "Submit"
msgstr "확인"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "구독"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: src/screens/Profile/Sections/Labels.tsx:191
msgid "Subscribe to @{0} to use these labels:"
msgstr "이 라벨을 사용하려면 @{0} 님을 구독하세요:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
msgstr "라벨러 구독"
@@ -4273,15 +4433,15 @@ msgstr "라벨러 구독"
msgid "Subscribe to the {0} feed"
msgstr "{0} 피드 구독하기"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: 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:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "팔로우 추천"
@@ -4293,30 +4453,30 @@ msgstr "나를 위한 추천"
msgid "Suggestive"
msgstr "외설적"
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: 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
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "계정 전환"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr "{0}(으)로 전환"
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
msgid "Switches the account you are logged in to"
msgstr "로그인한 계정을 전환합니다"
-#: src/view/screens/Settings/index.tsx:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr "시스템"
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "시스템 로그"
@@ -4344,11 +4504,11 @@ msgstr "기술"
msgid "Terms"
msgstr "이용약관"
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "서비스 이용약관"
@@ -4366,7 +4526,7 @@ msgstr "글"
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 "감사합니다. 신고를 전송했습니다."
@@ -4374,11 +4534,11 @@ msgstr "감사합니다. 신고를 전송했습니다."
msgid "That contains the following:"
msgstr "텍스트 파일 내용:"
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "이 핸들은 이미 사용 중입니다."
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "차단을 해제하면 이 계정이 나와 상호작용할 수 있게 됩니다."
@@ -4428,8 +4588,8 @@ msgstr "서비스 이용약관을 다음으로 이동했습니다:"
msgid "There are many feeds to try:"
msgstr "시도해 볼 만한 피드:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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 "서버에 연결하는 동안 문제가 발생했습니다. 인터넷 연결을 확인한 후 다시 시도하세요."
@@ -4437,15 +4597,23 @@ msgstr "서버에 연결하는 동안 문제가 발생했습니다. 인터넷
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr "이 피드를 삭제하는 동안 문제가 발생했습니다. 인터넷 연결을 확인한 후 다시 시도하세요."
-#: src/view/screens/ProfileFeed.tsx:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:213
+#~ msgid "There was an issue connecting to GIPHY."
+#~ msgstr "GIPHY에 연결하는 동안 문제가 발생했습니다."
+
+#: src/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+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 "서버에 연결하는 동안 문제가 발생했습니다"
@@ -4468,12 +4636,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 "신고를 전송하는 동안 문제가 발생했습니다. 인터넷 연결을 확인해 주세요."
@@ -4485,9 +4653,9 @@ msgstr "설정을 서버와 동기화하는 동안 문제가 발생했습니다"
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/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -4499,14 +4667,15 @@ 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 "문제가 발생했습니다. 인터넷 연결을 확인한 후 다시 시도하세요."
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "애플리케이션에 예기치 않은 문제가 발생했습니다. 이런 일이 발생하면 저희에게 알려주세요!"
@@ -4559,9 +4728,9 @@ msgstr "이 기능은 베타 버전입니다. 저장소 내보내기에 대한
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:477
-#: 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 "이 피드는 비어 있습니다."
@@ -4573,7 +4742,7 @@ msgstr "이 피드는 비어 있습니다. 더 많은 사용자를 팔로우하
msgid "This information is not shared with other users."
msgstr "이 정보는 다른 사용자와 공유되지 않습니다."
-#: src/view/com/modals/VerifyEmail.tsx:119
+#: src/view/com/modals/VerifyEmail.tsx:127
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "이는 이메일을 변경하거나 비밀번호를 재설정해야 할 때 중요한 정보입니다."
@@ -4581,7 +4750,7 @@ msgstr "이는 이메일을 변경하거나 비밀번호를 재설정해야 할
msgid "This label was applied by {0}."
msgstr "이 라벨은 {0}이(가) 적용했습니다."
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: src/screens/Profile/Sections/Labels.tsx:178
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
msgstr "이 라벨러는 라벨을 게시하지 않았으며 활성화되어 있지 않을 수 있습니다."
@@ -4589,7 +4758,7 @@ msgstr "이 라벨러는 라벨을 게시하지 않았으며 활성화되어 있
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 "이 리스트는 비어 있습니다."
@@ -4601,16 +4770,16 @@ msgstr "이 검토 서비스는 사용할 수 없습니다. 자세한 내용은
msgid "This name is already in use"
msgstr "이 이름은 이미 사용 중입니다"
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr "이 게시물은 삭제되었습니다."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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:352
msgid "This post will be hidden from feeds."
msgstr "이 게시물을 피드에서 숨깁니다."
@@ -4659,12 +4828,12 @@ msgstr "이 경고는 미디어가 첨부된 게시물에만 사용할 수 있
msgid "This will delete {0} from your muted words. You can always add it back later."
msgstr "뮤트한 단어에서 {0}이(가) 삭제됩니다. 나중에 언제든지 다시 추가할 수 있습니다."
-#: src/view/screens/Settings/index.tsx:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
msgstr "스레드 설정"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "스레드 설정"
@@ -4672,10 +4841,14 @@ msgstr "스레드 설정"
msgid "Threaded Mode"
msgstr "스레드 모드"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr "스레드 설정"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr ""
+
#: src/components/ReportDialog/SelectLabelerView.tsx:33
msgid "To whom would you like to send this report?"
msgstr "이 신고를 누구에게 보내시겠습니까?"
@@ -4692,14 +4865,19 @@ msgstr "드롭다운 열기 및 닫기"
msgid "Toggle to enable or disable adult content"
msgstr "성인 콘텐츠 활성화 또는 비활성화 전환"
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr "인기"
+
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "변형"
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "번역"
@@ -4708,35 +4886,39 @@ msgctxt "action"
msgid "Try again"
msgstr "다시 시도"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr ""
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
msgstr "유형:"
-#: src/view/screens/ProfileList.tsx:478
+#: 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/screens/Login/ForgotPasswordForm.tsx:74
#: src/screens/Login/index.tsx:78
-#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: 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:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr "차단 해제"
@@ -4746,7 +4928,7 @@ msgstr "차단 해제"
msgid "Unblock Account"
msgstr "계정 차단 해제"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
msgstr "계정을 차단 해제하시겠습니까?"
@@ -4759,7 +4941,7 @@ msgid "Undo repost"
msgstr "재게시 취소"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
msgstr "언팔로우"
@@ -4768,7 +4950,7 @@ msgctxt "action"
msgid "Unfollow"
msgstr "언팔로우"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
msgid "Unfollow {0}"
msgstr "{0} 님을 언팔로우"
@@ -4777,16 +4959,16 @@ msgstr "{0} 님을 언팔로우"
msgid "Unfollow Account"
msgstr "계정 언팔로우"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "좋아요 취소"
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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 "언뮤트"
@@ -4803,29 +4985,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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "스레드 언뮤트"
-#: src/view/screens/ProfileFeed.tsx:295
-#: 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:292
+#: 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:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
msgstr "구독 취소"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
msgstr "이 라벨러 구독 취소하기"
@@ -4849,20 +5031,20 @@ msgstr "업데이트 중…"
msgid "Upload a text file to:"
msgstr "텍스트 파일 업로드 경로:"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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:343
+#: 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:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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"
@@ -4932,13 +5114,13 @@ msgstr "나를 차단한 사용자"
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 "내 사용자 리스트"
@@ -4954,11 +5136,11 @@ msgstr "사용자 리스트 업데이트됨"
msgid "User Lists"
msgstr "사용자 리스트"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "사용자 이름 또는 이메일 주소"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "사용자"
@@ -4982,15 +5164,15 @@ msgstr "값:"
msgid "Verify {0}"
msgstr "{0} 확인"
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "이메일 인증"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "내 이메일 인증하기"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "내 이메일 인증하기"
@@ -4999,11 +5181,11 @@ msgstr "내 이메일 인증하기"
msgid "Verify New Email"
msgstr "새 이메일 인증"
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr "이메일 인증하기"
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
msgstr "버전 {0}"
@@ -5019,11 +5201,11 @@ msgstr "{0} 님의 아바타를 봅니다"
msgid "View debug entry"
msgstr "디버그 항목 보기"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
msgstr "세부 정보 보기"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
msgstr "저작권 위반 신고에 대한 세부 정보 보기"
@@ -5035,6 +5217,8 @@ msgstr "전체 스레드 보기"
msgid "View information about these labels"
msgstr "이 라벨에 대한 정보 보기"
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "프로필 보기"
@@ -5047,7 +5231,7 @@ msgstr "아바타 보기"
msgid "View the labeling service provided by @{0}"
msgstr "{0} 님이 제공하는 라벨링 서비스 보기"
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
msgstr "이 피드를 좋아하는 사용자 보기"
@@ -5071,11 +5255,7 @@ msgstr "콘텐츠 경고"
msgid "Warn content and filter from feeds"
msgstr "콘텐츠 경고 및 피드에서 필터링"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:140
-#~ msgid "We also think you'll like \"For You\" by Skygaze:"
-#~ msgstr "Skygaze의 \"For You\"를 사용해 볼 수도 있습니다:"
-
-#: src/screens/Hashtag.tsx:133
+#: src/screens/Hashtag.tsx:210
msgid "We couldn't find any results for that hashtag."
msgstr "해당 해시태그에 대한 결과를 찾을 수 없습니다."
@@ -5119,11 +5299,11 @@ msgstr "계정이 준비되면 알려드리겠습니다."
msgid "We'll use this to help customize your experience."
msgstr "이를 통해 사용자 환경을 맞춤 설정할 수 있습니다."
-#: src/screens/Signup/index.tsx:130
+#: 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}에게 문의하세요."
@@ -5131,16 +5311,16 @@ msgstr "죄송하지만 이 리스트를 불러올 수 없습니다. 이 문제
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:256
+#: src/view/screens/Search/Search.tsx:323
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/components/Lists.tsx:197
#: 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:321
+#: 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개에 도달했습니다."
@@ -5152,9 +5332,9 @@ msgstr "<0>Bluesky0>에 오신 것을 환영합니다"
msgid "What are your interests?"
msgstr "어떤 관심사가 있으신가요?"
-#: src/view/com/auth/SplashScreen.tsx:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr "무슨 일이 일어나고 있나요?"
@@ -5195,11 +5375,11 @@ msgstr "이 사용자를 검토해야 하는 이유는 무엇인가요?"
msgid "Wide"
msgstr "가로"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "게시물 작성"
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "답글 작성하기"
@@ -5248,15 +5428,15 @@ msgstr "팔로워가 없습니다."
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 "저장된 피드가 없습니다."
@@ -5294,16 +5474,16 @@ 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
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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 "아직 어떤 계정도 차단하지 않았습니다. 계정을 차단하려면 해당 계정의 프로필로 이동하여 계정 메뉴에서 \"계정 차단\"을 선택하세요."
@@ -5311,7 +5491,7 @@ msgstr "아직 어떤 계정도 차단하지 않았습니다. 계정을 차단
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
+#: 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 "아직 어떤 계정도 뮤트하지 않았습니다. 계정을 뮤트하려면 해당 계정의 프로필로 이동하여 계정 메뉴에서 \"계정 뮤트\"를 선택하세요."
@@ -5331,15 +5511,15 @@ msgstr "가입하려면 만 13세 이상이어야 합니다."
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 "이제 이 스레드에 대한 알림을 받습니다"
@@ -5370,7 +5550,7 @@ msgstr "이 글에서 단어 또는 태그를 숨기도록 설정했습니다."
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr "피드 끝에 도달했습니다! 팔로우할 계정을 더 찾아보세요."
-#: src/screens/Signup/index.tsx:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "내 계정"
@@ -5382,7 +5562,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/screens/Signup/StepInfo/index.tsx:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "생년월일"
@@ -5404,7 +5584,7 @@ msgstr "이메일이 잘못된 것 같습니다."
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
+#: src/view/com/modals/VerifyEmail.tsx:122
msgid "Your email has not yet been verified. This is an important security step which we recommend."
msgstr "이메일이 아직 인증되지 않았습니다. 이는 중요한 보안 단계이므로 권장하는 사항입니다."
@@ -5412,7 +5592,7 @@ msgstr "이메일이 아직 인증되지 않았습니다. 이는 중요한 보
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "팔로우 중 피드가 비어 있습니다! 더 많은 사용자를 팔로우하여 무슨 일이 일어나고 있는지 확인하세요."
-#: src/screens/Signup/StepHandle.tsx:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "내 전체 핸들:"
@@ -5428,7 +5608,7 @@ msgstr "뮤트한 단어"
msgid "Your password has been changed successfully!"
msgstr "비밀번호를 성공적으로 변경했습니다."
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr "게시물을 게시했습니다"
@@ -5438,14 +5618,14 @@ msgstr "게시물을 게시했습니다"
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "게시물, 좋아요, 차단 목록은 공개됩니다. 뮤트 목록은 공개되지 않습니다."
-#: src/view/screens/Settings/index.tsx:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "내 프로필"
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr "내 답글을 게시했습니다"
-#: src/screens/Signup/index.tsx:152
+#: 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 6fcc18894a..083c238150 100644
--- a/src/locale/locales/pt-BR/messages.po
+++ b/src/locale/locales/pt-BR/messages.po
@@ -8,20 +8,21 @@ msgstr ""
"Language: pt-BR\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-03-22 11:51\n"
+"PO-Revision-Date: 2024-04-18 15:23\n"
"Last-Translator: gildaswise\n"
"Language-Team: maisondasilva, MightyLoggor, gildaswise, gleydson, faeriarum\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/view/com/modals/VerifyEmail.tsx:142
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr "(sem email)"
+#: src/components/ProfileHoverCard/index.web.tsx:438
#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} seguindo"
-#: src/view/shell/Drawer.tsx:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} não lidas"
@@ -33,15 +34,20 @@ msgstr "<0/> membros"
msgid "<0>{0}0> following"
msgstr "<0>{0}0> seguindo"
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr "<0>{followers} 0><1>{pluralizedFollowers}1>"
+
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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>"
@@ -49,39 +55,44 @@ msgstr "<0>Siga alguns0><2>Usuários2><1>recomendados1>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Bem-vindo ao0><1>Bluesky1>"
-#: src/screens/Profile/Header/Handle.tsx:42
+#: 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/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr ""
-#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:649
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
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:300
-#: src/view/screens/Settings/index.tsx:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "Acessibilidade"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr ""
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr ""
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
msgstr "conta"
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "Conta"
@@ -114,7 +125,7 @@ msgstr "Configurações da conta"
msgid "Account removed from quick access"
msgstr "Conta removida do acesso rápido"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Conta desbloqueada"
@@ -131,7 +142,7 @@ msgstr "Conta dessilenciada"
#: 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:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Adicionar"
@@ -139,13 +150,13 @@ msgstr "Adicionar"
msgid "Add a content warning"
msgstr "Adicionar um aviso de conteúdo"
-#: src/view/screens/ProfileList.tsx:817
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Adicionar um usuário a esta lista"
-#: src/components/dialogs/SwitchAccount.tsx:55
-#: src/view/screens/Settings/index.tsx:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr "Adicionar conta"
@@ -161,22 +172,13 @@ msgstr "Adicionar texto alternativo"
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:467
-msgid "Add link card"
-msgstr "Adicionar prévia de link"
+#~ msgid "Add link card"
+#~ msgstr "Adicionar prévia de link"
#: src/view/com/composer/Composer.tsx:472
-msgid "Add link card:"
-msgstr "Adicionar prévia de link:"
+#~ msgid "Add link card:"
+#~ msgstr "Adicionar prévia de link:"
#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
@@ -222,20 +224,16 @@ msgstr "Ajuste o número de curtidas para que uma resposta apareça no seu feed.
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/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
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."
@@ -253,6 +251,7 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "Texto alternativo"
@@ -260,7 +259,8 @@ msgstr "Texto alternativo"
msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone."
msgstr "O texto alternativo descreve imagens para usuários cegos e com baixa visão, além de dar contexto a todos."
-#: src/view/com/modals/VerifyEmail.tsx:124
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
msgstr "Um email foi enviado para {0}. Ele inclui um código de confirmação que você pode inserir abaixo."
@@ -268,10 +268,16 @@ 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/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr ""
+
#: 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
@@ -279,7 +285,7 @@ msgstr "Outro problema"
msgid "An issue occurred, please try again."
msgstr "Ocorreu um problema, por favor tente novamente."
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "e"
@@ -288,6 +294,10 @@ msgstr "e"
msgid "Animals"
msgstr "Animais"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
msgstr "Comportamento anti-social"
@@ -308,17 +318,13 @@ msgstr "O nome da Senha de Aplicativo só pode conter letras, números, traços
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:695
+#: src/view/screens/Settings/index.tsx:647
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:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "Senhas de Aplicativos"
@@ -331,28 +337,11 @@ msgstr "Contestar"
msgid "Appeal \"{0}\" label"
msgstr "Contestar rótulo \"{0}\""
-#: 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/view/com/modals/AppealLabel.tsx:65
-#~ msgid "Appeal Content Warning"
-#~ msgstr "Contestar aviso de conteúdo"
-
#: src/components/moderation/LabelsOnMeDialog.tsx:192
msgid "Appeal submitted."
msgstr "Contestação enviada."
-#: src/view/com/util/moderation/LabelInfo.tsx:52
-#~ msgid "Appeal this decision"
-#~ msgstr "Contestar esta decisão"
-
-#: src/view/com/util/moderation/LabelInfo.tsx:56
-#~ msgid "Appeal this decision."
-#~ msgstr "Contestar esta decisão."
-
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "Aparência"
@@ -364,7 +353,7 @@ msgstr "Tem certeza de que deseja excluir a senha do aplicativo \"{name}\"?"
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
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr "Tem certeza que deseja descartar este rascunho?"
@@ -372,10 +361,6 @@ msgstr "Tem certeza que deseja descartar este rascunho?"
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>?"
@@ -388,9 +373,9 @@ msgstr "Arte"
msgid "Artistic or non-erotic nudity."
msgstr "Nudez artística ou não erótica."
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
-msgstr ""
+msgstr "No mínimo 3 caracteres"
#: src/components/moderation/LabelsOnMeDialog.tsx:246
#: src/components/moderation/LabelsOnMeDialog.tsx:247
@@ -398,26 +383,21 @@ msgstr ""
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr "Voltar"
-#: src/view/com/post-thread/PostThread.tsx:480
-#~ msgctxt "action"
-#~ msgid "Back"
-#~ msgstr "Voltar"
-
#: 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:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "Básicos"
@@ -425,11 +405,11 @@ msgstr "Básicos"
msgid "Birthday"
msgstr "Aniversário"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr "Aniversário:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
msgstr "Bloquear"
@@ -443,25 +423,21 @@ msgstr "Bloquear Conta"
msgid "Block Account?"
msgstr "Bloquear Conta?"
-#: src/view/screens/ProfileList.tsx:530
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Bloquear contas"
-#: 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 "Lista de bloqueio"
-#: src/view/screens/ProfileList.tsx:629
+#: 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:55
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr "Bloqueado"
@@ -469,8 +445,8 @@ msgstr "Bloqueado"
msgid "Blocked accounts"
msgstr "Contas bloqueadas"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "Contas Bloqueadas"
@@ -478,7 +454,7 @@ msgstr "Contas Bloqueadas"
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:120
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."
@@ -486,11 +462,11 @@ msgstr "Contas bloqueadas não podem te responder, mencionar ou interagir com vo
msgid "Blocked post."
msgstr "Post bloqueado."
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: 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: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 "Bloqueios são públicos. Contas bloqueadas não podem te responder, mencionar ou interagir com você."
@@ -498,12 +474,10 @@ msgstr "Bloqueios são públicos. Contas bloqueadas não podem te responder, men
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/HomeLoggedOutCTA.tsx:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blog"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -528,10 +502,6 @@ msgstr "Bluesky é aberto."
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/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."
@@ -548,12 +518,7 @@ msgstr "Desfocar imagens e filtrar dos feeds"
msgid "Books"
msgstr "Livros"
-#: src/view/screens/Settings/index.tsx:893
-#~ msgid "Build version {0} {1}"
-#~ msgstr "Versão {0} {1}"
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Empresarial"
@@ -581,7 +546,7 @@ msgstr "Ao criar uma conta, você concorda com os {els}."
msgid "by you"
msgstr "por você"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "Câmera"
@@ -593,8 +558,8 @@ msgstr "Só pode conter letras, números, espaços, traços e sublinhados. Deve
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -609,9 +574,9 @@ msgstr "Só pode conter letras, números, espaços, traços e sublinhados. Deve
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Cancelar"
@@ -649,42 +614,38 @@ msgstr "Cancelar citação"
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/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
msgstr "Trocar"
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "Alterar"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "Alterar usuário"
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "Alterar Usuário"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "Alterar meu email"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr "Alterar senha"
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr "Alterar Senha"
@@ -692,10 +653,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"
@@ -705,14 +662,18 @@ 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/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr ""
+
#: 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:"
@@ -721,10 +682,6 @@ 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"
@@ -742,36 +699,36 @@ msgstr "Escolha os algoritmos que fazem sentido para você com os feeds personal
msgid "Choose your main feeds"
msgstr "Escolha seus feeds principais"
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Escolha sua senha"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr "Limpar todos os dados de armazenamento legados"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
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:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr "Limpar todos os dados de armazenamento"
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
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:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "Limpar busca"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
msgstr "Limpa todos os dados antigos"
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
msgstr "Limpa todos os dados antigos"
@@ -783,21 +740,22 @@ 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:192
-msgid "Click here to open tag menu for #{tag}"
-msgstr "Clique aqui para abrir o menu da tag #{tag}"
+#: src/components/RichText.tsx:198
+#~ msgid "Click here to open tag menu for #{tag}"
+#~ msgstr "Clique aqui para abrir o menu da tag #{tag}"
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
msgstr "Clima e tempo"
+#: src/components/dialogs/GifSelect.tsx:300
#: src/view/com/modals/ChangePassword.tsx:267
#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "Fechar"
-#: src/components/Dialog/index.web.tsx:106
-#: src/components/Dialog/index.web.tsx:218
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr "Fechar janela ativa"
@@ -809,6 +767,14 @@ msgstr "Fechar alerta"
msgid "Close bottom drawer"
msgstr "Fechar parte inferior"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr ""
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Fechar imagem"
@@ -817,7 +783,7 @@ msgstr "Fechar imagem"
msgid "Close image viewer"
msgstr "Fechar visualizador de imagens"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr "Fechar o painel de navegação"
@@ -826,7 +792,7 @@ msgstr "Fechar o painel de navegação"
msgid "Close this dialog"
msgstr "Fechar esta janela"
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr "Fecha barra de navegação inferior"
@@ -834,7 +800,7 @@ msgstr "Fecha barra de navegação inferior"
msgid "Closes password update alert"
msgstr "Fecha alerta de troca de senha"
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr "Fecha o editor de post e descarta o rascunho"
@@ -842,7 +808,7 @@ msgstr "Fecha o editor de post e descarta o rascunho"
msgid "Closes viewer for header image"
msgstr "Fechar o visualizador de banner"
-#: src/view/com/notifications/FeedItem.tsx:321
+#: 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"
@@ -854,7 +820,7 @@ msgstr "Comédia"
msgid "Comics"
msgstr "Quadrinhos"
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Diretrizes da Comunidade"
@@ -863,11 +829,11 @@ msgstr "Diretrizes da Comunidade"
msgid "Complete onboarding and start using your account"
msgstr "Completar e começar a usar sua conta"
-#: src/screens/Signup/index.tsx:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "Complete o captcha"
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Escreva posts de até {MAX_GRAPHEME_LENGTH} caracteres"
@@ -881,7 +847,7 @@ msgstr "Configure o filtro de conteúdo por categoria: {0}"
#: src/components/moderation/LabelPreference.tsx:81
msgid "Configure content filtering setting for category: {name}"
-msgstr ""
+msgstr "Configure o filtro de conteúdo por categoria: {name}"
#: src/components/moderation/LabelPreference.tsx:244
msgid "Configured in <0>moderation settings0>."
@@ -890,19 +856,15 @@ 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
+#: src/view/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
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"
@@ -916,10 +878,6 @@ msgstr "Confirmar configurações de idioma de conteúdo"
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:"
@@ -928,22 +886,21 @@ msgstr "Confirme sua idade:"
msgid "Confirm your birthdate"
msgstr "Confirme sua data de nascimento"
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
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/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "Conectando..."
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Contatar suporte"
@@ -955,14 +912,6 @@ msgstr "conteúdo"
msgid "Content Blocked"
msgstr "Conteúdo bloqueado"
-#: src/view/screens/Moderation.tsx:83
-#~ msgid "Content filtering"
-#~ msgstr "Filtragem do conteúdo"
-
-#: src/view/com/modals/ContentFilteringSettings.tsx:44
-#~ msgid "Content Filtering"
-#~ msgstr "Filtragem do Conteúdo"
-
#: src/screens/Moderation/index.tsx:285
msgid "Content filters"
msgstr "Filtros de conteúdo"
@@ -997,21 +946,21 @@ msgstr "Fundo do menu, clique para fechá-lo."
#: 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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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/components/AccountList.tsx:108
msgid "Continue as {0} (currently signed in)"
-msgstr ""
+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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Continuar para o próximo passo"
@@ -1032,17 +981,21 @@ msgstr "Culinária"
msgid "Copied"
msgstr "Copiado"
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
msgid "Copied build version to clipboard"
msgstr "Versão do aplicativo copiada"
#: 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:158
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "Copiado"
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr "Copiado!"
+
#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr "Copia senha de aplicativo"
@@ -1055,25 +1008,26 @@ msgstr "Copiar"
msgid "Copy {0}"
msgstr "Copiar {0}"
-#: src/view/screens/ProfileList.tsx:388
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr "Copiar código"
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr "Copiar link da lista"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:228
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
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:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "Copiar texto do post"
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Política de Direitos Autorais"
@@ -1082,35 +1036,38 @@ msgstr "Política de Direitos Autorais"
msgid "Could not load feed"
msgstr "Não foi possível carregar o feed"
-#: src/view/screens/ProfileList.tsx:907
+#: 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:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr "Criar uma nova conta do Bluesky"
-#: src/screens/Signup/index.tsx:129
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Criar Conta"
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr "Criar conta"
+
#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr "Criar Senha de Aplicativo"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: 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/components/ReportDialog/SelectReportOptionView.tsx:93
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
msgid "Create report for {0}"
msgstr "Criar denúncia para {0}"
@@ -1118,17 +1075,9 @@ msgstr "Criar denúncia para {0}"
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: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}"
+#~ 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}"
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
@@ -1144,16 +1093,16 @@ msgid "Custom domain"
msgstr "Domínio personalizado"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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."
-#: src/view/screens/PreferencesExternalEmbeds.tsx:55
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr "Configurar mídia de sites externos."
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr "Escuro"
@@ -1161,15 +1110,15 @@ msgstr "Escuro"
msgid "Dark mode"
msgstr "Modo escuro"
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr "Modo Escuro"
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
-msgstr ""
+msgstr "Data de nascimento"
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
msgstr "Testar Moderação"
@@ -1177,13 +1126,13 @@ msgstr "Testar Moderação"
msgid "Debug panel"
msgstr "Painel de depuração"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: src/view/screens/AppPasswords.tsx:268
-#: src/view/screens/ProfileList.tsx:613
+#: src/view/screens/ProfileList.tsx:615
msgid "Delete"
msgstr "Excluir"
-#: src/view/screens/Settings/index.tsx:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "Excluir a conta"
@@ -1199,7 +1148,7 @@ msgstr "Excluir senha de aplicativo"
msgid "Delete app password?"
msgstr "Excluir senha de aplicativo?"
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Excluir Lista"
@@ -1207,24 +1156,24 @@ msgstr "Excluir Lista"
msgid "Delete my account"
msgstr "Excluir minha conta"
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
msgid "Delete My Account…"
msgstr "Excluir minha conta…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:302
-#: src/view/com/util/forms/PostDropdownBtn.tsx:304
+#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
msgid "Delete post"
msgstr "Excluir post"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:610
msgid "Delete this list?"
msgstr "Excluir esta lista?"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:314
+#: src/view/com/util/forms/PostDropdownBtn.tsx:340
msgid "Delete this post?"
msgstr "Excluir este post?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:64
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Excluído"
@@ -1239,18 +1188,34 @@ msgstr "Post excluído."
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
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr "Você gostaria de dizer alguma coisa?"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr "Menos escuro"
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr ""
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr ""
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+#~ msgid "Disable haptics"
+#~ msgstr "Desabilitar feedback tátil"
+
+#: src/view/screens/Settings/index.tsx:697
+#~ msgid "Disable vibrations"
+#~ msgstr "Desabilitar vibrações"
+
#: src/lib/moderation/useLabelBehaviorDescription.ts:32
#: src/lib/moderation/useLabelBehaviorDescription.ts:42
#: src/lib/moderation/useLabelBehaviorDescription.ts:68
@@ -1258,15 +1223,11 @@ msgstr "Menos escuro"
msgid "Disabled"
msgstr "Desabilitado"
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr "Descartar"
-#: src/view/com/composer/Composer.tsx:145
-#~ msgid "Discard draft"
-#~ msgstr "Descartar rascunho"
-
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
msgstr "Descartar rascunho?"
@@ -1280,7 +1241,7 @@ msgstr "Desencorajar aplicativos a mostrar minha conta para usuários desautenti
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"
@@ -1300,9 +1261,9 @@ msgstr "Painel DNS"
msgid "Does not include nudity."
msgstr "Não inclui nudez."
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
-msgstr ""
+msgstr "Não começa ou termina com um hífen"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "Domain Value"
@@ -1312,10 +1273,6 @@ msgstr "Domínio"
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
@@ -1334,7 +1291,7 @@ msgstr "Domínio verificado!"
msgid "Done"
msgstr "Feito"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: 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
@@ -1351,20 +1308,12 @@ msgstr "Feito"
msgid "Done{extraText}"
msgstr "Feito{extraText}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:46
-#~ 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"
msgstr "Baixar arquivo CAR"
-#: src/view/com/composer/text-input/TextInput.web.tsx:249
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr "Solte para adicionar imagens"
@@ -1417,7 +1366,7 @@ msgctxt "action"
msgid "Edit"
msgstr "Editar"
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
msgstr "Editar avatar"
@@ -1427,7 +1376,7 @@ msgstr "Editar avatar"
msgid "Edit image"
msgstr "Editar imagem"
-#: src/view/screens/ProfileList.tsx:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Editar detalhes da lista"
@@ -1435,9 +1384,9 @@ msgstr "Editar detalhes da lista"
msgid "Edit Moderation List"
msgstr "Editar lista de moderação"
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Editar Meus Feeds"
@@ -1445,18 +1394,18 @@ msgstr "Editar Meus Feeds"
msgid "Edit my profile"
msgstr "Editar meu perfil"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "Editar perfil"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
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"
@@ -1481,6 +1430,10 @@ msgstr "Educação"
msgid "Email"
msgstr "E-mail"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr ""
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Endereço de e-mail"
@@ -1494,14 +1447,28 @@ msgstr "E-mail atualizado"
msgid "Email Updated"
msgstr "E-mail Atualizado"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr "E-mail verificado"
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
msgid "Email:"
msgstr "E-mail:"
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr "Código HTML para incorporação"
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+msgid "Embed post"
+msgstr "Incorporar post"
+
+#: 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 "Incorpore este post no seu site. Basta copiar o trecho abaixo e colar no código HTML do seu site."
+
#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "Habilitar somente {0}"
@@ -1522,13 +1489,9 @@ msgstr "Habilitar conteúdo adulto nos feeds"
#: src/components/dialogs/EmbedConsent.tsx:82
#: src/components/dialogs/EmbedConsent.tsx:89
msgid "Enable external media"
-msgstr ""
+msgstr "Habilitar mídia externa"
-#: src/view/com/modals/EmbedConsent.tsx:97
-#~ msgid "Enable External Media"
-#~ msgstr "Habilitar Mídia Externa"
-
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr "Habilitar mídia para"
@@ -1538,13 +1501,13 @@ msgstr "Ative esta configuração para ver respostas apenas entre as pessoas que
#: src/components/dialogs/EmbedConsent.tsx:94
msgid "Enable this source only"
-msgstr ""
+msgstr "Habilitar mídia somente para este site"
#: src/screens/Moderation/index.tsx:339
msgid "Enabled"
msgstr "Habilitado"
-#: src/screens/Profile/Sections/Feed.tsx:84
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Fim do feed"
@@ -1554,14 +1517,14 @@ msgstr "Insira um nome para esta Senha de Aplicativo"
#: src/screens/Login/SetNewPasswordForm.tsx:139
msgid "Enter a password"
-msgstr ""
+msgstr "Insira uma senha"
#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
msgid "Enter a word or tag"
msgstr "Digite uma palavra ou tag"
-#: src/view/com/modals/VerifyEmail.tsx:105
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr "Insira o código de confirmação"
@@ -1581,12 +1544,8 @@ msgstr "Digite o e-mail que você usou para criar a sua conta. Nós lhe enviarem
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/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Digite seu endereço de e-mail"
@@ -1606,7 +1565,7 @@ msgstr "Digite seu nome de usuário e senha"
msgid "Error receiving captcha response."
msgstr "Não foi possível processar o captcha."
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Erro:"
@@ -1639,16 +1598,12 @@ msgstr "Sair do visualizador de imagem"
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: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"
@@ -1660,12 +1615,12 @@ msgstr "Imagens explícitas ou potencialmente perturbadoras."
msgid "Explicit sexual images."
msgstr "Imagens sexualmente explícitas."
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr "Exportar meus dados"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr "Exportar Meus Dados"
@@ -1675,17 +1630,17 @@ msgid "External Media"
msgstr "Mídia Externa"
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:275
-#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr "Preferências de Mídia Externa"
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr "Preferências de mídia externa"
@@ -1698,12 +1653,16 @@ msgstr "Não foi possível criar senha de aplicativo."
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:125
+#: 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/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+msgstr ""
+
+#: 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"
@@ -1711,7 +1670,7 @@ msgstr "Falha ao carregar feeds recomendados"
msgid "Failed to save image: {0}"
msgstr "Não foi possível salvar a imagem: {0}"
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr "Feed"
@@ -1719,35 +1678,31 @@ msgstr "Feed"
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:314
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Comentários"
-#: src/Navigation.tsx:464
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: 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."
@@ -1773,13 +1728,17 @@ msgstr "Finalizando"
msgid "Find accounts to follow"
msgstr "Encontre contas para seguir"
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
-msgstr "Encontrar usuários no Bluesky"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:589
+#~ msgid "Find users on Bluesky"
+#~ msgstr "Encontrar usuários no Bluesky"
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr "Encontre usuários com a ferramenta de busca à direita"
+#: 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:155
msgid "Finding similar accounts..."
@@ -1811,10 +1770,10 @@ msgid "Flip vertically"
msgstr "Virar verticalmente"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Seguir"
@@ -1824,7 +1783,7 @@ msgid "Follow"
msgstr "Seguir"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "Seguir {0}"
@@ -1840,17 +1799,17 @@ msgstr "Seguir Todas"
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
msgid "Follow Back"
-msgstr ""
+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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr "Seguido por {0}"
@@ -1862,7 +1821,7 @@ msgstr "Usuários seguidos"
msgid "Followed users only"
msgstr "Somente usuários seguidos"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "seguiu você"
@@ -1871,26 +1830,26 @@ msgstr "seguiu você"
msgid "Followers"
msgstr "Seguidores"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:93
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr "Seguindo {0}"
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
msgid "Following feed preferences"
msgstr "Configurações do feed principal"
-#: src/Navigation.tsx:262
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
msgstr "Configurações do feed principal"
@@ -1898,7 +1857,7 @@ msgstr "Configurações do feed principal"
msgid "Follows you"
msgstr "Segue você"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr "Segue Você"
@@ -1914,47 +1873,38 @@ msgstr "Por motivos de segurança, precisamos enviar um código de confirmação
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:244
-#~ msgid "Forgot"
-#~ msgstr "Esqueci"
-
-#: src/view/com/auth/login/LoginForm.tsx:241
-#~ msgid "Forgot password"
-#~ msgstr "Esqueci a senha"
-
#: src/screens/Login/index.tsx:129
#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "Esqueci a Senha"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
-msgstr ""
+msgstr "Esqueceu a senha?"
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
-msgstr ""
+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
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
msgstr "De @{sanitizedAuthor}"
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "Por <0/>"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "Galeria"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "Vamos começar"
@@ -1968,25 +1918,25 @@ msgstr "Violações flagrantes da lei ou dos termos de serviço"
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: src/view/screens/ProfileList.tsx:918
#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Voltar"
-#: src/components/Error.tsx:91
+#: src/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Voltar"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "Voltar para o passo anterior"
@@ -1998,7 +1948,7 @@ msgstr "Voltar para a tela inicial"
msgid "Go Home"
msgstr "Voltar para a tela inicial"
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "Ir para @{queryMaybleHandle}"
@@ -2016,28 +1966,28 @@ msgstr "Conteúdo Gráfico"
msgid "Handle"
msgstr "Usuário"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
msgstr "Assédio, intolerância ou \"trollagem\""
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
msgstr "Hashtag"
-#: src/components/RichText.tsx:188
-#~ msgid "Hashtag: {tag}"
-#~ msgstr "Hashtag: {tag}"
-
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
msgstr "Hashtag: #{tag}"
-#: src/screens/Signup/index.tsx:217
+#: 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:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Ajuda"
@@ -2066,17 +2016,17 @@ msgstr "Aqui está a sua senha de aplicativo."
#: 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:354
msgid "Hide"
msgstr "Ocultar"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: 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:278
+#: src/view/com/util/forms/PostDropdownBtn.tsx:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr "Ocultar post"
@@ -2085,18 +2035,14 @@ msgstr "Ocultar post"
msgid "Hide the content"
msgstr "Esconder o conteúdo"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr "Ocultar este post?"
-#: src/view/com/notifications/FeedItem.tsx:319
+#: 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."
@@ -2125,27 +2071,20 @@ msgstr "Hmmmm, parece que estamos com problemas pra carregar isso. Veja mais det
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:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: 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/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
@@ -2155,11 +2094,13 @@ msgstr "Provedor de hospedagem"
msgid "How should we open this link?"
msgstr "Como devemos abrir este link?"
-#: src/view/com/modals/VerifyEmail.tsx:214
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "Eu tenho um código"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr "Eu tenho um código"
@@ -2179,11 +2120,11 @@ msgstr "Se nenhum for selecionado, adequado para todas as idades."
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:610
+#: 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:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:342
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."
@@ -2203,11 +2144,6 @@ msgstr "Imagem"
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"
@@ -2220,14 +2156,6 @@ msgstr "Insira o código enviado para o seu e-mail para redefinir sua senha"
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:181
msgid "Input name for app password"
msgstr "Insira um nome para a senha de aplicativo"
@@ -2240,19 +2168,19 @@ msgstr "Insira a nova senha"
msgid "Input password for account deletion"
msgstr "Insira a senha para excluir a conta"
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr "Insira a senha da conta {identifier}"
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
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/screens/Login/LoginForm.tsx:194
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr "Insira sua senha"
@@ -2260,15 +2188,20 @@ msgstr "Insira sua senha"
msgid "Input your preferred hosting provider"
msgstr "Insira seu provedor de hospedagem"
-#: src/screens/Signup/StepHandle.tsx:62
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "Insira o usuário"
-#: src/view/com/post-thread/PostThreadItem.tsx:221
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr "Post inválido"
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr "Credenciais inválidas"
@@ -2296,24 +2229,10 @@ msgstr "Convites: 1 disponível"
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:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: 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"
@@ -2330,11 +2249,11 @@ msgstr "Rotulado por {0}."
msgid "Labeled by the author."
msgstr "Rotulado pelo autor."
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
msgstr "Rótulos"
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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."
@@ -2354,26 +2273,23 @@ msgstr "Rótulos sobre seu conteúdo"
msgid "Language selection"
msgstr "Seleção de idioma"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr "Configuração de Idioma"
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Configurações de Idiomas"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "Idiomas"
-#: src/view/com/auth/create/StepHeader.tsx:20
-#~ msgid "Last step!"
-#~ msgstr "Último passo!"
-
-#: src/view/com/util/moderation/ContentHider.tsx:103
-#~ msgid "Learn more"
-#~ msgstr "Saiba mais"
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr "Mais recentes"
#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
@@ -2409,7 +2325,7 @@ msgstr "Saindo do Bluesky"
msgid "left to go."
msgstr "na sua frente."
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "Armazenamento limpo, você precisa reiniciar o app agora."
@@ -2422,27 +2338,22 @@ msgstr "Vamos redefinir sua senha!"
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:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr "Claro"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Curtir"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "Curtir este feed"
#: src/components/LikesDialog.tsx:87
-#: src/Navigation.tsx:201
-#: src/Navigation.tsx:206
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
msgid "Liked by"
msgstr "Curtido por"
@@ -2460,29 +2371,29 @@ msgstr "Curtido por {0} {1}"
msgid "Liked by {count} {0}"
msgstr "Curtido por {count} {0}"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "curtiram seu feed"
-#: src/view/com/notifications/FeedItem.tsx:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "curtiu seu post"
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr "Curtidas"
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr "Curtidas neste post"
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr "Lista"
@@ -2490,7 +2401,7 @@ msgstr "Lista"
msgid "List Avatar"
msgstr "Avatar da lista"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Lista bloqueada"
@@ -2498,11 +2409,11 @@ msgstr "Lista bloqueada"
msgid "List by {0}"
msgstr "Lista por {0}"
-#: src/view/screens/ProfileList.tsx:355
+#: 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"
@@ -2510,36 +2421,31 @@ msgstr "Lista silenciada"
msgid "List Name"
msgstr "Nome da lista"
-#: src/view/screens/ProfileList.tsx:325
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Lista desbloqueada"
-#: src/view/screens/ProfileList.tsx:297
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Lista dessilenciada"
-#: src/Navigation.tsx:114
-#: src/view/screens/Profile.tsx:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: 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/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Carregar novos posts"
@@ -2547,11 +2453,7 @@ msgstr "Carregar novos posts"
msgid "Loading..."
msgstr "Carregando..."
-#: src/view/com/modals/ServerInput.tsx:50
-#~ msgid "Local dev server"
-#~ msgstr "Servidor de desenvolvimento local"
-
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr "Registros"
@@ -2570,9 +2472,13 @@ msgstr "Visibilidade do seu perfil"
msgid "Login to account that is not listed"
msgstr "Fazer login em uma conta que não está listada"
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+msgstr ""
+
#: src/screens/Login/SetNewPasswordForm.tsx:116
msgid "Looks like XXXXX-XXXXX"
-msgstr ""
+msgstr "Tem esse formato: XXXXX-XXXXX"
#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
@@ -2582,15 +2488,8 @@ msgstr "Certifique-se de onde está indo!"
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:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr "Mídia"
@@ -2602,8 +2501,8 @@ msgstr "usuários mencionados"
msgid "Mentioned users"
msgstr "Usuários mencionados"
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "Menu"
@@ -2615,12 +2514,12 @@ msgstr "Mensagem do servidor: {0}"
msgid "Misleading Account"
msgstr "Conta Enganosa"
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Moderação"
@@ -2633,13 +2532,13 @@ msgstr "Detalhes da moderação"
msgid "Moderation list by {0}"
msgstr "Lista de moderação por {0}"
-#: src/view/screens/ProfileList.tsx:789
+#: 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:787
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Lista de moderação por você"
@@ -2655,16 +2554,16 @@ msgstr "Lista de moderação criada"
msgid "Moderation lists"
msgstr "Listas de moderação"
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Listas de Moderação"
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr "Moderação"
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
msgstr "Moderação"
@@ -2685,22 +2584,14 @@ msgstr "Mais"
msgid "More feeds"
msgstr "Mais feeds"
-#: src/view/screens/ProfileList.tsx:599
+#: 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"
@@ -2714,7 +2605,7 @@ msgstr "Silenciar {truncatedTag}"
msgid "Mute Account"
msgstr "Silenciar Conta"
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Silenciar contas"
@@ -2722,31 +2613,23 @@ 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:148
msgid "Mute in tags only"
-msgstr "Silenciar apenas as tags"
+msgstr "Silenciar apenas tags"
#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
msgstr "Silenciar texto e tags"
-#: 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 "Lista de moderação"
+msgstr "Silenciar lista"
-#: src/view/screens/ProfileList.tsx:619
+#: 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:126
msgid "Mute this word in post text and tags"
msgstr "Silenciar esta palavra no conteúdo de um post e tags"
@@ -2755,13 +2638,13 @@ msgstr "Silenciar esta palavra no conteúdo de um post e tags"
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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
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:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
msgstr "Silenciar palavras/tags"
@@ -2773,12 +2656,12 @@ msgstr "Silenciada"
msgid "Muted accounts"
msgstr "Contas silenciadas"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: 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."
@@ -2790,7 +2673,7 @@ msgstr "Silenciado por \"{0}\""
msgid "Muted words & tags"
msgstr "Palavras/tags silenciadas"
-#: 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 "Silenciar é privado. Contas silenciadas podem interagir com você, mas você não verá postagens ou receber notificações delas."
@@ -2799,7 +2682,7 @@ msgstr "Silenciar é privado. Contas silenciadas podem interagir com você, mas
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"
@@ -2807,18 +2690,14 @@ msgstr "Meus Feeds"
msgid "My Profile"
msgstr "Meu Perfil"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
msgstr "Meus feeds salvos"
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
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:180
#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
@@ -2839,7 +2718,7 @@ msgid "Nature"
msgstr "Natureza"
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Navega para próxima tela"
@@ -2848,15 +2727,10 @@ msgstr "Navega para próxima tela"
msgid "Navigates to your profile"
msgstr "Navega para seu perfil"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
msgid "Need to report a copyright violation?"
msgstr "Precisa denunciar uma violação de copyright?"
-#: 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/view/com/auth/onboarding/WelcomeDesktop.tsx:72
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
msgid "Never lose access to your followers and data."
@@ -2866,10 +2740,6 @@ msgstr "Nunca perca o acesso aos seus seguidores e dados."
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"
@@ -2895,17 +2765,17 @@ msgstr "Nova senha"
msgid "New Password"
msgstr "Nova Senha"
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
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:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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"
@@ -2929,12 +2799,12 @@ msgstr "Notícias"
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -2958,8 +2828,8 @@ msgstr "Próxima imagem"
msgid "No"
msgstr "Não"
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Sem descrição"
@@ -2967,13 +2837,17 @@ msgstr "Sem descrição"
msgid "No DNS Panel"
msgstr "Não tenho painel de DNS"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr "Você não está mais seguindo {0}"
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
-msgstr ""
+msgstr "No máximo 253 caracteres"
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
@@ -2984,20 +2858,24 @@ msgstr "Nenhuma notificação!"
msgid "No result"
msgstr "Nenhum resultado"
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "Nenhum resultado encontrado para {query}"
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr ""
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
@@ -3020,19 +2898,19 @@ msgstr "Nudez não-erótica"
msgid "Not Applicable."
msgstr "Não Aplicável."
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "Não encontrado"
-#: src/view/com/modals/VerifyEmail.tsx:246
-#: src/view/com/modals/VerifyEmail.tsx:252
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr "Agora não"
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
msgstr "Nota sobre compartilhamento"
@@ -3040,13 +2918,13 @@ msgstr "Nota sobre compartilhamento"
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:469
+#: src/Navigation.tsx:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Notificações"
@@ -3056,21 +2934,18 @@ msgstr "Nudez"
#: 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 "Nudez ou pornografia sem aviso aplicado"
+msgstr "Nudez ou pornografia sem aviso aplicado"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
-msgstr ""
+msgstr "de"
#: src/lib/moderation/useLabelBehaviorDescription.ts:11
msgid "Off"
msgstr "Desligado"
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "Opa!"
@@ -3079,7 +2954,7 @@ msgid "Oh no! Something went wrong."
msgstr "Opa! Algo deu errado."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
msgstr "OK"
@@ -3091,11 +2966,11 @@ msgstr "Ok"
msgid "Oldest replies first"
msgstr "Respostas mais antigas primeiro"
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr "Resetar tutoriais"
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr "Uma ou mais imagens estão sem texto alternativo."
@@ -3103,17 +2978,17 @@ msgstr "Uma ou mais imagens estão sem texto alternativo."
msgid "Only {0} can reply."
msgstr "Apenas {0} pode responder."
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
-msgstr ""
+msgstr "Contém apenas letras, números e hífens"
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
msgstr "Opa, algo deu errado!"
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Opa!"
@@ -3121,20 +2996,16 @@ msgstr "Opa!"
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:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr "Abrir seletor de emojis"
-#: src/view/screens/ProfileFeed.tsx:300
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
msgstr "Abrir opções do feed"
-#: src/view/screens/Settings/index.tsx:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr "Abrir links no navegador interno"
@@ -3142,24 +3013,20 @@ msgstr "Abrir links no navegador interno"
msgid "Open muted words and tags settings"
msgstr "Abrir opções de palavras/tags silenciadas"
-#: src/view/screens/Moderation.tsx:92
-#~ msgid "Open muted words settings"
-#~ msgstr "Abrir configurações das palavras 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:183
+#: 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:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr "Abre o storybook"
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
msgstr "Abrir registros do sistema"
@@ -3167,15 +3034,19 @@ msgstr "Abrir registros do sistema"
msgid "Opens {numItems} options"
msgstr "Abre {numItems} opções"
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr ""
+
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
msgstr "Abre detalhes adicionais para um registro de depuração"
-#: src/view/com/notifications/FeedItem.tsx:353
+#: 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:78
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr "Abre a câmera do dispositivo"
@@ -3183,63 +3054,53 @@ msgstr "Abre a câmera do dispositivo"
msgid "Opens composer"
msgstr "Abre o editor de post"
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr "Abre definições de idioma configuráveis"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
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:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr "Abre as configurações de anexos externos"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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/auth/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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/profile/ProfileHeader.tsx:575
-#~ msgid "Opens followers list"
-#~ msgstr "Abre lista de seguidores"
-
-#: src/view/com/profile/ProfileHeader.tsx:594
-#~ msgid "Opens following list"
-#~ msgstr "Abre lista de seguidos"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr ""
#: 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:798
+#: src/view/screens/Settings/index.tsx:757
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/screens/Settings/index.tsx:756
+#: src/view/screens/Settings/index.tsx:715
msgid "Opens modal for changing your Bluesky password"
msgstr "Abre modal para troca da sua senha do Bluesky"
-#: src/view/screens/Settings/index.tsx:718
+#: src/view/screens/Settings/index.tsx:670
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:779
+#: src/view/screens/Settings/index.tsx:738
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:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
msgstr "Abre modal para verificação de email"
@@ -3247,28 +3108,28 @@ msgstr "Abre modal para verificação de email"
msgid "Opens modal for using custom domain"
msgstr "Abre modal para usar o domínio personalizado"
-#: src/view/screens/Settings/index.tsx:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "Abre configurações de moderação"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
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:597
+#: src/view/screens/Settings/index.tsx:549
msgid "Opens screen with all saved feeds"
msgstr "Abre a tela com todos os feeds salvos"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:648
msgid "Opens the app password settings"
msgstr "Abre as configurações de senha do aplicativo"
-#: src/view/screens/Settings/index.tsx:554
+#: src/view/screens/Settings/index.tsx:506
msgid "Opens the Following feed preferences"
msgstr "Abre as preferências do feed inicial"
@@ -3276,16 +3137,16 @@ msgstr "Abre as preferências do feed inicial"
msgid "Opens the linked website"
msgstr "Abre o link"
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr "Abre a página do storybook"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "Abre a página de log do sistema"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "Abre as preferências de threads"
@@ -3293,7 +3154,7 @@ msgstr "Abre as preferências de threads"
msgid "Option {0} of {numItems}"
msgstr "Opção {0} de {numItems}"
-#: src/components/ReportDialog/SubmitView.tsx:162
+#: src/components/ReportDialog/SubmitView.tsx:160
msgid "Optionally provide additional information below:"
msgstr "Se quiser adicionar mais informações, digite abaixo:"
@@ -3313,7 +3174,7 @@ msgstr "Outra conta"
msgid "Other..."
msgstr "Outro..."
-#: src/components/Lists.tsx:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Página não encontrada"
@@ -3322,8 +3183,8 @@ msgstr "Página não encontrada"
msgid "Page Not Found"
msgstr "Página Não Encontrada"
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3341,11 +3202,19 @@ msgstr "Senha atualizada"
msgid "Password updated!"
msgstr "Senha atualizada!"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr "Pessoas"
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr "Pessoas seguidas por @{0}"
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr "Pessoas seguindo @{0}"
@@ -3365,23 +3234,31 @@ msgstr "Pets"
msgid "Pictures meant for adults."
msgstr "Imagens destinadas a adultos."
-#: src/view/screens/ProfileFeed.tsx:292
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "Fixar na tela inicial"
-#: src/view/screens/ProfileFeed.tsx:295
+#: src/view/screens/ProfileFeed.tsx:306
msgid "Pin to Home"
msgstr "Fixar na Tela Inicial"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Feeds Fixados"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Play"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "Reproduzir {0}"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3419,14 +3296,6 @@ msgstr "Por favor, insira um nome único para esta Senha de Aplicativo ou use no
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/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "Por favor, digite o seu e-mail."
@@ -3439,16 +3308,11 @@ msgstr "Por favor, digite sua senha também:"
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/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/view/com/modals/VerifyEmail.tsx:101
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr "Por favor, verifique seu e-mail"
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr "Aguarde até que a prévia de link termine de carregar"
@@ -3460,12 +3324,8 @@ msgstr "Política"
msgid "Porn"
msgstr "Pornografia"
-#: src/lib/moderation/useGlobalLabelStrings.ts:34
-#~ msgid "Pornography"
-#~ msgstr "Pornografia"
-
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr "Postar"
@@ -3475,17 +3335,17 @@ msgctxt "description"
msgid "Post"
msgstr "Post"
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr "Post por {0}"
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
msgid "Post by @{0}"
msgstr "Post por @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:105
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Post excluído"
@@ -3520,7 +3380,7 @@ msgstr "Post não encontrado"
msgid "posts"
msgstr "posts"
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr "Posts"
@@ -3536,13 +3396,13 @@ msgstr "Posts ocultados"
msgid "Potentially Misleading Link"
msgstr "Link Potencialmente Enganoso"
-#: src/components/forms/HostingProvider.tsx:45
+#: src/components/forms/HostingProvider.tsx:46
msgid "Press to change hosting provider"
-msgstr ""
+msgstr "Trocar de provedor de hospedagem"
-#: src/components/Error.tsx:74
-#: src/components/Lists.tsx:80
-#: src/screens/Signup/index.tsx:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
msgstr "Tentar novamente"
@@ -3558,16 +3418,16 @@ msgstr "Idioma Principal"
msgid "Prioritize Your Follows"
msgstr "Priorizar seus Seguidores"
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Privacidade"
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Política de Privacidade"
@@ -3576,15 +3436,15 @@ msgid "Processing..."
msgstr "Processando..."
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
msgstr "perfil"
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Perfil"
@@ -3592,7 +3452,7 @@ msgstr "Perfil"
msgid "Profile updated"
msgstr "Perfil atualizado"
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "Proteja a sua conta verificando o seu e-mail."
@@ -3608,11 +3468,11 @@ 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:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr "Publicar post"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr "Publicar resposta"
@@ -3638,15 +3498,15 @@ msgstr "Aleatório"
msgid "Ratios"
msgstr "Índices"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
msgstr "Buscas Recentes"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: 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"
@@ -3659,15 +3519,11 @@ msgstr "Usuários Recomendados"
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/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
msgstr "Remover avatar"
@@ -3685,8 +3541,8 @@ msgstr "Remover feed?"
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Remover dos meus feeds"
@@ -3698,7 +3554,7 @@ msgstr "Remover dos meus feeds?"
msgid "Remove image"
msgstr "Remover imagem"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr "Remover visualização da imagem"
@@ -3710,18 +3566,10 @@ msgstr "Remover palavra silenciada da lista"
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:202
msgid "Remove this feed from your saved feeds"
msgstr "Remover este feed dos feeds salvos"
-#: 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/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
@@ -3731,15 +3579,15 @@ msgstr "Removido da lista"
msgid "Removed from my feeds"
msgstr "Removido dos meus feeds"
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
msgstr "Removido dos feeds salvos"
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr "Remover miniatura de {0}"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr "Respostas"
@@ -3747,7 +3595,7 @@ msgstr "Respostas"
msgid "Replies to this thread are disabled"
msgstr "Respostas para esta thread estão desativadas"
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr "Responder"
@@ -3756,15 +3604,17 @@ msgstr "Responder"
msgid "Reply Filters"
msgstr "Filtros de Resposta"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
-msgctxt "description"
-msgid "Reply to <0/>"
-msgstr "Responder <0/>"
+#: 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/post/Post.tsx:178
+#: src/view/com/posts/FeedItem.tsx:285
+msgctxt "description"
+msgid "Reply to <0><1/>0>"
+msgstr ""
#: src/view/com/profile/ProfileMenu.tsx:319
#: src/view/com/profile/ProfileMenu.tsx:322
@@ -3773,19 +3623,19 @@ msgstr "Denunciar Conta"
#: src/components/ReportDialog/index.tsx:49
msgid "Report dialog"
-msgstr ""
+msgstr "Janela de denúncia"
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "Denunciar feed"
-#: src/view/screens/ProfileList.tsx:429
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Denunciar Lista"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:292
-#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "Denunciar post"
@@ -3830,19 +3680,23 @@ msgstr "Repostar ou citar um post"
msgid "Reposted By"
msgstr "Repostado Por"
-#: src/view/com/posts/FeedItem.tsx:197
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "Repostado por {0}"
#: src/view/com/posts/FeedItem.tsx:214
-msgid "Reposted by <0/>"
-msgstr "Repostado por <0/>"
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Repostado por <0/>"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr "Repostado por <0><1/>0>"
+
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "repostou seu post"
-#: src/view/com/post-thread/PostThreadItem.tsx:187
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr "Reposts"
@@ -3856,14 +3710,23 @@ msgstr "Solicitar Alteração"
msgid "Request Code"
msgstr "Solicitar Código"
-#: src/view/screens/Settings/index.tsx:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr "Exigir texto alternativo antes de postar"
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr ""
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Obrigatório para este provedor"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr ""
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Código de redefinição"
@@ -3872,12 +3735,8 @@ msgstr "Código de redefinição"
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:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr "Redefinir tutoriais"
@@ -3885,24 +3744,20 @@ msgstr "Redefinir tutoriais"
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:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr "Redefinir configurações"
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr "Redefine tutoriais"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr "Redefine as configurações"
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr "Tenta entrar novamente"
@@ -3911,24 +3766,20 @@ msgstr "Tenta entrar novamente"
msgid "Retries the last action, which errored out"
msgstr "Tenta a última ação, que deu erro"
-#: src/components/Error.tsx:79
-#: src/components/Lists.tsx:91
-#: src/screens/Login/LoginForm.tsx:234
-#: src/screens/Login/LoginForm.tsx:241
+#: src/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: 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/components/Error.tsx:86
-#: src/view/screens/ProfileList.tsx:917
+#: src/components/Error.tsx:95
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Voltar para página anterior"
@@ -3974,12 +3825,12 @@ msgstr "Salvar usuário"
msgid "Save image crop"
msgstr "Salvar corte de imagem"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: 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:122
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "Feeds Salvos"
@@ -3987,7 +3838,7 @@ msgstr "Feeds Salvos"
msgid "Saved to your camera roll."
msgstr "Imagem salva na galeria."
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
msgstr "Adicionado aos seus feeds"
@@ -4007,28 +3858,28 @@ msgstr "Salva o corte da imagem"
msgid "Science"
msgstr "Ciência"
-#: src/view/screens/ProfileList.tsx:873
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Ir para o topo"
-#: src/Navigation.tsx:459
+#: src/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Buscar"
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "Pesquisar por \"{query}\""
@@ -4037,24 +3888,24 @@ 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:105
#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr "Buscar usuários"
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr ""
+
#: src/view/com/modals/ChangeEmail.tsx:110
msgid "Security Step Required"
msgstr "Passo de Segurança Necessário"
@@ -4075,21 +3926,18 @@ 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/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/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr "Ver perfil"
-#: 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:40
-msgid "See what's next"
-msgstr "Veja o que vem por aí"
+#~ msgid "See what's next"
+#~ msgstr "Veja o que vem por aí"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
@@ -4097,12 +3945,20 @@ msgstr "Selecionar {item}"
#: src/screens/Login/ChooseAccountForm.tsx:61
msgid "Select account"
-msgstr ""
+msgstr "Selecione uma conta"
#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "Selecionar de uma conta existente"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
msgstr "Selecionar idiomas"
@@ -4115,16 +3971,11 @@ msgstr "Selecionar moderador"
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:153
-#~ 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:135
+#: 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"
@@ -4144,17 +3995,13 @@ msgstr "Selecione o que você quer (ou não) ver, e cuidaremos do resto."
msgid "Select which languages you want your subscribed feeds to include. If none are selected, all languages will be shown."
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"
-#~ msgstr "Selecione o idioma do seu aplicativo"
-
#: src/view/screens/LanguageSettings.tsx:98
msgid "Select your app language for the default text to display in the app."
msgstr "Selecione o idioma do seu aplicativo"
-#: src/screens/Signup/StepInfo/index.tsx:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
-msgstr ""
+msgstr "Selecione sua data de nascimento"
#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
@@ -4172,8 +4019,8 @@ msgstr "Selecione seus feeds primários"
msgid "Select your secondary algorithmic feeds"
msgstr "Selecione seus feeds secundários"
-#: src/view/com/modals/VerifyEmail.tsx:202
-#: src/view/com/modals/VerifyEmail.tsx:204
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "Enviar E-mail de Confirmação"
@@ -4186,24 +4033,25 @@ msgctxt "action"
msgid "Send Email"
msgstr "Enviar E-mail"
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Enviar comentários"
-#: 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 "Denunciar"
-#: src/view/com/modals/report/SendReportButton.tsx:45
-#~ msgid "Send Report"
-#~ msgstr "Denunciar"
-
#: src/components/ReportDialog/SelectLabelerView.tsx:44
msgid "Send report to {0}"
msgstr "Denunciar via {0}"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
+msgstr ""
+
#: 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"
@@ -4212,48 +4060,14 @@ msgstr "Envia o e-mail com o código de confirmação para excluir a conta"
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/view/com/modals/ContentFilteringSettings.tsx:160
-#: src/view/com/modals/ContentFilteringSettings.tsx:179
-#~ msgctxt "action"
-#~ msgid "Set Age"
-#~ msgstr "Definir Idade"
-
#: src/screens/Moderation/index.tsx:304
msgid "Set birthdate"
msgstr "Definir data de nascimento"
-#: 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/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."
@@ -4282,23 +4096,23 @@ msgstr "Configure sua conta"
msgid "Sets Bluesky username"
msgstr "Configura o usuário no Bluesky"
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
msgstr "Define o tema para escuro"
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
msgstr "Define o tema para claro"
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
msgstr "Define o tema para seguir o sistema"
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
msgstr "Define o tema escuro para o padrão"
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
msgstr "Define o tema escuro para o menos escuro"
@@ -4306,10 +4120,6 @@ msgstr "Define o tema escuro para o menos escuro"
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"
@@ -4322,16 +4132,11 @@ msgstr "Define a proporção da imagem para alta"
msgid "Sets image aspect ratio to wide"
msgstr "Define a proporção da imagem para comprida"
-#: src/view/com/auth/create/Step1.tsx:97
-#: src/view/com/auth/login/LoginForm.tsx:154
-#~ msgid "Sets server for the Bluesky client"
-#~ msgstr "Configura o servidor para o cliente do Bluesky"
-
-#: src/Navigation.tsx:139
-#: src/view/screens/Settings/index.tsx:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Configurações"
@@ -4350,38 +4155,38 @@ msgstr "Compartilhar"
#: 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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Compartilhar"
#: src/view/com/profile/ProfileMenu.tsx:373
-#: src/view/com/util/forms/PostDropdownBtn.tsx:347
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
msgstr "Compartilhar assim"
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Compartilhar feed"
#: src/view/com/modals/LinkWarning.tsx:89
#: src/view/com/modals/LinkWarning.tsx:95
msgid "Share Link"
-msgstr ""
+msgstr "Compartilhar Link"
#: src/view/com/modals/LinkWarning.tsx:92
msgid "Shares the linked website"
-msgstr ""
+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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr "Mostrar"
@@ -4403,17 +4208,13 @@ msgstr "Mostrar rótulo"
msgid "Show badge and filter from feeds"
msgstr "Mostrar rótulo e filtrar dos feeds"
-#: src/view/com/modals/EmbedConsent.tsx:87
-#~ msgid "Show embeds from {0}"
-#~ msgstr "Mostrar anexos de {0}"
-
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr "Mostrar usuários parecidos com {0}"
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr "Mostrar Mais"
@@ -4470,7 +4271,7 @@ msgstr "Mostrar reposts no Seguindo"
msgid "Show the content"
msgstr "Mostrar conteúdo"
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Mostrar usuários"
@@ -4482,41 +4283,31 @@ msgstr "Mostrar aviso"
msgid "Show warning and filter from feeds"
msgstr "Mostrar aviso e filtrar dos feeds"
-#: 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/view/com/post-thread/PostThreadFollowBtn.tsx:130
msgid "Shows posts from {0} in your feed"
msgstr "Mostra posts de {0} no seu feed"
+#: 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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr "Fazer login"
-#: 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 "Fazer Login"
-
#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "Fazer login como {0}"
@@ -4525,28 +4316,32 @@ msgstr "Fazer login como {0}"
msgid "Sign in as..."
msgstr "Fazer login como..."
-#: src/view/com/auth/login/LoginForm.tsx:140
-#~ msgid "Sign into"
-#~ msgstr "Fazer login"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr "Faça login ou crie sua conta para entrar na conversa!"
+
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr "Faça login no Bluesky ou crie uma nova conta"
-#: src/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "Sair"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
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"
@@ -4555,7 +4350,7 @@ msgstr "Inscreva-se ou faça login para se juntar à conversa"
msgid "Sign-in Required"
msgstr "É Necessário Fazer Login"
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "Entrou como"
@@ -4563,10 +4358,6 @@ msgstr "Entrou como"
msgid "Signed in as @{0}"
msgstr "autenticado como @{0}"
-#: src/view/com/modals/SwitchAccount.tsx:70
-#~ msgid "Signs {0} out of Bluesky"
-#~ msgstr "Desloga a conta {0}"
-
#: src/screens/Onboarding/StepInterests/index.tsx:239
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
@@ -4581,25 +4372,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:76
+#: 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."
@@ -4631,24 +4410,20 @@ msgstr "Esportes"
msgid "Square"
msgstr "Quadrado"
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "Página de status"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
-msgstr ""
+msgstr "Passo"
-#: src/view/com/auth/create/StepHeader.tsx:22
-#~ msgid "Step {0} of {numSteps}"
-#~ msgstr "Passo {0} de {numSteps}"
-
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
msgid "Storage cleared, you need to restart the app now."
msgstr "Armazenamento limpo, você precisa reiniciar o app agora."
-#: src/Navigation.tsx:211
-#: src/view/screens/Settings/index.tsx:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr "Storybook"
@@ -4657,15 +4432,15 @@ msgstr "Storybook"
msgid "Submit"
msgstr "Enviar"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Inscrever-se"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: 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:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
msgstr "Inscrever-se no rotulador"
@@ -4674,15 +4449,15 @@ msgstr "Inscrever-se no rotulador"
msgid "Subscribe to the {0} feed"
msgstr "Increver-se no feed {0}"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
msgid "Subscribe to this labeler"
msgstr "Inscrever-se neste rotulador"
-#: src/view/screens/ProfileList.tsx:586
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "Inscreva-se nesta lista"
-#: src/view/screens/Search/Search.tsx:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "Sugestões de Seguidores"
@@ -4694,30 +4469,30 @@ msgstr "Sugeridos para você"
msgid "Suggestive"
msgstr "Sugestivo"
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
msgstr "Suporte"
-#: src/components/dialogs/SwitchAccount.tsx:46
-#: src/components/dialogs/SwitchAccount.tsx:49
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "Alterar Conta"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr "Trocar para {0}"
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
msgid "Switches the account you are logged in to"
msgstr "Troca a conta que você está autenticado"
-#: src/view/screens/Settings/index.tsx:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr "Sistema"
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "Log do sistema"
@@ -4729,10 +4504,6 @@ 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:113
msgid "Tall"
msgstr "Alto"
@@ -4749,11 +4520,11 @@ msgstr "Tecnologia"
msgid "Terms"
msgstr "Termos"
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Termos de Serviço"
@@ -4771,7 +4542,7 @@ msgstr "texto"
msgid "Text input field"
msgstr "Campo de entrada de texto"
-#: src/components/ReportDialog/SubmitView.tsx:78
+#: src/components/ReportDialog/SubmitView.tsx:76
msgid "Thank you. Your report has been sent."
msgstr "Obrigado. Sua denúncia foi enviada."
@@ -4779,11 +4550,11 @@ msgstr "Obrigado. Sua denúncia foi enviada."
msgid "That contains the following:"
msgstr "Contém o seguinte:"
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "Este identificador de usuário já está sendo usado."
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: 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."
@@ -4833,8 +4604,8 @@ msgstr "Os Termos de Serviço foram movidos para"
msgid "There are many feeds to try:"
msgstr "Temos vários feeds para você experimentar:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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."
@@ -4842,15 +4613,19 @@ msgstr "Tivemos um problema ao contatar o servidor, por favor verifique sua cone
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:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+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 "Tivemos um problema ao contatar o servidor deste feed"
@@ -4873,12 +4648,12 @@ 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/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 "Tivemos um problema ao enviar sua denúncia. Por favor, verifique sua conexão com a internet."
@@ -4890,9 +4665,9 @@ msgstr "Tivemos um problema ao sincronizar suas configurações"
msgid "There was an issue with fetching your app passwords"
msgstr "Tivemos um problema ao carregar suas senhas de app."
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -4904,14 +4679,15 @@ msgstr "Tivemos um problema ao carregar suas senhas de app."
msgid "There was an issue! {0}"
msgstr "Tivemos um problema! {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 "Tivemos algum problema. Por favor verifique sua conexão com a internet e tente novamente."
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
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ê!"
@@ -4956,10 +4732,6 @@ msgstr "Este conteúdo não está disponível porque um dos usuários bloqueou o
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>"
-#~ msgstr "Esta funcionalidade está em beta. Você pode ler mais sobre exportação de repositórios <0>neste post0> do nosso blog."
-
#: 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 "Esta funcionalidade está em beta. Você pode ler mais sobre exportação de repositórios <0>neste post0> do nosso blog."
@@ -4968,9 +4740,9 @@ msgstr "Esta funcionalidade está em beta. Você pode ler mais sobre exportaçã
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/screens/Profile/Sections/Feed.tsx:50
-#: src/view/screens/ProfileFeed.tsx:477
-#: 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 "Este feed está vazio!"
@@ -4982,7 +4754,7 @@ msgstr "Este feed está vazio! Talvez você precise seguir mais usuários ou con
msgid "This information is not shared with other users."
msgstr "Esta informação não é compartilhada com outros usuários."
-#: src/view/com/modals/VerifyEmail.tsx:119
+#: src/view/com/modals/VerifyEmail.tsx:127
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."
@@ -4990,7 +4762,7 @@ msgstr "Isso é importante caso você precise alterar seu e-mail ou redefinir su
msgid "This label was applied by {0}."
msgstr "Este rótulo foi aplicado por {0}."
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: 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."
@@ -4998,7 +4770,7 @@ msgstr "Este rotulador não declarou quais rótulos utiliza e pode não estar fu
msgid "This link is taking you to the following website:"
msgstr "Este link está levando você ao seguinte site:"
-#: src/view/screens/ProfileList.tsx:853
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "Esta lista está vazia!"
@@ -5010,16 +4782,16 @@ msgstr "Este serviço de moderação está indisponível. Veja mais detalhes aba
msgid "This name is already in use"
msgstr "Você já tem uma senha com esse nome"
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr "Este post foi excluído."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:352
msgid "This post will be hidden from feeds."
msgstr "Este post será escondido de todos os feeds."
@@ -5048,14 +4820,6 @@ msgstr "Este usuário te bloqueou. Você não pode ver este conteúdo."
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: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/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."
@@ -5076,16 +4840,12 @@ msgstr "Este aviso só está disponível para publicações com mídia anexada."
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:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
msgstr "Preferências das Threads"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "Preferências das Threads"
@@ -5093,10 +4853,14 @@ msgstr "Preferências das Threads"
msgid "Threaded Mode"
msgstr "Visualização de Threads"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr "Preferências das Threads"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr ""
+
#: 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?"
@@ -5113,14 +4877,19 @@ msgstr "Alternar menu suspenso"
msgid "Toggle to enable or disable adult content"
msgstr "Ligar ou desligar conteúdo adulto"
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr "Principais"
+
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Transformações"
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "Traduzir"
@@ -5129,35 +4898,39 @@ msgctxt "action"
msgid "Try again"
msgstr "Tentar novamente"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr ""
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
msgstr "Tipo:"
-#: src/view/screens/ProfileList.tsx:478
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Desbloquear lista"
-#: src/view/screens/ProfileList.tsx:461
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Dessilenciar lista"
#: src/screens/Login/ForgotPasswordForm.tsx:74
#: src/screens/Login/index.tsx:78
-#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:181
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
-#: src/view/screens/ProfileList.tsx:572
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Desbloquear"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr "Desbloquear"
@@ -5167,7 +4940,7 @@ msgstr "Desbloquear"
msgid "Unblock Account"
msgstr "Desbloquear Conta"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
msgstr "Desbloquear Conta?"
@@ -5180,7 +4953,7 @@ msgid "Undo repost"
msgstr "Desfazer repost"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
msgstr "Deixar de seguir"
@@ -5189,7 +4962,7 @@ msgctxt "action"
msgid "Unfollow"
msgstr "Deixar de seguir"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
msgid "Unfollow {0}"
msgstr "Deixar de seguir {0}"
@@ -5198,20 +4971,16 @@ msgstr "Deixar de seguir {0}"
msgid "Unfollow Account"
msgstr "Deixar de seguir"
-#: 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/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Descurtir"
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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:579
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "Dessilenciar"
@@ -5228,37 +4997,29 @@ 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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "Dessilenciar thread"
-#: src/view/screens/ProfileFeed.tsx:295
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Desafixar"
-#: src/view/screens/ProfileFeed.tsx:292
+#: src/view/screens/ProfileFeed.tsx:303
msgid "Unpin from home"
msgstr "Desafixar da tela inicial"
-#: src/view/screens/ProfileList.tsx:444
+#: 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:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
msgstr "Desinscrever-se"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
msgstr "Desinscrever-se deste rotulador"
@@ -5270,10 +5031,6 @@ msgstr "Conteúdo Sexual Indesejado"
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}"
@@ -5286,20 +5043,20 @@ msgstr "Atualizando..."
msgid "Upload a text file to:"
msgstr "Carregar um arquivo de texto para:"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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:343
+#: 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:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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"
@@ -5364,22 +5121,18 @@ msgstr "Usuário Bloqueia Você"
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:777
+#: 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:775
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "Sua lista de usuários"
@@ -5395,11 +5148,11 @@ msgstr "Lista de usuários atualizada"
msgid "User Lists"
msgstr "Listas de Usuários"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "Nome de usuário ou endereço de e-mail"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "Usuários"
@@ -5423,15 +5176,15 @@ msgstr "Conteúdo:"
msgid "Verify {0}"
msgstr "Verificar {0}"
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "Verificar e-mail"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "Verificar meu e-mail"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "Verificar Meu Email"
@@ -5440,13 +5193,13 @@ msgstr "Verificar Meu Email"
msgid "Verify New Email"
msgstr "Verificar Novo E-mail"
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr "Verificar Seu E-mail"
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
-msgstr ""
+msgstr "Versão {0}"
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
@@ -5460,11 +5213,11 @@ msgstr "Ver o avatar de {0}"
msgid "View debug entry"
msgstr "Ver depuração"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
msgstr "Ver detalhes"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
msgstr "Ver detalhes para denunciar uma violação de copyright"
@@ -5476,6 +5229,8 @@ msgstr "Ver thread completa"
msgid "View information about these labels"
msgstr "Ver informações sobre estes rótulos"
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Ver perfil"
@@ -5488,7 +5243,7 @@ msgstr "Ver o avatar"
msgid "View the labeling service provided by @{0}"
msgstr "Ver este rotulador provido por @{0}"
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
msgstr "Ver usuários que curtiram este feed"
@@ -5512,11 +5267,7 @@ msgstr "Avisar"
msgid "Warn content and filter from feeds"
msgstr "Avisar e filtrar dos feeds"
-#: 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/screens/Hashtag.tsx:133
+#: src/screens/Hashtag.tsx:210
msgid "We couldn't find any results for that hashtag."
msgstr "Não encontramos nenhum post com esta hashtag."
@@ -5532,10 +5283,6 @@ 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: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."
@@ -5560,19 +5307,15 @@ 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:142
msgid "We'll use this to help customize your experience."
msgstr "Usaremos isto para customizar a sua experiência."
-#: src/screens/Signup/index.tsx:130
+#: 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: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 "Tivemos um problema ao exibir esta lista. Se continuar acontecendo, contate o criador da lista: @{handleOrDid}."
@@ -5580,16 +5323,16 @@ msgstr "Tivemos um problema ao exibir esta lista. Se continuar acontecendo, cont
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:256
+#: src/view/screens/Search/Search.tsx:323
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:188
+#: src/components/Lists.tsx:197
#: 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/screens/Profile/Header/ProfileHeaderLabeler.tsx:321
+#: 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."
@@ -5601,13 +5344,9 @@ msgstr "Bem-vindo ao <0>Bluesky0>"
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:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr "E aí?"
@@ -5648,11 +5387,11 @@ msgstr "Por que este usuário deve ser revisado?"
msgid "Wide"
msgstr "Largo"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "Escrever post"
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Escreva sua resposta"
@@ -5701,15 +5440,15 @@ msgstr "Ninguém segue você ainda."
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."
@@ -5747,39 +5486,27 @@ msgstr "Você silenciou esta conta."
msgid "You have muted this user"
msgstr "Você silenciou este usuário."
-#: src/view/com/modals/ModerationDetails.tsx:87
-#~ 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
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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/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 "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: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
+#: 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/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 "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:249
msgid "You haven't muted any words or tags yet"
msgstr "Você não silenciou nenhuma palavra ou tag ainda"
@@ -5790,25 +5517,21 @@ msgstr "Você pode contestar estes rótulos se você acha que estão errados."
#: 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 "Você precisa ser maior de idade para habilitar conteúdo adulto."
+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/components/ReportDialog/SubmitView.tsx:205
+#: 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:144
+#: 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:147
+#: 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"
@@ -5839,7 +5562,7 @@ msgstr "Você escolheu esconder uma palavra ou tag deste post."
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/screens/Signup/index.tsx:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Sua conta"
@@ -5851,7 +5574,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/screens/Signup/StepInfo/index.tsx:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Sua data de nascimento"
@@ -5869,15 +5592,11 @@ msgstr "Seu feed inicial é o \"Seguindo\""
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."
-#: src/view/com/modals/VerifyEmail.tsx:114
+#: src/view/com/modals/VerifyEmail.tsx:122
msgid "Your email has not yet been verified. This is an important security step which we recommend."
msgstr "Seu e-mail ainda não foi verificado. Esta é uma etapa importante de segurança que recomendamos."
@@ -5885,7 +5604,7 @@ 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/screens/Signup/StepHandle.tsx:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Seu identificador completo será"
@@ -5893,12 +5612,6 @@ msgstr "Seu identificador completo será"
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:220
msgid "Your muted words"
msgstr "Suas palavras silenciadas"
@@ -5907,7 +5620,7 @@ msgstr "Suas palavras silenciadas"
msgid "Your password has been changed successfully!"
msgstr "Sua senha foi alterada com sucesso!"
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr "Seu post foi publicado"
@@ -5917,14 +5630,14 @@ msgstr "Seu post foi publicado"
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/screens/Settings/index.tsx:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "Seu perfil"
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr "Sua resposta foi publicada"
-#: src/screens/Signup/index.tsx:152
+#: 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
index af50666ace..17fd1eb465 100644
--- a/src/locale/locales/tr/messages.po
+++ b/src/locale/locales/tr/messages.po
@@ -13,7 +13,7 @@ msgstr ""
"Plural-Forms: \n"
"X-Generator: Poedit 3.4.2\n"
-#: src/view/com/modals/VerifyEmail.tsx:142
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr "(e-posta yok)"
@@ -21,6 +21,7 @@ msgstr "(e-posta yok)"
#~ 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:438
#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} takip ediliyor"
@@ -37,7 +38,7 @@ msgstr "{following} takip ediliyor"
#~ msgid "{invitesAvailable} invite codes available"
#~ msgstr "{invitesAvailable} davet kodları mevcut"
-#: src/view/shell/Drawer.tsx:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} okunmamış"
@@ -49,15 +50,20 @@ msgstr "<0/> üyeleri"
msgid "<0>{0}0> following"
msgstr ""
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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:30
+#: 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:37
+#: 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>"
@@ -65,10 +71,14 @@ msgstr "<0>Önerilen0><1>Kullanıcıları Takip Et1><2>Seç2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Bluesky'e0><1>Hoşgeldiniz1>"
-#: src/screens/Profile/Header/Handle.tsx:42
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr "⚠Geçersiz Kullanıcı Adı"
+#: src/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr ""
+
#: 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ı."
@@ -77,27 +87,36 @@ msgstr "⚠Geçersiz Kullanıcı Adı"
#~ 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:649
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
msgid "Access navigation links and settings"
msgstr "Gezinme bağlantılarına ve ayarlara erişin"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: 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:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "Erişilebilirlik"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr ""
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr ""
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "Hesap"
@@ -130,7 +149,7 @@ msgstr "Hesap seçenekleri"
msgid "Account removed from quick access"
msgstr "Hesap hızlı erişimden kaldırıldı"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Hesap engeli kaldırıldı"
@@ -147,7 +166,7 @@ msgstr "Hesap susturulması kaldırıldı"
#: 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:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Ekle"
@@ -155,13 +174,13 @@ msgstr "Ekle"
msgid "Add a content warning"
msgstr "Bir içerik uyarısı ekleyin"
-#: src/view/screens/ProfileList.tsx:817
+#: 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:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr "Hesap ekle"
@@ -187,12 +206,12 @@ msgstr "Uygulama Şifresi Ekle"
#~ msgstr "Rapor için detaylar ekleyin"
#: src/view/com/composer/Composer.tsx:467
-msgid "Add link card"
-msgstr "Bağlantı kartı ekle"
+#~ 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:"
+#~ msgid "Add link card:"
+#~ msgstr "Bağlantı kartı ekle:"
#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
@@ -247,11 +266,11 @@ msgid "Adult content is disabled."
msgstr ""
#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
msgid "Advanced"
msgstr "Gelişmiş"
-#: src/view/screens/Feeds.tsx:666
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
msgstr ""
@@ -269,6 +288,7 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "Alternatif metin"
@@ -276,7 +296,8 @@ msgstr "Alternatif metin"
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
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
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."
@@ -284,10 +305,16 @@ msgstr "{0} adresine bir e-posta gönderildi. Aşağıda girebileceğiniz bir on
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/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr ""
+
#: 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
@@ -295,7 +322,7 @@ msgstr ""
msgid "An issue occurred, please try again."
msgstr "Bir sorun oluştu, lütfen tekrar deneyin."
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "ve"
@@ -304,6 +331,10 @@ msgstr "ve"
msgid "Animals"
msgstr "Hayvanlar"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
msgstr ""
@@ -324,13 +355,13 @@ msgstr "Uygulama Şifre adları yalnızca harfler, sayılar, boşluklar, tireler
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:695
+#: src/view/screens/Settings/index.tsx:647
msgid "App password settings"
msgstr "Uygulama şifresi ayarları"
-#: src/Navigation.tsx:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "Uygulama Şifreleri"
@@ -363,7 +394,7 @@ msgstr ""
#~ msgid "Appeal this decision."
#~ msgstr "Bu karara itiraz et."
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "Görünüm"
@@ -375,7 +406,7 @@ msgstr "\"{name}\" uygulama şifresini silmek istediğinizden emin misiniz?"
msgid "Are you sure you want to remove {0} from your feeds?"
msgstr ""
-#: src/view/com/composer/Composer.tsx:509
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr "Bu taslağı silmek istediğinizden emin misiniz?"
@@ -399,7 +430,7 @@ msgstr "Sanat"
msgid "Artistic or non-erotic nudity."
msgstr "Sanatsal veya erotik olmayan çıplaklık."
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
msgstr ""
@@ -409,13 +440,13 @@ msgstr ""
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr "Geri"
@@ -428,7 +459,7 @@ msgstr "Geri"
msgid "Based on your interest in {interestsText}"
msgstr "{interestsText} ilginize dayalı"
-#: src/view/screens/Settings/index.tsx:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "Temel"
@@ -436,11 +467,11 @@ msgstr "Temel"
msgid "Birthday"
msgstr "Doğum günü"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr "Doğum günü:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
msgstr ""
@@ -454,16 +485,16 @@ msgstr "Hesabı Engelle"
msgid "Block Account?"
msgstr ""
-#: src/view/screens/ProfileList.tsx:530
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Hesapları engelle"
-#: 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 "Listeyi engelle"
-#: src/view/screens/ProfileList.tsx:629
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "Bu hesapları engelle?"
@@ -472,7 +503,7 @@ msgstr "Bu hesapları engelle?"
#~ msgstr "Bu Listeyi Engelle"
#: 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 "Engellendi"
@@ -480,8 +511,8 @@ msgstr "Engellendi"
msgid "Blocked accounts"
msgstr "Engellenen hesaplar"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "Engellenen Hesaplar"
@@ -489,7 +520,7 @@ msgstr "Engellenen Hesaplar"
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:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:120
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."
@@ -497,11 +528,11 @@ msgstr "Engellenen hesaplar, konularınıza yanıt veremez, sizi bahsedemez veya
msgid "Blocked post."
msgstr "Engellenen gönderi."
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: 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 "Engelleme herkese açıktır. Engellenen hesaplar, konularınıza yanıt veremez, sizi bahsedemez veya başka şekilde sizinle etkileşime giremez."
@@ -509,12 +540,10 @@ msgstr "Engelleme herkese açıktır. Engellenen hesaplar, konularınıza yanıt
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:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blog"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -567,8 +596,7 @@ msgstr "Kitaplar"
#~ msgid "Build version {0} {1}"
#~ msgstr "Sürüm {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "İş"
@@ -600,7 +628,7 @@ msgstr ""
msgid "by you"
msgstr "siz tarafından"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "Kamera"
@@ -612,8 +640,8 @@ msgstr "Yalnızca harfler, sayılar, boşluklar, tireler ve alt çizgiler içere
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -628,9 +656,9 @@ msgstr "Yalnızca harfler, sayılar, boşluklar, tireler ve alt çizgiler içere
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "İptal"
@@ -676,34 +704,34 @@ msgstr "Aramayı iptal et"
msgid "Cancels opening the linked website"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
msgstr ""
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "Değiştir"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "Kullanıcı adını değiştir"
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "Kullanıcı Adını Değiştir"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "E-postamı değiştir"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr "Şifre değiştir"
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr "Şifre Değiştir"
@@ -724,14 +752,18 @@ msgstr "E-postanızı Değiştirin"
msgid "Check my status"
msgstr "Durumumu kontrol et"
-#: 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 "Bazı önerilen beslemelere göz atın. Eklemek için + simgesine dokunun."
-#: 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 "Bazı önerilen kullanıcılara göz atın. Benzer kullanıcıları görmek için onları takip edin."
+#: src/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr ""
+
#: 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:"
@@ -761,36 +793,36 @@ msgstr "Özel beslemelerle deneyiminizi destekleyen algoritmaları seçin."
msgid "Choose your main feeds"
msgstr "Ana beslemelerinizi seçin"
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Şifrenizi seçin"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr "Tüm eski depolama verilerini temizle"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
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:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr "Tüm depolama verilerini temizle"
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
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:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "Arama sorgusunu temizle"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
msgstr ""
@@ -802,21 +834,22 @@ msgstr "buraya tıklayın"
msgid "Click here to open tag menu for {tag}"
msgstr ""
-#: src/components/RichText.tsx:192
-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/components/dialogs/GifSelect.tsx:300
#: 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
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr "Etkin iletişim kutusunu kapat"
@@ -828,6 +861,14 @@ msgstr "Uyarıyı kapat"
msgid "Close bottom drawer"
msgstr "Alt çekmeceyi kapat"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr ""
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Resmi kapat"
@@ -836,7 +877,7 @@ msgstr "Resmi kapat"
msgid "Close image viewer"
msgstr "Resim görüntüleyiciyi kapat"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr "Gezinme altbilgisini kapat"
@@ -845,7 +886,7 @@ msgstr "Gezinme altbilgisini kapat"
msgid "Close this dialog"
msgstr ""
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr "Alt gezinme çubuğunu kapatır"
@@ -853,7 +894,7 @@ msgstr "Alt gezinme çubuğunu kapatır"
msgid "Closes password update alert"
msgstr "Şifre güncelleme uyarısını kapatır"
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr "Gönderi bestecisini kapatır ve gönderi taslağını siler"
@@ -861,7 +902,7 @@ msgstr "Gönderi bestecisini kapatır ve gönderi taslağını siler"
msgid "Closes viewer for header image"
msgstr "Başlık resmi görüntüleyicisini kapatır"
-#: src/view/com/notifications/FeedItem.tsx:321
+#: 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"
@@ -873,7 +914,7 @@ msgstr "Komedi"
msgid "Comics"
msgstr "Çizgi romanlar"
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Topluluk Kuralları"
@@ -882,11 +923,11 @@ msgstr "Topluluk Kuralları"
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:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr ""
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "En fazla {MAX_GRAPHEME_LENGTH} karakter uzunluğunda gönderiler oluşturun"
@@ -909,10 +950,12 @@ 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/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
msgid "Confirm"
msgstr "Onayla"
@@ -946,10 +989,13 @@ msgstr ""
msgid "Confirm your birthdate"
msgstr ""
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
msgid "Confirmation code"
msgstr "Onay kodu"
@@ -957,11 +1003,11 @@ msgstr "Onay kodu"
#~ msgid "Confirms signing up {email} to the waitlist"
#~ msgstr "{email} adresinin bekleme listesine kaydını onaylar"
-#: src/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "Bağlanıyor..."
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Destek ile iletişime geçin"
@@ -1015,8 +1061,8 @@ msgstr ""
#: 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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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"
@@ -1029,7 +1075,7 @@ msgstr ""
#: 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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Sonraki adıma devam et"
@@ -1050,17 +1096,21 @@ msgstr "Yemek pişirme"
msgid "Copied"
msgstr "Kopyalandı"
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
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:158
+#: 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"
@@ -1073,12 +1123,17 @@ msgstr "Kopyala"
msgid "Copy {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:388
+#: 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:228
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
msgid "Copy link to post"
msgstr "Gönderi bağlantısını kopyala"
@@ -1086,12 +1141,12 @@ msgstr "Gönderi bağlantısını kopyala"
#~ msgid "Copy link to profile"
#~ msgstr "Profili bağlantısını kopyala"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "Gönderi metnini kopyala"
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Telif Hakkı Politikası"
@@ -1100,7 +1155,7 @@ msgstr "Telif Hakkı Politikası"
msgid "Could not load feed"
msgstr "Besleme yüklenemedi"
-#: src/view/screens/ProfileList.tsx:907
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "Liste yüklenemedi"
@@ -1108,31 +1163,34 @@ msgstr "Liste yüklenemedi"
#~ msgid "Country"
#~ msgstr "Ülke"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr "Yeni bir Bluesky hesabı oluştur"
-#: src/screens/Signup/index.tsx:129
+#: 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/HomeLoggedOutCTA.tsx:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: 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:93
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
msgid "Create report for {0}"
msgstr ""
@@ -1149,8 +1207,8 @@ msgstr "{0} oluşturuldu"
#~ 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"
+#~ 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"
@@ -1166,16 +1224,16 @@ msgid "Custom domain"
msgstr "Özel alan adı"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr "Harici sitelerden medyayı özelleştirin."
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr "Karanlık"
@@ -1183,15 +1241,15 @@ msgstr "Karanlık"
msgid "Dark mode"
msgstr "Karanlık mod"
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr "Karanlık Tema"
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
msgstr ""
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
msgstr ""
@@ -1199,13 +1257,13 @@ msgstr ""
msgid "Debug panel"
msgstr "Hata ayıklama paneli"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: 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:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "Hesabı sil"
@@ -1221,7 +1279,7 @@ msgstr "Uygulama şifresini sil"
msgid "Delete app password?"
msgstr ""
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Listeyi Sil"
@@ -1229,24 +1287,24 @@ msgstr "Listeyi Sil"
msgid "Delete my account"
msgstr "Hesabımı sil"
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
msgid "Delete My Account…"
msgstr "Hesabımı Sil…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:302
-#: src/view/com/util/forms/PostDropdownBtn.tsx:304
+#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
msgid "Delete post"
msgstr "Gönderiyi sil"
-#: 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:340
msgid "Delete this post?"
msgstr "Bu gönderiyi sil?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:64
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Silindi"
@@ -1265,14 +1323,34 @@ msgstr "Açıklama"
#~ msgid "Developer Tools"
#~ msgstr "Geliştirici Araçları"
-#: src/view/com/composer/Composer.tsx:218
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr "Bir şey söylemek istediniz mi?"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr "Karart"
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr ""
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr ""
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+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
@@ -1280,7 +1358,7 @@ msgstr "Karart"
msgid "Disabled"
msgstr ""
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr "Sil"
@@ -1288,7 +1366,7 @@ msgstr "Sil"
#~ msgid "Discard draft"
#~ msgstr "Taslağı sil"
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
msgstr ""
@@ -1306,7 +1384,7 @@ msgstr "Yeni özel beslemeler keşfet"
#~ msgid "Discover new feeds"
#~ msgstr "Yeni beslemeler keşfet"
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr ""
@@ -1326,7 +1404,7 @@ msgstr ""
msgid "Does not include nudity."
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
msgstr ""
@@ -1342,19 +1420,6 @@ msgstr "Alan adı doğrulandı!"
#~ msgid "Don't have an invite code?"
#~ msgstr "Davet kodunuz yok mu?"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: 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/components/dialogs/BirthDateSettings.tsx:119
#: src/components/dialogs/BirthDateSettings.tsx:125
#: src/components/forms/DateField/index.tsx:74
@@ -1373,6 +1438,19 @@ msgstr "Tamam"
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}"
@@ -1386,7 +1464,7 @@ msgstr "Tamam{extraText}"
msgid "Download CAR file"
msgstr ""
-#: src/view/com/composer/text-input/TextInput.web.tsx:249
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr "Resim eklemek için bırakın"
@@ -1439,7 +1517,7 @@ msgctxt "action"
msgid "Edit"
msgstr "Düzenle"
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
msgstr ""
@@ -1449,7 +1527,7 @@ msgstr ""
msgid "Edit image"
msgstr "Resmi düzenle"
-#: src/view/screens/ProfileList.tsx:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Liste ayrıntılarını düzenle"
@@ -1457,9 +1535,9 @@ msgstr "Liste ayrıntılarını düzenle"
msgid "Edit Moderation List"
msgstr "Düzenleme Listesini Düzenle"
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Beslemelerimi Düzenle"
@@ -1467,18 +1545,18 @@ msgstr "Beslemelerimi Düzenle"
msgid "Edit my profile"
msgstr "Profilimi düzenle"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "Profil düzenle"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
msgid "Edit Profile"
msgstr "Profil Düzenle"
-#: 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 "Kayıtlı Beslemeleri Düzenle"
@@ -1503,6 +1581,10 @@ msgstr "Eğitim"
msgid "Email"
msgstr "E-posta"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr ""
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "E-posta adresi"
@@ -1516,14 +1598,28 @@ msgstr "E-posta güncellendi"
msgid "Email Updated"
msgstr "E-posta Güncellendi"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr "E-posta doğrulandı"
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
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:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+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"
@@ -1550,7 +1646,7 @@ msgstr ""
#~ msgid "Enable External Media"
#~ msgstr "Harici Medyayı Etkinleştir"
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr "Medya oynatıcılarını etkinleştir"
@@ -1566,7 +1662,7 @@ msgstr ""
msgid "Enabled"
msgstr ""
-#: src/screens/Profile/Sections/Feed.tsx:84
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Beslemenin sonu"
@@ -1583,7 +1679,7 @@ msgstr ""
msgid "Enter a word or tag"
msgstr ""
-#: src/view/com/modals/VerifyEmail.tsx:105
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr "Onay Kodunu Girin"
@@ -1608,7 +1704,7 @@ msgstr "Doğum tarihinizi girin"
#~ msgstr "E-posta adresinizi girin"
#: src/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "E-posta adresinizi girin"
@@ -1632,7 +1728,7 @@ msgstr "Kullanıcı adınızı ve şifrenizi girin"
msgid "Error receiving captcha response."
msgstr ""
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Hata:"
@@ -1673,8 +1769,8 @@ msgstr "Arama sorgusu girişinden çıkar"
msgid "Expand alt text"
msgstr "Alternatif metni genişlet"
-#: 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 "Yanıt verdiğiniz tam gönderiyi genişletin veya daraltın"
@@ -1686,12 +1782,12 @@ msgstr ""
msgid "Explicit sexual images."
msgstr ""
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr ""
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr ""
@@ -1701,17 +1797,17 @@ msgid "External Media"
msgstr "Harici Medya"
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr "Harici Medya Tercihleri"
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr "Harici medya ayarları"
@@ -1724,12 +1820,16 @@ msgstr "Uygulama şifresi oluşturulamadı."
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:125
+#: 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:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+msgstr ""
+
+#: 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"
@@ -1737,7 +1837,7 @@ msgstr "Önerilen beslemeler yüklenemedi"
msgid "Failed to save image: {0}"
msgstr ""
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr "Besleme"
@@ -1745,7 +1845,7 @@ msgstr "Besleme"
msgid "Feed by {0}"
msgstr "{0} tarafından besleme"
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr "Besleme çevrimdışı"
@@ -1754,26 +1854,26 @@ msgstr "Besleme çevrimdışı"
#~ msgstr "Besleme Tercihleri"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:314
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Geribildirim"
-#: src/Navigation.tsx:464
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "Beslemeler"
-#: 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 "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: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 "Beslemeler, kullanıcıların biraz kodlama uzmanlığı ile oluşturduğu özel algoritmalardır. Daha fazla bilgi için <0/>."
@@ -1799,13 +1899,17 @@ msgstr "Tamamlanıyor"
msgid "Find accounts to follow"
msgstr "Takip edilecek hesaplar bul"
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
-msgstr "Bluesky'da kullanıcı bul"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:589
+#~ msgid "Find users on Bluesky"
+#~ msgstr "Bluesky'da kullanıcı bul"
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr "Sağdaki arama aracıyla 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..."
@@ -1840,21 +1944,21 @@ msgstr "Yatay çevir"
msgid "Flip vertically"
msgstr "Dikey çevir"
-#: src/view/com/profile/FollowButton.tsx:69
-msgctxt "action"
-msgid "Follow"
-msgstr "Takip et"
-
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: 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/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "{0} takip et"
@@ -1876,11 +1980,11 @@ msgstr ""
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: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 "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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr "{0} tarafından takip ediliyor"
@@ -1892,7 +1996,7 @@ msgstr "Takip edilen kullanıcılar"
msgid "Followed users only"
msgstr "Yalnızca takip edilen kullanıcılar"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "sizi takip etti"
@@ -1901,26 +2005,26 @@ msgstr "sizi takip etti"
msgid "Followers"
msgstr "Takipçiler"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: 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
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr "{0} takip ediliyor"
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
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/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
msgstr ""
@@ -1928,7 +2032,7 @@ msgstr ""
msgid "Follows you"
msgstr "Sizi takip ediyor"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr "Sizi Takip Ediyor"
@@ -1957,11 +2061,11 @@ msgstr "Güvenlik nedeniyle, bunu tekrar göremezsiniz. Bu şifreyi kaybederseni
msgid "Forgot Password"
msgstr "Şifremi Unuttum"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
msgstr ""
@@ -1969,22 +2073,21 @@ msgstr ""
msgid "Frequently Posts Unwanted Content"
msgstr ""
-#: src/screens/Hashtag.tsx:109
-#: src/screens/Hashtag.tsx:149
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
msgstr ""
-#: src/view/com/posts/FeedItem.tsx:179
+#: 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
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "Galeri"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "Başlayın"
@@ -1998,25 +2101,25 @@ msgstr ""
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: 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/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Geri Git"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "Önceki adıma geri dön"
@@ -2028,7 +2131,7 @@ msgstr ""
msgid "Go Home"
msgstr ""
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "@{queryMaybeHandle} adresine git"
@@ -2046,24 +2149,28 @@ msgstr ""
msgid "Handle"
msgstr "Kullanıcı adı"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
msgstr ""
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
msgstr ""
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
msgstr ""
-#: src/screens/Signup/index.tsx:217
+#: 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:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Yardım"
@@ -2092,17 +2199,17 @@ msgstr "İşte uygulama şifreniz."
#: 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:354
msgid "Hide"
msgstr "Gizle"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr "Gizle"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:278
+#: src/view/com/util/forms/PostDropdownBtn.tsx:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr "Gönderiyi gizle"
@@ -2111,11 +2218,11 @@ msgstr "Gönderiyi gizle"
msgid "Hide the content"
msgstr "İçeriği gizle"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr "Bu gönderiyi gizle?"
-#: src/view/com/notifications/FeedItem.tsx:319
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "Kullanıcı listesini gizle"
@@ -2151,11 +2258,11 @@ msgstr ""
msgid "Hmmmm, we couldn't load that moderation service."
msgstr ""
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Ana Sayfa"
@@ -2170,7 +2277,7 @@ msgid "Host:"
msgstr ""
#: src/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
@@ -2180,11 +2287,13 @@ msgstr "Barındırma sağlayıcısı"
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
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "Bir kodum var"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr "Bir onay kodum var"
@@ -2204,11 +2313,11 @@ msgstr "Hiçbiri seçilmezse, tüm yaşlar için uygun."
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:610
+#: 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:342
msgid "If you remove this post, you won't be able to recover it."
msgstr ""
@@ -2268,11 +2377,15 @@ msgstr "Hesap silme için şifre girin"
#~ msgid "Input phone number for SMS verification"
#~ msgstr "SMS doğrulaması için telefon numarası girin"
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr "{identifier} ile ilişkili şifreyi girin"
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
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"
@@ -2284,7 +2397,7 @@ msgstr "Kaydolurken kullandığınız kullanıcı adını veya e-posta adresini
#~ 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
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr "Şifrenizi girin"
@@ -2292,15 +2405,20 @@ msgstr "Şifrenizi girin"
msgid "Input your preferred hosting provider"
msgstr ""
-#: src/screens/Signup/StepHandle.tsx:62
+#: 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
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr "Geçersiz veya desteklenmeyen gönderi kaydı"
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr "Geçersiz kullanıcı adı veya şifre"
@@ -2336,8 +2454,7 @@ msgstr "Davet kodları: 1 kullanılabilir"
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/HomeLoggedOutCTA.tsx:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "İşler"
@@ -2370,11 +2487,11 @@ msgstr ""
msgid "Labeled by the author."
msgstr ""
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
msgstr ""
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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 ""
@@ -2394,16 +2511,16 @@ msgstr ""
msgid "Language selection"
msgstr "Dil seçimi"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr "Dil ayarları"
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Dil Ayarları"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "Diller"
@@ -2411,6 +2528,11 @@ msgstr "Diller"
#~ msgid "Last step!"
#~ msgstr "Son adım!"
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr ""
+
#: src/view/com/util/moderation/ContentHider.tsx:103
#~ msgid "Learn more"
#~ msgstr "Daha fazla bilgi edinin"
@@ -2449,7 +2571,7 @@ msgstr "Bluesky'dan ayrılıyor"
msgid "left to go."
msgstr "kaldı."
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "Eski depolama temizlendi, şimdi uygulamayı yeniden başlatmanız gerekiyor."
@@ -2466,22 +2588,22 @@ msgstr "Hadi gidelim!"
#~ msgid "Library"
#~ msgstr "Kütüphane"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr "Açık"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Beğen"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
msgid "Liked by"
msgstr "Beğenenler"
@@ -2499,29 +2621,29 @@ msgstr "{0} {1} tarafından beğenildi"
msgid "Liked by {count} {0}"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "özel beslemenizi beğendi"
-#: src/view/com/notifications/FeedItem.tsx:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "gönderinizi beğendi"
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr "Beğeniler"
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr "Bu gönderideki beğeniler"
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr "Liste"
@@ -2529,7 +2651,7 @@ msgstr "Liste"
msgid "List Avatar"
msgstr "Liste Avatarı"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Liste engellendi"
@@ -2537,11 +2659,11 @@ msgstr "Liste engellendi"
msgid "List by {0}"
msgstr "{0} tarafından liste"
-#: src/view/screens/ProfileList.tsx:355
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr "Liste silindi"
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr "Liste sessize alındı"
@@ -2549,20 +2671,20 @@ msgstr "Liste sessize alındı"
msgid "List Name"
msgstr "Liste Adı"
-#: src/view/screens/ProfileList.tsx:325
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Liste engeli kaldırıldı"
-#: src/view/screens/ProfileList.tsx:297
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Liste sessizden çıkarıldı"
-#: src/Navigation.tsx:114
-#: src/view/screens/Profile.tsx:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "Listeler"
@@ -2575,10 +2697,10 @@ msgstr "Listeler"
msgid "Load new notifications"
msgstr "Yeni bildirimleri yükle"
-#: src/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Yeni gönderileri yükle"
@@ -2590,7 +2712,7 @@ msgstr "Yükleniyor..."
#~ msgid "Local dev server"
#~ msgstr "Yerel geliştirme sunucusu"
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr "Log"
@@ -2609,6 +2731,10 @@ msgstr "Çıkış yapan görünürlüğü"
msgid "Login to account that is not listed"
msgstr "Listelenmeyen hesaba giriş yap"
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+msgstr ""
+
#: src/screens/Login/SetNewPasswordForm.tsx:116
msgid "Looks like XXXXX-XXXXX"
msgstr ""
@@ -2621,7 +2747,8 @@ msgstr "Bu gitmek istediğiniz yer olduğundan emin olun!"
msgid "Manage your muted words and tags"
msgstr ""
-#: src/view/screens/Profile.tsx:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr "Medya"
@@ -2633,8 +2760,8 @@ msgstr "bahsedilen kullanıcılar"
msgid "Mentioned users"
msgstr "Bahsedilen kullanıcılar"
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "Menü"
@@ -2646,12 +2773,12 @@ msgstr "Sunucudan mesaj: {0}"
msgid "Misleading Account"
msgstr ""
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Moderasyon"
@@ -2664,13 +2791,13 @@ msgstr ""
msgid "Moderation list by {0}"
msgstr "{0} tarafından moderasyon listesi"
-#: src/view/screens/ProfileList.tsx:789
+#: 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:787
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Sizin tarafınızdan moderasyon listesi"
@@ -2686,16 +2813,16 @@ msgstr "Moderasyon listesi güncellendi"
msgid "Moderation lists"
msgstr "Moderasyon listeleri"
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Moderasyon Listeleri"
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr "Moderasyon ayarları"
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
msgstr ""
@@ -2716,7 +2843,7 @@ msgstr ""
msgid "More feeds"
msgstr "Daha fazla besleme"
-#: src/view/screens/ProfileList.tsx:599
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Daha fazla seçenek"
@@ -2741,7 +2868,7 @@ msgstr ""
msgid "Mute Account"
msgstr "Hesabı Sessize Al"
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Hesapları sessize al"
@@ -2757,12 +2884,12 @@ msgstr ""
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 "Listeyi sessize al"
-#: src/view/screens/ProfileList.tsx:619
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "Bu hesapları sessize al?"
@@ -2778,13 +2905,13 @@ msgstr ""
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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
msgid "Mute thread"
msgstr "Konuyu sessize al"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
msgstr ""
@@ -2796,12 +2923,12 @@ msgstr "Sessize alındı"
msgid "Muted accounts"
msgstr "Sessize alınan hesaplar"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr "Sessize Alınan Hesaplar"
-#: 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 "Sessize alınan hesapların gönderileri beslemenizden ve bildirimlerinizden kaldırılır. Sessizlik tamamen özeldir."
@@ -2813,7 +2940,7 @@ msgstr ""
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 "Sessizlik özeldir. Sessize alınan hesaplar sizinle etkileşime geçebilir, ancak gönderilerini görmeyecek ve onlardan bildirim almayacaksınız."
@@ -2822,7 +2949,7 @@ msgstr "Sessizlik özeldir. Sessize alınan hesaplar sizinle etkileşime geçebi
msgid "My Birthday"
msgstr "Doğum Günüm"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "Beslemelerim"
@@ -2830,11 +2957,11 @@ msgstr "Beslemelerim"
msgid "My Profile"
msgstr "Profilim"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
msgstr ""
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
msgid "My Saved Feeds"
msgstr "Kayıtlı Beslemelerim"
@@ -2858,7 +2985,7 @@ msgid "Nature"
msgstr "Doğa"
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Sonraki ekrana yönlendirir"
@@ -2867,7 +2994,7 @@ msgstr "Sonraki ekrana yönlendirir"
msgid "Navigates to your profile"
msgstr "Profilinize yönlendirir"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
msgid "Need to report a copyright violation?"
msgstr ""
@@ -2910,17 +3037,17 @@ msgstr "Yeni şifre"
msgid "New Password"
msgstr "Yeni Şifre"
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
msgctxt "action"
msgid "New post"
msgstr "Yeni gönderi"
-#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Feeds.tsx:580
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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"
@@ -2944,12 +3071,12 @@ msgstr "Haberler"
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -2973,8 +3100,8 @@ msgstr "Sonraki resim"
msgid "No"
msgstr "Hayır"
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Açıklama yok"
@@ -2982,11 +3109,15 @@ msgstr "Açıklama yok"
msgid "No DNS Panel"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr "{0} artık takip edilmiyor"
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
msgstr ""
@@ -2999,20 +3130,24 @@ msgstr "Henüz bildirim yok!"
msgid "No result"
msgstr "Sonuç yok"
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
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}\" için sonuç bulunamadı"
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "{query} için sonuç bulunamadı"
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr ""
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
@@ -3035,19 +3170,19 @@ msgstr ""
msgid "Not Applicable."
msgstr "Uygulanamaz."
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: 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
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr "Şu anda değil"
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
msgstr ""
@@ -3055,13 +3190,13 @@ msgstr ""
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:469
+#: src/Navigation.tsx:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Bildirimler"
@@ -3073,7 +3208,7 @@ msgstr "Çıplaklık"
msgid "Nudity or adult content not labeled as such"
msgstr ""
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
msgstr ""
@@ -3081,7 +3216,8 @@ msgstr ""
msgid "Off"
msgstr ""
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "Oh hayır!"
@@ -3090,7 +3226,7 @@ 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:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
msgstr ""
@@ -3102,11 +3238,11 @@ msgstr "Tamam"
msgid "Oldest replies first"
msgstr "En eski yanıtlar önce"
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr "Onboarding sıfırlama"
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr "Bir veya daha fazla resimde alternatif metin eksik."
@@ -3114,17 +3250,17 @@ msgstr "Bir veya daha fazla resimde alternatif metin eksik."
msgid "Only {0} can reply."
msgstr "Yalnızca {0} yanıtlayabilir."
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
msgstr ""
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
msgstr ""
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Hata!"
@@ -3132,16 +3268,16 @@ msgstr "Hata!"
msgid "Open"
msgstr "Aç"
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr "Emoji seçiciyi aç"
-#: src/view/screens/ProfileFeed.tsx:300
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
msgstr ""
-#: src/view/screens/Settings/index.tsx:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr "Uygulama içi tarayıcıda bağlantıları aç"
@@ -3149,20 +3285,20 @@ msgstr "Uygulama içi tarayıcıda bağlantıları aç"
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 "Navigasyonu aç"
-#: 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:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr "Storybook sayfasını aç"
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
msgstr ""
@@ -3170,15 +3306,19 @@ msgstr ""
msgid "Opens {numItems} options"
msgstr "{numItems} seçeneği açar"
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr ""
+
#: 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:353
+#: 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
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr "Cihazdaki kamerayı açar"
@@ -3186,11 +3326,11 @@ msgstr "Cihazdaki kamerayı açar"
msgid "Opens composer"
msgstr "Besteciyi açar"
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr "Yapılandırılabilir dil ayarlarını açar"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
msgid "Opens device photo gallery"
msgstr "Cihaz fotoğraf galerisini açar"
@@ -3198,19 +3338,17 @@ msgstr "Cihaz fotoğraf galerisini açar"
#~ 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:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr "Harici gömülü ayarları açar"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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 ""
@@ -3222,6 +3360,10 @@ msgstr ""
#~ msgid "Opens following list"
#~ msgstr "Takip listesini açar"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr ""
+
#: src/view/screens/Settings.tsx:412
#~ msgid "Opens invite code list"
#~ msgstr "Davet kodu listesini açar"
@@ -3230,7 +3372,7 @@ msgstr ""
msgid "Opens list of invite codes"
msgstr "Davet kodu listesini açar"
-#: src/view/screens/Settings/index.tsx:798
+#: src/view/screens/Settings/index.tsx:757
msgid "Opens modal for account deletion confirmation. Requires email code"
msgstr ""
@@ -3238,19 +3380,19 @@ msgstr ""
#~ 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:756
+#: src/view/screens/Settings/index.tsx:715
msgid "Opens modal for changing your Bluesky password"
msgstr ""
-#: src/view/screens/Settings/index.tsx:718
+#: src/view/screens/Settings/index.tsx:670
msgid "Opens modal for choosing a new Bluesky handle"
msgstr ""
-#: src/view/screens/Settings/index.tsx:779
+#: src/view/screens/Settings/index.tsx:738
msgid "Opens modal for downloading your Bluesky account data (repository)"
msgstr ""
-#: src/view/screens/Settings/index.tsx:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
msgstr ""
@@ -3258,24 +3400,24 @@ msgstr ""
msgid "Opens modal for using custom domain"
msgstr "Özel alan adı kullanımı için modalı açar"
-#: src/view/screens/Settings/index.tsx:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "Moderasyon ayarlarını açar"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
msgid "Opens password reset form"
msgstr "Şifre sıfırlama formunu açar"
-#: 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 "Kayıtlı Beslemeleri düzenlemek için ekranı açar"
-#: src/view/screens/Settings/index.tsx:597
+#: src/view/screens/Settings/index.tsx:549
msgid "Opens screen with all saved feeds"
msgstr "Tüm kayıtlı beslemeleri içeren ekrana açar"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:648
msgid "Opens the app password settings"
msgstr ""
@@ -3283,7 +3425,7 @@ msgstr ""
#~ msgid "Opens the app password settings page"
#~ msgstr "Uygulama şifre ayarları sayfasını açar"
-#: src/view/screens/Settings/index.tsx:554
+#: src/view/screens/Settings/index.tsx:506
msgid "Opens the Following feed preferences"
msgstr ""
@@ -3295,16 +3437,16 @@ msgstr ""
msgid "Opens the linked website"
msgstr ""
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr "Storybook sayfasını açar"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "Sistem log sayfasını açar"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "Konu tercihlerini açar"
@@ -3312,7 +3454,7 @@ msgstr "Konu tercihlerini açar"
msgid "Option {0} of {numItems}"
msgstr "{0} seçeneği, {numItems} seçenekten"
-#: src/components/ReportDialog/SubmitView.tsx:162
+#: src/components/ReportDialog/SubmitView.tsx:160
msgid "Optionally provide additional information below:"
msgstr ""
@@ -3336,7 +3478,7 @@ msgstr "Diğer hesap"
msgid "Other..."
msgstr "Diğer..."
-#: src/components/Lists.tsx:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Sayfa bulunamadı"
@@ -3345,8 +3487,8 @@ msgstr "Sayfa bulunamadı"
msgid "Page Not Found"
msgstr "Sayfa Bulunamadı"
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3364,11 +3506,19 @@ msgstr "Şifre güncellendi"
msgid "Password updated!"
msgstr "Şifre güncellendi!"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr "@{0} tarafından takip edilenler"
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr "@{0} tarafından takip edilenler"
@@ -3392,23 +3542,31 @@ msgstr "Evcil Hayvanlar"
msgid "Pictures meant for adults."
msgstr "Yetişkinler için resimler."
-#: src/view/screens/ProfileFeed.tsx:292
-#: src/view/screens/ProfileList.tsx:563
+#: 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:295
+#: 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 "Sabitleme Beslemeleri"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Play"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "{0} oynat"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3475,11 +3633,11 @@ msgstr ""
#~ 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
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr "Lütfen E-postanızı Doğrulayın"
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr "Bağlantı kartınızın yüklenmesini bekleyin"
@@ -3491,8 +3649,8 @@ msgstr "Politika"
msgid "Porn"
msgstr "Pornografi"
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr "Gönder"
@@ -3502,17 +3660,17 @@ msgctxt "description"
msgid "Post"
msgstr "Gönderi"
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr "{0} tarafından gönderi"
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
msgid "Post by @{0}"
msgstr "@{0} tarafından gönderi"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:105
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Gönderi silindi"
@@ -3547,7 +3705,7 @@ msgstr "Gönderi bulunamadı"
msgid "posts"
msgstr ""
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr "Gönderiler"
@@ -3563,13 +3721,13 @@ msgstr "Gönderiler gizlendi"
msgid "Potentially Misleading Link"
msgstr "Potansiyel Yanıltıcı Bağlantı"
-#: src/components/forms/HostingProvider.tsx:45
+#: 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:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
msgstr ""
@@ -3585,16 +3743,16 @@ msgstr "Birincil Dil"
msgid "Prioritize Your Follows"
msgstr "Takipçilerinizi Önceliklendirin"
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Gizlilik"
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Gizlilik Politikası"
@@ -3603,15 +3761,15 @@ msgid "Processing..."
msgstr "İşleniyor..."
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
msgstr ""
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Profil"
@@ -3619,7 +3777,7 @@ msgstr "Profil"
msgid "Profile updated"
msgstr "Profil güncellendi"
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "E-postanızı doğrulayarak hesabınızı koruyun."
@@ -3635,11 +3793,11 @@ msgstr "Toplu olarak sessize almak veya engellemek için herkese açık, paylaş
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
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr "Gönderiyi yayınla"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr "Yanıtı yayınla"
@@ -3665,15 +3823,15 @@ msgstr "Rastgele (yani \"Gönderenin Ruleti\")"
msgid "Ratios"
msgstr "Oranlar"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr "Önerilen Beslemeler"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
msgid "Recommended Users"
msgstr "Önerilen Kullanıcılar"
@@ -3694,7 +3852,7 @@ msgstr "Kaldır"
msgid "Remove account"
msgstr "Hesabı kaldır"
-#: src/view/com/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
msgstr ""
@@ -3712,8 +3870,8 @@ msgstr ""
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Beslemelerimden kaldır"
@@ -3725,7 +3883,7 @@ msgstr ""
msgid "Remove image"
msgstr "Resmi kaldır"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr "Resim önizlemesini kaldır"
@@ -3758,15 +3916,15 @@ msgstr "Listeden kaldırıldı"
msgid "Removed from my feeds"
msgstr "Beslemelerimden kaldırıldı"
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
msgstr ""
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr "{0} adresinden varsayılan küçük resmi kaldırır"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr "Yanıtlar"
@@ -3774,7 +3932,7 @@ msgstr "Yanıtlar"
msgid "Replies to this thread are disabled"
msgstr "Bu konuya yanıtlar devre dışı bırakıldı"
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr "Yanıtla"
@@ -3783,11 +3941,17 @@ msgstr "Yanıtla"
msgid "Reply Filters"
msgstr "Yanıt Filtreleri"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
+#: 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/post/Post.tsx:178
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
-msgid "Reply to <0/>"
-msgstr "<0/>'a yanıt"
+msgid "Reply to <0><1/>0>"
+msgstr ""
#: src/view/com/modals/report/Modal.tsx:166
#~ msgid "Report {collectionName}"
@@ -3802,17 +3966,17 @@ msgstr "Hesabı Raporla"
msgid "Report dialog"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "Beslemeyi raporla"
-#: src/view/screens/ProfileList.tsx:429
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Listeyi Raporla"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:292
-#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "Gönderiyi raporla"
@@ -3857,19 +4021,23 @@ msgstr "Gönderiyi yeniden gönder veya alıntıla"
msgid "Reposted By"
msgstr "Yeniden Gönderen"
-#: src/view/com/posts/FeedItem.tsx:197
+#: 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"
+#~ 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:166
+#: 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
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr "Bu gönderinin yeniden gönderilmesi"
@@ -3887,14 +4055,23 @@ msgstr "Değişiklik İste"
msgid "Request Code"
msgstr "Kod İste"
-#: src/view/screens/Settings/index.tsx:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr "Göndermeden önce alternatif metin gerektir"
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr ""
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Bu sağlayıcı için gereklidir"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr ""
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Sıfırlama kodu"
@@ -3907,8 +4084,8 @@ msgstr "Sıfırlama Kodu"
#~ msgid "Reset onboarding"
#~ msgstr "Onboarding sıfırla"
-#: src/view/screens/Settings/index.tsx:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr "Onboarding durumunu sıfırla"
@@ -3920,20 +4097,20 @@ msgstr "Şifreyi sıfırla"
#~ msgid "Reset preferences"
#~ msgstr "Tercihleri sıfırla"
-#: src/view/screens/Settings/index.tsx:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr "Tercih durumunu sıfırla"
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr "Onboarding durumunu sıfırlar"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr "Tercih durumunu sıfırlar"
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr "Giriş tekrar denemesi"
@@ -3942,13 +4119,13 @@ msgstr "Giriş tekrar denemesi"
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/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
@@ -3958,8 +4135,8 @@ msgstr "Tekrar dene"
#~ msgid "Retry."
#~ msgstr "Tekrar dene."
-#: src/components/Error.tsx:86
-#: src/view/screens/ProfileList.tsx:917
+#: src/components/Error.tsx:95
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Önceki sayfaya dön"
@@ -3976,12 +4153,6 @@ msgstr ""
#~ msgid "SANDBOX. Posts and accounts are not permanent."
#~ msgstr "KUM KUTUSU. Gönderiler ve hesaplar kalıcı değildir."
-#: src/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:346
-msgctxt "action"
-msgid "Save"
-msgstr "Kaydet"
-
#: src/components/dialogs/BirthDateSettings.tsx:125
#: src/view/com/modals/ChangeHandle.tsx:174
#: src/view/com/modals/CreateOrEditList.tsx:338
@@ -3989,6 +4160,12 @@ msgstr "Kaydet"
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"
@@ -4009,12 +4186,12 @@ msgstr "Kullanıcı adı değişikliğini kaydet"
msgid "Save image crop"
msgstr "Resim kırpma kaydet"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: 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 "Kayıtlı Beslemeler"
@@ -4022,7 +4199,7 @@ msgstr "Kayıtlı Beslemeler"
msgid "Saved to your camera roll."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
msgstr ""
@@ -4042,28 +4219,28 @@ msgstr ""
msgid "Science"
msgstr "Bilim"
-#: src/view/screens/ProfileList.tsx:873
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Başa kaydır"
-#: src/Navigation.tsx:459
+#: src/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Ara"
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "\"{query}\" için ara"
@@ -4082,6 +4259,14 @@ msgstr ""
msgid "Search for users"
msgstr "Kullanıcıları ara"
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr ""
+
#: src/view/com/modals/ChangeEmail.tsx:110
msgid "Security Step Required"
msgstr "Güvenlik Adımı Gerekli"
@@ -4102,13 +4287,18 @@ msgstr ""
msgid "See <0>{displayTag}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 "Bu kılavuzu gör"
#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
-msgid "See what's next"
-msgstr "Ne olduğunu gör"
+#~ msgid "See what's next"
+#~ msgstr "Ne olduğunu gör"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
@@ -4126,6 +4316,14 @@ msgstr ""
msgid "Select from an existing account"
msgstr "Mevcut bir hesaptan seç"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
msgstr ""
@@ -4147,7 +4345,7 @@ msgstr "{i} seçeneği, {numItems} seçenekten"
msgid "Select some accounts below to follow"
msgstr "Aşağıdaki hesaplardan bazılarını takip et"
-#: src/components/ReportDialog/SubmitView.tsx:135
+#: src/components/ReportDialog/SubmitView.tsx:133
msgid "Select the moderation service(s) to report to"
msgstr ""
@@ -4175,7 +4373,7 @@ msgstr "Abone olduğunuz beslemelerin hangi dilleri içermesini istediğinizi se
msgid "Select your app language for the default text to display in the app."
msgstr ""
-#: src/screens/Signup/StepInfo/index.tsx:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
msgstr ""
@@ -4199,8 +4397,8 @@ msgstr "Birincil algoritmik beslemelerinizi seçin"
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
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "Onay E-postası Gönder"
@@ -4213,13 +4411,13 @@ msgctxt "action"
msgid "Send Email"
msgstr "E-posta Gönder"
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Geribildirim gönder"
-#: 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 ""
@@ -4231,6 +4429,11 @@ msgstr ""
msgid "Send report to {0}"
msgstr ""
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
+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"
@@ -4313,23 +4516,23 @@ msgstr "Hesabınızı ayarlayın"
msgid "Sets Bluesky username"
msgstr "Bluesky kullanıcı adını ayarlar"
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
msgstr ""
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
msgstr ""
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
msgstr ""
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
msgstr ""
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
msgstr ""
@@ -4358,11 +4561,11 @@ msgstr ""
#~ msgid "Sets server for the Bluesky client"
#~ msgstr "Bluesky istemcisi için sunucuyu ayarlar"
-#: src/Navigation.tsx:139
-#: src/view/screens/Settings/index.tsx:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Ayarlar"
@@ -4381,21 +4584,21 @@ msgstr "Paylaş"
#: 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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: 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:347
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Beslemeyi paylaş"
@@ -4412,7 +4615,7 @@ msgstr ""
#: 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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr "Göster"
@@ -4438,13 +4641,13 @@ msgstr ""
#~ msgid "Show embeds from {0}"
#~ msgstr "{0} adresinden gömülü öğeleri göster"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr "{0} adresine benzer takipçileri göster"
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr "Daha Fazla Göster"
@@ -4501,7 +4704,7 @@ msgstr "Takip etme beslemesinde yeniden göndermeleri göster"
msgid "Show the content"
msgstr "İçeriği göster"
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Kullanıcıları göster"
@@ -4521,24 +4724,24 @@ msgstr ""
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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr "Giriş yap"
@@ -4556,28 +4759,36 @@ msgstr "{0} olarak giriş yap"
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/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "Çıkış yap"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
msgid "Sign up"
msgstr "Kaydol"
-#: src/view/shell/NavSignupCard.tsx:42
+#: 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"
@@ -4586,7 +4797,7 @@ msgstr "Konuşmaya katılmak için kaydolun veya giriş yapın"
msgid "Sign-in Required"
msgstr "Giriş Yapılması Gerekiyor"
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "Olarak giriş yapıldı"
@@ -4622,7 +4833,7 @@ msgstr "Yazılım Geliştirme"
#: src/components/ReportDialog/index.tsx:59
#: src/screens/Moderation/index.tsx:114
-#: src/screens/Profile/Sections/Labels.tsx:76
+#: src/screens/Profile/Sections/Labels.tsx:87
msgid "Something went wrong, please try again."
msgstr ""
@@ -4630,7 +4841,7 @@ msgstr ""
#~ 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:66
+#: 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."
@@ -4666,11 +4877,11 @@ msgstr "Kare"
#~ msgid "Staging"
#~ msgstr "Staging"
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "Durum sayfası"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
msgstr ""
@@ -4678,12 +4889,12 @@ msgstr ""
#~ msgid "Step {0} of {numSteps}"
#~ msgstr "{numSteps} adımdan {0}. adım"
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
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:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr "Storybook"
@@ -4692,15 +4903,15 @@ msgstr "Storybook"
msgid "Submit"
msgstr "Submit"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Abone ol"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: src/screens/Profile/Sections/Labels.tsx:191
msgid "Subscribe to @{0} to use these labels:"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
msgstr ""
@@ -4709,15 +4920,15 @@ msgstr ""
msgid "Subscribe to the {0} feed"
msgstr "{0} beslemesine abone ol"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: 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 "Bu listeye abone ol"
-#: src/view/screens/Search/Search.tsx:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "Önerilen Takipçiler"
@@ -4729,7 +4940,7 @@ msgstr "Sana önerilenler"
msgid "Suggestive"
msgstr "Tehlikeli"
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
@@ -4739,24 +4950,24 @@ msgstr "Destek"
#~ 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
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "Hesap Değiştir"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr "{0} adresine geç"
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
msgid "Switches the account you are logged in to"
msgstr "Giriş yaptığınız hesabı değiştirir"
-#: src/view/screens/Settings/index.tsx:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr "Sistem"
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "Sistem günlüğü"
@@ -4784,11 +4995,11 @@ msgstr "Teknoloji"
msgid "Terms"
msgstr "Şartlar"
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Hizmet Şartları"
@@ -4806,7 +5017,7 @@ msgstr ""
msgid "Text input field"
msgstr "Metin giriş alanı"
-#: src/components/ReportDialog/SubmitView.tsx:78
+#: src/components/ReportDialog/SubmitView.tsx:76
msgid "Thank you. Your report has been sent."
msgstr ""
@@ -4814,11 +5025,11 @@ msgstr ""
msgid "That contains the following:"
msgstr ""
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: 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."
@@ -4868,8 +5079,8 @@ msgstr "Hizmet Şartları taşındı"
msgid "There are many feeds to try:"
msgstr "Denemek için birçok besleme var:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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."
@@ -4877,15 +5088,19 @@ msgstr "Sunucuya ulaşma konusunda bir sorun oluştu, lütfen internet bağlant
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:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+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 "Sunucuya ulaşma konusunda bir sorun oluştu"
@@ -4908,12 +5123,12 @@ msgstr "Gönderileri almakta bir sorun oluştu. Tekrar denemek için buraya doku
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: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 "Listelerinizi almakta bir sorun oluştu. Tekrar denemek için buraya dokunun."
-#: 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 ""
@@ -4925,9 +5140,9 @@ msgstr "Tercihlerinizi sunucuyla senkronize etme konusunda bir sorun oluştu"
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/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -4939,14 +5154,15 @@ msgstr "Uygulama şifrelerinizi almakta bir sorun oluştu"
msgid "There was an issue! {0}"
msgstr "Bir sorun oluştu! {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 "Bir sorun oluştu. Lütfen internet bağlantınızı kontrol edin ve tekrar deneyin."
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
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!"
@@ -5003,9 +5219,9 @@ msgstr ""
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:50
-#: src/view/screens/ProfileFeed.tsx:477
-#: 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 "Bu besleme boş!"
@@ -5017,7 +5233,7 @@ msgstr "Bu besleme boş! Daha fazla kullanıcı takip etmeniz veya dil ayarları
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
+#: src/view/com/modals/VerifyEmail.tsx:127
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."
@@ -5025,7 +5241,7 @@ msgstr "Bu, e-postanızı değiştirmeniz veya şifrenizi sıfırlamanız gerekt
msgid "This label was applied by {0}."
msgstr ""
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: src/screens/Profile/Sections/Labels.tsx:178
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
msgstr ""
@@ -5033,7 +5249,7 @@ msgstr ""
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:853
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "Bu liste boş!"
@@ -5045,16 +5261,16 @@ msgstr ""
msgid "This name is already in use"
msgstr "Bu isim zaten kullanılıyor"
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr "Bu gönderi silindi."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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:352
msgid "This post will be hidden from feeds."
msgstr ""
@@ -5115,12 +5331,12 @@ msgstr ""
#~ msgid "This will hide this post from your feeds."
#~ msgstr "Bu, bu gönderiyi beslemelerinizden gizleyecektir."
-#: src/view/screens/Settings/index.tsx:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
msgstr ""
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "Konu Tercihleri"
@@ -5128,10 +5344,14 @@ msgstr "Konu Tercihleri"
msgid "Threaded Mode"
msgstr "Konu Tabanlı Mod"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr "Konu Tercihleri"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr ""
+
#: src/components/ReportDialog/SelectLabelerView.tsx:33
msgid "To whom would you like to send this report?"
msgstr ""
@@ -5148,14 +5368,19 @@ msgstr "Açılır menüyü aç/kapat"
msgid "Toggle to enable or disable adult content"
msgstr ""
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr ""
+
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Dönüşümler"
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "Çevir"
@@ -5164,35 +5389,39 @@ msgctxt "action"
msgid "Try again"
msgstr "Tekrar dene"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr ""
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
msgstr ""
-#: src/view/screens/ProfileList.tsx:478
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Listeyi engeli kaldır"
-#: src/view/screens/ProfileList.tsx:461
+#: 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/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
-#: src/view/screens/ProfileList.tsx:572
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Engeli kaldır"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr "Engeli kaldır"
@@ -5202,7 +5431,7 @@ msgstr "Engeli kaldır"
msgid "Unblock Account"
msgstr "Hesabın engelini kaldır"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
msgstr ""
@@ -5215,7 +5444,7 @@ msgid "Undo repost"
msgstr "Yeniden göndermeyi geri al"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
msgstr ""
@@ -5224,7 +5453,7 @@ msgctxt "action"
msgid "Unfollow"
msgstr "Takibi bırak"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
msgid "Unfollow {0}"
msgstr "{0} adresini takibi bırak"
@@ -5237,16 +5466,16 @@ msgstr ""
#~ 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:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Beğenmeyi geri al"
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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 "Sessizden çıkar"
@@ -5263,21 +5492,21 @@ msgstr "Hesabın sessizliğini kaldır"
msgid "Unmute all {displayTag} 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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "Konunun sessizliğini kaldır"
-#: src/view/screens/ProfileFeed.tsx:295
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Sabitlemeyi kaldır"
-#: src/view/screens/ProfileFeed.tsx:292
+#: 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 "Moderasyon listesini sabitlemeyi kaldır"
@@ -5285,11 +5514,11 @@ msgstr "Moderasyon listesini sabitlemeyi kaldır"
#~ msgid "Unsave"
#~ msgstr "Kaydedilenlerden kaldır"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
msgstr ""
@@ -5317,20 +5546,20 @@ msgstr "Güncelleniyor..."
msgid "Upload a text file to:"
msgstr "Bir metin dosyası yükleyin:"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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:343
+#: 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:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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"
@@ -5408,13 +5637,13 @@ msgstr "Kullanıcı Sizi Engelledi"
msgid "User list by {0}"
msgstr "{0} tarafından oluşturulan kullanıcı listesi"
-#: src/view/screens/ProfileList.tsx:777
+#: 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:775
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "Sizin tarafınızdan oluşturulan kullanıcı listesi"
@@ -5430,11 +5659,11 @@ msgstr "Kullanıcı listesi güncellendi"
msgid "User Lists"
msgstr "Kullanıcı Listeleri"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "Kullanıcı adı veya e-posta adresi"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "Kullanıcılar"
@@ -5462,15 +5691,15 @@ msgstr ""
msgid "Verify {0}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "E-postayı doğrula"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "E-postamı doğrula"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "E-postamı Doğrula"
@@ -5479,11 +5708,11 @@ msgstr "E-postamı Doğrula"
msgid "Verify New Email"
msgstr "Yeni E-postayı Doğrula"
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr "E-postanızı Doğrulayın"
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
msgstr ""
@@ -5499,11 +5728,11 @@ msgstr "{0}'ın avatarını görüntüle"
msgid "View debug entry"
msgstr "Hata ayıklama girişini görüntüle"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
msgstr ""
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
msgstr ""
@@ -5515,6 +5744,8 @@ msgstr "Tam konuyu görüntüle"
msgid "View information about these labels"
msgstr ""
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Profili görüntüle"
@@ -5527,7 +5758,7 @@ msgstr "Avatarı görüntüle"
msgid "View the labeling service provided by @{0}"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
msgstr ""
@@ -5555,7 +5786,7 @@ msgstr ""
#~ 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
+#: src/screens/Hashtag.tsx:210
msgid "We couldn't find any results for that hashtag."
msgstr ""
@@ -5603,11 +5834,11 @@ msgstr "Hesabınız hazır olduğunda size bildireceğiz."
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:130
+#: 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: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 "Üzgünüz, ancak bu listeyi çözemedik. Bu durum devam ederse, lütfen liste oluşturucu, @{handleOrDid} ile iletişime geçin."
@@ -5615,16 +5846,16 @@ msgstr "Üzgünüz, ancak bu listeyi çözemedik. Bu durum devam ederse, lütfen
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:256
+#: src/view/screens/Search/Search.tsx:323
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/components/Lists.tsx:197
#: 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:321
+#: 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 ""
@@ -5640,9 +5871,9 @@ msgstr "İlgi alanlarınız nelerdir?"
#~ msgid "What is the issue with this {collectionName}?"
#~ msgstr "Bu {collectionName} ile ilgili sorun nedir?"
-#: src/view/com/auth/SplashScreen.tsx:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr "Nasılsınız?"
@@ -5683,11 +5914,11 @@ msgstr ""
msgid "Wide"
msgstr "Geniş"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "Gönderi yaz"
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Yanıtınızı yazın"
@@ -5740,15 +5971,15 @@ msgstr ""
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:102
+#: src/view/screens/SavedFeeds.tsx:103
msgid "You don't have any pinned feeds."
msgstr "Sabitlemiş beslemeniz yok."
-#: src/view/screens/Feeds.tsx:452
+#: src/view/screens/Feeds.tsx:477
msgid "You don't have any saved feeds!"
msgstr "Kaydedilmiş beslemeniz yok!"
-#: src/view/screens/SavedFeeds.tsx:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr "Kaydedilmiş beslemeniz yok."
@@ -5790,16 +6021,16 @@ msgstr ""
#~ msgid "You have muted this user."
#~ msgstr "Bu kullanıcıyı sessize aldınız."
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: 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:140
+#: src/view/com/lists/ProfileLists.tsx:148
msgid "You have no lists."
msgstr "Listeniz yok."
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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 ""
@@ -5811,7 +6042,7 @@ msgstr ""
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:131
+#: 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 ""
@@ -5839,15 +6070,15 @@ msgstr ""
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: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 "Artık bu konu için bildirim almayacaksınız"
-#: 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 "Artık bu konu için bildirim alacaksınız"
@@ -5878,7 +6109,7 @@ msgstr ""
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:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Hesabınız"
@@ -5890,7 +6121,7 @@ msgstr "Hesabınız silindi"
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:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Doğum tarihiniz"
@@ -5916,7 +6147,7 @@ msgstr "E-postanız geçersiz gibi görünüyor."
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
+#: src/view/com/modals/VerifyEmail.tsx:122
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."
@@ -5924,7 +6155,7 @@ msgstr "E-postanız henüz doğrulanmadı. Bu, önerdiğimiz önemli bir güvenl
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:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Tam kullanıcı adınız"
@@ -5945,7 +6176,7 @@ msgstr ""
msgid "Your password has been changed successfully!"
msgstr "Şifreniz başarıyla değiştirildi!"
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr "Gönderiniz yayınlandı"
@@ -5955,14 +6186,14 @@ msgstr "Gönderiniz yayınlandı"
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:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "Profiliniz"
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr "Yanıtınız yayınlandı"
-#: src/screens/Signup/index.tsx:152
+#: 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 2b22523cf0..9f4dda3997 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-14 10:31\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"
@@ -18,33 +18,16 @@ msgstr ""
"X-Crowdin-File: /main/src/locale/locales/en/messages.po\n"
"X-Crowdin-File-ID: 14\n"
-#: src/view/com/modals/VerifyEmail.tsx:142
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr "(немає ел. адреси)"
-#: src/view/shell/desktop/RightNav.tsx:168
-#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
-#~ msgstr ""
-
+#: src/components/ProfileHoverCard/index.web.tsx:438
#: 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:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} непрочитаних"
@@ -54,17 +37,22 @@ msgstr "<0/> учасників"
#: src/view/shell/Drawer.tsx:97
msgid "<0>{0}0> following"
-msgstr ""
+msgstr "<0>{0}0> підписок"
+
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr "<0>{followers} 0><1>{pluralizedFollowers}1>"
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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>"
@@ -72,39 +60,44 @@ msgstr "<0>Підпишіться на деяких 0><1>рекомендов
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Ласкаво просимо до0><1>Bluesky1>"
-#: src/screens/Profile/Header/Handle.tsx:42
+#: 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/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr ""
-#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:649
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
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:300
-#: src/view/screens/Settings/index.tsx:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "Доступність"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr ""
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr ""
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
-msgstr ""
+msgstr "обліковий запис"
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "Обліковий запис"
@@ -114,7 +107,7 @@ msgstr "Обліковий запис заблоковано"
#: src/view/com/profile/ProfileMenu.tsx:153
msgid "Account followed"
-msgstr ""
+msgstr "Ви підписалися на обліковий запис"
#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
@@ -137,14 +130,14 @@ msgstr "Параметри облікового запису"
msgid "Account removed from quick access"
msgstr "Обліковий запис вилучено зі швидкого доступу"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Обліковий запис розблоковано"
#: src/view/com/profile/ProfileMenu.tsx:166
msgid "Account unfollowed"
-msgstr ""
+msgstr "Ви відписалися від облікового запису"
#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
@@ -154,7 +147,7 @@ msgstr "Обліковий запис більше не ігнорується"
#: 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:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Додати"
@@ -162,13 +155,13 @@ 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/components/dialogs/SwitchAccount.tsx:55
-#: src/view/screens/Settings/index.tsx:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr "Додати обліковий запис"
@@ -184,22 +177,13 @@ msgstr "Додати альтернативний текст"
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:467
-msgid "Add link card"
-msgstr "Додати попередній перегляд"
+#~ msgid "Add link card"
+#~ msgstr "Додати попередній перегляд"
#: src/view/com/composer/Composer.tsx:472
-msgid "Add link card:"
-msgstr "Додати попередній перегляд:"
+#~ msgid "Add link card:"
+#~ msgstr "Додати попередній перегляд:"
#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
@@ -245,24 +229,16 @@ msgstr "Налаштуйте мінімальну кількість вподо
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/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
-#~ msgid "Adult content can only be enabled via the Web at <0>bsky.app0>."
-#~ msgstr ""
-
#: src/components/moderation/LabelPreference.tsx:242
msgid "Adult content is disabled."
-msgstr ""
+msgstr "Контент для дорослих вимкнено."
#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
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 "Усі збережені стрічки в одному місці."
@@ -280,6 +256,7 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "Альтернативний текст"
@@ -287,7 +264,8 @@ msgstr "Альтернативний текст"
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
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
msgstr "Було надіслано лист на адресу {0}. Він містить код підтвердження, який можна ввести нижче."
@@ -295,10 +273,16 @@ 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/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:26
msgid "An issue not included in these options"
-msgstr ""
+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
@@ -306,7 +290,7 @@ msgstr ""
msgid "An issue occurred, please try again."
msgstr "Виникла проблема, будь ласка, спробуйте ще раз."
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "та"
@@ -315,9 +299,13 @@ msgstr "та"
msgid "Animals"
msgstr "Тварини"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
-msgstr ""
+msgstr "Антисоціальна поведінка"
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
@@ -335,51 +323,30 @@ msgstr "Назва пароля може містити лише латинсь
msgid "App Password names must be at least 4 characters long."
msgstr "Назва пароля застосунку мусить бути хоча б 4 символи в довжину."
-#: src/view/screens/Settings/index.tsx:695
+#: src/view/screens/Settings/index.tsx:647
msgid "App password settings"
msgstr "Налаштування пароля застосунків"
-#: src/view/screens/Settings.tsx:650
-#~ msgid "App passwords"
-#~ msgstr ""
-
-#: src/Navigation.tsx:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "Паролі для застосунків"
#: src/components/moderation/LabelsOnMeDialog.tsx:133
#: src/components/moderation/LabelsOnMeDialog.tsx:136
msgid "Appeal"
-msgstr ""
+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"
-#~ msgstr "Оскаржити попередження про вміст"
+msgstr "Оскаржити мітку \"{0}\""
#: src/components/moderation/LabelsOnMeDialog.tsx:192
msgid "Appeal submitted."
-msgstr ""
-
-#: src/view/com/util/moderation/LabelInfo.tsx:52
-#~ msgid "Appeal this decision"
-#~ msgstr "Оскаржити це рішення"
+msgstr "Звернення надіслано."
-#: src/view/com/util/moderation/LabelInfo.tsx:56
-#~ msgid "Appeal this decision."
-#~ msgstr "Оскаржити це рішення"
-
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "Оформлення"
@@ -389,9 +356,9 @@ msgstr "Ви дійсно хочете видалити пароль для за
#: src/view/com/feeds/FeedSourceCard.tsx:280
msgid "Are you sure you want to remove {0} from your feeds?"
-msgstr ""
+msgstr "Ви впевнені, що бажаєте видалити {0} зі стрічки?"
-#: src/view/com/composer/Composer.tsx:509
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr "Ви дійсно бажаєте видалити цю чернетку?"
@@ -399,10 +366,6 @@ msgstr "Ви дійсно бажаєте видалити цю чернетку?
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>?"
@@ -415,9 +378,9 @@ msgstr "Мистецтво"
msgid "Artistic or non-erotic nudity."
msgstr "Художня або нееротична оголеність."
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
-msgstr ""
+msgstr "Не менше 3-х символів"
#: src/components/moderation/LabelsOnMeDialog.tsx:246
#: src/components/moderation/LabelsOnMeDialog.tsx:247
@@ -425,26 +388,21 @@ msgstr ""
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr "Назад"
-#: src/view/com/post-thread/PostThread.tsx:480
-#~ msgctxt "action"
-#~ 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:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "Основні"
@@ -452,14 +410,14 @@ msgstr "Основні"
msgid "Birthday"
msgstr "Дата народження"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr "Дата народження:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
-msgstr ""
+msgstr "Заблокувати"
#: src/view/com/profile/ProfileMenu.tsx:300
#: src/view/com/profile/ProfileMenu.tsx:307
@@ -468,27 +426,23 @@ msgstr "Заблокувати"
#: src/view/com/profile/ProfileMenu.tsx:344
msgid "Block Account?"
-msgstr ""
+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/screens/ProfileList.tsx:320
-#~ msgid "Block this List"
-#~ 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 "Заблоковано"
@@ -496,8 +450,8 @@ msgstr "Заблоковано"
msgid "Blocked accounts"
msgstr "Заблоковані облікові записи"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "Заблоковані облікові записи"
@@ -505,7 +459,7 @@ 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:120
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 "Заблоковані облікові записи не можуть вам відповідати, згадувати вас у своїх постах, і взаємодіяти з вами будь-яким іншим чином. Ви не будете бачити їхні пости і вони не будуть бачити ваші."
@@ -513,24 +467,22 @@ msgstr "Заблоковані облікові записи не можуть
msgid "Blocked post."
msgstr "Заблокований пост."
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: src/screens/Profile/Sections/Labels.tsx:163
msgid "Blocking does not prevent this labeler from placing labels on your account."
-msgstr ""
+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 "Блокування - це відкрита інформація. Заблоковані користувачі не можуть відповісти у ваших темах, згадувати вас або іншим чином взаємодіяти з вами."
#: 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 ""
+msgstr "Блокування не завадить додавання міток до вашого облікового запису, але це зупинить можливість цього облікового запису від коментування ваших постів чи взаємодії з вами."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Блог"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -555,43 +507,26 @@ msgstr "Bluesky відкритий."
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/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 ""
+msgstr "Розмити зображення"
#: src/lib/moderation/useLabelBehaviorDescription.ts:51
msgid "Blur images and filter from feeds"
-msgstr ""
+msgstr "Розмити зображення і фільтрувати їх зі стрічки"
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
msgstr "Книги"
-#: src/view/screens/Settings/index.tsx:893
-#~ msgid "Build version {0} {1}"
-#~ msgstr "Версія {0} {1}"
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: 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 "від —"
@@ -602,7 +537,7 @@ msgstr "від {0}"
#: src/components/LabelingServiceCard/index.tsx:57
msgid "By {0}"
-msgstr ""
+msgstr "Від {0}"
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
@@ -610,13 +545,13 @@ msgstr "від <0/>"
#: src/screens/Signup/StepInfo/Policies.tsx:74
msgid "By creating an account you agree to the {els}."
-msgstr ""
+msgstr "Створюючи обліковий запис, ви даєте згоду з {els}."
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr "створено вами"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "Камера"
@@ -628,8 +563,8 @@ msgstr "Може містити лише літери, цифри, пробіл
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -644,9 +579,9 @@ msgstr "Може містити лише літери, цифри, пробіл
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Скасувати"
@@ -684,42 +619,38 @@ msgstr "Скасувати цитування посту"
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 ""
+msgstr "Скасовує відкриття посилання"
-#: src/view/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
-msgstr ""
+msgstr "Змінити"
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "Змінити"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "Змінити псевдонім"
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "Змінити псевдонім"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "Змінити адресу електронної пошти"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr "Змінити пароль"
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr "Зміна пароля"
@@ -727,10 +658,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 "Змінити адресу електронної пошти"
@@ -740,14 +667,18 @@ 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/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr ""
+
#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "Перевірте свою поштову скриньку на наявність електронного листа з кодом підтвердження та введіть його нижче:"
@@ -756,10 +687,6 @@ 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 "Оберіть хостинг-провайдера"
@@ -773,46 +700,42 @@ msgstr "Оберіть алгоритми, що наповнюватимуть
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:104
msgid "Choose your main feeds"
msgstr "Виберіть ваші основні стрічки"
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Вкажіть пароль"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
msgid "Clear all legacy storage data (restart after this)"
msgstr ""
-#: src/view/screens/Settings/index.tsx:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
msgid "Clear all storage data (restart after this)"
msgstr ""
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "Очистити пошуковий запит"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
-msgstr ""
+msgstr "Видаляє всі застарілі дані зі сховища"
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
-msgstr ""
+msgstr "Видаляє всі дані зі сховища"
#: src/view/screens/Support.tsx:40
msgid "click here"
@@ -822,21 +745,22 @@ msgstr "натисніть тут"
msgid "Click here to open tag menu for {tag}"
msgstr "Натисніть тут, щоб відкрити меню тегів для {tag}"
-#: src/components/RichText.tsx:192
-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/components/dialogs/GifSelect.tsx:300
#: 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
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr "Закрити діалогове вікно"
@@ -848,6 +772,14 @@ msgstr "Закрити сповіщення"
msgid "Close bottom drawer"
msgstr "Закрити нижнє меню"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr ""
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Закрити зображення"
@@ -856,7 +788,7 @@ msgstr "Закрити зображення"
msgid "Close image viewer"
msgstr "Закрити перегляд зображення"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr "Закрити панель навігації"
@@ -865,7 +797,7 @@ msgstr "Закрити панель навігації"
msgid "Close this dialog"
msgstr "Закрити діалогове вікно"
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr "Закриває нижню панель навігації"
@@ -873,7 +805,7 @@ msgstr "Закриває нижню панель навігації"
msgid "Closes password update alert"
msgstr "Закриває сповіщення про оновлення пароля"
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr "Закриває редактор постів і видаляє чернетку"
@@ -881,7 +813,7 @@ msgstr "Закриває редактор постів і видаляє чер
msgid "Closes viewer for header image"
msgstr "Закриває перегляд зображення"
-#: src/view/com/notifications/FeedItem.tsx:321
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "Згортає список користувачів для даного сповіщення"
@@ -893,7 +825,7 @@ msgstr "Комедія"
msgid "Comics"
msgstr "Комікси"
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Правила спільноти"
@@ -902,11 +834,11 @@ msgstr "Правила спільноти"
msgid "Complete onboarding and start using your account"
msgstr "Завершіть ознайомлення та розпочніть користуватися вашим обліковим записом"
-#: src/screens/Signup/index.tsx:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "Виконайте завдання"
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Створюйте пости до {MAX_GRAPHEME_LENGTH} символів у довжину"
@@ -920,28 +852,24 @@ msgstr "Налаштувати фільтрування вмісту для ка
#: src/components/moderation/LabelPreference.tsx:81
msgid "Configure content filtering setting for category: {name}"
-msgstr ""
+msgstr "Налаштувати фільтрування вмісту для категорії: {name}"
#: src/components/moderation/LabelPreference.tsx:244
msgid "Configured in <0>moderation settings0>."
-msgstr ""
+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/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
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"
@@ -955,56 +883,43 @@ msgstr "Підтвердити налаштування мови вмісту"
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 ""
+msgstr "Підтвердіть ваш вік:"
#: src/screens/Moderation/index.tsx:292
msgid "Confirm your birthdate"
-msgstr ""
+msgstr "Підтвердіть вашу дату народження"
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
msgid "Confirmation code"
msgstr "Код підтвердження"
-#: src/view/com/modals/Waitlist.tsx:120
-#~ msgid "Confirms signing up {email} to the waitlist"
-#~ msgstr ""
-
-#: src/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "З’єднання..."
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Служба підтримки"
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "content"
-msgstr ""
+msgstr "вміст"
#: src/lib/moderation/useGlobalLabelStrings.ts:18
msgid "Content Blocked"
-msgstr ""
-
-#: src/view/screens/Moderation.tsx:83
-#~ msgid "Content filtering"
-#~ msgstr "Фільтрування вмісту"
-
-#: src/view/com/modals/ContentFilteringSettings.tsx:44
-#~ msgid "Content Filtering"
-#~ msgstr "Фільтрування вмісту"
+msgstr "Заблокований вміст"
#: src/screens/Moderation/index.tsx:285
msgid "Content filters"
-msgstr ""
+msgstr "Фільтри контенту"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
@@ -1029,28 +944,28 @@ msgstr "Попередження про вміст"
#: src/components/Menu/index.web.tsx:84
msgid "Context menu backdrop, click to close the menu."
-msgstr ""
+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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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 ""
+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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Перейти до наступного кроку"
@@ -1071,17 +986,21 @@ msgstr "Кухарство"
msgid "Copied"
msgstr "Скопійовано"
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
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:158
+#: 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 "Копіює пароль застосунку"
@@ -1092,27 +1011,28 @@ msgstr "Скопіювати"
#: src/view/com/modals/ChangeHandle.tsx:480
msgid "Copy {0}"
-msgstr ""
+msgstr "Копіювати {0}"
-#: src/view/screens/ProfileList.tsx:388
+#: 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:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
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:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "Копіювати текст повідомлення"
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Політика захисту авторського права"
@@ -1121,57 +1041,48 @@ msgstr "Політика захисту авторського права"
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/create/Step2.tsx:91
-#~ msgid "Country"
-#~ msgstr ""
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr "Створити новий обліковий запис Bluesky"
-#: src/screens/Signup/index.tsx:129
+#: 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/HomeLoggedOutCTA.tsx:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: 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 ""
+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:469
-msgid "Creates a card with a thumbnail. The card links to {url}"
-msgstr "Створює картку з мініатюрою. Посилання картки: {url}"
+#~ msgid "Creates a card with a thumbnail. The card links to {url}"
+#~ msgstr "Створює картку з мініатюрою. Посилання картки: {url}"
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
@@ -1187,20 +1098,16 @@ msgid "Custom domain"
msgstr "Власний домен"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr "Налаштування медіа зі сторонніх вебсайтів."
-#: src/view/screens/Settings.tsx:687
-#~ msgid "Danger Zone"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr "Темна"
@@ -1208,29 +1115,29 @@ msgstr "Темна"
msgid "Dark mode"
msgstr "Темний режим"
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr "Темна тема"
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
-msgstr ""
+msgstr "Дата народження"
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
-msgstr ""
+msgstr "Налагодження модерації"
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr "Панель налагодження"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: src/view/screens/AppPasswords.tsx:268
-#: src/view/screens/ProfileList.tsx:613
+#: src/view/screens/ProfileList.tsx:615
msgid "Delete"
-msgstr ""
+msgstr "Видалити"
-#: src/view/screens/Settings/index.tsx:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "Видалити обліковий запис"
@@ -1244,9 +1151,9 @@ msgstr "Видалити пароль для застосунку"
#: src/view/screens/AppPasswords.tsx:263
msgid "Delete app password?"
-msgstr ""
+msgstr "Видалити пароль для застосунку?"
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Видалити список"
@@ -1254,28 +1161,24 @@ msgstr "Видалити список"
msgid "Delete my account"
msgstr "Видалити мій обліковий запис"
-#: src/view/screens/Settings.tsx:706
-#~ msgid "Delete my account…"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
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:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
msgid "Delete post"
msgstr "Видалити пост"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:610
msgid "Delete this list?"
-msgstr ""
+msgstr "Видалити цей список?"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:314
+#: src/view/com/util/forms/PostDropdownBtn.tsx:340
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 "Видалено"
@@ -1290,36 +1193,48 @@ msgstr "Видалений пост."
msgid "Description"
msgstr "Опис"
-#: src/view/screens/Settings.tsx:760
-#~ msgid "Developer Tools"
-#~ msgstr ""
-
-#: src/view/com/composer/Composer.tsx:218
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr "Порожній пост. Ви хотіли щось написати?"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr "Тьмяний"
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr ""
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr ""
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+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 ""
+msgstr "Вимкнено"
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr "Видалити"
-#: src/view/com/composer/Composer.tsx:145
-#~ msgid "Discard draft"
-#~ msgstr "Відкинути чернетку"
-
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
-msgstr ""
+msgstr "Відхилити чернетку?"
#: src/screens/Moderation/index.tsx:518
#: src/screens/Moderation/index.tsx:522
@@ -1331,11 +1246,7 @@ 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 "Відкрийте для себе нові стрічки"
@@ -1349,28 +1260,24 @@ msgstr "Ім'я"
#: src/view/com/modals/ChangeHandle.tsx:397
msgid "DNS Panel"
-msgstr ""
+msgstr "Панель DNS"
#: src/lib/moderation/useGlobalLabelStrings.ts:39
msgid "Does not include nudity."
-msgstr ""
+msgstr "Не містить оголеності."
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
-msgstr ""
+msgstr "Не починається або закінчується дефісом"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "Domain Value"
-msgstr ""
+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
@@ -1389,7 +1296,7 @@ msgstr "Домен перевірено!"
msgid "Done"
msgstr "Готово"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: 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
@@ -1406,20 +1313,12 @@ msgstr "Готово"
msgid "Done{extraText}"
msgstr "Готово{extraText}"
-#: 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 "Завантажити дані облікового запису в Bluesky (репозиторій)"
-
#: 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
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr "Перетягніть і відпустіть, щоб додати зображення"
@@ -1429,7 +1328,7 @@ msgstr "Через політику компанії Apple, перегляд в
#: src/view/com/modals/ChangeHandle.tsx:258
msgid "e.g. alice"
-msgstr ""
+msgstr "для прикладу, olenka"
#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
@@ -1437,7 +1336,7 @@ msgstr "напр. Тарас Шевченко"
#: src/view/com/modals/ChangeHandle.tsx:380
msgid "e.g. alice.com"
-msgstr ""
+msgstr "для прикладу, olenka.ua"
#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
@@ -1445,7 +1344,7 @@ msgstr "напр. Художниця, собачниця та завзята ч
#: src/lib/moderation/useGlobalLabelStrings.ts:43
msgid "E.g. artistic nudes."
-msgstr ""
+msgstr "Напр. художня оголеність."
#: src/view/com/modals/CreateOrEditList.tsx:284
msgid "e.g. Great Posters"
@@ -1472,17 +1371,17 @@ msgctxt "action"
msgid "Edit"
msgstr "Редагувати"
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
-msgstr ""
+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:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Редагувати опис списку"
@@ -1490,9 +1389,9 @@ msgstr "Редагувати опис списку"
msgid "Edit Moderation List"
msgstr "Редагування списку"
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Редагувати мої стрічки"
@@ -1500,18 +1399,18 @@ msgstr "Редагувати мої стрічки"
msgid "Edit my profile"
msgstr "Редагувати мій профіль"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "Редагувати профіль"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
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 "Редагувати збережені стрічки"
@@ -1536,6 +1435,10 @@ msgstr "Освіта"
msgid "Email"
msgstr "Ел. адреса"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr ""
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Адреса електронної пошти"
@@ -1549,21 +1452,35 @@ msgstr "Електронну адресу змінено"
msgid "Email Updated"
msgstr "Ел. адресу оновлено"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr "Електронну адресу перевірено"
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
msgid "Email:"
msgstr "Ел. адреса:"
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr "Вбудований HTML код"
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+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 "Вставте цей пост у Ваш сайт. Просто скопіюйте цей скрипт і вставте його в HTML код вашого сайту."
+
#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "Увімкнути лише {0}"
#: src/screens/Moderation/index.tsx:329
msgid "Enable adult content"
-msgstr ""
+msgstr "Дозволити вміст для дорослих"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
@@ -1577,13 +1494,9 @@ msgstr "Увімкнути вміст для дорослих у ваших ст
#: src/components/dialogs/EmbedConsent.tsx:82
#: src/components/dialogs/EmbedConsent.tsx:89
msgid "Enable external media"
-msgstr ""
+msgstr "Увімкнути зовнішні медіа"
-#: src/view/com/modals/EmbedConsent.tsx:97
-#~ msgid "Enable External Media"
-#~ msgstr "Увімкнути зовнішні медіа"
-
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr "Увімкнути медіапрогравачі для"
@@ -1593,13 +1506,13 @@ msgstr "Увімкніть цей параметр, щоб бачити відп
#: src/components/dialogs/EmbedConsent.tsx:94
msgid "Enable this source only"
-msgstr ""
+msgstr "Увімкнути лише джерело"
#: src/screens/Moderation/index.tsx:339
msgid "Enabled"
-msgstr ""
+msgstr "Увімкнено"
-#: src/screens/Profile/Sections/Feed.tsx:84
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Кінець стрічки"
@@ -1609,14 +1522,14 @@ msgstr "Введіть ім'я для цього пароля застосунк
#: src/screens/Login/SetNewPasswordForm.tsx:139
msgid "Enter a password"
-msgstr ""
+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
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr "Введіть код підтвердження"
@@ -1636,12 +1549,8 @@ msgstr "Введіть адресу електронної пошти, яку в
msgid "Enter your birth date"
msgstr "Введіть вашу дату народження"
-#: src/view/com/modals/Waitlist.tsx:78
-#~ msgid "Enter your email"
-#~ msgstr ""
-
#: src/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Введіть адресу електронної пошти"
@@ -1653,10 +1562,6 @@ msgstr "Введіть вашу нову електронну пошту вищ
msgid "Enter your new email address below."
msgstr "Введіть нову адресу електронної пошти."
-#: src/view/com/auth/create/Step2.tsx:188
-#~ msgid "Enter your phone number"
-#~ msgstr ""
-
#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "Введіть псевдонім та пароль"
@@ -1665,7 +1570,7 @@ msgstr "Введіть псевдонім та пароль"
msgid "Error receiving captcha response."
msgstr "Помилка отримання відповіді Captcha."
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Помилка:"
@@ -1675,11 +1580,11 @@ msgstr "Усі"
#: src/lib/moderation/useReportOptions.ts:66
msgid "Excessive mentions or replies"
-msgstr ""
+msgstr "Спам; надмірні згадки або відповіді"
#: src/view/com/modals/DeleteAccount.tsx:230
msgid "Exits account deletion process"
-msgstr ""
+msgstr "Виходить з процесу видалення облікового запису"
#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
@@ -1687,7 +1592,7 @@ msgstr "Вихід з процесу зміни псевдоніму корис
#: src/view/com/modals/crop-image/CropImage.web.tsx:136
msgid "Exits image cropping process"
-msgstr ""
+msgstr "Виходить з процесу обрізання зображень"
#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
@@ -1698,33 +1603,29 @@ msgstr "Вийти з режиму перегляду"
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: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/lib/moderation/useGlobalLabelStrings.ts:47
msgid "Explicit or potentially disturbing media."
-msgstr ""
+msgstr "Відверто або потенційно проблемний вміст."
#: src/lib/moderation/useGlobalLabelStrings.ts:35
msgid "Explicit sexual images."
-msgstr ""
+msgstr "Відверті сексуальні зображення."
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr "Експорт моїх даних"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr "Експорт моїх даних"
@@ -1734,17 +1635,17 @@ msgid "External Media"
msgstr "Зовнішні медіа"
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr "Налаштування зовнішніх медіа"
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr "Налаштування зовнішніх медіа"
@@ -1757,20 +1658,24 @@ msgstr "Не вдалося створити пароль застосунку."
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/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+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 ""
+msgstr "Не вдалося зберегти зображення: {0}"
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr "Стрічка"
@@ -1778,43 +1683,31 @@ 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/com/feeds/FeedPage.tsx:143
-#~ msgid "Feed Preferences"
-#~ msgstr ""
-
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:314
+#: 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:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: 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/> для додаткової інформації."
@@ -1824,11 +1717,11 @@ msgstr "Стрічки також можуть бути тематичними!"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "File Contents"
-msgstr ""
+msgstr "Вміст файлу"
#: src/lib/moderation/useLabelBehaviorDescription.ts:66
msgid "Filter from feeds"
-msgstr ""
+msgstr "Фільтрувати зі стрічок"
#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
@@ -1840,13 +1733,17 @@ msgstr "Завершення"
msgid "Find accounts to follow"
msgstr "Знайдіть облікові записи для стеження"
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
-msgstr "Знайти користувачів у Bluesky"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:589
+#~ msgid "Find users on Bluesky"
+#~ msgstr "Знайти користувачів у Bluesky"
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr "Знайдіть користувачів за допомогою інструменту пошуку праворуч"
+#: 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..."
@@ -1856,10 +1753,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 "Налаштуйте відображення обговорень."
@@ -1882,10 +1775,10 @@ msgid "Flip vertically"
msgstr "Віддзеркалити вертикально"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Підписатися"
@@ -1895,7 +1788,7 @@ msgid "Follow"
msgstr "Підписатись"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "Підписатися на {0}"
@@ -1903,7 +1796,7 @@ msgstr "Підписатися на {0}"
#: src/view/com/profile/ProfileMenu.tsx:242
#: src/view/com/profile/ProfileMenu.tsx:253
msgid "Follow Account"
-msgstr ""
+msgstr "Підписатися на обліковий запис"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
@@ -1911,17 +1804,17 @@ msgstr "Підписатися на всіх"
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
msgid "Follow Back"
-msgstr ""
+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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr "Підписані {0}"
@@ -1933,7 +1826,7 @@ msgstr "Ваші підписки"
msgid "Followed users only"
msgstr "Тільки ваші підписки"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "підписка на вас"
@@ -1942,26 +1835,26 @@ msgstr "підписка на вас"
msgid "Followers"
msgstr "Підписники"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: 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
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr "Підписання на \"{0}\""
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
msgid "Following feed preferences"
-msgstr ""
+msgstr "Налаштування стрічки підписок"
-#: src/Navigation.tsx:262
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
msgstr "Налаштування стрічки підписок"
@@ -1969,7 +1862,7 @@ msgstr "Налаштування стрічки підписок"
msgid "Follows you"
msgstr "Підписаний(-на) на вас"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr "Підписаний(-на) на вас"
@@ -1985,53 +1878,44 @@ msgstr "З міркувань безпеки нам потрібно буде в
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 password"
-#~ msgstr "Забули пароль"
-
#: src/screens/Login/index.tsx:129
#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "Забули пароль"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
-msgstr ""
+msgstr "Забули пароль?"
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
-msgstr ""
+msgstr "Забули пароль?"
#: src/lib/moderation/useReportOptions.ts:52
msgid "Frequently Posts Unwanted Content"
-msgstr ""
+msgstr "Часто публікує неприйнятний контент"
-#: src/screens/Hashtag.tsx:109
-#: src/screens/Hashtag.tsx:149
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
msgstr "Від @{sanitizedAuthor}"
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "Зі стрічки \"<0/>\""
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "Галерея"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "Почати"
#: src/lib/moderation/useReportOptions.ts:37
msgid "Glaring violations of law or terms of service"
-msgstr ""
+msgstr "Грубі порушення закону чи умов використання"
#: src/components/moderation/ScreenHider.tsx:151
#: src/components/moderation/ScreenHider.tsx:160
@@ -2039,37 +1923,37 @@ msgstr ""
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: src/view/screens/ProfileList.tsx:918
#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Назад"
-#: src/components/Error.tsx:91
+#: src/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Назад"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "Повернутися до попереднього кроку"
#: src/view/screens/NotFound.tsx:55
msgid "Go home"
-msgstr ""
+msgstr "Повернутися на головну"
#: src/view/screens/NotFound.tsx:54
msgid "Go Home"
-msgstr ""
+msgstr "Повернутися на головну"
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "Перейти до @{queryMaybeHandle}"
@@ -2081,34 +1965,34 @@ msgstr "Далі"
#: src/lib/moderation/useGlobalLabelStrings.ts:46
msgid "Graphic Media"
-msgstr ""
+msgstr "Графічний медіаконтент"
#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "Псевдонім"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
-msgstr ""
+msgstr "Домагання, тролінг або нетерпимість"
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
msgstr "Хештег"
-#: src/components/RichText.tsx:188
-#~ msgid "Hashtag: {tag}"
-#~ msgstr ""
-
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
msgstr "Хештег: #{tag}"
-#: src/screens/Signup/index.tsx:217
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "Виникли проблеми?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Довідка"
@@ -2137,17 +2021,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:354
msgid "Hide"
msgstr "Приховати"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: 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:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr "Сховати пост"
@@ -2156,18 +2040,14 @@ msgstr "Сховати пост"
msgid "Hide the content"
msgstr "Приховати вміст"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr "Сховати цей пост?"
-#: src/view/com/notifications/FeedItem.tsx:319
+#: 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 "Хм, при зв'язку з сервером стрічки виникла якась проблема. Будь ласка, повідомте про це її власника."
@@ -2190,33 +2070,26 @@ 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 ""
+msgstr "Здається, у нас виникли проблеми з завантаженням цих даних. Перегляньте деталі нижче. Якщо проблема не зникне, будь ласка, зв'яжіться з нами."
#: src/screens/Profile/ErrorState.tsx:31
msgid "Hmmmm, we couldn't load that moderation service."
-msgstr ""
+msgstr "Хм, ми не змогли завантажити цей сервіс модерації."
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: 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 ""
+msgstr "Host:"
#: src/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
@@ -2226,11 +2099,13 @@ msgstr "Хостинг-провайдер"
msgid "How should we open this link?"
msgstr "Як ви хочете відкрити це посилання?"
-#: src/view/com/modals/VerifyEmail.tsx:214
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "У мене є код"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr "У мене є код підтвердження"
@@ -2248,15 +2123,15 @@ 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 ""
+msgstr "Якщо ви ще не досягли повноліття відповідно до законів вашої країни, ваш батьківський або юридичний опікун повинен прочитати ці Умови від вашого імені."
-#: src/view/screens/ProfileList.tsx:610
+#: src/view/screens/ProfileList.tsx:612
msgid "If you delete this list, you won't be able to recover it."
-msgstr ""
+msgstr "Якщо ви видалите цей список, ви не зможете його відновити."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:342
msgid "If you remove this post, you won't be able to recover it."
-msgstr ""
+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."
@@ -2264,7 +2139,7 @@ msgstr "Якщо ви хочете змінити пароль, ми надіш
#: src/lib/moderation/useReportOptions.ts:36
msgid "Illegal and Urgent"
-msgstr ""
+msgstr "Незаконний та невідкладний"
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
@@ -2274,14 +2149,9 @@ msgstr "Зображення"
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 ""
+msgstr "Видавання себе за іншу особу або неправдиві твердження про особу чи приналежність"
#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
@@ -2291,14 +2161,6 @@ msgstr "Введіть код, надісланий на вашу електро
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:181
msgid "Input name for app password"
msgstr "Введіть ім'я для пароля застосунку"
@@ -2311,50 +2173,43 @@ msgstr "Введіть новий пароль"
msgid "Input password for account deletion"
msgstr "Введіть пароль для видалення облікового запису"
-#: src/view/com/auth/create/Step2.tsx:196
-#~ msgid "Input phone number for SMS verification"
-#~ msgstr ""
+#: src/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr ""
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr "Введіть пароль, прив'язаний до {identifier}"
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
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/screens/Login/LoginForm.tsx:194
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr "Введіть ваш пароль"
#: src/view/com/modals/ChangeHandle.tsx:389
msgid "Input your preferred hosting provider"
-msgstr ""
+msgstr "Введіть бажаного хостинг-провайдера"
-#: src/screens/Signup/StepHandle.tsx:62
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "Введіть ваш псевдонім"
-#: src/view/com/post-thread/PostThreadItem.tsx:221
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr "Невірний або непідтримуваний пост"
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr "Невірне ім'я користувача або пароль"
-#: src/view/screens/Settings.tsx:411
-#~ msgid "Invite"
-#~ msgstr ""
-
#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "Запросити друга"
@@ -2371,10 +2226,6 @@ msgstr "Код запрошення не прийнято. Переконайт
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:170
msgid "Invite codes: 1 available"
msgstr "Коди запрошення: 1"
@@ -2383,84 +2234,67 @@ msgstr "Коди запрошення: 1"
msgid "It shows posts from the people you follow as they happen."
msgstr "Ми показуємо пости людей, за якими ви слідкуєте в тому порядку в якому вони публікуються."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: 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 ""
+msgstr "мітка була розміщена на цьому {labelTarget}"
#: src/components/moderation/ContentHider.tsx:144
msgid "Labeled by {0}."
-msgstr ""
+msgstr "Помічений {0}."
#: src/components/moderation/ContentHider.tsx:142
msgid "Labeled by the author."
-msgstr ""
+msgstr "Мітку додано автором."
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
-msgstr ""
+msgstr "Мітки"
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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 ""
+msgstr "Мітки є анотаціями для користувачів і контенту. Вони можуть використовуватися для приховування, попередження та категоризації мережі."
#: src/components/moderation/LabelsOnMe.tsx:61
msgid "labels have been placed on this {labelTarget}"
-msgstr ""
+msgstr "мітка була розміщена на {labelTarget}"
#: src/components/moderation/LabelsOnMeDialog.tsx:62
msgid "Labels on your account"
-msgstr ""
+msgstr "Мітки на вашому обліковому записі"
#: src/components/moderation/LabelsOnMeDialog.tsx:64
msgid "Labels on your content"
-msgstr ""
+msgstr "Мітки на вашому контенті"
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "Вибір мови"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr "Налаштування мови"
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Налаштування мов"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "Мови"
-#: src/view/com/auth/create/StepHeader.tsx:20
-#~ msgid "Last step!"
-#~ msgstr "Останній крок!"
-
-#: src/view/com/util/moderation/ContentHider.tsx:103
-#~ msgid "Learn more"
-#~ msgstr "Дізнатися більше"
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr "Нещодавні"
#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
@@ -2469,7 +2303,7 @@ msgstr "Дізнатися більше"
#: src/components/moderation/ContentHider.tsx:65
#: src/components/moderation/ContentHider.tsx:128
msgid "Learn more about the moderation applied to this content."
-msgstr ""
+msgstr "Дізнайтеся більше про те, яка модерація застосована до цього вмісту."
#: src/components/moderation/PostHider.tsx:85
#: src/components/moderation/ScreenHider.tsx:125
@@ -2482,7 +2316,7 @@ msgstr "Дізнатися більше про те, що є публічним
#: src/components/moderation/ContentHider.tsx:152
msgid "Learn more."
-msgstr ""
+msgstr "Дізнатися більше."
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
@@ -2496,7 +2330,7 @@ msgstr "Ви залишаєте Bluesky"
msgid "left to go."
msgstr "ще залишилося."
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "Старе сховище очищено, тепер вам потрібно перезапустити застосунок."
@@ -2509,27 +2343,22 @@ msgstr "Давайте відновимо ваш пароль!"
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:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr "Світла"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Вподобати"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
msgid "Liked by"
msgstr "Сподобалося"
@@ -2545,31 +2374,31 @@ msgstr "Вподобано {0} {1}"
#: src/components/LabelingServiceCard/index.tsx:72
msgid "Liked by {count} {0}"
-msgstr ""
+msgstr "Вподобано {count} {0}"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "вподобав(-ла) вашу стрічку"
-#: src/view/com/notifications/FeedItem.tsx:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "сподобався ваш пост"
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr "Вподобання"
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr "Вподобайки цього поста"
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr "Список"
@@ -2577,7 +2406,7 @@ msgstr "Список"
msgid "List Avatar"
msgstr "Аватар списку"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Список заблоковано"
@@ -2585,11 +2414,11 @@ 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 "Список ігнорується"
@@ -2597,36 +2426,31 @@ msgstr "Список ігнорується"
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:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: 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/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Завантажити нові пости"
@@ -2634,11 +2458,7 @@ msgstr "Завантажити нові пости"
msgid "Loading..."
msgstr "Завантаження..."
-#: src/view/com/modals/ServerInput.tsx:50
-#~ msgid "Local dev server"
-#~ msgstr ""
-
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr "Звіт"
@@ -2657,9 +2477,13 @@ msgstr "Видимість для користувачів без обліков
msgid "Login to account that is not listed"
msgstr "Увійти до облікового запису, якого немає в списку"
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+msgstr ""
+
#: src/screens/Login/SetNewPasswordForm.tsx:116
msgid "Looks like XXXXX-XXXXX"
-msgstr ""
+msgstr "Виглядає як XXXXX-XXXXXXX"
#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
@@ -2669,15 +2493,8 @@ msgstr "Переконайтеся, що це дійсно той сайт, що
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:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr "Медіа"
@@ -2689,8 +2506,8 @@ msgstr "згадані користувачі"
msgid "Mentioned users"
msgstr "Згадані користувачі"
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "Меню"
@@ -2700,33 +2517,33 @@ msgstr "Повідомлення від сервера: {0}"
#: src/lib/moderation/useReportOptions.ts:45
msgid "Misleading Account"
-msgstr ""
+msgstr "Оманливий обліковий запис"
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: 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 ""
+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: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 "Список модерації від вас"
@@ -2742,22 +2559,22 @@ msgstr "Список модерації оновлено"
msgid "Moderation lists"
msgstr "Списки для модерації"
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Списки для модерації"
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr "Налаштування модерації"
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
-msgstr ""
+msgstr "Статус модерації"
#: src/screens/Moderation/index.tsx:215
msgid "Moderation tools"
-msgstr ""
+msgstr "Інструменти модерації"
#: src/components/moderation/ModerationDetailsDialog.tsx:48
#: src/lib/moderation/useModerationCauseDescription.ts:40
@@ -2766,28 +2583,20 @@ msgstr "Модератор вирішив встановити загальне
#: src/view/com/post-thread/PostThreadItem.tsx:541
msgid "More"
-msgstr ""
+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 "Додаткові опції"
-#: 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 "Ігнорувати"
@@ -2801,7 +2610,7 @@ msgstr "Ігнорувати {truncatedTag}"
msgid "Mute Account"
msgstr "Ігнорувати обліковий запис"
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Ігнорувати облікові записи"
@@ -2809,10 +2618,6 @@ 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:148
msgid "Mute in tags only"
msgstr "Ігнорувати лише в тегах"
@@ -2821,19 +2626,15 @@ msgstr "Ігнорувати лише в тегах"
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/view/screens/ProfileList.tsx:279
-#~ msgid "Mute this List"
-#~ msgstr "Ігнорувати цей список"
-
#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
msgstr "Ігнорувати це слово у постах і тегах"
@@ -2842,13 +2643,13 @@ msgstr "Ігнорувати це слово у постах і тегах"
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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
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:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
msgstr "Ігнорувати слова та теги"
@@ -2860,24 +2661,24 @@ msgstr "Ігнорується"
msgid "Muted accounts"
msgstr "Ігноровані облікові записи"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: 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/lib/moderation/useModerationCauseDescription.ts:85
msgid "Muted by \"{0}\""
-msgstr ""
+msgstr "Проігноровано списком \"{0}\""
#: 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 "Ігнорування є приватним. Ігноровані користувачі можуть взаємодіяти з вами, але ви не бачитимете їх пости і не отримуватимете від них сповіщень."
@@ -2886,7 +2687,7 @@ msgstr "Ігнорування є приватним. Ігноровані ко
msgid "My Birthday"
msgstr "Мій день народження"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "Мої стрічки"
@@ -2894,17 +2695,13 @@ msgstr "Мої стрічки"
msgid "My Profile"
msgstr "Мій профіль"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
-msgstr ""
+msgstr "Мої збережені стрічки"
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
msgid "My Saved Feeds"
-msgstr "Мої збережені канали"
-
-#: src/view/com/auth/server-input/index.tsx:118
-#~ msgid "my-server.com"
-#~ msgstr "my-server.com"
+msgstr "Мої збережені стрічки"
#: src/view/com/modals/AddAppPasswords.tsx:180
#: src/view/com/modals/CreateOrEditList.tsx:291
@@ -2919,14 +2716,14 @@ msgstr "Необхідна назва"
#: src/lib/moderation/useReportOptions.ts:78
#: src/lib/moderation/useReportOptions.ts:86
msgid "Name or Description Violates Community Standards"
-msgstr ""
+msgstr "Ім'я чи Опис порушують стандарти спільноти"
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr "Природа"
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Переходить до наступного екрана"
@@ -2935,14 +2732,9 @@ msgstr "Переходить до наступного екрана"
msgid "Navigates to your profile"
msgstr "Переходить до вашого профілю"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: 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}"
+msgstr "Хочете повідомити про порушення авторських прав?"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
@@ -2953,13 +2745,9 @@ msgstr "Ніколи не втрачайте доступ до ваших дан
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 ""
+msgstr "Неважливо, створіть для мене псевдонім"
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -2982,17 +2770,17 @@ msgstr "Новий пароль"
msgid "New Password"
msgstr "Новий Пароль"
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
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:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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 "Новий пост"
@@ -3016,12 +2804,12 @@ msgstr "Новини"
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -3045,22 +2833,26 @@ msgstr "Наступне зображення"
msgid "No"
msgstr "Ні"
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: 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/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr "Ви більше не підписані на {0}"
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
-msgstr ""
+msgstr "Не може бути довшим за 253 символи"
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
@@ -3071,20 +2863,24 @@ msgstr "Ще ніяких сповіщень!"
msgid "No result"
msgstr "Результати відсутні"
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "Нічого не знайдено за запитом «{query}»"
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr ""
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
@@ -3097,43 +2893,43 @@ msgstr "Ніхто"
#: src/components/LikedByList.tsx:79
#: src/components/LikesDialog.tsx:99
msgid "Nobody has liked this yet. Maybe you should be the first!"
-msgstr ""
+msgstr "Поки що це нікому не сподобалося. Можливо, ви повинні бути першим!"
#: src/lib/moderation/useGlobalLabelStrings.ts:42
msgid "Non-sexual Nudity"
-msgstr ""
+msgstr "Несексуальна оголеність"
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "Не застосовно."
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "Не знайдено"
-#: src/view/com/modals/VerifyEmail.tsx:246
-#: src/view/com/modals/VerifyEmail.tsx:252
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr "Пізніше"
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
-msgstr ""
+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:469
+#: src/Navigation.tsx:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Сповіщення"
@@ -3143,21 +2939,18 @@ msgstr "Оголеність"
#: 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 ""
+msgstr "Нагота чи матеріали для дорослих не позначені відповідним чином"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
-msgstr ""
+msgstr "з"
#: src/lib/moderation/useLabelBehaviorDescription.ts:11
msgid "Off"
-msgstr ""
+msgstr "Вимкнено"
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "О, ні!"
@@ -3166,9 +2959,9 @@ msgid "Oh no! Something went wrong."
msgstr "Ой! Щось пішло не так."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
-msgstr ""
+msgstr "OK"
#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
@@ -3178,11 +2971,11 @@ msgstr "Добре"
msgid "Oldest replies first"
msgstr "Спочатку найдавніші"
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr "Скинути ознайомлення"
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr "Для одного або кількох зображень відсутній опис."
@@ -3190,17 +2983,17 @@ msgstr "Для одного або кількох зображень відсу
msgid "Only {0} can reply."
msgstr "Тільки {0} можуть відповідати."
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
-msgstr ""
+msgstr "Тільки літери, цифри та дефіс"
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
msgstr "Ой, щось пішло не так!"
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Ой!"
@@ -3208,61 +3001,57 @@ msgstr "Ой!"
msgid "Open"
msgstr "Відкрити"
-#: src/view/screens/Moderation.tsx:75
-#~ msgid "Open content filtering settings"
-#~ msgstr "Відкрити налаштування фільтрації контенту"
-
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr "Емоджі"
-#: src/view/screens/ProfileFeed.tsx:300
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
-msgstr ""
+msgstr "Відкрити меню налаштувань стрічки"
-#: src/view/screens/Settings/index.tsx:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr "Вбудований браузер"
#: src/screens/Moderation/index.tsx:227
msgid "Open muted words and tags settings"
-msgstr ""
+msgstr "Відкрити налаштування ігнорування слів і тегів"
-#: src/view/screens/Moderation.tsx:92
-#~ msgid "Open muted words 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:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr "Відкрити storybook сторінку"
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
-msgstr ""
+msgstr "Відкрити системний журнал"
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr "Відкриває меню з {numItems} опціями"
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr ""
+
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
msgstr "Відкриває додаткову інформацію про запис для налагодження"
-#: src/view/com/notifications/FeedItem.tsx:353
+#: 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
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr "Відкриває камеру на пристрої"
@@ -3270,125 +3059,99 @@ msgstr "Відкриває камеру на пристрої"
msgid "Opens composer"
msgstr "Відкрити редактор"
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr "Відкриває налаштування мов"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
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:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr "Відкриває налаштування зовнішніх вбудувань"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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 ""
+msgstr "Відкриває процес створення нового облікового запису Bluesky"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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 "Відкриває список підписників"
+msgstr "Відкриває процес входу в існуючий обліковий запис Bluesky"
-#: 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/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr ""
#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "Відкриває список кодів запрошення"
-#: src/view/screens/Settings/index.tsx:798
+#: src/view/screens/Settings/index.tsx:757
msgid "Opens modal for account deletion confirmation. Requires email code"
-msgstr ""
+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:756
+#: src/view/screens/Settings/index.tsx:715
msgid "Opens modal for changing your Bluesky password"
-msgstr ""
+msgstr "Відкриває модальне вікно для зміни паролю в Bluesky"
-#: src/view/screens/Settings/index.tsx:718
+#: src/view/screens/Settings/index.tsx:670
msgid "Opens modal for choosing a new Bluesky handle"
-msgstr ""
+msgstr "Відкриває модальне вікно для вибору псевдоніму в Bluesky"
-#: src/view/screens/Settings/index.tsx:779
+#: src/view/screens/Settings/index.tsx:738
msgid "Opens modal for downloading your Bluesky account data (repository)"
-msgstr ""
+msgstr "Відкриває модальне вікно для завантаження даних з вашого облікового запису Bluesky (репозиторій)"
-#: src/view/screens/Settings/index.tsx:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
-msgstr ""
+msgstr "Відкриває модальне вікно для перевірки електронної пошти"
#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr "Відкриває діалог налаштування власного домену як псевдоніму"
-#: src/view/screens/Settings/index.tsx:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "Відкриває налаштування модерації"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
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:597
+#: src/view/screens/Settings/index.tsx:549
msgid "Opens screen with all saved feeds"
msgstr "Відкриває сторінку з усіма збереженими каналами"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:648
msgid "Opens the app password settings"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:676
-#~ msgid "Opens the app password settings page"
-#~ msgstr "Відкриває налаштування паролів для застосунків"
+msgstr "Відкриває налаштування паролів для застосунків"
-#: src/view/screens/Settings/index.tsx:554
+#: src/view/screens/Settings/index.tsx:506
msgid "Opens the Following feed preferences"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:535
-#~ msgid "Opens the home feed preferences"
-#~ msgstr "Відкриває налаштування Головного каналу"
+msgstr "Відкриває налаштування стрічки підписок"
#: src/view/com/modals/LinkWarning.tsx:93
msgid "Opens the linked website"
-msgstr ""
+msgstr "Відкриває посилання"
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr ""
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "Відкриває системний журнал"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "Відкриває налаштування гілок"
@@ -3396,9 +3159,9 @@ msgstr "Відкриває налаштування гілок"
msgid "Option {0} of {numItems}"
msgstr "Опція {0} з {numItems}"
-#: 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:"
@@ -3406,21 +3169,17 @@ msgstr "Або якісь із наступних варіантів:"
#: src/lib/moderation/useReportOptions.ts:25
msgid "Other"
-msgstr ""
+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:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Сторінку не знайдено"
@@ -3429,8 +3188,8 @@ msgstr "Сторінку не знайдено"
msgid "Page Not Found"
msgstr "Сторінку не знайдено"
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3438,7 +3197,7 @@ msgstr "Пароль"
#: src/view/com/modals/ChangePassword.tsx:142
msgid "Password Changed"
-msgstr ""
+msgstr "Пароль змінено"
#: src/screens/Login/index.tsx:157
msgid "Password updated"
@@ -3448,11 +3207,19 @@ msgstr "Пароль змінено"
msgid "Password updated!"
msgstr "Пароль змінено!"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr "Люди"
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr "Люди, на яких підписаний(-на) @{0}"
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr "Люди, які підписані на @{0}"
@@ -3468,31 +3235,35 @@ 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:292
-#: 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:295
+#: src/view/screens/ProfileFeed.tsx:306
msgid "Pin to Home"
-msgstr ""
+msgstr "Закріпити на головній"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Закріплені стрічки"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Play"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "Відтворити {0}"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3522,10 +3293,6 @@ msgstr "Будь ласка, підтвердіть вашу електронн
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:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr "Будь ласка, введіть унікальну назву для цього паролю або використовуйте нашу випадково згенеровану."
@@ -3534,14 +3301,6 @@ msgstr "Будь ласка, введіть унікальну назву для
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/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "Будь ласка, введіть адресу ел. пошти."
@@ -3552,23 +3311,13 @@ 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 "Будь ласка, вкажіть чому ви вважаєте що попередження про вміст було додано неправильно?"
-
-#: 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 "Будь ласка, поясніть, чому ви вважаєте, що ця позначка була помилково додана до {0}"
-#: src/view/com/modals/VerifyEmail.tsx:101
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr "Підтвердьте свою адресу електронної пошти"
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr "Будь ласка, зачекайте доки завершиться створення попереднього перегляду для посилання"
@@ -3580,12 +3329,8 @@ msgstr "Політика"
msgid "Porn"
msgstr "Порнографія"
-#: src/lib/moderation/useGlobalLabelStrings.ts:34
-#~ msgid "Pornography"
-#~ msgstr ""
-
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr "Запостити"
@@ -3595,17 +3340,17 @@ msgctxt "description"
msgid "Post"
msgstr "Пост"
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr "Пост від {0}"
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
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 "Пост видалено"
@@ -3616,12 +3361,12 @@ msgstr "Пост приховано"
#: src/components/moderation/ModerationDetailsDialog.tsx:97
#: src/lib/moderation/useModerationCauseDescription.ts:99
msgid "Post Hidden by Muted Word"
-msgstr ""
+msgstr "Пост приховано через ігнороване слово"
#: src/components/moderation/ModerationDetailsDialog.tsx:100
#: src/lib/moderation/useModerationCauseDescription.ts:108
msgid "Post Hidden by You"
-msgstr ""
+msgstr "Ви приховали цей пост"
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
@@ -3640,7 +3385,7 @@ msgstr "Пост не знайдено"
msgid "posts"
msgstr "пости"
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr "Пости"
@@ -3656,15 +3401,15 @@ msgstr "Пости приховано"
msgid "Potentially Misleading Link"
msgstr "Потенційно оманливе посилання"
-#: src/components/forms/HostingProvider.tsx:45
+#: src/components/forms/HostingProvider.tsx:46
msgid "Press to change hosting provider"
-msgstr ""
+msgstr "Змінити хостинг-провайдера"
-#: src/components/Error.tsx:74
-#: src/components/Lists.tsx:80
-#: src/screens/Signup/index.tsx:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
-msgstr ""
+msgstr "Натисніть, щоб повторити спробу"
#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
@@ -3678,16 +3423,16 @@ msgstr "Основна мова"
msgid "Prioritize Your Follows"
msgstr "Пріоритезувати ваші підписки"
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Конфіденційність"
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Політика конфіденційності"
@@ -3696,15 +3441,15 @@ msgid "Processing..."
msgstr "Обробка..."
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
-msgstr ""
+msgstr "профіль"
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Профіль"
@@ -3712,7 +3457,7 @@ msgstr "Профіль"
msgid "Profile updated"
msgstr "Профіль оновлено"
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "Захистіть свій обліковий запис, підтвердивши свою електронну адресу."
@@ -3728,11 +3473,11 @@ msgstr "Публічні, поширювані списки користувач
msgid "Public, shareable lists which can drive feeds."
msgstr "Публічні, поширювані списки для створення стрічок."
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr "Опублікувати пост"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr "Опублікувати відповідь"
@@ -3758,15 +3503,15 @@ msgstr "У випадковому порядку"
msgid "Ratios"
msgstr "Співвідношення сторін"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
-msgstr ""
+msgstr "Останні запити"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: 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 "Рекомендовані користувачі"
@@ -3779,21 +3524,17 @@ msgstr "Рекомендовані користувачі"
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/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
-msgstr ""
+msgstr "Видалити аватар"
#: src/view/com/util/UserBanner.tsx:148
msgid "Remove Banner"
-msgstr ""
+msgstr "Видалити банер"
#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
@@ -3801,24 +3542,24 @@ msgstr "Видалити стрічку"
#: src/view/com/posts/FeedErrorMessage.tsx:201
msgid "Remove feed?"
-msgstr ""
+msgstr "Видалити стрічку?"
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: 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 ""
+msgstr "Видалити з моїх стрічок?"
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "Вилучити зображення"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr "Вилучити попередній перегляд зображення"
@@ -3830,17 +3571,9 @@ msgstr "Вилучити ігноровані слова з вашого спи
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: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 "Вилучити цю стрічку зі збережених стрічок?"
+msgstr "Вилучити цю стрічку зі збережених стрічок"
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
@@ -3851,15 +3584,15 @@ msgstr "Вилучено зі списку"
msgid "Removed from my feeds"
msgstr "Вилучено з моїх стрічок"
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
-msgstr ""
+msgstr "Видалено з моїх стрічок"
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr "Видаляє мініатюру за замовчуванням з {0}"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr "Відповіді"
@@ -3867,7 +3600,7 @@ msgstr "Відповіді"
msgid "Replies to this thread are disabled"
msgstr "Відповіді до цього посту вимкнено"
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr "Відповісти"
@@ -3876,15 +3609,17 @@ msgstr "Відповісти"
msgid "Reply Filters"
msgstr "Які відповіді показувати"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
-msgctxt "description"
-msgid "Reply to <0/>"
-msgstr "У відповідь <0/>"
+#: 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/post/Post.tsx:178
+#: src/view/com/posts/FeedItem.tsx:285
+msgctxt "description"
+msgid "Reply to <0><1/>0>"
+msgstr ""
#: src/view/com/profile/ProfileMenu.tsx:319
#: src/view/com/profile/ProfileMenu.tsx:322
@@ -3893,41 +3628,41 @@ msgstr "Поскаржитись на обліковий запис"
#: src/components/ReportDialog/index.tsx:49
msgid "Report dialog"
-msgstr ""
+msgstr "Діалогове вікно для скарг"
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: 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:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "Поскаржитись на пост"
#: src/components/ReportDialog/SelectReportOptionView.tsx:42
msgid "Report this content"
-msgstr ""
+msgstr "Повідомити про цей вміст"
#: src/components/ReportDialog/SelectReportOptionView.tsx:55
msgid "Report this feed"
-msgstr ""
+msgstr "Повідомити про цю стрічку"
#: src/components/ReportDialog/SelectReportOptionView.tsx:52
msgid "Report this list"
-msgstr ""
+msgstr "Поскаржитись на цей список"
#: src/components/ReportDialog/SelectReportOptionView.tsx:49
msgid "Report this post"
-msgstr ""
+msgstr "Поскаржитись на цей пост"
#: src/components/ReportDialog/SelectReportOptionView.tsx:46
msgid "Report this user"
-msgstr ""
+msgstr "Поскаржитись на цього користувача"
#: src/view/com/modals/Repost.tsx:44
#: src/view/com/modals/Repost.tsx:49
@@ -3950,19 +3685,23 @@ msgstr "Репостити або цитувати"
msgid "Reposted By"
msgstr "Зробив(-ла) репост"
-#: src/view/com/posts/FeedItem.tsx:197
+#: 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/> зробив(-ла) репост"
+#~ msgid "Reposted by <0/>"
+#~ msgstr ""
+
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr "Зроблено репост від <0><1/>0>"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "зробив(-ла) репост вашого допису"
-#: src/view/com/post-thread/PostThreadItem.tsx:187
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr "Репости цього поста"
@@ -3971,23 +3710,28 @@ msgstr "Репости цього поста"
msgid "Request Change"
msgstr "Змінити"
-#: src/view/com/auth/create/Step2.tsx:219
-#~ msgid "Request code"
-#~ 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:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr "Вимагати опис зображень перед публікацією"
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr ""
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Вимагається цим хостинг-провайдером"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr ""
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Код підтвердження"
@@ -3996,12 +3740,8 @@ msgstr "Код підтвердження"
msgid "Reset Code"
msgstr "Код скидання"
-#: src/view/screens/Settings/index.tsx:824
-#~ msgid "Reset onboarding"
-#~ msgstr "Скинути ознайомлення"
-
-#: src/view/screens/Settings/index.tsx:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr ""
@@ -4009,24 +3749,20 @@ msgstr ""
msgid "Reset password"
msgstr "Скинути пароль"
-#: src/view/screens/Settings/index.tsx:814
-#~ msgid "Reset preferences"
-#~ msgstr "Скинути налаштування"
-
-#: src/view/screens/Settings/index.tsx:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr ""
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr ""
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr ""
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr "Повторити спробу"
@@ -4035,39 +3771,31 @@ msgstr "Повторити спробу"
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/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: 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/components/Error.tsx:86
-#: src/view/screens/ProfileList.tsx:917
+#: src/components/Error.tsx:95
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Повернутися до попередньої сторінки"
#: src/view/screens/NotFound.tsx:59
msgid "Returns to home page"
-msgstr ""
+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 ""
+msgstr "Повертає до попередньої сторінки"
#: src/components/dialogs/BirthDateSettings.tsx:125
#: src/view/com/modals/ChangeHandle.tsx:174
@@ -4088,7 +3816,7 @@ msgstr "Зберегти опис"
#: src/components/dialogs/BirthDateSettings.tsx:119
msgid "Save birthday"
-msgstr ""
+msgstr "Зберегти день народження"
#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
@@ -4102,22 +3830,22 @@ msgstr "Зберегти новий псевдонім"
msgid "Save image crop"
msgstr "Обрізати зображення"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
msgid "Save to my feeds"
-msgstr ""
+msgstr "Зберегти до моїх стрічок"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "Збережені стрічки"
#: src/view/com/lightbox/Lightbox.tsx:81
msgid "Saved to your camera roll."
-msgstr ""
+msgstr "Збережено до галереї."
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
-msgstr ""
+msgstr "Збережено до ваших стрічок"
#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
@@ -4129,34 +3857,34 @@ msgstr "Зберігає зміню псевдоніму на {handle}"
#: src/view/com/modals/crop-image/CropImage.web.tsx:146
msgid "Saves image crop settings"
-msgstr ""
+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/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Пошук"
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "Шукати \"{query}\""
@@ -4165,24 +3893,24 @@ 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:105
#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr "Пошук користувачів"
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr ""
+
#: src/view/com/modals/ChangeEmail.tsx:110
msgid "Security Step Required"
msgstr "Потрібен код підтвердження"
@@ -4203,21 +3931,18 @@ 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/components/TagMenu/index.tsx:189
-#~ msgid "See <0>{tag}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:163
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr "Перегляньте цей посібник"
#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
-msgid "See what's next"
-msgstr "Що далі?"
+#~ msgid "See what's next"
+#~ msgstr ""
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
@@ -4225,49 +3950,44 @@ msgstr "Обрати {item}"
#: src/screens/Login/ChooseAccountForm.tsx:61
msgid "Select account"
-msgstr ""
-
-#: src/view/com/modals/ServerInput.tsx:75
-#~ msgid "Select Bluesky Social"
-#~ msgstr ""
+msgstr "Обрати обліковий запис"
#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "Вибрати існуючий обліковий запис"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
-msgstr ""
+msgstr "Вибрати мови"
#: src/components/ReportDialog/SelectLabelerView.tsx:30
msgid "Select moderator"
-msgstr ""
+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: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: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/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:100
msgid "Select topical feeds to follow from the list below"
msgstr "Підпишіться на тематичні стрічки зі списку нижче"
@@ -4280,26 +4000,18 @@ msgstr "Виберіть, що ви хочете бачити (або не ба
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/view/screens/LanguageSettings.tsx:98
msgid "Select your app language for the default text to display in the app."
-msgstr ""
+msgstr "Оберіть мову застосунку для відображення тексту за замовчуванням."
-#: src/screens/Signup/StepInfo/index.tsx:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
-msgstr ""
+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 "Оберіть бажану мову для перекладів у вашій стрічці."
@@ -4312,8 +4024,8 @@ msgstr "Оберіть ваші основні алгоритмічні стрі
msgid "Select your secondary algorithmic feeds"
msgstr "Оберіть ваші другорядні алгоритмічні стрічки"
-#: src/view/com/modals/VerifyEmail.tsx:202
-#: src/view/com/modals/VerifyEmail.tsx:204
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "Надіслати лист із кодом підтвердження"
@@ -4326,22 +4038,23 @@ msgctxt "action"
msgid "Send Email"
msgstr "Надіслати ел. лист"
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: 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 ""
-
-#: src/view/com/modals/report/SendReportButton.tsx:45
-#~ msgid "Send Report"
-#~ msgstr "Поскаржитись"
+msgstr "Поскаржитись"
#: src/components/ReportDialog/SelectLabelerView.tsx:44
msgid "Send report to {0}"
+msgstr "Надіслати скаргу до {0}"
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
msgstr ""
#: src/view/com/modals/DeleteAccount.tsx:132
@@ -4352,48 +4065,14 @@ msgstr "Надсилає електронний лист з кодом підт
msgid "Server address"
msgstr "Адреса сервера"
-#: src/view/com/modals/ContentFilteringSettings.tsx:311
-#~ msgid "Set {value} for {labelGroup} content moderation policy"
-#~ msgstr "Встановити {value} для політики модерації вмісту {labelGroup}"
-
-#: src/view/com/modals/ContentFilteringSettings.tsx:160
-#: src/view/com/modals/ContentFilteringSettings.tsx:179
-#~ 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 "Встановити темне оформлення"
-
-#: 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 "Встановити темну тьмяну тему"
+msgstr "Додати дату народження"
#: 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 "Вимкніть цей параметр, щоб приховати всі цитовані пости у вашій стрічці. Не впливає на репости без цитування."
@@ -4410,10 +4089,6 @@ 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 "Увімкніть це налаштування, щоб іноді бачити пости зі збережених стрічок у вашій домашній стрічці. Це експериментальна функція."
@@ -4426,56 +4101,47 @@ msgstr "Налаштуйте ваш обліковий запис"
msgid "Sets Bluesky username"
msgstr "Встановлює псевдонім Bluesky"
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
-msgstr ""
+msgstr "Встановлює темну тему"
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
-msgstr ""
+msgstr "Встановлює світлу тему"
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
-msgstr ""
+msgstr "Встановлює тему відповідно до системних налаштувань"
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
-msgstr ""
+msgstr "Встановлює чорний колір для темної теми"
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
-msgstr ""
+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 ""
+msgstr "Встановлює квадратне співвідношення сторін зображення"
#: src/view/com/modals/crop-image/CropImage.web.tsx:114
msgid "Sets image aspect ratio to tall"
-msgstr ""
+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"
+msgstr "Встановлює співвідношення сторін зображення до ширини"
-#: src/Navigation.tsx:139
-#: src/view/screens/Settings/index.tsx:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Налаштування"
@@ -4485,7 +4151,7 @@ msgstr "Сексуальна активність або еротична ого
#: src/lib/moderation/useGlobalLabelStrings.ts:38
msgid "Sexually Suggestive"
-msgstr ""
+msgstr "З сексуальним підтекстом"
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
@@ -4494,38 +4160,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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: 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/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
-msgstr ""
+msgstr "Все одно поширити"
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: 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 ""
+msgstr "Поділитись посиланням"
#: src/view/com/modals/LinkWarning.tsx:92
msgid "Shares the linked website"
-msgstr ""
+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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr "Показувати"
@@ -4541,23 +4207,19 @@ msgstr "Всеодно показати"
#: src/lib/moderation/useLabelBehaviorDescription.ts:27
#: src/lib/moderation/useLabelBehaviorDescription.ts:63
msgid "Show badge"
-msgstr ""
+msgstr "Показати значок"
#: src/lib/moderation/useLabelBehaviorDescription.ts:61
msgid "Show badge and filter from feeds"
-msgstr ""
+msgstr "Показати значок і фільтри зі стрічки"
-#: src/view/com/modals/EmbedConsent.tsx:87
-#~ msgid "Show embeds from {0}"
-#~ msgstr "Показати вбудування з {0}"
-
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr "Показати підписки, схожі на {0}"
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr "Показати більше"
@@ -4614,53 +4276,43 @@ msgstr "Показувати репости у стрічці \"Following\""
msgid "Show the content"
msgstr "Показати вміст"
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Показати користувачів"
#: src/lib/moderation/useLabelBehaviorDescription.ts:58
msgid "Show warning"
-msgstr ""
+msgstr "Показувати попередження"
#: 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 "Показує список користувачів, схожих на цього."
+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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr "Увійти"
-#: 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 "Увійти"
-
#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "Увійти як {0}"
@@ -4669,28 +4321,32 @@ msgstr "Увійти як {0}"
msgid "Sign in as..."
msgstr "Увійти як..."
-#: src/view/com/auth/login/LoginForm.tsx:140
-#~ msgid "Sign into"
-#~ 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 "Увійдіть у Bluesky або створіть новий обліковий запис"
-#: src/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "Вийти"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
msgid "Sign up"
-msgstr "Зареєструватися"
+msgstr "Реєстрація"
-#: src/view/shell/NavSignupCard.tsx:42
+#: src/view/shell/NavSignupCard.tsx:47
msgid "Sign up or sign in to join the conversation"
msgstr "Зареєструйтеся або увійдіть, щоб приєднатися до розмови"
@@ -4699,7 +4355,7 @@ msgstr "Зареєструйтеся або увійдіть, щоб приєд
msgid "Sign-in Required"
msgstr "Необхідно увійти для перегляду"
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "Ви увійшли як"
@@ -4707,10 +4363,6 @@ msgstr "Ви увійшли як"
msgid "Signed in as @{0}"
msgstr "Ви увійшли як @{0}"
-#: src/view/com/modals/SwitchAccount.tsx:70
-#~ msgid "Signs {0} out of Bluesky"
-#~ msgstr "Виходить з Bluesky облікового запису {0}"
-
#: src/screens/Onboarding/StepInterests/index.tsx:239
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
@@ -4721,33 +4373,17 @@ msgstr "Пропустити"
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:76
+#: 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 "Щось пішло не так!"
+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 "Даруйте! Ваш сеанс вичерпався. Будь ласка, увійдіть знову."
@@ -4761,15 +4397,15 @@ msgstr "Оберіть, як сортувати відповіді до пост
#: src/components/moderation/LabelsOnMeDialog.tsx:146
msgid "Source:"
-msgstr ""
+msgstr "Джерело:"
#: src/lib/moderation/useReportOptions.ts:65
msgid "Spam"
-msgstr ""
+msgstr "Спам"
#: src/lib/moderation/useReportOptions.ts:53
msgid "Spam; excessive mentions or replies"
-msgstr ""
+msgstr "Спам; надмірні згадки або відповіді"
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
@@ -4779,28 +4415,20 @@ msgstr "Спорт"
msgid "Square"
msgstr "Квадратне"
-#: src/view/com/modals/ServerInput.tsx:62
-#~ msgid "Staging"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "Сторінка стану"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
-msgstr ""
+msgstr "Крок"
-#: src/view/com/auth/create/StepHeader.tsx:22
-#~ msgid "Step {0} of {numSteps}"
-#~ msgstr "Крок {0} / {numSteps}"
-
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
msgid "Storage cleared, you need to restart the app now."
msgstr "Сховище очищено, тепер вам треба перезапустити застосунок."
-#: src/Navigation.tsx:211
-#: src/view/screens/Settings/index.tsx:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr ""
@@ -4809,32 +4437,32 @@ msgstr ""
msgid "Submit"
msgstr "Надіслати"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Підписатися"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: src/screens/Profile/Sections/Labels.tsx:191
msgid "Subscribe to @{0} to use these labels:"
-msgstr ""
+msgstr "Підпишіться на @{0}, щоб використовувати ці мітки:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
-msgstr ""
+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:184
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
msgid "Subscribe to this labeler"
-msgstr ""
+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:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "Пропоновані підписки"
@@ -4846,34 +4474,30 @@ msgstr "Пропозиції для вас"
msgid "Suggestive"
msgstr "Непристойний"
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: 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/components/dialogs/SwitchAccount.tsx:46
-#: src/components/dialogs/SwitchAccount.tsx:49
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "Перемикнути обліковий запис"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr "Переключитися на {0}"
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
msgid "Switches the account you are logged in to"
msgstr "Переключає обліковий запис"
-#: src/view/screens/Settings/index.tsx:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr "Системне"
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "Системний журнал"
@@ -4885,10 +4509,6 @@ 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:113
msgid "Tall"
msgstr "Високе"
@@ -4905,11 +4525,11 @@ msgstr "Технології"
msgid "Terms"
msgstr "Умови"
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Умови Використання"
@@ -4917,7 +4537,7 @@ msgstr "Умови Використання"
#: src/lib/moderation/useReportOptions.ts:79
#: src/lib/moderation/useReportOptions.ts:87
msgid "Terms used violate community standards"
-msgstr ""
+msgstr "Використані терміни порушують стандарти спільноти"
#: src/components/dialogs/MutedWords.tsx:323
msgid "text"
@@ -4927,26 +4547,26 @@ msgstr "текст"
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 ""
+msgstr "Дякуємо. Вашу скаргу було надіслано."
#: src/view/com/modals/ChangeHandle.tsx:465
msgid "That contains the following:"
-msgstr ""
+msgstr "Що містить наступне:"
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "Цей псевдонім вже зайнятий."
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: 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 ""
+msgstr "автором"
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
@@ -4958,11 +4578,11 @@ msgstr "Політику захисту авторського права пер
#: src/components/moderation/LabelsOnMeDialog.tsx:48
msgid "The following labels were applied to your account."
-msgstr ""
+msgstr "Наступні мітки були додано до вашого облікового запису."
#: src/components/moderation/LabelsOnMeDialog.tsx:49
msgid "The following labels were applied to your content."
-msgstr ""
+msgstr "Наступні мітки були додано до вашого контенту."
#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
@@ -4989,8 +4609,8 @@ msgstr "Умови Використання перенесено до"
msgid "There are many feeds to try:"
msgstr "Також є багато інших стрічок, щоб спробувати:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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 "Виникла проблема з доступом до сервера. Перевірте підключення до Інтернету і повторіть спробу знову."
@@ -4998,15 +4618,19 @@ msgstr "Виникла проблема з доступом до сервера.
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr "Виникла проблема при видаленні цієї стрічки. Перевірте підключення до Інтернету і повторіть спробу."
-#: src/view/screens/ProfileFeed.tsx:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+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 "При з'єднанні з сервером виникла проблема"
@@ -5029,14 +4653,14 @@ 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 ""
+msgstr "Виникла проблема з надсиланням вашої скарги. Будь ласка, перевірте підключення до Інтернету."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
@@ -5046,9 +4670,9 @@ msgstr "Виникла проблема під час синхронізації
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/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -5060,14 +4684,15 @@ 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 "Виникла проблема. Перевірте підключення до Інтернету і повторіть спробу."
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "У застосунку сталася неочікувана проблема. Будь ласка, повідомте нас, якщо ви отримали це повідомлення!"
@@ -5075,10 +4700,6 @@ 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:146
msgid "These are popular accounts you might like:"
msgstr "Ці популярні користувачі можуть вам сподобатися:"
@@ -5093,15 +4714,15 @@ msgstr "Цей користувач вказав, що не хоче, аби й
#: src/components/moderation/LabelsOnMeDialog.tsx:204
msgid "This appeal will be sent to <0>{0}0>."
-msgstr ""
+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/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
@@ -5116,21 +4737,17 @@ msgstr "Цей контент недоступний, оскільки один
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>"
-
#: 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 ""
+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:477
-#: 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 "Стрічка порожня!"
@@ -5142,62 +4759,62 @@ msgstr "Ця стрічка порожня! Можливо, вам треба п
msgid "This information is not shared with other users."
msgstr "Ця інформація не розкривається іншим користувачам."
-#: src/view/com/modals/VerifyEmail.tsx:119
+#: src/view/com/modals/VerifyEmail.tsx:127
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 ""
+msgstr "Ця мітка була додана {0}."
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: src/screens/Profile/Sections/Labels.tsx:178
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
-msgstr ""
+msgstr "Цей маркувальник ще не заявив, які мітки він публікує, і може бути неактивним."
#: 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 "Список порожній!"
#: src/screens/Profile/ErrorState.tsx:40
msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
-msgstr ""
+msgstr "Даний сервіс модерації недоступний. Перегляньте деталі нижче. Якщо проблема не зникне, зв'яжіться з нами."
#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr "Це ім'я вже використовується"
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr "Цей пост було видалено."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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 ""
+msgstr "Цей пост видно лише користувачам, які увійшли до системи. Воно не буде видимим для людей, які не ввійшли до системи."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:352
msgid "This post will be hidden from feeds."
-msgstr ""
+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 ""
+msgstr "Цей профіль видно лише користувачам, які увійшли до системи. Воно не буде видимим для людей, які не ввійшли до системи."
#: src/screens/Signup/StepInfo/Policies.tsx:37
msgid "This service has not provided terms of service or a privacy policy."
-msgstr ""
+msgstr "Цей сервіс не надав умови обслуговування або політики конфіденційності."
#: src/view/com/modals/ChangeHandle.tsx:445
msgid "This should create a domain record at:"
-msgstr ""
+msgstr "Це має створити обліковий запис домену:"
#: src/view/com/profile/ProfileFollowers.tsx:87
msgid "This user doesn't have any followers."
-msgstr ""
+msgstr "Цей користувач ще не має жодного підписника."
#: src/components/moderation/ModerationDetailsDialog.tsx:72
#: src/lib/moderation/useModerationCauseDescription.ts:68
@@ -5206,31 +4823,19 @@ 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/>\" на який ви підписались та заблокували."
-
-#: src/view/com/modals/ModerationDetails.tsx:74
-#~ msgid "This user is included in the <0/> list which you have muted."
-#~ msgstr "Цей користувач в списку \"<0/>\" який ви ігноруєте."
+msgstr "Цей користувач налаштував, щоб його контент був видимий лише для користувачів, які увійшли в систему."
#: src/components/moderation/ModerationDetailsDialog.tsx:55
msgid "This user is included in the <0>{0}0> list which you have blocked."
-msgstr ""
+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 ""
-
-#: src/view/com/modals/ModerationDetails.tsx:74
-#~ msgid "This user is included the <0/> list which you have muted."
-#~ msgstr ""
+msgstr "Цей користувач є в списку <0>{0}0>, який ви додали до ігнорування."
#: src/view/com/profile/ProfileFollows.tsx:87
msgid "This user isn't following anyone."
-msgstr ""
+msgstr "Цей користувач не підписаний ні на кого."
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
@@ -5240,16 +4845,12 @@ msgstr "Це попередження доступне тільки для за
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:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
-msgstr ""
+msgstr "Налаштування гілок"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "Налаштування гілок"
@@ -5257,13 +4858,17 @@ msgstr "Налаштування гілок"
msgid "Threaded Mode"
msgstr "Режим гілок"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr "Налаштування обговорень"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr ""
+
#: src/components/ReportDialog/SelectLabelerView.tsx:33
msgid "To whom would you like to send this report?"
-msgstr ""
+msgstr "Кому ви хотіли б відправити цю скаргу?"
#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
@@ -5275,7 +4880,12 @@ msgstr "Розкрити/сховати"
#: src/screens/Moderation/index.tsx:332
msgid "Toggle to enable or disable adult content"
-msgstr ""
+msgstr "Увімкнути або вимкнути вміст для дорослих"
+
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr "Верх"
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
@@ -5283,8 +4893,8 @@ msgstr "Редагування"
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "Перекласти"
@@ -5293,35 +4903,39 @@ msgctxt "action"
msgid "Try again"
msgstr "Спробувати ще раз"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr ""
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
-msgstr ""
+msgstr "Тип:"
-#: src/view/screens/ProfileList.tsx:478
+#: 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/screens/Login/ForgotPasswordForm.tsx:74
#: src/screens/Login/index.tsx:78
-#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: 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:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr "Розблокувати"
@@ -5331,10 +4945,10 @@ msgstr "Розблокувати"
msgid "Unblock Account"
msgstr "Розблокувати обліковий запис"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
-msgstr ""
+msgstr "Розблокувати обліковий запис?"
#: src/view/com/modals/Repost.tsx:43
#: src/view/com/modals/Repost.tsx:56
@@ -5344,38 +4958,34 @@ msgid "Undo repost"
msgstr "Скасувати репост"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
-msgstr ""
+msgstr "Не стежити"
#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr "Відписатись"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
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/auth/create/state.ts:262
-#~ msgid "Unfortunately, you do not meet the requirements to create an account."
-#~ msgstr "На жаль, ви не відповідаєте вимогам для створення облікового запису."
+msgstr "Відписатися від облікового запису"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Прибрати вподобання"
-#: src/view/screens/ProfileFeed.tsx:573
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Unlike this feed"
-msgstr ""
+msgstr "Видалити вподобання цієї стрічки"
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:579
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "Не ігнорувати"
@@ -5392,55 +5002,43 @@ 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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "Перестати ігнорувати"
-#: src/view/screens/ProfileFeed.tsx:295
-#: 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:292
+#: src/view/screens/ProfileFeed.tsx:303
msgid "Unpin from home"
-msgstr ""
+msgstr "Відкріпити від головної сторінки"
-#: src/view/screens/ProfileList.tsx:444
+#: 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:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
-msgstr ""
+msgstr "Відписатися"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
-msgstr ""
+msgstr "Відписатися від цього маркувальника"
#: src/lib/moderation/useReportOptions.ts:70
msgid "Unwanted Sexual Content"
-msgstr ""
+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 ""
+msgstr "Оновити до {handle}"
#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
@@ -5450,28 +5048,28 @@ msgstr "Оновлення..."
msgid "Upload a text file to:"
msgstr "Завантажити текстовий файл до:"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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 ""
+msgstr "Завантажити з камери"
-#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserAvatar.tsx:345
#: src/view/com/util/UserBanner.tsx:133
msgid "Upload from Files"
-msgstr ""
+msgstr "Завантажити з файлів"
-#: src/view/com/util/UserAvatar.tsx:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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 ""
+msgstr "Завантажити з бібліотеки"
#: src/view/com/modals/ChangeHandle.tsx:408
msgid "Use a file on your server"
-msgstr ""
+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."
@@ -5479,7 +5077,7 @@ msgstr "Використовуйте паролі для застосунків
#: src/view/com/modals/ChangeHandle.tsx:517
msgid "Use bsky.social as hosting provider"
-msgstr ""
+msgstr "Використовувати bsky.social як хостинг-провайдер"
#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
@@ -5497,16 +5095,12 @@ msgstr "У звичайному браузері"
#: src/view/com/modals/ChangeHandle.tsx:400
msgid "Use the DNS panel"
-msgstr ""
+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 ""
-
#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr "Використано:"
@@ -5518,7 +5112,7 @@ msgstr "Користувача заблоковано"
#: src/lib/moderation/useModerationCauseDescription.ts:48
msgid "User Blocked by \"{0}\""
-msgstr ""
+msgstr "Користувача заблоковано списком \"{0}\""
#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
@@ -5526,28 +5120,24 @@ msgstr "Користувача заблоковано списком"
#: src/lib/moderation/useModerationCauseDescription.ts:66
msgid "User Blocking You"
-msgstr ""
+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: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 "Список користувачів від вас"
@@ -5563,11 +5153,11 @@ msgstr "Список користувачів оновлено"
msgid "User Lists"
msgstr "Списки користувачів"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "Ім'я користувача або електронна адреса"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "Користувачі"
@@ -5581,29 +5171,25 @@ msgstr "Користувачі в «{0}»"
#: src/components/LikesDialog.tsx:85
msgid "Users that have liked this content or profile"
-msgstr ""
+msgstr "Користувачі, які вподобали цей контент і профіль"
#: src/view/com/modals/ChangeHandle.tsx:436
msgid "Value:"
-msgstr ""
-
-#: src/view/com/auth/create/Step2.tsx:243
-#~ msgid "Verification code"
-#~ msgstr ""
+msgstr "Значення:"
#: src/view/com/modals/ChangeHandle.tsx:509
msgid "Verify {0}"
-msgstr ""
+msgstr "Верифікувати {0}"
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "Підтвердити електронну адресу"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "Підтвердити мою електронну адресу"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "Підтвердити мою електронну адресу"
@@ -5612,13 +5198,13 @@ msgstr "Підтвердити мою електронну адресу"
msgid "Verify New Email"
msgstr "Підтвердити нову адресу електронної пошти"
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr "Підтвердьте адресу вашої електронної пошти"
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
-msgstr ""
+msgstr "Версія {0}"
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
@@ -5632,13 +5218,13 @@ msgstr "Переглянути аватар {0}"
msgid "View debug entry"
msgstr "Переглянути запис для налагодження"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
-msgstr ""
+msgstr "Переглянути деталі"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
-msgstr ""
+msgstr "Переглянути деталі як надіслати скаргу про порушення авторських прав"
#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
@@ -5646,8 +5232,10 @@ msgstr "Переглянути обговорення"
#: src/components/moderation/LabelsOnMe.tsx:51
msgid "View information about these labels"
-msgstr ""
+msgstr "Переглянути інформацію про мітки"
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Переглянути профіль"
@@ -5658,11 +5246,11 @@ msgstr "Переглянути аватар"
#: src/components/LabelingServiceCard/index.tsx:140
msgid "View the labeling service provided by @{0}"
-msgstr ""
+msgstr "Переглянути послуги маркування, який надає @{0}"
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
-msgstr ""
+msgstr "Переглянути користувачів, які вподобали цю стрічку"
#: src/view/com/modals/LinkWarning.tsx:89
#: src/view/com/modals/LinkWarning.tsx:95
@@ -5678,17 +5266,13 @@ msgstr "Попереджати"
#: src/lib/moderation/useLabelBehaviorDescription.ts:48
msgid "Warn content"
-msgstr ""
+msgstr "Попереджувати про вміст"
#: src/lib/moderation/useLabelBehaviorDescription.ts:46
msgid "Warn content and filter from feeds"
-msgstr ""
+msgstr "Попереджувати про вміст і фільтрувати його зі стрічки"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
-#~ msgid "We also think you'll like \"For You\" by Skygaze:"
-#~ msgstr "Гадаємо, вам також сподобається «For You» від Skygaze:"
-
-#: src/screens/Hashtag.tsx:133
+#: src/screens/Hashtag.tsx:210
msgid "We couldn't find any results for that hashtag."
msgstr "Ми не змогли знайти жодних результатів для цього хештегу."
@@ -5704,10 +5288,6 @@ 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:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
msgstr "Ми рекомендуємо уникати загальних слів, що зʼявляються у багатьох постах, оскільки це може призвести до того, що жодного поста не буде показано."
@@ -5718,11 +5298,11 @@ msgstr "Ми рекомендуємо стрічку «Discover»:"
#: src/components/dialogs/BirthDateSettings.tsx:52
msgid "We were unable to load your birth date preferences. Please try again."
-msgstr ""
+msgstr "Не вдалося завантажити ваші налаштування дати дня народження. Повторіть спробу."
#: src/screens/Moderation/index.tsx:385
msgid "We were unable to load your configured labelers at this time."
-msgstr ""
+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."
@@ -5732,19 +5312,15 @@ 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:142
msgid "We'll use this to help customize your experience."
msgstr "Ми скористаємося цим, щоб підлаштувати Ваш досвід."
-#: src/screens/Signup/index.tsx:130
+#: 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}."
@@ -5752,18 +5328,18 @@ msgstr "Дуже прикро, але нам не вдалося знайти ц
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:256
+#: src/view/screens/Search/Search.tsx:323
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/components/Lists.tsx:197
#: 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:321
+#: 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 ""
+msgstr "На жаль, ви можете підписатися тільки на 10 маркувальників, і ви вже досягли цього ліміту."
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
@@ -5773,13 +5349,9 @@ msgstr "Ласкаво просимо до <0>Bluesky0>"
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:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr "Як справи?"
@@ -5798,33 +5370,33 @@ msgstr "Хто може відповідати"
#: src/components/ReportDialog/SelectReportOptionView.tsx:43
msgid "Why should this content be reviewed?"
-msgstr ""
+msgstr "Чому слід переглянути цей контент?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:56
msgid "Why should this feed be reviewed?"
-msgstr ""
+msgstr "Чому слід переглянути цю стрічку?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:53
msgid "Why should this list be reviewed?"
-msgstr ""
+msgstr "Чому слід переглянути цей список?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:50
msgid "Why should this post be reviewed?"
-msgstr ""
+msgstr "Чому слід переглянути цей пост?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:47
msgid "Why should this user be reviewed?"
-msgstr ""
+msgstr "Чому слід переглянути цього користувача?"
#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "Широке"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "Написати пост"
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Написати відповідь"
@@ -5833,10 +5405,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
@@ -5847,27 +5415,19 @@ 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 ""
+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:143
msgid "You can change these settings later."
msgstr "Ви можете змінити ці налаштування пізніше."
@@ -5879,21 +5439,21 @@ msgstr "Тепер ви можете увійти за допомогою нов
#: src/view/com/profile/ProfileFollowers.tsx:86
msgid "You do not have any followers."
-msgstr ""
+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 "У вас немає збережених стрічок."
@@ -5916,53 +5476,41 @@ msgstr "Ви ввели неправильний код. Він має вигл
#: src/lib/moderation/useModerationCauseDescription.ts:109
msgid "You have hidden this post"
-msgstr ""
+msgstr "Ви приховали цей пост"
#: src/components/moderation/ModerationDetailsDialog.tsx:101
msgid "You have hidden this post."
-msgstr ""
+msgstr "Ви приховали цей пост."
#: src/components/moderation/ModerationDetailsDialog.tsx:94
#: src/lib/moderation/useModerationCauseDescription.ts:92
msgid "You have muted this account."
-msgstr ""
+msgstr "Ви увімкнули ігнорування цього облікового запису."
#: src/lib/moderation/useModerationCauseDescription.ts:86
msgid "You have muted this user"
-msgstr ""
+msgstr "Ви увімкнули ігнорування цього користувача"
-#: src/view/com/modals/ModerationDetails.tsx:87
-#~ 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
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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 "Ви ще не заблокували жодного облікового запису. Щоб заблокувати когось, перейдіть до їх профілю та виберіть опцію \"Заблокувати\" у меню їх облікового запису."
+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
+#: 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 "Ви ще не ігноруєте жодного облікового запису. Щоб ігнорувати когось, перейдіть до їх профілю та виберіть опцію \"Ігнорувати\" у меню їх облікового запису."
+msgstr "Ви ще не ігноруєте жодного облікового запису. Щоб увімкнути ігнорування когось, перейдіть до їх профілю та виберіть опцію \"Ігнорувати\" у меню їх облікового запису."
#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
@@ -5970,29 +5518,25 @@ msgstr "У вас ще немає ігнорованих слів чи тегі
#: src/components/moderation/LabelsOnMeDialog.tsx:68
msgid "You may appeal these labels if you feel they were placed in error."
-msgstr ""
+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 "Щоб увімкнути відображення вмісту для дорослих вам повинно бути не менше 18 років."
+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 ""
+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 "Ви будете отримувати сповіщення з цього обговорення"
@@ -6017,13 +5561,13 @@ 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 ""
+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:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Ваш акаунт"
@@ -6035,7 +5579,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/screens/Signup/StepInfo/index.tsx:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Ваша дата народження"
@@ -6053,15 +5597,11 @@ msgstr "Ваша стрічка за замовчуванням \"Following\""
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 "Вашу адресу електронної пошти було змінено, але ще не підтверджено. Для підтвердження, будь ласка, перевірте вашу поштову скриньку за новою адресою."
-#: src/view/com/modals/VerifyEmail.tsx:114
+#: src/view/com/modals/VerifyEmail.tsx:122
msgid "Your email has not yet been verified. This is an important security step which we recommend."
msgstr "Ваша електронна пошта ще не підтверджена. Це важливий крок для безпеки вашого облікового запису, який ми рекомендуємо вам зробити."
@@ -6069,7 +5609,7 @@ msgstr "Ваша електронна пошта ще не підтвердже
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "Ваша домашня стрічка порожня! Підпишіться на більше користувачів щоб отримувати більше постів."
-#: src/screens/Signup/StepHandle.tsx:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Ваш повний псевдонім буде"
@@ -6077,12 +5617,6 @@ msgstr "Ваш повний псевдонім буде"
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:220
msgid "Your muted words"
msgstr "Ваші ігноровані слова"
@@ -6091,7 +5625,7 @@ msgstr "Ваші ігноровані слова"
msgid "Your password has been changed successfully!"
msgstr "Ваш пароль успішно змінено!"
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr "Пост опубліковано"
@@ -6101,14 +5635,14 @@ msgstr "Пост опубліковано"
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "Ваші повідомлення, вподобання і блоки є публічними. Ігнорування - приватні."
-#: src/view/screens/Settings/index.tsx:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "Ваш профіль"
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr "Відповідь опубліковано"
-#: src/screens/Signup/index.tsx:152
+#: 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 cbd335e836..225e26a688 100644
--- a/src/locale/locales/zh-CN/messages.po
+++ b/src/locale/locales/zh-CN/messages.po
@@ -13,15 +13,16 @@ msgstr ""
"Language-Team: Frudrax Cheng, Simon Chan, U2FsdGVkX1, Mikan Harada\n"
"Plural-Forms: \n"
-#: src/view/com/modals/VerifyEmail.tsx:142
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr "(没有邮件)"
+#: src/components/ProfileHoverCard/index.web.tsx:438
#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} 个正在关注"
-#: src/view/shell/Drawer.tsx:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} 个未读"
@@ -33,15 +34,20 @@ msgstr "<0/> 个成员"
msgid "<0>{0}0> following"
msgstr "<0>{0}0> 个正在关注"
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr "<0>{followers} 0><1>{pluralizedFollowers}1>"
+
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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>"
@@ -49,31 +55,44 @@ msgstr "<0>关注一些0><1>推荐的1><2>用户2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>欢迎来到0><1>Bluesky1>"
-#: src/screens/Profile/Header/Handle.tsx:42
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr "⚠无效的用户识别符"
-#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:649
+#: src/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr ""
+
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
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:300
-#: src/view/screens/Settings/index.tsx:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "无障碍"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr ""
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr ""
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
msgstr "账户"
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "账户"
@@ -106,7 +125,7 @@ msgstr "账户选项"
msgid "Account removed from quick access"
msgstr "已从快速访问中移除账户"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "已取消屏蔽账户"
@@ -123,7 +142,7 @@ msgstr "已取消隐藏账户"
#: 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:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "添加"
@@ -131,13 +150,13 @@ 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/components/dialogs/SwitchAccount.tsx:55
-#: src/view/screens/Settings/index.tsx:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr "添加账户"
@@ -154,20 +173,20 @@ msgid "Add App Password"
msgstr "新增应用专用密码"
#: src/view/com/composer/Composer.tsx:467
-msgid "Add link card"
-msgstr "添加链接卡片"
+#~ msgid "Add link card"
+#~ msgstr "添加链接卡片"
#: src/view/com/composer/Composer.tsx:472
-msgid "Add link card:"
-msgstr "添加链接卡片:"
+#~ msgid "Add link card:"
+#~ msgstr "添加链接卡片:"
#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
-msgstr "为配置的设置添加隐藏词"
+msgstr "为配置的设置添加隐藏词汇"
#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
-msgstr "添加隐藏词和话题标签"
+msgstr "添加隐藏词和标签"
#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
@@ -210,11 +229,11 @@ msgid "Adult content is disabled."
msgstr "成人内容显示已被禁用"
#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
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 "你保存的所有信息流都集中在一处。"
@@ -232,6 +251,7 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "替代文字"
@@ -239,7 +259,8 @@ msgstr "替代文字"
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
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
msgstr "一封电子邮件已发送至 {0}。请查阅邮件内容并复制验证码至下方。"
@@ -247,10 +268,16 @@ 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/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr ""
+
#: 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
@@ -258,7 +285,7 @@ msgstr "不在这些选项中的问题"
msgid "An issue occurred, please try again."
msgstr "出现问题,请重试。"
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "和"
@@ -267,6 +294,10 @@ msgstr "和"
msgid "Animals"
msgstr "动物"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
msgstr "反社会行为"
@@ -287,13 +318,13 @@ msgstr "应用专用密码只能包含字母、数字、空格、破折号及下
msgid "App Password names must be at least 4 characters long."
msgstr "应用专用密码必须至少为 4 个字符。"
-#: src/view/screens/Settings/index.tsx:695
+#: src/view/screens/Settings/index.tsx:647
msgid "App password settings"
msgstr "应用专用密码设置"
-#: src/Navigation.tsx:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "应用专用密码"
@@ -310,7 +341,7 @@ msgstr "申诉 \"{0}\" 标记"
msgid "Appeal submitted."
msgstr "申诉已提交"
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "外观"
@@ -322,7 +353,7 @@ msgstr "你确定要删除这条应用专用密码 \"{name}\" 吗?"
msgid "Are you sure you want to remove {0} from your feeds?"
msgstr "你确定要从你的信息流中删除 {0} 吗?"
-#: src/view/com/composer/Composer.tsx:509
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr "你确定要丢弃此草稿吗?"
@@ -342,9 +373,9 @@ msgstr "艺术"
msgid "Artistic or non-erotic nudity."
msgstr "艺术作品或非色情的裸体。"
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
-msgstr ""
+msgstr "至少 3 个字符"
#: src/components/moderation/LabelsOnMeDialog.tsx:246
#: src/components/moderation/LabelsOnMeDialog.tsx:247
@@ -352,13 +383,13 @@ msgstr ""
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr "返回"
@@ -366,7 +397,7 @@ msgstr "返回"
msgid "Based on your interest in {interestsText}"
msgstr "基于你对 {interestsText} 感兴趣"
-#: src/view/screens/Settings/index.tsx:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "基础信息"
@@ -374,11 +405,11 @@ msgstr "基础信息"
msgid "Birthday"
msgstr "生日"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr "生日:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
msgstr "屏蔽"
@@ -392,21 +423,21 @@ 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 "已屏蔽"
@@ -414,8 +445,8 @@ msgstr "已屏蔽"
msgid "Blocked accounts"
msgstr "已屏蔽账户"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "已屏蔽账户"
@@ -423,7 +454,7 @@ 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:120
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 "被屏蔽的账户无法在你的帖子中回复、提及你或以其他方式与你互动。你将不会看到他们所发的内容,同样他们也无法查看你的内容。"
@@ -431,11 +462,11 @@ msgstr "被屏蔽的账户无法在你的帖子中回复、提及你或以其他
msgid "Blocked post."
msgstr "已屏蔽帖子。"
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: 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 "屏蔽是公开的。被屏蔽的账户无法在你的帖子中回复、提及你或以其他方式与你互动。"
@@ -443,12 +474,10 @@ 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:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "博客"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -489,12 +518,7 @@ msgstr "模糊化图片并从信息流中过滤"
msgid "Books"
msgstr "书籍"
-#: src/view/screens/Settings/index.tsx:893
-#~ msgid "Build version {0} {1}"
-#~ msgstr "构建版本号 {0} {1}"
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "商务"
@@ -522,7 +546,7 @@ msgstr "创建账户即默认表明你同意我们的 {els}。"
msgid "by you"
msgstr "来自你"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "相机"
@@ -534,8 +558,8 @@ msgstr "只能包含字母、数字、空格、破折号及下划线。 长度
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -550,9 +574,9 @@ msgstr "只能包含字母、数字、空格、破折号及下划线。 长度
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "取消"
@@ -594,34 +618,34 @@ msgstr "取消搜索"
msgid "Cancels opening the linked website"
msgstr "取消打开链接的网站"
-#: src/view/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
msgstr "更改"
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "更改"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "更改用户识别符"
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "更改用户识别符"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "更改我的邮箱地址"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr "更改密码"
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr "更改密码"
@@ -638,14 +662,18 @@ 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/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr ""
+
#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "查看发送至你电子邮箱的确认邮件,并在下方输入收到的验证码:"
@@ -671,36 +699,36 @@ msgstr "选择可改进你自定义信息流的算法。"
msgid "Choose your main feeds"
msgstr "选择你的主要信息流"
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "选择你的密码"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr "清除所有旧存储数据"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
msgid "Clear all legacy storage data (restart after this)"
msgstr "清除所有旧存储数据(并重启)"
-#: src/view/screens/Settings/index.tsx:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr "清除所有数据"
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
msgid "Clear all storage data (restart after this)"
msgstr "清除所有数据(并重启)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "清除搜索历史记录"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
msgstr "清除所有旧版存储数据"
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
msgstr "清除所有数据"
@@ -712,21 +740,22 @@ msgstr "点击这里"
msgid "Click here to open tag menu for {tag}"
msgstr "点击这里打开 {tag} 的标签菜单"
-#: src/components/RichText.tsx:192
-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/components/dialogs/GifSelect.tsx:300
#: 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
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr "关闭活动对话框"
@@ -738,6 +767,14 @@ msgstr "关闭警告"
msgid "Close bottom drawer"
msgstr "关闭底部抽屉"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr ""
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "关闭图片"
@@ -746,7 +783,7 @@ msgstr "关闭图片"
msgid "Close image viewer"
msgstr "关闭图片查看器"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
msgid "Close navigation footer"
msgstr "关闭导航页脚"
@@ -755,7 +792,7 @@ msgstr "关闭导航页脚"
msgid "Close this dialog"
msgstr "关闭该窗口"
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr "关闭底部导航栏"
@@ -763,7 +800,7 @@ msgstr "关闭底部导航栏"
msgid "Closes password update alert"
msgstr "关闭密码更新警告"
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr "关闭帖子编辑页并丢弃草稿"
@@ -771,7 +808,7 @@ msgstr "关闭帖子编辑页并丢弃草稿"
msgid "Closes viewer for header image"
msgstr "关闭标题图片查看器"
-#: src/view/com/notifications/FeedItem.tsx:321
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "折叠给定通知的用户列表"
@@ -783,7 +820,7 @@ msgstr "喜剧"
msgid "Comics"
msgstr "漫画"
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "社群准则"
@@ -792,11 +829,11 @@ msgstr "社群准则"
msgid "Complete onboarding and start using your account"
msgstr "完成引导并开始使用你的账户"
-#: src/screens/Signup/index.tsx:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "完成验证"
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "撰写帖子的长度最多为 {MAX_GRAPHEME_LENGTH} 个字符"
@@ -810,7 +847,7 @@ msgstr "为类别 {0} 配置内容过滤设置"
#: src/components/moderation/LabelPreference.tsx:81
msgid "Configure content filtering setting for category: {name}"
-msgstr ""
+msgstr "为类别 {name} 配置内容过滤设置"
#: src/components/moderation/LabelPreference.tsx:244
msgid "Configured in <0>moderation settings0>."
@@ -819,10 +856,12 @@ 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/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
msgid "Confirm"
msgstr "确认"
@@ -847,18 +886,21 @@ msgstr "确认你的年龄:"
msgid "Confirm your birthdate"
msgstr "确认你的出生年月:"
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
msgid "Confirmation code"
msgstr "验证码"
-#: src/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "连接中..."
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "联系支持"
@@ -904,21 +946,21 @@ msgstr "上下文菜单背景,点击关闭菜单。"
#: 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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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 ""
+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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "继续下一步"
@@ -939,17 +981,21 @@ msgstr "烹饪"
msgid "Copied"
msgstr "已复制"
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
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:158
+#: 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 "已复制应用专用密码"
@@ -962,21 +1008,26 @@ msgstr "复制"
msgid "Copy {0}"
msgstr "复制 {0}"
-#: src/view/screens/ProfileList.tsx:388
+#: 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:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
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:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "复制帖子文字"
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "版权许可"
@@ -985,35 +1036,38 @@ msgstr "版权许可"
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:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr "创建新的 Bluesky 账户"
-#: src/screens/Signup/index.tsx:129
+#: 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/HomeLoggedOutCTA.tsx:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: 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} 的举报"
@@ -1022,8 +1076,8 @@ 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}"
+#~ msgid "Creates a card with a thumbnail. The card links to {url}"
+#~ msgstr "创建带有缩略图的卡片。该卡片链接到 {url}"
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
@@ -1039,16 +1093,16 @@ msgid "Custom domain"
msgstr "自定义域名"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr "自定义外部站点的媒体。"
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
msgstr "暗色"
@@ -1056,15 +1110,15 @@ msgstr "暗色"
msgid "Dark mode"
msgstr "深色模式"
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr "深色模式"
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
-msgstr ""
+msgstr "生日"
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
msgstr "调试限制"
@@ -1072,13 +1126,13 @@ msgstr "调试限制"
msgid "Debug panel"
msgstr "调试面板"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: 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:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "删除账户"
@@ -1094,7 +1148,7 @@ msgstr "删除应用专用密码"
msgid "Delete app password?"
msgstr "删除应用专用密码?"
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "删除列表"
@@ -1102,24 +1156,24 @@ msgstr "删除列表"
msgid "Delete my account"
msgstr "删除我的账户"
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
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:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
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:340
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 "已删除"
@@ -1134,14 +1188,34 @@ msgstr "已删除帖子。"
msgid "Description"
msgstr "描述"
-#: src/view/com/composer/Composer.tsx:218
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr "有什么想说的吗?"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr "暗淡"
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr ""
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr ""
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+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
@@ -1149,11 +1223,11 @@ msgstr "暗淡"
msgid "Disabled"
msgstr "关闭"
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr "丢弃"
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
msgstr "丢弃草稿?"
@@ -1167,7 +1241,7 @@ msgstr "阻止应用向未登录用户显示我的账户"
msgid "Discover new custom feeds"
msgstr "探索新的自定义信息流"
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr "探索新的信息流"
@@ -1187,9 +1261,9 @@ msgstr "DNS 面板"
msgid "Does not include nudity."
msgstr "不包含裸露内容"
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
-msgstr ""
+msgstr "不以连字符开头或结尾"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "Domain Value"
@@ -1217,7 +1291,7 @@ msgstr "域名已认证!"
msgid "Done"
msgstr "完成"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: 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
@@ -1234,16 +1308,12 @@ msgstr "完成"
msgid "Done{extraText}"
msgstr "完成{extraText}"
-#: 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
msgid "Download CAR file"
msgstr "下载 CAR 文件"
-#: src/view/com/composer/text-input/TextInput.web.tsx:249
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr "拖放即可新增图片"
@@ -1296,7 +1366,7 @@ msgctxt "action"
msgid "Edit"
msgstr "编辑"
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
msgstr "编辑头像"
@@ -1306,7 +1376,7 @@ msgstr "编辑头像"
msgid "Edit image"
msgstr "编辑图片"
-#: src/view/screens/ProfileList.tsx:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "编辑列表详情"
@@ -1314,9 +1384,9 @@ msgstr "编辑列表详情"
msgid "Edit Moderation List"
msgstr "编辑限制列表"
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "编辑自定义信息流"
@@ -1324,18 +1394,18 @@ msgstr "编辑自定义信息流"
msgid "Edit my profile"
msgstr "编辑个人资料"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "编辑个人资料"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
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 "编辑保存的信息流"
@@ -1360,6 +1430,10 @@ msgstr "教育"
msgid "Email"
msgstr "电子邮箱"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr ""
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "邮箱地址"
@@ -1373,14 +1447,28 @@ msgstr "电子邮箱已更新"
msgid "Email Updated"
msgstr "电子邮箱已更新"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr "电子邮箱已验证"
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
msgid "Email:"
msgstr "电子邮箱:"
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr "嵌入 HTML 代码"
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+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 "将此帖子嵌入到你的网站。只需复制以下代码片段,并将其粘贴到您网站的 HTML 代码中即可。"
+
#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "仅启用 {0}"
@@ -1401,13 +1489,9 @@ msgstr "在你的信息流中启用成人内容"
#: src/components/dialogs/EmbedConsent.tsx:82
#: src/components/dialogs/EmbedConsent.tsx:89
msgid "Enable external media"
-msgstr ""
+msgstr "启用外部媒体"
-#: src/view/com/modals/EmbedConsent.tsx:97
-#~ msgid "Enable External Media"
-#~ msgstr "启用外部媒体"
-
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr "启用媒体播放器"
@@ -1417,13 +1501,13 @@ msgstr "启用此设置以仅查看你关注的人之间的回复。"
#: src/components/dialogs/EmbedConsent.tsx:94
msgid "Enable this source only"
-msgstr ""
+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 "信息流的末尾"
@@ -1433,14 +1517,14 @@ msgstr "为此应用专用密码命名"
#: src/screens/Login/SetNewPasswordForm.tsx:139
msgid "Enter a password"
-msgstr ""
+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
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr "输入验证码"
@@ -1461,7 +1545,7 @@ msgid "Enter your birth date"
msgstr "输入你的出生日期"
#: src/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "输入你的电子邮箱"
@@ -1481,7 +1565,7 @@ msgstr "输入你的用户名和密码"
msgid "Error receiving captcha response."
msgstr "Captcha 响应错误"
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "错误:"
@@ -1518,8 +1602,8 @@ msgstr "退出搜索查询输入"
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 "展开或折叠你要回复的完整帖子"
@@ -1531,12 +1615,12 @@ msgstr "明确或潜在引起不适的媒体内容。"
msgid "Explicit sexual images."
msgstr "明确的性暗示图片。"
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr "导出账户数据"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr "导出账户数据"
@@ -1546,17 +1630,17 @@ msgid "External Media"
msgstr "外部媒体"
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
msgstr "外部媒体首选项"
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr "外部媒体设置"
@@ -1569,12 +1653,16 @@ msgstr "创建应用专用密码失败。"
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/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+msgstr ""
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "无法加载推荐信息流"
@@ -1582,7 +1670,7 @@ msgstr "无法加载推荐信息流"
msgid "Failed to save image: {0}"
msgstr "无法保存此图片:{0}"
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr "信息流"
@@ -1590,31 +1678,31 @@ 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:314
+#: 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:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: 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/> 以获取详情。"
@@ -1640,13 +1728,17 @@ msgstr "最终确定"
msgid "Find accounts to follow"
msgstr "寻找一些账户关注"
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
-msgstr "寻找一些正在使用 Bluesky 的用户"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:589
+#~ msgid "Find users on Bluesky"
+#~ msgstr "寻找一些正在使用 Bluesky 的用户"
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr "使用右侧的搜索工具来查找用户"
+#: 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..."
@@ -1678,10 +1770,10 @@ msgid "Flip vertically"
msgstr "垂直翻转"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "关注"
@@ -1691,7 +1783,7 @@ msgid "Follow"
msgstr "关注"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "关注 {0}"
@@ -1707,17 +1799,17 @@ msgstr "关注所有"
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
msgid "Follow Back"
-msgstr ""
+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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr "由 {0} 关注"
@@ -1729,7 +1821,7 @@ msgstr "已关注的用户"
msgid "Followed users only"
msgstr "仅限已关注的用户"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "关注了你"
@@ -1738,26 +1830,26 @@ msgstr "关注了你"
msgid "Followers"
msgstr "关注者"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: 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
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr "正在关注 {0}"
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
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/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
msgstr "关注信息流首选项"
@@ -1765,7 +1857,7 @@ msgstr "关注信息流首选项"
msgid "Follows you"
msgstr "关注了你"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr "关注了你"
@@ -1781,47 +1873,38 @@ msgstr "出于安全原因,我们需要向你的电子邮箱发送验证码。
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 password"
-#~ msgstr "忘记密码"
-
#: src/screens/Login/index.tsx:129
#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "忘记密码"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
-msgstr ""
+msgstr "忘记密码?"
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
-msgstr ""
+msgstr "忘记?"
#: src/lib/moderation/useReportOptions.ts:52
msgid "Frequently Posts Unwanted Content"
msgstr "频繁发布不受欢迎的内容"
-#: src/screens/Hashtag.tsx:109
-#: src/screens/Hashtag.tsx:149
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
msgstr "来自 @{sanitizedAuthor}"
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "来自 <0/>"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "相册"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "开始"
@@ -1835,25 +1918,25 @@ msgstr "明显违反法律或服务条款"
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: src/view/screens/ProfileList.tsx:918
#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "返回"
-#: src/components/Error.tsx:91
+#: src/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "返回"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "返回上一步"
@@ -1865,7 +1948,7 @@ msgstr "返回主页"
msgid "Go Home"
msgstr "返回主页"
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "前往 @{queryMaybeHandle}"
@@ -1883,24 +1966,28 @@ msgstr "图形媒体"
msgid "Handle"
msgstr "用户识别符"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
msgstr "骚扰、恶作剧或其他无法容忍的行为"
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
-msgstr "话题标签"
+msgstr "标签"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
-msgstr "话题标签:#{tag}"
+msgstr "标签:#{tag}"
-#: src/screens/Signup/index.tsx:217
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "任何疑问?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "帮助"
@@ -1929,17 +2016,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:354
msgid "Hide"
msgstr "隐藏"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: 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:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr "隐藏帖子"
@@ -1948,11 +2035,11 @@ msgstr "隐藏帖子"
msgid "Hide the content"
msgstr "隐藏内容"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr "隐藏这条帖子?"
-#: src/view/com/notifications/FeedItem.tsx:319
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "隐藏用户列表"
@@ -1984,11 +2071,11 @@ msgstr "看起来在加载数据时遇到了问题,请查看下方获取更多
msgid "Hmmmm, we couldn't load that moderation service."
msgstr "无法加载该限制提供服务。"
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "主页"
@@ -1997,7 +2084,7 @@ msgid "Host:"
msgstr "主机:"
#: src/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
@@ -2007,11 +2094,13 @@ msgstr "托管服务提供商"
msgid "How should we open this link?"
msgstr "我们该如何打开此链接?"
-#: src/view/com/modals/VerifyEmail.tsx:214
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "我有验证码"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr "我有验证码"
@@ -2031,11 +2120,11 @@ msgstr "若不勾选,则默认为全年龄向。"
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:610
+#: 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:342
msgid "If you remove this post, you won't be able to recover it."
msgstr "如果你移除此列表,将无法恢复"
@@ -2067,14 +2156,6 @@ msgstr "输入发送到你电子邮箱的验证码以重置密码"
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:181
msgid "Input name for app password"
msgstr "输入应用专用密码名称"
@@ -2087,15 +2168,19 @@ msgstr "输入新的密码"
msgid "Input password for account deletion"
msgstr "输入密码以删除账户"
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr "输入与 {identifier} 关联的密码"
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
msgid "Input the username or email address you used at signup"
msgstr "输入注册时使用的用户名或电子邮箱"
-#: src/screens/Login/LoginForm.tsx:194
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr "输入你的密码"
@@ -2103,15 +2188,20 @@ msgstr "输入你的密码"
msgid "Input your preferred hosting provider"
msgstr "输入你首选的托管服务提供商"
-#: src/screens/Signup/StepHandle.tsx:62
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "输入你的用户识别符"
-#: src/view/com/post-thread/PostThreadItem.tsx:221
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr "帖子记录无效或不受支持"
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr "用户名或密码无效"
@@ -2139,8 +2229,7 @@ msgstr "邀请码:1 个可用"
msgid "It shows posts from the people you follow as they happen."
msgstr "他会显示你所关注的人发布的帖子。"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "工作"
@@ -2160,11 +2249,11 @@ msgstr "由 {0} 标记。"
msgid "Labeled by the author."
msgstr "由作者标记。"
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
msgstr "标记"
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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 "标记是对特定内容及用户的提示。可以针对特定内容默认隐藏内容、显示警告或直接显示。"
@@ -2184,22 +2273,23 @@ msgstr "你内容上的标记"
msgid "Language selection"
msgstr "选择语言"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr "语言设置"
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "语言设置"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "语言"
-#: src/view/com/auth/create/StepHeader.tsx:20
-#~ msgid "Last step!"
-#~ msgstr "最后一步!"
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr "最新"
#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
@@ -2235,7 +2325,7 @@ msgstr "离开 Bluesky"
msgid "left to go."
msgstr "尚未完成。"
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "旧存储数据已清除,你需要立即重新启动应用。"
@@ -2248,22 +2338,22 @@ msgstr "让我们来重置你的密码!"
msgid "Let's go!"
msgstr "让我们开始!"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr "亮色"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "喜欢"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
msgid "Liked by"
msgstr "喜欢"
@@ -2281,29 +2371,29 @@ msgstr "{0} 个 {1} 喜欢"
msgid "Liked by {count} {0}"
msgstr "被 {count} {0} 喜欢"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "赞了你的自定义信息流"
-#: src/view/com/notifications/FeedItem.tsx:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "赞了你的帖子"
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr "喜欢"
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr "这条帖子的喜欢数"
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr "列表"
@@ -2311,7 +2401,7 @@ msgstr "列表"
msgid "List Avatar"
msgstr "列表头像"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "列表已屏蔽"
@@ -2319,11 +2409,11 @@ 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 "列表已隐藏"
@@ -2331,20 +2421,20 @@ msgstr "列表已隐藏"
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:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "列表"
@@ -2352,10 +2442,10 @@ msgstr "列表"
msgid "Load new notifications"
msgstr "加载新的通知"
-#: src/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "加载新的帖子"
@@ -2363,7 +2453,7 @@ msgstr "加载新的帖子"
msgid "Loading..."
msgstr "加载中..."
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr "日志"
@@ -2382,9 +2472,13 @@ msgstr "未登录用户可见性"
msgid "Login to account that is not listed"
msgstr "登录未列出的账户"
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+msgstr ""
+
#: src/screens/Login/SetNewPasswordForm.tsx:116
msgid "Looks like XXXXX-XXXXX"
-msgstr ""
+msgstr "看起来像是 XXXXX-XXXXX"
#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
@@ -2392,17 +2486,10 @@ msgstr "请确认目标页面地址是否正确!"
#: 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 个字符"
+msgstr "管理你的隐藏词和标签"
-#: src/view/com/auth/create/Step2.tsx:109
-#~ msgid "May only contain letters and numbers"
-#~ msgstr "只能包含字母和数字"
-
-#: src/view/screens/Profile.tsx:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr "媒体"
@@ -2414,8 +2501,8 @@ msgstr "提到的用户"
msgid "Mentioned users"
msgstr "提到的用户"
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "菜单"
@@ -2427,12 +2514,12 @@ msgstr "来自服务器的信息:{0}"
msgid "Misleading Account"
msgstr "误导性账户"
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "限制"
@@ -2445,13 +2532,13 @@ 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 "你创建的限制列表"
@@ -2467,16 +2554,16 @@ msgstr "限制列表已更新"
msgid "Moderation lists"
msgstr "限制列表"
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "限制列表"
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr "限制设置"
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
msgstr "限制状态"
@@ -2497,7 +2584,7 @@ msgstr "更多"
msgid "More feeds"
msgstr "更多信息流"
-#: src/view/screens/ProfileList.tsx:599
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "更多选项"
@@ -2505,10 +2592,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 "隐藏"
@@ -2522,7 +2605,7 @@ msgstr "隐藏 {truncatedTag}"
msgid "Mute Account"
msgstr "隐藏账户"
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "隐藏账户"
@@ -2532,38 +2615,38 @@ msgstr "隐藏所有 {displayTag} 的帖子"
#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
-msgstr "仅隐藏话题标签"
+msgstr "仅隐藏标签"
#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
-msgstr "隐藏文本和话题标签"
+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:126
msgid "Mute this word in post text and tags"
-msgstr "在帖子文本和话题标签中隐藏该词"
+msgstr "在帖子文本和标签中隐藏该词"
#: 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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
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:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
-msgstr "隐藏词和话题标签"
+msgstr "隐藏词和标签"
#: src/view/com/lists/ListCard.tsx:102
msgid "Muted"
@@ -2573,12 +2656,12 @@ msgstr "已隐藏"
msgid "Muted accounts"
msgstr "已隐藏账户"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: 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 "已隐藏的账户将不会在你的通知或时间线中显示,被隐藏账户将不会收到通知。"
@@ -2588,9 +2671,9 @@ msgstr "被 \"{0}\" 隐藏"
#: src/screens/Moderation/index.tsx:231
msgid "Muted words & tags"
-msgstr "已隐藏词和话题标签"
+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 "被隐藏的账户将不会得知你已将他隐藏,已隐藏的账户将不会在你的通知或时间线中显示。"
@@ -2599,7 +2682,7 @@ msgstr "被隐藏的账户将不会得知你已将他隐藏,已隐藏的账户
msgid "My Birthday"
msgstr "我的生日"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "自定义信息流"
@@ -2607,11 +2690,11 @@ msgstr "自定义信息流"
msgid "My Profile"
msgstr "我的个人资料"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
msgstr "我保存的信息流"
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
msgid "My Saved Feeds"
msgstr "我保存的信息流"
@@ -2635,7 +2718,7 @@ msgid "Nature"
msgstr "自然"
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "转到下一页"
@@ -2644,15 +2727,10 @@ msgstr "转到下一页"
msgid "Navigates to your profile"
msgstr "转到个人资料"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: 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} 的嵌入内容"
-
#: 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."
@@ -2687,17 +2765,17 @@ msgstr "新密码"
msgid "New Password"
msgstr "新密码"
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
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:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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 "新帖子"
@@ -2721,12 +2799,12 @@ msgstr "新闻"
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -2750,8 +2828,8 @@ msgstr "下一张图片"
msgid "No"
msgstr "停用"
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "没有描述"
@@ -2759,13 +2837,17 @@ msgstr "没有描述"
msgid "No DNS Panel"
msgstr "没有 DNS 面板"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr "不再关注 {0}"
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
-msgstr ""
+msgstr "不超过 253 个字符"
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
@@ -2776,20 +2858,24 @@ msgstr "还没有通知!"
msgid "No result"
msgstr "没有结果"
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "未找到 {query} 的结果"
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr ""
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
@@ -2812,19 +2898,19 @@ msgstr "非性暗示裸露"
msgid "Not Applicable."
msgstr "不适用。"
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "未找到"
-#: src/view/com/modals/VerifyEmail.tsx:246
-#: src/view/com/modals/VerifyEmail.tsx:252
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr "暂时不需要"
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
msgstr "分享注意事项"
@@ -2832,13 +2918,13 @@ msgstr "分享注意事项"
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:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "通知"
@@ -2848,21 +2934,18 @@ msgstr "裸露"
#: 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 "未标记的裸露或色情内容"
+msgstr "未标记的裸露或成人内容"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
-msgstr ""
+msgstr "of"
#: src/lib/moderation/useLabelBehaviorDescription.ts:11
msgid "Off"
msgstr "显示"
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "糟糕!"
@@ -2871,7 +2954,7 @@ msgid "Oh no! Something went wrong."
msgstr "糟糕!发生了一些错误。"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
msgstr "好的"
@@ -2883,11 +2966,11 @@ msgstr "好的"
msgid "Oldest replies first"
msgstr "优先显示最旧的回复"
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr "重新开始引导流程"
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr "至少有一张图片缺失了替代文字。"
@@ -2895,17 +2978,17 @@ msgstr "至少有一张图片缺失了替代文字。"
msgid "Only {0} can reply."
msgstr "只有 {0} 可以回复。"
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
-msgstr ""
+msgstr "仅限字母、数字和连字符"
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
msgstr "糟糕,发生了一些错误!"
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Oops!"
@@ -2913,37 +2996,37 @@ msgstr "Oops!"
msgid "Open"
msgstr "开启"
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr "开启表情符号选择器"
-#: src/view/screens/ProfileFeed.tsx:300
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
msgstr "开启信息流选项菜单"
-#: src/view/screens/Settings/index.tsx:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr "在内置浏览器中打开链接"
#: src/screens/Moderation/index.tsx:227
msgid "Open muted words and tags settings"
-msgstr "开启隐藏词和标签设置"
+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:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr "开启 Storybook 界面"
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
msgstr "开启系统日志"
@@ -2951,15 +3034,19 @@ msgstr "开启系统日志"
msgid "Opens {numItems} options"
msgstr "开启 {numItems} 个选项"
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr ""
+
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
msgstr "开启调试记录的额外详细信息"
-#: src/view/com/notifications/FeedItem.tsx:353
+#: 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
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr "开启设备相机"
@@ -2967,51 +3054,53 @@ msgstr "开启设备相机"
msgid "Opens composer"
msgstr "开启编辑器"
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr "开启可配置的语言设置"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
msgid "Opens device photo gallery"
msgstr "开启设备相册"
-#: src/view/screens/Settings/index.tsx:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr "开启外部嵌入设置"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr ""
+
#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "开启邀请码列表"
-#: src/view/screens/Settings/index.tsx:798
+#: src/view/screens/Settings/index.tsx:757
msgid "Opens modal for account deletion confirmation. Requires email code"
msgstr "开启用户删除确认界面,需要电子邮箱接收验证码。"
-#: src/view/screens/Settings/index.tsx:756
+#: src/view/screens/Settings/index.tsx:715
msgid "Opens modal for changing your Bluesky password"
msgstr "开启密码修改界面"
-#: src/view/screens/Settings/index.tsx:718
+#: src/view/screens/Settings/index.tsx:670
msgid "Opens modal for choosing a new Bluesky handle"
msgstr "开启创建新的用户识别符界面"
-#: src/view/screens/Settings/index.tsx:779
+#: src/view/screens/Settings/index.tsx:738
msgid "Opens modal for downloading your Bluesky account data (repository)"
msgstr "开启你的 Bluesky 用户资料(存储库)下载页面"
-#: src/view/screens/Settings/index.tsx:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
msgstr "开启电子邮箱确认界面"
@@ -3019,28 +3108,28 @@ msgstr "开启电子邮箱确认界面"
msgid "Opens modal for using custom domain"
msgstr "开启使用自定义域名的模式"
-#: src/view/screens/Settings/index.tsx:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "开启限制设置"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
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:597
+#: src/view/screens/Settings/index.tsx:549
msgid "Opens screen with all saved feeds"
msgstr "开启包含所有已保存信息流的界面"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:648
msgid "Opens the app password settings"
msgstr "开启应用专用密码设置界面"
-#: src/view/screens/Settings/index.tsx:554
+#: src/view/screens/Settings/index.tsx:506
msgid "Opens the Following feed preferences"
msgstr "开启关注信息流首选项"
@@ -3048,16 +3137,16 @@ msgstr "开启关注信息流首选项"
msgid "Opens the linked website"
msgstr "开启链接的网页"
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr "开启 Storybook 界面"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "开启系统日志界面"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "开启讨论串首选项"
@@ -3065,7 +3154,7 @@ msgstr "开启讨论串首选项"
msgid "Option {0} of {numItems}"
msgstr "第 {0} 个选项,共 {numItems} 个"
-#: src/components/ReportDialog/SubmitView.tsx:162
+#: src/components/ReportDialog/SubmitView.tsx:160
msgid "Optionally provide additional information below:"
msgstr "可选在下方提供额外信息:"
@@ -3085,7 +3174,7 @@ msgstr "其他账户"
msgid "Other..."
msgstr "其他..."
-#: src/components/Lists.tsx:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "无法找到此页面"
@@ -3094,8 +3183,8 @@ msgstr "无法找到此页面"
msgid "Page Not Found"
msgstr "无法找到此页面"
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3113,11 +3202,19 @@ msgstr "密码已更新"
msgid "Password updated!"
msgstr "密码已更新!"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr "人"
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr "@{0} 关注的人"
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr "关注 @{0} 的人"
@@ -3137,23 +3234,31 @@ msgstr "宠物"
msgid "Pictures meant for adults."
msgstr "适合成年人的图像。"
-#: src/view/screens/ProfileFeed.tsx:292
-#: 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:295
+#: 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/GifEmbed.tsx:31
+msgid "Play"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "播放 {0}"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3189,7 +3294,7 @@ msgstr "请输入此应用专用密码的唯一名称,或使用我们提供的
#: src/components/dialogs/MutedWords.tsx:67
msgid "Please enter a valid word, tag, or phrase to mute"
-msgstr "请输入一个有效的词、话题标签或短语"
+msgstr "请输入一个有效的词、标签或短语"
#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
@@ -3203,11 +3308,11 @@ msgstr "请输入你的密码:"
msgid "Please explain why you think this label was incorrectly applied by {0}"
msgstr "请解释为什么你认为此标记是由 {0} 错误应用的"
-#: src/view/com/modals/VerifyEmail.tsx:101
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr "请验证你的电子邮箱"
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr "请等待你的链接卡片加载完毕"
@@ -3219,12 +3324,8 @@ msgstr "政治"
msgid "Porn"
msgstr "色情内容"
-#: src/lib/moderation/useGlobalLabelStrings.ts:34
-#~ msgid "Pornography"
-#~ msgstr "色情"
-
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr "发布"
@@ -3234,17 +3335,17 @@ msgctxt "description"
msgid "Post"
msgstr "发布"
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr "{0} 的帖子"
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
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 "已删除帖子"
@@ -3255,7 +3356,7 @@ msgstr "已隐藏帖子"
#: src/components/moderation/ModerationDetailsDialog.tsx:97
#: src/lib/moderation/useModerationCauseDescription.ts:99
msgid "Post Hidden by Muted Word"
-msgstr "帖子被隐藏词所隐藏"
+msgstr "帖子被隐藏词汇所隐藏"
#: src/components/moderation/ModerationDetailsDialog.tsx:100
#: src/lib/moderation/useModerationCauseDescription.ts:108
@@ -3279,13 +3380,13 @@ msgstr "无法找到帖子"
msgid "posts"
msgstr "帖子"
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr "帖子"
#: 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"
@@ -3295,13 +3396,13 @@ msgstr "帖子已隐藏"
msgid "Potentially Misleading Link"
msgstr "潜在误导性链接"
-#: src/components/forms/HostingProvider.tsx:45
+#: src/components/forms/HostingProvider.tsx:46
msgid "Press to change hosting provider"
-msgstr ""
+msgstr "点击以变更托管提供商"
-#: src/components/Error.tsx:74
-#: src/components/Lists.tsx:80
-#: src/screens/Signup/index.tsx:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
msgstr "点按重试"
@@ -3317,16 +3418,16 @@ msgstr "首选语言"
msgid "Prioritize Your Follows"
msgstr "优先显示关注者"
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "隐私"
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "隐私政策"
@@ -3335,15 +3436,15 @@ msgid "Processing..."
msgstr "处理中..."
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
msgstr "个人资料"
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "个人资料"
@@ -3351,7 +3452,7 @@ msgstr "个人资料"
msgid "Profile updated"
msgstr "个人资料已更新"
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "通过验证电子邮箱来保护你的账户。"
@@ -3367,11 +3468,11 @@ msgstr "公开且可共享的批量隐藏或屏蔽列表。"
msgid "Public, shareable lists which can drive feeds."
msgstr "公开且可共享的列表,可作为信息流使用。"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr "发布帖子"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr "发布回复"
@@ -3397,15 +3498,15 @@ msgstr "随机显示 (手气不错)"
msgid "Ratios"
msgstr "比率"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
msgstr "最近的搜索"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: 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 "推荐的用户"
@@ -3422,7 +3523,7 @@ msgstr "移除"
msgid "Remove account"
msgstr "删除账户"
-#: src/view/com/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
msgstr "删除头像"
@@ -3440,8 +3541,8 @@ msgstr "删除信息流?"
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "从自定义信息流中删除"
@@ -3453,13 +3554,13 @@ msgstr "从自定义信息流中删除?"
msgid "Remove image"
msgstr "删除图片"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr "删除图片预览"
#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
-msgstr "从你的隐藏词列表中删除"
+msgstr "从你的隐藏词汇列表中删除"
#: src/view/com/modals/Repost.tsx:48
msgid "Remove repost"
@@ -3478,15 +3579,15 @@ msgstr "从列表中删除"
msgid "Removed from my feeds"
msgstr "从自定义信息流中删除"
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
msgstr "从你的自定义信息流中删除"
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr "从 {0} 中删除默认缩略图"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr "回复"
@@ -3494,7 +3595,7 @@ msgstr "回复"
msgid "Replies to this thread are disabled"
msgstr "对此讨论串的回复已被禁用"
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr "回复"
@@ -3503,11 +3604,17 @@ msgstr "回复"
msgid "Reply Filters"
msgstr "回复过滤器"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
+#: 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/post/Post.tsx:178
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
-msgid "Reply to <0/>"
-msgstr "回复 <0/>"
+msgid "Reply to <0><1/>0>"
+msgstr ""
#: src/view/com/profile/ProfileMenu.tsx:319
#: src/view/com/profile/ProfileMenu.tsx:322
@@ -3516,19 +3623,19 @@ msgstr "举报账户"
#: src/components/ReportDialog/index.tsx:49
msgid "Report dialog"
-msgstr ""
+msgstr "举报页面"
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: 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:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "举报帖子"
@@ -3573,19 +3680,19 @@ msgstr "转发或引用帖子"
msgid "Reposted By"
msgstr "转发"
-#: src/view/com/posts/FeedItem.tsx:197
+#: 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 "由 <0><1/>0> 转发"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "转发你的帖子"
-#: src/view/com/post-thread/PostThreadItem.tsx:187
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr "转发这条帖子"
@@ -3599,14 +3706,23 @@ msgstr "请求变更"
msgid "Request Code"
msgstr "确认码"
-#: src/view/screens/Settings/index.tsx:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr "发布时检查媒体是否存在替代文本"
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr ""
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "服务提供者要求"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr ""
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "确认码"
@@ -3615,8 +3731,8 @@ msgstr "确认码"
msgid "Reset Code"
msgstr "确认码"
-#: src/view/screens/Settings/index.tsx:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr "重置引导流程状态"
@@ -3624,20 +3740,20 @@ msgstr "重置引导流程状态"
msgid "Reset password"
msgstr "重置密码"
-#: src/view/screens/Settings/index.tsx:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
msgstr "重置首选项状态"
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr "重置引导流程状态"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
msgstr "重置首选项状态"
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr "重试登录"
@@ -3646,20 +3762,20 @@ msgstr "重试登录"
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/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: 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:917
+#: src/components/Error.tsx:95
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "回到上一页"
@@ -3705,12 +3821,12 @@ msgstr "保存用户识别符更改"
msgid "Save image crop"
msgstr "保存图片裁切"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: 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 "已保存信息流"
@@ -3718,7 +3834,7 @@ msgstr "已保存信息流"
msgid "Saved to your camera roll."
msgstr "已保存到相机胶卷"
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
msgstr "已保存到你的自定义信息流"
@@ -3738,28 +3854,28 @@ msgstr "保存图片裁剪设置"
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/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "搜索"
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "搜索 \"{query}\""
@@ -3778,6 +3894,14 @@ msgstr "搜索所有带有 {displayTag} 的帖子"
msgid "Search for users"
msgstr "搜索用户"
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+msgstr ""
+
#: src/view/com/modals/ChangeEmail.tsx:110
msgid "Security Step Required"
msgstr "所需的安全步骤"
@@ -3798,26 +3922,35 @@ 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: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 ""
+msgstr "选择账户"
#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "从现有账户中选择"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
msgstr "选择语言"
@@ -3830,16 +3963,11 @@ msgstr "选择限制者"
msgid "Select option {i} of {numItems}"
msgstr "选择 {numItems} 项中的第 {i} 项"
-#: src/view/com/auth/create/Step1.tsx:96
-#: 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:135
+#: src/components/ReportDialog/SubmitView.tsx:133
msgid "Select the moderation service(s) to report to"
msgstr "你要将该条举报提交给哪位限制服务提供者?"
@@ -3863,9 +3991,9 @@ msgstr "选择你希望订阅信息流中所包含的语言。如果未选择任
msgid "Select your app language for the default text to display in the app."
msgstr "选择你的应用语言,以显示应用中的默认文本。"
-#: src/screens/Signup/StepInfo/index.tsx:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
-msgstr ""
+msgstr "输入你的出生日期"
#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
@@ -3883,8 +4011,8 @@ msgstr "选择你的信息流主要算法"
msgid "Select your secondary algorithmic feeds"
msgstr "选择你的信息流次要算法"
-#: src/view/com/modals/VerifyEmail.tsx:202
-#: src/view/com/modals/VerifyEmail.tsx:204
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "发送确认电子邮件"
@@ -3897,13 +4025,13 @@ msgctxt "action"
msgid "Send Email"
msgstr "发送电子邮件"
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: 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 "提交举报"
@@ -3911,6 +4039,11 @@ msgstr "提交举报"
msgid "Send report to {0}"
msgstr "给 {0} 提交举报"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
+msgstr ""
+
#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr "发送包含账户删除验证码的电子邮件"
@@ -3927,10 +4060,6 @@ msgstr "设置生日"
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 "停用此设置项以隐藏来自订阅信息流的所有引用帖子,转发仍将可见。"
@@ -3959,23 +4088,23 @@ msgstr "设置你的账户"
msgid "Sets Bluesky username"
msgstr "设置 Bluesky 用户名"
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
msgstr "设置主题为深色模式"
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
msgstr "设置主题为亮色模式"
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
msgstr "设置主题跟随系统设置"
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
msgstr "设置深色模式至深黑"
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
msgstr "设置深色模式至暗淡"
@@ -3983,10 +4112,6 @@ msgstr "设置深色模式至暗淡"
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 "将图片纵横比设置为正方形"
@@ -3999,16 +4124,11 @@ msgstr "将图片纵横比设置为高"
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:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "设置"
@@ -4027,38 +4147,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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: 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/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
msgstr "仍然分享"
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: 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 ""
+msgstr "分享链接"
#: src/view/com/modals/LinkWarning.tsx:92
msgid "Shares the linked website"
-msgstr ""
+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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr "显示"
@@ -4080,17 +4200,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:200
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr "显示类似于 {0} 的关注者"
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr "显示更多"
@@ -4147,7 +4263,7 @@ msgstr "在关注中显示转发"
msgid "Show the content"
msgstr "显示内容"
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "显示用户"
@@ -4163,33 +4279,27 @@ msgstr "显示警告并从信息流中过滤"
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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr "登录"
-#: 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 "登录"
-
#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "以 {0} 登录"
@@ -4198,28 +4308,32 @@ msgstr "以 {0} 登录"
msgid "Sign in as..."
msgstr "登录为..."
-#: src/view/com/auth/login/LoginForm.tsx:140
-#~ msgid "Sign into"
-#~ 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 "登录 Bluesky 或创建新帐户"
-#: src/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "登出"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
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 "注册或登录以加入对话"
@@ -4228,7 +4342,7 @@ msgstr "注册或登录以加入对话"
msgid "Sign-in Required"
msgstr "需要登录"
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "登录身份"
@@ -4236,10 +4350,6 @@ msgstr "登录身份"
msgid "Signed in as @{0}"
msgstr "以 @{0} 身份登录"
-#: src/view/com/modals/SwitchAccount.tsx:70
-#~ msgid "Signs {0} out of Bluesky"
-#~ msgstr "从 {0} 登出 Bluesky"
-
#: src/screens/Onboarding/StepInterests/index.tsx:239
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
@@ -4256,11 +4366,11 @@ msgstr "程序开发"
#: src/components/ReportDialog/index.tsx:59
#: src/screens/Moderation/index.tsx:114
-#: src/screens/Profile/Sections/Labels.tsx:76
+#: src/screens/Profile/Sections/Labels.tsx:87
msgid "Something went wrong, please try again."
msgstr "出了点问题,请重试。"
-#: src/App.native.tsx:66
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr "很抱歉,你的登录会话已过期,请重新登录。"
@@ -4292,24 +4402,20 @@ msgstr "运动"
msgid "Square"
msgstr "方块"
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "状态页"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
-msgstr ""
-
-#: src/view/com/auth/create/StepHeader.tsx:22
-#~ msgid "Step {0} of {numSteps}"
-#~ msgstr "第 {0} 步,共 {numSteps} 步"
+msgstr "Step"
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
msgid "Storage cleared, you need to restart the app now."
msgstr "已清除存储,请立即重启应用。"
-#: src/Navigation.tsx:211
-#: src/view/screens/Settings/index.tsx:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr "Storybook"
@@ -4318,15 +4424,15 @@ msgstr "Storybook"
msgid "Submit"
msgstr "提交"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "订阅"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: src/screens/Profile/Sections/Labels.tsx:191
msgid "Subscribe to @{0} to use these labels:"
msgstr "订阅 @{0} 以使用这些标记:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
msgstr "订阅标记者"
@@ -4335,15 +4441,15 @@ msgstr "订阅标记者"
msgid "Subscribe to the {0} feed"
msgstr "订阅 {0} 信息流"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: 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:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "推荐的关注者"
@@ -4355,40 +4461,40 @@ msgstr "为你推荐"
msgid "Suggestive"
msgstr "建议"
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: 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
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "切换账户"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr "切换到 {0}"
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
msgid "Switches the account you are logged in to"
msgstr "切换你登录的账户"
-#: src/view/screens/Settings/index.tsx:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr "系统"
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "系统日志"
#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
-msgstr "话题标签"
+msgstr "标签"
#: src/components/TagMenu/index.tsx:78
msgid "Tag menu: {displayTag}"
-msgstr "话题标签菜单:{displayTag}"
+msgstr "标签菜单:{displayTag}"
#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
@@ -4406,11 +4512,11 @@ msgstr "科技"
msgid "Terms"
msgstr "条款"
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "服务条款"
@@ -4428,7 +4534,7 @@ msgstr "文本"
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 "谢谢,你的举报已提交。"
@@ -4436,11 +4542,11 @@ msgstr "谢谢,你的举报已提交。"
msgid "That contains the following:"
msgstr "其中包含以下内容:"
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "该用户识别符已被占用"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "解除屏蔽后,该账户将能够与你互动。"
@@ -4490,8 +4596,8 @@ msgstr "服务条款已迁移至"
msgid "There are many feeds to try:"
msgstr "这里有些信息流你可以尝试:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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 "连接至服务器时出现问题,请检查你的互联网连接并重试。"
@@ -4499,15 +4605,19 @@ msgstr "连接至服务器时出现问题,请检查你的互联网连接并重
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr "删除信息流时出现问题,请检查你的互联网连接并重试。"
-#: src/view/screens/ProfileFeed.tsx:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+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 "连接服务器时出现问题"
@@ -4530,12 +4640,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 "提交举报时出现问题,请检查你的网络连接。"
@@ -4547,9 +4657,9 @@ msgstr "与服务器同步首选项时出现问题"
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/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -4561,14 +4671,15 @@ 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 "出现问题了,请检查你的互联网连接并重试。"
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "应用发生意外错误,请联系我们进行错误反馈!"
@@ -4621,9 +4732,9 @@ msgstr "该功能正在测试,你可以在<0>这篇博客文章0>中获得
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:477
-#: 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 "该信息流为空!"
@@ -4635,7 +4746,7 @@ msgstr "该信息流为空!你或许需要先关注更多的人或检查你的
msgid "This information is not shared with other users."
msgstr "此信息不会分享给其他用户。"
-#: src/view/com/modals/VerifyEmail.tsx:119
+#: src/view/com/modals/VerifyEmail.tsx:127
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "这很重要,以防你将来需要更改电子邮箱或重置密码。"
@@ -4643,7 +4754,7 @@ msgstr "这很重要,以防你将来需要更改电子邮箱或重置密码。
msgid "This label was applied by {0}."
msgstr "此标记由 {0} 应用。"
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: src/screens/Profile/Sections/Labels.tsx:178
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
msgstr "此标记者尚未声明他发布的标记,并且可能处于非活跃状态。"
@@ -4651,7 +4762,7 @@ msgstr "此标记者尚未声明他发布的标记,并且可能处于非活跃
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 "此列表为空!"
@@ -4663,16 +4774,16 @@ msgstr "此限制提供服务不可用,请查看下方获取更多详情。如
msgid "This name is already in use"
msgstr "该名称已被使用"
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
msgstr "此帖子已被删除。"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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:352
msgid "This post will be hidden from feeds."
msgstr "此帖子将从信息流中隐藏。"
@@ -4719,14 +4830,14 @@ 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}。你随时可以重新添加。"
+msgstr "这将从你的隐藏词汇中删除 {0}。你随时可以重新添加。"
-#: src/view/screens/Settings/index.tsx:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
msgstr "讨论串首选项"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "讨论串首选项"
@@ -4734,17 +4845,21 @@ msgstr "讨论串首选项"
msgid "Threaded Mode"
msgstr "讨论串模式"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr "讨论串首选项"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+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 "在隐藏词选项之间切换。"
+msgstr "在隐藏词汇选项之间切换。"
#: src/view/com/util/forms/DropdownButton.tsx:246
msgid "Toggle dropdown"
@@ -4754,14 +4869,19 @@ msgstr "切换下拉式菜单"
msgid "Toggle to enable or disable adult content"
msgstr "切换以启用或禁用成人内容"
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr "最热门"
+
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "转换"
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "翻译"
@@ -4770,35 +4890,39 @@ msgctxt "action"
msgid "Try again"
msgstr "重试"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr ""
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
msgstr "类型:"
-#: src/view/screens/ProfileList.tsx:478
+#: 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/screens/Login/ForgotPasswordForm.tsx:74
#: src/screens/Login/index.tsx:78
-#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: 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:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr "取消屏蔽"
@@ -4808,7 +4932,7 @@ msgstr "取消屏蔽"
msgid "Unblock Account"
msgstr "取消屏蔽账户"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
msgstr "取消屏蔽账户?"
@@ -4821,7 +4945,7 @@ msgid "Undo repost"
msgstr "取消转发"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
msgstr "取消关注"
@@ -4830,7 +4954,7 @@ msgctxt "action"
msgid "Unfollow"
msgstr "取消关注"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
msgid "Unfollow {0}"
msgstr "取消关注 {0}"
@@ -4839,20 +4963,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:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "取消喜欢"
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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 "取消隐藏"
@@ -4869,29 +4989,29 @@ msgstr "取消隐藏账户"
msgid "Unmute all {displayTag} posts"
msgstr "取消隐藏所有 {displayTag} 帖子"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "取消隐藏讨论串"
-#: src/view/screens/ProfileFeed.tsx:295
-#: 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:292
+#: 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:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
msgstr "取消订阅"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
msgstr "取消订阅此标记者"
@@ -4915,20 +5035,20 @@ msgstr "更新中..."
msgid "Upload a text file to:"
msgstr "将文本文件上传至:"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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:343
+#: 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:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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"
@@ -4993,22 +5113,18 @@ msgstr "用户屏蔽了你"
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 "你的用户列表"
@@ -5024,11 +5140,11 @@ msgstr "用户列表已更新"
msgid "User Lists"
msgstr "用户列表"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "用户名或电子邮箱"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "用户"
@@ -5052,15 +5168,15 @@ msgstr "值:"
msgid "Verify {0}"
msgstr "验证 {0}"
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "验证邮箱"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "验证我的邮箱"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "验证我的邮箱"
@@ -5069,13 +5185,13 @@ msgstr "验证我的邮箱"
msgid "Verify New Email"
msgstr "验证新的邮箱"
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr "验证你的邮箱"
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
-msgstr ""
+msgstr "版本 {0}"
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
@@ -5089,11 +5205,11 @@ msgstr "查看{0}的头像"
msgid "View debug entry"
msgstr "查看调试入口"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
msgstr "查看详情"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
msgstr "查看举报版权侵权的详情"
@@ -5105,6 +5221,8 @@ msgstr "查看整个讨论串"
msgid "View information about these labels"
msgstr "查看此标记的详情"
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "查看个人资料"
@@ -5117,7 +5235,7 @@ msgstr "查看头像"
msgid "View the labeling service provided by @{0}"
msgstr "查看 @{0} 提供的标记服务。"
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
msgstr "查看此信息流被谁喜欢"
@@ -5141,13 +5259,9 @@ 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:133
+#: src/screens/Hashtag.tsx:210
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."
@@ -5163,7 +5277,7 @@ 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 "不建议你使用会出现在许多帖子中的常见词汇,这可能导致你的时间线上没有帖子可显示。"
+msgstr "不建议你添加会出现在许多帖子中的常见词汇,这可能导致你的时间线上没有帖子可显示。"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
@@ -5189,28 +5303,28 @@ msgstr "我们会在你的账户准备好时通知你。"
msgid "We'll use this to help customize your experience."
msgstr "我们将使用这些信息来帮助定制你的体验。"
-#: src/screens/Signup/index.tsx:130
+#: 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: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:256
+#: src/view/screens/Search/Search.tsx:323
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/components/Lists.tsx:197
#: 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:321
+#: 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 个的限制。"
@@ -5222,9 +5336,9 @@ msgstr "欢迎来到 <0>Bluesky0>"
msgid "What are your interests?"
msgstr "你感兴趣的是什么?"
-#: src/view/com/auth/SplashScreen.tsx:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr "发生了什么新鲜事?"
@@ -5265,11 +5379,11 @@ msgstr "为什么应该审核此用户?"
msgid "Wide"
msgstr "宽"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "撰写帖子"
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "撰写你的回复"
@@ -5318,15 +5432,15 @@ msgstr "你目前还没有任何关注者。"
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 "你目前还没有任何保存的信息流。"
@@ -5364,16 +5478,16 @@ 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
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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 "你还没有屏蔽任何账户。要屏蔽账户,请转到其个人资料并在其账户上的菜单中选择 \"屏蔽账户\"。"
@@ -5381,13 +5495,13 @@ msgstr "你还没有屏蔽任何账户。要屏蔽账户,请转到其个人资
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
+#: 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 "你还没有隐藏任何词或话题标签"
+msgstr "你还没有隐藏任何词或标签"
#: src/components/moderation/LabelsOnMeDialog.tsx:68
msgid "You may appeal these labels if you feel they were placed in error."
@@ -5395,21 +5509,21 @@ msgstr "如果你认为这些标记是错误的,你可以申诉这些标记。
#: src/screens/Signup/StepInfo/Policies.tsx:79
msgid "You must be 13 years of age or older to sign up."
-msgstr ""
+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 "你将收到这条讨论串的通知"
@@ -5434,13 +5548,13 @@ 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 "你选择隐藏了此帖子中的一个词或标签。"
+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:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "你的账户"
@@ -5452,7 +5566,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/screens/Signup/StepInfo/index.tsx:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "你的生日"
@@ -5474,7 +5588,7 @@ msgstr "你的电子邮箱似乎无效。"
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
+#: src/view/com/modals/VerifyEmail.tsx:122
msgid "Your email has not yet been verified. This is an important security step which we recommend."
msgstr "你的电子邮箱尚未验证。这是一个重要的安全步骤,我们建议你完成验证。"
@@ -5482,7 +5596,7 @@ msgstr "你的电子邮箱尚未验证。这是一个重要的安全步骤,我
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "你的关注信息流为空!关注更多用户去看看他们发了什么。"
-#: src/screens/Signup/StepHandle.tsx:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "你的完整用户识别符将修改为"
@@ -5492,13 +5606,13 @@ msgstr "你的完整用户识别符将修改为 <0>@{0}0>"
#: src/components/dialogs/MutedWords.tsx:220
msgid "Your muted words"
-msgstr "你的隐藏词"
+msgstr "你的隐藏词汇"
#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
msgstr "你的密码已成功更改!"
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr "你的帖子已发布"
@@ -5508,14 +5622,14 @@ msgstr "你的帖子已发布"
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "你的帖子、喜欢和屏蔽是公开可见的,而隐藏不可见。"
-#: src/view/screens/Settings/index.tsx:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "你的个人资料"
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr "你的回复已发布"
-#: src/screens/Signup/index.tsx:152
+#: 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
index 484428079f..6a3f4fbbe0 100644
--- a/src/locale/locales/zh-TW/messages.po
+++ b/src/locale/locales/zh-TW/messages.po
@@ -1,6 +1,6 @@
msgid ""
msgstr ""
-"POT-Creation-Date: 2024-03-20 15:50+0800\n"
+"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"
@@ -13,33 +13,16 @@ msgstr ""
"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
+#: src/view/com/modals/VerifyEmail.tsx:150
msgid "(no email)"
msgstr "(沒有郵件)"
-#: src/view/shell/desktop/RightNav.tsx:168
-#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
-#~ msgstr "{0} 個可用的邀請碼"
-
+#: src/components/ProfileHoverCard/index.web.tsx:438
#: 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} 個"
-
-#: 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:443
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} 個未讀"
@@ -49,17 +32,22 @@ msgstr "<0/> 個成員"
#: src/view/shell/Drawer.tsx:97
msgid "<0>{0}0> following"
-msgstr ""
+msgstr "<0>{0}0> 個跟隨中"
+
+#: src/components/ProfileHoverCard/index.web.tsx:429
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr "<0>{followers} 0><1>{pluralizedFollowers}1>"
+#: src/components/ProfileHoverCard/index.web.tsx:441
#: 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>"
@@ -67,39 +55,44 @@ msgstr "<0>跟隨一些0><1>推薦的1><2>使用者2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>歡迎來到0><1>Bluesky1>"
-#: src/screens/Profile/Header/Handle.tsx:42
+#: 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/screens/Login/LoginForm.tsx:238
+msgid "2FA Confirmation"
+msgstr ""
-#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:649
+#: src/view/com/util/ViewHeader.tsx:91
+#: src/view/screens/Search/Search.tsx:727
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:300
-#: src/view/screens/Settings/index.tsx:470
+#: src/view/screens/Settings/index.tsx:493
msgid "Accessibility"
msgstr "協助工具"
+#: src/view/screens/Settings/index.tsx:484
+msgid "Accessibility settings"
+msgstr ""
+
+#: src/Navigation.tsx:284
+#: src/view/screens/AccessibilitySettings.tsx:63
+msgid "Accessibility Settings"
+msgstr ""
+
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
msgstr "帳號"
-#: src/screens/Login/LoginForm.tsx:144
-#: src/view/screens/Settings/index.tsx:327
-#: src/view/screens/Settings/index.tsx:743
+#: src/screens/Login/LoginForm.tsx:161
+#: src/view/screens/Settings/index.tsx:323
+#: src/view/screens/Settings/index.tsx:702
msgid "Account"
msgstr "帳號"
@@ -132,7 +125,7 @@ msgstr "帳號選項"
msgid "Account removed from quick access"
msgstr "已從快速存取中移除帳號"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:135
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "已取消封鎖帳號"
@@ -149,7 +142,7 @@ msgstr "已取消靜音帳號"
#: 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:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "新增"
@@ -157,13 +150,13 @@ 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/components/dialogs/SwitchAccount.tsx:55
-#: src/view/screens/Settings/index.tsx:402
-#: src/view/screens/Settings/index.tsx:411
+#: src/components/dialogs/SwitchAccount.tsx:56
+#: src/view/screens/Settings/index.tsx:398
+#: src/view/screens/Settings/index.tsx:407
msgid "Add account"
msgstr "新增帳號"
@@ -179,30 +172,21 @@ msgstr "新增替代文字"
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:467
-msgid "Add link card"
-msgstr "新增連結卡片"
+#~ msgid "Add link card"
+#~ msgstr "新增連結卡片"
#: src/view/com/composer/Composer.tsx:472
-msgid "Add link card:"
-msgstr "新增連結卡片:"
+#~ msgid "Add link card:"
+#~ msgstr "新增連結卡片:"
#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
-msgstr ""
+msgstr "在設定中新增靜音字詞"
#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
-msgstr ""
+msgstr "新增靜音字詞及標籤"
#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
@@ -240,20 +224,16 @@ msgstr "調整回覆要在你的訊息流顯示所需的最低喜歡數。"
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 ""
+msgstr "成人內容已停用。"
#: src/screens/Moderation/index.tsx:375
-#: src/view/screens/Settings/index.tsx:684
+#: src/view/screens/Settings/index.tsx:636
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 "你已儲存的所有訊息流都集中在一處。"
@@ -271,6 +251,7 @@ msgid "ALT"
msgstr "ALT"
#: src/view/com/modals/EditImage.tsx:316
+#: src/view/screens/AccessibilitySettings.tsx:77
msgid "Alt text"
msgstr "替代文字"
@@ -278,7 +259,8 @@ msgstr "替代文字"
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
+#: src/view/com/modals/VerifyEmail.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:96
msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
msgstr "一封電子郵件已發送至 {0}。請查閱郵件並在下方輸入驗證碼。"
@@ -286,10 +268,16 @@ 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/components/dialogs/GifSelect.tsx:284
+msgid "An error occured"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:26
msgid "An issue not included in these options"
-msgstr ""
+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
@@ -297,7 +285,7 @@ msgstr ""
msgid "An issue occurred, please try again."
msgstr "出現問題,請重試。"
-#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "和"
@@ -306,9 +294,13 @@ msgstr "和"
msgid "Animals"
msgstr "動物"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:134
+msgid "Animated GIF"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
-msgstr ""
+msgstr "反社會行為"
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
@@ -326,51 +318,30 @@ msgstr "應用程式專用密碼只能包含字母、數字、空格、破折號
msgid "App Password names must be at least 4 characters long."
msgstr "應用程式專用密碼名稱必須至少為 4 個字元。"
-#: src/view/screens/Settings/index.tsx:695
+#: src/view/screens/Settings/index.tsx:647
msgid "App password settings"
msgstr "應用程式專用密碼設定"
-#: src/view/screens/Settings.tsx:650
-#~ msgid "App passwords"
-#~ msgstr "應用程式專用密碼"
-
-#: src/Navigation.tsx:251
+#: src/Navigation.tsx:252
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:704
+#: src/view/screens/Settings/index.tsx:656
msgid "App Passwords"
msgstr "應用程式專用密碼"
#: src/components/moderation/LabelsOnMeDialog.tsx:133
#: src/components/moderation/LabelsOnMeDialog.tsx:136
msgid "Appeal"
-msgstr ""
+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"
-#~ msgstr "申訴內容警告"
+msgstr "申訴標籤 \"{0}\""
#: src/components/moderation/LabelsOnMeDialog.tsx:192
msgid "Appeal submitted."
-msgstr ""
-
-#: src/view/com/util/moderation/LabelInfo.tsx:52
-#~ msgid "Appeal this decision"
-#~ msgstr "對此決定提出申訴"
-
-#: src/view/com/util/moderation/LabelInfo.tsx:56
-#~ msgid "Appeal this decision."
-#~ msgstr "對此決定提出申訴。"
+msgstr "申訴已提交。"
-#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:414
msgid "Appearance"
msgstr "外觀"
@@ -380,9 +351,9 @@ msgstr "你確定要刪除這個應用程式專用密碼「{name}」嗎?"
#: src/view/com/feeds/FeedSourceCard.tsx:280
msgid "Are you sure you want to remove {0} from your feeds?"
-msgstr ""
+msgstr "你確定要從你的訊息流中移除 {0} 嗎?"
-#: src/view/com/composer/Composer.tsx:509
+#: src/view/com/composer/Composer.tsx:523
msgid "Are you sure you'd like to discard this draft?"
msgstr "你確定要捨棄此草稿嗎?"
@@ -390,10 +361,6 @@ msgstr "你確定要捨棄此草稿嗎?"
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> 書寫嗎?"
@@ -406,9 +373,9 @@ msgstr "藝術"
msgid "Artistic or non-erotic nudity."
msgstr "藝術作品或非情色的裸露。"
-#: src/screens/Signup/StepHandle.tsx:118
+#: src/screens/Signup/StepHandle.tsx:119
msgid "At least 3 characters"
-msgstr ""
+msgstr "至少 3 個字元"
#: src/components/moderation/LabelsOnMeDialog.tsx:246
#: src/components/moderation/LabelsOnMeDialog.tsx:247
@@ -416,26 +383,21 @@ msgstr ""
#: 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/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:275
#: src/screens/Login/SetNewPasswordForm.tsx:160
#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:96
-#: src/screens/Signup/index.tsx:179
-#: src/view/com/util/ViewHeader.tsx:87
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:89
msgid "Back"
msgstr "返回"
-#: src/view/com/post-thread/PostThread.tsx:480
-#~ msgctxt "action"
-#~ 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:542
+#: src/view/screens/Settings/index.tsx:471
msgid "Basics"
msgstr "基礎資訊"
@@ -443,11 +405,11 @@ msgstr "基礎資訊"
msgid "Birthday"
msgstr "生日"
-#: src/view/screens/Settings/index.tsx:359
+#: src/view/screens/Settings/index.tsx:355
msgid "Birthday:"
msgstr "生日:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
msgstr "封鎖"
@@ -461,25 +423,21 @@ 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/screens/ProfileList.tsx:320
-#~ msgid "Block this List"
-#~ 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 "已封鎖"
@@ -487,8 +445,8 @@ msgstr "已封鎖"
msgid "Blocked accounts"
msgstr "已封鎖帳號"
-#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:135
+#: src/view/screens/ModerationBlockedAccounts.tsx:112
msgid "Blocked Accounts"
msgstr "已封鎖帳號"
@@ -496,7 +454,7 @@ 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:120
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 "被封鎖的帳號無法在你的貼文中回覆、提及你,或以其他方式與你互動。你將不會看到他們所發佈的內容,同樣他們也無法查看你的內容。"
@@ -504,24 +462,22 @@ msgstr "被封鎖的帳號無法在你的貼文中回覆、提及你,或以其
msgid "Blocked post."
msgstr "已封鎖貼文。"
-#: src/screens/Profile/Sections/Labels.tsx:152
+#: src/screens/Profile/Sections/Labels.tsx:163
msgid "Blocking does not prevent this labeler from placing labels on your account."
-msgstr ""
+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 "封鎖是公開的。被封鎖的帳號無法在你的貼文中回覆、提及你,或以其他方式與你互動。"
#: 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 ""
+msgstr "封鎖不會阻止標籤套用在你的帳戶上,但它會阻止此帳戶在你的討論串中回覆或與你進行互動。"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:98
-#: src/view/com/auth/SplashScreen.web.tsx:169
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "部落格"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
@@ -546,43 +502,26 @@ msgstr "Bluesky 保持開放。"
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/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 ""
+msgstr "模糊圖片"
#: src/lib/moderation/useLabelBehaviorDescription.ts:51
msgid "Blur images and filter from feeds"
-msgstr ""
+msgstr "從訊息流中模糊圖片並過濾"
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
msgstr "書籍"
-#: src/view/screens/Settings/index.tsx:893
-#~ msgid "Build version {0} {1}"
-#~ msgstr "建構版本號 {0} {1}"
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
-#: src/view/com/auth/SplashScreen.web.tsx:166
+#: 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 "來自 —"
@@ -601,13 +540,13 @@ msgstr "來自 <0/>"
#: src/screens/Signup/StepInfo/Policies.tsx:74
msgid "By creating an account you agree to the {els}."
-msgstr ""
+msgstr "建立帳戶即表示你同意 {els}。"
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr "來自你"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:73
msgid "Camera"
msgstr "相機"
@@ -619,8 +558,8 @@ msgstr "只能包含字母、數字、空格、破折號及底線。長度必須
#: 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/composer/Composer.tsx:349
+#: src/view/com/composer/Composer.tsx:354
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:154
@@ -635,9 +574,9 @@ msgstr "只能包含字母、數字、空格、破折號及底線。長度必須
#: 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:718
+#: src/view/com/modals/VerifyEmail.tsx:255
+#: src/view/com/modals/VerifyEmail.tsx:261
+#: src/view/screens/Search/Search.tsx:796
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "取消"
@@ -675,42 +614,38 @@ msgstr "取消引用貼文"
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 ""
+msgstr "取消開啟連結的網站"
-#: src/view/com/modals/VerifyEmail.tsx:152
+#: src/view/com/modals/VerifyEmail.tsx:160
msgid "Change"
msgstr "變更"
-#: src/view/screens/Settings/index.tsx:353
+#: src/view/screens/Settings/index.tsx:349
msgctxt "action"
msgid "Change"
msgstr "變更"
-#: src/view/screens/Settings/index.tsx:716
+#: src/view/screens/Settings/index.tsx:668
msgid "Change handle"
msgstr "變更帳號代碼"
#: src/view/com/modals/ChangeHandle.tsx:162
-#: src/view/screens/Settings/index.tsx:727
+#: src/view/screens/Settings/index.tsx:679
msgid "Change Handle"
msgstr "變更帳號代碼"
-#: src/view/com/modals/VerifyEmail.tsx:147
+#: src/view/com/modals/VerifyEmail.tsx:155
msgid "Change my email"
msgstr "變更我的電子郵件地址"
-#: src/view/screens/Settings/index.tsx:754
+#: src/view/screens/Settings/index.tsx:713
msgid "Change password"
msgstr "變更密碼"
#: src/view/com/modals/ChangePassword.tsx:141
-#: src/view/screens/Settings/index.tsx:765
+#: src/view/screens/Settings/index.tsx:724
msgid "Change Password"
msgstr "變更密碼"
@@ -718,10 +653,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 "變更你的電子郵件地址"
@@ -731,14 +662,18 @@ 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/screens/Login/LoginForm.tsx:262
+msgid "Check your email for a login code and enter it here."
+msgstr ""
+
#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "查看寄送至你電子郵件地址的確認郵件,然後在下方輸入收到的驗證碼:"
@@ -747,10 +682,6 @@ 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 "選擇服務"
@@ -768,38 +699,38 @@ msgstr "選擇你的自訂訊息流體驗所使用的演算法。"
msgid "Choose your main feeds"
msgstr "選擇你的主要訊息流"
-#: src/screens/Signup/StepInfo/index.tsx:112
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "選擇你的密碼"
-#: src/view/screens/Settings/index.tsx:868
+#: src/view/screens/Settings/index.tsx:827
msgid "Clear all legacy storage data"
msgstr "清除所有舊儲存資料"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:830
msgid "Clear all legacy storage data (restart after this)"
msgstr "清除所有舊儲存資料(並重啟)"
-#: src/view/screens/Settings/index.tsx:880
+#: src/view/screens/Settings/index.tsx:839
msgid "Clear all storage data"
msgstr "清除所有資料"
-#: src/view/screens/Settings/index.tsx:883
+#: src/view/screens/Settings/index.tsx:842
msgid "Clear all storage data (restart after this)"
msgstr "清除所有資料(並重啟)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:699
+#: src/view/screens/Search/Search.tsx:777
msgid "Clear search query"
msgstr "清除搜尋記錄"
-#: src/view/screens/Settings/index.tsx:869
+#: src/view/screens/Settings/index.tsx:828
msgid "Clears all legacy storage data"
-msgstr ""
+msgstr "清除所有舊儲存資料"
-#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/Settings/index.tsx:840
msgid "Clears all storage data"
-msgstr ""
+msgstr "清除所有資料"
#: src/view/screens/Support.tsx:40
msgid "click here"
@@ -807,23 +738,24 @@ msgstr "點擊這裡"
#: src/components/TagMenu/index.web.tsx:138
msgid "Click here to open tag menu for {tag}"
-msgstr ""
+msgstr "點擊這裡開啟 {tag} 的標籤選單"
-#: src/components/RichText.tsx:192
-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 "點擊這裡開啟 #{tag} 的標籤選單"
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
msgstr "氣象"
+#: src/components/dialogs/GifSelect.tsx:300
#: 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
+#: src/components/Dialog/index.web.tsx:111
+#: src/components/Dialog/index.web.tsx:246
msgid "Close active dialog"
msgstr "關閉打開的對話框"
@@ -835,6 +767,14 @@ msgstr "關閉警告"
msgid "Close bottom drawer"
msgstr "關閉底部抽屜"
+#: src/components/dialogs/GifSelect.tsx:294
+msgid "Close dialog"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:150
+msgid "Close GIF dialog"
+msgstr ""
+
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "關閉圖片"
@@ -843,16 +783,16 @@ msgstr "關閉圖片"
msgid "Close image viewer"
msgstr "關閉圖片檢視器"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:61
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:56
+#: src/view/shell/index.web.tsx:62
msgid "Closes bottom navigation bar"
msgstr "關閉底部導覽列"
@@ -860,7 +800,7 @@ msgstr "關閉底部導覽列"
msgid "Closes password update alert"
msgstr "關閉密碼更新警告"
-#: src/view/com/composer/Composer.tsx:319
+#: src/view/com/composer/Composer.tsx:351
msgid "Closes post composer and discards post draft"
msgstr "關閉貼文編輯頁並捨棄草稿"
@@ -868,7 +808,7 @@ msgstr "關閉貼文編輯頁並捨棄草稿"
msgid "Closes viewer for header image"
msgstr "關閉標題圖片檢視器"
-#: src/view/com/notifications/FeedItem.tsx:321
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "折疊指定通知的使用者清單"
@@ -880,7 +820,7 @@ msgstr "喜劇"
msgid "Comics"
msgstr "漫畫"
-#: src/Navigation.tsx:241
+#: src/Navigation.tsx:242
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "社群準則"
@@ -889,11 +829,11 @@ msgstr "社群準則"
msgid "Complete onboarding and start using your account"
msgstr "完成初始設定並開始使用你的帳號"
-#: src/screens/Signup/index.tsx:154
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "完成驗證"
-#: src/view/com/composer/Composer.tsx:438
+#: src/view/com/composer/Composer.tsx:469
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "撰寫貼文的長度最多為 {MAX_GRAPHEME_LENGTH} 個字元"
@@ -907,28 +847,24 @@ msgstr "調整類別的內容過濾設定:{0}"
#: src/components/moderation/LabelPreference.tsx:81
msgid "Configure content filtering setting for category: {name}"
-msgstr ""
+msgstr "為 {name} 分類配置內容過濾設定"
#: src/components/moderation/LabelPreference.tsx:244
msgid "Configured in <0>moderation settings0>."
-msgstr ""
+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/com/modals/VerifyEmail.tsx:239
+#: src/view/com/modals/VerifyEmail.tsx:241
#: src/view/screens/PreferencesFollowingFeed.tsx:308
#: src/view/screens/PreferencesThreads.tsx:159
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:180
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:183
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"
@@ -942,52 +878,39 @@ msgstr "確認內容語言設定"
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 ""
+msgstr "確認你的年齡:"
#: src/screens/Moderation/index.tsx:292
msgid "Confirm your birthdate"
-msgstr ""
+msgstr "確認你的出生日期"
+#: src/screens/Login/LoginForm.tsx:244
#: 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
+#: src/view/com/modals/VerifyEmail.tsx:173
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:143
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:149
msgid "Confirmation code"
msgstr "驗證碼"
-#: src/view/com/modals/Waitlist.tsx:120
-#~ msgid "Confirms signing up {email} to the waitlist"
-#~ msgstr "確認將 {email} 註冊到候補列表"
-
-#: src/screens/Login/LoginForm.tsx:248
+#: src/screens/Login/LoginForm.tsx:296
msgid "Connecting..."
msgstr "連線中…"
-#: src/screens/Signup/index.tsx:219
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "聯絡支援"
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "content"
-msgstr ""
+msgstr "內容"
#: src/lib/moderation/useGlobalLabelStrings.ts:18
msgid "Content Blocked"
-msgstr ""
-
-#: src/view/screens/Moderation.tsx:83
-#~ msgid "Content filtering"
-#~ msgstr "內容過濾"
-
-#: src/view/com/modals/ContentFilteringSettings.tsx:44
-#~ msgid "Content Filtering"
-#~ msgstr "內容過濾"
+msgstr "已封鎖內容"
#: src/screens/Moderation/index.tsx:285
msgid "Content filters"
@@ -1016,28 +939,28 @@ msgstr "內容警告"
#: src/components/Menu/index.web.tsx:84
msgid "Context menu backdrop, click to close the menu."
-msgstr ""
+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:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: 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 ""
+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:198
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "繼續下一步"
@@ -1058,17 +981,21 @@ msgstr "烹飪"
msgid "Copied"
msgstr "已複製"
-#: src/view/screens/Settings/index.tsx:251
+#: src/view/screens/Settings/index.tsx:243
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:158
+#: 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 "複製應用程式專用密碼"
@@ -1081,25 +1008,26 @@ msgstr "複製"
msgid "Copy {0}"
msgstr "複製 {0}"
-#: src/view/screens/ProfileList.tsx:388
+#: 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:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
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:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
msgid "Copy post text"
msgstr "複製貼文文字"
-#: src/Navigation.tsx:246
+#: src/Navigation.tsx:247
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "著作權政策"
@@ -1108,57 +1036,48 @@ msgstr "著作權政策"
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/create/Step2.tsx:91
-#~ msgid "Country"
-#~ msgstr "國家"
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:65
-#: src/view/com/auth/SplashScreen.tsx:75
-#: src/view/com/auth/SplashScreen.web.tsx:104
+#: 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:403
+#: src/view/screens/Settings/index.tsx:399
msgid "Create a new Bluesky account"
msgstr "建立新的 Bluesky 帳號"
-#: src/screens/Signup/index.tsx:129
+#: 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/HomeLoggedOutCTA.tsx:55
-#: src/view/com/auth/SplashScreen.tsx:66
-#: src/view/com/auth/SplashScreen.web.tsx:95
+#: 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 ""
+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:469
-msgid "Creates a card with a thumbnail. The card links to {url}"
-msgstr "建立帶有縮圖的卡片。該卡片連結到 {url}"
+#~ msgid "Creates a card with a thumbnail. The card links to {url}"
+#~ msgstr "建立帶有縮圖的卡片。該卡片連結到 {url}"
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
@@ -1174,50 +1093,46 @@ msgid "Custom domain"
msgstr "自訂網域"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
-#: src/view/screens/Feeds.tsx:692
+#: 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
+#: src/view/screens/PreferencesExternalEmbeds.tsx:56
msgid "Customize media from external sites."
msgstr "自訂外部網站的媒體。"
-#: src/view/screens/Settings.tsx:687
-#~ msgid "Danger Zone"
-#~ msgstr "危險區域"
-
-#: src/view/screens/Settings/index.tsx:504
-#: src/view/screens/Settings/index.tsx:530
+#: src/view/screens/Settings/index.tsx:433
+#: src/view/screens/Settings/index.tsx:459
msgid "Dark"
-msgstr "深黑"
+msgstr "深色"
#: src/view/screens/Debug.tsx:63
msgid "Dark mode"
msgstr "深色模式"
-#: src/view/screens/Settings/index.tsx:517
+#: src/view/screens/Settings/index.tsx:446
msgid "Dark Theme"
msgstr "深色主題"
-#: src/screens/Signup/StepInfo/index.tsx:132
+#: src/screens/Signup/StepInfo/index.tsx:134
msgid "Date of birth"
-msgstr ""
+msgstr "出生日期"
-#: src/view/screens/Settings/index.tsx:841
+#: src/view/screens/Settings/index.tsx:800
msgid "Debug Moderation"
-msgstr ""
+msgstr "限制除錯"
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr "除錯面板"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:345
#: 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:796
+#: src/view/screens/Settings/index.tsx:755
msgid "Delete account"
msgstr "刪除帳號"
@@ -1233,7 +1148,7 @@ msgstr "刪除應用程式專用密碼"
msgid "Delete app password?"
msgstr "刪除應用程式專用密碼?"
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "刪除列表"
@@ -1241,28 +1156,24 @@ msgstr "刪除列表"
msgid "Delete my account"
msgstr "刪除我的帳號"
-#: src/view/screens/Settings.tsx:706
-#~ msgid "Delete my account…"
-#~ msgstr "刪除我的帳號…"
-
-#: src/view/screens/Settings/index.tsx:808
+#: src/view/screens/Settings/index.tsx:767
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:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
msgid "Delete post"
msgstr "刪除貼文"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:610
msgid "Delete this list?"
-msgstr ""
+msgstr "刪除此列表?"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:314
+#: src/view/com/util/forms/PostDropdownBtn.tsx:340
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 "已刪除"
@@ -1277,34 +1188,46 @@ msgstr "已刪除貼文。"
msgid "Description"
msgstr "描述"
-#: src/view/screens/Settings.tsx:760
-#~ msgid "Developer Tools"
-#~ msgstr "開發者工具"
-
-#: src/view/com/composer/Composer.tsx:218
+#: src/view/com/composer/Composer.tsx:228
msgid "Did you want to say anything?"
msgstr "有什麼想說的嗎?"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:452
msgid "Dim"
msgstr "暗淡"
+#: src/view/screens/AccessibilitySettings.tsx:94
+msgid "Disable autoplay for GIFs"
+msgstr ""
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:90
+msgid "Disable Email 2FA"
+msgstr ""
+
+#: src/view/screens/AccessibilitySettings.tsx:108
+msgid "Disable haptic feedback"
+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 ""
+msgstr "停用"
-#: src/view/com/composer/Composer.tsx:511
+#: src/view/com/composer/Composer.tsx:525
msgid "Discard"
msgstr "捨棄"
-#: src/view/com/composer/Composer.tsx:145
-#~ msgid "Discard draft"
-#~ msgstr "捨棄草稿"
-
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:522
msgid "Discard draft?"
msgstr "捨棄草稿?"
@@ -1318,11 +1241,7 @@ 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 "探索新的訊息流"
@@ -1336,28 +1255,24 @@ msgstr "顯示名稱"
#: src/view/com/modals/ChangeHandle.tsx:397
msgid "DNS Panel"
-msgstr ""
+msgstr "DNS 控制台"
#: src/lib/moderation/useGlobalLabelStrings.ts:39
msgid "Does not include nudity."
-msgstr ""
+msgstr "不包含裸露内容。"
-#: src/screens/Signup/StepHandle.tsx:104
+#: src/screens/Signup/StepHandle.tsx:105
msgid "Doesn't begin or end with a hyphen"
-msgstr ""
+msgstr "不以連字符開頭或結尾"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "Domain Value"
-msgstr ""
+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
@@ -1376,7 +1291,7 @@ msgstr "網域已驗證!"
msgid "Done"
msgstr "完成"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: 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
@@ -1393,20 +1308,12 @@ msgstr "完成"
msgid "Done{extraText}"
msgstr "完成{extraText}"
-#: 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 "下載 Bluesky 帳號資料(存放庫)"
-
#: 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
+#: src/view/com/composer/text-input/TextInput.web.tsx:270
msgid "Drop to add images"
msgstr "拖放即可新增圖片"
@@ -1416,7 +1323,7 @@ msgstr "受 Apple 政策限制,成人內容只能在完成註冊後在網頁
#: src/view/com/modals/ChangeHandle.tsx:258
msgid "e.g. alice"
-msgstr ""
+msgstr "例如:alice"
#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
@@ -1424,7 +1331,7 @@ msgstr "例如:張藍天"
#: src/view/com/modals/ChangeHandle.tsx:380
msgid "e.g. alice.com"
-msgstr ""
+msgstr "例如:alice.com"
#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
@@ -1432,7 +1339,7 @@ msgstr "例如:藝術家、愛狗人士和狂熱讀者。"
#: src/lib/moderation/useGlobalLabelStrings.ts:43
msgid "E.g. artistic nudes."
-msgstr ""
+msgstr "例如:藝術裸露。"
#: src/view/com/modals/CreateOrEditList.tsx:284
msgid "e.g. Great Posters"
@@ -1459,17 +1366,17 @@ msgctxt "action"
msgid "Edit"
msgstr "編輯"
-#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
-msgstr ""
+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:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "編輯列表詳情"
@@ -1477,9 +1384,9 @@ msgstr "編輯列表詳情"
msgid "Edit Moderation List"
msgstr "編輯管理列表"
-#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:257
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "編輯自訂訊息流"
@@ -1487,18 +1394,18 @@ msgstr "編輯自訂訊息流"
msgid "Edit my profile"
msgstr "編輯我的個人資料"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:166
msgid "Edit profile"
msgstr "編輯個人資料"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:169
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 "編輯已儲存的訊息流"
@@ -1523,6 +1430,10 @@ msgstr "教育"
msgid "Email"
msgstr "電子郵件"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:64
+msgid "Email 2FA disabled"
+msgstr ""
+
#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "電子郵件地址"
@@ -1536,14 +1447,28 @@ msgstr "電子郵件已更新"
msgid "Email Updated"
msgstr "電子郵件已更新"
-#: src/view/com/modals/VerifyEmail.tsx:78
+#: src/view/com/modals/VerifyEmail.tsx:85
msgid "Email verified"
msgstr "電子郵件已驗證"
-#: src/view/screens/Settings/index.tsx:331
+#: src/view/screens/Settings/index.tsx:327
msgid "Email:"
msgstr "電子郵件:"
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr "嵌入 HTML 程式碼"
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:259
+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 "將這則貼文嵌入到你的網站。只需複製以下程式碼片段,並將其貼上到您網站的 HTML 程式碼中即可。"
+
#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "僅啟用 {0}"
@@ -1564,13 +1489,9 @@ 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 "啟用外部媒體"
+msgstr "啟用外部媒體"
-#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+#: src/view/screens/PreferencesExternalEmbeds.tsx:76
msgid "Enable media players for"
msgstr "啟用媒體播放器"
@@ -1580,13 +1501,13 @@ msgstr "啟用此設定來只顯示你跟隨的人之間的回覆。"
#: src/components/dialogs/EmbedConsent.tsx:94
msgid "Enable this source only"
-msgstr ""
+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 "訊息流的結尾"
@@ -1596,14 +1517,14 @@ msgstr "輸入此應用程式專用密碼的名稱"
#: src/screens/Login/SetNewPasswordForm.tsx:139
msgid "Enter a password"
-msgstr ""
+msgstr "輸入密碼"
#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
msgid "Enter a word or tag"
-msgstr ""
+msgstr "輸入詞彙或標籤"
-#: src/view/com/modals/VerifyEmail.tsx:105
+#: src/view/com/modals/VerifyEmail.tsx:113
msgid "Enter Confirmation Code"
msgstr "輸入驗證碼"
@@ -1623,12 +1544,8 @@ msgstr "輸入你用於建立帳號的電子郵件。我們將向你發送重設
msgid "Enter your birth date"
msgstr "輸入你的出生日期"
-#: src/view/com/modals/Waitlist.tsx:78
-#~ msgid "Enter your email"
-#~ msgstr "輸入你的電子郵件地址"
-
#: src/screens/Login/ForgotPasswordForm.tsx:105
-#: src/screens/Signup/StepInfo/index.tsx:91
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "輸入你的電子郵件地址"
@@ -1640,10 +1557,6 @@ msgstr "請在上方輸入你的新電子郵件地址"
msgid "Enter your new email address below."
msgstr "請在下方輸入你的新電子郵件地址。"
-#: src/view/com/auth/create/Step2.tsx:188
-#~ msgid "Enter your phone number"
-#~ msgstr "輸入你的手機號碼"
-
#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "輸入你的使用者名稱和密碼"
@@ -1652,7 +1565,7 @@ msgstr "輸入你的使用者名稱和密碼"
msgid "Error receiving captcha response."
msgstr "Captcha 給出了錯誤的回應。"
-#: src/view/screens/Search/Search.tsx:111
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "錯誤:"
@@ -1662,11 +1575,11 @@ msgstr "所有人"
#: src/lib/moderation/useReportOptions.ts:66
msgid "Excessive mentions or replies"
-msgstr ""
+msgstr "過多的提及或回覆"
#: src/view/com/modals/DeleteAccount.tsx:230
msgid "Exits account deletion process"
-msgstr ""
+msgstr "離開帐户删除流程"
#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
@@ -1674,7 +1587,7 @@ msgstr "離開修改帳號代碼流程"
#: src/view/com/modals/crop-image/CropImage.web.tsx:136
msgid "Exits image cropping process"
-msgstr ""
+msgstr "離開圖片裁剪流程"
#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
@@ -1685,33 +1598,29 @@ msgstr "離開圖片檢視器"
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: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/lib/moderation/useGlobalLabelStrings.ts:47
msgid "Explicit or potentially disturbing media."
-msgstr ""
+msgstr "露骨或可能令人不安的媒體內容。"
#: src/lib/moderation/useGlobalLabelStrings.ts:35
msgid "Explicit sexual images."
-msgstr ""
+msgstr "露骨的情色內容圖片。"
-#: src/view/screens/Settings/index.tsx:777
+#: src/view/screens/Settings/index.tsx:736
msgid "Export my data"
msgstr "匯出我的資料"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:747
msgid "Export My Data"
msgstr "匯出我的資料"
@@ -1721,17 +1630,17 @@ msgid "External Media"
msgstr "外部媒體"
#: src/components/dialogs/EmbedConsent.tsx:71
-#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+#: src/view/screens/PreferencesExternalEmbeds.tsx:67
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:677
+#: src/Navigation.tsx:276
+#: src/view/screens/PreferencesExternalEmbeds.tsx:53
+#: src/view/screens/Settings/index.tsx:629
msgid "External Media Preferences"
-msgstr "外部媒體偏好設定"
+msgstr "外部媒體設定偏好"
-#: src/view/screens/Settings/index.tsx:668
+#: src/view/screens/Settings/index.tsx:620
msgid "External media settings"
msgstr "外部媒體設定"
@@ -1744,20 +1653,24 @@ msgstr "建立應用程式專用密碼失敗。"
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/components/dialogs/GifSelect.tsx:200
+msgid "Failed to load GIFs"
+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 ""
+msgstr "無法儲存圖片:{0}"
-#: src/Navigation.tsx:196
+#: src/Navigation.tsx:197
msgid "Feed"
msgstr "訊息流"
@@ -1765,39 +1678,31 @@ 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/com/feeds/FeedPage.tsx:143
-#~ msgid "Feed Preferences"
-#~ msgstr "訊息流偏好設定"
-
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:314
+#: 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:194
-#: src/view/shell/bottom-bar/BottomBar.tsx:191
+#: src/Navigation.tsx:465
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:198
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
#: src/view/shell/desktop/LeftNav.tsx:346
-#: src/view/shell/Drawer.tsx:479
-#: src/view/shell/Drawer.tsx:480
+#: 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/>。"
@@ -1807,11 +1712,11 @@ msgstr "訊息流也可以圍繞某些話題!"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "File Contents"
-msgstr ""
+msgstr "檔案內容"
#: src/lib/moderation/useLabelBehaviorDescription.ts:66
msgid "Filter from feeds"
-msgstr ""
+msgstr "從訊息流中篩選"
#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
@@ -1823,13 +1728,17 @@ msgstr "最終確定"
msgid "Find accounts to follow"
msgstr "尋找一些要跟隨的帳號"
-#: src/view/screens/Search/Search.tsx:442
-msgid "Find users on Bluesky"
-msgstr "在 Bluesky 上尋找使用者"
+#: src/view/screens/Search/Search.tsx:521
+msgid "Find posts and users on Bluesky"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:589
+#~ msgid "Find users on Bluesky"
+#~ msgstr "在 Bluesky 上尋找使用者"
-#: src/view/screens/Search/Search.tsx:440
-msgid "Find users with the search tool on the right"
-msgstr "使用右側的搜尋工具尋找使用者"
+#: 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..."
@@ -1837,11 +1746,7 @@ 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."
@@ -1865,10 +1770,10 @@ msgid "Flip vertically"
msgstr "垂直翻轉"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:236
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "跟隨"
@@ -1878,7 +1783,7 @@ msgid "Follow"
msgstr "跟隨"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:219
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "跟隨 {0}"
@@ -1894,17 +1799,17 @@ msgstr "跟隨所有"
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
msgid "Follow Back"
-msgstr ""
+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:216
+#: src/view/com/profile/ProfileCard.tsx:231
msgid "Followed by {0}"
msgstr "由 {0} 跟隨"
@@ -1916,7 +1821,7 @@ msgstr "已跟隨的使用者"
msgid "Followed users only"
msgstr "僅限已跟隨的使用者"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "已跟隨"
@@ -1925,34 +1830,34 @@ msgstr "已跟隨"
msgid "Followers"
msgstr "跟隨者"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:234
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:231
#: 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
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:91
msgid "Following {0}"
msgstr "跟隨中:{0}"
-#: src/view/screens/Settings/index.tsx:553
+#: src/view/screens/Settings/index.tsx:505
msgid "Following feed preferences"
-msgstr ""
+msgstr "跟隨訊息流設定偏好"
-#: src/Navigation.tsx:262
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/Navigation.tsx:263
+#: 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:562
+#: src/view/screens/Settings/index.tsx:514
msgid "Following Feed Preferences"
-msgstr ""
+msgstr "跟隨訊息流設定偏好"
#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
msgstr "跟隨你"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:156
msgid "Follows You"
msgstr "跟隨你"
@@ -1968,53 +1873,44 @@ msgstr "為了保護你的帳號安全,我們需要將驗證碼發送到你的
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 password"
-#~ msgstr "忘記密碼"
-
#: src/screens/Login/index.tsx:129
#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "忘記密碼"
-#: src/screens/Login/LoginForm.tsx:201
+#: src/screens/Login/LoginForm.tsx:218
msgid "Forgot password?"
-msgstr ""
+msgstr "忘記密碼?"
-#: src/screens/Login/LoginForm.tsx:212
+#: src/screens/Login/LoginForm.tsx:229
msgid "Forgot?"
-msgstr ""
+msgstr "忘記?"
#: src/lib/moderation/useReportOptions.ts:52
msgid "Frequently Posts Unwanted Content"
-msgstr ""
+msgstr "經常發佈無關內容"
-#: src/screens/Hashtag.tsx:109
-#: src/screens/Hashtag.tsx:149
+#: src/screens/Hashtag.tsx:118
msgid "From @{sanitizedAuthor}"
-msgstr ""
+msgstr "來自 @{sanitizedAuthor}"
-#: src/view/com/posts/FeedItem.tsx:179
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "來自 <0/>"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:39
msgid "Gallery"
msgstr "相簿"
-#: src/view/com/modals/VerifyEmail.tsx:189
-#: src/view/com/modals/VerifyEmail.tsx:191
+#: src/view/com/modals/VerifyEmail.tsx:197
+#: src/view/com/modals/VerifyEmail.tsx:199
msgid "Get Started"
msgstr "開始"
#: src/lib/moderation/useReportOptions.ts:37
msgid "Glaring violations of law or terms of service"
-msgstr ""
+msgstr "明顯違反法律或服務條款"
#: src/components/moderation/ScreenHider.tsx:151
#: src/components/moderation/ScreenHider.tsx:160
@@ -2022,37 +1918,37 @@ msgstr ""
#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:112
-#: src/view/screens/ProfileList.tsx:916
+#: src/view/screens/ProfileList.tsx:918
#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "返回"
-#: src/components/Error.tsx:91
+#: src/components/Error.tsx:100
#: 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:921
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "返回"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/components/ReportDialog/SubmitView.tsx:102
#: src/screens/Onboarding/Layout.tsx:102
#: src/screens/Onboarding/Layout.tsx:191
-#: src/screens/Signup/index.tsx:173
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "返回上一步"
#: src/view/screens/NotFound.tsx:55
msgid "Go home"
-msgstr ""
+msgstr "前往首頁"
#: src/view/screens/NotFound.tsx:54
msgid "Go Home"
-msgstr ""
+msgstr "前往首頁"
-#: src/view/screens/Search/Search.tsx:749
+#: src/view/screens/Search/Search.tsx:827
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "前往 @{queryMaybeHandle}"
@@ -2064,34 +1960,34 @@ msgstr "前往下一步"
#: src/lib/moderation/useGlobalLabelStrings.ts:46
msgid "Graphic Media"
-msgstr ""
+msgstr "平面媒體"
#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "帳號代碼"
+#: src/view/screens/AccessibilitySettings.tsx:103
+msgid "Haptics"
+msgstr ""
+
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
-msgstr ""
+msgstr "騷擾、惡作劇或其他無法容忍的行為"
-#: src/Navigation.tsx:282
+#: src/Navigation.tsx:291
msgid "Hashtag"
-msgstr ""
+msgstr "標籤"
-#: src/components/RichText.tsx:188
-#~ msgid "Hashtag: {tag}"
-#~ msgstr ""
-
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:206
msgid "Hashtag: #{tag}"
-msgstr ""
+msgstr "標籤:#{tag}"
-#: src/screens/Signup/index.tsx:217
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "遇到問題?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:324
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "幫助"
@@ -2105,7 +2001,7 @@ 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})所推薦的熱門的話題訊息流。跟隨的訊息流數量沒有限制。"
+msgstr "這裡有一些根據你的興趣({interestsText})所推薦的熱門的話題訊息流。跟隨的訊息流數量沒有限制。"
#: src/view/com/modals/AddAppPasswords.tsx:154
msgid "Here is your app password."
@@ -2120,17 +2016,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:354
msgid "Hide"
msgstr "隱藏"
-#: src/view/com/notifications/FeedItem.tsx:329
+#: 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:298
+#: src/view/com/util/forms/PostDropdownBtn.tsx:300
msgid "Hide post"
msgstr "隱藏貼文"
@@ -2139,18 +2035,14 @@ msgstr "隱藏貼文"
msgid "Hide the content"
msgstr "隱藏內容"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:351
msgid "Hide this post?"
msgstr "隱藏這則貼文?"
-#: src/view/com/notifications/FeedItem.tsx:319
+#: 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 "唔,與訊息流伺服器連線時發生了某種問題。請告訴該訊息流的擁有者這個問題。"
@@ -2173,33 +2065,26 @@ 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 ""
+msgstr "唔,看起來我們在載入這些資料時遇到了問題,詳情請參閱下方。如果問題持續存在,請聯絡我們。"
#: src/screens/Profile/ErrorState.tsx:31
msgid "Hmmmm, we couldn't load that moderation service."
-msgstr ""
+msgstr "唔,我們無法載入該限制服務。"
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:147
+#: src/Navigation.tsx:455
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
#: src/view/shell/desktop/LeftNav.tsx:310
-#: src/view/shell/Drawer.tsx:401
-#: src/view/shell/Drawer.tsx:402
+#: 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 ""
+msgstr "主機:"
#: src/screens/Login/ForgotPasswordForm.tsx:89
-#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Login/LoginForm.tsx:151
#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
@@ -2209,11 +2094,13 @@ msgstr "托管服務提供商"
msgid "How should we open this link?"
msgstr "我們該如何開啟此連結?"
-#: src/view/com/modals/VerifyEmail.tsx:214
+#: src/view/com/modals/VerifyEmail.tsx:222
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:132
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:135
msgid "I have a code"
msgstr "我有驗證碼"
-#: src/view/com/modals/VerifyEmail.tsx:216
+#: src/view/com/modals/VerifyEmail.tsx:224
msgid "I have a confirmation code"
msgstr "我有驗證碼"
@@ -2231,15 +2118,15 @@ 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 ""
+msgstr "如果根據你所在國家的法律,你尚未成年,則你的父母或法定監護人必須代表你閱讀這些條款。"
-#: src/view/screens/ProfileList.tsx:610
+#: src/view/screens/ProfileList.tsx:612
msgid "If you delete this list, you won't be able to recover it."
-msgstr ""
+msgstr "如果刪除這個列表,你將無法恢復它。"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:342
msgid "If you remove this post, you won't be able to recover it."
-msgstr ""
+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."
@@ -2247,7 +2134,7 @@ msgstr "如果你想更改密碼,我們將向你發送一個驗證碼以確認
#: src/lib/moderation/useReportOptions.ts:36
msgid "Illegal and Urgent"
-msgstr ""
+msgstr "違法"
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
@@ -2257,14 +2144,9 @@ msgstr "圖片"
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 ""
+msgstr "冒充或虛假聲明身份或隸屬關係"
#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
@@ -2274,14 +2156,6 @@ msgstr "輸入發送到你電子郵件地址的重設碼以重設密碼"
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:181
msgid "Input name for app password"
msgstr "輸入應用程式專用密碼名稱"
@@ -2294,50 +2168,43 @@ msgstr "輸入新密碼"
msgid "Input password for account deletion"
msgstr "輸入密碼以刪除帳號"
-#: src/view/com/auth/create/Step2.tsx:196
-#~ msgid "Input phone number for SMS verification"
-#~ msgstr "輸入手機號碼進行簡訊驗證"
+#: src/screens/Login/LoginForm.tsx:257
+msgid "Input the code which has been emailed to you"
+msgstr ""
-#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:212
msgid "Input the password tied to {identifier}"
msgstr "輸入與 {identifier} 關聯的密碼"
-#: src/screens/Login/LoginForm.tsx:168
+#: src/screens/Login/LoginForm.tsx:185
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/screens/Login/LoginForm.tsx:194
+#: src/screens/Login/LoginForm.tsx:211
msgid "Input your password"
msgstr "輸入你的密碼"
#: src/view/com/modals/ChangeHandle.tsx:389
msgid "Input your preferred hosting provider"
-msgstr ""
+msgstr "輸入你的托管服務提供商"
-#: src/screens/Signup/StepHandle.tsx:62
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "輸入你的帳號代碼"
-#: src/view/com/post-thread/PostThreadItem.tsx:221
+#: src/screens/Login/LoginForm.tsx:126
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:70
+msgid "Invalid 2FA confirmation code."
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadItem.tsx:222
msgid "Invalid or unsupported post record"
msgstr "無效或不支援的貼文紀錄"
-#: src/screens/Login/LoginForm.tsx:114
+#: src/screens/Login/LoginForm.tsx:131
msgid "Invalid username or password"
msgstr "使用者名稱或密碼無效"
-#: src/view/screens/Settings.tsx:411
-#~ msgid "Invite"
-#~ msgstr "邀請"
-
#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "邀請朋友"
@@ -2354,10 +2221,6 @@ msgstr "邀請碼無效。請檢查你輸入的內容是否正確,然後重試
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:170
msgid "Invite codes: 1 available"
msgstr "邀請碼:1 個可用"
@@ -2366,84 +2229,67 @@ msgstr "邀請碼:1 個可用"
msgid "It shows posts from the people you follow as they happen."
msgstr "它會即時顯示你所跟隨的人發佈的貼文。"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:104
-#: src/view/com/auth/SplashScreen.web.tsx:172
+#: 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 ""
+msgstr "此標籤已放置於 {labelTarget} 上"
#: src/components/moderation/ContentHider.tsx:144
msgid "Labeled by {0}."
-msgstr ""
+msgstr "由 {0} 標註。"
#: src/components/moderation/ContentHider.tsx:142
msgid "Labeled by the author."
-msgstr ""
+msgstr "由作者標註。"
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:192
msgid "Labels"
-msgstr ""
+msgstr "標籤"
-#: src/screens/Profile/Sections/Labels.tsx:142
+#: 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 ""
+msgstr "標籤是對使用者和內容的標註,可用於隱藏、警告和對網路進行分類。"
#: src/components/moderation/LabelsOnMe.tsx:61
msgid "labels have been placed on this {labelTarget}"
-msgstr ""
+msgstr "此標籤已放置於 {labelTarget} 上"
#: src/components/moderation/LabelsOnMeDialog.tsx:62
msgid "Labels on your account"
-msgstr ""
+msgstr "你帳戶上的標籤"
#: src/components/moderation/LabelsOnMeDialog.tsx:64
msgid "Labels on your content"
-msgstr ""
+msgstr "你內容上的標籤"
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "語言選擇"
-#: src/view/screens/Settings/index.tsx:614
+#: src/view/screens/Settings/index.tsx:566
msgid "Language settings"
msgstr "語言設定"
-#: src/Navigation.tsx:144
+#: src/Navigation.tsx:145
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "語言設定"
-#: src/view/screens/Settings/index.tsx:623
+#: src/view/screens/Settings/index.tsx:575
msgid "Languages"
msgstr "語言"
-#: src/view/com/auth/create/StepHeader.tsx:20
-#~ msgid "Last step!"
-#~ msgstr "最後一步!"
-
-#: src/view/com/util/moderation/ContentHider.tsx:103
-#~ msgid "Learn more"
-#~ msgstr "瞭解詳情"
+#: src/screens/Hashtag.tsx:99
+#: src/view/screens/Search/Search.tsx:428
+msgid "Latest"
+msgstr "最新"
#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
@@ -2452,7 +2298,7 @@ msgstr "瞭解詳情"
#: src/components/moderation/ContentHider.tsx:65
#: src/components/moderation/ContentHider.tsx:128
msgid "Learn more about the moderation applied to this content."
-msgstr ""
+msgstr "詳細了解套用於此內容的限制。"
#: src/components/moderation/PostHider.tsx:85
#: src/components/moderation/ScreenHider.tsx:125
@@ -2465,7 +2311,7 @@ msgstr "瞭解有關 Bluesky 上公開內容的更多資訊。"
#: src/components/moderation/ContentHider.tsx:152
msgid "Learn more."
-msgstr "瞭解詳情"
+msgstr "瞭解詳情。"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
@@ -2479,7 +2325,7 @@ msgstr "離開 Bluesky"
msgid "left to go."
msgstr "尚未完成。"
-#: src/view/screens/Settings/index.tsx:296
+#: src/view/screens/Settings/index.tsx:292
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "舊儲存資料已清除,你需要立即重新啟動應用程式。"
@@ -2492,27 +2338,22 @@ msgstr "讓我們來重設你的密碼吧!"
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:498
+#: src/view/screens/Settings/index.tsx:427
msgid "Light"
msgstr "亮色"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "喜歡"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:258
-#: src/view/screens/ProfileFeed.tsx:573
+#: 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
+#: src/Navigation.tsx:202
+#: src/Navigation.tsx:207
msgid "Liked by"
msgstr "喜歡"
@@ -2528,31 +2369,31 @@ msgstr "{0} 個 {1} 喜歡"
#: src/components/LabelingServiceCard/index.tsx:72
msgid "Liked by {count} {0}"
-msgstr ""
+msgstr "{count} 個 {0} 喜歡"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:278
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:292
-#: src/view/screens/ProfileFeed.tsx:588
+#: 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:174
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "喜歡你的自訂訊息流"
-#: src/view/com/notifications/FeedItem.tsx:159
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "喜歡你的貼文"
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:197
msgid "Likes"
msgstr "喜歡"
-#: src/view/com/post-thread/PostThreadItem.tsx:182
+#: src/view/com/post-thread/PostThreadItem.tsx:183
msgid "Likes on this post"
msgstr "這條貼文的喜歡數"
-#: src/Navigation.tsx:170
+#: src/Navigation.tsx:171
msgid "List"
msgstr "列表"
@@ -2560,7 +2401,7 @@ msgstr "列表"
msgid "List Avatar"
msgstr "列表頭像"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "列表已封鎖"
@@ -2568,11 +2409,11 @@ 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 "列表已靜音"
@@ -2580,36 +2421,31 @@ msgstr "列表已靜音"
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:189
-#: src/view/screens/Profile.tsx:195
+#: src/Navigation.tsx:115
+#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:199
#: src/view/shell/desktop/LeftNav.tsx:383
-#: src/view/shell/Drawer.tsx:495
-#: src/view/shell/Drawer.tsx:496
+#: 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/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:138
-#: src/view/screens/ProfileFeed.tsx:496
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:134
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "載入新的貼文"
@@ -2617,11 +2453,7 @@ msgstr "載入新的貼文"
msgid "Loading..."
msgstr "載入中…"
-#: src/view/com/modals/ServerInput.tsx:50
-#~ msgid "Local dev server"
-#~ msgstr "本地開發伺服器"
-
-#: src/Navigation.tsx:221
+#: src/Navigation.tsx:222
msgid "Log"
msgstr "日誌"
@@ -2640,9 +2472,13 @@ msgstr "登出可見性"
msgid "Login to account that is not listed"
msgstr "登入未列出的帳號"
+#: src/components/RichText.tsx:207
+msgid "Long press to open tag menu for #{tag}"
+msgstr ""
+
#: src/screens/Login/SetNewPasswordForm.tsx:116
msgid "Looks like XXXXX-XXXXX"
-msgstr ""
+msgstr "看起來像是 XXXXX-XXXXX"
#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
@@ -2650,17 +2486,10 @@ msgstr "請確認這是你想要去的的地方!"
#: 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 ""
-
-#: src/view/com/auth/create/Step2.tsx:109
-#~ msgid "May only contain letters and numbers"
-#~ msgstr ""
-
-#: src/view/screens/Profile.tsx:192
+#: src/view/screens/AccessibilitySettings.tsx:89
+#: src/view/screens/Profile.tsx:196
msgid "Media"
msgstr "媒體"
@@ -2672,8 +2501,8 @@ msgstr "提及的使用者"
msgid "Mentioned users"
msgstr "提及的使用者"
-#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:726
msgid "Menu"
msgstr "選單"
@@ -2683,33 +2512,33 @@ msgstr "來自伺服器的訊息:{0}"
#: src/lib/moderation/useReportOptions.ts:45
msgid "Misleading Account"
-msgstr ""
+msgstr "誤導性帳戶"
-#: src/Navigation.tsx:119
+#: src/Navigation.tsx:120
#: src/screens/Moderation/index.tsx:104
-#: src/view/screens/Settings/index.tsx:645
+#: src/view/screens/Settings/index.tsx:597
#: src/view/shell/desktop/LeftNav.tsx:401
-#: src/view/shell/Drawer.tsx:514
-#: src/view/shell/Drawer.tsx:515
+#: 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 ""
+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: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 "你建立的限制列表"
@@ -2725,22 +2554,22 @@ msgstr "限制列表已更新"
msgid "Moderation lists"
msgstr "限制列表"
-#: src/Navigation.tsx:124
+#: src/Navigation.tsx:125
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "限制列表"
-#: src/view/screens/Settings/index.tsx:639
+#: src/view/screens/Settings/index.tsx:591
msgid "Moderation settings"
msgstr "限制設定"
-#: src/Navigation.tsx:216
+#: src/Navigation.tsx:217
msgid "Moderation states"
-msgstr ""
+msgstr "限制狀態"
#: src/screens/Moderation/index.tsx:215
msgid "Moderation tools"
-msgstr ""
+msgstr "限制工具"
#: src/components/moderation/ModerationDetailsDialog.tsx:48
#: src/lib/moderation/useModerationCauseDescription.ts:40
@@ -2749,74 +2578,58 @@ msgstr "限制選擇對內容設定一般警告。"
#: src/view/com/post-thread/PostThreadItem.tsx:541
msgid "More"
-msgstr ""
+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 "更多選項"
-#: 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 ""
+msgstr "靜音"
#: src/components/TagMenu/index.web.tsx:105
msgid "Mute {truncatedTag}"
-msgstr ""
+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:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "靜音帳號"
#: src/components/TagMenu/index.tsx:209
msgid "Mute all {displayTag} posts"
-msgstr ""
-
-#: src/components/TagMenu/index.tsx:211
-#~ msgid "Mute all {tag} posts"
-#~ msgstr ""
+msgstr "將所有 {displayTag} 貼文靜音"
#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
-msgstr ""
+msgstr "僅靜音標籤"
#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
-msgstr ""
+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/view/screens/ProfileList.tsx:279
-#~ msgid "Mute this List"
-#~ msgstr "靜音這個列表"
-
#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
msgstr "在帖子文本和话题标签中隐藏该词"
@@ -2825,15 +2638,15 @@ msgstr "在帖子文本和话题标签中隐藏该词"
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:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:279
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:289
+#: src/view/com/util/forms/PostDropdownBtn.tsx:291
msgid "Mute words & tags"
-msgstr ""
+msgstr "靜音詞彙和標籤"
#: src/view/com/lists/ListCard.tsx:102
msgid "Muted"
@@ -2843,24 +2656,24 @@ msgstr "已靜音"
msgid "Muted accounts"
msgstr "已靜音帳號"
-#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:130
+#: 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/lib/moderation/useModerationCauseDescription.ts:85
msgid "Muted by \"{0}\""
-msgstr ""
+msgstr "被\"{0}\"靜音"
#: src/screens/Moderation/index.tsx:231
msgid "Muted words & tags"
-msgstr ""
+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 "封鎖是私人的。被封鎖的帳號可以與你互動,但你將無法看到他們的貼文或收到來自他們的通知。"
@@ -2869,7 +2682,7 @@ msgstr "封鎖是私人的。被封鎖的帳號可以與你互動,但你將無
msgid "My Birthday"
msgstr "我的生日"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "自定訊息流"
@@ -2877,18 +2690,14 @@ msgstr "自定訊息流"
msgid "My Profile"
msgstr "我的個人資料"
-#: src/view/screens/Settings/index.tsx:596
+#: src/view/screens/Settings/index.tsx:548
msgid "My saved feeds"
msgstr "我儲存的訊息流"
-#: src/view/screens/Settings/index.tsx:602
+#: src/view/screens/Settings/index.tsx:554
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:180
#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
@@ -2902,14 +2711,14 @@ msgstr "名稱是必填項"
#: src/lib/moderation/useReportOptions.ts:78
#: src/lib/moderation/useReportOptions.ts:86
msgid "Name or Description Violates Community Standards"
-msgstr ""
+msgstr "名稱或描述違反社群標準"
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr "自然"
#: src/screens/Login/ForgotPasswordForm.tsx:173
-#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:303
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "切換到下一畫面"
@@ -2918,14 +2727,9 @@ msgstr "切換到下一畫面"
msgid "Navigates to your profile"
msgstr "切換到你的個人檔案"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:122
+#: 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} 的嵌入內容"
+msgstr "需要檢舉侵權嗎?"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
@@ -2936,13 +2740,9 @@ msgstr "永遠不會失去對你的跟隨者和資料的存取權。"
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 ""
+msgstr "沒關係,為我創建一個帳號代碼"
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -2965,17 +2765,17 @@ msgstr "新密碼"
msgid "New Password"
msgstr "新密碼"
-#: src/view/com/feeds/FeedPage.tsx:149
+#: src/view/com/feeds/FeedPage.tsx:145
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:452
-#: src/view/screens/ProfileFeed.tsx:434
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
+#: src/view/screens/Profile.tsx:465
+#: 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 "新貼文"
@@ -2999,12 +2799,12 @@ msgstr "新聞"
#: src/screens/Login/ForgotPasswordForm.tsx:143
#: src/screens/Login/ForgotPasswordForm.tsx:150
-#: src/screens/Login/LoginForm.tsx:253
-#: src/screens/Login/LoginForm.tsx:260
+#: src/screens/Login/LoginForm.tsx:302
+#: src/screens/Login/LoginForm.tsx:309
#: src/screens/Login/SetNewPasswordForm.tsx:174
#: src/screens/Login/SetNewPasswordForm.tsx:180
-#: src/screens/Signup/index.tsx:205
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: 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"
@@ -3028,22 +2828,26 @@ msgstr "下一張圖片"
msgid "No"
msgstr "關"
-#: src/view/screens/ProfileFeed.tsx:562
-#: src/view/screens/ProfileList.tsx:769
+#: 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/components/dialogs/GifSelect.tsx:206
+msgid "No featured GIFs found. There may be an issue with Tenor."
msgstr ""
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:116
msgid "No longer following {0}"
msgstr "不再跟隨 {0}"
-#: src/screens/Signup/StepHandle.tsx:114
+#: src/screens/Signup/StepHandle.tsx:115
msgid "No longer than 253 characters"
-msgstr ""
+msgstr "不超過 253 個字符"
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
@@ -3054,20 +2858,24 @@ msgstr "還沒有通知!"
msgid "No result"
msgstr "沒有結果"
-#: src/components/Lists.tsx:183
+#: src/components/Lists.tsx:192
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:283
-#: src/view/screens/Search/Search.tsx:311
+#: src/view/screens/Search/Search.tsx:350
+#: src/view/screens/Search/Search.tsx:388
msgid "No results found for {query}"
msgstr "未找到 {query} 的結果"
+#: src/components/dialogs/GifSelect.tsx:204
+msgid "No search results found for \"{search}\"."
+msgstr ""
+
#: src/components/dialogs/EmbedConsent.tsx:105
#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
@@ -3080,43 +2888,43 @@ msgstr "沒有人"
#: src/components/LikedByList.tsx:79
#: src/components/LikesDialog.tsx:99
msgid "Nobody has liked this yet. Maybe you should be the first!"
-msgstr ""
+msgstr "還沒有人喜歡這個,也許你應該成為第一個!"
#: src/lib/moderation/useGlobalLabelStrings.ts:42
msgid "Non-sexual Nudity"
-msgstr ""
+msgstr "非情色內容裸體"
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "不適用。"
-#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:99
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "未找到"
-#: src/view/com/modals/VerifyEmail.tsx:246
-#: src/view/com/modals/VerifyEmail.tsx:252
+#: src/view/com/modals/VerifyEmail.tsx:254
+#: src/view/com/modals/VerifyEmail.tsx:260
msgid "Not right now"
msgstr "暫時不需要"
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
+#: src/view/com/util/forms/PostDropdownBtn.tsx:368
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
-msgstr ""
+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:469
+#: src/Navigation.tsx:470
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:215
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
#: src/view/shell/desktop/LeftNav.tsx:365
-#: src/view/shell/Drawer.tsx:438
-#: src/view/shell/Drawer.tsx:439
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "通知"
@@ -3126,21 +2934,18 @@ msgstr "裸露"
#: src/lib/moderation/useReportOptions.ts:71
msgid "Nudity or adult content not labeled as such"
-msgstr ""
+msgstr "未貼上此類標籤的裸露或成人內容"
-#: src/lib/moderation/useReportOptions.ts:71
-#~ msgid "Nudity or pornography not labeled as such"
-#~ msgstr ""
-
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "of"
-msgstr ""
+msgstr "of"
#: src/lib/moderation/useLabelBehaviorDescription.ts:11
msgid "Off"
-msgstr ""
+msgstr "顯示"
-#: src/view/com/util/ErrorBoundary.tsx:49
+#: src/components/dialogs/GifSelect.tsx:287
+#: src/view/com/util/ErrorBoundary.tsx:55
msgid "Oh no!"
msgstr "糟糕!"
@@ -3149,9 +2954,9 @@ msgid "Oh no! Something went wrong."
msgstr "糟糕!發生了一些錯誤。"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
msgid "OK"
-msgstr ""
+msgstr "好的"
#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
@@ -3161,11 +2966,11 @@ msgstr "好的"
msgid "Oldest replies first"
msgstr "最舊的回覆優先"
-#: src/view/screens/Settings/index.tsx:244
+#: src/view/screens/Settings/index.tsx:236
msgid "Onboarding reset"
msgstr "重新開始引導流程"
-#: src/view/com/composer/Composer.tsx:392
+#: src/view/com/composer/Composer.tsx:424
msgid "One or more images is missing alt text."
msgstr "至少有一張圖片缺失了替代文字。"
@@ -3173,17 +2978,17 @@ msgstr "至少有一張圖片缺失了替代文字。"
msgid "Only {0} can reply."
msgstr "只有 {0} 可以回覆。"
-#: src/screens/Signup/StepHandle.tsx:97
+#: src/screens/Signup/StepHandle.tsx:98
msgid "Only contains letters, numbers, and hyphens"
-msgstr ""
+msgstr "只包含字母、數字和連字符"
-#: src/components/Lists.tsx:75
+#: src/components/Lists.tsx:78
msgid "Oops, something went wrong!"
-msgstr ""
+msgstr "糟糕,發生了錯誤!"
-#: src/components/Lists.tsx:170
+#: src/components/Lists.tsx:177
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:99
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "糟糕!"
@@ -3191,61 +2996,57 @@ msgstr "糟糕!"
msgid "Open"
msgstr "開啟"
-#: src/view/screens/Moderation.tsx:75
-#~ msgid "Open content filtering settings"
-#~ msgstr ""
-
-#: src/view/com/composer/Composer.tsx:491
-#: src/view/com/composer/Composer.tsx:492
+#: src/view/com/composer/Composer.tsx:505
+#: src/view/com/composer/Composer.tsx:506
msgid "Open emoji picker"
msgstr "開啟表情符號選擇器"
-#: src/view/screens/ProfileFeed.tsx:300
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
-msgstr ""
+msgstr "開啟訊息流選項選單"
-#: src/view/screens/Settings/index.tsx:734
+#: src/view/screens/Settings/index.tsx:686
msgid "Open links with in-app browser"
msgstr "在內建瀏覽器中開啟連結"
#: src/screens/Moderation/index.tsx:227
msgid "Open muted words and tags settings"
-msgstr ""
+msgstr "開啟靜音詞彙和標籤設定"
-#: src/view/screens/Moderation.tsx:92
-#~ msgid "Open muted words 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 ""
+msgstr "開啟貼文選項選單"
-#: src/view/screens/Settings/index.tsx:828
-#: src/view/screens/Settings/index.tsx:838
+#: src/view/screens/Settings/index.tsx:787
+#: src/view/screens/Settings/index.tsx:797
msgid "Open storybook page"
msgstr "開啟故事書頁面"
-#: src/view/screens/Settings/index.tsx:816
+#: src/view/screens/Settings/index.tsx:775
msgid "Open system log"
-msgstr ""
+msgstr "開啟系統日誌"
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr "開啟 {numItems} 個選項"
+#: src/view/screens/Settings/index.tsx:485
+msgid "Opens accessibility settings"
+msgstr ""
+
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
msgstr "開啟除錯項目的額外詳細資訊"
-#: src/view/com/notifications/FeedItem.tsx:353
+#: 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
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:74
msgid "Opens camera on device"
msgstr "開啟裝置相機"
@@ -3253,125 +3054,99 @@ msgstr "開啟裝置相機"
msgid "Opens composer"
msgstr "開啟編輯器"
-#: src/view/screens/Settings/index.tsx:615
+#: src/view/screens/Settings/index.tsx:567
msgid "Opens configurable language settings"
msgstr "開啟可以更改的語言設定"
-#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:40
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:669
+#: src/view/screens/Settings/index.tsx:621
msgid "Opens external embeds settings"
msgstr "開啟外部嵌入設定"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
-#: src/view/com/auth/SplashScreen.tsx:68
-#: src/view/com/auth/SplashScreen.web.tsx:97
+#: 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 ""
+msgstr "開始流程以建立新的 Bluesky 帳戶"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:75
-#: src/view/com/auth/SplashScreen.tsx:83
-#: src/view/com/auth/SplashScreen.web.tsx:112
+#: 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 ""
+msgstr "開啟流程以登入你現有的 Bluesky 帳戶"
-#: 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/composer/photos/SelectGifBtn.tsx:37
+msgid "Opens GIF select dialog"
+msgstr ""
#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "開啟邀請碼列表"
-#: src/view/screens/Settings/index.tsx:798
+#: src/view/screens/Settings/index.tsx:757
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 "開啟用於帳號刪除確認的彈窗。需要電子郵件驗證碼。"
+msgstr "開啟用於帳號刪除確認的彈窗。需要電子郵件驗證碼。"
-#: src/view/screens/Settings/index.tsx:756
+#: src/view/screens/Settings/index.tsx:715
msgid "Opens modal for changing your Bluesky password"
-msgstr ""
+msgstr "開啟用於修改你 Bluesky 密碼的彈窗"
-#: src/view/screens/Settings/index.tsx:718
+#: src/view/screens/Settings/index.tsx:670
msgid "Opens modal for choosing a new Bluesky handle"
-msgstr ""
+msgstr "開啟用於創建新 Bluesky 帳號代碼的彈窗"
-#: src/view/screens/Settings/index.tsx:779
+#: src/view/screens/Settings/index.tsx:738
msgid "Opens modal for downloading your Bluesky account data (repository)"
-msgstr ""
+msgstr "開啟用於下載 Bluesky 帳戶數據(存儲庫)的彈窗"
-#: src/view/screens/Settings/index.tsx:968
+#: src/view/screens/Settings/index.tsx:927
msgid "Opens modal for email verification"
-msgstr ""
+msgstr "開啟用於驗證電子郵件的彈窗"
#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr "開啟使用自訂網域的彈窗"
-#: src/view/screens/Settings/index.tsx:640
+#: src/view/screens/Settings/index.tsx:592
msgid "Opens moderation settings"
msgstr "開啟限制設定"
-#: src/screens/Login/LoginForm.tsx:202
+#: src/screens/Login/LoginForm.tsx:219
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:597
+#: src/view/screens/Settings/index.tsx:549
msgid "Opens screen with all saved feeds"
msgstr "開啟包含所有已儲存訊息流的畫面"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:648
msgid "Opens the app password settings"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:676
-#~ msgid "Opens the app password settings page"
-#~ msgstr "開啟應用程式專用密碼設定頁面"
+msgstr "開啟應用程式專用密碼設定的畫面"
-#: src/view/screens/Settings/index.tsx:554
+#: src/view/screens/Settings/index.tsx:506
msgid "Opens the Following feed preferences"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:535
-#~ msgid "Opens the home feed preferences"
-#~ msgstr "開啟首頁訊息流設定偏好"
+msgstr "開啟跟隨訊息流設定偏好"
#: src/view/com/modals/LinkWarning.tsx:93
msgid "Opens the linked website"
-msgstr ""
+msgstr "開啟已連結的網站"
-#: src/view/screens/Settings/index.tsx:829
-#: src/view/screens/Settings/index.tsx:839
+#: src/view/screens/Settings/index.tsx:788
+#: src/view/screens/Settings/index.tsx:798
msgid "Opens the storybook page"
msgstr "開啟故事書頁面"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:776
msgid "Opens the system log page"
msgstr "開啟系統日誌頁面"
-#: src/view/screens/Settings/index.tsx:575
+#: src/view/screens/Settings/index.tsx:527
msgid "Opens the threads preferences"
msgstr "開啟對話串設定偏好"
@@ -3379,9 +3154,9 @@ msgstr "開啟對話串設定偏好"
msgid "Option {0} of {numItems}"
msgstr "{0} 選項,共 {numItems} 個"
-#: 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:"
@@ -3389,21 +3164,17 @@ msgstr "或者選擇組合這些選項:"
#: src/lib/moderation/useReportOptions.ts:25
msgid "Other"
-msgstr ""
+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:184
+#: src/components/Lists.tsx:193
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "頁面不存在"
@@ -3412,8 +3183,8 @@ msgstr "頁面不存在"
msgid "Page Not Found"
msgstr "頁面不存在"
-#: src/screens/Login/LoginForm.tsx:178
-#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/screens/Login/LoginForm.tsx:195
+#: src/screens/Signup/StepInfo/index.tsx:102
#: src/view/com/modals/DeleteAccount.tsx:194
#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
@@ -3421,7 +3192,7 @@ msgstr "密碼"
#: src/view/com/modals/ChangePassword.tsx:142
msgid "Password Changed"
-msgstr ""
+msgstr "密碼已更改"
#: src/screens/Login/index.tsx:157
msgid "Password updated"
@@ -3431,11 +3202,19 @@ msgstr "密碼已更新"
msgid "Password updated!"
msgstr "密碼已更新!"
-#: src/Navigation.tsx:164
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Pause"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:438
+msgid "People"
+msgstr "人"
+
+#: src/Navigation.tsx:165
msgid "People followed by @{0}"
msgstr "被 @{0} 跟隨的人"
-#: src/Navigation.tsx:157
+#: src/Navigation.tsx:158
msgid "People following @{0}"
msgstr "跟隨 @{0} 的人"
@@ -3451,31 +3230,35 @@ 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:292
-#: 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:295
+#: src/view/screens/ProfileFeed.tsx:306
msgid "Pin to Home"
-msgstr ""
+msgstr "固定到首頁"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "固定訊息流列表"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:31
+msgid "Play"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "播放 {0}"
+#: src/view/com/util/post-embeds/GifEmbed.tsx:30
+msgid "Play or pause the GIF"
+msgstr ""
+
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
@@ -3505,25 +3288,13 @@ msgstr "更改前請先確認你的電子郵件地址。這是電子郵件更新
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: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/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} 的驗證碼。"
+msgstr "請輸入有效的詞彙或標籤進行靜音"
#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
@@ -3535,18 +3306,13 @@ 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 "請告訴我們你認為這個內容警告標示有誤的原因!"
+msgstr "請解釋你認為 {0} 不正確套用此標籤的原因"
-#: src/view/com/modals/VerifyEmail.tsx:101
+#: src/view/com/modals/VerifyEmail.tsx:109
msgid "Please Verify Your Email"
msgstr "請驗證你的電子郵件地址"
-#: src/view/com/composer/Composer.tsx:222
+#: src/view/com/composer/Composer.tsx:232
msgid "Please wait for your link card to finish loading"
msgstr "請等待你的連結卡載入完畢"
@@ -3558,12 +3324,8 @@ msgstr "政治"
msgid "Porn"
msgstr "情色內容"
-#: src/lib/moderation/useGlobalLabelStrings.ts:34
-#~ msgid "Pornography"
-#~ msgstr ""
-
-#: src/view/com/composer/Composer.tsx:367
-#: src/view/com/composer/Composer.tsx:375
+#: src/view/com/composer/Composer.tsx:399
+#: src/view/com/composer/Composer.tsx:407
msgctxt "action"
msgid "Post"
msgstr "發佈"
@@ -3573,17 +3335,17 @@ msgctxt "description"
msgid "Post"
msgstr "發佈"
-#: src/view/com/post-thread/PostThreadItem.tsx:175
+#: src/view/com/post-thread/PostThreadItem.tsx:176
msgid "Post by {0}"
msgstr "{0} 的貼文"
-#: src/Navigation.tsx:176
-#: src/Navigation.tsx:183
-#: src/Navigation.tsx:190
+#: src/Navigation.tsx:177
+#: src/Navigation.tsx:184
+#: src/Navigation.tsx:191
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 "貼文已刪除"
@@ -3594,12 +3356,12 @@ msgstr "貼文已隱藏"
#: src/components/moderation/ModerationDetailsDialog.tsx:97
#: src/lib/moderation/useModerationCauseDescription.ts:99
msgid "Post Hidden by Muted Word"
-msgstr ""
+msgstr "貼文因靜音詞彙設定而被靜音"
#: src/components/moderation/ModerationDetailsDialog.tsx:100
#: src/lib/moderation/useModerationCauseDescription.ts:108
msgid "Post Hidden by You"
-msgstr ""
+msgstr "你靜音了這則貼文"
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
@@ -3618,13 +3380,13 @@ msgstr "找不到貼文"
msgid "posts"
msgstr "貼文"
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:194
msgid "Posts"
msgstr "貼文"
#: 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"
@@ -3634,15 +3396,15 @@ msgstr "貼文已隱藏"
msgid "Potentially Misleading Link"
msgstr "潛在誤導性連結"
-#: src/components/forms/HostingProvider.tsx:45
+#: src/components/forms/HostingProvider.tsx:46
msgid "Press to change hosting provider"
-msgstr ""
+msgstr "按下以更改主機提供商"
-#: src/components/Error.tsx:74
-#: src/components/Lists.tsx:80
-#: src/screens/Signup/index.tsx:186
+#: src/components/Error.tsx:83
+#: src/components/Lists.tsx:83
+#: src/screens/Signup/index.tsx:187
msgid "Press to retry"
-msgstr ""
+msgstr "按下以重試"
#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
@@ -3656,16 +3418,16 @@ msgstr "主要語言"
msgid "Prioritize Your Follows"
msgstr "優先顯示跟隨者"
-#: src/view/screens/Settings/index.tsx:652
+#: src/view/screens/Settings/index.tsx:604
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "隱私"
-#: src/Navigation.tsx:231
+#: src/Navigation.tsx:232
#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:923
-#: src/view/shell/Drawer.tsx:265
+#: src/view/screens/Settings/index.tsx:882
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "隱私政策"
@@ -3674,15 +3436,15 @@ msgid "Processing..."
msgstr "處理中…"
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:342
+#: src/view/screens/Profile.tsx:346
msgid "profile"
msgstr "個人檔案"
-#: src/view/shell/bottom-bar/BottomBar.tsx:260
+#: 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:549
-#: src/view/shell/Drawer.tsx:550
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "個人檔案"
@@ -3690,7 +3452,7 @@ msgstr "個人檔案"
msgid "Profile updated"
msgstr "個人檔案已更新"
-#: src/view/screens/Settings/index.tsx:981
+#: src/view/screens/Settings/index.tsx:940
msgid "Protect your account by verifying your email."
msgstr "通過驗證電子郵件地址來保護你的帳號。"
@@ -3706,11 +3468,11 @@ msgstr "公開且可共享的批量靜音或封鎖列表。"
msgid "Public, shareable lists which can drive feeds."
msgstr "公開且可共享的列表,可作為訊息流使用。"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish post"
msgstr "發佈貼文"
-#: src/view/com/composer/Composer.tsx:352
+#: src/view/com/composer/Composer.tsx:384
msgid "Publish reply"
msgstr "發佈回覆"
@@ -3736,15 +3498,15 @@ msgstr "隨機顯示 (又名試試手氣)"
msgid "Ratios"
msgstr "比率"
-#: src/view/screens/Search/Search.tsx:777
+#: src/view/screens/Search/Search.tsx:855
msgid "Recent Searches"
-msgstr ""
+msgstr "最近的搜尋結果"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: 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 "推薦的使用者"
@@ -3757,21 +3519,17 @@ msgstr "推薦的使用者"
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/util/UserAvatar.tsx:358
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
-msgstr ""
+msgstr "刪除頭像"
#: src/view/com/util/UserBanner.tsx:148
msgid "Remove Banner"
-msgstr ""
+msgstr "刪除橫幅圖片"
#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
@@ -3779,46 +3537,38 @@ msgstr "刪除訊息流"
#: src/view/com/posts/FeedErrorMessage.tsx:201
msgid "Remove feed?"
-msgstr ""
+msgstr "刪除訊息流?"
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: 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 ""
+msgstr "從我的訊息流中刪除?"
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "刪除圖片"
-#: src/view/com/composer/ExternalEmbed.tsx:70
+#: src/view/com/composer/ExternalEmbed.tsx:82
msgid "Remove image preview"
msgstr "刪除圖片預覽"
#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
-msgstr ""
+msgstr "從你的列表中移除靜音詞"
#: 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: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 "將這個訊息流從儲存的訊息流列表中刪除?"
+msgstr "將這個訊息流從儲存的訊息流列表中刪除"
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
@@ -3829,15 +3579,15 @@ msgstr "從列表中刪除"
msgid "Removed from my feeds"
msgstr "從我的訊息流中刪除"
-#: src/view/screens/ProfileFeed.tsx:209
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
-msgstr ""
+msgstr "從你的訊息流中刪除"
-#: src/view/com/composer/ExternalEmbed.tsx:71
+#: src/view/com/composer/ExternalEmbed.tsx:83
msgid "Removes default thumbnail from {0}"
msgstr "從 {0} 中刪除預設縮略圖"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:195
msgid "Replies"
msgstr "回覆"
@@ -3845,7 +3595,7 @@ msgstr "回覆"
msgid "Replies to this thread are disabled"
msgstr "對此對話串的回覆已被停用"
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:397
msgctxt "action"
msgid "Reply"
msgstr "回覆"
@@ -3854,15 +3604,17 @@ msgstr "回覆"
msgid "Reply Filters"
msgstr "回覆過濾器"
-#: src/view/com/post/Post.tsx:166
-#: src/view/com/posts/FeedItem.tsx:280
-msgctxt "description"
-msgid "Reply to <0/>"
-msgstr "回覆 <0/>"
+#: 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/post/Post.tsx:178
+#: src/view/com/posts/FeedItem.tsx:285
+msgctxt "description"
+msgid "Reply to <0><1/>0>"
+msgstr ""
#: src/view/com/profile/ProfileMenu.tsx:319
#: src/view/com/profile/ProfileMenu.tsx:322
@@ -3871,41 +3623,41 @@ msgstr "檢舉帳號"
#: src/components/ReportDialog/index.tsx:49
msgid "Report dialog"
-msgstr ""
+msgstr "檢舉頁"
-#: src/view/screens/ProfileFeed.tsx:352
-#: src/view/screens/ProfileFeed.tsx:354
+#: 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:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:318
msgid "Report post"
msgstr "檢舉貼文"
#: src/components/ReportDialog/SelectReportOptionView.tsx:42
msgid "Report this content"
-msgstr ""
+msgstr "檢舉這個內容"
#: src/components/ReportDialog/SelectReportOptionView.tsx:55
msgid "Report this feed"
-msgstr ""
+msgstr "檢舉這個訊息流"
#: src/components/ReportDialog/SelectReportOptionView.tsx:52
msgid "Report this list"
-msgstr ""
+msgstr "檢舉這個列表"
#: src/components/ReportDialog/SelectReportOptionView.tsx:49
msgid "Report this post"
-msgstr ""
+msgstr "檢舉這則貼文"
#: src/components/ReportDialog/SelectReportOptionView.tsx:46
msgid "Report this user"
-msgstr ""
+msgstr "檢舉這個使用者"
#: src/view/com/modals/Repost.tsx:44
#: src/view/com/modals/Repost.tsx:49
@@ -3928,19 +3680,19 @@ msgstr "轉發或引用貼文"
msgid "Reposted By"
msgstr "轉發"
-#: src/view/com/posts/FeedItem.tsx:197
+#: 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 "由 <0><1/>0> 轉發"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "轉發你的貼文"
-#: src/view/com/post-thread/PostThreadItem.tsx:187
+#: src/view/com/post-thread/PostThreadItem.tsx:188
msgid "Reposts of this post"
msgstr "轉發這條貼文"
@@ -3949,23 +3701,28 @@ msgstr "轉發這條貼文"
msgid "Request Change"
msgstr "請求變更"
-#: src/view/com/auth/create/Step2.tsx:219
-#~ msgid "Request code"
-#~ 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:475
+#: src/view/screens/AccessibilitySettings.tsx:82
msgid "Require alt text before posting"
msgstr "要求發佈前提供替代文字"
+#: src/view/screens/Settings/Email2FAToggle.tsx:53
+msgid "Require email code to log into your account"
+msgstr ""
+
#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "提供商要求必填"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:168
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:171
+msgid "Resend email"
+msgstr ""
+
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "重設碼"
@@ -3974,12 +3731,8 @@ msgstr "重設碼"
msgid "Reset Code"
msgstr "重設碼"
-#: src/view/screens/Settings/index.tsx:824
-#~ msgid "Reset onboarding"
-#~ msgstr "重設初始設定進行狀態"
-
-#: src/view/screens/Settings/index.tsx:858
-#: src/view/screens/Settings/index.tsx:861
+#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:820
msgid "Reset onboarding state"
msgstr "重設初始設定進行狀態"
@@ -3987,24 +3740,20 @@ msgstr "重設初始設定進行狀態"
msgid "Reset password"
msgstr "重設密碼"
-#: src/view/screens/Settings/index.tsx:814
-#~ msgid "Reset preferences"
-#~ msgstr "重設偏好設定"
-
-#: src/view/screens/Settings/index.tsx:848
-#: src/view/screens/Settings/index.tsx:851
+#: src/view/screens/Settings/index.tsx:807
+#: src/view/screens/Settings/index.tsx:810
msgid "Reset preferences state"
-msgstr "重設偏好設定狀態"
+msgstr "重設設定偏好狀態"
-#: src/view/screens/Settings/index.tsx:859
+#: src/view/screens/Settings/index.tsx:818
msgid "Resets the onboarding state"
msgstr "重設初始設定狀態"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:808
msgid "Resets the preferences state"
-msgstr "重設偏好設定狀態"
+msgstr "重設設定偏好狀態"
-#: src/screens/Login/LoginForm.tsx:235
+#: src/screens/Login/LoginForm.tsx:283
msgid "Retries login"
msgstr "重試登入"
@@ -4013,39 +3762,31 @@ msgstr "重試登入"
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/components/Error.tsx:88
+#: src/components/Lists.tsx:94
+#: src/screens/Login/LoginForm.tsx:282
+#: src/screens/Login/LoginForm.tsx:289
#: src/screens/Onboarding/StepInterests/index.tsx:225
#: src/screens/Onboarding/StepInterests/index.tsx:228
-#: src/screens/Signup/index.tsx:193
+#: 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/components/Error.tsx:86
-#: src/view/screens/ProfileList.tsx:917
+#: src/components/Error.tsx:95
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "返回上一頁"
#: src/view/screens/NotFound.tsx:59
msgid "Returns to home page"
-msgstr ""
+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 "沙盒模式。貼文和帳號不會永久儲存。"
+msgstr "返回上一頁"
#: src/components/dialogs/BirthDateSettings.tsx:125
#: src/view/com/modals/ChangeHandle.tsx:174
@@ -4066,7 +3807,7 @@ msgstr "儲存替代文字"
#: src/components/dialogs/BirthDateSettings.tsx:119
msgid "Save birthday"
-msgstr ""
+msgstr "儲存生日"
#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
@@ -4080,22 +3821,22 @@ msgstr "儲存帳號代碼更改"
msgid "Save image crop"
msgstr "儲存圖片裁剪"
-#: src/view/screens/ProfileFeed.tsx:336
-#: src/view/screens/ProfileFeed.tsx:342
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
msgid "Save to my feeds"
-msgstr ""
+msgstr "儲存到我的訊息流"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "已儲存訊息流"
#: src/view/com/lightbox/Lightbox.tsx:81
msgid "Saved to your camera roll."
-msgstr ""
+msgstr "儲存到你的相機膠卷。"
-#: src/view/screens/ProfileFeed.tsx:213
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
-msgstr ""
+msgstr "儲存到你的訊息流"
#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
@@ -4107,53 +3848,45 @@ msgstr "儲存帳號代碼更改至 {handle}"
#: src/view/com/modals/crop-image/CropImage.web.tsx:146
msgid "Saves image crop settings"
-msgstr ""
+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/Navigation.tsx:460
#: 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:421
-#: src/view/screens/Search/Search.tsx:670
-#: src/view/screens/Search/Search.tsx:688
-#: src/view/shell/bottom-bar/BottomBar.tsx:169
+#: src/view/screens/Search/Search.tsx:503
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:766
+#: 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:365
-#: src/view/shell/Drawer.tsx:366
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "搜尋"
-#: src/view/screens/Search/Search.tsx:737
+#: src/view/screens/Search/Search.tsx:815
#: 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 ""
-
-#: src/components/TagMenu/index.tsx:145
-#~ msgid "Search for all posts by @{authorHandle} with tag {tag}"
-#~ msgstr ""
+msgstr "搜尋所有由 @{authorHandle} 發佈並具有標籤 {displayTag} 的貼文"
#: 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 ""
+msgstr "搜尋所有具有標籤 {displayTag} 的貼文"
#: src/view/com/auth/LoggedOut.tsx:105
#: src/view/com/auth/LoggedOut.tsx:106
@@ -4161,82 +3894,82 @@ msgstr ""
msgid "Search for users"
msgstr "搜尋使用者"
+#: src/components/dialogs/GifSelect.tsx:158
+msgid "Search GIFs"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:159
+msgid "Search Tenor"
+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 ""
+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 ""
-
-#: src/components/TagMenu/index.tsx:128
-#~ msgid "See <0>{tag}0> posts"
-#~ msgstr ""
+msgstr "查看這個使用者的 <0>{displayTag}0> 貼文"
-#: src/components/TagMenu/index.tsx:189
-#~ msgid "See <0>{tag}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:163
+#: 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/view/com/modals/ServerInput.tsx:75
-#~ msgid "Select Bluesky Social"
-#~ msgstr "選擇 Bluesky Social"
+msgstr "選擇帳號"
#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "從現有帳號中選擇"
+#: src/view/com/composer/photos/SelectGifBtn.tsx:36
+msgid "Select GIF"
+msgstr ""
+
+#: src/components/dialogs/GifSelect.tsx:253
+msgid "Select GIF \"{0}\""
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
-msgstr ""
+msgstr "選擇語言"
#: src/components/ReportDialog/SelectLabelerView.tsx:30
msgid "Select moderator"
-msgstr ""
+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: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: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."
@@ -4254,26 +3987,18 @@ msgstr "選擇你想看到(或不想看到)的內容,剩下的由我們來
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/view/screens/LanguageSettings.tsx:98
msgid "Select your app language for the default text to display in the app."
-msgstr ""
+msgstr "選擇你應用程式中要顯示的默認文字的語言。"
-#: src/screens/Signup/StepInfo/index.tsx:133
+#: src/screens/Signup/StepInfo/index.tsx:135
msgid "Select your date of birth"
-msgstr ""
+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 "選擇你在訂閱訊息流中希望進行翻譯的目標語言偏好。"
@@ -4286,8 +4011,8 @@ msgstr "選擇你的訊息流主要算法"
msgid "Select your secondary algorithmic feeds"
msgstr "選擇你的訊息流次要算法"
-#: src/view/com/modals/VerifyEmail.tsx:202
-#: src/view/com/modals/VerifyEmail.tsx:204
+#: src/view/com/modals/VerifyEmail.tsx:210
+#: src/view/com/modals/VerifyEmail.tsx:212
msgid "Send Confirmation Email"
msgstr "發送確認電子郵件"
@@ -4300,22 +4025,23 @@ msgctxt "action"
msgid "Send Email"
msgstr "發送電子郵件"
-#: src/view/shell/Drawer.tsx:298
-#: src/view/shell/Drawer.tsx:319
+#: 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 "提交舉報"
-
-#: src/view/com/modals/report/SendReportButton.tsx:45
-#~ msgid "Send Report"
-#~ msgstr "提交舉報"
+msgstr "提交檢舉"
#: src/components/ReportDialog/SelectLabelerView.tsx:44
msgid "Send report to {0}"
+msgstr "將檢舉提交至 {0}"
+
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:119
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:122
+msgid "Send verification email"
msgstr ""
#: src/view/com/modals/DeleteAccount.tsx:132
@@ -4326,48 +4052,14 @@ msgstr "發送包含帳號刪除確認碼的電子郵件"
msgid "Server address"
msgstr "伺服器地址"
-#: src/view/com/modals/ContentFilteringSettings.tsx:311
-#~ 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 "設定年齡"
-
#: src/screens/Moderation/index.tsx:304
msgid "Set birthdate"
-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 "設定深色模式至暗淡"
+msgstr "設定生日"
#: 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 "將此設定項設為「關」會隱藏來自訂閱訊息流的所有引用貼文。轉發仍將可見。"
@@ -4384,13 +4076,9 @@ 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 ""
+msgstr "將此設定為「是」以在你的追蹤訊息流中顯示你保存的訊息流。這是一個實驗性功能。"
#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
@@ -4400,56 +4088,47 @@ msgstr "設定你的帳號"
msgid "Sets Bluesky username"
msgstr "設定 Bluesky 使用者名稱"
-#: src/view/screens/Settings/index.tsx:507
+#: src/view/screens/Settings/index.tsx:436
msgid "Sets color theme to dark"
-msgstr ""
+msgstr "將色彩主題設定為深色"
-#: src/view/screens/Settings/index.tsx:500
+#: src/view/screens/Settings/index.tsx:429
msgid "Sets color theme to light"
-msgstr ""
+msgstr "將色彩主題設定為亮色"
-#: src/view/screens/Settings/index.tsx:494
+#: src/view/screens/Settings/index.tsx:423
msgid "Sets color theme to system setting"
-msgstr ""
+msgstr "將色彩主題設定為跟隨系統設定"
-#: src/view/screens/Settings/index.tsx:533
+#: src/view/screens/Settings/index.tsx:462
msgid "Sets dark theme to the dark theme"
-msgstr ""
+msgstr "將深色主題設定為深色"
-#: src/view/screens/Settings/index.tsx:526
+#: src/view/screens/Settings/index.tsx:455
msgid "Sets dark theme to the dim theme"
-msgstr ""
+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 ""
+msgstr "將圖片寬高比設定為正方形"
#: src/view/com/modals/crop-image/CropImage.web.tsx:114
msgid "Sets image aspect ratio to tall"
-msgstr ""
+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 用戶端的伺服器"
+msgstr "將圖像的寬高比設定為寬"
-#: src/Navigation.tsx:139
-#: src/view/screens/Settings/index.tsx:313
+#: src/Navigation.tsx:140
+#: src/view/screens/Settings/index.tsx:309
#: src/view/shell/desktop/LeftNav.tsx:437
-#: src/view/shell/Drawer.tsx:570
-#: src/view/shell/Drawer.tsx:571
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "設定"
@@ -4459,7 +4138,7 @@ msgstr "性行為或性暗示裸露。"
#: src/lib/moderation/useGlobalLabelStrings.ts:38
msgid "Sexually Suggestive"
-msgstr ""
+msgstr "性暗示"
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
@@ -4468,38 +4147,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:235
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:240
+#: src/view/com/util/forms/PostDropdownBtn.tsx:249
+#: 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/post-ctrls/PostCtrls.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:373
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
-msgstr ""
+msgstr "仍然分享"
-#: src/view/screens/ProfileFeed.tsx:362
-#: src/view/screens/ProfileFeed.tsx:364
+#: 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 ""
+msgstr "分享連結"
#: src/view/com/modals/LinkWarning.tsx:92
msgid "Shares the linked website"
-msgstr ""
+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:363
+#: src/view/screens/Settings/index.tsx:359
msgid "Show"
msgstr "顯示"
@@ -4515,23 +4194,19 @@ msgstr "仍然顯示"
#: src/lib/moderation/useLabelBehaviorDescription.ts:27
#: src/lib/moderation/useLabelBehaviorDescription.ts:63
msgid "Show badge"
-msgstr ""
+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} 的嵌入內容"
+msgstr "顯示徽章並從訊息流中篩選"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:198
msgid "Show follows similar to {0}"
msgstr "顯示類似於 {0} 的跟隨者"
#: src/view/com/post-thread/PostThreadItem.tsx:507
-#: src/view/com/post/Post.tsx:201
-#: src/view/com/posts/FeedItem.tsx:355
+#: src/view/com/post/Post.tsx:215
+#: src/view/com/posts/FeedItem.tsx:362
msgid "Show More"
msgstr "顯示更多"
@@ -4588,53 +4263,43 @@ msgstr "在跟隨中顯示轉發"
msgid "Show the content"
msgstr "顯示內容"
-#: src/view/com/notifications/FeedItem.tsx:351
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "顯示使用者"
#: src/lib/moderation/useLabelBehaviorDescription.ts:58
msgid "Show warning"
-msgstr ""
+msgstr "顯示警告"
#: 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 "顯示與該使用者相似的使用者列表。"
+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/HomeLoggedOutCTA.tsx:73
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
-#: src/view/com/auth/SplashScreen.tsx:81
-#: src/view/com/auth/SplashScreen.tsx:90
-#: src/view/com/auth/SplashScreen.web.tsx:110
-#: src/view/com/auth/SplashScreen.web.tsx:119
-#: src/view/shell/bottom-bar/BottomBar.tsx:300
+#: src/screens/Login/LoginForm.tsx:148
+#: 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:303
+#: 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:61
+#: src/view/shell/NavSignupCard.tsx:69
+#: src/view/shell/NavSignupCard.tsx:70
+#: src/view/shell/NavSignupCard.tsx:72
msgid "Sign in"
msgstr "登入"
-#: 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 "登入"
-
#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "以 {0} 登入"
@@ -4643,28 +4308,32 @@ msgstr "以 {0} 登入"
msgid "Sign in as..."
msgstr "登入為…"
-#: src/view/com/auth/login/LoginForm.tsx:140
-#~ msgid "Sign into"
-#~ 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 "登入 Bluesky 或建立新帳戶"
-#: src/view/screens/Settings/index.tsx:107
-#: src/view/screens/Settings/index.tsx:110
+#: src/view/screens/Settings/index.tsx:111
+#: src/view/screens/Settings/index.tsx:114
msgid "Sign out"
msgstr "登出"
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:291
-#: src/view/shell/bottom-bar/BottomBar.tsx:293
+#: 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:60
+#: src/view/shell/NavSignupCard.tsx:61
+#: src/view/shell/NavSignupCard.tsx:63
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 "註冊或登入以參與對話"
@@ -4673,7 +4342,7 @@ msgstr "註冊或登入以參與對話"
msgid "Sign-in Required"
msgstr "需要登入"
-#: src/view/screens/Settings/index.tsx:374
+#: src/view/screens/Settings/index.tsx:370
msgid "Signed in as"
msgstr "登入身分"
@@ -4681,10 +4350,6 @@ msgstr "登入身分"
msgid "Signed in as @{0}"
msgstr "以 @{0} 身分登入"
-#: src/view/com/modals/SwitchAccount.tsx:70
-#~ msgid "Signs {0} out of Bluesky"
-#~ msgstr "從 {0} 登出 Bluesky"
-
#: src/screens/Onboarding/StepInterests/index.tsx:239
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
@@ -4695,33 +4360,17 @@ msgstr "跳過"
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:76
+#: 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 "發生了一些問題。請檢查你的電子郵件,然後重試。"
+msgstr "發生了一些問題,請重試。"
-#: src/App.native.tsx:66
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr "抱歉!你的登入已過期。請重新登入。"
@@ -4735,15 +4384,15 @@ msgstr "對同一貼文的回覆進行排序:"
#: src/components/moderation/LabelsOnMeDialog.tsx:146
msgid "Source:"
-msgstr ""
+msgstr "來源:"
#: src/lib/moderation/useReportOptions.ts:65
msgid "Spam"
-msgstr ""
+msgstr "垃圾訊息"
#: src/lib/moderation/useReportOptions.ts:53
msgid "Spam; excessive mentions or replies"
-msgstr ""
+msgstr "垃圾訊息;過多的提及或回复"
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
@@ -4753,28 +4402,20 @@ msgstr "運動"
msgid "Square"
msgstr "方塊"
-#: src/view/com/modals/ServerInput.tsx:62
-#~ msgid "Staging"
-#~ msgstr "臨時"
-
-#: src/view/screens/Settings/index.tsx:903
+#: src/view/screens/Settings/index.tsx:862
msgid "Status page"
msgstr "狀態頁"
-#: src/screens/Signup/index.tsx:142
+#: src/screens/Signup/index.tsx:143
msgid "Step"
-msgstr ""
+msgstr "Step"
-#: src/view/com/auth/create/StepHeader.tsx:22
-#~ msgid "Step {0} of {numSteps}"
-#~ msgstr "第 {0} 步,共 {numSteps} 步"
-
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:288
msgid "Storage cleared, you need to restart the app now."
msgstr "已清除儲存資料,你需要立即重啟應用程式。"
-#: src/Navigation.tsx:211
-#: src/view/screens/Settings/index.tsx:831
+#: src/Navigation.tsx:212
+#: src/view/screens/Settings/index.tsx:790
msgid "Storybook"
msgstr "故事書"
@@ -4783,32 +4424,32 @@ msgstr "故事書"
msgid "Submit"
msgstr "提交"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "訂閱"
-#: src/screens/Profile/Sections/Labels.tsx:180
+#: src/screens/Profile/Sections/Labels.tsx:191
msgid "Subscribe to @{0} to use these labels:"
-msgstr ""
+msgstr "訂閱 @{0} 以使用這些標籤:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:221
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
-msgstr ""
+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:184
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
msgid "Subscribe to this labeler"
-msgstr ""
+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:376
+#: src/view/screens/Search/Search.tsx:476
msgid "Suggested Follows"
msgstr "推薦的跟隨者"
@@ -4820,48 +4461,40 @@ msgstr "為你推薦"
msgid "Suggestive"
msgstr "建議"
-#: src/Navigation.tsx:226
+#: src/Navigation.tsx:227
#: 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/components/dialogs/SwitchAccount.tsx:46
-#: src/components/dialogs/SwitchAccount.tsx:49
+#: src/components/dialogs/SwitchAccount.tsx:47
+#: src/components/dialogs/SwitchAccount.tsx:50
msgid "Switch Account"
msgstr "切換帳號"
-#: src/view/screens/Settings/index.tsx:139
+#: src/view/screens/Settings/index.tsx:143
msgid "Switch to {0}"
msgstr "切換到 {0}"
-#: src/view/screens/Settings/index.tsx:140
+#: src/view/screens/Settings/index.tsx:144
msgid "Switches the account you are logged in to"
msgstr "切換你登入的帳號"
-#: src/view/screens/Settings/index.tsx:491
+#: src/view/screens/Settings/index.tsx:420
msgid "System"
msgstr "系統"
-#: src/view/screens/Settings/index.tsx:819
+#: src/view/screens/Settings/index.tsx:778
msgid "System log"
msgstr "系統日誌"
#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
-msgstr ""
+msgstr "標籤"
#: src/components/TagMenu/index.tsx:78
msgid "Tag menu: {displayTag}"
-msgstr ""
-
-#: src/components/TagMenu/index.tsx:74
-#~ msgid "Tag menu: {tag}"
-#~ msgstr ""
+msgstr "標籤選單:{displayTag}"
#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
@@ -4879,11 +4512,11 @@ msgstr "科技"
msgid "Terms"
msgstr "條款"
-#: src/Navigation.tsx:236
+#: src/Navigation.tsx:237
#: src/screens/Signup/StepInfo/Policies.tsx:49
-#: src/view/screens/Settings/index.tsx:917
+#: src/view/screens/Settings/index.tsx:876
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:259
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "服務條款"
@@ -4891,7 +4524,7 @@ msgstr "服務條款"
#: src/lib/moderation/useReportOptions.ts:79
#: src/lib/moderation/useReportOptions.ts:87
msgid "Terms used violate community standards"
-msgstr ""
+msgstr "所使用的詞彙違反了社群標準"
#: src/components/dialogs/MutedWords.tsx:323
msgid "text"
@@ -4901,26 +4534,26 @@ msgstr "文字"
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 ""
+msgstr "謝謝,你的檢舉已提交。"
#: src/view/com/modals/ChangeHandle.tsx:465
msgid "That contains the following:"
-msgstr ""
+msgstr "其中包含以下內容:"
-#: src/screens/Signup/index.tsx:84
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "這個帳號代碼已被使用。"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:283
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: 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 ""
+msgstr "作者"
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
@@ -4932,11 +4565,11 @@ msgstr "版權政策已移動到 <0/>"
#: src/components/moderation/LabelsOnMeDialog.tsx:48
msgid "The following labels were applied to your account."
-msgstr ""
+msgstr "以下標籤已套用到你的帳戶。"
#: src/components/moderation/LabelsOnMeDialog.tsx:49
msgid "The following labels were applied to your content."
-msgstr ""
+msgstr "以下標籤已套用到你的內容。"
#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
@@ -4945,7 +4578,7 @@ 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 "此貼文可能已被刪除。"
+msgstr "這則貼文可能已被刪除。"
#: src/view/screens/PrivacyPolicy.tsx:33
msgid "The Privacy Policy has been moved to <0/>"
@@ -4963,8 +4596,8 @@ msgstr "服務條款已遷移到"
msgid "There are many feeds to try:"
msgstr "這裡有些訊息流你可以嘗試:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
-#: src/view/screens/ProfileFeed.tsx:544
+#: 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 "連線至伺服器時出現問題,請檢查你的網路連線並重試。"
@@ -4972,15 +4605,19 @@ msgstr "連線至伺服器時出現問題,請檢查你的網路連線並重試
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr "刪除訊息流時出現問題,請檢查你的網路連線並重試。"
-#: src/view/screens/ProfileFeed.tsx:218
+#: 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:245
-#: 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/components/dialogs/GifSelect.tsx:201
+msgid "There was an issue connecting to Tenor."
+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 "連線伺服器時出現問題"
@@ -5003,26 +4640,26 @@ 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 ""
+msgstr "提交你的檢舉時出現問題,請檢查你的網路連線。"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
-msgstr "與伺服器同步偏好設定時發生問題"
+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/screens/Profile/Header/ProfileHeaderStandard.tsx:103
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:139
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
@@ -5034,14 +4671,15 @@ 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 "發生問題了。請檢查你的網路連線並重試。"
-#: src/view/com/util/ErrorBoundary.tsx:51
+#: src/components/dialogs/GifSelect.tsx:289
+#: src/view/com/util/ErrorBoundary.tsx:57
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "應用程式中發生了意外問題。請告訴我們是否發生在你身上!"
@@ -5049,10 +4687,6 @@ 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:146
msgid "These are popular accounts you might like:"
msgstr "這裡是一些受歡迎的帳號,你可能會喜歡:"
@@ -5067,15 +4701,15 @@ msgstr "此帳號要求使用者登入後才能查看其個人資料。"
#: src/components/moderation/LabelsOnMeDialog.tsx:204
msgid "This appeal will be sent to <0>{0}0>."
-msgstr ""
+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/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
@@ -5090,21 +4724,17 @@ msgstr "由於其中一個使用者封鎖了另一個使用者,無法查看此
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>中了解更多有關匯出存放庫的資訊"
-
#: 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 ""
+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:477
-#: 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 "這個訊息流是空的!"
@@ -5116,62 +4746,62 @@ msgstr "這個訊息流是空的!你或許需要先跟隨更多的人或檢查
msgid "This information is not shared with other users."
msgstr "此資訊不會分享給其他使用者。"
-#: src/view/com/modals/VerifyEmail.tsx:119
+#: src/view/com/modals/VerifyEmail.tsx:127
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 ""
+msgstr "此標籤是由 {0} 套用的。"
-#: src/screens/Profile/Sections/Labels.tsx:167
+#: src/screens/Profile/Sections/Labels.tsx:178
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
-msgstr ""
+msgstr "此標籤者尚未宣告它發佈的標籤,可能不活躍。"
#: 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 "此列表為空!"
#: src/screens/Profile/ErrorState.tsx:40
msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
-msgstr ""
+msgstr "此限制服務暫時無法使用,詳情請見下文。如果問題持續存在,請與我們聯絡。"
#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr "此名稱已被使用"
-#: src/view/com/post-thread/PostThreadItem.tsx:125
+#: src/view/com/post-thread/PostThreadItem.tsx:126
msgid "This post has been deleted."
-msgstr "此貼文已被刪除。"
+msgstr "這則貼文已被刪除。"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+#: src/view/com/util/forms/PostDropdownBtn.tsx:370
+#: 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 ""
+msgstr "這則貼文僅對登入使用者可見。 未登入的人將看不到它。"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:352
msgid "This post will be hidden from feeds."
-msgstr ""
+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 ""
+msgstr "此個人資料僅對登入使用者可見。 未登入的人將看不到它。"
#: src/screens/Signup/StepInfo/Policies.tsx:37
msgid "This service has not provided terms of service or a privacy policy."
-msgstr ""
+msgstr "此服務尚未提供服務條款或隱私政策。"
#: src/view/com/modals/ChangeHandle.tsx:445
msgid "This should create a domain record at:"
-msgstr ""
+msgstr "這應該在以下位置創建一個域記錄:"
#: src/view/com/profile/ProfileFollowers.tsx:87
msgid "This user doesn't have any followers."
-msgstr ""
+msgstr "此使用者沒有任何追隨者。"
#: src/components/moderation/ModerationDetailsDialog.tsx:72
#: src/lib/moderation/useModerationCauseDescription.ts:68
@@ -5180,31 +4810,19 @@ 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/> 列表中。"
-
-#: src/view/com/modals/ModerationDetails.tsx:74
-#~ msgid "This user is included in the <0/> list which you have muted."
-#~ msgstr "此使用者包含在你已靜音的 <0/> 列表中。"
+msgstr "此用戶要求僅將其內容顯示給已登錄的用戶。"
#: src/components/moderation/ModerationDetailsDialog.tsx:55
msgid "This user is included in the <0>{0}0> list which you have blocked."
-msgstr ""
+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 ""
-
-#: src/view/com/modals/ModerationDetails.tsx:74
-#~ msgid "This user is included the <0/> list which you have muted."
-#~ msgstr "此使用者包含在你已靜音的 <0/> 列表中。"
+msgstr "此使用者包含在你已靜音的 <0>{0}0> 列表中。"
#: src/view/com/profile/ProfileFollows.tsx:87
msgid "This user isn't following anyone."
-msgstr ""
+msgstr "此使用者未跟隨任何人。"
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
@@ -5212,18 +4830,14 @@ msgstr "此警告僅適用於附帶媒體的貼文。"
#: 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 "這將在你的訊息流中隱藏此貼文。"
-
-#: src/view/screens/Settings/index.tsx:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Thread preferences"
-msgstr ""
+msgstr "對話串偏好"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:584
+#: src/view/screens/Settings/index.tsx:536
msgid "Thread Preferences"
msgstr "對話串偏好"
@@ -5231,17 +4845,21 @@ msgstr "對話串偏好"
msgid "Threaded Mode"
msgstr "對話串模式"
-#: src/Navigation.tsx:269
+#: src/Navigation.tsx:270
msgid "Threads Preferences"
msgstr "對話串偏好"
+#: src/view/screens/Settings/DisableEmail2FADialog.tsx:102
+msgid "To disable the email 2FA method, please verify your access to the email address."
+msgstr ""
+
#: src/components/ReportDialog/SelectLabelerView.tsx:33
msgid "To whom would you like to send this report?"
-msgstr ""
+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"
@@ -5249,7 +4867,12 @@ msgstr "切換下拉式選單"
#: src/screens/Moderation/index.tsx:332
msgid "Toggle to enable or disable adult content"
-msgstr ""
+msgstr "切換以啟用或禁用成人內容"
+
+#: src/screens/Hashtag.tsx:88
+#: src/view/screens/Search/Search.tsx:418
+msgid "Top"
+msgstr "最夯"
#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
@@ -5257,8 +4880,8 @@ msgstr "轉換"
#: src/view/com/post-thread/PostThreadItem.tsx:644
#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:224
msgid "Translate"
msgstr "翻譯"
@@ -5267,35 +4890,39 @@ msgctxt "action"
msgid "Try again"
msgstr "重試"
+#: src/view/screens/Settings/index.tsx:695
+msgid "Two-factor authentication"
+msgstr ""
+
#: src/view/com/modals/ChangeHandle.tsx:428
msgid "Type:"
-msgstr ""
+msgstr "類型:"
-#: src/view/screens/ProfileList.tsx:478
+#: 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/screens/Login/ForgotPasswordForm.tsx:74
#: src/screens/Login/index.tsx:78
-#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/LoginForm.tsx:136
#: src/screens/Login/SetNewPasswordForm.tsx:77
-#: src/screens/Signup/index.tsx:63
+#: 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:287
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:284
#: 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:186
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:184
msgctxt "action"
msgid "Unblock"
msgstr "取消封鎖"
@@ -5305,10 +4932,10 @@ msgstr "取消封鎖"
msgid "Unblock Account"
msgstr "取消封鎖"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:281
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
-msgstr ""
+msgstr "取消封鎖?"
#: src/view/com/modals/Repost.tsx:43
#: src/view/com/modals/Repost.tsx:56
@@ -5318,44 +4945,40 @@ msgid "Undo repost"
msgstr "取消轉發"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Unfollow"
-msgstr ""
+msgstr "取消跟隨"
#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr "取消跟隨"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:218
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/auth/create/state.ts:262
-#~ msgid "Unfortunately, you do not meet the requirements to create an account."
-#~ msgstr "很遺憾,你不符合建立帳號的要求。"
+msgstr "取消跟隨"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "取消喜歡"
-#: src/view/screens/ProfileFeed.tsx:573
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Unlike this feed"
-msgstr ""
+msgstr "取消喜歡這個訊息流"
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:579
+#: 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/ProfileMenu.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:284
@@ -5364,57 +4987,45 @@ 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 ""
-
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
msgid "Unmute thread"
msgstr "取消靜音對話串"
-#: src/view/screens/ProfileFeed.tsx:295
-#: 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:292
+#: src/view/screens/ProfileFeed.tsx:303
msgid "Unpin from home"
-msgstr ""
+msgstr "取消固定在首頁"
-#: src/view/screens/ProfileList.tsx:444
+#: 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:219
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
-msgstr ""
+msgstr "取消訂閱"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
-msgstr ""
+msgstr "取消訂閱這個標籤者"
#: src/lib/moderation/useReportOptions.ts:70
msgid "Unwanted Sexual Content"
-msgstr ""
+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 ""
+msgstr "更新至 {handle}"
#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
@@ -5424,36 +5035,36 @@ msgstr "更新中…"
msgid "Upload a text file to:"
msgstr "上傳文字檔案至:"
-#: src/view/com/util/UserAvatar.tsx:326
-#: src/view/com/util/UserAvatar.tsx:329
+#: 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 ""
+msgstr "從相機上傳"
-#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserAvatar.tsx:345
#: src/view/com/util/UserBanner.tsx:133
msgid "Upload from Files"
-msgstr ""
+msgstr "從檔案上傳"
-#: src/view/com/util/UserAvatar.tsx:337
-#: src/view/com/util/UserAvatar.tsx:341
+#: 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 ""
+msgstr "從圖庫上傳"
#: src/view/com/modals/ChangeHandle.tsx:408
msgid "Use a file on your server"
-msgstr ""
+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 用戶端,而無需提供你的帳號或密碼。"
+msgstr "使用應用程式專用密碼登入到其他 Bluesky 使用者端,而無需提供你的帳號或密碼。"
#: src/view/com/modals/ChangeHandle.tsx:517
msgid "Use bsky.social as hosting provider"
-msgstr ""
+msgstr "使用 bsky.social 作為主機提供商"
#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
@@ -5471,16 +5082,12 @@ msgstr "使用我的預設瀏覽器"
#: src/view/com/modals/ChangeHandle.tsx:400
msgid "Use the DNS panel"
-msgstr ""
+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:201
msgid "Used by:"
msgstr "使用者:"
@@ -5492,7 +5099,7 @@ msgstr "使用者被封鎖"
#: src/lib/moderation/useModerationCauseDescription.ts:48
msgid "User Blocked by \"{0}\""
-msgstr ""
+msgstr "使用者被\"{0}\"封鎖"
#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
@@ -5500,28 +5107,24 @@ msgstr "使用者被列表封鎖"
#: src/lib/moderation/useModerationCauseDescription.ts:66
msgid "User Blocking You"
-msgstr ""
+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: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 "你的使用者列表"
@@ -5537,11 +5140,11 @@ msgstr "使用者列表已更新"
msgid "User Lists"
msgstr "使用者列表"
-#: src/screens/Login/LoginForm.tsx:151
+#: src/screens/Login/LoginForm.tsx:168
msgid "Username or email address"
msgstr "使用者名稱或電子郵件地址"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
msgid "Users"
msgstr "使用者"
@@ -5555,29 +5158,25 @@ msgstr "「{0}」中的使用者"
#: src/components/LikesDialog.tsx:85
msgid "Users that have liked this content or profile"
-msgstr ""
+msgstr "喜歡此內容或個人資料的使用者"
#: src/view/com/modals/ChangeHandle.tsx:436
msgid "Value:"
-msgstr ""
-
-#: src/view/com/auth/create/Step2.tsx:243
-#~ msgid "Verification code"
-#~ msgstr "驗證碼"
+msgstr "值:"
#: src/view/com/modals/ChangeHandle.tsx:509
msgid "Verify {0}"
-msgstr ""
+msgstr "驗證 {0}"
-#: src/view/screens/Settings/index.tsx:942
+#: src/view/screens/Settings/index.tsx:901
msgid "Verify email"
msgstr "驗證電子郵件"
-#: src/view/screens/Settings/index.tsx:967
+#: src/view/screens/Settings/index.tsx:926
msgid "Verify my email"
msgstr "驗證我的電子郵件"
-#: src/view/screens/Settings/index.tsx:976
+#: src/view/screens/Settings/index.tsx:935
msgid "Verify My Email"
msgstr "驗證我的電子郵件"
@@ -5586,13 +5185,13 @@ msgstr "驗證我的電子郵件"
msgid "Verify New Email"
msgstr "驗證新的電子郵件"
-#: src/view/com/modals/VerifyEmail.tsx:103
+#: src/view/com/modals/VerifyEmail.tsx:111
msgid "Verify Your Email"
msgstr "驗證你的電子郵件"
-#: src/view/screens/Settings/index.tsx:893
+#: src/view/screens/Settings/index.tsx:852
msgid "Version {0}"
-msgstr ""
+msgstr "版本 {0}"
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
@@ -5606,13 +5205,13 @@ msgstr "查看{0}的頭貼"
msgid "View debug entry"
msgstr "查看除錯項目"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:131
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
msgid "View details"
-msgstr ""
+msgstr "查看詳細信息"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:126
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
msgid "View details for reporting a copyright violation"
-msgstr ""
+msgstr "查看詳細信息以檢舉侵權"
#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
@@ -5620,8 +5219,10 @@ msgstr "查看整個對話串"
#: src/components/moderation/LabelsOnMe.tsx:51
msgid "View information about these labels"
-msgstr ""
+msgstr "查看有關這些標籤的信息"
+#: src/components/ProfileHoverCard/index.web.tsx:379
+#: src/components/ProfileHoverCard/index.web.tsx:408
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "查看資料"
@@ -5632,11 +5233,11 @@ msgstr "查看頭像"
#: src/components/LabelingServiceCard/index.tsx:140
msgid "View the labeling service provided by @{0}"
-msgstr ""
+msgstr "查看由 @{0} 提供的標籤服務"
-#: src/view/screens/ProfileFeed.tsx:585
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
-msgstr ""
+msgstr "查看喜歡此訊息流的使用者"
#: src/view/com/modals/LinkWarning.tsx:89
#: src/view/com/modals/LinkWarning.tsx:95
@@ -5652,19 +5253,15 @@ msgstr "警告"
#: src/lib/moderation/useLabelBehaviorDescription.ts:48
msgid "Warn content"
-msgstr ""
+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 "我們認為你還會喜歡 Skygaze 維護的「For You」:"
+msgstr "警告內容並從訊息流中過濾"
-#: src/screens/Hashtag.tsx:133
+#: src/screens/Hashtag.tsx:210
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."
@@ -5680,7 +5277,7 @@ 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 ""
+msgstr "我們建議避免新增在許多貼文中常用的詞彙,因為這可能導致沒有貼文可顯示。"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
@@ -5688,11 +5285,11 @@ msgstr "我們推薦我們的「Discover」訊息流:"
#: src/components/dialogs/BirthDateSettings.tsx:52
msgid "We were unable to load your birth date preferences. Please try again."
-msgstr ""
+msgstr "我們無法加載你的出生日期設定偏好,請再試一次。"
#: src/screens/Moderation/index.tsx:385
msgid "We were unable to load your configured labelers at this time."
-msgstr ""
+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."
@@ -5702,38 +5299,34 @@ 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:142
msgid "We'll use this to help customize your experience."
msgstr "我們將使用這些資訊來幫助定制你的體驗。"
-#: src/screens/Signup/index.tsx:130
+#: 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: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:256
+#: src/view/screens/Search/Search.tsx:323
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/components/Lists.tsx:197
#: 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:321
+#: 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 ""
+msgstr "抱歉!你只能訂閱十個標籤者,你已達到十個的限制。"
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
@@ -5743,13 +5336,9 @@ msgstr "歡迎來到 <0>Bluesky0>"
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:58
-#: src/view/com/auth/SplashScreen.web.tsx:84
-#: src/view/com/composer/Composer.tsx:296
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:306
msgid "What's up?"
msgstr "發生了什麼新鮮事?"
@@ -5768,33 +5357,33 @@ msgstr "誰可以回覆"
#: src/components/ReportDialog/SelectReportOptionView.tsx:43
msgid "Why should this content be reviewed?"
-msgstr ""
+msgstr "為什麼應該審查這個內容?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:56
msgid "Why should this feed be reviewed?"
-msgstr ""
+msgstr "為什麼應該審查這個訊息流?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:53
msgid "Why should this list be reviewed?"
-msgstr ""
+msgstr "為什麼應該審查這個列表?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:50
msgid "Why should this post be reviewed?"
-msgstr ""
+msgstr "為什麼應該審查這則貼文?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:47
msgid "Why should this user be reviewed?"
-msgstr ""
+msgstr "為什麼應該審查這個使用者?"
#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "寬"
-#: src/view/com/composer/Composer.tsx:436
+#: src/view/com/composer/Composer.tsx:467
msgid "Write post"
msgstr "撰寫貼文"
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Composer.tsx:305
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "撰寫你的回覆"
@@ -5803,10 +5392,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
@@ -5823,7 +5408,7 @@ msgstr "輪到你了。"
#: src/view/com/profile/ProfileFollows.tsx:86
msgid "You are not following anyone."
-msgstr ""
+msgstr "你沒有跟隨任何人。"
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
@@ -5841,21 +5426,21 @@ msgstr "你現在可以使用新密碼登入。"
#: src/view/com/profile/ProfileFollowers.tsx:86
msgid "You do not have any followers."
-msgstr ""
+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 "你目前還沒有任何儲存的訊息流。"
@@ -5878,83 +5463,67 @@ msgstr "你輸入的邀請碼無效。它應該長得像這樣 XXXXX-XXXXX。"
#: src/lib/moderation/useModerationCauseDescription.ts:109
msgid "You have hidden this post"
-msgstr ""
+msgstr "你已隱藏這則貼文"
#: src/components/moderation/ModerationDetailsDialog.tsx:101
msgid "You have hidden this post."
-msgstr ""
+msgstr "你已隱藏這則貼文。"
#: src/components/moderation/ModerationDetailsDialog.tsx:94
#: src/lib/moderation/useModerationCauseDescription.ts:92
msgid "You have muted this account."
-msgstr ""
+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 "你已將這個使用者靜音。"
+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
+#: src/view/screens/ModerationBlockedAccounts.tsx:137
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 "你還沒有封鎖任何帳號。要封鎖帳號,請轉到其個人資料並在其帳號上的選單中選擇「封鎖帳號」。"
+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
+#: 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 "你還沒有靜音任何帳號。要靜音帳號,請轉到其個人資料並在其帳號上的選單中選擇「靜音帳號」。"
+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 ""
+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 "你必須年滿 18 歲才能啟用成人內容。"
+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 ""
+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 "你將收到這條對話串的通知"
@@ -5979,13 +5548,13 @@ 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 ""
+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:150
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "你的帳號"
@@ -5997,7 +5566,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/screens/Signup/StepInfo/index.tsx:121
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "你的生日"
@@ -6015,15 +5584,11 @@ msgstr "你的預設訊息流為「跟隨」"
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 "你的電子郵件地址已更新但尚未驗證。作為下一步,請驗證你的新電子郵件地址。"
-#: src/view/com/modals/VerifyEmail.tsx:114
+#: src/view/com/modals/VerifyEmail.tsx:122
msgid "Your email has not yet been verified. This is an important security step which we recommend."
msgstr "你的電子郵件地址尚未驗證。這是一個我們建議的重要安全步驟。"
@@ -6031,7 +5596,7 @@ msgstr "你的電子郵件地址尚未驗證。這是一個我們建議的重要
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "你的跟隨訊息流是空的!跟隨更多使用者看看發生了什麼事情。"
-#: src/screens/Signup/StepHandle.tsx:72
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "你的完整帳號代碼將修改為"
@@ -6039,21 +5604,15 @@ msgstr "你的完整帳號代碼將修改為"
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:220
msgid "Your muted words"
-msgstr ""
+msgstr "你的靜音詞"
#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
msgstr "你的密碼已成功更改!"
-#: src/view/com/composer/Composer.tsx:284
+#: src/view/com/composer/Composer.tsx:294
msgid "Your post has been published"
msgstr "你的貼文已發佈"
@@ -6063,14 +5622,14 @@ msgstr "你的貼文已發佈"
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "你的貼文、按喜歡和封鎖是公開可見的,而靜音是私人的。"
-#: src/view/screens/Settings/index.tsx:125
+#: src/view/screens/Settings/index.tsx:129
msgid "Your profile"
msgstr "你的個人資料"
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:293
msgid "Your reply has been published"
msgstr "你的回覆已發佈"
-#: src/screens/Signup/index.tsx:152
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
msgstr "你的帳號代碼"
diff --git a/src/platform/detection.ts b/src/platform/detection.ts
index 150fc1fe33..de4dfc07b9 100644
--- a/src/platform/detection.ts
+++ b/src/platform/detection.ts
@@ -1,5 +1,6 @@
import {Platform} from 'react-native'
import {getLocales} from 'expo-localization'
+
import {dedupArray} from 'lib/functions'
export const isIOS = Platform.OS === 'ios'
@@ -18,3 +19,8 @@ export const deviceLocales = dedupArray(
.map?.(locale => locale.languageCode)
.filter(code => typeof code === 'string'),
) as string[]
+
+export const prefersReducedMotion =
+ isWeb &&
+ // @ts-ignore we know window exists -prf
+ !global.window.matchMedia('(prefers-reduced-motion: no-preference)')?.matches
diff --git a/src/routes.ts b/src/routes.ts
index f6f3729475..1a9b344d87 100644
--- a/src/routes.ts
+++ b/src/routes.ts
@@ -29,6 +29,7 @@ export const router = new Router({
PreferencesFollowingFeed: '/settings/following-feed',
PreferencesThreads: '/settings/threads',
PreferencesExternalEmbeds: '/settings/external-embeds',
+ AccessibilitySettings: '/settings/accessibility',
SavedFeeds: '/settings/saved-feeds',
Support: '/support',
PrivacyPolicy: '/support/privacy',
@@ -36,4 +37,7 @@ export const router = new Router({
CommunityGuidelines: '/support/community-guidelines',
CopyrightPolicy: '/support/copyright',
Hashtag: '/hashtag/:tag',
+ MessagesList: '/messages',
+ MessagesSettings: '/messages/settings',
+ MessagesConversation: '/messages/:conversation',
})
diff --git a/src/screens/Deactivated.tsx b/src/screens/Deactivated.tsx
index 7e87973cb4..c2bac7715e 100644
--- a/src/screens/Deactivated.tsx
+++ b/src/screens/Deactivated.tsx
@@ -1,20 +1,20 @@
import React from 'react'
import {View} from 'react-native'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
-import {useLingui} from '@lingui/react'
import {msg, Trans} from '@lingui/macro'
-import {useOnboardingDispatch} from '#/state/shell'
-import {getAgent, isSessionDeactivated, useSessionApi} from '#/state/session'
-import {logger} from '#/logger'
-import {pluralize} from '#/lib/strings/helpers'
+import {useLingui} from '@lingui/react'
-import {atoms as a, useTheme, useBreakpoints} from '#/alf'
-import {Button, ButtonIcon, ButtonText} from '#/components/Button'
-import {Text, P} from '#/components/Typography'
+import {pluralize} from '#/lib/strings/helpers'
+import {logger} from '#/logger'
import {isWeb} from '#/platform/detection'
+import {isSessionDeactivated, useAgent, useSessionApi} from '#/state/session'
+import {useOnboardingDispatch} from '#/state/shell'
import {ScrollView} from '#/view/com/util/Views'
-import {Loader} from '#/components/Loader'
import {Logo} from '#/view/icons/Logo'
+import {atoms as a, useBreakpoints, useTheme} from '#/alf'
+import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+import {Loader} from '#/components/Loader'
+import {P, Text} from '#/components/Typography'
const COL_WIDTH = 400
@@ -25,6 +25,7 @@ export function Deactivated() {
const {gtMobile} = useBreakpoints()
const onboardingDispatch = useOnboardingDispatch()
const {logout} = useSessionApi()
+ const {getAgent} = useAgent()
const [isProcessing, setProcessing] = React.useState(false)
const [estimatedTime, setEstimatedTime] = React.useState(
@@ -56,7 +57,13 @@ export function Deactivated() {
} finally {
setProcessing(false)
}
- }, [setProcessing, setEstimatedTime, setPlaceInQueue, onboardingDispatch])
+ }, [
+ setProcessing,
+ setEstimatedTime,
+ setPlaceInQueue,
+ onboardingDispatch,
+ getAgent,
+ ])
React.useEffect(() => {
checkStatus()
diff --git a/src/screens/Hashtag.tsx b/src/screens/Hashtag.tsx
index 5388593f14..34539f5102 100644
--- a/src/screens/Hashtag.tsx
+++ b/src/screens/Hashtag.tsx
@@ -1,11 +1,12 @@
import React from 'react'
-import {ListRenderItemInfo, Pressable} from 'react-native'
+import {ListRenderItemInfo, Pressable, StyleSheet, View} from 'react-native'
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 {usePalette} from '#/lib/hooks/usePalette'
import {HITSLOP_10} from 'lib/constants'
import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
import {CommonNavigatorParams} from 'lib/routes/types'
@@ -13,18 +14,17 @@ 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 {isNative, isWeb} from 'platform/detection'
import {useSearchPostsQuery} from 'state/queries/search-posts'
-import {useSetMinimalShellMode} from 'state/shell'
+import {useSetDrawerSwipeDisabled, useSetMinimalShellMode} from 'state/shell'
+import {Pager} from '#/view/com/pager/Pager'
+import {TabBar} from '#/view/com/pager/TabBar'
+import {CenteredView} from '#/view/com/util/Views'
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 {ListFooter, ListMaybePlaceholder} from '#/components/Lists'
const renderItem = ({item}: ListRenderItemInfo) => {
return
@@ -38,20 +38,13 @@ export default function HashtagScreen({
route,
}: NativeStackScreenProps) {
const {tag, author} = route.params
- const setMinimalShellMode = useSetMinimalShellMode()
const {_} = useLingui()
- const initialNumToRender = useInitialNumToRender()
- const [isPTR, setIsPTR] = React.useState(false)
+ const pal = usePalette('default')
const fullTag = React.useMemo(() => {
return `#${decodeURIComponent(tag)}`
}, [tag])
- const queryParam = React.useMemo(() => {
- if (!author) return fullTag
- return `${fullTag} from:${sanitizeHandle(author)}`
- }, [fullTag, author])
-
const headerTitle = React.useMemo(() => {
return enforceLen(fullTag.toLowerCase(), 24, true, 'middle')
}, [fullTag])
@@ -61,8 +54,127 @@ export default function HashtagScreen({
return sanitizeHandle(author)
}, [author])
+ const onShare = React.useCallback(() => {
+ const url = new URL('https://bsky.app')
+ url.pathname = `/hashtag/${decodeURIComponent(tag)}`
+ if (author) {
+ url.searchParams.set('author', author)
+ }
+ shareUrl(url.toString())
+ }, [tag, author])
+
+ const [activeTab, setActiveTab] = React.useState(0)
+ const setMinimalShellMode = useSetMinimalShellMode()
+ const setDrawerSwipeDisabled = useSetDrawerSwipeDisabled()
+
+ useFocusEffect(
+ React.useCallback(() => {
+ setMinimalShellMode(false)
+ }, [setMinimalShellMode]),
+ )
+
+ const onPageSelected = React.useCallback(
+ (index: number) => {
+ setMinimalShellMode(false)
+ setDrawerSwipeDisabled(index > 0)
+ setActiveTab(index)
+ },
+ [setDrawerSwipeDisabled, setMinimalShellMode],
+ )
+
+ const sections = React.useMemo(() => {
+ return [
+ {
+ title: _(msg`Top`),
+ component: (
+
+ ),
+ },
+ {
+ title: _(msg`Latest`),
+ component: (
+
+ ),
+ },
+ ]
+ }, [_, fullTag, author, activeTab])
+
+ return (
+ <>
+
+ (
+
+
+
+ )
+ : undefined
+ }
+ />
+
+ (
+
+ section.title)} {...props} />
+
+ )}
+ initialPage={0}>
+ {sections.map((section, i) => (
+ {section.component}
+ ))}
+
+ >
+ )
+}
+
+function HashtagScreenTab({
+ fullTag,
+ author,
+ sort,
+ active,
+}: {
+ fullTag: string
+ author: string | undefined
+ sort: 'top' | 'latest'
+ active: boolean
+}) {
+ const {_} = useLingui()
+ const initialNumToRender = useInitialNumToRender()
+ const [isPTR, setIsPTR] = React.useState(false)
+
+ const queryParam = React.useMemo(() => {
+ if (!author) return fullTag
+ return `${fullTag} from:${sanitizeHandle(author)}`
+ }, [fullTag, author])
+
const {
data,
+ isFetched,
isFetchingNextPage,
isLoading,
isError,
@@ -70,27 +182,12 @@ export default function HashtagScreen({
refetch,
fetchNextPage,
hasNextPage,
- } = useSearchPostsQuery({query: queryParam})
+ } = useSearchPostsQuery({query: queryParam, sort, enabled: active})
const posts = React.useMemo(() => {
return data?.pages.flatMap(page => page.posts) || []
}, [data])
- useFocusEffect(
- React.useCallback(() => {
- setMinimalShellMode(false)
- }, [setMinimalShellMode]),
- )
-
- const onShare = React.useCallback(() => {
- const url = new URL('https://bsky.app')
- url.pathname = `/hashtag/${decodeURIComponent(tag)}`
- if (author) {
- url.searchParams.set('author', author)
- }
- shareUrl(url.toString())
- }, [tag, author])
-
const onRefresh = React.useCallback(async () => {
setIsPTR(true)
await refetch()
@@ -104,29 +201,9 @@ export default function HashtagScreen({
return (
<>
- (
-
-
-
- )
- : undefined
- }
- />
{posts.length < 1 ? (
- }
ListFooterComponent={
)
}
+
+const styles = StyleSheet.create({
+ tabBarContainer: {
+ // @ts-ignore web only
+ position: isWeb ? 'sticky' : '',
+ top: 0,
+ zIndex: 1,
+ },
+})
diff --git a/src/screens/Login/ForgotPasswordForm.tsx b/src/screens/Login/ForgotPasswordForm.tsx
index ec30bab4a8..e69de29bb2 100644
--- a/src/screens/Login/ForgotPasswordForm.tsx
+++ b/src/screens/Login/ForgotPasswordForm.tsx
@@ -1,184 +0,0 @@
-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/LoginForm.tsx b/src/screens/Login/LoginForm.tsx
index 711619e85c..6f20354be0 100644
--- a/src/screens/Login/LoginForm.tsx
+++ b/src/screens/Login/LoginForm.tsx
@@ -1,30 +1,16 @@
-import React, {useRef, useState} from 'react'
-import {
- ActivityIndicator,
- Keyboard,
- LayoutAnimation,
- TextInput,
- View,
-} from 'react-native'
+import React from 'react'
+import {Keyboard, 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 {useLogin} from '#/screens/Login/hooks/useLogin'
+import {atoms as a} 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 {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
@@ -33,100 +19,26 @@ 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 {openAuthSession} = useLogin()
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}>
@@ -139,84 +51,8 @@ export const LoginForm = ({
onOpenDialog={onPressSelectService}
/>
-
-
- 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}
+
+
+ Sign In
+
+
)
diff --git a/src/screens/Login/PasswordUpdatedForm.tsx b/src/screens/Login/PasswordUpdatedForm.tsx
deleted file mode 100644
index 5407f3f1e3..0000000000
--- a/src/screens/Login/PasswordUpdatedForm.tsx
+++ /dev/null
@@ -1,50 +0,0 @@
-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/SetNewPasswordForm.tsx b/src/screens/Login/SetNewPasswordForm.tsx
index 88f7ec5416..e69de29bb2 100644
--- a/src/screens/Login/SetNewPasswordForm.tsx
+++ b/src/screens/Login/SetNewPasswordForm.tsx
@@ -1,192 +0,0 @@
-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/hooks/package.json b/src/screens/Login/hooks/package.json
new file mode 100644
index 0000000000..3a1fb0a9b1
--- /dev/null
+++ b/src/screens/Login/hooks/package.json
@@ -0,0 +1,14 @@
+{
+ "name": "hooks",
+ "version": "1.0.0",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/bluesky-social/social-app.git"
+ },
+ "private": true
+}
diff --git a/src/screens/Login/hooks/useLogin.ts b/src/screens/Login/hooks/useLogin.ts
new file mode 100644
index 0000000000..1aa01b040d
--- /dev/null
+++ b/src/screens/Login/hooks/useLogin.ts
@@ -0,0 +1,48 @@
+import React from 'react'
+import * as Browser from 'expo-web-browser'
+
+import {
+ DPOP_BOUND_ACCESS_TOKENS,
+ OAUTH_APPLICATION_TYPE,
+ OAUTH_CLIENT_ID,
+ OAUTH_GRANT_TYPES,
+ OAUTH_REDIRECT_URI,
+ OAUTH_RESPONSE_TYPES,
+ OAUTH_SCOPE,
+} from 'lib/oauth'
+import {RNOAuthClientFactory} from '../../../../modules/expo-bluesky-oauth-client/src/react-native-oauth-client-factory.native'
+
+// Service URL here is just a placeholder, this isn't how it will actually work
+export function useLogin() {
+ const openAuthSession = React.useCallback(async () => {
+ const oauthFactory = new RNOAuthClientFactory({
+ clientMetadata: {
+ client_id: OAUTH_CLIENT_ID,
+ redirect_uris: [OAUTH_REDIRECT_URI],
+ grant_types: OAUTH_GRANT_TYPES,
+ response_types: OAUTH_RESPONSE_TYPES,
+ scope: OAUTH_SCOPE,
+ dpop_bound_access_tokens: DPOP_BOUND_ACCESS_TOKENS,
+ application_type: OAUTH_APPLICATION_TYPE,
+ },
+ fetch: global.fetch,
+ })
+
+ const url = await oauthFactory.signIn('http://localhost:2583/')
+
+ console.log(url.href)
+
+ const authSession = await Browser.openAuthSessionAsync(
+ url.href,
+ OAUTH_REDIRECT_URI,
+ )
+
+ if (authSession.type !== 'success') {
+ return
+ }
+ }, [])
+
+ return {
+ openAuthSession,
+ }
+}
diff --git a/src/screens/Login/hooks/useLogin.web.ts b/src/screens/Login/hooks/useLogin.web.ts
new file mode 100644
index 0000000000..6c16bc1810
--- /dev/null
+++ b/src/screens/Login/hooks/useLogin.web.ts
@@ -0,0 +1,13 @@
+import React from 'react'
+
+export function useLogin(serviceUrl: string | undefined) {
+ const openAuthSession = React.useCallback(async () => {
+ if (!serviceUrl) return
+
+ window.location.href = serviceUrl
+ }, [serviceUrl])
+
+ return {
+ openAuthSession,
+ }
+}
diff --git a/src/screens/Login/index.tsx b/src/screens/Login/index.tsx
index 1fce63d298..42b355a730 100644
--- a/src/screens/Login/index.tsx
+++ b/src/screens/Login/index.tsx
@@ -4,17 +4,13 @@ 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'
@@ -22,16 +18,12 @@ 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,
@@ -41,9 +33,6 @@ export const Login = ({onPressBack}: {onPressBack: () => void}) => {
const [serviceUrl, setServiceUrl] = React.useState(
requestedAccount?.service || DEFAULT_SERVICE,
)
- const [initialHandle, setInitialHandle] = React.useState(
- requestedAccount?.handle || '',
- )
const [currentForm, setCurrentForm] = React.useState(
requestedAccount
? Forms.Login
@@ -62,7 +51,7 @@ export const Login = ({onPressBack}: {onPressBack: () => void}) => {
if (account?.service) {
setServiceUrl(account.service)
}
- setInitialHandle(account?.handle || '')
+ // TODO set the service URL. We really need to fix this though in general
setCurrentForm(Forms.Login)
}
@@ -86,11 +75,6 @@ export const Login = ({onPressBack}: {onPressBack: () => void}) => {
}
}, [serviceError, serviceUrl, _])
- const onPressForgotPassword = () => {
- track('Signin:PressedForgotPassword')
- setCurrentForm(Forms.ForgotPassword)
- }
-
let content = null
let title = ''
let description = ''
@@ -104,13 +88,11 @@ export const Login = ({onPressBack}: {onPressBack: () => void}) => {
error={error}
serviceUrl={serviceUrl}
serviceDescription={serviceDescription}
- initialHandle={initialHandle}
setError={setError}
setServiceUrl={setServiceUrl}
onPressBack={() =>
accounts.length ? gotoForm(Forms.ChooseAccount) : onPressBack()
}
- onPressForgotPassword={onPressForgotPassword}
onPressRetryConnect={refetchService}
/>
)
@@ -125,41 +107,6 @@ export const Login = ({onPressBack}: {onPressBack: () => void}) => {
/>
)
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 (
diff --git a/src/screens/Messages/Conversation/index.tsx b/src/screens/Messages/Conversation/index.tsx
new file mode 100644
index 0000000000..239425a2f5
--- /dev/null
+++ b/src/screens/Messages/Conversation/index.tsx
@@ -0,0 +1,32 @@
+import React from 'react'
+import {View} from 'react-native'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {NativeStackScreenProps} from '@react-navigation/native-stack'
+
+import {CommonNavigatorParams} from '#/lib/routes/types'
+import {useGate} from '#/lib/statsig/statsig'
+import {ViewHeader} from '#/view/com/util/ViewHeader'
+import {ClipClopGate} from '../gate'
+
+type Props = NativeStackScreenProps<
+ CommonNavigatorParams,
+ 'MessagesConversation'
+>
+export function MessagesConversationScreen({route}: Props) {
+ const chatId = route.params.conversation
+ const {_} = useLingui()
+
+ const gate = useGate()
+ if (!gate('dms')) return
+
+ return (
+
+
+
+ )
+}
diff --git a/src/screens/Messages/List/index.tsx b/src/screens/Messages/List/index.tsx
new file mode 100644
index 0000000000..c4490aa5c5
--- /dev/null
+++ b/src/screens/Messages/List/index.tsx
@@ -0,0 +1,229 @@
+import React, {useCallback, useState} from 'react'
+import {View} from 'react-native'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {NativeStackScreenProps} from '@react-navigation/native-stack'
+import {useInfiniteQuery} from '@tanstack/react-query'
+
+import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender'
+import {MessagesTabNavigatorParams} from '#/lib/routes/types'
+import {useGate} from '#/lib/statsig/statsig'
+import {cleanError} from '#/lib/strings/errors'
+import {logger} from '#/logger'
+import {useAgent} from '#/state/session'
+import {List} from '#/view/com/util/List'
+import {PreviewableUserAvatar} from '#/view/com/util/UserAvatar'
+import {ViewHeader} from '#/view/com/util/ViewHeader'
+import {useTheme} from '#/alf'
+import {atoms as a} from '#/alf'
+import {SettingsSliderVertical_Stroke2_Corner0_Rounded as SettingsSlider} from '#/components/icons/SettingsSlider'
+import {Link} from '#/components/Link'
+import {ListFooter, ListMaybePlaceholder} from '#/components/Lists'
+import {Text} from '#/components/Typography'
+import {ClipClopGate} from '../gate'
+
+type Props = NativeStackScreenProps
+export function MessagesListScreen({}: Props) {
+ const {_} = useLingui()
+ const t = useTheme()
+
+ const renderButton = useCallback(() => {
+ return (
+
+
+
+ )
+ }, [_, t.atoms.text])
+
+ const initialNumToRender = useInitialNumToRender()
+ const [isPTRing, setIsPTRing] = useState(false)
+
+ const {
+ data,
+ isLoading,
+ isFetchingNextPage,
+ hasNextPage,
+ fetchNextPage,
+ error,
+ refetch,
+ } = usePlaceholderConversations()
+
+ const isError = !!error
+
+ const conversations = React.useMemo(() => {
+ if (data?.pages) {
+ return data.pages.flat()
+ }
+ return []
+ }, [data])
+
+ const onRefresh = React.useCallback(async () => {
+ setIsPTRing(true)
+ try {
+ await refetch()
+ } catch (err) {
+ logger.error('Failed to refresh conversations', {message: err})
+ }
+ setIsPTRing(false)
+ }, [refetch, setIsPTRing])
+
+ const onEndReached = React.useCallback(async () => {
+ if (isFetchingNextPage || !hasNextPage || isError) return
+ try {
+ await fetchNextPage()
+ } catch (err) {
+ logger.error('Failed to load more conversations', {message: err})
+ }
+ }, [isFetchingNextPage, hasNextPage, isError, fetchNextPage])
+
+ const gate = useGate()
+ if (!gate('dms')) return
+
+ if (conversations.length < 1) {
+ return (
+
+ )
+ }
+
+ return (
+
+
+ {
+ return (
+
+
+
+
+
+
+ {item.profile.displayName || item.profile.handle}
+ {' '}
+
+ @{item.profile.handle}
+
+
+ {item.unread && (
+
+ )}
+
+
+ {item.lastMessage}
+
+
+
+ )
+ }}
+ keyExtractor={item => item.profile.did}
+ refreshing={isPTRing}
+ onRefresh={onRefresh}
+ onEndReached={onEndReached}
+ ListFooterComponent={
+
+ }
+ onEndReachedThreshold={3}
+ initialNumToRender={initialNumToRender}
+ windowSize={11}
+ />
+
+ )
+}
+
+function usePlaceholderConversations() {
+ const {getAgent} = useAgent()
+
+ return useInfiniteQuery({
+ queryKey: ['messages'],
+ queryFn: async () => {
+ const people = await getAgent().getProfiles({actors: PLACEHOLDER_PEOPLE})
+ return people.data.profiles.map(profile => ({
+ profile,
+ unread: Math.random() > 0.5,
+ lastMessage: getRandomPost(),
+ }))
+ },
+ initialPageParam: undefined,
+ getNextPageParam: () => undefined,
+ })
+}
+
+const PLACEHOLDER_PEOPLE = [
+ 'pfrazee.com',
+ 'haileyok.com',
+ 'danabra.mov',
+ 'esb.lol',
+ 'samuel.bsky.team',
+]
+
+function getRandomPost() {
+ const num = Math.floor(Math.random() * 10)
+ switch (num) {
+ case 0:
+ return 'hello'
+ case 1:
+ return 'lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua'
+ case 2:
+ return 'banger post'
+ case 3:
+ return 'lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua'
+ case 4:
+ return 'lol look at this bug'
+ case 5:
+ return 'wow'
+ case 6:
+ return "that's pretty cool, wow!"
+ case 7:
+ return 'I think this is a bug'
+ case 8:
+ return 'Hello World!'
+ case 9:
+ return 'DMs when???'
+ default:
+ return 'this is unlikely'
+ }
+}
diff --git a/src/screens/Messages/Settings/index.tsx b/src/screens/Messages/Settings/index.tsx
new file mode 100644
index 0000000000..bd093c7927
--- /dev/null
+++ b/src/screens/Messages/Settings/index.tsx
@@ -0,0 +1,24 @@
+import React from 'react'
+import {View} from 'react-native'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {NativeStackScreenProps} from '@react-navigation/native-stack'
+
+import {CommonNavigatorParams} from '#/lib/routes/types'
+import {useGate} from '#/lib/statsig/statsig'
+import {ViewHeader} from '#/view/com/util/ViewHeader'
+import {ClipClopGate} from '../gate'
+
+type Props = NativeStackScreenProps
+export function MessagesSettingsScreen({}: Props) {
+ const {_} = useLingui()
+
+ const gate = useGate()
+ if (!gate('dms')) return
+
+ return (
+
+
+
+ )
+}
diff --git a/src/screens/Messages/gate.tsx b/src/screens/Messages/gate.tsx
new file mode 100644
index 0000000000..f225a0c9d1
--- /dev/null
+++ b/src/screens/Messages/gate.tsx
@@ -0,0 +1,17 @@
+import React from 'react'
+import {Text, View} from 'react-native'
+
+export function ClipClopGate() {
+ return (
+
+ 🐴
+ Nice try
+
+ )
+}
diff --git a/src/screens/Onboarding/StepFinished.tsx b/src/screens/Onboarding/StepFinished.tsx
index 56635c672d..e7054fb1ff 100644
--- a/src/screens/Onboarding/StepFinished.tsx
+++ b/src/screens/Onboarding/StepFinished.tsx
@@ -8,7 +8,7 @@ import {BSKY_APP_ACCOUNT_DID} from '#/lib/constants'
import {logEvent} from '#/lib/statsig/statsig'
import {logger} from '#/logger'
import {useSetSaveFeedsMutation} from '#/state/queries/preferences'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
import {useOnboardingDispatch} from '#/state/shell'
import {
DescriptionText,
@@ -38,6 +38,7 @@ export function StepFinished() {
const onboardDispatch = useOnboardingDispatch()
const [saving, setSaving] = React.useState(false)
const {mutateAsync: saveFeeds} = useSetSaveFeedsMutation()
+ const {getAgent} = useAgent()
const finishOnboarding = React.useCallback(async () => {
setSaving(true)
@@ -57,6 +58,7 @@ export function StepFinished() {
try {
await Promise.all([
bulkWriteFollows(
+ getAgent,
suggestedAccountsStepResults.accountDids.concat(BSKY_APP_ACCOUNT_DID),
),
// these must be serial
@@ -80,7 +82,7 @@ export function StepFinished() {
track('OnboardingV2:StepFinished:End')
track('OnboardingV2:Complete')
logEvent('onboarding:finished:nextPressed', {})
- }, [state, dispatch, onboardDispatch, setSaving, saveFeeds, track])
+ }, [state, dispatch, onboardDispatch, setSaving, saveFeeds, track, getAgent])
React.useEffect(() => {
track('OnboardingV2:StepFinished:Start')
diff --git a/src/screens/Onboarding/StepInterests/index.tsx b/src/screens/Onboarding/StepInterests/index.tsx
index 6afc3c07ac..df489f5710 100644
--- a/src/screens/Onboarding/StepInterests/index.tsx
+++ b/src/screens/Onboarding/StepInterests/index.tsx
@@ -8,7 +8,7 @@ import {useAnalytics} from '#/lib/analytics/analytics'
import {logEvent} from '#/lib/statsig/statsig'
import {capitalize} from '#/lib/strings/capitalize'
import {logger} from '#/logger'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
import {useOnboardingDispatch} from '#/state/shell'
import {
DescriptionText,
@@ -39,6 +39,7 @@ export function StepInterests() {
state.interestsStepResults.selectedInterests.map(i => i),
)
const onboardDispatch = useOnboardingDispatch()
+ const {getAgent} = useAgent()
const {isLoading, isError, error, data, refetch, isFetching} = useQuery({
queryKey: ['interests'],
queryFn: async () => {
diff --git a/src/screens/Onboarding/util.ts b/src/screens/Onboarding/util.ts
index 1a0b8d21bc..fde4316e93 100644
--- a/src/screens/Onboarding/util.ts
+++ b/src/screens/Onboarding/util.ts
@@ -1,7 +1,10 @@
-import {AppBskyGraphFollow, AppBskyGraphGetFollows} from '@atproto/api'
+import {
+ AppBskyGraphFollow,
+ AppBskyGraphGetFollows,
+ BskyAgent,
+} from '@atproto/api'
import {until} from '#/lib/async/until'
-import {getAgent} from '#/state/session'
import {PRIMARY_FEEDS} from './StepAlgoFeeds'
function shuffle(array: any) {
@@ -63,7 +66,10 @@ export function aggregateInterestItems(
return Array.from(new Set(results)).slice(0, 20)
}
-export async function bulkWriteFollows(dids: string[]) {
+export async function bulkWriteFollows(
+ getAgent: () => BskyAgent,
+ dids: string[],
+) {
const session = getAgent().session
if (!session) {
@@ -87,10 +93,15 @@ export async function bulkWriteFollows(dids: string[]) {
repo: session.did,
writes: followWrites,
})
- await whenFollowsIndexed(session.did, res => !!res.data.follows.length)
+ await whenFollowsIndexed(
+ getAgent,
+ session.did,
+ res => !!res.data.follows.length,
+ )
}
async function whenFollowsIndexed(
+ getAgent: () => BskyAgent,
actor: string,
fn: (res: AppBskyGraphGetFollows.Response) => boolean,
) {
@@ -107,21 +118,15 @@ async function whenFollowsIndexed(
}
/**
- * Kinda hacky, but we want For Your or Discover to appear as the first pinned
+ * Kinda hacky, but we want Discover to appear as the first pinned
* feed after Following
*/
export function sortPrimaryAlgorithmFeeds(uris: string[]) {
return uris.sort((a, b) => {
- if (a === PRIMARY_FEEDS[0].uri) {
- return -1
- }
- if (b === PRIMARY_FEEDS[0].uri) {
- return 1
- }
- if (a === PRIMARY_FEEDS[1].uri) {
+ if (a === PRIMARY_FEEDS[0]?.uri) {
return -1
}
- if (b === PRIMARY_FEEDS[1].uri) {
+ if (b === PRIMARY_FEEDS[0]?.uri) {
return 1
}
return a.localeCompare(b)
diff --git a/src/screens/Profile/Header/Handle.tsx b/src/screens/Profile/Header/Handle.tsx
index fd1cbe5333..9ab24fbbed 100644
--- a/src/screens/Profile/Header/Handle.tsx
+++ b/src/screens/Profile/Header/Handle.tsx
@@ -1,10 +1,10 @@
import React from 'react'
import {View} from 'react-native'
import {AppBskyActorDefs} from '@atproto/api'
-import {isInvalidHandle} from 'lib/strings/handles'
-import {Shadow} from '#/state/cache/types'
import {Trans} from '@lingui/macro'
+import {Shadow} from '#/state/cache/types'
+import {isInvalidHandle} from 'lib/strings/handles'
import {atoms as a, useTheme, web} from '#/alf'
import {Text} from '#/components/Typography'
@@ -26,6 +26,7 @@ export function ProfileHeaderHandle({
) : undefined}
{invalidHandle ? ⚠Invalid Handle : `@${profile.handle}`}
diff --git a/src/screens/Profile/Header/ProfileHeaderLabeler.tsx b/src/screens/Profile/Header/ProfileHeaderLabeler.tsx
index 4d8dbad86c..cbac0b66c3 100644
--- a/src/screens/Profile/Header/ProfileHeaderLabeler.tsx
+++ b/src/screens/Profile/Header/ProfileHeaderLabeler.tsx
@@ -10,7 +10,6 @@ import {
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {Haptics} from '#/lib/haptics'
import {isAppLabeler} from '#/lib/moderation'
import {pluralize} from '#/lib/strings/helpers'
import {logger} from '#/logger'
@@ -19,8 +18,10 @@ import {useModalControls} from '#/state/modals'
import {useLabelerSubscriptionMutation} from '#/state/queries/labeler'
import {useLikeMutation, useUnlikeMutation} from '#/state/queries/like'
import {usePreferencesQuery} from '#/state/queries/preferences'
-import {useSession} from '#/state/session'
+import {useRequireAuth, useSession} from '#/state/session'
import {useAnalytics} from 'lib/analytics/analytics'
+import {useHaptics} from 'lib/haptics'
+import {isIOS} from 'platform/detection'
import {useProfileShadow} from 'state/cache/profile-shadow'
import {ProfileMenu} from '#/view/com/profile/ProfileMenu'
import * as Toast from '#/view/com/util/Toast'
@@ -64,6 +65,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
@@ -93,7 +96,7 @@ let ProfileHeaderLabeler = ({
return
}
try {
- Haptics.default()
+ playHaptic()
if (likeUri) {
await unlikeMod({uri: likeUri})
@@ -114,7 +117,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')
@@ -124,27 +127,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,
@@ -157,10 +165,12 @@ let ProfileHeaderLabeler = ({
moderation={moderation}
hideBackButton={hideBackButton}
isPlaceholderProfile={isPlaceholderProfile}>
-
+
+ pointerEvents={isIOS ? 'auto' : 'box-none'}>
{isMe ? (
{state => (
{
requireAuth(async () => {
try {
@@ -96,7 +94,7 @@ let ProfileHeaderStandard = ({
)}`,
),
)
- if (isWeb && autoExpandSuggestionsOnProfileFollow) {
+ if (isWeb && gate('autoexpand_suggestions_on_profile_follow_v2')) {
setShowSuggestedFollows(true)
}
} catch (e: any) {
@@ -154,10 +152,12 @@ let ProfileHeaderStandard = ({
moderation={moderation}
hideBackButton={hideBackButton}
isPlaceholderProfile={isPlaceholderProfile}>
-
+
+ pointerEvents={isIOS ? 'auto' : 'box-none'}>
{isMe ? (
-
+
+
{isPlaceholderProfile ? (
+
{isMe && (
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,
@@ -44,6 +46,8 @@ export const ProfileLabelsSection = React.forwardRef<
moderationOpts,
scrollElRef,
headerHeight,
+ isFocused,
+ setScrollViewTag,
},
ref,
) {
@@ -63,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 ? (
@@ -112,6 +123,9 @@ export function ProfileLabelsSectionInner({
onScroll(e, ctx) {
contextScrollHandlers.onScroll?.(e, ctx)
},
+ onMomentumEnd(e, ctx) {
+ contextScrollHandlers.onMomentumEnd?.(e, ctx)
+ },
})
const {labelValues} = labelerInfo.policies
diff --git a/src/screens/Signup/StepHandle.tsx b/src/screens/Signup/StepHandle.tsx
index 44a33b8331..2266f43879 100644
--- a/src/screens/Signup/StepHandle.tsx
+++ b/src/screens/Signup/StepHandle.tsx
@@ -58,6 +58,7 @@ export function StepHandle() {
{
dispatch({
type: 'setEmail',
@@ -103,6 +104,7 @@ export function StepInfo() {
{
dispatch({
type: 'setPassword',
diff --git a/src/screens/Signup/index.tsx b/src/screens/Signup/index.tsx
index 74674b0cbf..6758f7fa14 100644
--- a/src/screens/Signup/index.tsx
+++ b/src/screens/Signup/index.tsx
@@ -9,7 +9,7 @@ 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 {useAgent} from '#/state/session'
import {LoggedOutLayout} from '#/view/com/util/layouts/LoggedOutLayout'
import {
initialState,
@@ -22,6 +22,7 @@ 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'
@@ -34,6 +35,7 @@ export function Signup({onPressBack}: {onPressBack: () => void}) {
const [state, dispatch] = React.useReducer(reducer, initialState)
const submit = useSubmitSignup({state, dispatch})
const {gtMobile} = useBreakpoints()
+ const {getAgent} = useAgent()
const {
data: serviceInfo,
@@ -112,6 +114,7 @@ export function Signup({onPressBack}: {onPressBack: () => void}) {
state.serviceDescription?.phoneVerificationRequired,
state.userDomain,
submit,
+ getAgent,
])
const onBackPress = React.useCallback(() => {
@@ -195,6 +198,7 @@ export function Signup({onPressBack}: {onPressBack: () => void}) {
) : (
void}) {
-
-
+
+
+
Having trouble? {' '}
-
+
Contact support
diff --git a/src/state/cache/post-shadow.ts b/src/state/cache/post-shadow.ts
index 6225cbdba0..48183739b2 100644
--- a/src/state/cache/post-shadow.ts
+++ b/src/state/cache/post-shadow.ts
@@ -62,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,
diff --git a/src/state/modals/index.tsx b/src/state/modals/index.tsx
index cc0f9c8b83..0f61a9711a 100644
--- a/src/state/modals/index.tsx
+++ b/src/state/modals/index.tsx
@@ -107,6 +107,7 @@ export interface PostLanguagesSettingsModal {
export interface VerifyEmailModal {
name: 'verify-email'
showReminder?: boolean
+ onSuccess?: () => void
}
export interface ChangeEmailModal {
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..f090365a31 100644
--- a/src/state/persisted/schema.ts
+++ b/src/state/persisted/schema.ts
@@ -1,5 +1,6 @@
import {z} from 'zod'
-import {deviceLocales} from '#/platform/detection'
+
+import {deviceLocales, prefersReducedMotion} from '#/platform/detection'
const externalEmbedOptions = ['show', 'hide'] as const
@@ -10,9 +11,11 @@ const accountSchema = z.object({
handle: z.string(),
email: z.string().optional(),
emailConfirmed: z.boolean().optional(),
+ emailAuthFactor: z.boolean().optional(),
refreshJwt: z.string().optional(), // optional because it can expire
accessJwt: z.string().optional(), // optional because it can expire
deactivated: z.boolean().optional(),
+ pdsUrl: z.string().optional(),
})
export type PersistedAccount = z.infer
@@ -58,6 +61,8 @@ export const schema = z.object({
useInAppBrowser: z.boolean().optional(),
lastSelectedHomeFeed: z.string().optional(),
pdsAddressHistory: z.array(z.string()).optional(),
+ disableHaptics: z.boolean().optional(),
+ disableAutoplay: z.boolean().optional(),
})
export type Schema = z.infer
@@ -93,4 +98,6 @@ export const defaults: Schema = {
useInAppBrowser: undefined,
lastSelectedHomeFeed: undefined,
pdsAddressHistory: [],
+ disableHaptics: false,
+ disableAutoplay: prefersReducedMotion,
}
diff --git a/src/state/preferences/autoplay.tsx b/src/state/preferences/autoplay.tsx
new file mode 100644
index 0000000000..d5aa049f36
--- /dev/null
+++ b/src/state/preferences/autoplay.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.disableAutoplay),
+)
+const setContext = React.createContext((_: boolean) => {})
+
+export function Provider({children}: {children: React.ReactNode}) {
+ const [state, setState] = React.useState(
+ Boolean(persisted.get('disableAutoplay')),
+ )
+
+ const setStateWrapped = React.useCallback(
+ (autoplayDisabled: persisted.Schema['disableAutoplay']) => {
+ setState(Boolean(autoplayDisabled))
+ persisted.write('disableAutoplay', autoplayDisabled)
+ },
+ [setState],
+ )
+
+ React.useEffect(() => {
+ return persisted.onUpdate(() => {
+ setState(Boolean(persisted.get('disableAutoplay')))
+ })
+ }, [setStateWrapped])
+
+ return (
+
+
+ {children}
+
+
+ )
+}
+
+export const useAutoplayDisabled = () => React.useContext(stateContext)
+export const useSetAutoplayDisabled = () => React.useContext(setContext)
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/external-embeds-prefs.tsx b/src/state/preferences/external-embeds-prefs.tsx
index 0f6385fe8e..9ace5d940f 100644
--- a/src/state/preferences/external-embeds-prefs.tsx
+++ b/src/state/preferences/external-embeds-prefs.tsx
@@ -1,9 +1,13 @@
import React from 'react'
+
import * as persisted from '#/state/persisted'
import {EmbedPlayerSource} from 'lib/strings/embed-player'
type StateContext = persisted.Schema['externalEmbeds']
-type SetContext = (source: EmbedPlayerSource, value: 'show' | 'hide') => void
+type SetContext = (
+ source: EmbedPlayerSource,
+ value: 'show' | 'hide' | undefined,
+) => void
const stateContext = React.createContext(
persisted.defaults.externalEmbeds,
@@ -14,7 +18,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
const [state, setState] = React.useState(persisted.get('externalEmbeds'))
const setStateWrapped = React.useCallback(
- (source: EmbedPlayerSource, value: 'show' | 'hide') => {
+ (source: EmbedPlayerSource, value: 'show' | 'hide' | undefined) => {
setState(prev => {
persisted.write('externalEmbeds', {
...prev,
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..5c8fab2ad7 100644
--- a/src/state/preferences/index.tsx
+++ b/src/state/preferences/index.tsx
@@ -1,21 +1,26 @@
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 AltTextRequiredProvider} from './alt-text-required'
+import {Provider as AutoplayProvider} from './autoplay'
+import {Provider as DisableHapticsProvider} from './disable-haptics'
import {Provider as ExternalEmbedsProvider} from './external-embeds-prefs'
+import {Provider as HiddenPostsProvider} from './hidden-posts'
import {Provider as InAppBrowserProvider} from './in-app-browser'
+import {Provider as LanguagesProvider} from './languages'
-export {useLanguagePrefs, useLanguagePrefsApi} from './languages'
export {
useRequireAltTextEnabled,
useSetRequireAltTextEnabled,
} from './alt-text-required'
+export {useAutoplayDisabled, useSetAutoplayDisabled} from './autoplay'
+export {useHapticsDisabled, useSetHapticsDisabled} from './disable-haptics'
export {
useExternalEmbedsPrefs,
useSetExternalEmbedPref,
} 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 +28,11 @@ 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 10bc951c1a..98b5aa17e6 100644
--- a/src/state/queries/actor-autocomplete.ts
+++ b/src/state/queries/actor-autocomplete.ts
@@ -1,13 +1,11 @@
import React from 'react'
import {AppBskyActorDefs, moderateProfile, ModerationOpts} from '@atproto/api'
-import {useQuery, useQueryClient} from '@tanstack/react-query'
+import {keepPreviousData, useQuery, useQueryClient} from '@tanstack/react-query'
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 {useAgent} from '#/state/session'
import {DEFAULT_LOGGED_OUT_PREFERENCES, useModerationOpts} from './preferences'
const DEFAULT_MOD_OPTS = {
@@ -18,9 +16,12 @@ const DEFAULT_MOD_OPTS = {
const RQKEY_ROOT = 'actor-autocomplete'
export const RQKEY = (prefix: string) => [RQKEY_ROOT, prefix]
-export function useActorAutocompleteQuery(prefix: string) {
- const {data: follows, isFetching} = useMyFollowsQuery()
+export function useActorAutocompleteQuery(
+ prefix: string,
+ maintainData?: boolean,
+) {
const moderationOpts = useModerationOpts()
+ const {getAgent} = useAgent()
prefix = prefix.toLowerCase()
@@ -36,26 +37,21 @@ export function useActorAutocompleteQuery(prefix: string) {
: undefined
return res?.data.actors || []
},
- enabled: !isFetching,
select: React.useCallback(
(data: AppBskyActorDefs.ProfileViewBasic[]) => {
- return computeSuggestions(
- prefix,
- follows,
- data,
- moderationOpts || DEFAULT_MOD_OPTS,
- )
+ return computeSuggestions(data, moderationOpts || DEFAULT_MOD_OPTS)
},
- [prefix, follows, moderationOpts],
+ [moderationOpts],
),
+ placeholderData: maintainData ? keepPreviousData : undefined,
})
}
export type ActorAutocompleteFn = ReturnType
export function useActorAutocompleteFn() {
const queryClient = useQueryClient()
- const {data: follows} = useMyFollowsQuery()
const moderationOpts = useModerationOpts()
+ const {getAgent} = useAgent()
return React.useCallback(
async ({query, limit = 8}: {query: string; limit?: number}) => {
@@ -80,26 +76,19 @@ export function useActorAutocompleteFn() {
}
return computeSuggestions(
- query,
- follows,
res?.data.actors,
moderationOpts || DEFAULT_MOD_OPTS,
)
},
- [follows, queryClient, moderationOpts],
+ [queryClient, moderationOpts, getAgent],
)
}
function computeSuggestions(
- prefix: string,
- follows: AppBskyActorDefs.ProfileViewBasic[] | undefined,
searched: AppBskyActorDefs.ProfileViewBasic[] = [],
moderationOpts: ModerationOpts,
) {
let items: AppBskyActorDefs.ProfileViewBasic[] = []
- if (follows) {
- items = follows.filter(follow => prefixMatch(prefix, follow)).slice(0, 8)
- }
for (const item of searched) {
if (!items.find(item2 => item2.handle === item.handle)) {
items.push(item)
@@ -110,16 +99,3 @@ function computeSuggestions(
return !modui.filter || isJustAMute(modui)
})
}
-
-function prefixMatch(
- prefix: string,
- info: AppBskyActorDefs.ProfileViewBasic,
-): boolean {
- if (!isInvalidHandle(info.handle) && info.handle.includes(prefix)) {
- return true
- }
- if (info.displayName?.toLocaleLowerCase().includes(prefix)) {
- return true
- }
- return false
-}
diff --git a/src/state/queries/actor-search.ts b/src/state/queries/actor-search.ts
index f19916103c..e50c68aacd 100644
--- a/src/state/queries/actor-search.ts
+++ b/src/state/queries/actor-search.ts
@@ -2,22 +2,29 @@ import {AppBskyActorDefs} from '@atproto/api'
import {QueryClient, useQuery} from '@tanstack/react-query'
import {STALE} from '#/state/queries'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
const RQKEY_ROOT = 'actor-search'
-export const RQKEY = (prefix: string) => [RQKEY_ROOT, prefix]
+export const RQKEY = (query: string) => [RQKEY_ROOT, query]
-export function useActorSearch(prefix: string) {
+export function useActorSearch({
+ query,
+ enabled,
+}: {
+ query: string
+ enabled?: boolean
+}) {
+ const {getAgent} = useAgent()
return useQuery({
staleTime: STALE.MINUTES.ONE,
- queryKey: RQKEY(prefix || ''),
+ queryKey: RQKEY(query || ''),
async queryFn() {
const res = await getAgent().searchActors({
- q: prefix,
+ q: query,
})
return res.data.actors
},
- enabled: !!prefix,
+ enabled: enabled && !!query,
})
}
diff --git a/src/state/queries/app-passwords.ts b/src/state/queries/app-passwords.ts
index ddfe6643dd..a8f8fba0f6 100644
--- a/src/state/queries/app-passwords.ts
+++ b/src/state/queries/app-passwords.ts
@@ -2,12 +2,13 @@ import {ComAtprotoServerCreateAppPassword} from '@atproto/api'
import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
import {STALE} from '#/state/queries'
-import {getAgent} from '../session'
+import {useAgent} from '../session'
const RQKEY_ROOT = 'app-passwords'
export const RQKEY = () => [RQKEY_ROOT]
export function useAppPasswordsQuery() {
+ const {getAgent} = useAgent()
return useQuery({
staleTime: STALE.MINUTES.FIVE,
queryKey: RQKEY(),
@@ -20,6 +21,7 @@ export function useAppPasswordsQuery() {
export function useAppPasswordCreateMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation<
ComAtprotoServerCreateAppPassword.OutputSchema,
Error,
@@ -42,6 +44,7 @@ export function useAppPasswordCreateMutation() {
export function useAppPasswordDeleteMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({name}) => {
await getAgent().com.atproto.server.revokeAppPassword({
diff --git a/src/state/queries/feed.ts b/src/state/queries/feed.ts
index c56912491a..1741d113c4 100644
--- a/src/state/queries/feed.ts
+++ b/src/state/queries/feed.ts
@@ -17,7 +17,7 @@ import {sanitizeDisplayName} from '#/lib/strings/display-names'
import {sanitizeHandle} from '#/lib/strings/handles'
import {STALE} from '#/state/queries'
import {usePreferencesQuery} from '#/state/queries/preferences'
-import {getAgent} from '#/state/session'
+import {useAgent, useSession} from '#/state/session'
import {router} from '#/routes'
export type FeedSourceFeedInfo = {
@@ -140,6 +140,7 @@ export function getAvatarTypeFromUri(uri: string) {
export function useFeedSourceInfoQuery({uri}: {uri: string}) {
const type = getFeedTypeFromUri(uri)
+ const {getAgent} = useAgent()
return useQuery({
staleTime: STALE.INFINITY,
@@ -166,6 +167,7 @@ export function useFeedSourceInfoQuery({uri}: {uri: string}) {
export const useGetPopularFeedsQueryKey = ['getPopularFeeds']
export function useGetPopularFeedsQuery() {
+ const {getAgent} = useAgent()
return useInfiniteQuery<
AppBskyUnspeccedGetPopularFeedGenerators.OutputSchema,
Error,
@@ -187,6 +189,7 @@ export function useGetPopularFeedsQuery() {
}
export function useSearchPopularFeedsMutation() {
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async (query: string) => {
const res = await getAgent().app.bsky.unspecced.getPopularFeedGenerators({
@@ -216,17 +219,39 @@ 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 {getAgent} = useAgent()
const {data: preferences, isLoading: isLoadingPrefs} = usePreferencesQuery()
const pinnedUris = preferences?.feeds?.pinned ?? []
return useQuery({
staleTime: STALE.INFINITY,
enabled: !isLoadingPrefs,
- queryKey: [pinnedFeedInfosQueryKeyRoot, pinnedUris.join(',')],
+ queryKey: [
+ pinnedFeedInfosQueryKeyRoot,
+ (hasSession ? 'authed:' : 'unauthed:') + pinnedUris.join(','),
+ ],
queryFn: async () => {
let resolved = new Map()
@@ -264,7 +289,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 ddeb35ce7b..1ab275fcf7 100644
--- a/src/state/queries/handle.ts
+++ b/src/state/queries/handle.ts
@@ -2,7 +2,7 @@ import React from 'react'
import {useMutation, useQueryClient} from '@tanstack/react-query'
import {STALE} from '#/state/queries'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
const handleQueryKeyRoot = 'handle'
const fetchHandleQueryKey = (handleOrDid: string) => [
@@ -14,6 +14,7 @@ const fetchDidQueryKey = (handleOrDid: string) => [didQueryKeyRoot, handleOrDid]
export function useFetchHandle() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return React.useCallback(
async (handleOrDid: string) => {
@@ -27,12 +28,13 @@ export function useFetchHandle() {
}
return handleOrDid
},
- [queryClient],
+ [queryClient, getAgent],
)
}
export function useUpdateHandleMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({handle}: {handle: string}) => {
@@ -48,6 +50,7 @@ export function useUpdateHandleMutation() {
export function useFetchDid() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return React.useCallback(
async (handleOrDid: string) => {
@@ -64,6 +67,6 @@ export function useFetchDid() {
},
})
},
- [queryClient],
+ [queryClient, getAgent],
)
}
diff --git a/src/state/queries/index.ts b/src/state/queries/index.ts
index e7c5f577b7..e30528ca13 100644
--- a/src/state/queries/index.ts
+++ b/src/state/queries/index.ts
@@ -1,7 +1,9 @@
import {BskyAgent} from '@atproto/api'
+import {PUBLIC_BSKY_SERVICE} from '#/lib/constants'
+
export const PUBLIC_BSKY_AGENT = new BskyAgent({
- service: 'https://public.api.bsky.app',
+ service: PUBLIC_BSKY_SERVICE,
})
export const STALE = {
diff --git a/src/state/queries/invites.ts b/src/state/queries/invites.ts
index d5d6ecf97e..f9cf25c697 100644
--- a/src/state/queries/invites.ts
+++ b/src/state/queries/invites.ts
@@ -3,7 +3,7 @@ import {useQuery} from '@tanstack/react-query'
import {cleanError} from '#/lib/strings/errors'
import {STALE} from '#/state/queries'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
function isInviteAvailable(invite: ComAtprotoServerDefs.InviteCode): boolean {
return invite.available - invite.uses.length > 0 && !invite.disabled
@@ -16,6 +16,7 @@ export type InviteCodesQueryResponse = Exclude<
undefined
>
export function useInviteCodesQuery() {
+ const {getAgent} = useAgent()
return useQuery({
staleTime: STALE.MINUTES.FIVE,
queryKey: [inviteCodesQueryKeyRoot],
diff --git a/src/state/queries/labeler.ts b/src/state/queries/labeler.ts
index 78301eb0df..359291636c 100644
--- a/src/state/queries/labeler.ts
+++ b/src/state/queries/labeler.ts
@@ -5,7 +5,7 @@ import {z} from 'zod'
import {labelersDetailedInfoQueryKeyRoot} from '#/lib/react-query'
import {STALE} from '#/state/queries'
import {preferencesQueryKey} from '#/state/queries/preferences'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
const labelerInfoQueryKeyRoot = 'labeler-info'
export const labelerInfoQueryKey = (did: string) => [
@@ -31,6 +31,7 @@ export function useLabelerInfoQuery({
did?: string
enabled?: boolean
}) {
+ const {getAgent} = useAgent()
return useQuery({
enabled: !!did && enabled !== false,
queryKey: labelerInfoQueryKey(did as string),
@@ -45,6 +46,7 @@ export function useLabelerInfoQuery({
}
export function useLabelersInfoQuery({dids}: {dids: string[]}) {
+ const {getAgent} = useAgent()
return useQuery({
enabled: !!dids.length,
queryKey: labelersInfoQueryKey(dids),
@@ -56,6 +58,7 @@ export function useLabelersInfoQuery({dids}: {dids: string[]}) {
}
export function useLabelersDetailedInfoQuery({dids}: {dids: string[]}) {
+ const {getAgent} = useAgent()
return useQuery({
enabled: !!dids.length,
queryKey: labelersDetailedInfoQueryKey(dids),
@@ -73,6 +76,7 @@ export function useLabelersDetailedInfoQuery({dids}: {dids: string[]}) {
export function useLabelerSubscriptionMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
async mutationFn({did, subscribe}: {did: string; subscribe: boolean}) {
diff --git a/src/state/queries/like.ts b/src/state/queries/like.ts
index 94857eb91f..75e93951a5 100644
--- a/src/state/queries/like.ts
+++ b/src/state/queries/like.ts
@@ -1,8 +1,9 @@
import {useMutation} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
export function useLikeMutation() {
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({uri, cid}: {uri: string; cid: string}) => {
const res = await getAgent().like(uri, cid)
@@ -12,6 +13,7 @@ export function useLikeMutation() {
}
export function useUnlikeMutation() {
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({uri}: {uri: string}) => {
await getAgent().deleteLike(uri)
diff --git a/src/state/queries/list-members.ts b/src/state/queries/list-members.ts
index 87a409b88c..6f87d53c0f 100644
--- a/src/state/queries/list-members.ts
+++ b/src/state/queries/list-members.ts
@@ -7,7 +7,7 @@ import {
} from '@tanstack/react-query'
import {STALE} from '#/state/queries'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
@@ -16,6 +16,7 @@ const RQKEY_ROOT = 'list-members'
export const RQKEY = (uri: string) => [RQKEY_ROOT, uri]
export function useListMembersQuery(uri: string) {
+ const {getAgent} = useAgent()
return useInfiniteQuery<
AppBskyGraphGetList.OutputSchema,
Error,
diff --git a/src/state/queries/list-memberships.ts b/src/state/queries/list-memberships.ts
index d5ddd5a706..46e6bdfc2c 100644
--- a/src/state/queries/list-memberships.ts
+++ b/src/state/queries/list-memberships.ts
@@ -19,7 +19,7 @@ import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
import {STALE} from '#/state/queries'
import {RQKEY as LIST_MEMBERS_RQKEY} from '#/state/queries/list-members'
-import {getAgent, useSession} from '#/state/session'
+import {useAgent, useSession} from '#/state/session'
// sanity limit is SANITY_PAGE_LIMIT*PAGE_SIZE total records
const SANITY_PAGE_LIMIT = 1000
@@ -40,6 +40,7 @@ export interface ListMembersip {
*/
export function useDangerousListMembershipsQuery() {
const {currentAccount} = useSession()
+ const {getAgent} = useAgent()
return useQuery({
staleTime: STALE.MINUTES.FIVE,
queryKey: RQKEY(),
@@ -91,6 +92,7 @@ export function getMembership(
export function useListMembershipAddMutation() {
const {currentAccount} = useSession()
+ const {getAgent} = useAgent()
const queryClient = useQueryClient()
return useMutation<
{uri: string; cid: string},
@@ -149,6 +151,7 @@ export function useListMembershipAddMutation() {
export function useListMembershipRemoveMutation() {
const {currentAccount} = useSession()
+ const {getAgent} = useAgent()
const queryClient = useQueryClient()
return useMutation<
void,
diff --git a/src/state/queries/list.ts b/src/state/queries/list.ts
index c653d53765..dd2e21fb63 100644
--- a/src/state/queries/list.ts
+++ b/src/state/queries/list.ts
@@ -4,6 +4,7 @@ import {
AppBskyGraphGetList,
AppBskyGraphList,
AtUri,
+ BskyAgent,
Facet,
} from '@atproto/api'
import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
@@ -12,7 +13,7 @@ import chunk from 'lodash.chunk'
import {uploadBlob} from '#/lib/api'
import {until} from '#/lib/async/until'
import {STALE} from '#/state/queries'
-import {getAgent, useSession} from '../session'
+import {useAgent, useSession} from '../session'
import {invalidate as invalidateMyLists} from './my-lists'
import {RQKEY as PROFILE_LISTS_RQKEY} from './profile-lists'
@@ -20,6 +21,7 @@ const RQKEY_ROOT = 'list'
export const RQKEY = (uri: string) => [RQKEY_ROOT, uri]
export function useListQuery(uri?: string) {
+ const {getAgent} = useAgent()
return useQuery({
staleTime: STALE.MINUTES.ONE,
queryKey: RQKEY(uri || ''),
@@ -47,6 +49,7 @@ export interface ListCreateMutateParams {
export function useListCreateMutation() {
const {currentAccount} = useSession()
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation<{uri: string; cid: string}, Error, ListCreateMutateParams>(
{
async mutationFn({
@@ -85,9 +88,13 @@ export function useListCreateMutation() {
)
// wait for the appview to update
- await whenAppViewReady(res.uri, (v: AppBskyGraphGetList.Response) => {
- return typeof v?.data?.list.uri === 'string'
- })
+ await whenAppViewReady(
+ getAgent,
+ res.uri,
+ (v: AppBskyGraphGetList.Response) => {
+ return typeof v?.data?.list.uri === 'string'
+ },
+ )
return res
},
onSuccess() {
@@ -109,6 +116,7 @@ export interface ListMetadataMutateParams {
}
export function useListMetadataMutation() {
const {currentAccount} = useSession()
+ const {getAgent} = useAgent()
const queryClient = useQueryClient()
return useMutation<
{uri: string; cid: string},
@@ -150,12 +158,16 @@ export function useListMetadataMutation() {
).data
// wait for the appview to update
- await whenAppViewReady(res.uri, (v: AppBskyGraphGetList.Response) => {
- const list = v.data.list
- return (
- list.name === record.name && list.description === record.description
- )
- })
+ await whenAppViewReady(
+ getAgent,
+ res.uri,
+ (v: AppBskyGraphGetList.Response) => {
+ const list = v.data.list
+ return (
+ list.name === record.name && list.description === record.description
+ )
+ },
+ )
return res
},
onSuccess(data, variables) {
@@ -172,6 +184,7 @@ export function useListMetadataMutation() {
export function useListDeleteMutation() {
const {currentAccount} = useSession()
+ const {getAgent} = useAgent()
const queryClient = useQueryClient()
return useMutation({
mutationFn: async ({uri}) => {
@@ -220,9 +233,13 @@ export function useListDeleteMutation() {
}
// wait for the appview to update
- await whenAppViewReady(uri, (v: AppBskyGraphGetList.Response) => {
- return !v?.success
- })
+ await whenAppViewReady(
+ getAgent,
+ uri,
+ (v: AppBskyGraphGetList.Response) => {
+ return !v?.success
+ },
+ )
},
onSuccess() {
invalidateMyLists(queryClient)
@@ -236,6 +253,7 @@ export function useListDeleteMutation() {
export function useListMuteMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({uri, mute}) => {
if (mute) {
@@ -244,9 +262,13 @@ export function useListMuteMutation() {
await getAgent().unmuteModList(uri)
}
- await whenAppViewReady(uri, (v: AppBskyGraphGetList.Response) => {
- return Boolean(v?.data.list.viewer?.muted) === mute
- })
+ await whenAppViewReady(
+ getAgent,
+ uri,
+ (v: AppBskyGraphGetList.Response) => {
+ return Boolean(v?.data.list.viewer?.muted) === mute
+ },
+ )
},
onSuccess(data, variables) {
queryClient.invalidateQueries({
@@ -258,6 +280,7 @@ export function useListMuteMutation() {
export function useListBlockMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({uri, block}) => {
if (block) {
@@ -266,11 +289,15 @@ export function useListBlockMutation() {
await getAgent().unblockModList(uri)
}
- await whenAppViewReady(uri, (v: AppBskyGraphGetList.Response) => {
- return block
- ? typeof v?.data.list.viewer?.blocked === 'string'
- : !v?.data.list.viewer?.blocked
- })
+ await whenAppViewReady(
+ getAgent,
+ uri,
+ (v: AppBskyGraphGetList.Response) => {
+ return block
+ ? typeof v?.data.list.viewer?.blocked === 'string'
+ : !v?.data.list.viewer?.blocked
+ },
+ )
},
onSuccess(data, variables) {
queryClient.invalidateQueries({
@@ -281,6 +308,7 @@ export function useListBlockMutation() {
}
async function whenAppViewReady(
+ getAgent: () => BskyAgent,
uri: string,
fn: (res: AppBskyGraphGetList.Response) => boolean,
) {
diff --git a/src/state/queries/my-blocked-accounts.ts b/src/state/queries/my-blocked-accounts.ts
index 36b9ac5804..73e2890569 100644
--- a/src/state/queries/my-blocked-accounts.ts
+++ b/src/state/queries/my-blocked-accounts.ts
@@ -6,13 +6,14 @@ import {
useInfiniteQuery,
} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
const RQKEY_ROOT = 'my-blocked-accounts'
export const RQKEY = () => [RQKEY_ROOT]
type RQPageParam = string | undefined
export function useMyBlockedAccountsQuery() {
+ const {getAgent} = useAgent()
return useInfiniteQuery<
AppBskyGraphGetBlocks.OutputSchema,
Error,
diff --git a/src/state/queries/my-follows.ts b/src/state/queries/my-follows.ts
deleted file mode 100644
index a130347f83..0000000000
--- a/src/state/queries/my-follows.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import {AppBskyActorDefs} from '@atproto/api'
-import {useQuery} from '@tanstack/react-query'
-
-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
-
-const RQKEY_ROOT = 'my-follows'
-export const RQKEY = () => [RQKEY_ROOT]
-
-export function useMyFollowsQuery() {
- const {currentAccount} = useSession()
- return useQuery({
- staleTime: STALE.MINUTES.ONE,
- queryKey: RQKEY(),
- async queryFn() {
- if (!currentAccount) {
- return []
- }
- let cursor
- let arr: AppBskyActorDefs.ProfileViewBasic[] = []
- for (let i = 0; i < SANITY_PAGE_LIMIT; i++) {
- const res = await getAgent().getFollows({
- actor: currentAccount.did,
- cursor,
- limit: PAGE_SIZE,
- })
- // TODO
- // res.data.follows = res.data.follows.filter(
- // profile =>
- // !moderateProfile(profile, this.rootStore.preferences.moderationOpts)
- // .account.filter,
- // )
- arr = arr.concat(res.data.follows)
- if (!res.data.cursor) {
- break
- }
- cursor = res.data.cursor
- }
- return arr
- },
- })
-}
diff --git a/src/state/queries/my-lists.ts b/src/state/queries/my-lists.ts
index 284b757c6d..7fce8b68ea 100644
--- a/src/state/queries/my-lists.ts
+++ b/src/state/queries/my-lists.ts
@@ -3,7 +3,7 @@ import {QueryClient, useQuery} from '@tanstack/react-query'
import {accumulate} from '#/lib/async/accumulate'
import {STALE} from '#/state/queries'
-import {getAgent, useSession} from '#/state/session'
+import {useAgent, useSession} from '#/state/session'
export type MyListsFilter =
| 'all'
@@ -16,6 +16,7 @@ export const RQKEY = (filter: MyListsFilter) => [RQKEY_ROOT, filter]
export function useMyListsQuery(filter: MyListsFilter) {
const {currentAccount} = useSession()
+ const {getAgent} = useAgent()
return useQuery({
staleTime: STALE.MINUTES.ONE,
queryKey: RQKEY(filter),
diff --git a/src/state/queries/my-muted-accounts.ts b/src/state/queries/my-muted-accounts.ts
index 9e90044bf4..6eded3f83f 100644
--- a/src/state/queries/my-muted-accounts.ts
+++ b/src/state/queries/my-muted-accounts.ts
@@ -6,13 +6,14 @@ import {
useInfiniteQuery,
} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
const RQKEY_ROOT = 'my-muted-accounts'
export const RQKEY = () => [RQKEY_ROOT]
type RQPageParam = string | undefined
export function useMyMutedAccountsQuery() {
+ const {getAgent} = useAgent()
return useInfiniteQuery<
AppBskyGraphGetMutes.OutputSchema,
Error,
diff --git a/src/state/queries/notifications/feed.ts b/src/state/queries/notifications/feed.ts
index b4bdd741ea..1f21999017 100644
--- a/src/state/queries/notifications/feed.ts
+++ b/src/state/queries/notifications/feed.ts
@@ -27,6 +27,7 @@ import {
} from '@tanstack/react-query'
import {useMutedThreads} from '#/state/muted-threads'
+import {useAgent} from '#/state/session'
import {STALE} from '..'
import {useModerationOpts} from '../preferences'
import {embedViewRecordToPostView, getEmbeddedPost} from '../util'
@@ -46,6 +47,7 @@ export function RQKEY() {
}
export function useNotificationFeedQuery(opts?: {enabled?: boolean}) {
+ const {getAgent} = useAgent()
const queryClient = useQueryClient()
const moderationOpts = useModerationOpts()
const threadMutes = useMutedThreads()
@@ -71,6 +73,7 @@ export function useNotificationFeedQuery(opts?: {enabled?: boolean}) {
if (!page) {
page = (
await fetchPage({
+ getAgent,
limit: PAGE_SIZE,
cursor: pageParam,
queryClient,
diff --git a/src/state/queries/notifications/unread.tsx b/src/state/queries/notifications/unread.tsx
index e7a0631ecf..1c569e2a09 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 {useAgent, 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 {
@@ -42,6 +46,7 @@ const apiContext = React.createContext({
export function Provider({children}: React.PropsWithChildren<{}>) {
const {hasSession} = useSession()
+ const {getAgent} = useAgent()
const queryClient = useQueryClient()
const moderationOpts = useModerationOpts()
const threadMutes = useMutedThreads()
@@ -56,6 +61,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) {
@@ -128,6 +145,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
// count
const {page, indexedAt: lastIndexed} = await fetchPage({
+ getAgent,
cursor: undefined,
limit: 40,
queryClient,
@@ -180,7 +198,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
}
},
}
- }, [setNumUnread, queryClient, moderationOpts, threadMutes])
+ }, [setNumUnread, queryClient, moderationOpts, threadMutes, getAgent])
checkUnreadRef.current = api.checkUnread
return (
@@ -214,3 +232,7 @@ function countUnread(page: FeedPage) {
}
return num
}
+
+export function invalidateCachedUnreadPage() {
+ emitter.emit('invalidate')
+}
diff --git a/src/state/queries/notifications/util.ts b/src/state/queries/notifications/util.ts
index 97fc57dc18..5029a33ccc 100644
--- a/src/state/queries/notifications/util.ts
+++ b/src/state/queries/notifications/util.ts
@@ -1,18 +1,19 @@
import {
- AppBskyNotificationListNotifications,
- ModerationOpts,
- moderateNotification,
+ AppBskyEmbedRecord,
AppBskyFeedDefs,
+ AppBskyFeedLike,
AppBskyFeedPost,
AppBskyFeedRepost,
- AppBskyFeedLike,
- AppBskyEmbedRecord,
+ AppBskyNotificationListNotifications,
+ BskyAgent,
+ moderateNotification,
+ ModerationOpts,
} from '@atproto/api'
-import chunk from 'lodash.chunk'
import {QueryClient} from '@tanstack/react-query'
-import {getAgent} from '../../session'
+import chunk from 'lodash.chunk'
+
import {precacheProfile} from '../profile'
-import {NotificationType, FeedNotification, FeedPage} from './types'
+import {FeedNotification, FeedPage, NotificationType} from './types'
const GROUPABLE_REASONS = ['like', 'repost', 'follow']
const MS_1HR = 1e3 * 60 * 60
@@ -22,6 +23,7 @@ const MS_2DAY = MS_1HR * 48
// =
export async function fetchPage({
+ getAgent,
cursor,
limit,
queryClient,
@@ -29,6 +31,7 @@ export async function fetchPage({
threadMutes,
fetchAdditionalData,
}: {
+ getAgent: () => BskyAgent
cursor: string | undefined
limit: number
queryClient: QueryClient
@@ -53,7 +56,7 @@ export async function fetchPage({
// we fetch subjects of notifications (usually posts) now instead of lazily
// in the UI to avoid relayouts
if (fetchAdditionalData) {
- const subjects = await fetchSubjects(notifsGrouped)
+ const subjects = await fetchSubjects(getAgent, notifsGrouped)
for (const notif of notifsGrouped) {
if (notif.subjectUri) {
notif.subject = subjects.get(notif.subjectUri)
@@ -137,6 +140,7 @@ export function groupNotifications(
}
async function fetchSubjects(
+ getAgent: () => BskyAgent,
groupedNotifs: FeedNotification[],
): Promise> {
const uris = new Set()
diff --git a/src/state/queries/post-feed.ts b/src/state/queries/post-feed.ts
index ee22bac691..747dba02ea 100644
--- a/src/state/queries/post-feed.ts
+++ b/src/state/queries/post-feed.ts
@@ -4,6 +4,7 @@ import {
AppBskyFeedDefs,
AppBskyFeedPost,
AtUri,
+ BskyAgent,
ModerationDecision,
} from '@atproto/api'
import {
@@ -11,7 +12,6 @@ import {
QueryClient,
QueryKey,
useInfiniteQuery,
- useQueryClient,
} from '@tanstack/react-query'
import {HomeFeedAPI} from '#/lib/api/feed/home'
@@ -19,7 +19,7 @@ import {moderatePost_wrapped as moderatePost} from '#/lib/moderatePost_wrapped'
import {logger} from '#/logger'
import {STALE} from '#/state/queries'
import {DEFAULT_LOGGED_OUT_PREFERENCES} from '#/state/queries/preferences/const'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
import {AuthorFeedAPI} from 'lib/api/feed/author'
import {CustomFeedAPI} from 'lib/api/feed/custom'
import {FollowingFeedAPI} from 'lib/api/feed/following'
@@ -32,7 +32,6 @@ 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
@@ -101,9 +100,9 @@ export function usePostFeedQuery(
params?: FeedParams,
opts?: {enabled?: boolean; ignoreFilterFor?: string},
) {
- const queryClient = useQueryClient()
const feedTuners = useFeedTuners(feedDesc)
const moderationOpts = useModerationOpts()
+ const {getAgent} = useAgent()
const enabled = opts?.enabled !== false && Boolean(moderationOpts)
const lastRun = useRef<{
data: InfiniteData
@@ -135,17 +134,20 @@ export function usePostFeedQuery(
queryKey: RQKEY(feedDesc, params),
async queryFn({pageParam}: {pageParam: RQPageParam}) {
logger.debug('usePostFeedQuery', {feedDesc, cursor: pageParam?.cursor})
-
const {api, cursor} = pageParam
? pageParam
: {
- api: createApi(feedDesc, params || {}, feedTuners),
+ api: createApi({
+ feedDesc,
+ feedParams: params || {},
+ feedTuners,
+ getAgent,
+ }),
cursor: undefined,
}
try {
const res = await api.fetch({cursor, limit: PAGE_SIZE})
- precacheFeedPostProfiles(queryClient, res.feed)
/*
* If this is a public view, we need to check if posts fail moderation.
@@ -365,34 +367,47 @@ export async function pollLatest(page: FeedPage | undefined) {
return false
}
-function createApi(
- feedDesc: FeedDescriptor,
- params: FeedParams,
- feedTuners: FeedTunerFn[],
-) {
+function createApi({
+ feedDesc,
+ feedParams,
+ feedTuners,
+ getAgent,
+}: {
+ feedDesc: FeedDescriptor
+ feedParams: FeedParams
+ feedTuners: FeedTunerFn[]
+ getAgent: () => BskyAgent
+}) {
if (feedDesc === 'home') {
- if (params.mergeFeedEnabled) {
- return new MergeFeedAPI(params, feedTuners)
+ if (feedParams.mergeFeedEnabled) {
+ return new MergeFeedAPI({
+ getAgent,
+ feedParams,
+ feedTuners,
+ })
} else {
- return new HomeFeedAPI()
+ return new HomeFeedAPI({getAgent})
}
} else if (feedDesc === 'following') {
- return new FollowingFeedAPI()
+ return new FollowingFeedAPI({getAgent})
} else if (feedDesc.startsWith('author')) {
const [_, actor, filter] = feedDesc.split('|')
- return new AuthorFeedAPI({actor, filter})
+ return new AuthorFeedAPI({getAgent, feedParams: {actor, filter}})
} else if (feedDesc.startsWith('likes')) {
const [_, actor] = feedDesc.split('|')
- return new LikesFeedAPI({actor})
+ return new LikesFeedAPI({getAgent, feedParams: {actor}})
} else if (feedDesc.startsWith('feedgen')) {
const [_, feed] = feedDesc.split('|')
- return new CustomFeedAPI({feed})
+ return new CustomFeedAPI({
+ getAgent,
+ feedParams: {feed},
+ })
} else if (feedDesc.startsWith('list')) {
const [_, list] = feedDesc.split('|')
- return new ListFeedAPI({list})
+ return new ListFeedAPI({getAgent, feedParams: {list}})
} else {
// shouldnt happen
- return new FollowingFeedAPI()
+ return new FollowingFeedAPI({getAgent})
}
}
@@ -459,6 +474,14 @@ function assertSomePostsPassModeration(feed: AppBskyFeedDefs.FeedViewPost[]) {
}
}
+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,
diff --git a/src/state/queries/post-liked-by.ts b/src/state/queries/post-liked-by.ts
index 6fa341b773..fdf6948609 100644
--- a/src/state/queries/post-liked-by.ts
+++ b/src/state/queries/post-liked-by.ts
@@ -6,7 +6,7 @@ import {
useInfiniteQuery,
} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
@@ -16,6 +16,7 @@ const RQKEY_ROOT = 'liked-by'
export const RQKEY = (resolvedUri: string) => [RQKEY_ROOT, resolvedUri]
export function useLikedByQuery(resolvedUri: string | undefined) {
+ const {getAgent} = useAgent()
return useInfiniteQuery<
AppBskyFeedGetLikes.OutputSchema,
Error,
diff --git a/src/state/queries/post-reposted-by.ts b/src/state/queries/post-reposted-by.ts
index f8cfff0d28..13643e98d2 100644
--- a/src/state/queries/post-reposted-by.ts
+++ b/src/state/queries/post-reposted-by.ts
@@ -6,7 +6,7 @@ import {
useInfiniteQuery,
} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
@@ -16,6 +16,7 @@ const RQKEY_ROOT = 'post-reposted-by'
export const RQKEY = (resolvedUri: string) => [RQKEY_ROOT, resolvedUri]
export function usePostRepostedByQuery(resolvedUri: string | undefined) {
+ const {getAgent} = useAgent()
return useInfiniteQuery<
AppBskyFeedGetRepostedBy.OutputSchema,
Error,
diff --git a/src/state/queries/post-thread.ts b/src/state/queries/post-thread.ts
index 832794bf54..133304d2ed 100644
--- a/src/state/queries/post-thread.ts
+++ b/src/state/queries/post-thread.ts
@@ -7,11 +7,11 @@ import {
import {QueryClient, useQuery, useQueryClient} from '@tanstack/react-query'
import {UsePreferencesQueryResponse} from '#/state/queries/preferences/types'
-import {getAgent} from '#/state/session'
+import {useAgent} 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'
const RQKEY_ROOT = 'post-thread'
export const RQKEY = (uri: string) => [RQKEY_ROOT, uri]
@@ -65,15 +65,14 @@ export type ThreadNode =
export function usePostThreadQuery(uri: string | undefined) {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useQuery({
gcTime: 0,
queryKey: RQKEY(uri || ''),
async queryFn() {
const res = await getAgent().getPostThread({uri: uri!})
if (res.success) {
- const nodes = responseToThreadNodes(res.data.thread)
- precacheThreadPostProfiles(queryClient, nodes)
- return nodes
+ return responseToThreadNodes(res.data.thread)
}
return {type: 'unknown', uri: uri!}
},
@@ -260,6 +259,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 {
@@ -332,14 +334,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 77497f6bab..d52c657134 100644
--- a/src/state/queries/post.ts
+++ b/src/state/queries/post.ts
@@ -7,13 +7,14 @@ 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 {useAgent, 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) {
+ const {getAgent} = useAgent()
return useQuery({
queryKey: RQKEY(uri || ''),
async queryFn() {
@@ -30,6 +31,7 @@ export function usePostQuery(uri: string | undefined) {
export function useGetPost() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useCallback(
async ({uri}: {uri: string}) => {
return queryClient.fetchQuery({
@@ -56,7 +58,7 @@ export function useGetPost() {
},
})
},
- [queryClient],
+ [queryClient, getAgent],
)
}
@@ -125,6 +127,7 @@ function usePostLikeMutation(
const {currentAccount} = useSession()
const queryClient = useQueryClient()
const postAuthor = post.author
+ const {getAgent} = useAgent()
return useMutation<
{uri: string}, // responds with the uri of the like
Error,
@@ -162,6 +165,7 @@ function usePostLikeMutation(
function usePostUnlikeMutation(
logContext: LogEvents['post:unlike']['logContext'],
) {
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: ({likeUri}) => {
logEvent('post:unlike', {logContext})
@@ -234,6 +238,7 @@ export function usePostRepostMutationQueue(
function usePostRepostMutation(
logContext: LogEvents['post:repost']['logContext'],
) {
+ const {getAgent} = useAgent()
return useMutation<
{uri: string}, // responds with the uri of the repost
Error,
@@ -252,6 +257,7 @@ function usePostRepostMutation(
function usePostUnrepostMutation(
logContext: LogEvents['post:unrepost']['logContext'],
) {
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: ({repostUri}) => {
logEvent('post:unrepost', {logContext})
@@ -265,6 +271,7 @@ function usePostUnrepostMutation(
export function usePostDeleteMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({uri}) => {
await getAgent().deletePost(uri)
diff --git a/src/state/queries/preferences/index.ts b/src/state/queries/preferences/index.ts
index 85e3f9a25d..06e47391f2 100644
--- a/src/state/queries/preferences/index.ts
+++ b/src/state/queries/preferences/index.ts
@@ -22,7 +22,7 @@ import {
ThreadViewPreferences,
UsePreferencesQueryResponse,
} from '#/state/queries/preferences/types'
-import {getAgent, useSession} from '#/state/session'
+import {useAgent, useSession} from '#/state/session'
import {saveLabelers} from '#/state/session/agent-config'
export * from '#/state/queries/preferences/const'
@@ -33,6 +33,7 @@ const preferencesQueryKeyRoot = 'getPreferences'
export const preferencesQueryKey = [preferencesQueryKeyRoot]
export function usePreferencesQuery() {
+ const {getAgent} = useAgent()
return useQuery({
staleTime: STALE.SECONDS.FIFTEEN,
structuralSharing: true,
@@ -118,6 +119,7 @@ export function useModerationOpts() {
export function useClearPreferencesMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async () => {
@@ -131,6 +133,7 @@ export function useClearPreferencesMutation() {
}
export function usePreferencesSetContentLabelMutation() {
+ const {getAgent} = useAgent()
const queryClient = useQueryClient()
return useMutation<
@@ -150,6 +153,7 @@ export function usePreferencesSetContentLabelMutation() {
export function useSetContentLabelMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({
@@ -172,6 +176,7 @@ export function useSetContentLabelMutation() {
export function usePreferencesSetAdultContentMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({enabled}) => {
@@ -186,6 +191,7 @@ export function usePreferencesSetAdultContentMutation() {
export function usePreferencesSetBirthDateMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({birthDate}: {birthDate: Date}) => {
@@ -200,6 +206,7 @@ export function usePreferencesSetBirthDateMutation() {
export function useSetFeedViewPreferencesMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation>({
mutationFn: async prefs => {
@@ -214,6 +221,7 @@ export function useSetFeedViewPreferencesMutation() {
export function useSetThreadViewPreferencesMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation>({
mutationFn: async prefs => {
@@ -228,6 +236,7 @@ export function useSetThreadViewPreferencesMutation() {
export function useSetSaveFeedsMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation<
void,
@@ -246,6 +255,7 @@ export function useSetSaveFeedsMutation() {
export function useSaveFeedMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({uri}) => {
@@ -261,6 +271,7 @@ export function useSaveFeedMutation() {
export function useRemoveFeedMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({uri}) => {
@@ -276,6 +287,7 @@ export function useRemoveFeedMutation() {
export function usePinFeedMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({uri}) => {
@@ -291,6 +303,7 @@ export function usePinFeedMutation() {
export function useUnpinFeedMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({uri}) => {
@@ -306,6 +319,7 @@ export function useUnpinFeedMutation() {
export function useUpsertMutedWordsMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async (mutedWords: AppBskyActorDefs.MutedWord[]) => {
@@ -320,6 +334,7 @@ export function useUpsertMutedWordsMutation() {
export function useUpdateMutedWordMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async (mutedWord: AppBskyActorDefs.MutedWord) => {
@@ -334,6 +349,7 @@ export function useUpdateMutedWordMutation() {
export function useRemoveMutedWordMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async (mutedWord: AppBskyActorDefs.MutedWord) => {
diff --git a/src/state/queries/profile-feedgens.ts b/src/state/queries/profile-feedgens.ts
index c690be1979..27f2d5aaab 100644
--- a/src/state/queries/profile-feedgens.ts
+++ b/src/state/queries/profile-feedgens.ts
@@ -1,7 +1,7 @@
import {AppBskyFeedGetActorFeeds} from '@atproto/api'
import {InfiniteData, QueryKey, useInfiniteQuery} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
@@ -15,6 +15,7 @@ export function useProfileFeedgensQuery(
opts?: {enabled?: boolean},
) {
const enabled = opts?.enabled !== false
+ const {getAgent} = useAgent()
return useInfiniteQuery<
AppBskyFeedGetActorFeeds.OutputSchema,
Error,
diff --git a/src/state/queries/profile-followers.ts b/src/state/queries/profile-followers.ts
index d7dfe25c64..d0cbccaf57 100644
--- a/src/state/queries/profile-followers.ts
+++ b/src/state/queries/profile-followers.ts
@@ -6,7 +6,7 @@ import {
useInfiniteQuery,
} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
@@ -15,6 +15,7 @@ const RQKEY_ROOT = 'profile-followers'
export const RQKEY = (did: string) => [RQKEY_ROOT, did]
export function useProfileFollowersQuery(did: string | undefined) {
+ const {getAgent} = useAgent()
return useInfiniteQuery<
AppBskyGraphGetFollowers.OutputSchema,
Error,
diff --git a/src/state/queries/profile-follows.ts b/src/state/queries/profile-follows.ts
index 3abac2f108..23c0dce3e7 100644
--- a/src/state/queries/profile-follows.ts
+++ b/src/state/queries/profile-follows.ts
@@ -7,7 +7,7 @@ import {
} from '@tanstack/react-query'
import {STALE} from '#/state/queries'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
@@ -17,6 +17,7 @@ const RQKEY_ROOT = 'profile-follows'
export const RQKEY = (did: string) => [RQKEY_ROOT, did]
export function useProfileFollowsQuery(did: string | undefined) {
+ const {getAgent} = useAgent()
return useInfiniteQuery<
AppBskyGraphGetFollows.OutputSchema,
Error,
diff --git a/src/state/queries/profile-lists.ts b/src/state/queries/profile-lists.ts
index 9cc395e435..543961d635 100644
--- a/src/state/queries/profile-lists.ts
+++ b/src/state/queries/profile-lists.ts
@@ -1,7 +1,7 @@
import {AppBskyGraphGetLists} from '@atproto/api'
import {InfiniteData, QueryKey, useInfiniteQuery} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
@@ -11,6 +11,7 @@ export const RQKEY = (did: string) => [RQKEY_ROOT, did]
export function useProfileListsQuery(did: string, opts?: {enabled?: boolean}) {
const enabled = opts?.enabled !== false
+ const {getAgent} = useAgent()
return useInfiniteQuery<
AppBskyGraphGetLists.OutputSchema,
Error,
diff --git a/src/state/queries/profile.ts b/src/state/queries/profile.ts
index a962fecff7..103d34733c 100644
--- a/src/state/queries/profile.ts
+++ b/src/state/queries/profile.ts
@@ -4,10 +4,8 @@ import {
AppBskyActorDefs,
AppBskyActorGetProfile,
AppBskyActorProfile,
- AppBskyEmbedRecord,
- AppBskyEmbedRecordWithMedia,
- AppBskyFeedDefs,
AtUri,
+ BskyAgent,
} from '@atproto/api'
import {
QueryClient,
@@ -25,10 +23,9 @@ import {Shadow} from '#/state/cache/types'
import {STALE} from '#/state/queries'
import {resetProfilePostsQueries} from '#/state/queries/post-feed'
import {updateProfileShadow} from '../cache/profile-shadow'
-import {getAgent, useSession} from '../session'
+import {useAgent, 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'
const RQKEY_ROOT = 'profile'
export const RQKEY = (did: string) => [RQKEY_ROOT, did]
@@ -53,6 +50,7 @@ export function useProfileQuery({
staleTime?: number
}) {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useQuery({
// WARNING
// this staleTime is load-bearing
@@ -77,6 +75,7 @@ export function useProfileQuery({
}
export function useProfilesQuery({handles}: {handles: string[]}) {
+ const {getAgent} = useAgent()
return useQuery({
staleTime: STALE.MINUTES.FIVE,
queryKey: profilesQueryKey(handles),
@@ -88,10 +87,11 @@ export function useProfilesQuery({handles}: {handles: string[]}) {
}
export function usePrefetchProfileQuery() {
+ const {getAgent} = useAgent()
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 || ''})
@@ -99,7 +99,7 @@ export function usePrefetchProfileQuery() {
},
})
},
- [queryClient],
+ [queryClient, getAgent],
)
return prefetchProfileQuery
}
@@ -115,6 +115,7 @@ interface ProfileUpdateParams {
}
export function useProfileUpdateMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({
profile,
@@ -154,6 +155,7 @@ export function useProfileUpdateMutation() {
return existing
})
await whenAppViewReady(
+ getAgent,
profile.did,
checkCommitted ||
(res => {
@@ -255,6 +257,7 @@ function useProfileFollowMutation(
profile: Shadow,
) {
const {currentAccount} = useSession()
+ const {getAgent} = useAgent()
const queryClient = useQueryClient()
return useMutation<{uri: string; cid: string}, Error, {did: string}>({
mutationFn: async ({did}) => {
@@ -281,6 +284,7 @@ function useProfileFollowMutation(
function useProfileUnfollowMutation(
logContext: LogEvents['profile:unfollow']['logContext'],
) {
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({followUri}) => {
logEvent('profile:unfollow', {logContext})
@@ -341,6 +345,7 @@ export function useProfileMuteMutationQueue(
function useProfileMuteMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({did}) => {
await getAgent().mute(did)
@@ -353,6 +358,7 @@ function useProfileMuteMutation() {
function useProfileUnmuteMutation() {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useMutation({
mutationFn: async ({did}) => {
await getAgent().unmute(did)
@@ -419,6 +425,7 @@ export function useProfileBlockMutationQueue(
function useProfileBlockMutation() {
const {currentAccount} = useSession()
+ const {getAgent} = useAgent()
const queryClient = useQueryClient()
return useMutation<{uri: string; cid: string}, Error, {did: string}>({
mutationFn: async ({did}) => {
@@ -439,6 +446,7 @@ function useProfileBlockMutation() {
function useProfileUnblockMutation() {
const {currentAccount} = useSession()
+ const {getAgent} = useAgent()
const queryClient = useQueryClient()
return useMutation({
mutationFn: async ({blockUri}) => {
@@ -465,57 +473,8 @@ export function precacheProfile(
queryClient.setQueryData(profileBasicQueryKey(profile.did), profile)
}
-export function precacheFeedPostProfiles(
- queryClient: QueryClient,
- posts: AppBskyFeedDefs.FeedViewPost[],
-) {
- for (const post of posts) {
- // Save the author of the post every time
- precacheProfile(queryClient, post.post.author)
- precachePostEmbedProfile(queryClient, post.post.embed)
-
- // Cache parent author and embeds
- const parent = post.reply?.parent
- if (AppBskyFeedDefs.isPostView(parent)) {
- precacheProfile(queryClient, parent.author)
- precachePostEmbedProfile(queryClient, parent.embed)
- }
- }
-}
-
-function precachePostEmbedProfile(
- queryClient: QueryClient,
- embed: AppBskyFeedDefs.PostView['embed'],
-) {
- if (AppBskyEmbedRecord.isView(embed)) {
- if (AppBskyEmbedRecord.isViewRecord(embed.record)) {
- precacheProfile(queryClient, embed.record.author)
- }
- } else if (AppBskyEmbedRecordWithMedia.isView(embed)) {
- if (AppBskyEmbedRecord.isViewRecord(embed.record.record)) {
- precacheProfile(queryClient, embed.record.record.author)
- }
- }
-}
-
-export function precacheThreadPostProfiles(
- queryClient: QueryClient,
- node: ThreadNode,
-) {
- if (node.type === 'post') {
- precacheProfile(queryClient, node.post.author)
- if (node.parent) {
- precacheThreadPostProfiles(queryClient, node.parent)
- }
- if (node.replies?.length) {
- for (const reply of node.replies) {
- precacheThreadPostProfiles(queryClient, reply)
- }
- }
- }
-}
-
async function whenAppViewReady(
+ getAgent: () => BskyAgent,
actor: string,
fn: (res: AppBskyActorGetProfile.Response) => boolean,
) {
diff --git a/src/state/queries/resolve-uri.ts b/src/state/queries/resolve-uri.ts
index 18005cccf9..b1980f07d1 100644
--- a/src/state/queries/resolve-uri.ts
+++ b/src/state/queries/resolve-uri.ts
@@ -2,7 +2,7 @@ import {AppBskyActorDefs, AtUri} from '@atproto/api'
import {useQuery, useQueryClient, UseQueryResult} from '@tanstack/react-query'
import {STALE} from '#/state/queries'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
import {profileBasicQueryKey as RQKEY_PROFILE_BASIC} from './profile'
const RQKEY_ROOT = 'resolved-did'
@@ -24,6 +24,7 @@ export function useResolveUriQuery(uri: string | undefined): UriUseQueryResult {
export function useResolveDidQuery(didOrHandle: string | undefined) {
const queryClient = useQueryClient()
+ const {getAgent} = useAgent()
return useQuery({
staleTime: STALE.HOURS.ONE,
diff --git a/src/state/queries/search-posts.ts b/src/state/queries/search-posts.ts
index ef8b083584..b0720af3c8 100644
--- a/src/state/queries/search-posts.ts
+++ b/src/state/queries/search-posts.ts
@@ -6,7 +6,7 @@ import {
useInfiniteQuery,
} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
import {embedViewRecordToPostView, getEmbeddedPost} from './util'
const searchPostsQueryKeyRoot = 'search-posts'
@@ -19,10 +19,13 @@ const searchPostsQueryKey = ({query, sort}: {query: string; sort?: string}) => [
export function useSearchPostsQuery({
query,
sort,
+ enabled,
}: {
query: string
sort?: 'top' | 'latest'
+ enabled?: boolean
}) {
+ const {getAgent} = useAgent()
return useInfiniteQuery<
AppBskyFeedSearchPosts.OutputSchema,
Error,
@@ -32,21 +35,17 @@ export function useSearchPostsQuery({
>({
queryKey: searchPostsQueryKey({query, sort}),
queryFn: async ({pageParam}) => {
- // 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
- }
+ const res = await getAgent().app.bsky.feed.searchPosts({
+ q: query,
+ limit: 25,
+ cursor: pageParam,
+ sort,
+ })
+ return res.data
},
initialPageParam: undefined,
getNextPageParam: lastPage => lastPage.cursor,
+ enabled,
})
}
diff --git a/src/state/queries/suggested-feeds.ts b/src/state/queries/suggested-feeds.ts
index 3be0c0b892..c7751448e9 100644
--- a/src/state/queries/suggested-feeds.ts
+++ b/src/state/queries/suggested-feeds.ts
@@ -2,12 +2,13 @@ import {AppBskyFeedGetSuggestedFeeds} from '@atproto/api'
import {InfiniteData, QueryKey, useInfiniteQuery} from '@tanstack/react-query'
import {STALE} from '#/state/queries'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
const suggestedFeedsQueryKeyRoot = 'suggestedFeeds'
export const suggestedFeedsQueryKey = [suggestedFeedsQueryKeyRoot]
export function useSuggestedFeedsQuery() {
+ const {getAgent} = useAgent()
return useInfiniteQuery<
AppBskyFeedGetSuggestedFeeds.OutputSchema,
Error,
diff --git a/src/state/queries/suggested-follows.ts b/src/state/queries/suggested-follows.ts
index a93f935f25..936912ab34 100644
--- a/src/state/queries/suggested-follows.ts
+++ b/src/state/queries/suggested-follows.ts
@@ -1,4 +1,3 @@
-import React from 'react'
import {
AppBskyActorDefs,
AppBskyActorGetSuggestions,
@@ -11,12 +10,11 @@ import {
QueryKey,
useInfiniteQuery,
useQuery,
- useQueryClient,
} from '@tanstack/react-query'
import {STALE} from '#/state/queries'
import {useModerationOpts} from '#/state/queries/preferences'
-import {getAgent, useSession} from '#/state/session'
+import {useAgent, useSession} from '#/state/session'
const suggestedFollowsQueryKeyRoot = 'suggested-follows'
const suggestedFollowsQueryKey = [suggestedFollowsQueryKeyRoot]
@@ -29,6 +27,7 @@ const suggestedFollowsByActorQueryKey = (did: string) => [
export function useSuggestedFollowsQuery() {
const {currentAccount} = useSession()
+ const {getAgent} = useAgent()
const moderationOpts = useModerationOpts()
return useInfiniteQuery<
@@ -79,6 +78,7 @@ export function useSuggestedFollowsQuery() {
}
export function useSuggestedFollowsByActorQuery({did}: {did: string}) {
+ const {getAgent} = useAgent()
return useQuery({
queryKey: suggestedFollowsByActorQueryKey(did),
queryFn: async () => {
@@ -90,29 +90,6 @@ export function useSuggestedFollowsByActorQuery({did}: {did: string}) {
})
}
-export function useGetSuggestedFollowersByActor() {
- const queryClient = useQueryClient()
-
- return React.useCallback(
- async (actor: string) => {
- const res = await queryClient.fetchQuery({
- staleTime: STALE.MINUTES.ONE,
- queryKey: suggestedFollowsByActorQueryKey(actor),
- queryFn: async () => {
- const res =
- await getAgent().app.bsky.graph.getSuggestedFollowsByActor({
- actor: actor,
- })
- return res.data
- },
- })
-
- return res
- },
- [queryClient],
- )
-}
-
export function* findAllProfilesInQueryData(
queryClient: QueryClient,
did: string,
diff --git a/src/state/queries/tenor.ts b/src/state/queries/tenor.ts
new file mode 100644
index 0000000000..80c57479e6
--- /dev/null
+++ b/src/state/queries/tenor.ts
@@ -0,0 +1,173 @@
+import {Platform} from 'react-native'
+import {getLocales} from 'expo-localization'
+import {keepPreviousData, useInfiniteQuery} from '@tanstack/react-query'
+
+import {GIF_FEATURED, GIF_SEARCH} from '#/lib/constants'
+
+export const RQKEY_ROOT = 'gif-service'
+export const RQKEY_FEATURED = [RQKEY_ROOT, 'featured']
+export const RQKEY_SEARCH = (query: string) => [RQKEY_ROOT, 'search', query]
+
+const getTrendingGifs = createTenorApi(GIF_FEATURED)
+
+const searchGifs = createTenorApi<{q: string}>(GIF_SEARCH)
+
+export function useFeaturedGifsQuery() {
+ return useInfiniteQuery({
+ queryKey: RQKEY_FEATURED,
+ queryFn: ({pageParam}) => getTrendingGifs({pos: pageParam}),
+ initialPageParam: undefined as string | undefined,
+ getNextPageParam: lastPage => lastPage.next,
+ })
+}
+
+export function useGifSearchQuery(query: string) {
+ return useInfiniteQuery({
+ queryKey: RQKEY_SEARCH(query),
+ queryFn: ({pageParam}) => searchGifs({q: query, pos: pageParam}),
+ initialPageParam: undefined as string | undefined,
+ getNextPageParam: lastPage => lastPage.next,
+ enabled: !!query,
+ placeholderData: keepPreviousData,
+ })
+}
+
+function createTenorApi (
+ urlFn: (params: string) => string,
+): (input: Input & {pos?: string}) => Promise<{
+ next: string
+ results: Gif[]
+}> {
+ return async input => {
+ const params = new URLSearchParams()
+
+ // set client key based on platform
+ params.set(
+ 'client_key',
+ Platform.select({
+ ios: 'bluesky-ios',
+ android: 'bluesky-android',
+ default: 'bluesky-web',
+ }),
+ )
+
+ // 30 is divisible by 2 and 3, so both 2 and 3 column layouts can be used
+ params.set('limit', '30')
+
+ params.set('contentfilter', 'high')
+
+ params.set(
+ 'media_filter',
+ (['preview', 'gif', 'tinygif'] satisfies ContentFormats[]).join(','),
+ )
+
+ const locale = getLocales?.()?.[0]
+
+ if (locale) {
+ params.set('locale', locale.languageTag.replace('-', '_'))
+ }
+
+ for (const [key, value] of Object.entries(input)) {
+ if (value !== undefined) {
+ params.set(key, String(value))
+ }
+ }
+
+ const res = await fetch(urlFn(params.toString()), {
+ method: 'GET',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ })
+ if (!res.ok) {
+ throw new Error('Failed to fetch Tenor API')
+ }
+ return res.json()
+ }
+}
+
+export type Gif = {
+ /**
+ * A Unix timestamp that represents when this post was created.
+ */
+ created: number
+ /**
+ * Returns true if this post contains audio.
+ * Note: Only video formats support audio. The GIF image file format can't contain audio information.
+ */
+ hasaudio: boolean
+ /**
+ * Tenor result identifier
+ */
+ id: string
+ /**
+ * A dictionary with a content format as the key and a Media Object as the value.
+ */
+ media_formats: Record
+ /**
+ * An array of tags for the post
+ */
+ tags: string[]
+ /**
+ * The title of the post
+ */
+ title: string
+ /**
+ * A textual description of the content.
+ * We recommend that you use content_description for user accessibility features.
+ */
+ content_description: string
+ /**
+ * The full URL to view the post on tenor.com.
+ */
+ itemurl: string
+ /**
+ * Returns true if this post contains captions.
+ */
+ hascaption: boolean
+ /**
+ * Comma-separated list to signify whether the content is a sticker or static image, has audio, or is any combination of these. If sticker and static aren't present, then the content is a GIF. A blank flags field signifies a GIF without audio.
+ */
+ flags: string
+ /**
+ * The most common background pixel color of the content
+ */
+ bg_color?: string
+ /**
+ * A short URL to view the post on tenor.com.
+ */
+ url: string
+}
+
+type MediaObject = {
+ /**
+ * A URL to the media source
+ */
+ url: string
+ /**
+ * Width and height of the media in pixels
+ */
+ dims: [number, number]
+ /**
+ * Represents the time in seconds for one loop of the content. If the content is static, the duration is set to 0.
+ */
+ duration: number
+ /**
+ * Size of the file in bytes
+ */
+ size: number
+}
+
+type ContentFormats =
+ | 'preview'
+ | 'gif'
+ // | 'mediumgif'
+ | 'tinygif'
+// | 'nanogif'
+// | 'mp4'
+// | 'loopedmp4'
+// | 'tinymp4'
+// | 'nanomp4'
+// | 'webm'
+// | 'tinywebm'
+// | 'nanowebm'
diff --git a/src/state/queries/util.ts b/src/state/queries/util.ts
index 54752b332a..b74893fcd1 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,8 @@ export function embedViewRecordToPostView(
indexedAt: v.indexedAt,
labels: v.labels,
embed: v.embeds?.[0],
+ likeCount: v.likeCount,
+ replyCount: v.replyCount,
+ repostCount: v.repostCount,
}
}
diff --git a/src/state/session/index.tsx b/src/state/session/index.tsx
index 5c7cc15916..e45aa031f4 100644
--- a/src/state/session/index.tsx
+++ b/src/state/session/index.tsx
@@ -9,30 +9,28 @@ import {jwtDecode} from 'jwt-decode'
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 {logEvent, LogEvents, tryFetchGates} 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 {useLoggedOutViewControls} from '#/state/shell/logged-out'
import {useCloseAllActiveElements} from '#/state/util'
+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
-/**
- * NOTE
- * Never hold on to the object returned by this function.
- * Call `getAgent()` at the time of invocation to ensure
- * that you never have a stale agent.
- */
-export function getAgent() {
+function __getAgent() {
return __globalAgent
}
+export function useAgent() {
+ return React.useMemo(() => ({getAgent: __getAgent}), [])
+}
+
export type SessionAccount = persisted.PersistedAccount
export type SessionState = {
@@ -59,6 +57,7 @@ export type ApiContext = {
service: string
identifier: string
password: string
+ authFactorToken?: string | undefined
},
logContext: LogEvents['account:loggedIn']['logContext'],
) => Promise
@@ -87,7 +86,10 @@ export type ApiContext = {
) => Promise
updateCurrentAccount: (
account: Partial<
- Pick
+ Pick<
+ SessionAccount,
+ 'handle' | 'email' | 'emailConfirmed' | 'emailAuthFactor'
+ >
>,
) => void
}
@@ -113,6 +115,7 @@ const ApiContext = React.createContext({
})
function createPersistSessionHandler(
+ agent: BskyAgent,
account: SessionAccount,
persistSessionCallback: (props: {
expired: boolean
@@ -140,6 +143,7 @@ function createPersistSessionHandler(
email: session?.email || account.email,
emailConfirmed: session?.emailConfirmed || account.emailConfirmed,
deactivated: isSessionDeactivated(session?.accessJwt),
+ pdsUrl: agent.pdsUrl?.toString(),
/*
* Tokens are undefined if the session expires, or if creation fails for
@@ -243,6 +247,10 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
if (!agent.session) {
throw new Error(`session: createAccount failed to establish a session`)
}
+ const fetchingGates = tryFetchGates(
+ agent.session.did,
+ 'prefer-fresh-gates',
+ )
const deactivated = isSessionDeactivated(agent.session.accessJwt)
if (!deactivated) {
@@ -268,12 +276,14 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
refreshJwt: agent.session.refreshJwt,
accessJwt: agent.session.accessJwt,
deactivated,
+ pdsUrl: agent.pdsUrl?.toString(),
}
await configureModeration(agent, account)
agent.setPersistSessionHandler(
createPersistSessionHandler(
+ agent,
account,
({expired, refreshedAccount}) => {
upsertAccount(refreshedAccount, expired)
@@ -283,6 +293,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
)
__globalAgent = agent
+ await fetchingGates
upsertAccount(account)
logger.debug(`session: created account`, {}, logger.DebugContext.session)
@@ -293,16 +304,20 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
)
const login = React.useCallback(
- async ({service, identifier, password}, logContext) => {
+ async ({service, identifier, password, authFactorToken}, logContext) => {
logger.debug(`session: login`, {}, logger.DebugContext.session)
const agent = new BskyAgent({service})
- await agent.login({identifier, password})
+ await agent.login({identifier, password, authFactorToken})
if (!agent.session) {
throw new Error(`session: login failed to establish a session`)
}
+ const fetchingGates = tryFetchGates(
+ agent.session.did,
+ 'prefer-fresh-gates',
+ )
const account: SessionAccount = {
service: agent.service.toString(),
@@ -310,15 +325,18 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
handle: agent.session.handle,
email: agent.session.email,
emailConfirmed: agent.session.emailConfirmed || false,
+ emailAuthFactor: agent.session.emailAuthFactor,
refreshJwt: agent.session.refreshJwt,
accessJwt: agent.session.accessJwt,
deactivated: isSessionDeactivated(agent.session.accessJwt),
+ pdsUrl: agent.pdsUrl?.toString(),
}
await configureModeration(agent, account)
agent.setPersistSessionHandler(
createPersistSessionHandler(
+ agent,
account,
({expired, refreshedAccount}) => {
upsertAccount(refreshedAccount, expired)
@@ -330,6 +348,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
__globalAgent = agent
// @ts-ignore
if (IS_DEV && isWeb) window.agent = agent
+ await fetchingGates
upsertAccount(account)
logger.debug(`session: logged in`, {}, logger.DebugContext.session)
@@ -362,17 +381,26 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
const initSession = React.useCallback(
async account => {
logger.debug(`session: initSession`, {}, logger.DebugContext.session)
+ const fetchingGates = tryFetchGates(account.did, 'prefer-low-latency')
+
+ const agent = new BskyAgent({service: account.service})
+
+ // restore the correct PDS URL if available
+ if (account.pdsUrl) {
+ agent.pdsUrl = agent.api.xrpc.uri = new URL(account.pdsUrl)
+ }
- const agent = new BskyAgent({
- service: account.service,
- persistSession: createPersistSessionHandler(
+ agent.setPersistSessionHandler(
+ createPersistSessionHandler(
+ agent,
account,
({expired, refreshedAccount}) => {
upsertAccount(refreshedAccount, expired)
},
{networkErrorCallback: clearCurrentAccount},
),
- })
+ )
+
// @ts-ignore
if (IS_DEV && isWeb) window.agent = agent
await configureModeration(agent, account)
@@ -405,7 +433,9 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
logger.debug(`session: attempting to reuse previous session`)
agent.session = prevSession
+
__globalAgent = agent
+ await fetchingGates
upsertAccount(account)
if (prevSession.deactivated) {
@@ -442,6 +472,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
try {
const freshAccount = await resumeSessionWithFreshAccount()
__globalAgent = agent
+ await fetchingGates
upsertAccount(freshAccount)
} catch (e) {
/*
@@ -476,9 +507,11 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
handle: agent.session.handle,
email: agent.session.email,
emailConfirmed: agent.session.emailConfirmed || false,
+ emailAuthFactor: agent.session.emailAuthFactor || false,
refreshJwt: agent.session.refreshJwt,
accessJwt: agent.session.accessJwt,
deactivated: isSessionDeactivated(agent.session.accessJwt),
+ pdsUrl: agent.pdsUrl?.toString(),
}
}
},
@@ -533,6 +566,10 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
account.emailConfirmed !== undefined
? account.emailConfirmed
: currentAccount.emailConfirmed,
+ emailAuthFactor:
+ account.emailAuthFactor !== undefined
+ ? account.emailAuthFactor
+ : currentAccount.emailAuthFactor,
}
return {
@@ -702,8 +739,8 @@ export function useSessionApi() {
export function useRequireAuth() {
const {hasSession} = useSession()
- const {setShowLoggedOut} = useLoggedOutViewControls()
const closeAll = useCloseAllActiveElements()
+ const {signinDialogControl} = useGlobalDialogsControlContext()
return React.useCallback(
(fn: () => void) => {
@@ -711,10 +748,10 @@ export function useRequireAuth() {
fn()
} else {
closeAll()
- setShowLoggedOut(true)
+ signinDialogControl.open()
}
},
- [hasSession, setShowLoggedOut, closeAll],
+ [hasSession, signinDialogControl, closeAll],
)
}
diff --git a/src/state/session/util/readLastActiveAccount.ts b/src/state/session/util/readLastActiveAccount.ts
new file mode 100644
index 0000000000..e0768b8a83
--- /dev/null
+++ b/src/state/session/util/readLastActiveAccount.ts
@@ -0,0 +1,6 @@
+import * as persisted from '#/state/persisted'
+
+export function readLastActiveAccount() {
+ const {currentAccount, accounts} = persisted.get('session')
+ return accounts.find(a => a.did === currentAccount?.did)
+}
diff --git a/src/state/shell/selected-feed.tsx b/src/state/shell/selected-feed.tsx
index 5c0ac0b02a..df50b3952f 100644
--- a/src/state/shell/selected-feed.tsx
+++ b/src/state/shell/selected-feed.tsx
@@ -1,5 +1,6 @@
import React from 'react'
+import {Gate} from '#/lib/statsig/gates'
import {useGate} from '#/lib/statsig/statsig'
import {isWeb} from '#/platform/detection'
import * as persisted from '#/state/persisted'
@@ -10,7 +11,7 @@ type SetContext = (v: string) => void
const stateContext = React.createContext('home')
const setContext = React.createContext((_: string) => {})
-function getInitialFeed(startSessionWithFollowing: boolean) {
+function getInitialFeed(gate: (gateName: Gate) => boolean) {
if (isWeb) {
if (window.location.pathname === '/') {
const params = new URLSearchParams(window.location.search)
@@ -26,7 +27,7 @@ function getInitialFeed(startSessionWithFollowing: boolean) {
return feedFromSession
}
}
- if (!startSessionWithFollowing) {
+ if (!gate('start_session_with_following_v2')) {
const feedFromPersisted = persisted.get('lastSelectedHomeFeed')
if (feedFromPersisted) {
// Fall back to the last chosen one across all tabs.
@@ -37,10 +38,8 @@ function getInitialFeed(startSessionWithFollowing: boolean) {
}
export function Provider({children}: React.PropsWithChildren<{}>) {
- const startSessionWithFollowing = useGate('start_session_with_following')
- const [state, setState] = React.useState(() =>
- getInitialFeed(startSessionWithFollowing),
- )
+ const gate = useGate()
+ const [state, setState] = React.useState(() => getInitialFeed(gate))
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 4c8c35da73..0000000000
--- a/src/view/com/auth/HomeLoggedOutCTA.tsx
+++ /dev/null
@@ -1,170 +0,0 @@
-import React from 'react'
-import {StyleSheet, TouchableOpacity, View} from 'react-native'
-import {msg, Trans} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-
-import {usePalette} from '#/lib/hooks/usePalette'
-import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
-import {colors, s} from '#/lib/styles'
-import {useLoggedOutViewControls} from '#/state/shell/logged-out'
-import {TextLink} from '../util/Link'
-import {Text} from '../util/text/Text'
-import {ScrollView} from '../util/Views'
-
-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/Onboarding.tsx b/src/view/com/auth/Onboarding.tsx
deleted file mode 100644
index bdb7f27c81..0000000000
--- a/src/view/com/auth/Onboarding.tsx
+++ /dev/null
@@ -1,51 +0,0 @@
-import React from 'react'
-import {SafeAreaView, Platform} from 'react-native'
-import {ErrorBoundary} from 'view/com/util/ErrorBoundary'
-import {s} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {Welcome} from './onboarding/Welcome'
-import {RecommendedFeeds} from './onboarding/RecommendedFeeds'
-import {RecommendedFollows} from './onboarding/RecommendedFollows'
-import {useSetMinimalShellMode} from '#/state/shell/minimal-mode'
-import {useOnboardingState, useOnboardingDispatch} from '#/state/shell'
-
-export function Onboarding() {
- const pal = usePalette('default')
- const setMinimalShellMode = useSetMinimalShellMode()
- const onboardingState = useOnboardingState()
- const onboardingDispatch = useOnboardingDispatch()
-
- React.useEffect(() => {
- setMinimalShellMode(true)
- }, [setMinimalShellMode])
-
- const next = () => onboardingDispatch({type: 'next'})
- const skip = () => onboardingDispatch({type: 'skip'})
-
- return (
-
-
- {onboardingState.step === 'Welcome' && (
-
- )}
- {onboardingState.step === 'RecommendedFeeds' && (
-
- )}
- {onboardingState.step === 'RecommendedFollows' && (
-
- )}
-
-
- )
-}
diff --git a/src/view/com/auth/SplashScreen.tsx b/src/view/com/auth/SplashScreen.tsx
index 763b01dfa1..8eac1ab82f 100644
--- a/src/view/com/auth/SplashScreen.tsx
+++ b/src/view/com/auth/SplashScreen.tsx
@@ -1,19 +1,15 @@
import React from 'react'
import {View} from 'react-native'
-import RNPickerSelect, {PickerSelectProps} from 'react-native-picker-select'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {sanitizeAppLanguageSetting} from '#/locale/helpers'
-import {APP_LANGUAGES} from '#/locale/languages'
-import {useLanguagePrefs, useLanguagePrefsApi} from '#/state/preferences'
import {Logo} from '#/view/icons/Logo'
import {Logotype} from '#/view/icons/Logotype'
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 {ChevronBottom_Stroke2_Corner0_Rounded as ChevronDown} from '#/components/icons/Chevron'
import {Text} from '#/components/Typography'
import {CenteredView} from '../util/Views'
@@ -27,22 +23,8 @@ export const SplashScreen = ({
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 (
@@ -99,43 +81,7 @@ export const SplashScreen = ({
a.justify_center,
a.align_center,
]}>
-
- 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/view/com/auth/SplashScreen.web.tsx b/src/view/com/auth/SplashScreen.web.tsx
index 7a2ee16cf3..f905e1e8d5 100644
--- a/src/view/com/auth/SplashScreen.web.tsx
+++ b/src/view/com/auth/SplashScreen.web.tsx
@@ -4,16 +4,13 @@ import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {sanitizeAppLanguageSetting} from '#/locale/helpers'
-import {APP_LANGUAGES} from '#/locale/languages'
-import {useLanguagePrefs, useLanguagePrefsApi} from '#/state/preferences'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
import {Logo} from '#/view/icons/Logo'
import {Logotype} from '#/view/icons/Logotype'
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 {ChevronBottom_Stroke2_Corner0_Rounded as ChevronDown} from '#/components/icons/Chevron'
import {InlineLinkText} from '#/components/Link'
import {Text} from '#/components/Typography'
import {CenteredView} from '../util/Views'
@@ -131,23 +128,6 @@ export const SplashScreen = ({
function Footer() {
const t = useTheme()
- 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],
- )
-
return (
-
-
- {APP_LANGUAGES.find(l => l.code2 === sanitizedLang)?.name}
-
-
-
-
- {APP_LANGUAGES.filter(l => Boolean(l.code2)).map(l => (
-
- {l.name}
-
- ))}
-
-
+
)
}
diff --git a/src/view/com/auth/onboarding/RecommendedFeeds.tsx b/src/view/com/auth/onboarding/RecommendedFeeds.tsx
deleted file mode 100644
index d3318bffd8..0000000000
--- a/src/view/com/auth/onboarding/RecommendedFeeds.tsx
+++ /dev/null
@@ -1,209 +0,0 @@
-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 {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
-}
-export function RecommendedFeeds({next}: Props) {
- const pal = usePalette('default')
- const {_} = useLingui()
- const {isTabletOrMobile} = useWebMediaQueries()
- const {isLoading, data} = useSuggestedFeedsQuery()
-
- const hasFeeds = data && data.pages[0].feeds.length
-
- const title = (
- <>
-
-
- Choose your
-
-
- Recommended
-
-
- Feeds
-
-
-
-
- Feeds are created by users to curate content. Choose some feeds that
- you find interesting.
-
-
-
-
-
-
- Next
-
-
-
-
-
- >
- )
-
- return (
- <>
-
-
- {hasFeeds ? (
- }
- keyExtractor={item => item.uri}
- style={{flex: 1}}
- />
- ) : isLoading ? (
-
-
-
- ) : (
-
- )}
-
-
-
-
-
-
-
- Check out some recommended feeds. Tap + to add them to your list
- of pinned feeds.
-
-
-
- {hasFeeds ? (
- }
- keyExtractor={item => item.uri}
- style={{flex: 1}}
- />
- ) : isLoading ? (
-
-
-
- ) : (
-
-
-
- )}
-
-
-
-
- >
- )
-}
-
-const tdStyles = StyleSheet.create({
- container: {
- flex: 1,
- marginHorizontal: 16,
- justifyContent: 'space-between',
- },
- title1: {
- fontSize: 36,
- fontWeight: '800',
- textAlign: 'right',
- },
- title1Small: {
- fontSize: 24,
- },
- title2: {
- fontSize: 58,
- fontWeight: '800',
- textAlign: 'right',
- },
- title2Small: {
- fontSize: 36,
- },
- description: {
- maxWidth: 400,
- marginTop: 10,
- marginLeft: 'auto',
- textAlign: 'right',
- },
-})
-
-const mStyles = StyleSheet.create({
- container: {
- flex: 1,
- justifyContent: 'space-between',
- },
- header: {
- marginBottom: 16,
- marginHorizontal: 16,
- },
- button: {
- marginBottom: 16,
- marginHorizontal: 16,
- marginTop: 16,
- alignItems: 'center',
- },
- buttonText: {
- textAlign: 'center',
- fontSize: 18,
- paddingVertical: 4,
- },
-})
diff --git a/src/view/com/auth/onboarding/RecommendedFeedsItem.tsx b/src/view/com/auth/onboarding/RecommendedFeedsItem.tsx
deleted file mode 100644
index ea3e1f725d..0000000000
--- a/src/view/com/auth/onboarding/RecommendedFeedsItem.tsx
+++ /dev/null
@@ -1,172 +0,0 @@
-import React from 'react'
-import {View} from 'react-native'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {AppBskyFeedDefs, RichText as BskRichText} from '@atproto/api'
-import {Text} from 'view/com/util/text/Text'
-import {RichText} from 'view/com/util/text/RichText'
-import {Button} from 'view/com/util/forms/Button'
-import {UserAvatar} from 'view/com/util/UserAvatar'
-import * as Toast from 'view/com/util/Toast'
-import {HeartIcon} from 'lib/icons'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {sanitizeHandle} from 'lib/strings/handles'
-import {
- usePreferencesQuery,
- usePinFeedMutation,
- useRemoveFeedMutation,
-} from '#/state/queries/preferences'
-import {logger} from '#/logger'
-import {useAnalytics} from '#/lib/analytics/analytics'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-
-export function RecommendedFeedsItem({
- item,
-}: {
- item: AppBskyFeedDefs.GeneratorView
-}) {
- const {isMobile} = useWebMediaQueries()
- const pal = usePalette('default')
- const {_} = useLingui()
- const {data: preferences} = usePreferencesQuery()
- const {
- mutateAsync: pinFeed,
- variables: pinnedFeed,
- reset: resetPinFeed,
- } = usePinFeedMutation()
- const {
- mutateAsync: removeFeed,
- variables: removedFeed,
- reset: resetRemoveFeed,
- } = useRemoveFeedMutation()
- const {track} = useAnalytics()
-
- if (!item || !preferences) return null
-
- const isPinned =
- !removedFeed?.uri &&
- (pinnedFeed?.uri || preferences.feeds.saved.includes(item.uri))
-
- const onToggle = async () => {
- if (isPinned) {
- try {
- await removeFeed({uri: item.uri})
- resetRemoveFeed()
- } catch (e) {
- Toast.show(_(msg`There was an issue contacting your server`))
- logger.error('Failed to unsave feed', {message: e})
- }
- } else {
- try {
- await pinFeed({uri: item.uri})
- resetPinFeed()
- track('Onboarding:CustomFeedAdded')
- } catch (e) {
- Toast.show(_(msg`There was an issue contacting your server`))
- logger.error('Failed to pin feed', {message: e})
- }
- }
- }
-
- return (
-
-
-
-
-
-
-
- {item.displayName}
-
-
-
- by {sanitizeHandle(item.creator.handle, '@')}
-
-
- {item.description ? (
-
- ) : null}
-
-
-
-
- {isPinned ? (
- <>
-
-
- Added
-
- >
- ) : (
- <>
-
-
- Add
-
- >
- )}
-
-
-
-
-
-
- {item.likeCount || 0}
-
-
-
-
-
-
- )
-}
diff --git a/src/view/com/auth/onboarding/RecommendedFollows.tsx b/src/view/com/auth/onboarding/RecommendedFollows.tsx
deleted file mode 100644
index d275f6c90e..0000000000
--- a/src/view/com/auth/onboarding/RecommendedFollows.tsx
+++ /dev/null
@@ -1,270 +0,0 @@
-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 {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'
-
-type Props = {
- next: () => void
-}
-export function RecommendedFollows({next}: Props) {
- const pal = usePalette('default')
- const {_} = useLingui()
- const {isTabletOrMobile} = useWebMediaQueries()
- const {data: suggestedFollows} = useSuggestedFollowsQuery()
- const getSuggestedFollowsByActor = useGetSuggestedFollowersByActor()
- const [additionalSuggestions, setAdditionalSuggestions] = React.useState<{
- [did: string]: AppBskyActorDefs.ProfileView[]
- }>({})
- const existingDids = React.useRef([])
- const moderationOpts = useModerationOpts()
-
- const title = (
- <>
-
-
- Follow some
-
-
- Recommended
-
-
- Users
-
-
-
-
- Follow some users to get started. We can recommend you more users
- based on who you find interesting.
-
-
-
-
-
-
- Done
-
-
-
-
-
- >
- )
-
- const suggestions = React.useMemo(() => {
- if (!suggestedFollows) return []
-
- const additional = Object.entries(additionalSuggestions)
- const items = suggestedFollows.pages.flatMap(page => page.actors)
-
- outer: while (additional.length) {
- const additionalAccount = additional.shift()
-
- if (!additionalAccount) break
-
- const [followedUser, relatedAccounts] = additionalAccount
-
- for (let i = 0; i < items.length; i++) {
- if (items[i].did === followedUser) {
- items.splice(i + 1, 0, ...relatedAccounts)
- continue outer
- }
- }
- }
-
- existingDids.current = items.map(i => i.did)
-
- return items
- }, [suggestedFollows, additionalSuggestions])
-
- const onFollowStateChange = React.useCallback(
- async ({following, did}: {following: boolean; did: string}) => {
- if (following) {
- try {
- const {suggestions: results} = await getSuggestedFollowsByActor(did)
-
- if (results.length) {
- const deduped = results.filter(
- r => !existingDids.current.find(did => did === r.did),
- )
- setAdditionalSuggestions(s => ({
- ...s,
- [did]: deduped.slice(0, 3),
- }))
- }
- } catch (e) {
- logger.error('RecommendedFollows: failed to get suggestions', {
- message: e,
- })
- }
- }
-
- // not handling the unfollow case
- },
- [existingDids, getSuggestedFollowsByActor, setAdditionalSuggestions],
- )
-
- return (
- <>
-
-
- {!suggestedFollows || !moderationOpts ? (
-
- ) : (
- (
-
- )}
- keyExtractor={item => item.did}
- style={{flex: 1}}
- />
- )}
-
-
-
-
-
-
-
-
-
- Check out some recommended users. Follow them to see similar
- users.
-
-
-
- {!suggestedFollows || !moderationOpts ? (
-
- ) : (
- (
-
- )}
- keyExtractor={item => item.did}
- style={{flex: 1}}
- />
- )}
-
-
-
- >
- )
-}
-
-const tdStyles = StyleSheet.create({
- container: {
- flex: 1,
- marginHorizontal: 16,
- justifyContent: 'space-between',
- },
- title1: {
- fontSize: 36,
- fontWeight: '800',
- textAlign: 'right',
- },
- title1Small: {
- fontSize: 24,
- },
- title2: {
- fontSize: 58,
- fontWeight: '800',
- textAlign: 'right',
- },
- title2Small: {
- fontSize: 36,
- },
- description: {
- maxWidth: 400,
- marginTop: 10,
- marginLeft: 'auto',
- textAlign: 'right',
- },
-})
-
-const mStyles = StyleSheet.create({
- container: {
- flex: 1,
- justifyContent: 'space-between',
- },
- header: {
- marginBottom: 16,
- marginHorizontal: 16,
- },
- button: {
- marginBottom: 16,
- marginHorizontal: 16,
- marginTop: 16,
- alignItems: 'center',
- },
- buttonText: {
- textAlign: 'center',
- fontSize: 18,
- paddingVertical: 4,
- },
-})
diff --git a/src/view/com/auth/onboarding/RecommendedFollowsItem.tsx b/src/view/com/auth/onboarding/RecommendedFollowsItem.tsx
deleted file mode 100644
index dba3f8c569..0000000000
--- a/src/view/com/auth/onboarding/RecommendedFollowsItem.tsx
+++ /dev/null
@@ -1,202 +0,0 @@
-import React from 'react'
-import {View, StyleSheet, ActivityIndicator} from 'react-native'
-import {ModerationDecision, AppBskyActorDefs} from '@atproto/api'
-import {Button} from '#/view/com/util/forms/Button'
-import {usePalette} from 'lib/hooks/usePalette'
-import {sanitizeDisplayName} from 'lib/strings/display-names'
-import {sanitizeHandle} from 'lib/strings/handles'
-import {s} from 'lib/styles'
-import {UserAvatar} from 'view/com/util/UserAvatar'
-import {Text} from 'view/com/util/text/Text'
-import Animated, {FadeInRight} from 'react-native-reanimated'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {useLingui} from '@lingui/react'
-import {Trans, msg} from '@lingui/macro'
-import {Shadow, useProfileShadow} from '#/state/cache/profile-shadow'
-import {useProfileFollowMutationQueue} from '#/state/queries/profile'
-import {logger} from '#/logger'
-
-type Props = {
- profile: AppBskyActorDefs.ProfileViewBasic
- moderation: ModerationDecision
- onFollowStateChange: (props: {
- did: string
- following: boolean
- }) => Promise
-}
-
-export function RecommendedFollowsItem({
- profile,
- moderation,
- onFollowStateChange,
-}: React.PropsWithChildren) {
- const pal = usePalette('default')
- const {isMobile} = useWebMediaQueries()
- const shadowedProfile = useProfileShadow(profile)
-
- return (
-
-
-
- )
-}
-
-function ProfileCard({
- profile,
- onFollowStateChange,
- moderation,
-}: {
- profile: Shadow
- moderation: ModerationDecision
- onFollowStateChange: (props: {
- did: string
- following: boolean
- }) => Promise
-}) {
- const {track} = useAnalytics()
- const pal = usePalette('default')
- const {_} = useLingui()
- const [addingMoreSuggestions, setAddingMoreSuggestions] =
- React.useState(false)
- const [queueFollow, queueUnfollow] = useProfileFollowMutationQueue(
- profile,
- 'RecommendedFollowsItem',
- )
-
- const onToggleFollow = React.useCallback(async () => {
- try {
- if (profile.viewer?.following) {
- await queueUnfollow()
- } else {
- setAddingMoreSuggestions(true)
- await queueFollow()
- await onFollowStateChange({did: profile.did, following: true})
- setAddingMoreSuggestions(false)
- track('Onboarding:SuggestedFollowFollowed')
- }
- } catch (e: any) {
- if (e?.name !== 'AbortError') {
- logger.error('RecommendedFollows: failed to toggle following', {
- message: e,
- })
- }
- } finally {
- setAddingMoreSuggestions(false)
- }
- }, [
- profile,
- queueFollow,
- queueUnfollow,
- setAddingMoreSuggestions,
- track,
- onFollowStateChange,
- ])
-
- return (
-
-
-
-
-
-
-
- {sanitizeDisplayName(
- profile.displayName || sanitizeHandle(profile.handle),
- moderation.ui('displayName'),
- )}
-
-
- {sanitizeHandle(profile.handle, '@')}
-
-
-
-
-
- {profile.description ? (
-
-
- {profile.description as string}
-
-
- ) : undefined}
- {addingMoreSuggestions ? (
-
-
-
- Finding similar accounts...
-
-
- ) : null}
-
- )
-}
-
-const styles = StyleSheet.create({
- cardContainer: {
- borderTopWidth: 1,
- },
- card: {
- paddingHorizontal: 10,
- },
- layout: {
- flexDirection: 'row',
- alignItems: 'center',
- },
- layoutAvi: {
- width: 54,
- paddingLeft: 4,
- paddingTop: 8,
- paddingBottom: 10,
- },
- layoutContent: {
- flex: 1,
- paddingRight: 10,
- paddingTop: 10,
- paddingBottom: 10,
- },
- details: {
- paddingLeft: 54,
- paddingRight: 10,
- paddingBottom: 10,
- },
- addingMoreContainer: {
- flexDirection: 'row',
- alignItems: 'center',
- paddingLeft: 54,
- paddingTop: 4,
- paddingBottom: 12,
- gap: 4,
- },
- followButton: {
- fontSize: 16,
- },
-})
diff --git a/src/view/com/auth/onboarding/Welcome.tsx b/src/view/com/auth/onboarding/Welcome.tsx
deleted file mode 100644
index b44b58f843..0000000000
--- a/src/view/com/auth/onboarding/Welcome.tsx
+++ /dev/null
@@ -1,10 +0,0 @@
-import 'react'
-import {withBreakpoints} from 'view/com/util/layouts/withBreakpoints'
-import {WelcomeDesktop} from './WelcomeDesktop'
-import {WelcomeMobile} from './WelcomeMobile'
-
-export const Welcome = withBreakpoints(
- WelcomeMobile,
- WelcomeDesktop,
- WelcomeDesktop,
-)
diff --git a/src/view/com/auth/onboarding/WelcomeDesktop.tsx b/src/view/com/auth/onboarding/WelcomeDesktop.tsx
deleted file mode 100644
index fdb31197c0..0000000000
--- a/src/view/com/auth/onboarding/WelcomeDesktop.tsx
+++ /dev/null
@@ -1,126 +0,0 @@
-import React from 'react'
-import {StyleSheet, View} from 'react-native'
-import {useMediaQuery} from 'react-responsive'
-import {Text} from 'view/com/util/text/Text'
-import {s} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {TitleColumnLayout} from 'view/com/util/layouts/TitleColumnLayout'
-import {Button} from 'view/com/util/forms/Button'
-import {Trans} from '@lingui/macro'
-
-type Props = {
- next: () => void
- skip: () => void
-}
-
-export function WelcomeDesktop({next}: Props) {
- const pal = usePalette('default')
- const horizontal = useMediaQuery({minWidth: 1300})
- const title = (
-
-
- Welcome to
-
-
- Bluesky
-
-
- )
- return (
-
-
-
-
-
- Bluesky is public.
-
-
-
- Your posts, likes, and blocks are public. Mutes are private.
-
-
-
-
-
-
-
-
- Bluesky is open.
-
-
- Never lose access to your followers and data.
-
-
-
-
-
-
-
- Bluesky is flexible.
-
-
-
- Choose the algorithms that power your experience with custom
- feeds.
-
-
-
-
-
-
-
-
-
- Next
-
-
-
-
-
-
- )
-}
-
-const styles = StyleSheet.create({
- row: {
- flexDirection: 'row',
- columnGap: 20,
- alignItems: 'center',
- marginVertical: 20,
- },
- rowText: {
- flex: 1,
- },
- spacer: {
- height: 20,
- },
-})
diff --git a/src/view/com/auth/onboarding/WelcomeMobile.tsx b/src/view/com/auth/onboarding/WelcomeMobile.tsx
deleted file mode 100644
index b8659d56cd..0000000000
--- a/src/view/com/auth/onboarding/WelcomeMobile.tsx
+++ /dev/null
@@ -1,136 +0,0 @@
-import React from 'react'
-import {Pressable, StyleSheet, View} from 'react-native'
-import {Text} from 'view/com/util/text/Text'
-import {s} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {Button} from 'view/com/util/forms/Button'
-import {ViewHeader} from 'view/com/util/ViewHeader'
-import {useLingui} from '@lingui/react'
-import {Trans, msg} from '@lingui/macro'
-
-type Props = {
- next: () => void
- skip: () => void
-}
-
-export function WelcomeMobile({next, skip}: Props) {
- const pal = usePalette('default')
- const {_} = useLingui()
-
- return (
-
- {
- return (
-
-
- Skip
-
-
-
- )
- }}
- />
-
-
-
- Welcome to{' '}
- Bluesky
-
-
-
-
-
-
-
- Bluesky is public.
-
-
-
- Your posts, likes, and blocks are public. Mutes are private.
-
-
-
-
-
-
-
-
- Bluesky is open.
-
-
- Never lose access to your followers and data.
-
-
-
-
-
-
-
- Bluesky is flexible.
-
-
-
- Choose the algorithms that power your experience with custom
- feeds.
-
-
-
-
-
-
-
-
- )
-}
-
-const styles = StyleSheet.create({
- container: {
- flex: 1,
- marginBottom: 60,
- marginHorizontal: 16,
- justifyContent: 'space-between',
- },
- title: {
- fontSize: 42,
- fontWeight: '800',
- },
- row: {
- flexDirection: 'row',
- columnGap: 20,
- alignItems: 'center',
- marginVertical: 20,
- },
- rowText: {
- flex: 1,
- },
- spacer: {
- height: 20,
- },
- buttonContainer: {
- alignItems: 'center',
- },
- buttonText: {
- textAlign: 'center',
- fontSize: 18,
- marginVertical: 4,
- },
-})
diff --git a/src/view/com/composer/Composer.tsx b/src/view/com/composer/Composer.tsx
index 24f61a2ee1..0ac4ac56e3 100644
--- a/src/view/com/composer/Composer.tsx
+++ b/src/view/com/composer/Composer.tsx
@@ -5,7 +5,6 @@ import {
Keyboard,
KeyboardAvoidingView,
Platform,
- Pressable,
ScrollView,
StyleSheet,
TouchableOpacity,
@@ -19,6 +18,7 @@ import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {observer} from 'mobx-react-lite'
+import {LikelyType} from '#/lib/link-meta/link-meta'
import {logEvent} from '#/lib/statsig/statsig'
import {logger} from '#/logger'
import {emitPostCreated} from '#/state/events'
@@ -30,8 +30,9 @@ import {
useLanguagePrefsApi,
} from '#/state/preferences/languages'
import {useProfileQuery} from '#/state/queries/profile'
+import {Gif} from '#/state/queries/tenor'
import {ThreadgateSetting} from '#/state/queries/threadgate'
-import {getAgent, useSession} from '#/state/session'
+import {useAgent, useSession} from '#/state/session'
import {useComposerControls} from '#/state/shell/composer'
import {useAnalytics} from 'lib/analytics/analytics'
import * as apilib from 'lib/api/index'
@@ -42,15 +43,17 @@ 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 {atoms as a} from '#/alf'
+import {Button} from '#/components/Button'
+import {EmojiArc_Stroke2_Corner0_Rounded as EmojiSmile} from '#/components/icons/Emoji'
import * as Prompt from '#/components/Prompt'
-import {QuoteEmbed} from '../util/post-embeds/QuoteEmbed'
+import {QuoteEmbed, QuoteX} from '../util/post-embeds/QuoteEmbed'
import {Text} from '../util/text/Text'
import * as Toast from '../util/Toast'
import {UserAvatar} from '../util/UserAvatar'
@@ -59,6 +62,7 @@ import {ExternalEmbed} from './ExternalEmbed'
import {LabelsBtn} from './labels/LabelsBtn'
import {Gallery} from './photos/Gallery'
import {OpenCameraBtn} from './photos/OpenCameraBtn'
+import {SelectGifBtn} from './photos/SelectGifBtn'
import {SelectPhotoBtn} from './photos/SelectPhotoBtn'
import {SelectLangBtn} from './select-language/SelectLangBtn'
import {SuggestedLanguage} from './select-language/SuggestedLanguage'
@@ -79,6 +83,7 @@ export const ComposePost = observer(function ComposePost({
imageUris: initImageUris,
}: Props) {
const {currentAccount} = useSession()
+ const {getAgent} = useAgent()
const {data: currentProfile} = useProfileQuery({did: currentAccount!.did})
const {isModalActive} = useModals()
const {closeComposer} = useComposerControls()
@@ -117,9 +122,9 @@ export const ComposePost = observer(function ComposePost({
initQuote,
)
const {extLink, setExtLink} = useExternalLinkFetch({setQuote})
+ const [extGif, setExtGif] = useState()
const [labels, setLabels] = useState([])
const [threadgate, setThreadgate] = useState([])
- const [suggestedLinks, setSuggestedLinks] = useState>(new Set())
const gallery = useMemo(
() => new GalleryModel(initImageUris),
[initImageUris],
@@ -189,11 +194,12 @@ export const ComposePost = observer(function ComposePost({
}
}, [onEscape, isModalActive])
- const onPressAddLinkCard = useCallback(
+ const onNewLink = useCallback(
(uri: string) => {
+ if (extLink != null) return
setExtLink({uri, isLoading: true})
},
- [setExtLink],
+ [extLink, setExtLink],
)
const onPhotoPasted = useCallback(
@@ -214,7 +220,12 @@ export const ComposePost = observer(function ComposePost({
setError('')
- if (richtext.text.trim().length === 0 && gallery.isEmpty && !extLink) {
+ if (
+ richtext.text.trim().length === 0 &&
+ gallery.isEmpty &&
+ !extLink &&
+ !quote
+ ) {
setError(_(msg`Did you want to say anything?`))
return
}
@@ -295,13 +306,35 @@ export const ComposePost = observer(function ComposePost({
? _(msg`Write your reply`)
: _(msg`What's up?`)
- const canSelectImages = useMemo(() => gallery.size < 4, [gallery.size])
+ const canSelectImages = gallery.size < 4 && !extLink
const hasMedia = gallery.size > 0 || Boolean(extLink)
const onEmojiButtonPress = useCallback(() => {
openPicker?.(textInput.current?.getCursorPosition())
}, [openPicker])
+ const focusTextInput = useCallback(() => {
+ textInput.current?.focus()
+ }, [])
+
+ const onSelectGif = useCallback(
+ (gif: Gif) => {
+ setExtLink({
+ uri: `${gif.media_formats.gif.url}?hh=${gif.media_formats.gif.dims[1]}&ww=${gif.media_formats.gif.dims[0]}`,
+ isLoading: true,
+ meta: {
+ url: gif.media_formats.gif.url,
+ image: gif.media_formats.preview.url,
+ likelyType: LikelyType.HTML,
+ title: gif.content_description,
+ description: `ALT: ${gif.content_description}`,
+ },
+ })
+ setExtGif(gif)
+ },
+ [setExtLink],
+ )
+
return (
setExtLink(undefined)}
+ gif={extGif}
+ onRemove={() => {
+ setExtLink(undefined)
+ setExtGif(undefined)
+ }}
/>
)}
{quote ? (
-
-
+
+
+
+
+ {quote.uri !== initQuote?.uri && (
+ setQuote(undefined)} />
+ )}
) : undefined}
- {!extLink && suggestedLinks.size > 0 ? (
-
- {Array.from(suggestedLinks)
- .slice(0, 3)
- .map(url => (
- onPressAddLinkCard(url)}
- accessibilityRole="button"
- accessibilityLabel={_(msg`Add link card`)}
- accessibilityHint={_(
- msg`Creates a card with a thumbnail. The card links to ${url}`,
- )}>
-
- Add link card: {' '}
- {toShortUrl(url)}
-
-
- ))}
-
- ) : null}
- {canSelectImages ? (
- <>
-
-
- >
- ) : null}
- {!isMobile ? (
-
-
-
- ) : null}
+
+
+
+
+ {!isMobile ? (
+
+
+
+ ) : null}
+
@@ -591,7 +611,7 @@ const styles = StyleSheet.create({
},
bottomBar: {
flexDirection: 'row',
- paddingVertical: 10,
+ paddingVertical: 4,
paddingLeft: 15,
paddingRight: 20,
alignItems: 'center',
diff --git a/src/view/com/composer/ComposerReplyTo.tsx b/src/view/com/composer/ComposerReplyTo.tsx
index 0c1b87d04d..7dc17fd4a7 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,9 @@ export function ComposerReplyTo({replyTo}: {replyTo: ComposerOptsPostRef}) {
accessibilityHint={_(
msg`Expand or collapse the full post you are replying to`,
)}>
-
@@ -216,6 +217,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/ExternalEmbed.tsx b/src/view/com/composer/ExternalEmbed.tsx
index 02dd1bbd75..321e29b30a 100644
--- a/src/view/com/composer/ExternalEmbed.tsx
+++ b/src/view/com/composer/ExternalEmbed.tsx
@@ -1,70 +1,82 @@
import React from 'react'
-import {
- ActivityIndicator,
- StyleSheet,
- TouchableOpacity,
- View,
-} from 'react-native'
+import {StyleProp, TouchableOpacity, View, ViewStyle} from 'react-native'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {AutoSizedImage} from '../util/images/AutoSizedImage'
-import {Text} from '../util/text/Text'
-import {s} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {ExternalEmbedDraft} from 'lib/api/index'
-import {useLingui} from '@lingui/react'
import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {ExternalEmbedDraft} from 'lib/api/index'
+import {s} from 'lib/styles'
+import {Gif} from 'state/queries/tenor'
+import {ExternalLinkEmbed} from 'view/com/util/post-embeds/ExternalLinkEmbed'
+import {atoms as a, useTheme} from '#/alf'
+import {Loader} from '#/components/Loader'
+import {Text} from '#/components/Typography'
export const ExternalEmbed = ({
link,
onRemove,
+ gif,
}: {
link?: ExternalEmbedDraft
onRemove: () => void
+ gif?: Gif
}) => {
- const pal = usePalette('default')
- const palError = usePalette('error')
+ const t = useTheme()
const {_} = useLingui()
- if (!link) {
- return
- }
+
+ const linkInfo = React.useMemo(
+ () =>
+ link && {
+ title: link.meta?.title ?? link.uri,
+ uri: link.uri,
+ description: link.meta?.description ?? '',
+ thumb: link.localThumb?.path,
+ },
+ [link],
+ )
+
+ if (!link) return null
+
+ const loadingStyle: ViewStyle | undefined = gif
+ ? {
+ aspectRatio:
+ gif.media_formats.gif.dims[0] / gif.media_formats.gif.dims[1],
+ width: '100%',
+ }
+ : undefined
+
return (
-
+
{link.isLoading ? (
-
-
-
- ) : link.localThumb ? (
-
- ) : undefined}
-
- {!!link.meta?.title && (
-
- {link.meta.title}
+
+
+
+ ) : link.meta?.error ? (
+
+
+ {link.uri}
- )}
-
- {link.uri}
-
- {!!link.meta?.description && (
-
- {link.meta.description}
+
+ {link.meta?.error}
- )}
- {link.meta?.error ? (
-
- {link.meta.error}
-
- ) : null}
-
+
+ ) : linkInfo ? (
+
+
+
+ ) : null}
+ children: React.ReactNode
+}) {
+ const t = useTheme()
+ return (
+
+ {children}
+
+ )
+}
diff --git a/src/view/com/composer/photos/OpenCameraBtn.tsx b/src/view/com/composer/photos/OpenCameraBtn.tsx
index 4353704d57..8f9152e34d 100644
--- a/src/view/com/composer/photos/OpenCameraBtn.tsx
+++ b/src/view/com/composer/photos/OpenCameraBtn.tsx
@@ -1,32 +1,31 @@
import React, {useCallback} from 'react'
-import {TouchableOpacity, StyleSheet} from 'react-native'
import * as MediaLibrary from 'expo-media-library'
-import {
- FontAwesomeIcon,
- FontAwesomeIconStyle,
-} from '@fortawesome/react-native-fontawesome'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {openCamera} from 'lib/media/picker'
-import {useCameraPermission} from 'lib/hooks/usePermissions'
-import {HITSLOP_10, POST_IMG_MAX} from 'lib/constants'
-import {GalleryModel} from 'state/models/media/gallery'
-import {isMobileWeb, isNative} from 'platform/detection'
-import {logger} from '#/logger'
-import {useLingui} from '@lingui/react'
import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {POST_IMG_MAX} from '#/lib/constants'
+import {useCameraPermission} from '#/lib/hooks/usePermissions'
+import {openCamera} from '#/lib/media/picker'
+import {logger} from '#/logger'
+import {isMobileWeb, isNative} from '#/platform/detection'
+import {GalleryModel} from '#/state/models/media/gallery'
+import {atoms as a, useTheme} from '#/alf'
+import {Button} from '#/components/Button'
+import {Camera_Stroke2_Corner0_Rounded as Camera} from '#/components/icons/Camera'
type Props = {
gallery: GalleryModel
+ disabled?: boolean
}
-export function OpenCameraBtn({gallery}: Props) {
- const pal = usePalette('default')
+export function OpenCameraBtn({gallery, disabled}: Props) {
const {track} = useAnalytics()
const {_} = useLingui()
const {requestCameraAccessIfNeeded} = useCameraPermission()
const [mediaPermissionRes, requestMediaPermission] =
MediaLibrary.usePermissions()
+ const t = useTheme()
const onPressTakePicture = useCallback(async () => {
track('Composer:CameraOpened')
@@ -68,25 +67,17 @@ export function OpenCameraBtn({gallery}: Props) {
}
return (
-
-
-
+ label={_(msg`Camera`)}
+ accessibilityHint={_(msg`Opens camera on device`)}
+ style={a.p_sm}
+ variant="ghost"
+ shape="round"
+ color="primary"
+ disabled={disabled}>
+
+
)
}
-
-const styles = StyleSheet.create({
- button: {
- paddingHorizontal: 15,
- },
-})
diff --git a/src/view/com/composer/photos/SelectGifBtn.tsx b/src/view/com/composer/photos/SelectGifBtn.tsx
new file mode 100644
index 0000000000..60cef9a192
--- /dev/null
+++ b/src/view/com/composer/photos/SelectGifBtn.tsx
@@ -0,0 +1,53 @@
+import React, {useCallback} from 'react'
+import {Keyboard} from 'react-native'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {logEvent} from '#/lib/statsig/statsig'
+import {Gif} from '#/state/queries/tenor'
+import {atoms as a, useTheme} from '#/alf'
+import {Button} from '#/components/Button'
+import {useDialogControl} from '#/components/Dialog'
+import {GifSelectDialog} from '#/components/dialogs/GifSelect'
+import {GifSquare_Stroke2_Corner0_Rounded as GifIcon} from '#/components/icons/Gif'
+
+type Props = {
+ onClose: () => void
+ onSelectGif: (gif: Gif) => void
+ disabled?: boolean
+}
+
+export function SelectGifBtn({onClose, onSelectGif, disabled}: Props) {
+ const {_} = useLingui()
+ const control = useDialogControl()
+ const t = useTheme()
+
+ const onPressSelectGif = useCallback(async () => {
+ logEvent('composer:gif:open', {})
+ Keyboard.dismiss()
+ control.open()
+ }, [control])
+
+ return (
+ <>
+
+
+
+
+
+ >
+ )
+}
diff --git a/src/view/com/composer/photos/SelectPhotoBtn.tsx b/src/view/com/composer/photos/SelectPhotoBtn.tsx
index f7fa9502d6..747653fc8d 100644
--- a/src/view/com/composer/photos/SelectPhotoBtn.tsx
+++ b/src/view/com/composer/photos/SelectPhotoBtn.tsx
@@ -1,27 +1,26 @@
+/* eslint-disable react-native-a11y/has-valid-accessibility-ignores-invert-colors */
import React, {useCallback} from 'react'
-import {TouchableOpacity, StyleSheet} from 'react-native'
-import {
- FontAwesomeIcon,
- FontAwesomeIconStyle,
-} from '@fortawesome/react-native-fontawesome'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {usePhotoLibraryPermission} from 'lib/hooks/usePermissions'
-import {GalleryModel} from 'state/models/media/gallery'
-import {HITSLOP_10} from 'lib/constants'
-import {isNative} from 'platform/detection'
-import {useLingui} from '@lingui/react'
import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {usePhotoLibraryPermission} from '#/lib/hooks/usePermissions'
+import {isNative} from '#/platform/detection'
+import {GalleryModel} from '#/state/models/media/gallery'
+import {atoms as a, useTheme} from '#/alf'
+import {Button} from '#/components/Button'
+import {Image_Stroke2_Corner0_Rounded as Image} from '#/components/icons/Image'
type Props = {
gallery: GalleryModel
+ disabled?: boolean
}
-export function SelectPhotoBtn({gallery}: Props) {
- const pal = usePalette('default')
+export function SelectPhotoBtn({gallery, disabled}: Props) {
const {track} = useAnalytics()
const {_} = useLingui()
const {requestPhotoAccessIfNeeded} = usePhotoLibraryPermission()
+ const t = useTheme()
const onPressSelectPhotos = useCallback(async () => {
track('Composer:GalleryOpened')
@@ -34,25 +33,17 @@ export function SelectPhotoBtn({gallery}: Props) {
}, [track, requestPhotoAccessIfNeeded, gallery])
return (
-
-
-
+ label={_(msg`Gallery`)}
+ accessibilityHint={_(msg`Opens device photo gallery`)}
+ style={a.p_sm}
+ variant="ghost"
+ shape="round"
+ color="primary"
+ disabled={disabled}>
+
+
)
}
-
-const styles = StyleSheet.create({
- button: {
- paddingHorizontal: 15,
- },
-})
diff --git a/src/view/com/composer/text-input/TextInput.tsx b/src/view/com/composer/text-input/TextInput.tsx
index 20be585c25..cb16e3c666 100644
--- a/src/view/com/composer/text-input/TextInput.tsx
+++ b/src/view/com/composer/text-input/TextInput.tsx
@@ -1,10 +1,10 @@
import React, {
+ ComponentProps,
forwardRef,
useCallback,
- useRef,
useMemo,
+ useRef,
useState,
- ComponentProps,
} from 'react'
import {
NativeSyntheticEvent,
@@ -13,22 +13,26 @@ import {
TextInputSelectionChangeEventData,
View,
} from 'react-native'
+import {AppBskyRichtextFacet, RichText} from '@atproto/api'
import PasteInput, {
PastedFile,
PasteInputRef,
} from '@mattermost/react-native-paste-input'
-import {AppBskyRichtextFacet, RichText} from '@atproto/api'
-import isEqual from 'lodash.isequal'
-import {Autocomplete} from './mobile/Autocomplete'
-import {Text} from 'view/com/util/text/Text'
+
+import {POST_IMG_MAX} from 'lib/constants'
+import {usePalette} from 'lib/hooks/usePalette'
+import {downloadAndResize} from 'lib/media/manip'
+import {isUriImage} from 'lib/media/util'
import {cleanError} from 'lib/strings/errors'
import {getMentionAt, insertMentionAt} from 'lib/strings/mention-manip'
-import {usePalette} from 'lib/hooks/usePalette'
import {useTheme} from 'lib/ThemeContext'
-import {isUriImage} from 'lib/media/util'
-import {downloadAndResize} from 'lib/media/manip'
-import {POST_IMG_MAX} from 'lib/constants'
import {isIOS} from 'platform/detection'
+import {
+ LinkFacetMatch,
+ suggestLinkCardUri,
+} from 'view/com/composer/text-input/text-input-util'
+import {Text} from 'view/com/util/text/Text'
+import {Autocomplete} from './mobile/Autocomplete'
export interface TextInputRef {
focus: () => void
@@ -39,11 +43,10 @@ export interface TextInputRef {
interface TextInputProps extends ComponentProps {
richtext: RichText
placeholder: string
- suggestedLinks: Set
setRichText: (v: RichText | ((v: RichText) => RichText)) => void
onPhotoPasted: (uri: string) => void
onPressPublish: (richtext: RichText) => Promise
- onSuggestedLinksChanged: (uris: Set) => void
+ onNewLink: (uri: string) => void
onError: (err: string) => void
}
@@ -56,10 +59,9 @@ export const TextInput = forwardRef(function TextInputImpl(
{
richtext,
placeholder,
- suggestedLinks,
setRichText,
onPhotoPasted,
- onSuggestedLinksChanged,
+ onNewLink,
onError,
...props
}: TextInputProps,
@@ -70,6 +72,7 @@ export const TextInput = forwardRef(function TextInputImpl(
const textInputSelection = useRef({start: 0, end: 0})
const theme = useTheme()
const [autocompletePrefix, setAutocompletePrefix] = useState('')
+ const prevLength = React.useRef(richtext.length)
React.useImperativeHandle(ref, () => ({
focus: () => textInput.current?.focus(),
@@ -79,6 +82,8 @@ export const TextInput = forwardRef(function TextInputImpl(
getCursorPosition: () => undefined, // Not implemented on native
}))
+ const pastSuggestedUris = useRef(new Set())
+ const prevDetectedUris = useRef(new Map())
const onChangeText = useCallback(
(newText: string) => {
/*
@@ -92,6 +97,8 @@ export const TextInput = forwardRef(function TextInputImpl(
* @see https://github.com/bluesky-social/social-app/issues/929
*/
setTimeout(async () => {
+ const mayBePaste = newText.length > prevLength.current + 1
+
const newRt = new RichText({text: newText})
newRt.detectFacetsWithoutResolution()
setRichText(newRt)
@@ -106,8 +113,7 @@ export const TextInput = forwardRef(function TextInputImpl(
setAutocompletePrefix('')
}
- const set: Set = new Set()
-
+ const nextDetectedUris = new Map()
if (newRt.facets) {
for (const facet of newRt.facets) {
for (const feature of facet.features) {
@@ -126,26 +132,26 @@ export const TextInput = forwardRef(function TextInputImpl(
onPhotoPasted(res.path)
}
} else {
- set.add(feature.uri)
+ nextDetectedUris.set(feature.uri, {facet, rt: newRt})
}
}
}
}
}
-
- if (!isEqual(set, suggestedLinks)) {
- onSuggestedLinksChanged(set)
+ const suggestedUri = suggestLinkCardUri(
+ mayBePaste,
+ nextDetectedUris,
+ prevDetectedUris.current,
+ pastSuggestedUris.current,
+ )
+ prevDetectedUris.current = nextDetectedUris
+ if (suggestedUri) {
+ onNewLink(suggestedUri)
}
+ prevLength.current = newText.length
}, 1)
},
- [
- setRichText,
- autocompletePrefix,
- setAutocompletePrefix,
- suggestedLinks,
- onSuggestedLinksChanged,
- onPhotoPasted,
- ],
+ [setRichText, autocompletePrefix, onPhotoPasted, onNewLink],
)
const onPaste = useCallback(
diff --git a/src/view/com/composer/text-input/TextInput.web.tsx b/src/view/com/composer/text-input/TextInput.web.tsx
index c62d11201f..7f8dc2ed5e 100644
--- a/src/view/com/composer/text-input/TextInput.web.tsx
+++ b/src/view/com/composer/text-input/TextInput.web.tsx
@@ -1,28 +1,32 @@
-import React from 'react'
+import React, {useRef} from 'react'
import {StyleSheet, View} from 'react-native'
-import {RichText, AppBskyRichtextFacet} from '@atproto/api'
-import EventEmitter from 'eventemitter3'
-import {useEditor, EditorContent, JSONContent} from '@tiptap/react'
+import Animated, {FadeIn, FadeOut} from 'react-native-reanimated'
+import {AppBskyRichtextFacet, RichText} from '@atproto/api'
+import {Trans} from '@lingui/macro'
import {Document} from '@tiptap/extension-document'
-import History from '@tiptap/extension-history'
import Hardbreak from '@tiptap/extension-hard-break'
+import History from '@tiptap/extension-history'
import {Mention} from '@tiptap/extension-mention'
import {Paragraph} from '@tiptap/extension-paragraph'
import {Placeholder} from '@tiptap/extension-placeholder'
import {Text as TiptapText} from '@tiptap/extension-text'
-import isEqual from 'lodash.isequal'
-import {createSuggestion} from './web/Autocomplete'
-import {useColorSchemeStyle} from 'lib/hooks/useColorSchemeStyle'
-import {isUriImage, blobToDataUri} from 'lib/media/util'
-import {Emoji} from './web/EmojiPicker.web'
-import {LinkDecorator} from './web/LinkDecorator'
import {generateJSON} from '@tiptap/html'
-import {useActorAutocompleteFn} from '#/state/queries/actor-autocomplete'
+import {EditorContent, JSONContent, useEditor} from '@tiptap/react'
+import EventEmitter from 'eventemitter3'
+
import {usePalette} from '#/lib/hooks/usePalette'
+import {useActorAutocompleteFn} from '#/state/queries/actor-autocomplete'
+import {useColorSchemeStyle} from 'lib/hooks/useColorSchemeStyle'
+import {blobToDataUri, isUriImage} from 'lib/media/util'
+import {
+ LinkFacetMatch,
+ suggestLinkCardUri,
+} from 'view/com/composer/text-input/text-input-util'
import {Portal} from '#/components/Portal'
import {Text} from '../../util/text/Text'
-import {Trans} from '@lingui/macro'
-import Animated, {FadeIn, FadeOut} from 'react-native-reanimated'
+import {createSuggestion} from './web/Autocomplete'
+import {Emoji} from './web/EmojiPicker.web'
+import {LinkDecorator} from './web/LinkDecorator'
import {TagDecorator} from './web/TagDecorator'
export interface TextInputRef {
@@ -38,7 +42,7 @@ interface TextInputProps {
setRichText: (v: RichText | ((v: RichText) => RichText)) => void
onPhotoPasted: (uri: string) => void
onPressPublish: (richtext: RichText) => Promise
- onSuggestedLinksChanged: (uris: Set) => void
+ onNewLink: (uri: string) => void
onError: (err: string) => void
}
@@ -48,17 +52,15 @@ export const TextInput = React.forwardRef(function TextInputImpl(
{
richtext,
placeholder,
- suggestedLinks,
setRichText,
onPhotoPasted,
onPressPublish,
- onSuggestedLinksChanged,
+ onNewLink,
}: // onError, TODO
TextInputProps,
ref,
) {
const autocomplete = useActorAutocompleteFn()
-
const pal = usePalette('default')
const modeClass = useColorSchemeStyle('ProseMirror-light', 'ProseMirror-dark')
@@ -139,6 +141,8 @@ export const TextInput = React.forwardRef(function TextInputImpl(
}
}, [setIsDropping])
+ const pastSuggestedUris = useRef(new Set())
+ const prevDetectedUris = useRef(new Map())
const editor = useEditor(
{
extensions,
@@ -180,25 +184,33 @@ export const TextInput = React.forwardRef(function TextInputImpl(
},
onUpdate({editor: editorProp}) {
const json = editorProp.getJSON()
+ const newText = editorJsonToText(json)
+ const isPaste = window.event?.type === 'paste'
- const newRt = new RichText({text: editorJsonToText(json).trimEnd()})
+ const newRt = new RichText({text: newText})
newRt.detectFacetsWithoutResolution()
setRichText(newRt)
- const set: Set = new Set()
-
+ const nextDetectedUris = new Map()
if (newRt.facets) {
for (const facet of newRt.facets) {
for (const feature of facet.features) {
if (AppBskyRichtextFacet.isLink(feature)) {
- set.add(feature.uri)
+ nextDetectedUris.set(feature.uri, {facet, rt: newRt})
}
}
}
}
- if (!isEqual(set, suggestedLinks)) {
- onSuggestedLinksChanged(set)
+ const suggestedUri = suggestLinkCardUri(
+ isPaste,
+ nextDetectedUris,
+ prevDetectedUris.current,
+ pastSuggestedUris.current,
+ )
+ prevDetectedUris.current = nextDetectedUris
+ if (suggestedUri) {
+ onNewLink(suggestedUri)
}
},
},
@@ -256,15 +268,29 @@ export const TextInput = React.forwardRef(function TextInputImpl(
)
})
-function editorJsonToText(json: JSONContent): string {
+function editorJsonToText(
+ json: JSONContent,
+ isLastDocumentChild: boolean = false,
+): string {
let text = ''
- if (json.type === 'doc' || json.type === 'paragraph') {
+ if (json.type === 'doc') {
+ if (json.content?.length) {
+ for (let i = 0; i < json.content.length; i++) {
+ const node = json.content[i]
+ const isLastNode = i === json.content.length - 1
+ text += editorJsonToText(node, isLastNode)
+ }
+ }
+ } else if (json.type === 'paragraph') {
if (json.content?.length) {
- for (const node of json.content) {
+ for (let i = 0; i < json.content.length; i++) {
+ const node = json.content[i]
text += editorJsonToText(node)
}
}
- text += '\n'
+ if (!isLastDocumentChild) {
+ text += '\n'
+ }
} else if (json.type === 'hardBreak') {
text += '\n'
} else if (json.type === 'text') {
diff --git a/src/view/com/composer/text-input/text-input-util.ts b/src/view/com/composer/text-input/text-input-util.ts
new file mode 100644
index 0000000000..cbe8ef6af7
--- /dev/null
+++ b/src/view/com/composer/text-input/text-input-util.ts
@@ -0,0 +1,92 @@
+import {AppBskyRichtextFacet, RichText} from '@atproto/api'
+
+export type LinkFacetMatch = {
+ rt: RichText
+ facet: AppBskyRichtextFacet.Main
+}
+
+export function suggestLinkCardUri(
+ mayBePaste: boolean,
+ nextDetectedUris: Map,
+ prevDetectedUris: Map,
+ pastSuggestedUris: Set,
+): string | undefined {
+ const suggestedUris = new Set()
+ for (const [uri, nextMatch] of nextDetectedUris) {
+ if (!isValidUrlAndDomain(uri)) {
+ continue
+ }
+ if (pastSuggestedUris.has(uri)) {
+ // Don't suggest already added or already dismissed link cards.
+ continue
+ }
+ if (mayBePaste) {
+ // Immediately add the pasted link without waiting to type more.
+ suggestedUris.add(uri)
+ continue
+ }
+ const prevMatch = prevDetectedUris.get(uri)
+ if (!prevMatch) {
+ // If the same exact link wasn't already detected during the last keystroke,
+ // it means you're probably still typing it. Disregard until it stabilizes.
+ continue
+ }
+ const prevTextAfterUri = prevMatch.rt.unicodeText.slice(
+ prevMatch.facet.index.byteEnd,
+ )
+ const nextTextAfterUri = nextMatch.rt.unicodeText.slice(
+ nextMatch.facet.index.byteEnd,
+ )
+ if (prevTextAfterUri === nextTextAfterUri) {
+ // The text you're editing is before the link, e.g.
+ // "abc google.com" -> "abcd google.com".
+ // This is a good time to add the link.
+ suggestedUris.add(uri)
+ continue
+ }
+ if (/^\s/m.test(nextTextAfterUri)) {
+ // The link is followed by a space, e.g.
+ // "google.com" -> "google.com " or
+ // "google.com." -> "google.com ".
+ // This is a clear indicator we can linkify it.
+ suggestedUris.add(uri)
+ continue
+ }
+ if (
+ /^[)]?[.,:;!?)](\s|$)/m.test(prevTextAfterUri) &&
+ /^[)]?[.,:;!?)]\s/m.test(nextTextAfterUri)
+ ) {
+ // The link was *already* being followed by punctuation,
+ // and now it's followed both by punctuation and a space.
+ // This means you're typing after punctuation, e.g.
+ // "google.com." -> "google.com. " or
+ // "google.com.foo" -> "google.com. foo".
+ // This means you're not typing the link anymore, so we can linkify it.
+ suggestedUris.add(uri)
+ continue
+ }
+ }
+ for (const uri of pastSuggestedUris) {
+ if (!nextDetectedUris.has(uri)) {
+ // If a link is no longer detected, it's eligible for suggestions next time.
+ pastSuggestedUris.delete(uri)
+ }
+ }
+
+ let suggestedUri: string | undefined
+ if (suggestedUris.size > 0) {
+ suggestedUri = Array.from(suggestedUris)[0]
+ pastSuggestedUris.add(suggestedUri)
+ }
+
+ return suggestedUri
+}
+
+// https://stackoverflow.com/questions/8667070/javascript-regular-expression-to-validate-url
+// question credit Muhammad Imran Tariq https://stackoverflow.com/users/420613/muhammad-imran-tariq
+// answer credit Christian David https://stackoverflow.com/users/967956/christian-david
+function isValidUrlAndDomain(value: string) {
+ return /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(
+ value,
+ )
+}
diff --git a/src/view/com/composer/text-input/web/LinkDecorator.ts b/src/view/com/composer/text-input/web/LinkDecorator.ts
index e36ac80e42..60f2d40855 100644
--- a/src/view/com/composer/text-input/web/LinkDecorator.ts
+++ b/src/view/com/composer/text-input/web/LinkDecorator.ts
@@ -14,11 +14,11 @@
* the facet-set.
*/
+import {URL_REGEX} from '@atproto/api'
import {Mark} from '@tiptap/core'
-import {Plugin, PluginKey} from '@tiptap/pm/state'
import {Node as ProsemirrorNode} from '@tiptap/pm/model'
+import {Plugin, PluginKey} from '@tiptap/pm/state'
import {Decoration, DecorationSet} from '@tiptap/pm/view'
-import {URL_REGEX} from '@atproto/api'
import {isValidDomain} from 'lib/strings/url-helpers'
@@ -91,7 +91,7 @@ function iterateUris(str: string, cb: (from: number, to: number) => void) {
uri = `https://${uri}`
}
let from = str.indexOf(match[2], match.index)
- let to = from + match[2].length + 1
+ let to = from + match[2].length
// strip ending puncuation
if (/[.,;!?]$/.test(uri)) {
uri = uri.slice(0, -1)
diff --git a/src/view/com/composer/useExternalLinkFetch.e2e.ts b/src/view/com/composer/useExternalLinkFetch.e2e.ts
index ccf619db37..65ecb866e7 100644
--- a/src/view/com/composer/useExternalLinkFetch.e2e.ts
+++ b/src/view/com/composer/useExternalLinkFetch.e2e.ts
@@ -1,12 +1,14 @@
-import {useState, useEffect} from 'react'
+import {useEffect, useState} from 'react'
+
+import {useAgent} from '#/state/session'
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 {getAgent} = useAgent()
const [extLink, setExtLink] = useState(
undefined,
)
@@ -39,7 +41,7 @@ export function useExternalLinkFetch({}: {
})
}
return cleanup
- }, [extLink])
+ }, [extLink, getAgent])
return {extLink, setExtLink}
}
diff --git a/src/view/com/composer/useExternalLinkFetch.ts b/src/view/com/composer/useExternalLinkFetch.ts
index 54773d565c..d51dec42b1 100644
--- a/src/view/com/composer/useExternalLinkFetch.ts
+++ b/src/view/com/composer/useExternalLinkFetch.ts
@@ -1,24 +1,25 @@
-import {useState, useEffect} from 'react'
-import {ImageModel} from 'state/models/media/image'
+import {useEffect, useState} from 'react'
+
+import {logger} from '#/logger'
+import {useFetchDid} from '#/state/queries/handle'
+import {useGetPost} from '#/state/queries/post'
+import {useAgent} from '#/state/session'
import * as apilib from 'lib/api/index'
-import {getLinkMeta} from 'lib/link-meta/link-meta'
+import {POST_IMG_MAX} from 'lib/constants'
import {
- getPostAsQuote,
getFeedAsEmbed,
getListAsEmbed,
+ getPostAsQuote,
} from 'lib/link-meta/bsky'
+import {getLinkMeta} from 'lib/link-meta/link-meta'
import {downloadAndResize} from 'lib/media/manip'
import {
- isBskyPostUrl,
isBskyCustomFeedUrl,
isBskyListUrl,
+ isBskyPostUrl,
} from 'lib/strings/url-helpers'
+import {ImageModel} from 'state/models/media/image'
import {ComposerOpts} from 'state/shell/composer'
-import {POST_IMG_MAX} from 'lib/constants'
-import {logger} from '#/logger'
-import {getAgent} from '#/state/session'
-import {useGetPost} from '#/state/queries/post'
-import {useFetchDid} from '#/state/queries/handle'
export function useExternalLinkFetch({
setQuote,
@@ -30,6 +31,7 @@ export function useExternalLinkFetch({
)
const getPost = useGetPost()
const fetchDid = useFetchDid()
+ const {getAgent} = useAgent()
useEffect(() => {
let aborted = false
@@ -135,7 +137,7 @@ export function useExternalLinkFetch({
})
}
return cleanup
- }, [extLink, setQuote, getPost, fetchDid])
+ }, [extLink, setQuote, getPost, fetchDid, getAgent])
return {extLink, setExtLink}
}
diff --git a/src/view/com/feeds/FeedPage.tsx b/src/view/com/feeds/FeedPage.tsx
index 25c7e1006d..4ebf64da9a 100644
--- a/src/view/com/feeds/FeedPage.tsx
+++ b/src/view/com/feeds/FeedPage.tsx
@@ -53,6 +53,7 @@ export function FeedPage({
const headerOffset = useHeaderOffset()
const scrollElRef = React.useRef(null)
const [hasNew, setHasNew] = React.useState(false)
+ const gate = useGate()
const scrollToTop = React.useCallback(() => {
scrollElRef.current?.scrollToOffset({
@@ -103,16 +104,11 @@ export function FeedPage({
})
}, [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
- }
+ const isDiscoverFeed =
+ feed ===
+ 'feedgen|at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot'
+ const adjustedHasNew =
+ hasNew && !(isDiscoverFeed && gate('disable_poll_on_discover_v2'))
return (
@@ -122,7 +118,7 @@ export function FeedPage({
enabled={isPageFocused}
feed={feed}
feedParams={feedParams}
- pollInterval={feedPollInterval}
+ pollInterval={POLL_FREQ}
disablePoll={hasNew}
scrollElRef={scrollElRef}
onScrolledDownChange={setIsScrolledDown}
@@ -132,11 +128,11 @@ export function FeedPage({
headerOffset={headerOffset}
/>
- {(isScrolledDown || hasNew) && (
+ {(isScrolledDown || adjustedHasNew) && (
)}
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 {logger} from '#/logger'
+import {isNative} from '#/platform/detection'
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 {isNative} from '#/platform/detection'
-import {useLingui} from '@lingui/react'
+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 (
(Stages.InputEmail)
diff --git a/src/view/com/modals/ChangeHandle.tsx b/src/view/com/modals/ChangeHandle.tsx
index 125da44be7..ae43d1e328 100644
--- a/src/view/com/modals/ChangeHandle.tsx
+++ b/src/view/com/modals/ChangeHandle.tsx
@@ -16,8 +16,8 @@ import {useModalControls} from '#/state/modals'
import {useFetchDid, useUpdateHandleMutation} from '#/state/queries/handle'
import {useServiceQuery} from '#/state/queries/service'
import {
- getAgent,
SessionAccount,
+ useAgent,
useSession,
useSessionApi,
} from '#/state/session'
@@ -40,6 +40,7 @@ export type Props = {onChanged: () => void}
export function Component(props: Props) {
const {currentAccount} = useSession()
+ const {getAgent} = useAgent()
const {
isLoading,
data: serviceInfo,
diff --git a/src/view/com/modals/ChangePassword.tsx b/src/view/com/modals/ChangePassword.tsx
index 4badc88aaa..3ce7306b9d 100644
--- a/src/view/com/modals/ChangePassword.tsx
+++ b/src/view/com/modals/ChangePassword.tsx
@@ -6,24 +6,25 @@ import {
TouchableOpacity,
View,
} from 'react-native'
-import {ScrollView} from './util'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {TextInput} from './util'
-import {Text} from '../util/text/Text'
-import {Button} from '../util/forms/Button'
-import {ErrorMessage} from '../util/error/ErrorMessage'
-import {s, colors} from 'lib/styles'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import * as EmailValidator from 'email-validator'
+
+import {logger} from '#/logger'
+import {useModalControls} from '#/state/modals'
+import {useAgent, useSession} from '#/state/session'
import {usePalette} from 'lib/hooks/usePalette'
-import {isAndroid, isWeb} from 'platform/detection'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
import {cleanError, isNetworkError} from 'lib/strings/errors'
import {checkAndFormatResetCode} from 'lib/strings/password'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useModalControls} from '#/state/modals'
-import {useSession, getAgent} from '#/state/session'
-import * as EmailValidator from 'email-validator'
-import {logger} from '#/logger'
+import {colors, s} from 'lib/styles'
+import {isAndroid, isWeb} from 'platform/detection'
+import {ErrorMessage} from '../util/error/ErrorMessage'
+import {Button} from '../util/forms/Button'
+import {Text} from '../util/text/Text'
+import {ScrollView} from './util'
+import {TextInput} from './util'
enum Stages {
RequestCode,
@@ -36,6 +37,7 @@ export const snapPoints = isAndroid ? ['90%'] : ['45%']
export function Component() {
const pal = usePalette('default')
const {currentAccount} = useSession()
+ const {getAgent} = useAgent()
const {_} = useLingui()
const [stage, setStage] = useState(Stages.RequestCode)
const [isProcessing, setIsProcessing] = useState(false)
diff --git a/src/view/com/modals/CreateOrEditList.tsx b/src/view/com/modals/CreateOrEditList.tsx
index f5f4f56db0..2dff636afc 100644
--- a/src/view/com/modals/CreateOrEditList.tsx
+++ b/src/view/com/modals/CreateOrEditList.tsx
@@ -25,7 +25,7 @@ import {
useListCreateMutation,
useListMetadataMutation,
} from '#/state/queries/list'
-import {getAgent} from '#/state/session'
+import {useAgent} from '#/state/session'
import {useAnalytics} from 'lib/analytics/analytics'
import {usePalette} from 'lib/hooks/usePalette'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
@@ -62,6 +62,7 @@ export function Component({
const {_} = useLingui()
const listCreateMutation = useListCreateMutation()
const listMetadataMutation = useListMetadataMutation()
+ const {getAgent} = useAgent()
const activePurpose = useMemo(() => {
if (list?.purpose) {
@@ -228,6 +229,7 @@ export function Component({
listMetadataMutation,
listCreateMutation,
_,
+ getAgent,
])
return (
diff --git a/src/view/com/modals/DeleteAccount.tsx b/src/view/com/modals/DeleteAccount.tsx
index 4c4fb20f18..5e68daef9a 100644
--- a/src/view/com/modals/DeleteAccount.tsx
+++ b/src/view/com/modals/DeleteAccount.tsx
@@ -11,7 +11,7 @@ import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {useModalControls} from '#/state/modals'
-import {getAgent, useSession, useSessionApi} from '#/state/session'
+import {useAgent, useSession, useSessionApi} from '#/state/session'
import {usePalette} from 'lib/hooks/usePalette'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
import {cleanError} from 'lib/strings/errors'
@@ -30,6 +30,7 @@ export function Component({}: {}) {
const pal = usePalette('default')
const theme = useTheme()
const {currentAccount} = useSession()
+ const {getAgent} = useAgent()
const {clearCurrentAccount, removeAccount} = useSessionApi()
const {_} = useLingui()
const {closeModal} = useModalControls()
diff --git a/src/view/com/modals/VerifyEmail.tsx b/src/view/com/modals/VerifyEmail.tsx
index d3086d3831..d6a3006cc9 100644
--- a/src/view/com/modals/VerifyEmail.tsx
+++ b/src/view/com/modals/VerifyEmail.tsx
@@ -6,23 +6,24 @@ import {
StyleSheet,
View,
} from 'react-native'
-import {Svg, Circle, Path} from 'react-native-svg'
-import {ScrollView, TextInput} from './util'
+import {Circle, Path, Svg} from 'react-native-svg'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {Text} from '../util/text/Text'
-import {Button} from '../util/forms/Button'
-import {ErrorMessage} from '../util/error/ErrorMessage'
-import * as Toast from '../util/Toast'
-import {s, colors} from 'lib/styles'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {logger} from '#/logger'
+import {useModalControls} from '#/state/modals'
+import {useAgent, useSession, useSessionApi} from '#/state/session'
import {usePalette} from 'lib/hooks/usePalette'
-import {isWeb} from 'platform/detection'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
import {cleanError} from 'lib/strings/errors'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useModalControls} from '#/state/modals'
-import {useSession, useSessionApi, getAgent} from '#/state/session'
-import {logger} from '#/logger'
+import {colors, s} from 'lib/styles'
+import {isWeb} from 'platform/detection'
+import {ErrorMessage} from '../util/error/ErrorMessage'
+import {Button} from '../util/forms/Button'
+import {Text} from '../util/text/Text'
+import * as Toast from '../util/Toast'
+import {ScrollView, TextInput} from './util'
export const snapPoints = ['90%']
@@ -32,8 +33,15 @@ enum Stages {
ConfirmCode,
}
-export function Component({showReminder}: {showReminder?: boolean}) {
+export function Component({
+ showReminder,
+ onSuccess,
+}: {
+ showReminder?: boolean
+ onSuccess?: () => void
+}) {
const pal = usePalette('default')
+ const {getAgent} = useAgent()
const {currentAccount} = useSession()
const {updateCurrentAccount} = useSessionApi()
const {_} = useLingui()
@@ -77,6 +85,7 @@ export function Component({showReminder}: {showReminder?: boolean}) {
updateCurrentAccount({emailConfirmed: true})
Toast.show(_(msg`Email verified`))
closeModal()
+ onSuccess?.()
} catch (e) {
setError(cleanError(String(e)))
} finally {
diff --git a/src/view/com/notifications/FeedItem.tsx b/src/view/com/notifications/FeedItem.tsx
index 78b1677c3d..94844cb1a7 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,41 +22,41 @@ import {
FontAwesomeIconStyle,
Props,
} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useQueryClient} from '@tanstack/react-query'
+
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 {niceDate} from 'lib/strings/time'
+import {colors, s} from 'lib/styles'
+import {isWeb} from 'platform/detection'
+import {precacheProfile} from 'state/queries/profile'
+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 {usePalette} from 'lib/hooks/usePalette'
-import {useAnimatedValue} from 'lib/hooks/useAnimatedValue'
import {formatCount} from '../util/numeric/format'
-import {makeProfileLink} from 'lib/routes/links'
+import {Text} from '../util/text/Text'
import {TimeElapsed} from '../util/TimeElapsed'
-import {isWeb} from 'platform/detection'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {FeedSourceCard} from '../feeds/FeedSourceCard'
+import {PreviewableUserAvatar, UserAvatar} from '../util/UserAvatar'
const MAX_AUTHORS = 5
const EXPANDED_AUTHOR_EL_HEIGHT = 35
interface Author {
+ profile: AppBskyActorDefs.ProfileViewBasic
href: string
- did: string
- handle: string
- displayName?: string
- avatar?: string
moderation: ModerationDecision
- associated?: AppBskyActorDefs.ProfileAssociated
}
let FeedItem = ({
@@ -66,6 +66,7 @@ let FeedItem = ({
item: FeedNotification
moderationOpts: ModerationOpts
}): React.ReactNode => {
+ const queryClient = useQueryClient()
const pal = usePalette('default')
const {_} = useLingui()
const [isAuthorsExpanded, setAuthorsExpanded] = useState(false)
@@ -93,28 +94,22 @@ let FeedItem = ({
setAuthorsExpanded(currentlyExpanded => !currentlyExpanded)
}
+ const onBeforePress = React.useCallback(() => {
+ precacheProfile(queryClient, item.notification.author)
+ }, [queryClient, item.notification.author])
+
const authors: Author[] = useMemo(() => {
return [
{
+ profile: item.notification.author,
href: makeProfileLink(item.notification.author),
- did: item.notification.author.did,
- handle: item.notification.author.handle,
- displayName: item.notification.author.displayName,
- avatar: item.notification.author.avatar,
moderation: moderateProfile(item.notification.author, moderationOpts),
- associated: item.notification.author.associated,
},
- ...(item.additional?.map(({author}) => {
- return {
- href: makeProfileLink(author),
- did: author.did,
- handle: author.handle,
- displayName: author.displayName,
- avatar: author.avatar,
- moderation: moderateProfile(author, moderationOpts),
- associated: author.associated,
- }
- }) || []),
+ ...(item.additional?.map(({author}) => ({
+ profile: author,
+ href: makeProfileLink(author),
+ moderation: moderateProfile(author, moderationOpts),
+ })) || []),
]
}, [item, moderationOpts])
@@ -199,7 +194,8 @@ let FeedItem = ({
accessible={
(item.type === 'post-like' && authors.length === 1) ||
item.type === 'repost'
- }>
+ }
+ onBeforePress={onBeforePress}>
{/* TODO: Prevent conditional rendering and move toward composable
notifications for clearer accessibility labeling */}
@@ -229,7 +225,7 @@ let FeedItem = ({
style={[pal.text, s.bold]}
href={authors[0].href}
text={sanitizeDisplayName(
- authors[0].displayName || authors[0].handle,
+ authors[0].profile.displayName || authors[0].profile.handle,
)}
disableMismatchWarning
/>
@@ -337,11 +333,9 @@ function CondensedAuthorsList({
)
@@ -356,11 +350,11 @@ function CondensedAuthorsList({
{authors.slice(0, MAX_AUTHORS).map(author => (
-
))}
@@ -386,6 +380,7 @@ function ExpandedAuthorsList({
visible: boolean
authors: Author[]
}) {
+ const {_} = useLingui()
const pal = usePalette('default')
const heightInterp = useAnimatedValue(visible ? 1 : 0)
const targetHeight =
@@ -409,18 +404,23 @@ function ExpandedAuthorsList({
visible ? s.mb10 : undefined,
]}>
{authors.map(author => (
-
-
+
+
+
- {sanitizeDisplayName(author.displayName || author.handle)}
+ {sanitizeDisplayName(
+ author.profile.displayName || author.profile.handle,
+ )}
- {sanitizeHandle(author.handle)}
+ {sanitizeHandle(author.profile.handle)}
-
+
))}
)
diff --git a/src/view/com/pager/PagerWithHeader.tsx b/src/view/com/pager/PagerWithHeader.tsx
index aa110682a2..2d604d104e 100644
--- a/src/view/com/pager/PagerWithHeader.tsx
+++ b/src/view/com/pager/PagerWithHeader.tsx
@@ -1,26 +1,28 @@
import * as React from 'react'
import {
LayoutChangeEvent,
+ NativeScrollEvent,
ScrollView,
StyleSheet,
View,
- NativeScrollEvent,
} from 'react-native'
import Animated, {
- useAnimatedStyle,
- useSharedValue,
+ AnimatedRef,
runOnJS,
runOnUI,
scrollTo,
- useAnimatedRef,
- AnimatedRef,
SharedValue,
+ useAnimatedRef,
+ useAnimatedStyle,
+ useSharedValue,
} from 'react-native-reanimated'
-import {Pager, PagerRef, RenderTabBarFnProps} from 'view/com/pager/Pager'
-import {TabBar} from './TabBar'
+
import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback'
-import {ListMethods} from '../util/List'
import {ScrollProvider} from '#/lib/ScrollContext'
+import {isIOS} from 'platform/detection'
+import {Pager, PagerRef, RenderTabBarFnProps} from 'view/com/pager/Pager'
+import {ListMethods} from '../util/List'
+import {TabBar} from './TabBar'
export interface PagerWithHeaderChildParams {
headerHeight: number
@@ -236,9 +238,12 @@ let PagerTabBar = ({
const headerRef = React.useRef(null)
return (
-
+
{renderHeader?.()}
{
// It wouldn't be enough to place `onLayout` on the parent node because
diff --git a/src/view/com/post-thread/PostThreadFollowBtn.tsx b/src/view/com/post-thread/PostThreadFollowBtn.tsx
index 8b297121eb..1f70f41c4a 100644
--- a/src/view/com/post-thread/PostThreadFollowBtn.tsx
+++ b/src/view/com/post-thread/PostThreadFollowBtn.tsx
@@ -48,7 +48,7 @@ function PostThreadFollowBtnLoaded({
'PostThreadItem',
)
const requireAuth = useRequireAuth()
- const showFollowBackLabel = useGate('show_follow_back_label')
+ const gate = useGate()
const isFollowing = !!profile.viewer?.following
const isFollowedBy = !!profile.viewer?.followedBy
@@ -140,7 +140,7 @@ function PostThreadFollowBtnLoaded({
style={[!isFollowing ? palInverted.text : pal.text, s.bold]}
numberOfLines={1}>
{!isFollowing ? (
- showFollowBackLabel && isFollowedBy ? (
+ isFollowedBy && gate('show_follow_back_label_v2') ? (
Follow Back
) : (
Follow
diff --git a/src/view/com/post-thread/PostThreadItem.tsx b/src/view/com/post-thread/PostThreadItem.tsx
index 6555bdf73c..564e37e7a6 100644
--- a/src/view/com/post-thread/PostThreadItem.tsx
+++ b/src/view/com/post-thread/PostThreadItem.tsx
@@ -1,50 +1,51 @@
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 {niceDate} from 'lib/strings/time'
+import {s} from 'lib/styles'
+import {isWeb} from 'platform/detection'
+import {useSession} from 'state/session'
+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 {PostAlerts} from '../../../components/moderation/PostAlerts'
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 {usePalette} from 'lib/hooks/usePalette'
+import {Link, TextLink} from '../util/Link'
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 {useSession} from 'state/session'
-import {WhoCanReply} from '../threadgate/WhoCanReply'
-import {LoadingPlaceholder} from '../util/LoadingPlaceholder'
-import {atoms as a} from '#/alf'
+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,
@@ -248,9 +249,7 @@ let PostThreadItemLoaded = ({
@@ -325,12 +324,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 ? (
+ }
+ profile={post.author}>
@@ -484,7 +476,12 @@ let PostThreadItemLoaded = ({
avatarSize={28}
displayNameType="md-bold"
displayNameStyle={isThreadedChild && s.ml2}
- style={isThreadedChild && s.mb2}
+ style={
+ isThreadedChild && {
+ alignItems: 'center',
+ paddingBottom: isWeb ? 5 : 2,
+ }
+ }
/>
}) {
+ const queryClient = useQueryClient()
const pal = usePalette('default')
const {_} = useLingui()
const {openComposer} = useComposerControls()
@@ -129,16 +134,21 @@ function PostInner({
setLimitLines(false)
}, [setLimitLines])
+ const onBeforePress = React.useCallback(() => {
+ precacheProfile(queryClient, post.author)
+ }, [queryClient, post.author])
+
return (
-
+
{showReplyLine && }
@@ -165,12 +175,14 @@ function PostInner({
numberOfLines={1}>
Reply to{' '}
-
+
+
+
diff --git a/src/view/com/posts/FeedItem.tsx b/src/view/com/posts/FeedItem.tsx
index 0fbcc4a13c..605dffde9d 100644
--- a/src/view/com/posts/FeedItem.tsx
+++ b/src/view/com/posts/FeedItem.tsx
@@ -11,31 +11,35 @@ import {
FontAwesomeIcon,
FontAwesomeIconStyle,
} from '@fortawesome/react-native-fontawesome'
-import {ReasonFeedSource, isReasonFeedSource} from 'lib/api/feed/types'
-import {Link, TextLinkOnWebOnly, TextLink} from '../util/Link'
-import {Text} from '../util/text/Text'
-import {UserInfoText} from '../util/UserInfoText'
-import {PostMeta} from '../util/PostMeta'
-import {PostCtrls} from '../util/post-ctrls/PostCtrls'
-import {PostEmbeds} from '../util/post-embeds'
-import {ContentHider} from '#/components/moderation/ContentHider'
-import {PostAlerts} from '../../../components/moderation/PostAlerts'
-import {LabelsOnMyPost} from '../../../components/moderation/LabelsOnMe'
-import {RichText} from '#/components/RichText'
-import {PreviewableUserAvatar} from '../util/UserAvatar'
-import {s} from 'lib/styles'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useQueryClient} from '@tanstack/react-query'
+
+import {POST_TOMBSTONE, Shadow, usePostShadow} from '#/state/cache/post-shadow'
+import {useComposerControls} from '#/state/shell/composer'
+import {isReasonFeedSource, ReasonFeedSource} from 'lib/api/feed/types'
+import {MAX_POST_LINES} from 'lib/constants'
import {usePalette} from 'lib/hooks/usePalette'
+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 {MAX_POST_LINES} from 'lib/constants'
import {countLines} from 'lib/strings/helpers'
-import {useComposerControls} from '#/state/shell/composer'
-import {Shadow, usePostShadow, POST_TOMBSTONE} from '#/state/cache/post-shadow'
-import {FeedNameText} from '../util/FeedInfoText'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
+import {s} from 'lib/styles'
+import {precacheProfile} from 'state/queries/profile'
import {atoms as a} from '#/alf'
+import {ContentHider} from '#/components/moderation/ContentHider'
+import {ProfileHoverCard} from '#/components/ProfileHoverCard'
+import {RichText} from '#/components/RichText'
+import {LabelsOnMyPost} from '../../../components/moderation/LabelsOnMe'
+import {PostAlerts} from '../../../components/moderation/PostAlerts'
+import {FeedNameText} from '../util/FeedInfoText'
+import {Link, TextLink, TextLinkOnWebOnly} from '../util/Link'
+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'
+import {UserInfoText} from '../util/UserInfoText'
export function FeedItem({
post,
@@ -104,6 +108,7 @@ let FeedItemInner = ({
isThreadLastChild?: boolean
isThreadParent?: boolean
}): React.ReactNode => {
+ const queryClient = useQueryClient()
const {openComposer} = useComposerControls()
const pal = usePalette('default')
const {_} = useLingui()
@@ -133,6 +138,10 @@ let FeedItemInner = ({
})
}, [post, record, openComposer, moderation])
+ const onBeforePress = React.useCallback(() => {
+ precacheProfile(queryClient, post.author)
+ }, [queryClient, post.author])
+
const outerStyles = [
styles.outer,
{
@@ -151,7 +160,8 @@ let FeedItemInner = ({
style={outerStyles}
href={href}
noFeedback
- accessible={false}>
+ accessible={false}
+ onBeforePress={onBeforePress}>
{isThreadChild && (
@@ -213,17 +223,20 @@ let FeedItemInner = ({
numberOfLines={1}>
Reposted by{' '}
-
+
+
+
@@ -235,9 +248,7 @@ let FeedItemInner = ({
@@ -279,12 +290,14 @@ let FeedItemInner = ({
numberOfLines={1}>
Reply to{' '}
-
+
+
+
diff --git a/src/view/com/profile/ProfileCard.tsx b/src/view/com/profile/ProfileCard.tsx
index 235139fff0..90ab9b7385 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,25 @@ 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 {precacheProfile} from 'state/queries/profile'
+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 +49,17 @@ 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?.()
+ precacheProfile(queryClient, profile)
+ }, [onPress, profile, queryClient])
+
if (!moderationOpts) {
return null
}
@@ -71,14 +81,14 @@ export function ProfileCard({
]}
href={makeProfileLink(profile)}
title={profile.handle}
- onBeforePress={onPress}
asAnchor
+ onBeforePress={onBeforePress}
anchorNoUnderline>
-
@@ -221,9 +231,9 @@ function FollowersList({
{followersWithMods.slice(0, 3).map(({f, mod}) => (
-
diff --git a/src/view/com/profile/ProfileHeaderSuggestedFollows.tsx b/src/view/com/profile/ProfileHeaderSuggestedFollows.tsx
index 3602cdb9a8..4c9d164f75 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,9 @@ function SuggestedFollow({
backgroundColor: pal.view.backgroundColor,
},
]}>
-
diff --git a/src/view/com/util/ErrorBoundary.tsx b/src/view/com/util/ErrorBoundary.tsx
index 22fdd606e4..dccd2bbc9b 100644
--- a/src/view/com/util/ErrorBoundary.tsx
+++ b/src/view/com/util/ErrorBoundary.tsx
@@ -1,12 +1,14 @@
import React, {Component, ErrorInfo, ReactNode} from 'react'
-import {ErrorScreen} from './error/ErrorScreen'
-import {CenteredView} from './Views'
import {msg} from '@lingui/macro'
-import {logger} from '#/logger'
import {useLingui} from '@lingui/react'
+import {logger} from '#/logger'
+import {ErrorScreen} from './error/ErrorScreen'
+import {CenteredView} from './Views'
+
interface Props {
children?: ReactNode
+ renderError?: (error: any) => ReactNode
}
interface State {
@@ -30,6 +32,10 @@ export class ErrorBoundary extends Component {
public render() {
if (this.state.hasError) {
+ if (this.props.renderError) {
+ return this.props.renderError(this.state.error)
+ }
+
return (
diff --git a/src/view/com/util/Link.tsx b/src/view/com/util/Link.tsx
index b6c512b09e..78d995ee82 100644
--- a/src/view/com/util/Link.tsx
+++ b/src/view/com/util/Link.tsx
@@ -2,34 +2,35 @@ import React, {ComponentProps, memo, useMemo} from 'react'
import {
GestureResponderEvent,
Platform,
+ Pressable,
StyleProp,
- TextStyle,
TextProps,
+ TextStyle,
+ TouchableOpacity,
View,
ViewStyle,
- Pressable,
- TouchableOpacity,
} from 'react-native'
-import {useLinkProps, StackActions} from '@react-navigation/native'
-import {Text} from './text/Text'
-import {TypographyVariant} from 'lib/ThemeContext'
-import {router} from '../../../routes'
-import {
- convertBskyAppUrlIfNeeded,
- isExternalUrl,
- linkRequiresWarning,
-} from 'lib/strings/url-helpers'
-import {isAndroid, isWeb} from 'platform/detection'
import {sanitizeUrl} from '@braintree/sanitize-url'
-import {PressableWithHover} from './PressableWithHover'
+import {StackActions, useLinkProps} from '@react-navigation/native'
+
import {useModalControls} from '#/state/modals'
import {useOpenLink} from '#/state/preferences/in-app-browser'
-import {WebAuxClickWrapper} from 'view/com/util/WebAuxClickWrapper'
import {
DebouncedNavigationProp,
useNavigationDeduped,
} from 'lib/hooks/useNavigationDeduped'
+import {
+ convertBskyAppUrlIfNeeded,
+ isExternalUrl,
+ linkRequiresWarning,
+} from 'lib/strings/url-helpers'
+import {TypographyVariant} from 'lib/ThemeContext'
+import {isAndroid, isWeb} from 'platform/detection'
+import {WebAuxClickWrapper} from 'view/com/util/WebAuxClickWrapper'
import {useTheme} from '#/alf'
+import {router} from '../../../routes'
+import {PressableWithHover} from './PressableWithHover'
+import {Text} from './text/Text'
type Event =
| React.MouseEvent
@@ -147,8 +148,10 @@ export const TextLink = memo(function TextLink({
dataSet,
title,
onPress,
+ onBeforePress,
disableMismatchWarning,
navigationAction,
+ anchorNoUnderline,
...orgProps
}: {
testID?: string
@@ -162,6 +165,8 @@ export const TextLink = memo(function TextLink({
title?: string
disableMismatchWarning?: boolean
navigationAction?: 'push' | 'replace' | 'navigate'
+ anchorNoUnderline?: boolean
+ onBeforePress?: () => void
} & TextProps) {
const {...props} = useLinkProps({to: sanitizeUrl(href)})
const navigation = useNavigationDeduped()
@@ -172,6 +177,11 @@ export const TextLink = memo(function TextLink({
console.error('Unable to detect mismatching label')
}
+ if (anchorNoUnderline) {
+ dataSet = dataSet ?? {}
+ dataSet.noUnderline = 1
+ }
+
props.onPress = React.useCallback(
(e?: Event) => {
const requiresWarning =
@@ -194,6 +204,7 @@ export const TextLink = memo(function TextLink({
// Let the browser handle opening in new tab etc.
return
}
+ onBeforePress?.()
if (onPress) {
e?.preventDefault?.()
// @ts-ignore function signature differs by platform -prf
@@ -218,6 +229,7 @@ export const TextLink = memo(function TextLink({
disableMismatchWarning,
navigationAction,
openLink,
+ onBeforePress,
],
)
const hrefAttrs = useMemo(() => {
@@ -266,7 +278,9 @@ interface TextLinkOnWebOnlyProps extends TextProps {
title?: string
navigationAction?: 'push' | 'replace' | 'navigate'
disableMismatchWarning?: boolean
+ onBeforePress?: () => void
onPointerEnter?: () => void
+ anchorNoUnderline?: boolean
}
export const TextLinkOnWebOnly = memo(function DesktopWebTextLink({
testID,
@@ -278,6 +292,7 @@ export const TextLinkOnWebOnly = memo(function DesktopWebTextLink({
lineHeight,
navigationAction,
disableMismatchWarning,
+ onBeforePress,
...props
}: TextLinkOnWebOnlyProps) {
if (isWeb) {
@@ -293,6 +308,7 @@ export const TextLinkOnWebOnly = memo(function DesktopWebTextLink({
title={props.title}
navigationAction={navigationAction}
disableMismatchWarning={disableMismatchWarning}
+ onBeforePress={onBeforePress}
{...props}
/>
)
diff --git a/src/view/com/util/List.tsx b/src/view/com/util/List.tsx
index d30a9d805b..d96a634ef2 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,6 +40,7 @@ function ListImpl(
const isScrolledDown = useSharedValue(false)
const contextScrollHandlers = useScrollHandlers()
const pal = usePalette('default')
+ const gate = useGate()
function handleScrolledDownChange(didScrollDown: boolean) {
onScrolledDownChange?.(didScrollDown)
@@ -60,6 +64,11 @@ function ListImpl(
}
}
},
+ // Note: adding onMomentumBegin here makes simulator scroll
+ // lag on Android. So either don't add it, or figure out why.
+ onMomentumEnd(e, ctx) {
+ contextScrollHandlers.onMomentumEnd?.(e, ctx)
+ },
})
let refreshControl
@@ -93,6 +102,9 @@ function ListImpl(
scrollEventThrottle={1}
style={style}
ref={ref}
+ showsVerticalScrollIndicator={
+ isWeb || !gate('hide_vertical_scroll_indicators')
+ }
/>
)
}
diff --git a/src/view/com/util/MainScrollProvider.tsx b/src/view/com/util/MainScrollProvider.tsx
index 01b8a954d5..f45229dc42 100644
--- a/src/view/com/util/MainScrollProvider.tsx
+++ b/src/view/com/util/MainScrollProvider.tsx
@@ -1,11 +1,12 @@
import React, {useCallback, useEffect} from 'react'
+import {NativeScrollEvent} from 'react-native'
+import {interpolate, useSharedValue} from 'react-native-reanimated'
import EventEmitter from 'eventemitter3'
+
import {ScrollProvider} from '#/lib/ScrollContext'
-import {NativeScrollEvent} from 'react-native'
-import {useSetMinimalShellMode, useMinimalShellMode} from '#/state/shell'
+import {useMinimalShellMode, useSetMinimalShellMode} from '#/state/shell'
import {useShellLayout} from '#/state/shell/shell-layout'
import {isNative, isWeb} from 'platform/detection'
-import {useSharedValue, interpolate} from 'react-native-reanimated'
const WEB_HIDE_SHELL_THRESHOLD = 200
@@ -32,6 +33,31 @@ export function MainScrollProvider({children}: {children: React.ReactNode}) {
}
})
+ const snapToClosestState = useCallback(
+ (e: NativeScrollEvent) => {
+ 'worklet'
+ if (isNative) {
+ if (startDragOffset.value === null) {
+ return
+ }
+ const didScrollDown = e.contentOffset.y > startDragOffset.value
+ startDragOffset.value = null
+ startMode.value = null
+ if (e.contentOffset.y < headerHeight.value) {
+ // If we're close to the top, show the shell.
+ setMode(false)
+ } else if (didScrollDown) {
+ // Showing the bar again on scroll down feels annoying, so don't.
+ setMode(true)
+ } else {
+ // Snap to whichever state is the closest.
+ setMode(Math.round(mode.value) === 1)
+ }
+ }
+ },
+ [startDragOffset, startMode, setMode, mode, headerHeight],
+ )
+
const onBeginDrag = useCallback(
(e: NativeScrollEvent) => {
'worklet'
@@ -47,18 +73,24 @@ export function MainScrollProvider({children}: {children: React.ReactNode}) {
(e: NativeScrollEvent) => {
'worklet'
if (isNative) {
- startDragOffset.value = null
- startMode.value = null
- if (e.contentOffset.y < headerHeight.value / 2) {
- // If we're close to the top, show the shell.
- setMode(false)
- } else {
- // Snap to whichever state is the closest.
- setMode(Math.round(mode.value) === 1)
+ if (e.velocity && e.velocity.y !== 0) {
+ // If we detect a velocity, wait for onMomentumEnd to snap.
+ return
}
+ snapToClosestState(e)
}
},
- [startDragOffset, startMode, setMode, mode, headerHeight],
+ [snapToClosestState],
+ )
+
+ const onMomentumEnd = useCallback(
+ (e: NativeScrollEvent) => {
+ 'worklet'
+ if (isNative) {
+ snapToClosestState(e)
+ }
+ },
+ [snapToClosestState],
)
const onScroll = useCallback(
@@ -119,7 +151,8 @@ export function MainScrollProvider({children}: {children: React.ReactNode}) {
+ onScroll={onScroll}
+ onMomentumEnd={onMomentumEnd}>
{children}
)
diff --git a/src/view/com/util/PostMeta.tsx b/src/view/com/util/PostMeta.tsx
index 529fc54e01..e7ce18535e 100644
--- a/src/view/com/util/PostMeta.tsx
+++ b/src/view/com/util/PostMeta.tsx
@@ -1,18 +1,21 @@
-import React, {memo} from 'react'
+import React, {memo, useCallback} 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 {useQueryClient} from '@tanstack/react-query'
+
+import {precacheProfile, 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 {ProfileHoverCard} from '#/components/ProfileHoverCard'
+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
@@ -34,47 +37,61 @@ let PostMeta = (opts: PostMetaOpts): React.ReactNode => {
const handle = opts.author.handle
const prefetchProfileQuery = usePrefetchProfileQuery()
+ const profileLink = makeProfileLink(opts.author)
+ const onPointerEnter = isWeb
+ ? () => prefetchProfileQuery(opts.author.did)
+ : undefined
+
+ const queryClient = useQueryClient()
+ const onBeforePress = useCallback(() => {
+ precacheProfile(queryClient, opts.author)
+ }, [queryClient, opts.author])
+
return (
{opts.showAvatar && (
-
)}
-
-
+
- {sanitizeDisplayName(
- displayName,
- opts.moderation?.ui('displayName'),
- )}
-
-
- {sanitizeHandle(handle, '@')}
-
- >
- }
- href={makeProfileLink(opts.author)}
- onPointerEnter={
- isWeb ? () => prefetchProfileQuery(opts.author.did) : undefined
- }
- />
-
+ style={[styles.maxWidth, pal.textLight, opts.displayNameStyle]}>
+
+ {sanitizeDisplayName(
+ displayName,
+ opts.moderation?.ui('displayName'),
+ )}
+ >
+ }
+ href={profileLink}
+ onBeforePress={onBeforePress}
+ onPointerEnter={onPointerEnter}
+ />
+
+
+
{!isAndroid && (
{
title={niceDate(opts.timestamp)}
accessibilityHint=""
href={opts.postHref}
+ onBeforePress={onBeforePress}
/>
)}
@@ -107,7 +125,7 @@ export {PostMeta}
const styles = StyleSheet.create({
container: {
flexDirection: 'row',
- alignItems: 'center',
+ alignItems: 'flex-end',
paddingBottom: 2,
gap: 4,
zIndex: 1,
diff --git a/src/view/com/util/TimeElapsed.tsx b/src/view/com/util/TimeElapsed.tsx
index aa3a092235..02b0f2314b 100644
--- a/src/view/com/util/TimeElapsed.tsx
+++ b/src/view/com/util/TimeElapsed.tsx
@@ -1,8 +1,7 @@
import React from 'react'
-import {ago} from 'lib/strings/time'
-import {useTickEveryMinute} from '#/state/shell'
-// FIXME(dan): Figure out why the false positives
+import {useTickEveryMinute} from '#/state/shell'
+import {ago} from 'lib/strings/time'
export function TimeElapsed({
timestamp,
@@ -12,11 +11,13 @@ export function TimeElapsed({
children: ({timeElapsed}: {timeElapsed: string}) => JSX.Element
}) {
const tick = useTickEveryMinute()
- const [timeElapsed, setTimeAgo] = React.useState(ago(timestamp))
+ const [timeElapsed, setTimeAgo] = React.useState(() => ago(timestamp))
- React.useEffect(() => {
+ const [prevTick, setPrevTick] = React.useState(tick)
+ if (prevTick !== tick) {
+ setPrevTick(tick)
setTimeAgo(ago(timestamp))
- }, [timestamp, setTimeAgo, tick])
+ }
return children({timeElapsed})
}
diff --git a/src/view/com/util/UserAvatar.tsx b/src/view/com/util/UserAvatar.tsx
index 4beedbd5b4..118e2ce2be 100644
--- a/src/view/com/util/UserAvatar.tsx
+++ b/src/view/com/util/UserAvatar.tsx
@@ -1,30 +1,34 @@
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 Svg, {Circle, Path, Rect} from 'react-native-svg'
+import {AppBskyActorDefs, ModerationUI} from '@atproto/api'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {ModerationUI} from '@atproto/api'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useQueryClient} from '@tanstack/react-query'
-import {HighPriorityImage} from 'view/com/util/images/Image'
-import {openCamera, openCropper, openPicker} from '../../../lib/media/picker'
+import {usePalette} from 'lib/hooks/usePalette'
import {
- usePhotoLibraryPermission,
useCameraPermission,
+ usePhotoLibraryPermission,
} from 'lib/hooks/usePermissions'
+import {makeProfileLink} from 'lib/routes/links'
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 {isAndroid, isNative, isWeb} from 'platform/detection'
+import {precacheProfile} from 'state/queries/profile'
+import {HighPriorityImage} from 'view/com/util/images/Image'
+import {tokens, useTheme} from '#/alf'
import {
- Camera_Stroke2_Corner0_Rounded as Camera,
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'
@@ -45,8 +49,7 @@ interface EditableUserAvatarProps extends BaseUserAvatarProps {
interface PreviewableUserAvatarProps extends BaseUserAvatarProps {
moderation?: ModerationUI
- did: string
- handle: string
+ profile: AppBskyActorDefs.ProfileViewBasic
}
const BLUR_AMOUNT = isWeb ? 5 : 100
@@ -369,13 +372,30 @@ let EditableUserAvatar = ({
EditableUserAvatar = memo(EditableUserAvatar)
export {EditableUserAvatar}
-let PreviewableUserAvatar = (
- props: PreviewableUserAvatarProps,
-): React.ReactNode => {
+let PreviewableUserAvatar = ({
+ moderation,
+ profile,
+ ...rest
+}: PreviewableUserAvatarProps): React.ReactNode => {
+ const {_} = useLingui()
+ const queryClient = useQueryClient()
+
+ const onPress = React.useCallback(() => {
+ precacheProfile(queryClient, profile)
+ }, [profile, queryClient])
+
return (
-
-
-
+
+
+
+
+
)
}
PreviewableUserAvatar = memo(PreviewableUserAvatar)
diff --git a/src/view/com/util/UserPreviewLink.tsx b/src/view/com/util/UserPreviewLink.tsx
deleted file mode 100644
index a2c46afc01..0000000000
--- a/src/view/com/util/UserPreviewLink.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import React from 'react'
-import {StyleProp, ViewStyle} from 'react-native'
-import {Link} from './Link'
-import {isWeb} from 'platform/detection'
-import {makeProfileLink} from 'lib/routes/links'
-import {usePrefetchProfileQuery} from '#/state/queries/profile'
-
-interface UserPreviewLinkProps {
- did: string
- handle: string
- style?: StyleProp
-}
-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/ViewHeader.tsx b/src/view/com/util/ViewHeader.tsx
index 872e10eef0..63a2b3de39 100644
--- a/src/view/com/util/ViewHeader.tsx
+++ b/src/view/com/util/ViewHeader.tsx
@@ -1,19 +1,20 @@
import React from 'react'
import {StyleSheet, TouchableOpacity, View} from 'react-native'
+import Animated from 'react-native-reanimated'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
import {useNavigation} from '@react-navigation/native'
-import {CenteredView} from './Views'
-import {Text} from './text/Text'
+
+import {useSetDrawerOpen} from '#/state/shell'
+import {useAnalytics} from 'lib/analytics/analytics'
+import {useMinimalShellMode} from 'lib/hooks/useMinimalShellMode'
import {usePalette} from 'lib/hooks/usePalette'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {useAnalytics} from 'lib/analytics/analytics'
import {NavigationProp} from 'lib/routes/types'
-import {useMinimalShellMode} from 'lib/hooks/useMinimalShellMode'
-import Animated from 'react-native-reanimated'
-import {useSetDrawerOpen} from '#/state/shell'
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
import {useTheme} from '#/alf'
+import {Text} from './text/Text'
+import {CenteredView} from './Views'
const BACK_HITSLOP = {left: 20, top: 20, right: 50, bottom: 20}
@@ -62,6 +63,7 @@ export function ViewHeader({
return (
@@ -136,14 +138,17 @@ export function ViewHeader({
function DesktopWebHeader({
title,
+ subtitle,
renderButton,
showBorder = true,
}: {
title: string
+ subtitle?: string
renderButton?: () => JSX.Element
showBorder?: boolean
}) {
const pal = usePalette('default')
+ const t = useTheme()
return (
-
-
- {title}
-
+
+
+
+ {title}
+
+
+ {renderButton?.()}
- {renderButton?.()}
+ {subtitle ? (
+
+
+
+ {subtitle}
+
+
+
+ ) : null}
)
}
@@ -236,6 +258,9 @@ const styles = StyleSheet.create({
subtitle: {
fontSize: 13,
},
+ subtitleDesktop: {
+ fontSize: 15,
+ },
backBtn: {
width: 30,
height: 30,
diff --git a/src/view/com/util/Views.jsx b/src/view/com/util/Views.jsx
index 7d6120583f..75f2b50814 100644
--- a/src/view/com/util/Views.jsx
+++ b/src/view/com/util/Views.jsx
@@ -2,8 +2,19 @@ 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 gate = useGate()
+ return (
+
+ )
+}
diff --git a/src/view/com/util/forms/NativeDropdown.web.tsx b/src/view/com/util/forms/NativeDropdown.web.tsx
index 94591d3931..6668ac211f 100644
--- a/src/view/com/util/forms/NativeDropdown.web.tsx
+++ b/src/view/com/util/forms/NativeDropdown.web.tsx
@@ -1,12 +1,13 @@
import React from 'react'
+import {Pressable, StyleSheet, Text, View, ViewStyle} from 'react-native'
+import {IconProp} from '@fortawesome/fontawesome-svg-core'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
import * as DropdownMenu from '@radix-ui/react-dropdown-menu'
-import {Pressable, StyleSheet, View, Text, ViewStyle} from 'react-native'
-import {IconProp} from '@fortawesome/fontawesome-svg-core'
import {MenuItemCommonProps} from 'zeego/lib/typescript/menu'
+
+import {HITSLOP_10} from 'lib/constants'
import {usePalette} from 'lib/hooks/usePalette'
import {useTheme} from 'lib/ThemeContext'
-import {HITSLOP_10} from 'lib/constants'
// Custom Dropdown Menu Components
// ==
@@ -64,15 +65,9 @@ export function NativeDropdown({
accessibilityHint,
triggerStyle,
}: React.PropsWithChildren) {
- const pal = usePalette('default')
- const theme = useTheme()
- const dropDownBackgroundColor =
- theme.colorScheme === 'dark' ? pal.btn : pal.view
const [open, setOpen] = React.useState(false)
const buttonRef = React.useRef(null)
const menuRef = React.useRef(null)
- const {borderColor: separatorColor} =
- theme.colorScheme === 'dark' ? pal.borderDark : pal.border
React.useEffect(() => {
function clickHandler(e: MouseEvent) {
@@ -114,14 +109,27 @@ export function NativeDropdown({
return (
setOpen(o)}>
- e.preventDefault()}>
+
}
testID={testID}
accessibilityRole="button"
accessibilityLabel={accessibilityLabel}
accessibilityHint={accessibilityHint}
- onPress={() => setOpen(o => !o)}
+ onPointerDown={e => {
+ // Prevent false positive that interpret mobile scroll as a tap.
+ // This requires the custom onPress handler below to compensate.
+ // https://github.com/radix-ui/primitives/issues/1912
+ e.preventDefault()
+ }}
+ onPress={() => {
+ if (window.event instanceof KeyboardEvent) {
+ // The onPointerDown hack above is not relevant to this press, so don't do anything.
+ return
+ }
+ // Compensate for the disabled onPointerDown above by triggering it manually.
+ setOpen(o => !o)
+ }}
hitSlop={HITSLOP_10}
style={triggerStyle}>
{children}
@@ -129,53 +137,53 @@ export function NativeDropdown({
-
- {items.map((item, index) => {
- if (item.label === 'separator') {
- return (
-
- )
- }
- if (index > 1 && items[index - 1].label === 'separator') {
- return (
-
-
-
- {item.label}
-
- {item.icon && (
-
- )}
-
-
- )
- }
- return (
+
+
+
+ )
+}
+
+function DropdownContent({
+ items,
+ menuRef,
+}: {
+ items: DropdownItem[]
+ menuRef: React.RefObject
+}) {
+ const pal = usePalette('default')
+ const theme = useTheme()
+ const dropDownBackgroundColor =
+ theme.colorScheme === 'dark' ? pal.btn : pal.view
+ const {borderColor: separatorColor} =
+ theme.colorScheme === 'dark' ? pal.borderDark : pal.border
+
+ return (
+
+ {items.map((item, index) => {
+ if (item.label === 'separator') {
+ return (
+
+ )
+ }
+ if (index > 1 && items[index - 1].label === 'separator') {
+ return (
+
@@ -190,11 +198,27 @@ export function NativeDropdown({
/>
)}
- )
- })}
-
-
-
+
+ )
+ }
+ return (
+
+
+ {item.label}
+
+ {item.icon && (
+
+ )}
+
+ )
+ })}
+
)
}
diff --git a/src/view/com/util/forms/PostDropdownBtn.tsx b/src/view/com/util/forms/PostDropdownBtn.tsx
index 959e0f692e..32520182e9 100644
--- a/src/view/com/util/forms/PostDropdownBtn.tsx
+++ b/src/view/com/util/forms/PostDropdownBtn.tsx
@@ -28,12 +28,14 @@ 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, useTheme as useAlf} from '#/alf'
+import {atoms as a, useBreakpoints, useTheme as useAlf} from '#/alf'
import {useDialogControl} from '#/components/Dialog'
import {useGlobalDialogsControlContext} from '#/components/dialogs/Context'
+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'
@@ -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)
@@ -166,7 +172,7 @@ let PostDropdownBtn = ({
hidePost({uri: postUri})
}, [postUri, hidePost])
- const shouldShowLoggedOutWarning = React.useMemo(() => {
+ const hideInPWI = React.useMemo(() => {
return !!postAuthor.labels?.find(
label => label.val === '!no-unauthenticated',
)
@@ -177,6 +183,8 @@ let PostDropdownBtn = ({
shareUrl(url)
}, [href])
+ const canEmbed = isWeb && gtMobile && !hideInPWI
+
return (
@@ -207,27 +215,31 @@ let PostDropdownBtn = ({
-
- {_(msg`Translate`)}
-
-
+ {(!hideInPWI || hasSession) && (
+ <>
+
+ {_(msg`Translate`)}
+
+
-
- {_(msg`Copy post text`)}
-
-
+
+ {_(msg`Copy post text`)}
+
+
+ >
+ )}
{
- if (shouldShowLoggedOutWarning) {
+ if (hideInPWI) {
loggedOutWarningPromptControl.open()
} else {
onSharePost()
@@ -238,6 +250,16 @@ let PostDropdownBtn = ({
+
+ {canEmbed && (
+
+ {_(msg`Embed post`)}
+
+
+ )}
{hasSession && (
@@ -283,29 +305,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 +372,17 @@ let PostDropdownBtn = ({
onConfirm={onSharePost}
confirmButtonCta={_(msg`Share anyway`)}
/>
+
+ {canEmbed && (
+
+ )}
)
}
diff --git a/src/view/com/util/post-ctrls/PostCtrls.tsx b/src/view/com/util/post-ctrls/PostCtrls.tsx
index 58874cd551..cb50ee6dc3 100644
--- a/src/view/com/util/post-ctrls/PostCtrls.tsx
+++ b/src/view/com/util/post-ctrls/PostCtrls.tsx
@@ -16,7 +16,6 @@ import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {HITSLOP_10, HITSLOP_20} from '#/lib/constants'
-import {Haptics} from '#/lib/haptics'
import {CommentBottomArrow, HeartIcon, HeartIconSolid} from '#/lib/icons'
import {makeProfileLink} from '#/lib/routes/links'
import {shareUrl} from '#/lib/sharing'
@@ -32,6 +31,7 @@ import {
} from '#/state/queries/post'
import {useRequireAuth} from '#/state/session'
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 * as Prompt from '#/components/Prompt'
@@ -67,6 +67,7 @@ let PostCtrls = ({
)
const requireAuth = useRequireAuth()
const loggedOutWarningPromptControl = useDialogControl()
+ const playHaptic = useHaptics()
const shouldShowLoggedOutWarning = React.useMemo(() => {
return !!post.author.labels?.find(
@@ -84,7 +85,7 @@ let PostCtrls = ({
const onPressToggleLike = React.useCallback(async () => {
try {
if (!post.viewer?.like) {
- Haptics.default()
+ playHaptic()
await queueLike()
} else {
await queueUnlike()
@@ -94,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()
@@ -110,7 +111,7 @@ let PostCtrls = ({
throw e
}
}
- }, [post.viewer?.repost, queueRepost, queueUnrepost, closeModal])
+ }, [closeModal, post.viewer?.repost, playHaptic, queueRepost, queueUnrepost])
const onQuote = useCallback(() => {
closeModal()
@@ -123,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(() => {
@@ -262,6 +264,7 @@ let PostCtrls = ({
richText={richText}
style={styles.btnPad}
hitSlop={big ? HITSLOP_20 : HITSLOP_10}
+ timestamp={post.indexedAt}
/>
diff --git a/src/view/com/util/post-embeds/ExternalLinkEmbed.tsx b/src/view/com/util/post-embeds/ExternalLinkEmbed.tsx
index aaa98a41f6..1fe75c44ea 100644
--- a/src/view/com/util/post-embeds/ExternalLinkEmbed.tsx
+++ b/src/view/com/util/post-embeds/ExternalLinkEmbed.tsx
@@ -1,20 +1,28 @@
-import React from 'react'
+import React, {useCallback} from 'react'
+import {StyleProp, View, ViewStyle} from 'react-native'
import {Image} from 'expo-image'
-import {Text} from '../text/Text'
-import {StyleSheet, View} from 'react-native'
+import {AppBskyEmbedExternal} from '@atproto/api'
+
import {usePalette} from 'lib/hooks/usePalette'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {AppBskyEmbedExternal} from '@atproto/api'
-import {toNiceDomain} from 'lib/strings/url-helpers'
+import {shareUrl} from 'lib/sharing'
import {parseEmbedPlayerFromUrl} from 'lib/strings/embed-player'
-import {ExternalPlayer} from 'view/com/util/post-embeds/ExternalPlayerEmbed'
-import {ExternalGifEmbed} from 'view/com/util/post-embeds/ExternalGifEmbed'
+import {toNiceDomain} from 'lib/strings/url-helpers'
+import {isNative} from 'platform/detection'
import {useExternalEmbedsPrefs} from 'state/preferences'
+import {Link} from 'view/com/util/Link'
+import {ExternalGifEmbed} from 'view/com/util/post-embeds/ExternalGifEmbed'
+import {ExternalPlayer} from 'view/com/util/post-embeds/ExternalPlayerEmbed'
+import {GifEmbed} from 'view/com/util/post-embeds/GifEmbed'
+import {atoms as a, useTheme} from '#/alf'
+import {Text} from '../text/Text'
export const ExternalLinkEmbed = ({
link,
+ style,
}: {
link: AppBskyEmbedExternal.ViewExternal
+ style?: StyleProp
}) => {
const pal = usePalette('default')
const {isMobile} = useWebMediaQueries()
@@ -28,62 +36,95 @@ export const ExternalLinkEmbed = ({
}
}, [link.uri, externalEmbedPrefs])
+ if (embedPlayerParams?.source === 'tenor') {
+ return
+ }
+
return (
-
- {link.thumb && !embedPlayerParams ? (
-
- ) : undefined}
- {(embedPlayerParams?.isGif && (
-
- )) ||
- (embedPlayerParams && (
+
+
+ {link.thumb && !embedPlayerParams ? (
+
+ ) : undefined}
+ {embedPlayerParams?.isGif ? (
+
+ ) : embedPlayerParams ? (
- ))}
-
-
- {toNiceDomain(link.uri)}
-
- {!embedPlayerParams?.isGif && (
-
- {link.title || link.uri}
-
- )}
- {link.description && !embedPlayerParams?.hideDetails ? (
+ ) : undefined}
+
- {link.description}
+ type="sm"
+ numberOfLines={1}
+ style={[pal.textLight, {marginVertical: 2}]}>
+ {toNiceDomain(link.uri)}
- ) : undefined}
-
+
+ {!embedPlayerParams?.isGif && !embedPlayerParams?.dimensions && (
+
+ {link.title || link.uri}
+
+ )}
+ {link.description ? (
+
+ {link.description}
+
+ ) : undefined}
+
+
)
}
-const styles = StyleSheet.create({
- container: {
- flexDirection: 'column',
- borderRadius: 6,
- overflow: 'hidden',
- },
- info: {
- width: '100%',
- bottom: 0,
- paddingTop: 8,
- paddingBottom: 10,
- },
- extUri: {
- marginTop: 2,
- },
- extDescription: {
- marginTop: 4,
- },
-})
+function LinkWrapper({
+ link,
+ style,
+ children,
+}: {
+ link: AppBskyEmbedExternal.ViewExternal
+ style?: StyleProp
+ children: React.ReactNode
+}) {
+ const t = useTheme()
+
+ const onShareExternal = useCallback(() => {
+ if (link.uri && isNative) {
+ shareUrl(link.uri)
+ }
+ }, [link.uri])
+
+ return (
+
+ {children}
+
+ )
+}
diff --git a/src/view/com/util/post-embeds/GifEmbed.tsx b/src/view/com/util/post-embeds/GifEmbed.tsx
new file mode 100644
index 0000000000..5d21ce0642
--- /dev/null
+++ b/src/view/com/util/post-embeds/GifEmbed.tsx
@@ -0,0 +1,141 @@
+import React from 'react'
+import {Pressable, View} from 'react-native'
+import {AppBskyEmbedExternal} from '@atproto/api'
+import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {EmbedPlayerParams} from 'lib/strings/embed-player'
+import {useAutoplayDisabled} from 'state/preferences'
+import {atoms as a, useTheme} from '#/alf'
+import {Loader} from '#/components/Loader'
+import {GifView} from '../../../../../modules/expo-bluesky-gif-view'
+import {GifViewStateChangeEvent} from '../../../../../modules/expo-bluesky-gif-view/src/GifView.types'
+
+function PlaybackControls({
+ onPress,
+ isPlaying,
+ isLoaded,
+}: {
+ onPress: () => void
+ isPlaying: boolean
+ isLoaded: boolean
+}) {
+ const {_} = useLingui()
+ const t = useTheme()
+
+ return (
+
+ {!isLoaded ? (
+
+
+
+
+
+ ) : !isPlaying ? (
+
+
+
+ ) : undefined}
+
+ )
+}
+
+export function GifEmbed({
+ params,
+ link,
+}: {
+ params: EmbedPlayerParams
+ link: AppBskyEmbedExternal.ViewExternal
+}) {
+ const {_} = useLingui()
+ const autoplayDisabled = useAutoplayDisabled()
+
+ const playerRef = React.useRef(null)
+
+ const [playerState, setPlayerState] = React.useState<{
+ isPlaying: boolean
+ isLoaded: boolean
+ }>({
+ isPlaying: !autoplayDisabled,
+ isLoaded: false,
+ })
+
+ const onPlayerStateChange = React.useCallback(
+ (e: GifViewStateChangeEvent) => {
+ setPlayerState(e.nativeEvent)
+ },
+ [],
+ )
+
+ const onPress = React.useCallback(() => {
+ playerRef.current?.toggleAsync()
+ }, [])
+
+ return (
+
+
+
+
+
+
+ )
+}
diff --git a/src/view/com/util/post-embeds/QuoteEmbed.tsx b/src/view/com/util/post-embeds/QuoteEmbed.tsx
index 2b1c3e6179..e0178f34b4 100644
--- a/src/view/com/util/post-embeds/QuoteEmbed.tsx
+++ b/src/view/com/util/post-embeds/QuoteEmbed.tsx
@@ -1,31 +1,44 @@
import React from 'react'
-import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native'
import {
- AppBskyFeedDefs,
- AppBskyEmbedRecord,
- AppBskyFeedPost,
+ StyleProp,
+ StyleSheet,
+ TouchableOpacity,
+ View,
+ ViewStyle,
+} from 'react-native'
+import {
+ AppBskyEmbedExternal,
AppBskyEmbedImages,
+ AppBskyEmbedRecord,
AppBskyEmbedRecordWithMedia,
- AppBskyEmbedExternal,
- RichText as RichTextAPI,
+ 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 {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useQueryClient} from '@tanstack/react-query'
+
+import {HITSLOP_20} from '#/lib/constants'
+import {s} from '#/lib/styles'
+import {useModerationOpts} from '#/state/queries/preferences'
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 {useModerationOpts} from '#/state/queries/preferences'
-import {ContentHider} from '../../../../components/moderation/ContentHider'
-import {RichText} from '#/components/RichText'
+import {makeProfileLink} from 'lib/routes/links'
+import {precacheProfile} from 'state/queries/profile'
+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 +120,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 +148,18 @@ export function QuoteEmbed({
}
}, [quote.embeds])
+ const onBeforePress = React.useCallback(() => {
+ precacheProfile(queryClient, quote.author)
+ }, [queryClient, quote.author])
+
return (
+ title={itemTitle}
+ onBeforePress={onBeforePress}>
void}) {
+ const {_} = useLingui()
+ return (
+
+
+
+ )
+}
+
function viewRecordToPostView(
viewRecord: AppBskyEmbedRecord.ViewRecord,
): AppBskyFeedDefs.PostView {
diff --git a/src/view/com/util/post-embeds/index.tsx b/src/view/com/util/post-embeds/index.tsx
index 47091fbb07..7ea5b55cfe 100644
--- a/src/view/com/util/post-embeds/index.tsx
+++ b/src/view/com/util/post-embeds/index.tsx
@@ -1,34 +1,32 @@
-import React, {useCallback} from 'react'
+import React from 'react'
import {
- StyleSheet,
+ InteractionManager,
StyleProp,
+ StyleSheet,
+ Text,
View,
ViewStyle,
- Text,
- InteractionManager,
} from 'react-native'
import {Image} from 'expo-image'
import {
- AppBskyEmbedImages,
AppBskyEmbedExternal,
+ AppBskyEmbedImages,
AppBskyEmbedRecord,
AppBskyEmbedRecordWithMedia,
AppBskyFeedDefs,
AppBskyGraphDefs,
ModerationDecision,
} from '@atproto/api'
-import {Link} from '../Link'
-import {ImageLayoutGrid} from '../images/ImageLayoutGrid'
-import {useLightboxControls, ImagesLightbox} from '#/state/lightbox'
+
+import {ImagesLightbox, useLightboxControls} from '#/state/lightbox'
import {usePalette} from 'lib/hooks/usePalette'
-import {ExternalLinkEmbed} from './ExternalLinkEmbed'
-import {MaybeQuoteEmbed} from './QuoteEmbed'
-import {AutoSizedImage} from '../images/AutoSizedImage'
-import {ListEmbed} from './ListEmbed'
import {FeedSourceCard} from 'view/com/feeds/FeedSourceCard'
import {ContentHider} from '../../../../components/moderation/ContentHider'
-import {isNative} from '#/platform/detection'
-import {shareUrl} from '#/lib/sharing'
+import {AutoSizedImage} from '../images/AutoSizedImage'
+import {ImageLayoutGrid} from '../images/ImageLayoutGrid'
+import {ExternalLinkEmbed} from './ExternalLinkEmbed'
+import {ListEmbed} from './ListEmbed'
+import {MaybeQuoteEmbed} from './QuoteEmbed'
type Embed =
| AppBskyEmbedRecord.View
@@ -49,16 +47,6 @@ export function PostEmbeds({
const pal = usePalette('default')
const {openLightbox} = useLightboxControls()
- const externalUri = AppBskyEmbedExternal.isView(embed)
- ? embed.external.uri
- : null
-
- const onShareExternal = useCallback(() => {
- if (externalUri && isNative) {
- shareUrl(externalUri)
- }
- }, [externalUri])
-
// quote post with media
// =
if (AppBskyEmbedRecordWithMedia.isView(embed)) {
@@ -161,18 +149,9 @@ export function PostEmbeds({
// =
if (AppBskyEmbedExternal.isView(embed)) {
const link = embed.external
-
return (
-
-
-
+
)
}
@@ -187,11 +166,6 @@ const styles = StyleSheet.create({
singleImage: {
borderRadius: 8,
},
- extOuter: {
- borderWidth: 1,
- borderRadius: 8,
- marginTop: 4,
- },
altContainer: {
backgroundColor: 'rgba(0, 0, 0, 0.75)',
borderRadius: 6,
diff --git a/src/view/icons/index.tsx b/src/view/icons/index.tsx
index ede1e63355..b9af6a519c 100644
--- a/src/view/icons/index.tsx
+++ b/src/view/icons/index.tsx
@@ -1,63 +1,72 @@
import {library} from '@fortawesome/fontawesome-svg-core'
-
import {faAddressCard} from '@fortawesome/free-regular-svg-icons'
+import {faBell as farBell} from '@fortawesome/free-regular-svg-icons/faBell'
+import {faBookmark as farBookmark} from '@fortawesome/free-regular-svg-icons/faBookmark'
+import {faCalendar as farCalendar} from '@fortawesome/free-regular-svg-icons/faCalendar'
+import {faCircle} from '@fortawesome/free-regular-svg-icons/faCircle'
+import {faCircleCheck as farCircleCheck} from '@fortawesome/free-regular-svg-icons/faCircleCheck'
+import {faCirclePlay} from '@fortawesome/free-regular-svg-icons/faCirclePlay'
+import {faCircleUser} from '@fortawesome/free-regular-svg-icons/faCircleUser'
+import {faClone as farClone} from '@fortawesome/free-regular-svg-icons/faClone'
+import {faComment} from '@fortawesome/free-regular-svg-icons/faComment'
+import {faComments} from '@fortawesome/free-regular-svg-icons/faComments'
+import {faCompass} from '@fortawesome/free-regular-svg-icons/faCompass'
+import {faEyeSlash as farEyeSlash} from '@fortawesome/free-regular-svg-icons/faEyeSlash'
+import {faFaceSmile} from '@fortawesome/free-regular-svg-icons/faFaceSmile'
+import {faFloppyDisk} from '@fortawesome/free-regular-svg-icons/faFloppyDisk'
+import {faHand as farHand} from '@fortawesome/free-regular-svg-icons/faHand'
+import {faHeart} from '@fortawesome/free-regular-svg-icons/faHeart'
+import {faImage as farImage} from '@fortawesome/free-regular-svg-icons/faImage'
+import {faMessage} from '@fortawesome/free-regular-svg-icons/faMessage'
+import {faPaste} from '@fortawesome/free-regular-svg-icons/faPaste'
+import {faSquare} from '@fortawesome/free-regular-svg-icons/faSquare'
+import {faSquareCheck} from '@fortawesome/free-regular-svg-icons/faSquareCheck'
+import {faSquarePlus} from '@fortawesome/free-regular-svg-icons/faSquarePlus'
+import {faTrashCan} from '@fortawesome/free-regular-svg-icons/faTrashCan'
+import {faUser} from '@fortawesome/free-regular-svg-icons/faUser'
+import {faFlask} from '@fortawesome/free-solid-svg-icons'
+import {faUniversalAccess} from '@fortawesome/free-solid-svg-icons'
import {faAngleDown} from '@fortawesome/free-solid-svg-icons/faAngleDown'
import {faAngleLeft} from '@fortawesome/free-solid-svg-icons/faAngleLeft'
import {faAngleRight} from '@fortawesome/free-solid-svg-icons/faAngleRight'
import {faAngleUp} from '@fortawesome/free-solid-svg-icons/faAngleUp'
+import {faArrowDown} from '@fortawesome/free-solid-svg-icons/faArrowDown'
import {faArrowLeft} from '@fortawesome/free-solid-svg-icons/faArrowLeft'
import {faArrowRight} from '@fortawesome/free-solid-svg-icons/faArrowRight'
-import {faArrowUp} from '@fortawesome/free-solid-svg-icons/faArrowUp'
-import {faArrowDown} from '@fortawesome/free-solid-svg-icons/faArrowDown'
import {faArrowRightFromBracket} from '@fortawesome/free-solid-svg-icons/faArrowRightFromBracket'
-import {faArrowUpFromBracket} from '@fortawesome/free-solid-svg-icons/faArrowUpFromBracket'
-import {faArrowUpRightFromSquare} from '@fortawesome/free-solid-svg-icons/faArrowUpRightFromSquare'
import {faArrowRotateLeft} from '@fortawesome/free-solid-svg-icons/faArrowRotateLeft'
-import {faArrowTrendUp} from '@fortawesome/free-solid-svg-icons/faArrowTrendUp'
import {faArrowsRotate} from '@fortawesome/free-solid-svg-icons/faArrowsRotate'
+import {faArrowTrendUp} from '@fortawesome/free-solid-svg-icons/faArrowTrendUp'
+import {faArrowUp} from '@fortawesome/free-solid-svg-icons/faArrowUp'
+import {faArrowUpFromBracket} from '@fortawesome/free-solid-svg-icons/faArrowUpFromBracket'
+import {faArrowUpRightFromSquare} from '@fortawesome/free-solid-svg-icons/faArrowUpRightFromSquare'
import {faAt} from '@fortawesome/free-solid-svg-icons/faAt'
-import {faBars} from '@fortawesome/free-solid-svg-icons/faBars'
import {faBan} from '@fortawesome/free-solid-svg-icons/faBan'
+import {faBars} from '@fortawesome/free-solid-svg-icons/faBars'
import {faBell} from '@fortawesome/free-solid-svg-icons/faBell'
-import {faBell as farBell} from '@fortawesome/free-regular-svg-icons/faBell'
import {faBookmark} from '@fortawesome/free-solid-svg-icons/faBookmark'
-import {faBookmark as farBookmark} from '@fortawesome/free-regular-svg-icons/faBookmark'
-import {faCalendar as farCalendar} from '@fortawesome/free-regular-svg-icons/faCalendar'
import {faCamera} from '@fortawesome/free-solid-svg-icons/faCamera'
import {faCheck} from '@fortawesome/free-solid-svg-icons/faCheck'
+import {faChevronDown} from '@fortawesome/free-solid-svg-icons/faChevronDown'
import {faChevronRight} from '@fortawesome/free-solid-svg-icons/faChevronRight'
-import {faCircle} from '@fortawesome/free-regular-svg-icons/faCircle'
-import {faCircleCheck as farCircleCheck} from '@fortawesome/free-regular-svg-icons/faCircleCheck'
import {faCircleCheck} from '@fortawesome/free-solid-svg-icons/faCircleCheck'
import {faCircleDot} from '@fortawesome/free-solid-svg-icons/faCircleDot'
import {faCircleExclamation} from '@fortawesome/free-solid-svg-icons/faCircleExclamation'
-import {faCirclePlay} from '@fortawesome/free-regular-svg-icons/faCirclePlay'
-import {faCircleUser} from '@fortawesome/free-regular-svg-icons/faCircleUser'
import {faClone} from '@fortawesome/free-solid-svg-icons/faClone'
-import {faClone as farClone} from '@fortawesome/free-regular-svg-icons/faClone'
-import {faComment} from '@fortawesome/free-regular-svg-icons/faComment'
import {faCommentSlash} from '@fortawesome/free-solid-svg-icons/faCommentSlash'
-import {faComments} from '@fortawesome/free-regular-svg-icons/faComments'
-import {faCompass} from '@fortawesome/free-regular-svg-icons/faCompass'
import {faDownload} from '@fortawesome/free-solid-svg-icons/faDownload'
import {faEllipsis} from '@fortawesome/free-solid-svg-icons/faEllipsis'
import {faEnvelope} from '@fortawesome/free-solid-svg-icons/faEnvelope'
import {faExclamation} from '@fortawesome/free-solid-svg-icons/faExclamation'
import {faEye} from '@fortawesome/free-solid-svg-icons/faEye'
-import {faEyeSlash as farEyeSlash} from '@fortawesome/free-regular-svg-icons/faEyeSlash'
-import {faFaceSmile} from '@fortawesome/free-regular-svg-icons/faFaceSmile'
+import {faFilter} from '@fortawesome/free-solid-svg-icons/faFilter'
import {faFire} from '@fortawesome/free-solid-svg-icons/faFire'
-import {faFlask} from '@fortawesome/free-solid-svg-icons'
-import {faFloppyDisk} from '@fortawesome/free-regular-svg-icons/faFloppyDisk'
import {faGear} from '@fortawesome/free-solid-svg-icons/faGear'
import {faGlobe} from '@fortawesome/free-solid-svg-icons/faGlobe'
import {faHand} from '@fortawesome/free-solid-svg-icons/faHand'
-import {faHand as farHand} from '@fortawesome/free-regular-svg-icons/faHand'
import {faHashtag} from '@fortawesome/free-solid-svg-icons/faHashtag'
-import {faHeart} from '@fortawesome/free-regular-svg-icons/faHeart'
import {faHeart as fasHeart} from '@fortawesome/free-solid-svg-icons/faHeart'
import {faHouse} from '@fortawesome/free-solid-svg-icons/faHouse'
-import {faImage as farImage} from '@fortawesome/free-regular-svg-icons/faImage'
import {faImage} from '@fortawesome/free-solid-svg-icons/faImage'
import {faInfo} from '@fortawesome/free-solid-svg-icons/faInfo'
import {faLanguage} from '@fortawesome/free-solid-svg-icons/faLanguage'
@@ -66,10 +75,8 @@ import {faList} from '@fortawesome/free-solid-svg-icons/faList'
import {faListUl} from '@fortawesome/free-solid-svg-icons/faListUl'
import {faLock} from '@fortawesome/free-solid-svg-icons/faLock'
import {faMagnifyingGlass} from '@fortawesome/free-solid-svg-icons/faMagnifyingGlass'
-import {faMessage} from '@fortawesome/free-regular-svg-icons/faMessage'
import {faNoteSticky} from '@fortawesome/free-solid-svg-icons/faNoteSticky'
import {faPause} from '@fortawesome/free-solid-svg-icons/faPause'
-import {faPaste} from '@fortawesome/free-regular-svg-icons/faPaste'
import {faPen} from '@fortawesome/free-solid-svg-icons/faPen'
import {faPenNib} from '@fortawesome/free-solid-svg-icons/faPenNib'
import {faPenToSquare} from '@fortawesome/free-solid-svg-icons/faPenToSquare'
@@ -87,23 +94,16 @@ import {faShareFromSquare} from '@fortawesome/free-solid-svg-icons/faShareFromSq
import {faShield} from '@fortawesome/free-solid-svg-icons/faShield'
import {faSignal} from '@fortawesome/free-solid-svg-icons/faSignal'
import {faSliders} from '@fortawesome/free-solid-svg-icons/faSliders'
-import {faSquare} from '@fortawesome/free-regular-svg-icons/faSquare'
-import {faSquareCheck} from '@fortawesome/free-regular-svg-icons/faSquareCheck'
-import {faSquarePlus} from '@fortawesome/free-regular-svg-icons/faSquarePlus'
import {faThumbtack} from '@fortawesome/free-solid-svg-icons/faThumbtack'
import {faTicket} from '@fortawesome/free-solid-svg-icons/faTicket'
-import {faTrashCan} from '@fortawesome/free-regular-svg-icons/faTrashCan'
-import {faUser} from '@fortawesome/free-regular-svg-icons/faUser'
-import {faUsers} from '@fortawesome/free-solid-svg-icons/faUsers'
import {faUserCheck} from '@fortawesome/free-solid-svg-icons/faUserCheck'
-import {faUserSlash} from '@fortawesome/free-solid-svg-icons/faUserSlash'
import {faUserPlus} from '@fortawesome/free-solid-svg-icons/faUserPlus'
-import {faUserXmark} from '@fortawesome/free-solid-svg-icons/faUserXmark'
+import {faUsers} from '@fortawesome/free-solid-svg-icons/faUsers'
+import {faUserSlash} from '@fortawesome/free-solid-svg-icons/faUserSlash'
import {faUsersSlash} from '@fortawesome/free-solid-svg-icons/faUsersSlash'
+import {faUserXmark} from '@fortawesome/free-solid-svg-icons/faUserXmark'
import {faX} from '@fortawesome/free-solid-svg-icons/faX'
import {faXmark} from '@fortawesome/free-solid-svg-icons/faXmark'
-import {faChevronDown} from '@fortawesome/free-solid-svg-icons/faChevronDown'
-import {faFilter} from '@fortawesome/free-solid-svg-icons/faFilter'
library.add(
faAddressCard,
@@ -196,6 +196,7 @@ library.add(
faSquare,
faSquareCheck,
faSquarePlus,
+ faUniversalAccess,
faUser,
faUsers,
faUserCheck,
diff --git a/src/view/screens/AccessibilitySettings.tsx b/src/view/screens/AccessibilitySettings.tsx
new file mode 100644
index 0000000000..ac0d985f10
--- /dev/null
+++ b/src/view/screens/AccessibilitySettings.tsx
@@ -0,0 +1,132 @@
+import React from 'react'
+import {StyleSheet, View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useFocusEffect} from '@react-navigation/native'
+
+import {isNative} from '#/platform/detection'
+import {useSetMinimalShellMode} from '#/state/shell'
+import {useAnalytics} from 'lib/analytics/analytics'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
+import {s} from 'lib/styles'
+import {
+ useAutoplayDisabled,
+ useHapticsDisabled,
+ useRequireAltTextEnabled,
+ useSetAutoplayDisabled,
+ useSetHapticsDisabled,
+ useSetRequireAltTextEnabled,
+} from 'state/preferences'
+import {ToggleButton} from 'view/com/util/forms/ToggleButton'
+import {SimpleViewHeader} from '../com/util/SimpleViewHeader'
+import {Text} from '../com/util/text/Text'
+import {ScrollView} from '../com/util/Views'
+
+type Props = NativeStackScreenProps<
+ CommonNavigatorParams,
+ 'AccessibilitySettings'
+>
+export function AccessibilitySettingsScreen({}: Props) {
+ const pal = usePalette('default')
+ const setMinimalShellMode = useSetMinimalShellMode()
+ const {screen} = useAnalytics()
+ const {isMobile} = useWebMediaQueries()
+ const {_} = useLingui()
+
+ const requireAltTextEnabled = useRequireAltTextEnabled()
+ const setRequireAltTextEnabled = useSetRequireAltTextEnabled()
+ const autoplayDisabled = useAutoplayDisabled()
+ const setAutoplayDisabled = useSetAutoplayDisabled()
+ const hapticsDisabled = useHapticsDisabled()
+ const setHapticsDisabled = useSetHapticsDisabled()
+
+ useFocusEffect(
+ React.useCallback(() => {
+ screen('PreferencesExternalEmbeds')
+ setMinimalShellMode(false)
+ }, [screen, setMinimalShellMode]),
+ )
+
+ return (
+
+
+
+
+ Accessibility Settings
+
+
+
+
+
+ Alt text
+
+
+ setRequireAltTextEnabled(!requireAltTextEnabled)}
+ />
+
+
+ Media
+
+
+ setAutoplayDisabled(!autoplayDisabled)}
+ />
+
+ {isNative && (
+ <>
+
+ Haptics
+
+
+ setHapticsDisabled(!hapticsDisabled)}
+ />
+
+ >
+ )}
+
+
+ )
+}
+
+const styles = StyleSheet.create({
+ heading: {
+ paddingHorizontal: 18,
+ paddingTop: 14,
+ paddingBottom: 6,
+ },
+ toggleCard: {
+ paddingVertical: 8,
+ paddingHorizontal: 6,
+ marginBottom: 1,
+ },
+})
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 39bdac669c..3eaa1b8757 100644
--- a/src/view/screens/Home.tsx
+++ b/src/view/screens/Home.tsx
@@ -2,8 +2,10 @@ import React from 'react'
import {ActivityIndicator, AppState, StyleSheet, View} from 'react-native'
import {useFocusEffect} from '@react-navigation/native'
+import {PROD_DEFAULT_FEED} from '#/lib/constants'
import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback'
import {useSetTitle} from '#/lib/hooks/useSetTitle'
+import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
import {logEvent, LogEvents, useGate} from '#/lib/statsig/statsig'
import {emitSoftReset} from '#/state/events'
import {FeedSourceInfo, usePinnedFeedsInfos} from '#/state/queries/feed'
@@ -11,15 +13,19 @@ 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 {
+ useMinimalShellMode,
+ 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 {HomeLoggedOutCTA} from '../com/auth/HomeLoggedOutCTA'
import {HomeHeader} from '../com/home/HomeHeader'
type Props = NativeStackScreenProps
@@ -51,6 +57,8 @@ function HomeScreenReady({
preferences: UsePreferencesQueryResponse
pinnedFeedInfos: FeedSourceInfo[]
}) {
+ useOTAUpdates()
+
const allFeeds = React.useMemo(() => {
const feeds: FeedDescriptor[] = []
feeds.push('home')
@@ -108,21 +116,25 @@ function HomeScreenReady({
}),
)
- const disableMinShellOnForegrounding = useGate(
- 'disable_min_shell_on_foregrounding',
- )
+ const gate = useGate()
+ const mode = useMinimalShellMode()
+ const {isMobile} = useWebMediaQueries()
React.useEffect(() => {
- if (disableMinShellOnForegrounding) {
- const listener = AppState.addEventListener('change', nextAppState => {
- if (nextAppState === 'active') {
+ const listener = AppState.addEventListener('change', nextAppState => {
+ if (nextAppState === 'active') {
+ if (
+ isMobile &&
+ mode.value === 1 &&
+ gate('disable_min_shell_on_foregrounding_v2')
+ ) {
setMinimalShellMode(false)
}
- })
- return () => {
- listener.remove()
}
+ })
+ return () => {
+ listener.remove()
}
- }, [setMinimalShellMode, disableMinShellOnForegrounding])
+ }, [setMinimalShellMode, mode, isMobile, gate])
const onPageSelected = React.useCallback(
(index: number) => {
@@ -231,7 +243,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..b7ce8cdd00 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,8 @@ export function ModerationBlockedAccounts({}: Props) {
const setMinimalShellMode = useSetMinimalShellMode()
const {isTabletOrDesktop} = useWebMediaQueries()
const {screen} = useAnalytics()
+ const gate = useGate()
+
const [isPTRing, setIsPTRing] = React.useState(false)
const {
data,
@@ -163,6 +168,9 @@ export function ModerationBlockedAccounts({}: Props) {
)}
// @ts-ignore our .web version only -prf
desktopFixedHeight
+ showsVerticalScrollIndicator={
+ isWeb || !gate('hide_vertical_scroll_indicators')
+ }
/>
)}
diff --git a/src/view/screens/ModerationMutedAccounts.tsx b/src/view/screens/ModerationMutedAccounts.tsx
index 911ace7782..4d7ca62946 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 gate = useGate()
+
const [isPTRing, setIsPTRing] = React.useState(false)
const {
data,
@@ -162,6 +167,9 @@ export function ModerationMutedAccounts({}: Props) {
)}
// @ts-ignore our .web version only -prf
desktopFixedHeight
+ showsVerticalScrollIndicator={
+ isWeb || !gate('hide_vertical_scroll_indicators')
+ }
/>
)}
diff --git a/src/view/screens/PreferencesExternalEmbeds.tsx b/src/view/screens/PreferencesExternalEmbeds.tsx
index 1e8cedf7e2..5eec7e5077 100644
--- a/src/view/screens/PreferencesExternalEmbeds.tsx
+++ b/src/view/screens/PreferencesExternalEmbeds.tsx
@@ -1,25 +1,26 @@
import React from 'react'
import {StyleSheet, View} from 'react-native'
+import {Trans} from '@lingui/macro'
import {useFocusEffect} from '@react-navigation/native'
-import {NativeStackScreenProps, CommonNavigatorParams} from 'lib/routes/types'
-import {s} from 'lib/styles'
-import {Text} from '../com/util/text/Text'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+
import {
EmbedPlayerSource,
externalEmbedLabels,
} from '#/lib/strings/embed-player'
import {useSetMinimalShellMode} from '#/state/shell'
-import {Trans} from '@lingui/macro'
-import {ScrollView} from '../com/util/Views'
+import {useAnalytics} from 'lib/analytics/analytics'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
+import {s} from 'lib/styles'
import {
useExternalEmbedsPrefs,
useSetExternalEmbedPref,
} from 'state/preferences'
import {ToggleButton} from 'view/com/util/forms/ToggleButton'
import {SimpleViewHeader} from '../com/util/SimpleViewHeader'
+import {Text} from '../com/util/text/Text'
+import {ScrollView} from '../com/util/Views'
type Props = NativeStackScreenProps<
CommonNavigatorParams,
@@ -74,13 +75,16 @@ export function PreferencesExternalEmbeds({}: Props) {
Enable media players for
- {Object.entries(externalEmbedLabels).map(([key, label]) => (
-
- ))}
+ {Object.entries(externalEmbedLabels)
+ // TODO: Remove special case when we disable the old integration.
+ .filter(([key]) => key !== 'tenor')
+ .map(([key, label]) => (
+
+ ))}
)
diff --git a/src/view/screens/Profile.tsx b/src/view/screens/Profile.tsx
index 6073b95716..02d7c90fb4 100644
--- a/src/view/screens/Profile.tsx
+++ b/src/view/screens/Profile.tsx
@@ -12,15 +12,13 @@ import {useFocusEffect} from '@react-navigation/native'
import {useQueryClient} from '@tanstack/react-query'
import {cleanError} from '#/lib/strings/errors'
-import {isInvalidHandle} from '#/lib/strings/handles'
import {useProfileShadow} from '#/state/cache/profile-shadow'
-import {listenSoftReset} from '#/state/events'
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 {useAgent, useSession} from '#/state/session'
import {useSetDrawerSwipeDisabled, useSetMinimalShellMode} from '#/state/shell'
import {useComposerControls} from '#/state/shell/composer'
import {useAnalytics} from 'lib/analytics/analytics'
@@ -28,12 +26,15 @@ import {useSetTitle} from 'lib/hooks/useSetTitle'
import {ComposeIcon2} from 'lib/icons'
import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
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 {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'
@@ -152,6 +153,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)
@@ -178,8 +182,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)
@@ -297,12 +300,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) => {
@@ -316,20 +316,23 @@ function ProfileScreenLoaded({
const renderHeader = React.useCallback(() => {
return (
-
+
+
+
)
}, [
+ scrollViewTag,
profile,
labelerInfo,
- descriptionRT,
hasDescription,
+ descriptionRT,
moderationOpts,
hideBackButton,
showPlaceholder,
@@ -349,7 +352,7 @@ function ProfileScreenLoaded({
onCurrentPageSelected={onCurrentPageSelected}
renderHeader={renderHeader}>
{showFiltersTab
- ? ({headerHeight, scrollElRef}) => (
+ ? ({headerHeight, isFocused, scrollElRef}) => (
)
: null}
@@ -369,6 +374,7 @@ function ProfileScreenLoaded({
scrollElRef={scrollElRef as ListRef}
headerOffset={headerHeight}
enabled={isFocused}
+ setScrollViewTag={setScrollViewTag}
/>
)
: null}
@@ -381,6 +387,7 @@ function ProfileScreenLoaded({
isFocused={isFocused}
scrollElRef={scrollElRef as ListRef}
ignoreFilterFor={profile.did}
+ setScrollViewTag={setScrollViewTag}
/>
)
: null}
@@ -393,6 +400,7 @@ function ProfileScreenLoaded({
isFocused={isFocused}
scrollElRef={scrollElRef as ListRef}
ignoreFilterFor={profile.did}
+ setScrollViewTag={setScrollViewTag}
/>
)
: null}
@@ -405,6 +413,7 @@ function ProfileScreenLoaded({
isFocused={isFocused}
scrollElRef={scrollElRef as ListRef}
ignoreFilterFor={profile.did}
+ setScrollViewTag={setScrollViewTag}
/>
)
: null}
@@ -417,6 +426,7 @@ function ProfileScreenLoaded({
isFocused={isFocused}
scrollElRef={scrollElRef as ListRef}
ignoreFilterFor={profile.did}
+ setScrollViewTag={setScrollViewTag}
/>
)
: null}
@@ -428,6 +438,7 @@ function ProfileScreenLoaded({
scrollElRef={scrollElRef as ListRef}
headerOffset={headerHeight}
enabled={isFocused}
+ setScrollViewTag={setScrollViewTag}
/>
)
: null}
@@ -439,6 +450,7 @@ function ProfileScreenLoaded({
scrollElRef={scrollElRef as ListRef}
headerOffset={headerHeight}
enabled={isFocused}
+ setScrollViewTag={setScrollViewTag}
/>
)
: null}
@@ -458,6 +470,7 @@ function ProfileScreenLoaded({
}
function useRichText(text: string): [RichTextAPI, boolean] {
+ const {getAgent} = useAgent()
const [prevText, setPrevText] = React.useState(text)
const [rawRT, setRawRT] = React.useState(() => new RichTextAPI({text}))
const [resolvedRT, setResolvedRT] = React.useState(null)
@@ -481,7 +494,7 @@ function useRichText(text: string): [RichTextAPI, boolean] {
return () => {
ignore = true
}
- }, [text])
+ }, [text, getAgent])
const isResolving = resolvedRT === null
return [resolvedRT ?? rawRT, isResolving]
}
diff --git a/src/view/screens/ProfileFeed.tsx b/src/view/screens/ProfileFeed.tsx
index 4560e14ebc..814c1e8558 100644
--- a/src/view/screens/ProfileFeed.tsx
+++ b/src/view/screens/ProfileFeed.tsx
@@ -27,7 +27,7 @@ import {truncateAndInvalidate} from '#/state/queries/util'
import {useSession} from '#/state/session'
import {useComposerControls} from '#/state/shell/composer'
import {useAnalytics} from 'lib/analytics/analytics'
-import {Haptics} from 'lib/haptics'
+import {useHaptics} from 'lib/haptics'
import {usePalette} from 'lib/hooks/usePalette'
import {useSetTitle} from 'lib/hooks/useSetTitle'
import {ComposeIcon2} from 'lib/icons'
@@ -159,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()
@@ -201,7 +202,7 @@ export function ProfileFeedScreenInner({
const onToggleSaved = React.useCallback(async () => {
try {
- Haptics.default()
+ playHaptic()
if (isSaved) {
await removeFeed({uri: feedInfo.uri})
@@ -221,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})
@@ -245,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)
@@ -517,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()
@@ -527,7 +539,7 @@ function AboutSection({
const onToggleLiked = React.useCallback(async () => {
try {
- Haptics.default()
+ playHaptic()
if (isLiked && likeUri) {
await unlikeFeed({uri: likeUri})
@@ -546,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 (
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 {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 {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 {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 {FeedDescriptor} from '#/state/queries/post-feed'
-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 {ListMembers} from '#/view/com/lists/ListMembers'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useSetMinimalShellMode} from '#/state/shell'
+
+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 {ReportDialog, useReportDialogControl} from '#/components/ReportDialog'
-import {useResolveUriQuery} from '#/state/queries/resolve-uri'
import {
- useListQuery,
- useListMuteMutation,
useListBlockMutation,
useListDeleteMutation,
+ useListMuteMutation,
+ useListQuery,
} 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 {FeedDescriptor} from '#/state/queries/post-feed'
+import {RQKEY as FEED_RQKEY} from '#/state/queries/post-feed'
import {
- usePreferencesQuery,
usePinFeedMutation,
- useUnpinFeedMutation,
+ usePreferencesQuery,
useSetSaveFeedsMutation,
+ useUnpinFeedMutation,
} from '#/state/queries/preferences'
-import {logger} from '#/logger'
-import {useAnalytics} from '#/lib/analytics/analytics'
-import {listenSoftReset} from '#/state/events'
+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 {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 {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 0f24252ce6..9355c2d60e 100644
--- a/src/view/screens/Search/Search.tsx
+++ b/src/view/screens/Search/Search.tsx
@@ -7,6 +7,13 @@ import {
TextInput,
View,
} from 'react-native'
+import Animated, {
+ FadeIn,
+ FadeOut,
+ LinearTransition,
+ useAnimatedStyle,
+ withSpring,
+} from 'react-native-reanimated'
import {AppBskyActorDefs, AppBskyFeedDefs, moderateProfile} from '@atproto/api'
import {
FontAwesomeIcon,
@@ -22,20 +29,20 @@ 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 {isIOS, isNative, isWeb} from '#/platform/detection'
import {listenSoftReset} from '#/state/events'
-import {useActorAutocompleteFn} from '#/state/queries/actor-autocomplete'
+import {useActorAutocompleteQuery} 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} from '#/state/queries/suggested-follows'
+import {useSuggestedFollowsQuery} from '#/state/queries/suggested-follows'
import {useSession} from '#/state/session'
import {useSetDrawerOpen} from '#/state/shell'
import {useSetDrawerSwipeDisabled, useSetMinimalShellMode} from '#/state/shell'
+import {useNonReactiveCallback} from 'lib/hooks/useNonReactiveCallback'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
import {
NativeStackScreenProps,
@@ -56,6 +63,7 @@ import {
} from '#/view/shell/desktop/Search'
import {ProfileCardFeedLoadingPlaceholder} from 'view/com/util/LoadingPlaceholder'
import {atoms as a} from '#/alf'
+const AnimatedPressable = Animated.createAnimatedComponent(Pressable)
function Loader() {
const pal = usePalette('default')
@@ -118,49 +126,47 @@ function EmptyState({message, error}: {message: string; error?: string}) {
)
}
-function SearchScreenSuggestedFollows() {
- const pal = usePalette('default')
- const {currentAccount} = useSession()
- const [suggestions, setSuggestions] = React.useState<
- AppBskyActorDefs.ProfileViewBasic[]
- >([])
- const getSuggestedFollowsByActor = useGetSuggestedFollowersByActor()
-
- React.useEffect(() => {
- async function getSuggestions() {
- const friends = await getSuggestedFollowsByActor(
- currentAccount!.did,
- ).then(friendsRes => friendsRes.suggestions)
-
- if (!friends) return // :(
-
- const friendsOfFriends = new Map<
- string,
- AppBskyActorDefs.ProfileViewBasic
- >()
-
- await Promise.all(
- friends.slice(0, 4).map(friend =>
- getSuggestedFollowsByActor(friend.did).then(foafsRes => {
- for (const user of foafsRes.suggestions) {
- if (user.associated?.labeler) continue
- friendsOfFriends.set(user.did, user)
- }
- }),
- ),
- )
-
- setSuggestions(Array.from(friendsOfFriends.values()))
- }
+function useSuggestedFollows(): [
+ AppBskyActorDefs.ProfileViewBasic[],
+ () => void,
+] {
+ const {
+ data: suggestions,
+ hasNextPage,
+ isFetchingNextPage,
+ isError,
+ fetchNextPage,
+ } = useSuggestedFollowsQuery()
+ const onEndReached = React.useCallback(async () => {
+ if (isFetchingNextPage || !hasNextPage || isError) return
try {
- getSuggestions()
- } catch (e) {
- logger.error(`SearchScreenSuggestedFollows: failed to get suggestions`, {
- message: e,
- })
+ await fetchNextPage()
+ } catch (err) {
+ logger.error('Failed to load more suggested follows', {message: err})
}
- }, [currentAccount, setSuggestions, getSuggestedFollowsByActor])
+ }, [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 [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}
/>
) : (
@@ -195,9 +203,11 @@ type SearchResultSlice =
function SearchScreenPostResults({
query,
sort,
+ active,
}: {
query: string
sort?: 'top' | 'latest'
+ active: boolean
}) {
const {_} = useLingui()
const {currentAccount} = useSession()
@@ -216,7 +226,7 @@ function SearchScreenPostResults({
fetchNextPage,
isFetchingNextPage,
hasNextPage,
- } = useSearchPostsQuery({query: augmentedQuery, sort})
+ } = useSearchPostsQuery({query: augmentedQuery, sort, enabled: active})
const onPullToRefresh = React.useCallback(async () => {
setIsPTR(true)
@@ -297,9 +307,19 @@ function SearchScreenPostResults({
)
}
-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: query,
+ enabled: active,
+ })
return isFetched && results ? (
<>
@@ -323,118 +343,55 @@ function SearchScreenUserResults({query}: {query: string}) {
)
}
-export function SearchScreenInner({
- query,
- primarySearch,
-}: {
- query?: string
- primarySearch?: boolean
-}) {
+export function SearchScreenInner({query}: {query?: string}) {
const pal = usePalette('default')
const setMinimalShellMode = useSetMinimalShellMode()
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])
-
- if (hasSession) {
- return query ? (
- (
-
- section.title)} {...props} />
-
- )}
- initialPage={0}>
- {sections.map((section, i) => (
- {section.component}
- ))}
-
- ) : (
-
-
-
- Suggested Follows
-
-
-
-
-
- )
- }
+ return [
+ {
+ title: _(msg`Top`),
+ component: (
+
+ ),
+ },
+ {
+ title: _(msg`Latest`),
+ component: (
+
+ ),
+ },
+ {
+ title: _(msg`People`),
+ component: (
+
+ ),
+ },
+ ]
+ }, [_, query, activeTab])
return query ? (
{section.component}
))}
+ ) : hasSession ? (
+
+
+
+ Suggested Follows
+
+
+
+
+
) : (
- {isDesktop && !primarySearch ? (
- Find users with the search tool on the right
- ) : (
- Find users on Bluesky
- )}
+ Find posts and users on Bluesky
@@ -513,43 +487,25 @@ export function SearchScreen(
const {track} = useAnalytics()
const setDrawerOpen = useSetDrawerOpen()
const moderationOpts = useModerationOpts()
- const search = useActorAutocompleteFn()
const setMinimalShellMode = useSetMinimalShellMode()
const {isTabletOrDesktop, isTabletOrMobile} = useWebMediaQueries()
- const searchDebounceTimeout = React.useRef(
- undefined,
- )
- const [isFetching, setIsFetching] = React.useState(false)
- const [query, setQuery] = React.useState(props.route?.params?.q || '')
- const [searchResults, setSearchResults] = React.useState<
- AppBskyActorDefs.ProfileViewBasic[]
- >([])
- const [inputIsFocused, setInputIsFocused] = React.useState(false)
- const [showAutocompleteResults, setShowAutocompleteResults] =
- React.useState(false)
- const [searchHistory, setSearchHistory] = React.useState([])
-
- /**
- * The Search screen's `q` param
- */
- const queryParam = props.route?.params?.q
+ // Query terms
+ const queryParam = props.route?.params?.q ?? ''
+ const [searchText, setSearchText] = React.useState(queryParam)
+ const {data: autocompleteData, isFetching: isAutocompleteFetching} =
+ useActorAutocompleteQuery(searchText, true)
- /**
- * If `true`, this means we received new instructions from the router. This
- * is handled in a effect, and used to update the value of `query` locally
- * within this screen.
- */
- const routeParamsMismatch = queryParam && queryParam !== query
+ const [showAutocomplete, setShowAutocomplete] = React.useState(false)
+ const [searchHistory, setSearchHistory] = React.useState([])
- React.useEffect(() => {
- if (queryParam && routeParamsMismatch) {
- // reset immediately and let local state take over
- navigation.setParams({q: ''})
- // update query for next search
- setQuery(queryParam)
- }
- }, [queryParam, routeParamsMismatch, navigation])
+ useFocusEffect(
+ useNonReactiveCallback(() => {
+ if (isWeb) {
+ setSearchText(queryParam)
+ }
+ }),
+ )
React.useEffect(() => {
const loadSearchHistory = async () => {
@@ -571,60 +527,32 @@ export function SearchScreen(
setDrawerOpen(true)
}, [track, setDrawerOpen])
+ const onPressClearQuery = React.useCallback(() => {
+ scrollToTopWeb()
+ setSearchText('')
+ textInput.current?.focus()
+ }, [])
+
const onPressCancelSearch = React.useCallback(() => {
scrollToTopWeb()
textInput.current?.blur()
- setQuery('')
- setShowAutocompleteResults(false)
- if (searchDebounceTimeout.current)
- clearTimeout(searchDebounceTimeout.current)
- }, [textInput])
+ setShowAutocomplete(false)
+ setSearchText(queryParam)
+ }, [queryParam])
- const onPressClearQuery = React.useCallback(() => {
+ const onChangeText = React.useCallback(async (text: string) => {
scrollToTopWeb()
- setQuery('')
- setShowAutocompleteResults(false)
- }, [setQuery])
-
- const onChangeText = React.useCallback(
- async (text: string) => {
- scrollToTopWeb()
-
- setQuery(text)
-
- if (text.length > 0) {
- setIsFetching(true)
- setShowAutocompleteResults(true)
-
- if (searchDebounceTimeout.current) {
- clearTimeout(searchDebounceTimeout.current)
- }
-
- searchDebounceTimeout.current = setTimeout(async () => {
- const results = await search({query: text, limit: 30})
-
- if (results) {
- setSearchResults(results)
- setIsFetching(false)
- }
- }, 300)
- } else {
- if (searchDebounceTimeout.current) {
- clearTimeout(searchDebounceTimeout.current)
- }
- setSearchResults([])
- setIsFetching(false)
- setShowAutocompleteResults(false)
- }
- },
- [setQuery, search, setSearchResults],
- )
+ setSearchText(text)
+ }, [])
const updateSearchHistory = React.useCallback(
async (newQuery: string) => {
newQuery = newQuery.trim()
- if (newQuery && !searchHistory.includes(newQuery)) {
- let newHistory = [newQuery, ...searchHistory]
+ if (newQuery) {
+ let newHistory = [
+ newQuery,
+ ...searchHistory.filter(q => q !== newQuery),
+ ]
if (newHistory.length > 5) {
newHistory = newHistory.slice(0, 5)
@@ -644,11 +572,30 @@ export function SearchScreen(
[searchHistory, setSearchHistory],
)
+ const navigateToItem = React.useCallback(
+ (item: string) => {
+ scrollToTopWeb()
+ setShowAutocomplete(false)
+ updateSearchHistory(item)
+
+ if (isWeb) {
+ navigation.push('Search', {q: item})
+ } else {
+ textInput.current?.blur()
+ navigation.setParams({q: item})
+ }
+ },
+ [updateSearchHistory, navigation],
+ )
+
const onSubmit = React.useCallback(() => {
- scrollToTopWeb()
- setShowAutocompleteResults(false)
- updateSearchHistory(query)
- }, [query, setShowAutocompleteResults, updateSearchHistory])
+ navigateToItem(searchText)
+ }, [navigateToItem, searchText])
+
+ const handleHistoryItemClick = (item: string) => {
+ setSearchText(item)
+ navigateToItem(item)
+ }
const onSoftReset = React.useCallback(() => {
scrollToTopWeb()
@@ -656,9 +603,9 @@ export function SearchScreen(
}, [onPressCancelSearch])
const queryMaybeHandle = React.useMemo(() => {
- const match = MATCH_HANDLE.exec(query)
+ const match = MATCH_HANDLE.exec(queryParam)
return match && match[1]
- }, [query])
+ }, [queryParam])
useFocusEffect(
React.useCallback(() => {
@@ -667,11 +614,6 @@ export function SearchScreen(
}, [onSoftReset, setMinimalShellMode]),
)
- const handleHistoryItemClick = (item: React.SetStateAction) => {
- setQuery(item)
- onSubmit()
- }
-
const handleRemoveHistoryItem = (itemToRemove: string) => {
const updatedHistory = searchHistory.filter(item => item !== itemToRemove)
setSearchHistory(updatedHistory)
@@ -682,6 +624,14 @@ export function SearchScreen(
)
}
+ const showClearButton = showAutocomplete && searchText.length > 0
+ const clearButtonStyle = useAnimatedStyle(() => ({
+ opacity: withSpring(showClearButton ? 1 : 0, {
+ overshootClamping: true,
+ duration: 50,
+ }),
+ }))
+
return (
)}
-
+ isWeb && {
+ // @ts-ignore web only
+ cursor: 'default',
+ },
+ ]}
+ onPress={() => {
+ textInput.current?.focus()
+ }}>
setInputIsFocused(true)}
- onBlur={() => {
- // HACK
- // give 100ms to not stop click handlers in the search history
- // -prf
- setTimeout(() => setInputIsFocused(false), 100)
+ selectTextOnFocus={isNative}
+ onFocus={() => {
+ if (isWeb) {
+ // Prevent a jump on iPad by ensuring that
+ // the initial focused render has no result list.
+ requestAnimationFrame(() => {
+ setShowAutocomplete(true)
+ })
+ } else {
+ setShowAutocomplete(true)
+ if (isIOS) {
+ // We rely on selectTextOnFocus, but it's broken on iOS:
+ // https://github.com/facebook/react-native/issues/41988
+ textInput.current?.setSelection(0, searchText.length)
+ // We still rely on selectTextOnFocus for it to be instant on Android.
+ }
+ }
}}
onChangeText={onChangeText}
onSubmitEditing={onSubmit}
@@ -745,40 +718,44 @@ export function SearchScreen(
autoComplete="off"
autoCapitalize="none"
/>
- {query ? (
-
-
-
- ) : undefined}
-
-
- {query || inputIsFocused ? (
-
-
+
+
+
+ {showAutocomplete && (
+
+
-
+
Cancel
-
+
- ) : undefined}
+ )}
- {showAutocompleteResults ? (
+ {showAutocomplete && searchText.length > 0 ? (
<>
- {isFetching || !moderationOpts ? (
+ {(isAutocompleteFetching && !autocompleteData?.length) ||
+ !moderationOpts ? (
) : (
@@ -805,11 +782,18 @@ export function SearchScreen(
/>
) : null}
- {searchResults.map(item => (
+ {autocompleteData?.map(item => (
{
+ if (isWeb) {
+ setShowAutocomplete(false)
+ } else {
+ textInput.current?.blur()
+ }
+ }}
/>
))}
@@ -817,7 +801,7 @@ export function SearchScreen(
)}
>
- ) : !query && inputIsFocused ? (
+ ) : !queryParam && showAutocomplete ? (
- ) : routeParamsMismatch ? (
-
) : (
-
+
)}
)
@@ -917,6 +899,9 @@ const styles = StyleSheet.create({
},
headerCancelBtn: {
paddingLeft: 10,
+ alignSelf: 'center',
+ zIndex: -1,
+ elevation: -1, // For Android
},
tabBarContainer: {
// @ts-ignore web only
diff --git a/src/view/screens/Settings/DisableEmail2FADialog.tsx b/src/view/screens/Settings/DisableEmail2FADialog.tsx
new file mode 100644
index 0000000000..83b133f656
--- /dev/null
+++ b/src/view/screens/Settings/DisableEmail2FADialog.tsx
@@ -0,0 +1,197 @@
+import React, {useState} from 'react'
+import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {cleanError} from '#/lib/strings/errors'
+import {isNative} from '#/platform/detection'
+import {useAgent, useSession, useSessionApi} from '#/state/session'
+import {ErrorMessage} from '#/view/com/util/error/ErrorMessage'
+import * as Toast from '#/view/com/util/Toast'
+import {atoms as a, useBreakpoints, useTheme} from '#/alf'
+import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+import * as Dialog from '#/components/Dialog'
+import * as TextField from '#/components/forms/TextField'
+import {Lock_Stroke2_Corner0_Rounded as Lock} from '#/components/icons/Lock'
+import {Loader} from '#/components/Loader'
+import {P, Text} from '#/components/Typography'
+
+enum Stages {
+ Email,
+ ConfirmCode,
+}
+
+export function DisableEmail2FADialog({
+ control,
+}: {
+ control: Dialog.DialogOuterProps['control']
+}) {
+ const {_} = useLingui()
+ const t = useTheme()
+ const {gtMobile} = useBreakpoints()
+ const {currentAccount} = useSession()
+ const {updateCurrentAccount} = useSessionApi()
+ const {getAgent} = useAgent()
+
+ const [stage, setStage] = useState(Stages.Email)
+ const [confirmationCode, setConfirmationCode] = useState('')
+ const [isProcessing, setIsProcessing] = useState(false)
+ const [error, setError] = useState('')
+
+ const onSendEmail = async () => {
+ setError('')
+ setIsProcessing(true)
+ try {
+ await getAgent().com.atproto.server.requestEmailUpdate()
+ setStage(Stages.ConfirmCode)
+ } catch (e) {
+ setError(cleanError(String(e)))
+ } finally {
+ setIsProcessing(false)
+ }
+ }
+
+ const onConfirmDisable = async () => {
+ setError('')
+ setIsProcessing(true)
+ try {
+ if (currentAccount?.email) {
+ await getAgent().com.atproto.server.updateEmail({
+ email: currentAccount!.email,
+ token: confirmationCode.trim(),
+ emailAuthFactor: false,
+ })
+ updateCurrentAccount({emailAuthFactor: false})
+ Toast.show(_(msg`Email 2FA disabled`))
+ }
+ control.close()
+ } catch (e) {
+ const errMsg = String(e)
+ if (errMsg.includes('Token is invalid')) {
+ setError(_(msg`Invalid 2FA confirmation code.`))
+ } else {
+ setError(cleanError(errMsg))
+ }
+ } finally {
+ setIsProcessing(false)
+ }
+ }
+
+ return (
+
+
+
+
+
+
+ Disable Email 2FA
+
+
+ {stage === Stages.ConfirmCode ? (
+
+ An email has been sent to{' '}
+ {currentAccount?.email || '(no email)'}. It includes a
+ confirmation code which you can enter below.
+
+ ) : (
+
+ To disable the email 2FA method, please verify your access to
+ the email address.
+
+ )}
+
+
+ {error ? : undefined}
+
+ {stage === Stages.Email ? (
+
+
+
+ Send verification email
+
+ {isProcessing && }
+
+ setStage(Stages.ConfirmCode)}
+ label={_(msg`I have a code`)}
+ disabled={isProcessing}>
+
+ I have a code
+
+
+
+ ) : stage === Stages.ConfirmCode ? (
+
+
+
+ Confirmation code
+
+
+
+
+
+
+
+
+
+ Resend email
+
+
+
+
+ Confirm
+
+ {isProcessing && }
+
+
+
+ ) : undefined}
+
+ {!gtMobile && isNative && }
+
+
+
+ )
+}
diff --git a/src/view/screens/Settings/Email2FAToggle.tsx b/src/view/screens/Settings/Email2FAToggle.tsx
new file mode 100644
index 0000000000..87a56ba5eb
--- /dev/null
+++ b/src/view/screens/Settings/Email2FAToggle.tsx
@@ -0,0 +1,61 @@
+import React from 'react'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useModalControls} from '#/state/modals'
+import {useAgent, useSession, useSessionApi} from '#/state/session'
+import {ToggleButton} from 'view/com/util/forms/ToggleButton'
+import {useDialogControl} from '#/components/Dialog'
+import {DisableEmail2FADialog} from './DisableEmail2FADialog'
+
+export function Email2FAToggle() {
+ const {_} = useLingui()
+ const {currentAccount} = useSession()
+ const {updateCurrentAccount} = useSessionApi()
+ const {openModal} = useModalControls()
+ const disableDialogCtrl = useDialogControl()
+ const {getAgent} = useAgent()
+
+ const enableEmailAuthFactor = React.useCallback(async () => {
+ if (currentAccount?.email) {
+ await getAgent().com.atproto.server.updateEmail({
+ email: currentAccount.email,
+ emailAuthFactor: true,
+ })
+ updateCurrentAccount({
+ emailAuthFactor: true,
+ })
+ }
+ }, [currentAccount, updateCurrentAccount, getAgent])
+
+ const onToggle = React.useCallback(() => {
+ if (!currentAccount) {
+ return
+ }
+ if (currentAccount.emailAuthFactor) {
+ disableDialogCtrl.open()
+ } else {
+ if (!currentAccount.emailConfirmed) {
+ openModal({
+ name: 'verify-email',
+ onSuccess: enableEmailAuthFactor,
+ })
+ return
+ }
+ enableEmailAuthFactor()
+ }
+ }, [currentAccount, enableEmailAuthFactor, openModal, disableDialogCtrl])
+
+ return (
+ <>
+
+
+ >
+ )
+}
diff --git a/src/view/screens/Settings/ExportCarDialog.tsx b/src/view/screens/Settings/ExportCarDialog.tsx
index e901fb0905..1b8d430b2a 100644
--- a/src/view/screens/Settings/ExportCarDialog.tsx
+++ b/src/view/screens/Settings/ExportCarDialog.tsx
@@ -3,7 +3,7 @@ import {View} from 'react-native'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {getAgent, useSession} from '#/state/session'
+import {useAgent, useSession} from '#/state/session'
import {atoms as a, useBreakpoints, useTheme} from '#/alf'
import {Button, ButtonText} from '#/components/Button'
import * as Dialog from '#/components/Dialog'
@@ -19,6 +19,7 @@ export function ExportCarDialog({
const t = useTheme()
const {gtMobile} = useBreakpoints()
const {currentAccount} = useSession()
+ const {getAgent} = useAgent()
const downloadUrl = React.useMemo(() => {
const agent = getAgent()
@@ -30,7 +31,7 @@ export function ExportCarDialog({
url.pathname = '/xrpc/com.atproto.sync.getRepo'
url.searchParams.set('did', agent.session.did)
return url.toString()
- }, [currentAccount])
+ }, [currentAccount, getAgent])
return (
diff --git a/src/view/screens/Settings/index.tsx b/src/view/screens/Settings/index.tsx
index 830a73ff26..6b5390c293 100644
--- a/src/view/screens/Settings/index.tsx
+++ b/src/view/screens/Settings/index.tsx
@@ -23,12 +23,7 @@ import {useQueryClient} from '@tanstack/react-query'
import {isNative} from '#/platform/detection'
import {useModalControls} from '#/state/modals'
import {clearLegacyStorage} from '#/state/persisted/legacy'
-// TODO import {useInviteCodesQuery} from '#/state/queries/invites'
import {clear as clearStorage} from '#/state/persisted/store'
-import {
- useRequireAltTextEnabled,
- useSetRequireAltTextEnabled,
-} from '#/state/preferences'
import {
useInAppBrowser,
useSetInAppBrowser,
@@ -68,6 +63,8 @@ import {UserAvatar} from 'view/com/util/UserAvatar'
import {ScrollView} from 'view/com/util/Views'
import {useDialogControl} from '#/components/Dialog'
import {BirthDateSettingsDialog} from '#/components/dialogs/BirthDateSettings'
+import {navigate, resetToTab} from '#/Navigation'
+import {Email2FAToggle} from './Email2FAToggle'
import {ExportCarDialog} from './ExportCarDialog'
function SettingsAccountCard({account}: {account: SessionAccount}) {
@@ -101,7 +98,14 @@ function SettingsAccountCard({account}: {account: SessionAccount}) {
{
- logout('Settings')
+ if (isNative) {
+ logout('Settings')
+ resetToTab('HomeTab')
+ } else {
+ navigate('Home').then(() => {
+ logout('Settings')
+ })
+ }
}}
accessibilityRole="button"
accessibilityLabel={_(msg`Sign out`)}
@@ -151,8 +155,6 @@ export function SettingsScreen({}: Props) {
const pal = usePalette('default')
const {_} = useLingui()
const setMinimalShellMode = useSetMinimalShellMode()
- const requireAltTextEnabled = useRequireAltTextEnabled()
- const setRequireAltTextEnabled = useSetRequireAltTextEnabled()
const inAppBrowserPref = useInAppBrowser()
const setUseInAppBrowser = useSetInAppBrowser()
const onboardingDispatch = useOnboardingDispatch()
@@ -162,9 +164,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()
@@ -220,13 +219,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])
@@ -279,6 +271,10 @@ export function SettingsScreen({}: Props) {
navigation.navigate('SavedFeeds')
}, [navigation])
+ const onPressAccessibilitySettings = React.useCallback(() => {
+ navigation.navigate('AccessibilitySettings')
+ }, [navigation])
+
const onPressStatusPage = React.useCallback(() => {
Linking.openURL(STATUS_PAGE_URL)
}, [])
@@ -315,7 +311,7 @@ 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
-
-
- setRequireAltTextEnabled(!requireAltTextEnabled)}
- />
-
-
-
-
Appearance
@@ -542,107 +471,130 @@ export function SettingsScreen({}: Props) {
Basics
+ accessibilityLabel={_(msg`Accessibility settings`)}
+ accessibilityHint={_(msg`Opens accessibility settings`)}>
- Following Feed Preferences
+ Accessibility
+ accessibilityLabel={_(msg`Language settings`)}
+ accessibilityHint={_(msg`Opens configurable language settings`)}>
- Thread Preferences
+ Languages
navigation.navigate('Moderation')
+ }
accessibilityRole="button"
- accessibilityLabel={_(msg`My saved feeds`)}
- accessibilityHint={_(msg`Opens screen with all saved feeds`)}>
+ accessibilityLabel={_(msg`Moderation settings`)}
+ accessibilityHint={_(msg`Opens moderation settings`)}>
-
+
- My Saved Feeds
+ Moderation
+ accessibilityLabel={_(msg`Following feed preferences`)}
+ accessibilityHint={_(msg`Opens the Following feed preferences`)}>
- Languages
+ Following Feed Preferences
navigation.navigate('Moderation')
- }
+ onPress={openThreadsPreferences}
accessibilityRole="button"
- accessibilityLabel={_(msg`Moderation settings`)}
- accessibilityHint={_(msg`Opens moderation settings`)}>
+ accessibilityLabel={_(msg`Thread preferences`)}
+ accessibilityHint={_(msg`Opens the threads preferences`)}>
-
+
- Moderation
+ Thread Preferences
+
+
+
+
+
+
+
+ My Saved Feeds
@@ -739,6 +691,13 @@ export function SettingsScreen({}: Props) {
)}
+
+ Two-factor authentication
+
+
+
+
+
Account
diff --git a/src/view/screens/Storybook/Buttons.tsx b/src/view/screens/Storybook/Buttons.tsx
index cae8ec3144..b532b0dd16 100644
--- a/src/view/screens/Storybook/Buttons.tsx
+++ b/src/view/screens/Storybook/Buttons.tsx
@@ -9,7 +9,7 @@ import {
ButtonText,
ButtonVariant,
} from '#/components/Button'
-import {ArrowTopRight_Stroke2_Corner0_Rounded as ArrowTopRight} from '#/components/icons/ArrowTopRight'
+import {ArrowTopRight_Stroke2_Corner0_Rounded as ArrowTopRight} from '#/components/icons/Arrow'
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'
diff --git a/src/view/screens/Storybook/Dialogs.tsx b/src/view/screens/Storybook/Dialogs.tsx
index f68f9f4ddf..6d166d4b64 100644
--- a/src/view/screens/Storybook/Dialogs.tsx
+++ b/src/view/screens/Storybook/Dialogs.tsx
@@ -14,6 +14,43 @@ export function Dialogs() {
const prompt = Prompt.usePromptControl()
const testDialog = Dialog.useDialogControl()
const {closeAllDialogs} = useDialogStateControlContext()
+ const unmountTestDialog = Dialog.useDialogControl()
+ const [shouldRenderUnmountTest, setShouldRenderUnmountTest] =
+ React.useState(false)
+ const unmountTestInterval = React.useRef()
+
+ const onUnmountTestStartPressWithClose = () => {
+ setShouldRenderUnmountTest(true)
+
+ setTimeout(() => {
+ unmountTestDialog.open()
+ }, 1000)
+
+ setTimeout(() => {
+ unmountTestDialog.close()
+ }, 4950)
+
+ setInterval(() => {
+ setShouldRenderUnmountTest(prev => !prev)
+ }, 5000)
+ }
+
+ const onUnmountTestStartPressWithoutClose = () => {
+ setShouldRenderUnmountTest(true)
+
+ setTimeout(() => {
+ unmountTestDialog.open()
+ }, 1000)
+
+ setInterval(() => {
+ setShouldRenderUnmountTest(prev => !prev)
+ }, 5000)
+ }
+
+ const onUnmountTestEndPress = () => {
+ setShouldRenderUnmountTest(false)
+ clearInterval(unmountTestInterval.current)
+ }
return (
@@ -70,6 +107,33 @@ export function Dialogs() {
Open Tester
+
+ Start Unmount Test With `.close()` call
+
+
+
+ Start Unmount Test Without `.close()` call
+
+
+
+ End Unmount Test
+
+
This is a prompt
@@ -257,6 +321,17 @@ export function Dialogs() {
+
+ {shouldRenderUnmountTest && (
+
+
+
+
+ Unmount Test Dialog
+ Will unmount in about 5 seconds
+
+
+ )}
)
}
diff --git a/src/view/screens/Storybook/Icons.tsx b/src/view/screens/Storybook/Icons.tsx
index 9d7dc0aa8a..bff1fdc9b7 100644
--- a/src/view/screens/Storybook/Icons.tsx
+++ b/src/view/screens/Storybook/Icons.tsx
@@ -2,11 +2,11 @@ import React from 'react'
import {View} from 'react-native'
import {atoms as a, useTheme} from '#/alf'
-import {H1} from '#/components/Typography'
-import {Globe_Stroke2_Corner0_Rounded as Globe} from '#/components/icons/Globe'
-import {ArrowTopRight_Stroke2_Corner0_Rounded as ArrowTopRight} from '#/components/icons/ArrowTopRight'
+import {ArrowTopRight_Stroke2_Corner0_Rounded as ArrowTopRight} from '#/components/icons/Arrow'
import {CalendarDays_Stroke2_Corner0_Rounded as CalendarDays} from '#/components/icons/CalendarDays'
+import {Globe_Stroke2_Corner0_Rounded as Globe} from '#/components/icons/Globe'
import {Loader} from '#/components/Loader'
+import {H1} from '#/components/Typography'
export function Icons() {
const t = useTheme()
diff --git a/src/view/shell/Drawer.tsx b/src/view/shell/Drawer.tsx
index 1bf5647f66..8145fa4087 100644
--- a/src/view/shell/Drawer.tsx
+++ b/src/view/shell/Drawer.tsx
@@ -9,49 +9,48 @@ 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,
+ 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,
@@ -177,12 +176,6 @@ let DrawerContent = ({}: {}): React.ReactNode => {
setDrawerOpen(false)
}, [navigation, track, setDrawerOpen])
- const onPressModeration = React.useCallback(() => {
- track('Menu:ItemClicked', {url: 'Moderation'})
- navigation.navigate('Moderation')
- setDrawerOpen(false)
- }, [navigation, track, setDrawerOpen])
-
const onPressSettings = React.useCallback(() => {
track('Menu:ItemClicked', {url: 'Settings'})
navigation.navigate('Settings')
@@ -224,7 +217,9 @@ let DrawerContent = ({}: {}): React.ReactNode => {
/>
) : (
-
+
+
+
)}
{hasSession ? (
@@ -238,7 +233,6 @@ let DrawerContent = ({}: {}): React.ReactNode => {
/>
-
{
>
) : (
-
+ <>
+
+
+
+ >
)}
@@ -501,25 +499,6 @@ let ListsMenuItem = ({onPress}: {onPress: () => void}): React.ReactNode => {
}
ListsMenuItem = React.memo(ListsMenuItem)
-let ModerationMenuItem = ({
- onPress,
-}: {
- onPress: () => void
-}): React.ReactNode => {
- const {_} = useLingui()
- const pal = usePalette('default')
- return (
- }
- label={_(msg`Moderation`)}
- accessibilityLabel={_(msg`Moderation`)}
- accessibilityHint=""
- onPress={onPress}
- />
- )
-}
-ModerationMenuItem = React.memo(ModerationMenuItem)
-
let ProfileMenuItem = ({
isActive,
onPress,
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 f41631a969..33f713322a 100644
--- a/src/view/shell/bottom-bar/BottomBar.tsx
+++ b/src/view/shell/bottom-bar/BottomBar.tsx
@@ -8,7 +8,7 @@ import {BottomTabBarProps} from '@react-navigation/bottom-tabs'
import {StackActions} from '@react-navigation/native'
import {useAnalytics} from '#/lib/analytics/analytics'
-import {Haptics} from '#/lib/haptics'
+import {useHaptics} from '#/lib/haptics'
import {useDedupe} from '#/lib/hooks/useDedupe'
import {useMinimalShellMode} from '#/lib/hooks/useMinimalShellMode'
import {useNavigationTabState} from '#/lib/hooks/useNavigationTabState'
@@ -24,6 +24,7 @@ import {
} from '#/lib/icons'
import {clamp} from '#/lib/numbers'
import {getTabState, TabState} from '#/lib/routes/helpers'
+import {useGate} from '#/lib/statsig/statsig'
import {s} from '#/lib/styles'
import {emitSoftReset} from '#/state/events'
import {useUnreadNotifications} from '#/state/queries/notifications/unread'
@@ -39,9 +40,17 @@ import {Logo} from '#/view/icons/Logo'
import {Logotype} from '#/view/icons/Logotype'
import {useDialogControl} from '#/components/Dialog'
import {SwitchAccountDialog} from '#/components/dialogs/SwitchAccount'
+import {Envelope_Stroke2_Corner0_Rounded as Envelope} from '#/components/icons/Envelope'
+import {Envelope_Filled_Stroke2_Corner0_Rounded as EnvelopeFilled} from '#/components/icons/Envelope'
import {styles} from './BottomBarStyles'
-type TabOptions = 'Home' | 'Search' | 'Notifications' | 'MyProfile' | 'Feeds'
+type TabOptions =
+ | 'Home'
+ | 'Search'
+ | 'Notifications'
+ | 'MyProfile'
+ | 'Feeds'
+ | 'Messages'
export function BottomBar({navigation}: BottomTabBarProps) {
const {hasSession, currentAccount} = useSession()
@@ -50,8 +59,14 @@ export function BottomBar({navigation}: BottomTabBarProps) {
const safeAreaInsets = useSafeAreaInsets()
const {track} = useAnalytics()
const {footerHeight} = useShellLayout()
- const {isAtHome, isAtSearch, isAtFeeds, isAtNotifications, isAtMyProfile} =
- useNavigationTabState()
+ const {
+ isAtHome,
+ isAtSearch,
+ isAtFeeds,
+ isAtNotifications,
+ isAtMyProfile,
+ isAtMessages,
+ } = useNavigationTabState()
const numUnreadNotifications = useUnreadNotifications()
const {footerMinimalShellTransform} = useMinimalShellMode()
const {data: profile} = useProfileQuery({did: currentAccount?.did})
@@ -59,6 +74,8 @@ export function BottomBar({navigation}: BottomTabBarProps) {
const closeAllActiveElements = useCloseAllActiveElements()
const dedupe = useDedupe()
const accountSwitchControl = useDialogControl()
+ const playHaptic = useHaptics()
+ const gate = useGate()
const showSignIn = React.useCallback(() => {
closeAllActiveElements()
@@ -103,10 +120,14 @@ export function BottomBar({navigation}: BottomTabBarProps) {
onPressTab('MyProfile')
}, [onPressTab])
+ const onPressMessages = React.useCallback(() => {
+ onPressTab('Messages')
+ }, [onPressTab])
+
const onLongPressProfile = React.useCallback(() => {
- Haptics.default()
+ playHaptic()
accountSwitchControl.open()
- }, [accountSwitchControl])
+ }, [accountSwitchControl, playHaptic])
return (
<>
@@ -219,6 +240,28 @@ export function BottomBar({navigation}: BottomTabBarProps) {
: `${numUnreadNotifications} unread`
}
/>
+ {gate('dms') && (
+
+ ) : (
+
+ )
+ }
+ onPress={onPressMessages}
+ accessibilityRole="tab"
+ accessibilityLabel={_(msg`Messages`)}
+ accessibilityHint=""
+ />
+ )}
+ {icon}
{notificationCount ? (
{notificationCount}
) : undefined}
- {icon}
)
}
diff --git a/src/view/shell/bottom-bar/BottomBarStyles.tsx b/src/view/shell/bottom-bar/BottomBarStyles.tsx
index f226406f5d..f76df5bd88 100644
--- a/src/view/shell/bottom-bar/BottomBarStyles.tsx
+++ b/src/view/shell/bottom-bar/BottomBarStyles.tsx
@@ -1,4 +1,5 @@
import {StyleSheet} from 'react-native'
+
import {colors} from 'lib/styles'
export const styles = StyleSheet.create({
@@ -65,6 +66,9 @@ export const styles = StyleSheet.create({
profileIcon: {
top: -4,
},
+ messagesIcon: {
+ top: 2,
+ },
onProfile: {
borderWidth: 1,
borderRadius: 100,
diff --git a/src/view/shell/bottom-bar/BottomBarWeb.tsx b/src/view/shell/bottom-bar/BottomBarWeb.tsx
index b330c4b808..8b316faa5e 100644
--- a/src/view/shell/bottom-bar/BottomBarWeb.tsx
+++ b/src/view/shell/bottom-bar/BottomBarWeb.tsx
@@ -1,37 +1,41 @@
import React from 'react'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useNavigationState} from '@react-navigation/native'
+import {View} from 'react-native'
import Animated from 'react-native-reanimated'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
-import {View} from 'react-native'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {getCurrentRoute, isTab} from 'lib/routes/helpers'
-import {styles} from './BottomBarStyles'
-import {clamp} from 'lib/numbers'
+import {useNavigationState} from '@react-navigation/native'
+
+import {useMinimalShellMode} from '#/lib/hooks/useMinimalShellMode'
+import {usePalette} from '#/lib/hooks/usePalette'
import {
BellIcon,
BellIconSolid,
+ HashtagIcon,
HomeIcon,
HomeIconSolid,
MagnifyingGlassIcon2,
MagnifyingGlassIcon2Solid,
- HashtagIcon,
UserIcon,
UserIconSolid,
-} from 'lib/icons'
-import {Link} from 'view/com/util/Link'
-import {useMinimalShellMode} from 'lib/hooks/useMinimalShellMode'
-import {makeProfileLink} from 'lib/routes/links'
-import {CommonNavigatorParams} from 'lib/routes/types'
+} from '#/lib/icons'
+import {clamp} from '#/lib/numbers'
+import {getCurrentRoute, isTab} from '#/lib/routes/helpers'
+import {makeProfileLink} from '#/lib/routes/links'
+import {CommonNavigatorParams} from '#/lib/routes/types'
+import {useGate} from '#/lib/statsig/statsig'
+import {s} from '#/lib/styles'
import {useSession} from '#/state/session'
import {useLoggedOutViewControls} from '#/state/shell/logged-out'
import {useCloseAllActiveElements} from '#/state/util'
import {Button} from '#/view/com/util/forms/Button'
import {Text} from '#/view/com/util/text/Text'
-import {s} from 'lib/styles'
import {Logo} from '#/view/icons/Logo'
import {Logotype} from '#/view/icons/Logotype'
+import {Link} from 'view/com/util/Link'
+import {Envelope_Stroke2_Corner0_Rounded as Envelope} from '#/components/icons/Envelope'
+import {Envelope_Filled_Stroke2_Corner0_Rounded as EnvelopeFilled} from '#/components/icons/Envelope'
+import {styles} from './BottomBarStyles'
export function BottomBarWeb() {
const {_} = useLingui()
@@ -41,6 +45,7 @@ export function BottomBarWeb() {
const {footerMinimalShellTransform} = useMinimalShellMode()
const {requestSwitchToAccount} = useLoggedOutViewControls()
const closeAllActiveElements = useCloseAllActiveElements()
+ const gate = useGate()
const showSignIn = React.useCallback(() => {
closeAllActiveElements()
@@ -117,6 +122,19 @@ export function BottomBarWeb() {
)
}}
+ {gate('dms') && (
+
+ {({isActive}) => {
+ const Icon = isActive ? EnvelopeFilled : Envelope
+ return (
+
+ )
+ }}
+
+ )}
setShowLoggedOut(false)} />
}
if (onboardingState.isActive) {
- if (NEW_ONBOARDING_ENABLED) {
- return
- } else {
- return
- }
+ return
}
const newDescriptors: typeof descriptors = {}
for (let key in descriptors) {
diff --git a/src/view/shell/desktop/LeftNav.tsx b/src/view/shell/desktop/LeftNav.tsx
index 097ca2fbfb..91d20e089e 100644
--- a/src/view/shell/desktop/LeftNav.tsx
+++ b/src/view/shell/desktop/LeftNav.tsx
@@ -1,52 +1,55 @@
import React from 'react'
import {StyleSheet, TouchableOpacity, View} from 'react-native'
-import {PressableWithHover} from 'view/com/util/PressableWithHover'
+import {
+ FontAwesomeIcon,
+ FontAwesomeIconStyle,
+} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
import {
useLinkProps,
useNavigation,
useNavigationState,
} from '@react-navigation/native'
-import {
- FontAwesomeIcon,
- FontAwesomeIconStyle,
-} from '@fortawesome/react-native-fontawesome'
-import {Text} from 'view/com/util/text/Text'
-import {UserAvatar} from 'view/com/util/UserAvatar'
-import {Link} from 'view/com/util/Link'
-import {LoadingPlaceholder} from 'view/com/util/LoadingPlaceholder'
+
+import {useGate} from '#/lib/statsig/statsig'
+import {isInvalidHandle} from '#/lib/strings/handles'
+import {emitSoftReset} from '#/state/events'
+import {useFetchHandle} from '#/state/queries/handle'
+import {useUnreadNotifications} from '#/state/queries/notifications/unread'
+import {useProfileQuery} from '#/state/queries/profile'
+import {useSession} from '#/state/session'
+import {useComposerControls} from '#/state/shell/composer'
import {usePalette} from 'lib/hooks/usePalette'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {s, colors} from 'lib/styles'
import {
- HomeIcon,
- HomeIconSolid,
- MagnifyingGlassIcon2,
- MagnifyingGlassIcon2Solid,
BellIcon,
BellIconSolid,
- UserIcon,
- UserIconSolid,
CogIcon,
CogIconSolid,
ComposeIcon2,
- ListIcon,
HashtagIcon,
- HandIcon,
+ HomeIcon,
+ HomeIconSolid,
+ ListIcon,
+ MagnifyingGlassIcon2,
+ MagnifyingGlassIcon2Solid,
+ UserIcon,
+ UserIconSolid,
} from 'lib/icons'
-import {getCurrentRoute, isTab, isStateAtTabRoot} from 'lib/routes/helpers'
-import {NavigationProp, CommonNavigatorParams} from 'lib/routes/types'
-import {router} from '../../../routes'
+import {getCurrentRoute, isStateAtTabRoot, isTab} from 'lib/routes/helpers'
import {makeProfileLink} from 'lib/routes/links'
-import {useLingui} from '@lingui/react'
-import {Trans, msg} from '@lingui/macro'
-import {useProfileQuery} from '#/state/queries/profile'
-import {useSession} from '#/state/session'
-import {useUnreadNotifications} from '#/state/queries/notifications/unread'
-import {useComposerControls} from '#/state/shell/composer'
-import {useFetchHandle} from '#/state/queries/handle'
-import {emitSoftReset} from '#/state/events'
+import {CommonNavigatorParams, NavigationProp} from 'lib/routes/types'
+import {colors, s} from 'lib/styles'
import {NavSignupCard} from '#/view/shell/NavSignupCard'
-import {isInvalidHandle} from '#/lib/strings/handles'
+import {Link} from 'view/com/util/Link'
+import {LoadingPlaceholder} from 'view/com/util/LoadingPlaceholder'
+import {PressableWithHover} from 'view/com/util/PressableWithHover'
+import {Text} from 'view/com/util/text/Text'
+import {UserAvatar} from 'view/com/util/UserAvatar'
+import {Envelope_Stroke2_Corner0_Rounded as Envelope} from '#/components/icons/Envelope'
+import {Envelope_Filled_Stroke2_Corner0_Rounded as EnvelopeFilled} from '#/components/icons/Envelope'
+import {router} from '../../../routes'
function ProfileCard() {
const {currentAccount} = useSession()
@@ -272,6 +275,7 @@ export function DesktopLeftNav() {
const {_} = useLingui()
const {isDesktop, isTablet} = useWebMediaQueries()
const numUnread = useUnreadNotifications()
+ const gate = useGate()
if (!hasSession && !isDesktop) {
return null
@@ -327,24 +331,6 @@ export function DesktopLeftNav() {
}
label={_(msg`Search`)}
/>
-
- }
- iconFilled={
-
- }
- label={_(msg`Feeds`)}
- />
+ {gate('dms') && (
+ }
+ iconFilled={
+
+ }
+ label={_(msg`Messages`)}
+ />
+ )}
+
+ }
+ iconFilled={
+
+ }
+ label={_(msg`Feeds`)}
+ />
-
- }
- iconFilled={
-
- }
- label={_(msg`Moderation`)}
- />
void
}) {
const pal = usePalette('default')
+ const queryClient = useQueryClient()
+
+ const onPress = React.useCallback(() => {
+ precacheProfile(queryClient, profile)
+ onPressInner()
+ }, [queryClient, profile, onPressInner])
return (
+ anchorNoUnderline
+ onBeforePress={onPress}>
()
- const searchDebounceTimeout = React.useRef(
- undefined,
- )
const [isActive, setIsActive] = React.useState(false)
- const [isFetching, setIsFetching] = React.useState(false)
const [query, setQuery] = React.useState('')
- const [searchResults, setSearchResults] = React.useState<
- AppBskyActorDefs.ProfileViewBasic[]
- >([])
+ const {data: autocompleteData, isFetching} = useActorAutocompleteQuery(
+ query,
+ true,
+ )
const moderationOpts = useModerationOpts()
- const search = useActorAutocompleteFn()
-
- const onChangeText = React.useCallback(
- async (text: string) => {
- setQuery(text)
-
- if (text.length > 0) {
- setIsFetching(true)
- setIsActive(true)
- if (searchDebounceTimeout.current)
- clearTimeout(searchDebounceTimeout.current)
-
- searchDebounceTimeout.current = setTimeout(async () => {
- const results = await search({query: text})
-
- if (results) {
- setSearchResults(results)
- setIsFetching(false)
- }
- }, 300)
- } else {
- if (searchDebounceTimeout.current)
- clearTimeout(searchDebounceTimeout.current)
- setSearchResults([])
- setIsFetching(false)
- setIsActive(false)
- }
- },
- [setQuery, search, setSearchResults],
- )
+ const onChangeText = React.useCallback((text: string) => {
+ setQuery(text)
+ setIsActive(text.length > 0)
+ }, [])
const onPressCancelSearch = React.useCallback(() => {
setQuery('')
setIsActive(false)
- if (searchDebounceTimeout.current)
- clearTimeout(searchDebounceTimeout.current)
}, [setQuery])
+
const onSubmit = React.useCallback(() => {
setIsActive(false)
if (!query.length) return
- setSearchResults([])
- if (searchDebounceTimeout.current)
- clearTimeout(searchDebounceTimeout.current)
navigation.dispatch(StackActions.push('Search', {q: query}))
- }, [query, navigation, setSearchResults])
+ }, [query, navigation])
+
+ const onSearchProfileCardPress = React.useCallback(() => {
+ setQuery('')
+ setIsActive(false)
+ }, [])
const queryMaybeHandle = React.useMemo(() => {
const match = MATCH_HANDLE.exec(query)
@@ -246,7 +229,7 @@ export function DesktopSearch() {
{query !== '' && isActive && moderationOpts && (
- {isFetching ? (
+ {isFetching && !autocompleteData?.length ? (
@@ -255,7 +238,11 @@ export function DesktopSearch() {
0
+ ? {borderBottomWidth: 1}
+ : undefined
+ }
/>
{queryMaybeHandle ? (
@@ -265,11 +252,12 @@ export function DesktopSearch() {
/>
) : null}
- {searchResults.map(item => (
+ {autocompleteData?.map(item => (
))}
>
diff --git a/src/view/shell/index.tsx b/src/view/shell/index.tsx
index f29183095a..f13a8d7dfe 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 {useAgent, 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()
@@ -54,6 +57,7 @@ function ShellInner() {
)
const canGoBack = useNavigationState(state => !isStateAtTabRoot(state))
const {hasSession, currentAccount} = useSession()
+ const {getAgent} = useAgent()
const closeAnyActiveElement = useCloseAnyActiveElement()
const {importantForAccessibility} = useDialogStateContext()
// start undefined
@@ -75,11 +79,14 @@ function ShellInner() {
// only runs when did changes
if (currentAccount && currentAccountDid.current !== currentAccount.did) {
currentAccountDid.current = currentAccount.did
- notifications.requestPermissionsAndRegisterToken(currentAccount)
- const unsub = notifications.registerTokenChangeHandler(currentAccount)
+ notifications.requestPermissionsAndRegisterToken(getAgent, currentAccount)
+ const unsub = notifications.registerTokenChangeHandler(
+ getAgent,
+ currentAccount,
+ )
return unsub
}
- }, [currentAccount])
+ }, [currentAccount, getAgent])
return (
<>
@@ -101,6 +108,7 @@ function ShellInner() {
+
>
@@ -110,6 +118,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 {useWebBodyScrollLock} from '#/lib/hooks/useWebBodyScrollLock'
+import {useIsDrawerOpen, useSetDrawerOpen} from '#/state/shell'
+import {useCloseAllActiveElements} from '#/state/util'
+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 {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 {useIsDrawerOpen, useSetDrawerOpen} from '#/state/shell'
-import {useCloseAllActiveElements} from '#/state/util'
-import {useWebBodyScrollLock} from '#/lib/hooks/useWebBodyScrollLock'
-import {Outlet as PortalOutlet} from '#/components/Portal'
-import {MutedWordsDialog} from '#/components/dialogs/MutedWords'
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 06d00dec97..b059e69e90 100644
--- a/web/index.html
+++ b/web/index.html
@@ -239,6 +239,16 @@
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 6f1de3b8b7..5aa2d47f5b 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -1,3 +1,5 @@
+const fs = require('fs')
+const path = require('path')
const createExpoWebpackConfigAsync = require('@expo/webpack-config')
const {withAlias} = require('@expo/webpack-config/addons')
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin')
@@ -22,6 +24,25 @@ module.exports = async function (env, argv) {
'react-native$': 'react-native-web',
'react-native-webview': 'react-native-web-webview',
})
+
+ if (process.env.ATPROTO_ROOT) {
+ const atprotoRoot = path.resolve(process.cwd(), process.env.ATPROTO_ROOT)
+ const atprotoPackages = path.join(atprotoRoot, 'packages')
+
+ config = withAlias(
+ config,
+ Object.fromEntries(
+ fs
+ .readdirSync(atprotoPackages)
+ .map(pkgName => [pkgName, path.join(atprotoPackages, pkgName)])
+ .filter(([_, pkgPath]) =>
+ fs.existsSync(path.join(pkgPath, 'package.json')),
+ )
+ .map(([pkgName, pkgPath]) => [`@atproto/${pkgName}`, pkgPath]),
+ ),
+ )
+ }
+
config.module.rules = [
...(config.module.rules || []),
reactNativeWebWebviewConfiguration,
diff --git a/yarn.lock b/yarn.lock
index f5a3799da4..63b027fed6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -34,10 +34,22 @@
jsonpointer "^5.0.0"
leven "^3.1.0"
-"@atproto/api@^0.12.2":
- version "0.12.2"
- resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.12.2.tgz#5df6d4f60dea0395c84fdebd9e81a7e853edf130"
- integrity sha512-UVzCiDZH2j0wrr/O8nb1edD5cYLVqB5iujueXUCbHS3rAwIxgmyLtA3Hzm2QYsGPo/+xsIg1fNvpq9rNT6KWUA==
+"@atproto/api@^0.12.3":
+ version "0.12.3"
+ resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.12.3.tgz#5b7b1c7d4210ee9315961504900c8409395cbb17"
+ integrity sha512-y/kGpIEo+mKGQ7VOphpqCAigTI0LZRmDThNChTfSzDKm9TzEobwiw0zUID0Yw6ot1iLLFx3nKURmuZAYlEuobw==
+ dependencies:
+ "@atproto/common-web" "^0.3.0"
+ "@atproto/lexicon" "^0.4.0"
+ "@atproto/syntax" "^0.3.0"
+ "@atproto/xrpc" "^0.5.0"
+ multiformats "^9.9.0"
+ tlds "^1.234.0"
+
+"@atproto/api@^0.12.5":
+ version "0.12.5"
+ resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.12.5.tgz#3ed70990b27c468d9663ca71306039cab663ca96"
+ integrity sha512-xqdl/KrAK2kW6hN8+eSmKTWHgMNaPnDAEvZzo08Xbk/5jdRzjoEPS+p7k/wQ+ZefwOHL3QUbVPO4hMfmVxzO/Q==
dependencies:
"@atproto/common-web" "^0.3.0"
"@atproto/lexicon" "^0.4.0"
@@ -63,12 +75,12 @@
multiformats "^9.9.0"
uint8arrays "3.0.0"
-"@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==
+"@atproto/bsky@^0.0.45":
+ version "0.0.45"
+ resolved "https://registry.yarnpkg.com/@atproto/bsky/-/bsky-0.0.45.tgz#c3083d8038fe8c5ff921d9bcb0b5a043cc840827"
+ integrity sha512-osWeigdYzQH2vZki+eszCR8ta9zdUB4om79aFmnE+zvxw7HFduwAAbcHf6kmmiLCfaOWvCsYb1wS2i3IC66TAg==
dependencies:
- "@atproto/api" "^0.12.2"
+ "@atproto/api" "^0.12.3"
"@atproto/common" "^0.4.0"
"@atproto/crypto" "^0.4.0"
"@atproto/identity" "^0.4.0"
@@ -177,20 +189,20 @@
"@noble/hashes" "^1.3.1"
uint8arrays "3.0.0"
-"@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==
+"@atproto/dev-env@^0.3.5":
+ version "0.3.5"
+ resolved "https://registry.yarnpkg.com/@atproto/dev-env/-/dev-env-0.3.5.tgz#cd13313dbc52131731d039a1d22808ee8193505d"
+ integrity sha512-dqRNihzX1xIHbWPHmfYsliUUXyZn5FFhCeButrGie5soQmHA4okQJTB1XWDly3mdHLjUM90g+5zjRSAKoui77Q==
dependencies:
- "@atproto/api" "^0.12.2"
- "@atproto/bsky" "^0.0.44"
+ "@atproto/api" "^0.12.3"
+ "@atproto/bsky" "^0.0.45"
"@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/ozone" "^0.1.7"
+ "@atproto/pds" "^0.4.14"
"@atproto/syntax" "^0.3.0"
"@atproto/xrpc-server" "^0.5.1"
"@did-plc/lib" "^0.0.1"
@@ -222,12 +234,12 @@
multiformats "^9.9.0"
zod "^3.21.4"
-"@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==
+"@atproto/ozone@^0.1.7":
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/@atproto/ozone/-/ozone-0.1.7.tgz#248d88e1acfe56936651754975472d03d047d689"
+ integrity sha512-vvaV0MFynOzZJcL8m8mEW21o1FFIkP+wHTXEC9LJrL3h03+PMaby8Ujmif6WX5eikhfxvr9xsU/Jxbi/iValuQ==
dependencies:
- "@atproto/api" "^0.12.2"
+ "@atproto/api" "^0.12.3"
"@atproto/common" "^0.4.0"
"@atproto/crypto" "^0.4.0"
"@atproto/identity" "^0.4.0"
@@ -249,12 +261,12 @@
typed-emitter "^2.1.0"
uint8arrays "3.0.0"
-"@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==
+"@atproto/pds@^0.4.14":
+ version "0.4.14"
+ resolved "https://registry.yarnpkg.com/@atproto/pds/-/pds-0.4.14.tgz#5b55ef307323bda712f2ddaba5c1fff7740ed91b"
+ integrity sha512-rqVcvtw5oMuuJIpWZbSSTSx19+JaZyUcg9OEjdlUmyEpToRN88zTEQySEksymrrLQkW/LPRyWGd7WthbGEuEfQ==
dependencies:
- "@atproto/api" "^0.12.2"
+ "@atproto/api" "^0.12.3"
"@atproto/aws" "^0.2.0"
"@atproto/common" "^0.4.0"
"@atproto/crypto" "^0.4.0"
@@ -3511,6 +3523,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"
@@ -3526,6 +3545,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"
@@ -3533,11 +3560,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"
@@ -8577,6 +8616,15 @@ asap@~2.0.3, asap@~2.0.6:
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==
+asn1.js@^4.10.1:
+ version "4.10.1"
+ resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
+ integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==
+ dependencies:
+ bn.js "^4.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+
asn1.js@^5.0.1:
version "5.4.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
@@ -9101,6 +9149,11 @@ bn.js@^4.0.0, bn.js@^4.11.8, bn.js@^4.11.9:
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
+bn.js@^5.0.0, bn.js@^5.2.1:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70"
+ integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==
+
body-parser@1.20.1:
version "1.20.1"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668"
@@ -9197,6 +9250,41 @@ browser-process-hrtime@^1.0.0:
resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
+browserify-aes@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
+ integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
+ dependencies:
+ buffer-xor "^1.0.3"
+ cipher-base "^1.0.0"
+ create-hash "^1.1.0"
+ evp_bytestokey "^1.0.3"
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+browserify-rsa@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d"
+ integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==
+ dependencies:
+ bn.js "^5.0.0"
+ randombytes "^2.0.1"
+
+browserify-sign@4.2.2:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.2.tgz#e78d4b69816d6e3dd1c747e64e9947f9ad79bc7e"
+ integrity sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==
+ dependencies:
+ bn.js "^5.2.1"
+ browserify-rsa "^4.1.0"
+ create-hash "^1.2.0"
+ create-hmac "^1.1.7"
+ elliptic "^6.5.4"
+ inherits "^2.0.4"
+ parse-asn1 "^5.1.6"
+ readable-stream "^3.6.2"
+ safe-buffer "^5.2.1"
+
browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.21.9:
version "4.21.10"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0"
@@ -9242,6 +9330,11 @@ buffer-writer@2.0.0:
resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04"
integrity sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==
+buffer-xor@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+ integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==
+
buffer@5.6.0:
version "5.6.0"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786"
@@ -9601,6 +9694,14 @@ ci-info@^3.2.0, ci-info@^3.3.0:
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91"
integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==
+cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
+ integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
cjs-module-lexer@^1.0.0:
version "1.2.3"
resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107"
@@ -10041,6 +10142,29 @@ cosmiconfig@^8.0.0:
parse-json "^5.2.0"
path-type "^4.0.0"
+create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
+ integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
+ dependencies:
+ cipher-base "^1.0.1"
+ inherits "^2.0.1"
+ md5.js "^1.3.4"
+ ripemd160 "^2.0.1"
+ sha.js "^2.4.0"
+
+create-hmac@^1.1.4, create-hmac@^1.1.7:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
+ integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
+ dependencies:
+ cipher-base "^1.0.3"
+ create-hash "^1.1.0"
+ inherits "^2.0.1"
+ ripemd160 "^2.0.0"
+ safe-buffer "^5.0.1"
+ sha.js "^2.4.8"
+
create-jest@^29.7.0:
version "29.7.0"
resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320"
@@ -10906,6 +11030,19 @@ elliptic@^6.4.1:
minimalistic-assert "^1.0.1"
minimalistic-crypto-utils "^1.0.1"
+elliptic@^6.5.4:
+ version "6.5.5"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.5.tgz#c715e09f78b6923977610d4c2346d6ce22e6dded"
+ integrity sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==
+ dependencies:
+ bn.js "^4.11.9"
+ brorand "^1.1.0"
+ hash.js "^1.0.0"
+ hmac-drbg "^1.0.1"
+ inherits "^2.0.4"
+ minimalistic-assert "^1.0.1"
+ minimalistic-crypto-utils "^1.0.1"
+
email-validator@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/email-validator/-/email-validator-2.0.4.tgz#b8dfaa5d0dae28f1b03c95881d904d4e40bfe7ed"
@@ -11605,6 +11742,14 @@ events@3.3.0, events@^3.2.0, events@^3.3.0:
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
+evp_bytestokey@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
+ integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
+ dependencies:
+ md5.js "^1.3.4"
+ safe-buffer "^5.1.1"
+
exec-async@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/exec-async/-/exec-async-2.2.0.tgz#c7c5ad2eef3478d38390c6dd3acfe8af0efc8301"
@@ -11825,6 +11970,11 @@ expo-eas-client@~0.11.0:
resolved "https://registry.yarnpkg.com/expo-eas-client/-/expo-eas-client-0.11.0.tgz#0f25aa497849cade7ebef55c0631093a87e58b07"
integrity sha512-99W0MUGe3U4/MY1E9UeJ4uKNI39mN8/sOGA0Le8XC47MTbwbLoVegHR3C5y2fXLwLn7EpfNxAn5nlxYjY3gD2A==
+expo-file-system@^16.0.9:
+ version "16.0.9"
+ resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-16.0.9.tgz#cbd6c4b228b60a6b6c71fd1b91fe57299fb24da7"
+ integrity sha512-3gRPvKVv7/Y7AdD9eHMIdfg5YbUn2zbwKofjsloTI5sEC57SLUFJtbLvUCz9Pk63DaSQ7WIE1JM0EASyvuPbuw==
+
expo-file-system@~16.0.0:
version "16.0.1"
resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-16.0.1.tgz#326b7c2f6e53e1a0eaafc9769578aafb3f9c9f43"
@@ -11935,6 +12085,14 @@ expo-modules-core@1.11.12:
dependencies:
invariant "^2.2.4"
+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"
@@ -12979,6 +13137,23 @@ has@^1.0.3:
dependencies:
function-bind "^1.1.1"
+hash-base@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
+ integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
+ dependencies:
+ inherits "^2.0.4"
+ readable-stream "^3.6.0"
+ safe-buffer "^5.2.0"
+
+hash-base@~3.0:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918"
+ integrity sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
hash.js@^1.0.0, hash.js@^1.0.3:
version "1.1.7"
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
@@ -15785,6 +15960,15 @@ md5-file@^3.2.3:
dependencies:
buffer-alloc "^1.1.0"
+md5.js@^1.3.4:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
+ integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+ safe-buffer "^5.1.2"
+
md5@^2.2.1:
version "2.3.0"
resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f"
@@ -17014,6 +17198,18 @@ parent-module@^1.0.0:
dependencies:
callsites "^3.0.0"
+parse-asn1@^5.1.6:
+ version "5.1.7"
+ resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.7.tgz#73cdaaa822125f9647165625eb45f8a051d2df06"
+ integrity sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==
+ dependencies:
+ asn1.js "^4.10.1"
+ browserify-aes "^1.2.0"
+ evp_bytestokey "^1.0.3"
+ hash-base "~3.0"
+ pbkdf2 "^3.1.2"
+ safe-buffer "^5.2.1"
+
parse-json@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
@@ -17160,6 +17356,17 @@ pathe@^1.1.0:
resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.1.tgz#1dd31d382b974ba69809adc9a7a347e65d84829a"
integrity sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==
+pbkdf2@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075"
+ integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==
+ dependencies:
+ create-hash "^1.1.2"
+ create-hmac "^1.1.4"
+ ripemd160 "^2.0.1"
+ safe-buffer "^5.0.1"
+ sha.js "^2.4.8"
+
peek-readable@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.1.0.tgz#4ece1111bf5c2ad8867c314c81356847e8a62e72"
@@ -18448,7 +18655,7 @@ ramda@^0.27.1:
resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.2.tgz#84463226f7f36dc33592f6f4ed6374c48306c3f1"
integrity sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==
-randombytes@^2.1.0:
+randombytes@^2.0.1, randombytes@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
@@ -18944,7 +19151,7 @@ readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@~2.3.6:
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
-readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0:
+readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0, readable-stream@^3.6.2:
version "3.6.2"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
@@ -19337,6 +19544,14 @@ rimraf@~2.6.2:
dependencies:
glob "^7.1.3"
+ripemd160@^2.0.0, ripemd160@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
+ integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+
rn-fetch-blob@^0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/rn-fetch-blob/-/rn-fetch-blob-0.12.0.tgz#ec610d2f9b3f1065556b58ab9c106eeb256f3cba"
@@ -19435,7 +19650,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0:
+safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -19722,6 +19937,14 @@ sf-symbols-typescript@^1.0.0:
resolved "https://registry.yarnpkg.com/sf-symbols-typescript/-/sf-symbols-typescript-1.0.0.tgz#94e9210bf27e7583f9749a0d07bd4f4937ea488f"
integrity sha512-DkS7q3nN68dEMb4E18HFPDAvyrjDZK9YAQQF2QxeFu9gp2xRDXFMF8qLJ1EmQ/qeEGQmop4lmMM1WtYJTIcCMw==
+sha.js@^2.4.0, sha.js@^2.4.8:
+ version "2.4.11"
+ resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
+ integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
shallow-clone@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
@@ -22298,7 +22521,12 @@ zeego@^1.6.2:
"@radix-ui/react-dropdown-menu" "^2.0.1"
sf-symbols-typescript "^1.0.0"
-zod@^3.14.2, zod@^3.20.2, zod@^3.21.4:
+zod@^3.14.2, zod@^3.21.4:
version "3.22.2"
resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.2.tgz#3add8c682b7077c05ac6f979fea6998b573e157b"
integrity sha512-wvWkphh5WQsJbVk1tbx1l1Ly4yg+XecD+Mq280uBGt9wa5BKSWf4Mhp6GmrkPixhMxmabYY7RbzlwVP32pbGCg==
+
+zod@^3.22.4:
+ version "3.22.4"
+ resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.4.tgz#f31c3a9386f61b1f228af56faa9255e845cf3fff"
+ integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==