Skip to main content
Version: Next

Локализация

В СДК по-умолчанию поддерживаются русская и английская локализации.

Для добавления поддержки нового языка или изменения текущего перевода, необходимо:

  • Добавить свой файл с переводом в бандл (приложения/фреймворка)
  • Указать его в ChatLocalizationConfig при инициализации СДК

Пример настройки:

        // Инициализация СДК
let chatCenterSdk = ChatCenterUISDK(providerUid: "providerUid",
chatConfig: chatConfig,
loggerConfig: ChatLoggerConfig(logLevel: .all))

// Настройка локализации
chatCenterSdk.localizationConfig = ChatLocalizationConfig(bundle: Bundle.main, tableName: "DemoLocalizable")

📋 Ключи локализации

КатегорияКлючЗначение по умолчаниюПример использования / ПримечанияИспользование
Кнопкиaction.title_okOKИспользуется в диалогах подтверждения (например, “Вы уверены?” → OK/Отмена)Использование
action.title_yesДаВ вопросах типа “Продолжить? Да/Нет”Использование
action.title_noНетВ вопросах типа “Продолжить? Да/Нет”Использование
action.title_cancelОтменаВ модальных окнах, меню, загрузках, отправке сообщенийИспользование
action.title_repeatПовторитьПри ошибке загрузки чатаИспользование
action.alert_sendОтправитьВ форме отправки файлаИспользование
Чатchat.available_readonly_textДанный чат доступен только для просмотраОтображается, если пользователь не может писатьИспользование
chat.client_nameВыВ заголовке цитатыИспользование
chat.title.connectingПодключение...В заголовке чатаИспользование
chat.title.openedКонтакт центрВ заголовке чата после открытияИспользование
chat.title.waiting_for_specialistПоиск оператора...В заголовке чата после начала перепискиИспользование
chat.title.workingОператорОтображается в заголовке чата во время диалогаИспользование
chat.title.typingоператор набираетОтображается под заголовком чата при наборе текста операторомИспользование
Роли оператораoperator.botБотВ заголовке чата, зависит от роли оператораИспользование
operator.external.botБотВ заголовке чата, зависит от роли оператораИспользование
operator.operatorОператорВ заголовке чата, зависит от роли оператораИспользование
operator.supervisorОператорВ заголовке чата, зависит от роли оператораИспользование
operator.systemОператорВ заголовке чата, зависит от роли оператораИспользование
operator.integrationОператорВ заголовке чата, зависит от роли оператораИспользование
Загрузкаloading.titleЗагрузкаПри загрузке историиИспользование
Вводinput.placeholderСообщениеКогда поле ввода пустоеИспользование
input.voice_recording_hintУдерживайте, чтобы начать записьПодсказка при долгом нажатии на микрофонИспользование
Пустой чатempty_chat.placeholder_titleДобро пожаловать в контакт центрОтображается при первом открытии чатаИспользование
empty_chat.placeholder_descОтправьте ваш вопрос, первый освободившийся оператор на него ответит.Использование
Ошибки отправкиalert.resend_failed_message.title""Может быть пустым, зависит от реализацииИспользование
alert.resend_failed_message.descСообщение не было отправлено. Нажмите «повторить отправку», чтобы отправитьОписание меню повторной отправки сообщенийИспользование
alert.resend_failed_message.retry_btnПовторить отправкуИспользование
alert.resend_failed_message.delete_btnУдалитьИспользование
Доступ / Разрешенияalert.access_denied_titleНет доступаНа сервере не настроены разрешенияИспользование
alert.file_sending_denied_descОтправка файлов отключена на сервереНа сервере не настроены разрешенияИспользование
alert.unlock_photos_accessРазблокируйте доступ к фотографиям в настройках приложения, чтобы продолжитьИспользование
alert.send_selected_file_to_chatОтправить выбранный файл "%@" в чат?%@ — имя файлаИспользование
alert.unlock_camera_accessРазблокируйте доступ к камере в настройках приложения, чтобы продолжитьУведомление, если пользователь запретил доступИспользование
alert.cant_take_photoНе удалось сделать фотографиюУведомление, не удалось сделать фото с камерыИспользование
alert.app_settingsНастройкиПункт меню в уведомленииИспользование
alert.voice_recording_deniedДоступ к микрофону запрещен, для записи голосовых сообщений разрешите доступ в настройкахОписание уведомленияИспользование
alert.text_copied_messageТекст скопирован в буфер обменаУведомление о копировании текста в буфер обменаИспользование
Статусы сообщенийmessage.status.not_deliveredНе доставленоТекст ошибки под сообщениемИспользование
message.status.validation_errorНе доставленоТекст ошибки под сообщениемИспользование
Сообщенияmessage.deleted_textСообщение удаленоИспользование
message.send_file_limit_alert_titleРазмер файлаПревышен размер на отправкуИспользование
message.send_file_limit_alert_messageПревышен максимально допустимый для отправки размера файла (%.0f Мб)%.0f — подставляется число (например, 25 Мб)Использование
message.incorrect_url_for_openingНе удалось открыть ссылкуПри нажатии на ссылку в сообщении, которую нельзя открытьИспользование
message.photo_titleФОТООтображается в цитате сообщения с фотоИспользование
message.voice_titleГОЛОСОВОЕ СООБЩЕНИЕОтображается в цитате голосового сообщенияИспользование
message.voice_play_errorОшибка при воспроизведенииОшибка при воспроизведении под сообщениемИспользование
message.unsupported_file_formatНеподдерживаемый форматОшибка в формате, отображается под сообщениемИспользование
Меню цитированияmenu.response_titleОтветитьМеню цитированияИспользование
menu.copy_titleКопироватьМеню цитированияИспользование
Поискsearch.placeholder_titleПоискИспользование
search.not_found_titleРезультатов не найденоНе удалось найти результатыИспользование
search.image_attachment_titleизображениеНазвание файла в результатах поискаИспользование
search.audio_attachment_titleаудио файлНазвание файла в результатах поискаИспользование
Опросыsurvey.message_vote_from_titleизОценка отображаемая после завершения опроса в истории. Например "2 из 5"-
survey.message_thanks.titleСпасибо за вашу оценкуСообщение после завершения опросаИспользование
survey.request_close_thread_messageСпециалист ответил на все ваши вопросы, продолжить консультацию?Использование
Ошибки SDKerrors.init_failed_titleВозникла проблема во время инициализации чата:Ошибка при загрузке чатаИспользование
errors.connection_timeoutИстекло время ожидания подключения к серверуСетевая ошибкаИспользование
errors.load_configНе удалось загрузить настройки чатаОшибка при загрузке чатаИспользование
errors.voice_messageНе удалось завершить загрузку файлаОшибка отображаемая под сообщениемИспользование
errors.code_from_400_to_500_titleИзвините за неудобства, чат в данный момент недоступен. Пожалуйста, попробуйте позднее.Ошибка подключения при входе в чат. ЗаголовокИспользование
errors.code_from_400_to_500_desc""Ошибка подключения при входе в чатИспользование
errors.disallowed_file_loadingЗагрузка файла не выполнена.\nНе удалось проверить файлОшибка отображаемая под сообщениемИспользование
errors.timeout_during_load_fileНе удалось завершить загрузку файла, истек таймаут.\nПопробуйте загрузить файл позжеОшибка отображаемая под сообщениемИспользование
errors.unexpected_error_during_load_fileНе удалось завершить загрузку файла.\nПопробуйте отправить файл позжеОшибка отображаемая под сообщениемИспользование
errors.during_load_fileПроизошла ошибка при загрузке или проверке файлаОшибка отображаемая под сообщениемИспользование
Меню вложенийattachments.menu.my_albumsМои альбомыПункт менюИспользование
attachments.menu.take_photoСделать снимокПункт менюИспользование
alert.picker_files_btnФайлыПункт менюИспользование

Полный файл (.strings) для копирования

// Кнопки
"action.title_ok" = "OK";
"action.title_yes" = "Да";
"action.title_no" = "Нет";
"action.title_cancel" = "Отмена";
"action.title_repeat" = "Повторить";
"action.alert_send" = "Отправить";

"chat.available_readonly_text" = "Данный чат доступен только для просмотра";
"chat.client_name" = "Вы"; // Обращение к клиенту (цитаты, собственные сообщения в поиске и т.д)

"chat.title.connecting" = "Подключение..."; // Подключение к серверу
"chat.title.opened" = "Контакт центр"; // Открыт чат
"chat.title.waiting_for_specialist" = "Поиск оператора..."; // Ожидание подключения оператора
"chat.title.working" = "Оператор"; // Оператор подключился к диалогу
"chat.title.typing" = "оператор набирает";

// Заголовок специалиста (Роль)
"operator.bot" = "Бот";
"operator.external.bot" = "Бот";
"operator.operator" = "Оператор";
"operator.supervisor" = "Оператор";
"operator.system" = "Оператор";
"operator.integration" = "Оператор";

"loading.title" = "Загрузка"; // Индикатор загрузки чата

"input.placeholder" = "Сообщение"; // Плэйсхолдер в панели ввода
"input.voice_recording_hint" = "Удерживайте, чтобы начать запись"; // Подсказка о записи голосового

"empty_chat.placeholder_title" = "Добро пожаловать в контакт центр"; // Заглушка в пустом чате
"empty_chat.placeholder_desc" = "Отправьте ваш вопрос, первый освободившийся оператор на него ответит."; // Описание заглушки в пустом чате

"alert.resend_failed_message.title" = "";
"alert.resend_failed_message.desc" = "Сообщение не было отправлено. Нажмите «повторить отправку», чтобы отправить";
"alert.resend_failed_message.retry_btn" = "Повторить отправку";
"alert.resend_failed_message.delete_btn" = "Удалить";
"alert.access_denied_title" = "Нет доступа";
"alert.file_sending_denied_desc" = "Отправка файлов отключена на сервере";
"alert.unlock_photos_access" = "Разблокируйте доступ к фотографиям в настройках приложения, чтобы продолжить";
"alert.send_selected_file_to_chat" = "Отправить выбранный файл \"%@\" в чат?";
"alert.picker_files_btn" = "Файлы";
"alert.camera_not_found" = "На Вашем устройстве не найдена камера";
"alert.unlock_camera_access" = "Разблокируйте доступ к камере в настройках приложения, чтобы продолжить";
"alert.cant_take_photo" = "Не удалось сделать фотографию";
"alert.app_settings" = "Настройки";
"alert.voice_recording_denied" = "Доступ к микрофону запрещен, для записи голосовых сообщений разрешите доступ в настройках";
"alert.text_copied_message" = "Текст скопирован в буфер обмена";

// Статусы сообщений
"message.status.not_delivered" = "Не доставлено";
"message.status.validation_error" = "Не доставлено";

// Сообщения
"message.deleted_text" = "Сообщение удалено";
"message.send_file_limit_alert_title" = "Размер файла";
"message.send_file_limit_alert_message" = "Превышен максимально допустимый для отправки размера файла (%.0f Мб)";
"message.incorrect_url_for_opening" = "Не удалось открыть ссылку";
"message.photo_title" = "ФОТО";
"message.voice_title" = "ГОЛОСОВОЕ СООБЩЕНИЕ";
"message.voice_play_error" = "Ошибка при воспроизведении";
"message.unsupported_file_format" = "Неподдерживаемый формат";

// Меню цитирования
"menu.response_title" = "Ответить";
"menu.copy_title" = "Копировать";

// Поиск
"search.placeholder_title" = "Поиск"; // Плэйсхолдер в строке поиска
"search.not_found_title" = "Результатов не найдено";
"search.image_attachment_title" = "изображение";
"search.audio_attachment_title" = "аудио файл";

// Опросы
"survey.message_vote_from_title" = "из";
"survey.message_thanks.title" = "Спасибо за вашу оценку";
"survey.request_close_thread_message" = "Специалист ответил на все ваши вопросы, продолжить консультацию?";

// Ошибки в СДК
"errors.init_failed_title" = "Возникла проблема во время инициализации чата:";
"errors.connection_timeout" = "Истекло время ожидания подключения к серверу";
"errors.load_config" = "Не удалось загрузить настройки чата";
"errors.voice_message" = "Не удалось завершить загрузку файла"; // Ошибка при загрузке голосового сообщения
"errors.code_from_400_to_500_title" = "Извините за неудобства, чат в данный момент недоступен. Пожалуйста, попробуйте позднее.";
"errors.code_from_400_to_500_desc" = "";
"errors.disallowed_file_loading" = "Загрузка файла не выполнена.\nНе удалось проверить файл";
"errors.timeout_during_load_file" = "Не удалось завершить загрузку файла, истек таймаут.\nПопробуйте загрузить файл позже";
"errors.unexpected_error_during_load_file" = "Не удалось завершить загрузку файла.\nПопробуйте отправить файл позже";
"errors.during_load_file" = "Произошла ошибка при загрузке или проверке файла";

// Меню вложений
"attachments.menu.my_albums" = "Мои альбомы";
"attachments.menu.take_photo" = "Сделать снимок";