Многоязычное приложение в 2sxc - некоторые мысли - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть работающее приложение 2sxc с одним языком.Теперь мне нужно превратить его в мультиязычное приложение на всех уровнях: модель, контроллер и представления. Ресурсы

2sxc позаботятся о самых элементарных элементах представления.Но это только 1% приложения.

Как правильно использовать два языка в базе данных / сущности / таблице?

Один (замечательный) способ сделать это - создать «зеркало»/ копировать сущность для каждого языка и использовать простое условие if в представлении (если lang - A, используйте ent stuffA, иначе используйте ent stuffB).Поскольку имена полей будут одинаковыми, больше никаких изменений не потребуется.

Я думаю, что правильным способом было бы дублировать необходимые поля.Допустим, у меня есть сущность Animals с полями animalID и animalName.В многоязычном приложении это изменится на animalID, animalName_EN, animalName_PT.Это, однако, было бы кошмаром, чтобы использовать представление.Для каждого вызова animalName мне нужно было бы указать, является ли lang одним или другим.

Одна из приятных хитростей заключается в использовании запроса из базы данных для каждого языка, но при изменении имени поля с animalName_ENto animalName.Представление и контроллер будут использовать только одну версию поля, и больше никаких изменений не потребуется.Но я думаю, что это невозможно, верно?

Вопрос в том, как правильно использовать несколько языков в таблице, не вызывая кошмар в представлении и контроллере?

1 Ответ

0 голосов
/ 14 февраля 2019

Ничего не делай вообще!2sxc делает это автоматически для вас!серьезно - это ежу понятно.Просто включите дополнительные языки в 2sxc (в приложении-управлении), и все объекты сразу станут на 100% многоязычными.

Вот старое описание (скриншоты очень старые), но принцип все тот же: https://2sxc.org/en/Discover/Multiple-Languages

...