Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Centralize and elevate multilingual documentation #2099

Open
jmooring opened this issue Jun 1, 2023 · 0 comments
Open

Centralize and elevate multilingual documentation #2099

jmooring opened this issue Jun 1, 2023 · 0 comments

Comments

@jmooring
Copy link
Member

jmooring commented Jun 1, 2023

A) Centralize. Aspects of creating a multilingual site currently reside in multiple sections.

B) Elevate to its own section. Placing it all on one page is too much.

C) Initial thoughts on topics (in no particular order)

  1. Overview
  2. The language key, RFC 5646, and what it controls (see this comment)
    • URL prefix
    • Translation
    • Localization (dates, currencies, etc.)
    • Collation
    • Template lookup order (including shortcodes and render hooks)
  3. Configuration (including description of language-specific site configurations overriding root table such as [params], [permalinks], [menus])
  4. Config as a directory in a multilingual site
  5. Site variables (e.g., .Site.Language.LanguageCode, etc.)
  6. Sites variables (e.g., .Sites, .Sites.First.Home.RelPermalink, etc.)
  7. Page variables (e.g., .Page.Language.LanguageCode, etc.)
  8. Content structure
  9. Front matter (title, slug, url, translationKey)
  10. Language specific permalinks
  11. Language specific site parameters
  12. Translation tables (simple translations, pluralized translations, subkeys, etc.)
  13. Translation table fallbacks
  14. Finding missing translations
  15. Example of creating a translation table without values via external script
  16. Menus (configuration, front matter, template variables, example template)
  17. Taxonomies
  18. Filling in the gaps (pages: lang.Merge and content mounts)
  19. Filling in the gaps (page parameters: partial)
  20. Language specific templates (including shortcodes and render hooks)
  21. Multilingual multihost projects
  22. Simple example of a language switcher
  23. Creating new content with hugo new
  24. Functions (e.g., lang.Translate and aliases, lang.FormatCurrency, ref, relref, .Page.Ref, .Page.RelRef, absLangURL, relLangURL, etc.)
  25. Shared resources (e.g., image in page bundle)
  26. Sitemaps
  27. Targeting a specific language with [[cascade]] in site configuration
  28. Language specific 404 templates (use alternate approach by creating content pages and custom template)
  29. Language specific data files (the data directory)
  30. Reserved words. This was resolved with #2437. See https://gohugo.io/functions/lang/translate/#reserved-keys.
  31. De-duplication of page resources on multilingual, single host sites, and the automatic enablement of the embedded link and image render hooks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant