Open Closed

CMS-Kit page localization #10446


User avatar
0
LW created

Hello, we are researching the cms-kit module as an option to store our application's customer facing knowledge base. The knowledge base contains the guides how to use the main application. One thing I would like to clarify is how would we implement the page localisation. We need the same KB page in different languages. Does the the cms-kit support this use case by default? If not how should we create the pages and support this use case?


6 Answer(s)
  • User Avatar
    0
    AI-Bot created
    Support Team ABP Agent
    • CMS Kit Pages (Dynamic Pages) do not support storing multiple language versions of the same page out-of-the-box.
      The built-in Pages feature stores a single content (Markdown/HTML) per page/slug. There isn’t a built-in PageTranslation (or similar) entity in the CMS Kit module to automatically resolve page content by the current UI culture.

    • Recommended approach to implement KB page localization (practical and ABP-aligned):

      1. Create one CMS page per language (separate records), e.g.:
        • /en/how-to-reset-password
        • /de/wie-passwort-zuruecksetzen
      2. Link them together using your own “translation group” concept. Typical options:
        • Add a custom entity like KnowledgeBasePage (your aggregate) that contains shared metadata (e.g., “group id”, canonical key, ordering, tags), and store per-language content in a child table like KnowledgeBasePageTranslation { Language, Title, Slug, Content }.
        • Or, if you want to keep CMS Kit’s page storage, store a custom property (or an extra mapping table) that relates CMS Kit Page IDs across languages (e.g., KbPageLocalizationMap { GroupId, Language, CmsPageId }).
      3. Resolve the correct page by current culture:
        • In your Angular UI, determine current culture (ABP localization already provides it) and navigate to the language-specific slug.
        • Optionally implement a fallback (e.g., if fr missing, fall back to en) in your own application service.
      4. (Optional) SEO/canonical: expose language in URL (like /en/...) and maintain a stable “canonical key” per article in your custom model.
    • Why this is the safe way with CMS Kit today:

      • CMS Kit gives you dynamic pages and slugs, but not multi-lingual content versions for the same page as a first-class feature. For localized, user-generated content, ABP generally expects you to model translations yourself (multi-lingual entity pattern).
    • If you want a ready pattern for “multi-lingual entity” in ABP (for your KB pages/translations tables), you can follow the approach shown in the community article and adapt it from “Book + BookTranslation” to “KbPage + KbPageTranslation”.

    Links (verified):

    • https://docs.abp.io/en/abp/latest/Modules/Cms-Kit/Index
    • https://github.com/abpframework/cms-kit-demo
    • https://abp.io/community/articles/8glnk6vu

    This response was generated by AI. If it didn’t solve your problem, feel free to post a new answer — our support team will jump in to help you soon.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    You can add Razor page for the same purpose, It support localizaion by inject IHtmlLocalizer<TestResource> Localizer

    https://abp.io/docs/latest/framework/fundamentals/localization

    Thanks.

  • User Avatar
    0
    LW created

    Thanks for the reply! But I don't understand, what page do you mean. Our KB-articles are not managed by developers, that's why we are looking into CMS-kit.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    I mean, you can create a Razor page to implement the KB-articles feature, cmk page doesn't support multiple languages for now.

    Thanks.

  • User Avatar
    0
    LW created

    what the purpose of that page? To show different cms-kit pages based on the user's language?

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    It has nothing to do with cmskit page, it is a separate page to implement your KB-articles and supports multiple languages

    Thanks.

Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.2.0-preview. Updated on February 17, 2026, 09:10
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.