Skip to content

Docs · Integrations · i18n

Документация

Справочник по мультиязыковости: как выбирается язык, где хранятся тексты, как выгружать и обновлять переводы.

Copy-paste ready
Snippets and practical defaults.
i18n from DB
lang → cookie → geo → Accept-Language.
Controlled export
SQL export via token or debug.
Workspace settings
Choose language, browse keys, export SQL.
description
Coverage
Rows in scope / rows for selected language.
192
32 for ru

Set I18N_EXPORT_TOKEN to enable export in production.

Quickstart

Add the widget to your site and start receiving conversations in one place.

1) Add script

Place this snippet before </head>. Replace YOUR_PUBLIC_KEY.

<script>
(function(w,d){
  w.Tallker=w.Tallker||function(){(w.Tallker.q=w.Tallker.q||[]).push(arguments)};
  var s=d.createElement('script'); s.async=1; s.src='https://tallker.com/widget.js';
  d.head.appendChild(s);
})(window,document);
Tallker('init',{ key:'YOUR_PUBLIC_KEY' });
</script>

2) Verify

Open your site, send a test message, and confirm it appears in Tallker inbox.

Tip
Use staging domain first.
Security
Keep private keys server-side.
Next
Read i18n and export/import sections below.

Определение языка

Приоритет выбора языка: параметр lang в URL → cookie lang → заголовок Accept-Language → ru.

Strategy

  • User choice is sticky (cookie for 180 days).
  • Country mapping is optional (tk_country_lang).
  • Accept-Language is a safe fallback for first visit.

Translation read

Load default language first and override with selected language.

$tr = load_translations($pdo, $lang, $defaultLang);
$t = fn($key,$fb='') => $tr[$key] ?? ($fb ?: $key);

echo $t('docs_h1','Documentation');

Ключи переводов

Ключи для этой страницы имеют префикс docs_. Держите ключи стабильными — так обновления становятся безопасными.

layers
Scopes
docs_* for docs, nav_* for header, footer_* for footer.
badge
Stability
Keys should not change; only values change.
tune
Fallbacks
Always provide fallback in code to keep UI resilient.

Экспорт и импорт

Экспорт формирует SQL-дамп из tk_translations для выбранного набора (docs или all).

Import

Use mysql client. Run in a transaction to keep consistency.

# import example
mysql -uUSER -p DBNAME < tk_translations.sql

Export

Production export should be protected with I18N_EXPORT_TOKEN.

# export (debug=1 OR token)
GET https://tallker.com/docs?export=sql&scope=docs&lang=ru&debug=1
GET https://tallker.com/docs?export=sql&scope=all&lang=en&token=YOUR_TOKEN
Policy
If token is not set — export works only with debug=1.

Пример использования в PHP

Минимальный паттерн: определить язык, загрузить переводы одним запросом, подставлять значения через t('ключ').

<?php
$lang = $_GET['lang'] ?? 'ru';
$st = $pdo->prepare('SELECT tkey,tvalue FROM tk_translations WHERE lang=:lang');
$st->execute([':lang' => $lang]);
$bag = $st->fetchAll(PDO::FETCH_KEY_PAIR);

function t(array $bag, string $key, string $fallback=''): string {
  return (isset($bag[$key]) && $bag[$key] !== '') ? $bag[$key] : ($fallback !== '' ? $fallback : $key);
}

echo t($bag,'docs_h1','Docs');
?>

Тексты в БД

Ниже — строки для выбранного набора и языка. Доступен поиск по ключу.

32 rows for ru · docs_*
Tip: click a key to copy.
Ключ Значение Updated
Применить 2026-02-01 22:24:02
Экспорт SQL 2026-02-01 22:24:02
Минимальный паттерн: определить язык, загрузить переводы одним запросом, подставлять значения через t('ключ'). 2026-02-01 22:24:02
Пример использования в PHP 2026-02-01 22:24:02
Экспорт формирует SQL-дамп из tk_translations для выбранного набора (docs или all). 2026-02-01 22:24:02
Для production-защиты задайте переменную окружения I18N_EXPORT_TOKEN и передавайте token в URL. 2026-02-01 22:24:02
Экспорт и импорт 2026-02-01 22:24:02
Документация 2026-02-01 22:24:02
Приоритет выбора языка: параметр lang в URL → cookie lang → заголовок Accept-Language → ru. 2026-02-01 22:24:02
Поддерживаемые языки по умолчанию: ru, en, de, fr, es, tr. 2026-02-01 22:24:02
Определение языка 2026-02-01 22:24:02
Ключи для этой страницы имеют префикс docs_. Держите ключи стабильными — так обновления становятся безопасными. 2026-02-01 22:24:02
Рекомендация: отражайте назначение строки в ключе (например, docs_btn_export, docs_overview_p1). 2026-02-01 22:24:02
Ключи переводов 2026-02-01 22:24:02
Язык 2026-02-01 22:24:02
Справочник по мультиязыковости: как выбирается язык, где хранятся тексты, как выгружать и обновлять переводы. 2026-02-01 22:24:02
Документация по системе переводов Tallker: структура ключей, определение языка, экспорт/импорт. 2026-02-01 22:24:02
Документация — Tallker 2026-02-01 22:24:02
Тексты хранятся в таблице tk_translations (lang, tkey, tvalue). 2026-02-01 22:24:02
На странице /docs используется фолбек: выбранный язык → EN → RU. Это снижает риск «пустых» строк. 2026-02-01 22:24:02
Обзор 2026-02-01 22:24:02
Все тексты 2026-02-01 22:24:02
Только /docs 2026-02-01 22:24:02
Набор 2026-02-01 22:24:02
Поиск по ключу… 2026-02-01 22:24:02
Нужно добавить язык? Добавьте код в tk_languages и заполните tk_translations. Логика страницы не требует доработок. 2026-02-01 22:24:02
Поддержка 2026-02-01 22:24:02
Нет строк по текущему фильтру. 2026-02-01 22:24:02
Ниже — строки для выбранного набора и языка. Доступен поиск по ключу. 2026-02-01 22:24:02
Ключ 2026-02-01 22:24:02
Значение 2026-02-01 22:24:02
Тексты в БД 2026-02-01 22:24:02

Поддержка

Нужно добавить язык? Добавьте код в tk_languages и заполните tk_translations. Логика страницы не требует доработок.