Я обычно использую первый вариант - один инфоблок, и для каждого перевода своё свойство.
например, если нужно создать инфоблок "Новости", а сайт трехязычный (к примеру, "русский", "англисский", "немецкий", то создаю у инфоблока дополнительные свойства:
и, если язык отличается от языка по умолчанию - то подставляю в компоненте то или иное значение из свойства. А если язык по умолчанию - то беру стандартные (NAME, PREVIEW_TEXT и DETAIL_TEXT).
второй вариант использую реже, только если значения свойств для всех языков одинаковые (например, числа, или привязка к элементам инфоблока). Тогда можно перевод фраз сделать через языковые файлы шаблона, и набор свойств создать только в одном экземпляре.
третий вариант - тоже имеет право на жизнь, однако, если три и более языка, и большой каталог товаров - то это очень накладно, так как нужно дублировать много информации (цены, картинки, сортировка, привязки к элементам и тд), и это сложно и неудобно для редактора
Зайцев Артемий написал: Разные инфоблоки для каждого языка.
А если это каталог товаров, то как быть в этом случае? тоже разные инфоблоки для них создавать?
Если, к примеру, нужно добавить товар на трех языках, то вам нужно три раза ввести его цену, картинку, дополнительные картинки, указать сортировку и привязку к категории, заполнить три раза все его характеристики (ширину, высоту, размер и тд)?
Очень странно, что до сих пор нет полноценной поддержки мультиязычности. Неужели никто не делает сайты для других стран, где нужна нормальная многоязычность? http://idea.1c-bitrix.ru/9235/
Да в последнее время все чаще появляются проекты на 2-х и более языках, и всегда приходится устраивать танцы с бубном для того чтобы это реализовать. Функционала явно не хватает.
Если делать мультиязычность на одном инфоблоке, то нужно вставлять костыль в поисковую индексацию. Иначе, например, на русской версии в поиске высветятся английские тексты или наоборот. Разные инфоблоки в этом плане лучше, а редакторам нужно не лениться)
Но только представьте, у вас инфоблок в котором есть свойство с привязкой типа "список", и вам нужно будет поддерживать актуальность списков на каждом инфоблоке, даже если списки идентичны.
Или каталог товаров, и у каждого товара есть привязка к инфоблоку производителей, для того чтобы два языка делать мне нужно будет вести одновременно два инфоблока товаров, два инфоблока производителей, следить чтобы привязка между ними совпадала. Вобщем, это просто два отдельных сайта. Где здесь многоязычность - не понятно.
Щас думаю по поводу создания модуля, который будет автоматом создавать/удалять элементы в других инфоблоках, то есть, чтобы многоязычность была на разных инфоблоках, но все управление велось из одного инфоблока. Так как костылей действительно нужно очень много щас делать (поиск, сео-заголовки по шаблону).
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».