URLs não configuráveis para páginas traduzidas
A estrutura dos links da página é definida de uma maneira e não pode ser alterada.
Você está definindo o nome para o link principal (para o idioma principal) e outros idiomas têm seu link estendido com o sufixo à direita correspondente ao idioma.
Como exemplo: se você está usando 3 idiomas: inglês (en), alemão (de), espanhol (es) e definiu suas 2 páginas como:
urlpatterns = [
*candy.path('', views.home, name = 'home'),
*candy.path('contact', views.contact, name='contact')
]
Em seguida, você obterá os seguintes URLs disponíveis para usuários do site:
http://MySite.com
http://MySite.com/de
http://MySite.com/es
http://MySite.com/contact
http://MySite.com/contact/de
http://MySite.com/contact/es
Seu idioma principal nunca recebe sufixo e sufixo por outros idiomas está na forma de 2 letras, conforme definido em:
ISO 639-1
Você pode experimentar o arquivo sitemap.xml para não corresponder totalmente ao seu site
O Sitemap deve ser gerado corretamente para a maioria dos sites, mas você pode verificar com seu projeto.
Existe uma maneira de adicionar manualmente URLs ausentes ou remover os que não devem estar nele.
Você pode fazê -lo com 3 listas chamadas "add_pages", "remove_pages" e "remove_paths". Todos eles são opcionais para a criação do sitemap.
Exemplos:
urlpatterns = [
...
*candy.sitemap(add_pages=["http://MySite.com/PageToAdd"])
]
urlpatterns = [
...
*candy.sitemap(remove_pages=["http://MySite.com/PageToRemoveFromSitemap",
"http://MySite.com/PageToRemoveFromSitemap2"])
]
urlpatterns = [
...
*candy.sitemap(remove_paths=["http://MySite.com/PageAndSubpagesToRemoveFromSitemap",
"http://MySite.com/PageAndSubpagesToRemoveFromSitemap2"])
]
urlpatterns = [
...
*candy.sitemap(
add_pages=["http://MySite.com/PageToAdd"],
remove_pages=["http://MySite.com/PageToRemoveFromSitemap",
"http://MySite.com/PageToRemoveFromSitemap2"]
remove_paths=["http://MySite.com/PageAndSubpagesToRemoveFromSitemap",
"http://MySite.com/PageAndSubpagesToRemoveFromSitemap2"]
)
]
Você não pode ter várias versões do mesmo idioma
O padrão HTML permite distinguir o idioma com base no local em que o idioma está sendo usado.
Então, por exemplo, você pode ter uma versão diferente da página para o inglês e o inglês do Reino Unido. Com a tradução do Candy, você pode ter apenas uma versão de cada idioma