TUTORIAL: Parlez-vous Wagtail? Internalization for Python/Django developers
summary
Hands-on build of a multilingual Wagtail site: a starter project is created (local or Gitpod), Wagtail plus wagtail-localize is installed, English and French locales are added, and a blog with StreamField, images and embeds is built and published. Translation options include PO export, machine translators (demo uses a dummy translator) and human workflows; syncing pushes content updates to translations. A notable hiccup: converting a RichText body to StreamField triggers a streamfield migration conflict that requires rolling back or recreating the dev DB, but the site and localization workflow end up working.
AI-written summary · about
chapters (55)
- 0:00Introduction and setup
- 1:13Workshop overview
- 2:18Prerequisites and tools
- 2:39Internationalization vs localization
- 3:45Client considerations for multilingual sites
- 6:15Translation workflows
- 7:41Machine vs human translation
- 9:06Wagtail and Django basics
- 11:13Repository setup and coding start
- 12:16Virtual environment and Wagtail installation
- 15:31Wagtail project structure
- 16:15Database setup and migrations
- 17:44Creating a superuser
- 19:10Running the development server
- 20:18Installing Wagtail Localize
- 21:21Configuring Wagtail Localize settings
- 23:05Internationalization settings
- 26:43Adding middleware for localization
- 28:09URL configuration for localization
- 31:27Running migrations for localization
- 32:52Testing localization setup
- 34:17Extending the home page model
- 39:25Model migrations and testing
- 41:14Accessing Wagtail admin
- 43:05Editing the home page
- 46:03Updating homepage template
- 47:08Template structure and tags
- 49:16Viewing the updated homepage
- 50:44Creating blog models
- 52:40Adding a new app for blog
- 55:15Blog index page model
- 56:44Individual blog page model
- 58:31Blog app migrations
- 59:37Testing blog functionality
- 1:00:20Adding blog pages in admin
- 1:03:07Creating a blog post
- 1:04:53Introducing StreamField
- 1:05:36Adding StreamField to blog model
- 1:08:07Troubleshooting database migration
- 1:12:43Recreating content after migration
- 1:14:33Re-adding blog content
- 1:15:41StreamField demonstration
- 1:19:11Creating blog templates
- 1:22:24Viewing blog pages
- 1:22:45Wagtail Localize in action
- 1:23:06Setting up French locale
- 1:25:37Translating home page
- 1:26:38Translation workflow options
- 1:28:03Using dummy translator
- 1:28:47Translating blog pages
- 1:29:52Viewing translated content
- 1:30:55Syncing content changes
- 1:32:46Updating localized content
- 1:34:12Next steps and resources
- 1:37:00Q&A and closing
related talks
30m"Wagtail: The Python CMS Taking the World by Storm"
21mWagtail CMS - Making Django More User (and Developer) Friendly
36mWagtail Live: bringing a live blogging tool to the Django ecosystem
29mWagtail - Yet Another Django CMS
40mEntering the World of CMS with Wagtail with Michael Riley
30mWhy and When to Use Wagtail?
27mBeyond Po: How to Make Django Work...
25mAtomic Wagtail
