FEATURE: Automatic translation and localization of posts, topics, categories (#1376)
Related: https://github.com/discourse/discourse-translator/pull/310 This commit includes all the jobs and event hooks to localize posts, topics, and categories. A few notes: - `feature_name: "translation"` because the site setting is `ai-translation` and module is `Translation` - we will switch to proper ai-feature in the near future, and can consider using the persona_user as `localization.localizer_user_id` - keeping things flat within the module for now as we will be moving to ai-feature soon and have to rearrange - Settings renamed/introduced are: - ai_translation_backfill_rate (0) - ai_translation_backfill_limit_to_public_content (true) - ai_translation_backfill_max_age_days (5) - ai_translation_verbose_logs (false)
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import { apiInitializer } from "discourse/lib/api";
|
||||
import cookie from "discourse/lib/cookie";
|
||||
|
||||
export default apiInitializer((api) => {
|
||||
const settings = api.container.lookup("service:site-settings");
|
||||
|
||||
if (!settings.discourse_ai_enabled || !settings.ai_translation_enabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
api.registerCustomPostMessageCallback(
|
||||
"localized",
|
||||
(topicController, data) => {
|
||||
if (!cookie("content-localization-show-original")) {
|
||||
const postStream = topicController.get("model.postStream");
|
||||
postStream.triggerChangedPost(data.id, data.updated_at).then(() => {
|
||||
topicController.appEvents.trigger("post-stream:refresh", {
|
||||
id: data.id,
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
Reference in New Issue
Block a user