Skip to content

Instantly share code, notes, and snippets.

@nikclayton
Last active November 1, 2023 13:04
Show Gist options
  • Save nikclayton/75454c36873ba7700415aaa4efd1de11 to your computer and use it in GitHub Desktop.
Save nikclayton/75454c36873ba7700415aaa4efd1de11 to your computer and use it in GitHub Desktop.
Early Pachli translation FAQ

[!IMPORTANT] This is a draft, the translation feature hasn't launched yet.

Which versions of Pachli support translation?

Pachli Current, and any version of Pachli from 2.0 or later.

How do I translate a post or undo a translation?

Tap the "..." menu at the bottom right of the post, and choose "Translate" or "Undo translate" as appropriate.

A "Translating..." message will appear under the post while translation is happening. When translation is complete the content of the post is changed and information about the translation provider is shown below the post.

TODO: Screenshot.

Why is this behind a menu?

I considered making this part of the "action" buttons at the bottom of a post (reply, boost, bookmark, etc) and decided against it.

Not all servers support translation, and not all posts can be translated (see [[#Why is the "Translate" option not in the post's menu?]]).

So the buttons might shift position as the "Translate" button was present on some posts but not others. This is bad for users' muscle memory, as it makes it easier to inadvertently tap the wrong button and perform the wrong action. Sometimes that's OK but sometimes it's not; for example, inadvertently bookmarking a post is OK, but inadvertently favouriting or boosting a post causes your account do something that's publicly visible, and Pachli errs on the side of caution.

Having a translate button that is always present but disabled some of the time was rejected; it prevents the muscle-memory problem but it reduces the space available for the other "action" buttons which are already quite narrow. Making them narrower risks introducing an accessibility problem.

I also expect this is a feature that will -- for the majority of users -- be used far less frequently than the other action buttons, so putting a less-used feature behind a menu that requires an additional press to activate seems like a reasonable compromise.

What parts of a post are translated?

Translation can change all of the following in a post:

  • The content warning (if present)
  • The text of the post
  • The options in a poll (if present)
  • The descriptions on any media attachments (if present)

How is a post translated?

Your server configures a translation provider, and advertises that translation is available to applications like Pachli.

When you choose the "translate" option on a post your server translates the post and sends the translation back to Pachli.

How the server performs the translation depends on the server. Some servers may be configured to perform translation locally. Other servers may send the post to a third party translation provider, like DeepL.

[!IMPORTANT] Pachli does not send the post to a third party, your Mastodon server does.

How do I stop posts being sent to third parties like DeepL?

At the moment you can't control that, that's managed by your server administrators.

A future version of Pachli will include an option to perform translation entirely on your device.

Why is the "Translate" option not in the post's menu?

Any of the following reasons.

  1. You are looking at the post on anything except your home timeline. In Pachli 2.0 translation is only available for posts on the home timeline. This will be fixed in a future release.
  2. Your Mastodon server is too old. Translation became available in Mastodon 4.0.
  3. Your Mastodon server is version 4.0 or later, but your server administrators have not enabled the translation functionality.
  4. The post was marked private (can be seen by followers and mentioned users) or direct (can only be seen by mentioned users); Mastodon does not support translating private or direct posts

The translation is wrong

As the translation is carried out by a third party service there is nothing Pachli can do about this.

Translating a post showed an error message

The translation service may fail. If this happens a message will pop up at the bottom of the screen with details about the failure.

There is nothing Pachli can do about this, but your server administrators may be interested in the details of the failure.

Translating a post didn't change the text of the post

The translation service might send back an untranslated copy of the post. This could be because:

  1. The service can not translate the language the post was written in. Different services will support different languages. For example, DeepL API: get-languages shows the list of languages DeepL supports.
  2. The service had some other problem translating the post, but did not report that error back.

In both cases there is nothing Pachli can do about this, but your server administrators may be interested in receiving a problem report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment