Перейти к основному содержимому
Версия: 4.26.0

Локализация

Настройки локализации

Чтобы использовать новую локализацию для библиотеки chatcenter , необходимо в свой проект добавить языковой файл , например ThreadsLocalizable.strings и добавить его в THRAttributes:

attributes.localizationConfig = .init(bundle: Bundle(for: AttributesHelper.self), tableName: "ThreadsLocalizable")

Возможно добавление своих языков (отсутствующих в языковом файле по умолчанию).

Если языкового файла не будет или необходимые ключи в языковом файле будут отсутствовать, текст будет браться из языкового файла по умолчанию.

Список ключей локализации, перенесенных из THRAttributes:

  • placeholder_header (helloTitle название в THRAttributes) - заголовок, короткий текст крупным шрифтом
  • placeholder_content (helloDescription название в THRAttributes) - подзаголовок, более длинный текст шрифтом меньше.
  • state_not_connected (chatStateNotConnectedTitle название в THRAttributes) - заголовок чата при отсутствии связи, по умолчанию "Контакт центр"
  • state_ready (chatStateReadyTitle название в THRAttributes) - заголовок чата готового к работе, по умолчанию "Контакт центр"
  • threads_request_close_thread_text (closeThreadSurveyText название в THRAttributes) - текст запроса о досрочном завершении треда
  • no (closeThreadSurveyAnswerClose название в THRAttributes) - текст ответа, закрывающего обращение
  • yes (closeThreadSurveyAnswerContinue название в THRAttributes) - текст ответа, продолжающего обращение

Список ключей локализации:

Окно чата

Текст в центре экрана, при возникновении ошибки инициализации чата

"registration_failed_alert" = "Chat initialization failed:\n%@" / "Возникла проблема во время инициализации чата:\n%@"

"empty_client_id_error" = "Client id is not provided" / "Client id не указан"
"state_not_connected" = "Call center" / "Контакт центр"

"empty_client_name_error" = "Client name not provided" / "Client name не указано"

"data_not_parsed" = "Could not parse client data" / "Не удалось распарсить client data"

"repeat" = "Repeat" / "Повторить"

При подключении к чату

"state_connecting" = "Connecting..." / "Подключение..."

"state_ready" = "Call center" / "Контакт центр"

"state_working" = "Specialist" / "Оператор"

"state_disconnected" = "Disconnected" / "Отключен"

"state_loading_history" = "Loading..." / "Загрузка…"

Заголовок окна при поиске оператора

"state_waiting_for_specialist" = "Searching..." / "Поиск оператора..."

При подключении к чату, и отсутствию сообщений

"placeholder_header" = "Welcome to the call center" / "Добро пожаловать в контакт центр"

Уведомления при отправке сообщений

"placeholder_content" = "Send your question, the first available specialist will answer it." / "Отправьте ваш вопрос, первый освободившийся оператор на него ответит."

"failed_message" = "The message failed to send. Retry or try again later" / "Сообщение не было отправлено. Нажмите "повторить отправку", чтобы отправить"

"failed_title" = "";

"failed_retry" = "Retry" / "Повторить отправку"

"failed_delete" = "Delete" / "Удалить"

"not_delivered" = "Not delivered" / "Не доставлено"

"menu_quote_title" = "Quote / "Цитировать"

Уведомления во время чата

"system_message_join_chat_unknown" = "joined at %@" / "подключился(-ась) к диалогу в %@"

"system_message_join_chat_male" = "joined at %@" / "подключился к диалогу в %@"

"system_message_join_chat_female" = "joined at %@" / "подключилась к диалогу в %@"

"system_message_leave_chat_unknown" = "left at %@" / "покинул(а) диалог в %@"

"system_message_leave_chat_male" = "left at %@" / "покинул диалог в %@"

"system_message_leave_chat_female" = "left at %@" / "покинула диалог в %@"

"threads_request_close_thread_text" = "Specialist has answered all your questions, do you want to proceed consulting?" / "Специалист ответил на все ваши вопросы, продолжить консультацию?"

"sent_label" = "sent at %@" / "отправлено в %@"
"search_sent_by_you" = "You" / "Вы"
"one_unread_message" = "new message" / "новое сообщение"

"many_unread_messages" = "new messages" / "новых сообщения"

"reply" = "Reply" / "Ответить"

