diff --git a/site/docs/es/plugins/i18n.md b/site/docs/es/plugins/i18n.md index a656487e4..753f797ee 100644 --- a/site/docs/es/plugins/i18n.md +++ b/site/docs/es/plugins/i18n.md @@ -626,6 +626,21 @@ bot.command("start", async (ctx) => { }); ``` +::: warning Posibles problemas de formato +Por defecto, Fluent utiliza marcas de aislamiento Unicode para las interpolaciones. + +Si utiliza variables de posición dentro de etiquetas o entidades, tener las marcas de aislamiento puede dar lugar a un formato incorrecto (por ejemplo, texto sin formato en lugar del enlace esperado o una etiqueta). + +Para solucionarlo, utilice las siguientes opciones: + +```ts +const i18n = new I18n({ + fluentBundleOptions: { useIsolating: false }, +}); +``` + +::: + ## Añadir traducciones Hay tres métodos principales para cargar traducciones. diff --git a/site/docs/id/plugins/i18n.md b/site/docs/id/plugins/i18n.md index 843e7389d..f49dcc9d3 100644 --- a/site/docs/id/plugins/i18n.md +++ b/site/docs/id/plugins/i18n.md @@ -620,6 +620,21 @@ bot.command("start", async (ctx) => { }); ``` +::: warning Potensi Masalah Pemformatan +Umumnya, Fluent menggunakan penanda [_Unicode Isolation_](https://github.com/projectfluent/fluent.js/wiki/Unicode-Isolation) untuk proses interpolasi. + +Penanda tersebut dapat menghasilkan masalah pemformatan jika kamu menggunakan placeables di dalam suatu tag atau entity (contohnya, placeables akan di-render menjadi text biasa, alih-alih menjadi link atau cashtag seperti yang kita inginkan). + +Untuk mengatasinya, matikan opsi `useIsolating` melalui cara ini: + +```ts +const i18n = new I18n({ + fluentBundleOptions: { useIsolating: false }, +}); +``` + +::: + ## Menambahkan Terjemahan Kita bisa memuat terjemahan dengan tiga cara. diff --git a/site/docs/plugins/i18n.md b/site/docs/plugins/i18n.md index e7a71ce0c..f58db5c66 100644 --- a/site/docs/plugins/i18n.md +++ b/site/docs/plugins/i18n.md @@ -617,6 +617,21 @@ bot.command("start", async (ctx) => { }); ``` +::: warning Potential Formatting Issues +By default, Fluent uses Unicode isolation marks for interpolations. + +If you use placeables inside tags or entities, having the isolation marks might result in incorrect formatting (e.g., plain text instead of an expected link or a cashtag). + +To fix this, use the following options: + +```ts +const i18n = new I18n({ + fluentBundleOptions: { useIsolating: false }, +}); +``` + +::: + ## Adding Translations There are three main methods to load translations. diff --git a/site/docs/uk/plugins/i18n.md b/site/docs/uk/plugins/i18n.md index dad3a97ab..f18e82fe4 100644 --- a/site/docs/uk/plugins/i18n.md +++ b/site/docs/uk/plugins/i18n.md @@ -617,6 +617,21 @@ bot.command("start", async (ctx) => { }); ``` +::: warning Потенційні проблеми з форматуванням +Типово Fluent використовує для інтерполяції розділові знаки Unicode. + +Якщо ви використовуєте змінні підстановки всередині тегів або сутностей, наявність ізоляційних знаків може призвести до неправильного форматування, наприклад, звичайний текст замість очікуваного посилання або кештега. + +Щоб виправити це, скористайтеся наступними налаштуваннями: + +```ts +const i18n = new I18n({ + fluentBundleOptions: { useIsolating: false }, +}); +``` + +::: + ## Додавання перекладів Існує три основні способи завантаження перекладів. diff --git a/site/docs/zh/plugins/i18n.md b/site/docs/zh/plugins/i18n.md index b38c9e8c3..efe8f0d2b 100644 --- a/site/docs/zh/plugins/i18n.md +++ b/site/docs/zh/plugins/i18n.md @@ -560,7 +560,8 @@ bot.command("start", async (ctx) => { }); ``` -现在你可以使用 `/start` 来启动你的 bot,它应该呈现以下消息: +现在你可以使用 `/start` 来启动你的 bot。 +它应该呈现以下消息: ```:no-line-numbers Hi there! @@ -606,13 +607,30 @@ const i18n = new I18n({ return { name: ctx.from?.first_name ?? "" }; }, }); + bot.use(i18n); + bot.command("start", async (ctx) => { // 可以不需要指定,直接使用 `name` await ctx.reply(ctx.t("welcome")); }); ``` +::: warning 潜在的格式问题 +默认情况下,Fluent 使用 Unicode 隔离标记进行插值。 + +如果你在标签或实体内使用 placeable,则有隔离标记就可能会导致格式不正确(例如,纯文本而不是预期的链接或 cashtag)。 + +要解决此问题,请使用以下选项: + +```ts +const i18n = new I18n({ + fluentBundleOptions: { useIsolating: false }, +}); +``` + +::: + ## 添加翻译 这里有三中主要的方法来加载翻译。