Какие виды языков есть в 1С, зачем они нужны.
- Язык разработки.
- Язык интерфейса платформы.
- Язык интерфейса конфигурации.
- Региональные настройки.
Итоги
Особенно это актуально для многоязычных конфигураций, содержащих несколько языков.
В интернете достаточно много инструкций о том, где именно расположен выбор языка. По запросу "как изменить язык в 1с" гугл выдает 33 тысячи инструкций. Причем совершенно разных
Но проблема в том, что настроек достаточно много и не всегда ясно, какую именно нужно менять. Иногда инструкция помогает в решении проблемы, иногда нет.
Кажется, что 1С работает криво, запутанно и глючно. На самом деле настройка языка очень проста и работает понятно и четко. Просто языков несколько. И нужно учитывать, какой именно в каких случаях нужно менять.
Ниже краткая инструкция со всеми основными настройками, который могут влиять на язык отображения в 1С.
Какие виды языков есть в 1С, зачем они нужны.
Язык на самом деле не один, а целых три:
- Язык разработки;
- Язык интерфейса платформы;
- Язык интерфейса конфигурации;
А кроме языков, есть еще и региональные настройки, от которых зависит формат чисел, дат и времени.
Из этих пяти настроек на интерфейс влияют три:
Несмотря на многообразие инструкций и способов выполнения настроек, самих способов указания настроек достаточно мало. Их можно свести всего к пяти.
Язык разработки
Язык разработки (Вариант встроенного языка) - язык используемый для написания исходного кода конфигурации.
Выбирается основной язык программирования ("Русский" или "Английский").
Назначение: Выбор определяет, на каком языке будут формироваться языковые конструкции в модулях и выдаваться информация о базовых типах данных. От него зависит, шаблоны какого языка будут использовать при добавлении данных или использовании конструкторов.
При этом независимо от выбранного языка разработки, код можно писать на любом. В том числе и вперемешку на русском и английском.
Настройка: Язык разработки указывается в свойствах конфигурации в поле "Вариант встроенного языка"
Для определения встроенного языка конфигурации из кода 1С можно обратиться к метаданным командой Метаданные.ВариантВстроенногоЯзыка.
Менять данный язык после начала разработки нельзя. Никаких изменений в интерфейсе это не принесет, но может сделать неработоспособным написанный ранее код.
Язык интерфейса платформы.
Язык интерфейса платформы - эта настройка определяет, на каком языке будут выдавать сообщения платформы и отображаться платформенные элементы интерфейса.
В стандартный дистрибутив платформы входят следующие языки интерфейса платформы:
английский, азербайджанский, болгарский, венгерский, вьетнамский, китайский, грузинский, казахский, латышский, литовский, немецкий, польский, румынский, русский, турецкий, украинский, французский.
Соответственно, для работы пользователя можно использовать лишь один из них. Теоретически существует "Механизм быстрого частичного перевода ресурсов платформы", позволяющий для отдельного клиента/партнера в ограниченном варианте самостоятельно добавить в платформу новый язык. Но о реальных случаях использования не слышала.
При необходимости мы можем определить текущий язык интерфейса платформы с помощью функции ТекущийЯзыкСистемы().
Настройка: Есть несколько способов установить язык платформы. Наиболее простой и наиболее часто используемый это указать язык платформы в целом для всех баз 1С на данном компьютере, прописав его в файле conf.cfg.
Способ 1. Данную настройку проще всего прописать при установке платформы. Для этого достаточно на этапе "Язык интефейса по умолчанию" указать нужный язык.
Способ 2. Если платформа уже установлена, то можно перезапустить установку параметров. Для этого выбираем "Пуск"-"Панель управления"-"Программы и компоненты". Находим нужную установку 1С и нажимаем "Изменить"
Способ 3. Еще можно напрямую прописать настройку в файл. Обычно он лежит по адресу "C:\Program Files (x86)\1cv8\conf\conf.cfg". Открываем файл, добавляем строчку "SystemLanguage=RU", сохраняем.
Способ 4. Если язык платформы не прописан, то используются настройки операционной системы по умолчанию. Для их изменения выбираем "Пуск"-"Панель управления"-"Язык и региональные стандарты".
Способ 5. При работе в веб-клиенте по умолчанию используется язык, установленный как "предпочитаемый язык" в браузере. Соответственно и менять его нужно в настройках браузера.
Все прошлые способы устанавливают язык платформы в целом для всех баз на компьютере пользователя. Рассмотрим указание языка для конкретного сеанса.
Способ 6. Если для разных баз нужно использовать разные языки интерфейса, то нужный код языка можно указать в строке запуска 1C после ключа /L.
Способ 7. Если при запуске информационной базы выполняется выбор базы через типовой стартер. То ключ запуска /L можно указать в окне "Редактирование информационной базы" в поле "Дополнительные параметры запуска"
Способ 8. При запуске отладки из конфигуратора язык запуска можно указать в параметрах конфигуратора. "Сервис" - "Параметры" - "Запуск 1С:Предприятия" - "Дополнительные" - "Яык интерфейса системы".
Способ 9. При работе в браузере язык, отличный от языка по умолчанию, можно указать суффиксом адресной строки вида "/en_US/"
Способ 10. На самом деле указание кода языка в строке запуска это самый надежный вариант. Он работает всегда. Если он не сработал, значит, нужный язык просто не установлен в платформе. Возвращаемся на этап установки платформы и выбираем нужный язык.
Язык интерфейса конфигурации
Язык интерфейса конфигурации - это языки интерфейса, созданные пользователем. При разработке конфигурации разработчик продумывает, какие языки нужны пользователю данной конкретной конфигурации и для каждого языка прописывает свой вариант всех текстов, синонимов, заголовков... В отличии от языков интерфейса платформы (жестко прописанных разработчиками платформы), языки интерфейса конфигурации могут быть любыми. В том числе мы можем создать язык, не существующий в реальности. Количество языков ничем не ограничено.
Коды языков никак не связаны с кодами интерфейса платформы. Мы можем использовать любой удобный код языка. Язык интерфейса также никак не связан с настройками операционной системы. Он зависит только от разработчика конфигурации и администратора.
Единственное исключение, это разработка приложения для мобильных устройств. В этом случае рекомендуется указывать коды языков в соответствии со стандартом ISO 639 . Это позволит мобильной платформе устанавливать язык интерфейса конфигураци в зависимости от установленного у пользователя в мобильном телефоне основного языка. В противном случае при проверке конфигурации будет выдаваться предупреждение.
При необходимости мы можем определить текущий язык интерфейса платформы с помощью функции ТекущийЯзыкСистемы().
Есть всего два способа установки языка интерфейса.
Способ 1. Указать язык для конкретного пользователя в свойствах пользователя информационной базы.
Способ 2. Если у пользователя язык по умолчанию не указан, то будет использоваться язык, указанный в свойствах конфигурации в реквизите "Основной язык".
При работе в конфигураторе для полей, в которых поддерживается многоязычный ввод, появляется значок лупы. При нажатии на данный значок мы можем корректировать тексты на нескольких языках одновременно. Однако также можем и просто корректировать тексты в любом многоязычном поле напряму без нажатия лупы. В этом случае мы редактируем текст текущего языка, не затрагивая второй язык. Чтобы переключить текущий язык в конфигураторе есть следующие способы:
Способ 3: Выбрать в меню пункт "Конфигурация" - "Язык редактирования конфигурации". Выбрать язык, со значениями которого мы хотим работать в ближайшее время.
Способ 4: Также язык можно переключить мышкой в строке статуса в правом нижнем углу окна конфигуратора.
Способ 5: Для множественного редактирования полезно использовать режим конфигуратора "Правка" - "Редактирование текстов интерфейсов"
Региональные настройки.
Ну и последними стоит упомянуть региональные настройки. Есть региональные настройки Информационной базы в целом и региональные установки текущего сеанса. Режим настройки региональных установок информационной базы позволяет управлять форматом отображения даты, времени, чисел, логических констант и влияет на порядок сортировки строк в списках информационной базы данных.
Варианты языков региональных настроек не зависят от платформы или конфигурации. Они зависят только от возможностей операционной системы. Полный список допустимых вариантов языка региональных настроек можно получить с помощью функции ПолучитьДопустимыеКодыЛокализации()
Лично у меня в Windows 254 варианта языков, которые можно использовать как основу региональных настроек.
Используемые базой региональные настройки можно определить с пощью функции КодЛокализацииИнформационнойБазы()
Региональные настройки ИБ можно установить:
Способ 1: При создании базы. На этапе "Добавление информационной базы" необходимо выбрать язык, который будт использоваться для хранения данных.
Способ 2. Из конфигуратора. В пункте меню Администрирование – Региональные установки ИБ. Для смены языка информационной базы обязательно использование монопольного режима.
Примечания: Если в качестве СУБД используется PostgreSQL, то для существующей информационной базы изменение языка (страны) не может быть выполнено произвольным образом. Установленное значение языка (страны) можно изменить только на такое, которое будет использовать тот же порядок сортировки строк (collation) СУБД, что и существующее значение. Например, русский (Россия) может быть изменен на белорусский (Беларусь), но не может быть изменен на украинский (Украина).
Если в качестве СУБД используется IBM DB2, то смена значения языка (страны) не поддерживается.
Региональные установки конкретного сеанса влияют на отображение дат, чисел, времени при работе с ИБ. Есть несколько способов установки настройки для конкретного сеанса.
Способ 1: Установка общих настроек для всех сеансов. Для вызова режима нужно выбрать пункт Администрирование – Региональные установки ИБ и указать региональные параметры.
Способ 2. Если общие значения по умолчанию не установлены, то используются настройки операционной системы. Поэтому можно установить нужные настройки, сменив язык операционной системы.
Способ 3. Если для разных баз нужно использовать разные региональные настройки, то нужный код языка можно указать в строке запуска 1C после ключа /VL.
Способ 4. Если при запуске информационной базы выполняется выбор базы через типовой стартер. То ключ запуска /VL можно указать в окне "Редактирование информационной базы" в поле "Дополнительные параметры запуска"
Способ 5. При запуске отладки из конфигуратора язык запуска можно указать в параметрах конфигуратора. "Сервис" - "Параметры" - "Запуск 1С:Предприятия" - "Дополнительные" - "Код локализации сеанса".
В процессе работы региональные настройки текущего сеанса можно определить с помощью функции ТекущийКодЛокализации()
Итоги.
Я попыталась собрать в одном месте разнородную информацию о настройке языка в 1С. Думаю, эта статья отлично показывает принцип использования языков и послужит хорошей шпаргалкой при необходимости настройки.
В целом все варианты работы с языками в 1С можно представить следующим образом:.
Язык |
Разработки |
Интерфейса платформы |
Интерфейса конфигурации |
Региональные настройки | |
ИБ | Сеанса | ||||
Назначение | Разработка кода конфигурации. При работе любых конструкторов латформы имена элементов формируются на этом языке. | Сообщения платформы, платформенные элементы интерфейса (рабочий стол, имена стандартных обработок) | Весь созданный разработчиком интерфейс (имена документов, справочников, реквизитов); сообщения, предусмотренной логикой работы программы, работа отчетов... | Формат хранения данных в базе данных | Отображение дат, чисел, времени, логических переменных в сообщениях, полях, календаре.... Преобразование других типов в строку и из строки |
Допустимые значения | Английский, Русский | Предопределенные в платформе (на текущий момент 17 языков) | Абсолютно любые языки, созданные разработчиком. В том числе несуществующие. | Любые языки, поддерживаемые операционной системой Полный список ПолучитьДопустимыеКодыЛокализации() (лично у меня в Windows возвращает 254 кода языка) |
|
Настройка выполняется | В метаданных конфигурации | 1. В строке запуска /L; 2. В файле настройки conf.cfg 3. В свойствах ОС |
1. В свойствах пользователя. 2. В метаданных конфигурации. |
В настройках ИБ | 1. В строке запуска /VL; 2. В настройках ИБ; 3. В настройках ОС |
Как определить используемый | Метаданные. Вариант Встроенного Языка | ТекущийЯзык Системы() | ТекущийЯзык() | КодЛокализации Информационной Базы() | Текущий Код Локализации() |
Несмотря на всё многообразие, исправить проблемы с отображением текстов на другом языке достаточно просто. Нужно лишь понимать, что именно мы меняем в данный момент.