如何在Wagtail Localize中添加库尔德语?
在Wagtail中添加库尔德语的解决方案
你遇到的重定向问题确实和BCP-47语言标签的规范有关,库尔德语有多个符合BCP-47标准的标签,比如通用的ku,或者分书写系统的ku-Latn(拉丁字母)、ku-Arab(阿拉伯字母)。按照以下步骤配置即可解决:
1. 配置Django核心语言设置
在项目的settings.py中,确保USE_I18N = True,并更新LANGUAGES列表,添加符合规范的库尔德语条目:
USE_I18N = True LANGUAGES = [ ('en', 'English'), # 按需选择以下一种: ('ku', 'Kurdish'), # 通用库尔德语 # ('ku-Latn', 'Kurdish (Latin)'), # 拉丁字母库尔德语 # ('ku-Arab', 'Kurdish (Arabic)'), # 阿拉伯字母库尔德语 ]
2. 适配Wagtail本地化插件配置
如果你用的是wagtail-localize,在settings.py中添加对应语言到WAGTAIL_LOCALIZE_LANGUAGES,确保和Django的LANGUAGES标签一致:
WAGTAIL_LOCALIZE_LANGUAGES = [ ('en', 'English'), ('ku', 'Kurdish'), # 和上面的标签保持一致 ]
3. 检查URL路由配置
确保项目的urls.py使用Django的国际化路由包裹Wagtail的URL,避免路由冲突导致重定向:
from django.conf.urls.i18n import i18n_patterns from wagtail import urls as wagtail_urls urlpatterns = [ # 这里放不需要国际化的路由,比如admin登录入口 ] + i18n_patterns( path('', include(wagtail_urls)), )
4. 后台添加语言并测试
- 登录Wagtail后台,进入Settings -> Languages,点击"Add a language",选择你配置的库尔德语条目。
- 为现有页面创建库尔德语翻译版本,发布后访问对应路径(比如
/ku/your-page/),确认不再重定向到/en/ku。
补充说明
如果用的是Wagtail的Simple Translation功能,无需额外插件配置,只要确保Django的LANGUAGES设置正确即可,它会自动识别并支持配置好的语言标签。
内容的提问来源于stack exchange,提问作者foueidat
相关产品推荐
相关产品推荐

