Встроенная команда управления ./manage.py cms copy lang
копирует всю страницу дерева с одного языка на другой. Дерево страниц остается неизменным и передаются деревья плагинов. Это нормально, если вы хотите загрузить новый язык для всего сайта.
Если вы хотите, чтобы скопировать плагин для деревьев только одна страница, вы можете использовать меню языка на панели инструментов: Language -> Copy all plugins
если вы просматриваете целевой язык. Это нормально, если у вас только одна страница.
Если вы хотите самонастройки языка для дерева страниц, т.е. страницы и всех ее детей, то вы либо иметь много щелкать сделать, или использовать эту короткую команду управления, который я создал на основе оригинального DjangoCMS ./manage.py cms copy long
команда. Он позволяет указать страницу для копирования либо ее идентификатором, либо его именем на исходном языке (внимание: оно должно быть уникальным).
Скопируйте this snippet в любую папку приложений вашего приложения: my_app/management/commands/
. После копирования файла у вас будет новая команда управления Django: ./manage.py copylang
. Примеры использования:
./manage.py copylang --from-lang=en --to-lang=nl --tree="Home"
./manage.py copylang --from-lang=en --to-lang=nl --tree_id=36 --force
Страница идентификатор, необходимый для опции --tree_id
можно легко вывести из страницы администратора при наведении на значок предварительного просмотра страницы. Страница идентификатор часть ссылки: .../страница/PAGE_ID/языки/просмотр/...
Если оставить из --tree
и --tree_id
опции команды будет возвращаться к DjangoCMS изначального cms copy lang
поведение.