Translate post content
Compatible with Flarum v1.7.2
Latest release 0.2.1
released on Nov 14, 2022
Translate for Flarum helps translate all your discussions without you having to do a thing. Using AI all comments on your community can be auto translated based on the users' language, it's as simple as clicking a button.
All monthly/yearly subscription plans come with a 7 day free trial, so you can determine if this extension is right for you or not.
Technical support and updates are both included in your subscription.
- Post language detection - a handy label is displayed when the post is viewed if the viewer's locale differs to that of the post. User preference option to always show the label, if required.
- Post language detection is independent of any installed Forum language packs.
- On demand post translation - displayed directly under the original content. Translations are cached in the database to reduce the number of translation requests to the provider, saving money (if your provider charges per translation request), and provide a speed increase.
- Formatting is preserved as far as possible between the original and translated content by running translated content back through the same post renderer as the original.
- Users may translate from any driver supported language to any enabled forum language (subject to permission). Just one language pack installed? No problem! This extension will simply translate any 'foreign' posts to your single language seamlessly.
- Automatic updates to cached translations after a post has been edited.
- Multiple translation driver support. See
- Translate permissions - define any level of access to view translations from
Guestusers and up to suit your needs.
- Admin users may force a refresh of any translation, if required.
Regular permissions, English locale, Welsh content.
Regular permissions German locale, Welsh content.
Translate All permission, English locale, Welsh content.
User preference options
This extension requires an active subscription from extiverse. Once your subscription is active you can follow the instructions on the Extiverse subscriptions page to configure composer. Once completed you can run the following command for installation:
composer require ianm/translate
composer update ianm/translate php flarum migrate php flarum cache:clear
After setting up your subscription (above) and installing the extension, it will be pre-configured to use the
Google Translate driver. See Drivers for information on how to select and configure drivers.
Once the extension is enabled, any existing forum posts will not have their language detected. This means that the language header for each post will not be displayed, and the available translation options will not be as filtered as normal (ie normally the option to translate a post to the language it was written in is not displayed.). As each post is edited, it's language will be detected and will be stored and only updated if the content changes.
Alternatively, you can use the CLI to process all posts and detect their language ahead of first use. See CLI below.
By default, all users (including guests) may translate post content to that of their current locale, when the post content differs from it.
Status: Production ready. Has a fair usage limit of approx 500 translation requests per day (excluding cached translations).
This driver uses
Google Translate APIs under the hood, but without any configuration required. Ideal for use in testing environments and small/medium sized communities.
Google Cloud Translate
Status: Production ready. Additional costs via Google Cloud may apply.
- Log in to Google Developer Console
- Create a new
Projectto contain your translation API, and enable any billing as required.
Enable APIand search for
Cloud Translation APIand enable it.
Create Credentialsand choose
API Key. Give this key a name so you can refer back to it at a later date. Optionally, restrict this key to the translation API only for improved security.
- Once you have generated your key, copy/paste it into the
Google Cloud Translatorsection of this extension's settings.
Status: Beta. Additional costs via DeepL may apply, depending on your chosen plan.
Supports both the DeepL free and Pro variants, formality setting and English "flavour" (en-US or en-GB)
- Log in and choose a plan at DeepL
- Follow the signup steps as described. Note, you will need to enter billing information, even for the free teir.
- Once you have setup your new account, obtain your API key from DeepL Account Settings and enter it into the relevant setting field in this extension.
- [optional] set your preferences for
Status: experimental/under development
Azure Cognitive Services Translator
Whilst the user generated content is handled by your chosen translation driver, some of the UI elements of this extension rely on traditional Flarum language packs. Check on the status of your language on weblate
The following CLI commands are provided by this extension
php flarum translate:detect
This command is used to detect the language in the
content attribute of a
CommentPost. The content is parsed and sent via the translate API to the current active translator engine. The result is stored on the post
detected_lang attribute. eg
en if English content is detected.
CommentPost items where the
detected_lang attribute is
null (ie not previously set) will be processed.
--discussion=26 can be appended to the command to only identify the language used in discussion ID
26 (replace the ID as appropriate).
--force can be appended to force a re-detection of the content language.
Both options can be used together if required, eg
php flarum translate:detect --discussion=26 --force
How are translation updates handled?
When a post is edited, all cached translations are marked as "needing an update". Rather than automatically refreshing all translations for that post, the next time a translation for
x language is requested, we call the translation service to provide it seamlessly on demand. This helps to reduce translation costs and server load too.
In addition to the stated additional translation provider drivers, other features may be added over time. These will be driven by subscriber feedback. Accepted and planned improvements will appear here.
Technical support is included in your subscription and is provided in the first instance on Discuss, but can also be provided via email, Discord, etc as required.
© 2023 Hyn by Daniël "Luceos" Klabbers. All rights reserved. · Extensions and extension information is provided by the respective (copyright holding) authors. · Extiverse is not affiliated to the Flarum project or Flarum foundation. · Images on Extiverse pages are from Unsplash.