Skip to content

Commit

Permalink
Update i18n docs with information about Unicode isolation marks (#1053)…
Browse files Browse the repository at this point in the history
… (#1058)

Co-authored-by: Aliya Vasilyeva <aliyavws@gmail.com>
Co-authored-by: Roj <rojvv@icloud.com>
Co-authored-by: Qz <quadratz@proton.me>
Co-authored-by: Nazar Antoniuk <antoniuk.nazar09@gmail.com>
Co-authored-by: Acer <>
Co-authored-by: E5F1AC <150493299+dzikrl@users.noreply.github.com>
Co-authored-by: Habemuscode <{ID}+{username}@users.noreply.github.com>
  • Loading branch information
7 people authored Jun 1, 2024
1 parent 4230e09 commit 1f87a1c
Show file tree
Hide file tree
Showing 5 changed files with 79 additions and 1 deletion.
15 changes: 15 additions & 0 deletions site/docs/es/plugins/i18n.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
15 changes: 15 additions & 0 deletions site/docs/id/plugins/i18n.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
15 changes: 15 additions & 0 deletions site/docs/plugins/i18n.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
15 changes: 15 additions & 0 deletions site/docs/uk/plugins/i18n.md
Original file line number Diff line number Diff line change
Expand Up @@ -617,6 +617,21 @@ bot.command("start", async (ctx) => {
});
```
::: warning Потенційні проблеми з форматуванням
Типово Fluent використовує для інтерполяції розділові знаки Unicode.
Якщо ви використовуєте змінні підстановки всередині тегів або сутностей, наявність ізоляційних знаків може призвести до неправильного форматування, наприклад, звичайний текст замість очікуваного посилання або кештега.
Щоб виправити це, скористайтеся наступними налаштуваннями:
```ts
const i18n = new I18n({
fluentBundleOptions: { useIsolating: false },
});
```
:::
## Додавання перекладів
Існує три основні способи завантаження перекладів.
Expand Down
20 changes: 19 additions & 1 deletion site/docs/zh/plugins/i18n.md
Original file line number Diff line number Diff line change
Expand Up @@ -560,7 +560,8 @@ bot.command("start", async (ctx) => {
});
```
现在你可以使用 `/start` 来启动你的 bot,它应该呈现以下消息:
现在你可以使用 `/start` 来启动你的 bot。
它应该呈现以下消息:
```:no-line-numbers
Hi there!
Expand Down Expand Up @@ -606,13 +607,30 @@ const i18n = new I18n<MyContext>({
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 },
});
```
:::
## 添加翻译
这里有三中主要的方法来加载翻译。
Expand Down

0 comments on commit 1f87a1c

Please sign in to comment.