~/talk

TUTORIAL: Parlez-vous Wagtail? Internalization for Python/Django developers

Talkat Python Web Conf 2023 · 2023-03-13..03-17· [django]
links:none on file
slides:none on file

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

  1. 0:00Introduction and setup
  2. 1:13Workshop overview
  3. 2:18Prerequisites and tools
  4. 2:39Internationalization vs localization
  5. 3:45Client considerations for multilingual sites
  6. 6:15Translation workflows
  7. 7:41Machine vs human translation
  8. 9:06Wagtail and Django basics
  9. 11:13Repository setup and coding start
  10. 12:16Virtual environment and Wagtail installation
  11. 15:31Wagtail project structure
  12. 16:15Database setup and migrations
  13. 17:44Creating a superuser
  14. 19:10Running the development server
  15. 20:18Installing Wagtail Localize
  16. 21:21Configuring Wagtail Localize settings
  17. 23:05Internationalization settings
  18. 26:43Adding middleware for localization
  19. 28:09URL configuration for localization
  20. 31:27Running migrations for localization
  21. 32:52Testing localization setup
  22. 34:17Extending the home page model
  23. 39:25Model migrations and testing
  24. 41:14Accessing Wagtail admin
  25. 43:05Editing the home page
  26. 46:03Updating homepage template
  27. 47:08Template structure and tags
  28. 49:16Viewing the updated homepage
  29. 50:44Creating blog models
  30. 52:40Adding a new app for blog
  31. 55:15Blog index page model
  32. 56:44Individual blog page model
  33. 58:31Blog app migrations
  34. 59:37Testing blog functionality
  35. 1:00:20Adding blog pages in admin
  36. 1:03:07Creating a blog post
  37. 1:04:53Introducing StreamField
  38. 1:05:36Adding StreamField to blog model
  39. 1:08:07Troubleshooting database migration
  40. 1:12:43Recreating content after migration
  41. 1:14:33Re-adding blog content
  42. 1:15:41StreamField demonstration
  43. 1:19:11Creating blog templates
  44. 1:22:24Viewing blog pages
  45. 1:22:45Wagtail Localize in action
  46. 1:23:06Setting up French locale
  47. 1:25:37Translating home page
  48. 1:26:38Translation workflow options
  49. 1:28:03Using dummy translator
  50. 1:28:47Translating blog pages
  51. 1:29:52Viewing translated content
  52. 1:30:55Syncing content changes
  53. 1:32:46Updating localized content
  54. 1:34:12Next steps and resources
  55. 1:37:00Q&A and closing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.