"client_name" = "Me" / "Я"

"survey_vote_from" = "of" / "из"

"survey_thanks" = "Thanks for vote" / "Спасибо за вашу оценку"

"image_attachment_title" = "image" / "изображение"

"loading_placeholder" = "Loading" / "Загрузка"

"image_is_nil" = "Image can not be nil" / "Изображение не должно быть nil"

"outside_text_limit_exceed" = "Text length limit exceeded. Maximum %lu symbols" / "Превышен предел длины текста. Максимум %lu символов"

"outside_text_is_empty" = "Text can not be empty" / "Сообщение не может быть пустое"

// JSQMessages
"load_earlier_messages" = "Load Earlier Messages" / "Предыдущие сообщения"

При нажатии на иконку поиска, появляется поле поиска с кнопкой.

"cancel" = "Cancel" / "Отмена"

"search" = "Search" / "Поиск"

В этом же модуле ниже есть кнопки

"search_scope_all" = "All" / "Все"

"search_scope_images" = "Images" / "Изображения"

"search_scope_files" = "Files" / "Файлы"

Уведомления при поиске

"search_messages_found" = "messages found:" / "сообщений найдено:"

"search_yet_another" = "Search more" / "Искать еще"

При отсутствии разрешения на доступ к камере, появляется уведомление.

Поля уведомления

"access_denied" = "Access denied" / "Нет доступа"

"unlock_photos_access" = "Unlock your photos in the app settings to continue" / "Разблокируйте доступ к фотографиям в настройках приложения, чтобы продолжить"

"file_limit_alert_title" = "File Size" / "Размер файла"

"file_limit_alert_message" = "File size limit exceeded. Maximum %.2f MB" / "Превышен лимит размера файла. Максимальный размер %.2f мб"

//SQPhotoPicker
"cant_take_photo" = "Can't take a photo" / "Не могу сфотографировать"

"camera_not_found" = "On your device, the camera can not be found" / "На Вашем устройстве не найдена камера"

"unlock_camera_access" = "Unlock your camera in the app settings to continue" / "Разблокируйте доступ к камере в настройках приложения, чтобы продолжить"

Поля в системном уведомлении, при выборе фото или файлов на устройстве

"my_albums" = "My Albums" / "Мои альбомы"

"pick_photo" = "Take photo" / "Сделать снимок"

"take_selfie" = "Take selfie"/ "Сделать селфи"

"send_photos" = "Send" / "Отправить"

"cancel_pick" = "Cancel" / "Отмена"

"photo" = "photo" / "фото"

"albums" = "Albums" / "Альбомы"

"limit_reached" = "Limit reached!" / "Лимит достигнут!"

"limit_desc" = "You can pick up to" / "Вы можете загрузить не более "

"album_not_found" = "Selected album not found or it doesn't contain images" / "Выбранный альбом не найден или не содержит изображений"

"selfie_hint" = "Make sure your face is centered in the frame and is seen clearly" / "Убедитесь, что на фото ваше лицо размещено прямо и его отчетливо видно"

"do_cancel" = "Cancel" / "Отменить"

При просмотре выбранной фотографии, появляются внизу кнопки

"retake_photo" = "Retake" / "Переснять"

"do_send" = "Send" / "Отправить"

Уведомление при касании иконки микрофона

"voice_recording_hint" = "Hold to start recording" / "Удерживайте, чтобы начать запись"

Алерт ошибки, при попытке воспроизведения аудио

"voice_play_error" = "The entry is not readable" / "Запись не читается"

При появлении клавиатуры

"send" = "Send" / "Отпр"

"new_message" = "New Message" / "Сообщение"

Изменение содержимого на текущей странице

"text_message_accessibility_label" = "%@: %@";

"media_message_accessibility_label" = "%@: медиа сообщение";

"accessory_button_accessibility_label" = "Поделиться";

"new_message_received_accessibility_announcement" = "Получено новое сообщение";

Subtitle в navigation bar

// Specialist Positions (Roles)
"BOT" = "Bot" / "Бот"

"EXTERNAL_BOT" = "Bot" / "Бот"

"OPERATOR" = "Operator" / "Оператор"

"SUPERVISOR" = "Operator" / "Оператор"

"SYSTEM" = "Operator" / "Оператор"

"INTEGRATION" = "Operator" / "Оператор"