【问题标题】:Django CMS multilingual and international supports based on country or region基于国家或地区的 Django CMS 多语言和国际支持
【发布时间】:2023-03-30 23:51:01
【问题描述】:

我正在为项目中的一个场景寻找解决方案。

我想使用以下技术/工具

Django 1.6.x stable or 1.7
mysql
django-cms / mezzanine / feincms

场景

旅游酒店菜单卡的 CMS。

我想在 CMS 中添加基于国家和多种语言的页面

示例 1:

国家 - 印度 (IN)

主要语言 1 - 荷兰语 - 比利时 (de) OFFER PAGE = 2 比利时菜是免费的

语言 2 - 中文 - 新加坡 (zh) OFFER PAGE = 4 道中国菜免费

可能的页面网址

http://example.com/in/de/offer 印度用荷兰语 OFFER PAGE = 2 道比利时菜免费

http://example.com/in/zh/offerFor India in Chinese OFFER PAGE = 4 道中国菜免费

示例 1:

国家 - 新加坡 (SG)

主要语言 1 - Thai - Thailand (th) OFFER PAGE = 7 泰国菜是免费的

语言 2 - 乌克兰语 - 乌克兰(英国)OFFER PAGE = 4 道乌克兰菜免费

语言 3 - 葡萄牙语 - 葡萄牙 (pt) OFFER PAGE = 5 道葡萄牙菜免费

可能的页面网址

http://example.com/sg/th/offer新加坡泰语OFFER PAGE = 7 道泰国菜免费

http://example.com/sg/uk/offer新加坡乌克兰语 OFFER PAGE = 4 道乌克兰菜免费

http://example.com/sg/pt/offer新加坡葡萄牙语OFFER PAGE = 5道葡萄牙菜免费

所以我的网站需要支持 15 个国家和 3 种语言,(一页会有 45 个条目) 当管理员将任何页面添加到 CMS 时,他选择英语作为主要语言并添加具有 45 种可能组合的页面。 稍后他将根据其他页面进行编辑并发布。 如果页面未针对该国家/地区发布,则用户将被重定向到错误页面。

注意 现在,我需要管理页面的内容而不是 url。


我浏览了以下 django 插件

django-cms / 夹层 / feincms 每个都有使用https://www.transifex.com/projects/p/django-cms/的多语言和国际支持 和一些模型翻译 https://www.djangopackages.com/grids/g/model-translation/

但我无法得出结论,如何使用可用的 cms 插件实现上述场景? 我想去夹层

我需要构建自己的 django 包吗? 有没有办法自定义以下任何 cms 插件并添加国家/地区的多语言和国际支持?

django-cms / 夹层 / feincms

【问题讨论】:

    标签: python django-models translation multilingual django-cms


    【解决方案1】:

    我可能有偏见,但我认为你应该使用 django CMS。它支持多站点(我认为你需要这个?),完整的 i18n,它甚至提供了在所有国际化之上的基于国家/地区的细分插件。 (因此,无论请求中使用何种语言,您都可以提供基于国家/地区的报价)。

    这里有一些关于你的主题的视频:

    https://www.youtube.com/playlist?list=PLbNxojMo86v42AOM47uhaEFHIJFUM4d6M

    特别是,您会希望观看有关个性化和细分的内容(如果这是您需要的,问题中并不清楚)。

    【讨论】:

    • 谢谢。我已经浏览了所需的视频,但它似乎部分满足了我的要求。但是我需要处理整个页面内容而不是页面部分的特定部分,例如对于国家或特定地区的同一页面,每种语言可以具有与其他语言完全不同的内容。
    • 在 django CMS 中,如果您愿意,页面的每个特定语言版本都可以具有完全独立的内容。根本不是问题。
    • 是的,确实如此,但正如问题So my website need to support 15 countries and 3 languages, (for one page there will be 45 entries) 中所述,我想处理每个国家/地区及其支持的语言的页面内容。所以我想要 3 种语言之上的 15 个国家或 15 个国家之上的 3 种语言
    • 超级。听起来 CMS 会满足你的需求。
    • Django-CMS 可以满足您的需求。如果您需要那些特定的 URL 方案 /CC/LC/... 那么,您可能需要编写一些自定义中间件(不太复杂),但一般来说,django-CMS 可以处理多种语言并且您可以解决多个国家的支持通过“多站点”或上述自定义中间件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    相关资源
    最近更新 更多