# vue: Перевод строк
URL: https://generaltranslation.com/ru/docs/vue/guides/translating-strings.mdx
---
title: Перевод строк
description: Как переводить метки Vue, атрибуты и общие строки с помощью useGT и useMessages.
related:
links:
- /docs/vue/guides/translating-content
- /docs/vue/guides/developing-spa-translations
- /docs/vue/guides/formatting-variables
- /docs/vue/guides/configuring
---
Используйте [`useGT()`](/docs/vue/reference/composables/use-gt) для строк, которые нельзя представить в виде содержимого шаблона, например для placeholders, доступных меток и значений, передаваемых другому компоненту. Используйте [`msg()`](/docs/vue/reference/functions/msg) вместе с [`useMessages()`](/docs/vue/reference/composables/use-messages), если статическое сообщение объявляется в одном модуле, а отображается в другом.
## Перевод с помощью `useGT` [#use-gt]
Вызовите [`useGT()`](/docs/vue/reference/composables/use-gt) при настройке компонента, а затем вызовите возвращаемую функцию в шаблоне:
```vue
```
Используйте строковый литерал, чтобы CLI мог его извлечь. При отсутствии записи в каталоге возвращается исходная строка.
Поддерживается только статический `$context`:
```vue
```
Фигурные скобки воспринимаются как обычный текст. [`useGT()`](/docs/vue/reference/composables/use-gt) не обрабатывает синтаксис ICU, не интерполирует переменные и не поддерживает параметры строк React, такие как `$id`, `$maxChars` и `$format`.
## Обеспечьте реактивность результатов перевода [#reactivity]
Функция, возвращаемая [`useGT()`](/docs/vue/reference/composables/use-gt), при вызове обращается к активному каталогу. Вызывайте её из шаблона, вычисляемого значения или реактивного эффекта, если результат должен обновляться при изменении локали или каталога:
```vue
{{ pageTitle }}
```
`const pageTitle = gt('Account settings')` переводится один раз при настройке, после чего сохраняется снимок. При переключении локали плагином [`createGT()`](/docs/vue/reference/functions/create-gt) повторный перевод не выполняется.
## Регистрация общих сообщений [#messages]
Используйте [`msg()`](/docs/vue/reference/functions/msg) для регистрации статических строк в общем модуле. Она помечает контент для извлечения, но не выполняет поиск перевода.
```ts title="src/messages.ts"
import { msg } from 'gt-vue';
export const statusMessages = {
active: msg('Active', { $context: 'account status' }),
paused: msg('Paused', { $context: 'account status' }),
};
```
Разрешите выбранное сообщение с помощью [`useMessages()`](/docs/vue/reference/composables/use-messages) в месте его рендеринга:
```vue title="src/components/StatusBadge.vue"
{{ label }}
```
Без параметров [`msg()`](/docs/vue/reference/functions/msg) возвращает исходную строку без изменений. При использовании `$context` она добавляет непрозрачные метаданные для поиска, которые считывает [`useMessages()`](/docs/vue/reference/composables/use-messages). Не анализируйте это закодированное представление и не делайте предположений о его структуре.
## Перевод контента со значениями, известными во время выполнения [#variables]
При поиске по простым строкам данные времени выполнения не интерполируются. Поместите всю фразу в [``](/docs/vue/reference/components/t) и обозначьте изменяемое значение с помощью [``](/docs/vue/reference/components/var):
```vue
С возвращением, {{ accountName }}!
```
Используйте [``](/docs/vue/reference/components/num), [``](/docs/vue/reference/components/currency) и [``](/docs/vue/reference/components/datetime), если значение также нужно отформатировать с учётом локали.
В SPA, работающих только в браузере, где статический поиск нужен во время вычисления модулей, можно использовать [`t()`](/docs/vue/reference/functions/t) после ожидания [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa). Следуйте руководству [Разработка с переводом для SPA](/docs/vue/guides/developing-spa-translations), чтобы сохранить необходимый порядок импорта.
## Next steps
- /docs/vue/guides/translating-content
- /docs/vue/guides/developing-spa-translations
- /docs/vue/guides/formatting-variables
- /docs/vue/guides/configuring