The Multilingual Blogging Software Dilemma (and ways to solve it)

The Multilingual Blogging Software Dilemma (and ways to solve it)

Session at WordCamp Paris (#wcparis) on WordPress Multisite for authored content in more than one language. Plugin candy: Multilingual Press (free and Pro).

8a50eb4ed9bb4354d6df8e881befe64e?s=128

Caspar Hübinger

January 18, 2014
Tweet

Transcript

  1. 2.
  2. 8.
  3. 10.

    What to do? “[…] forward compatibility has lately been in

    my mind […] My logging software hasn’t been updated for months, and the main developer has disappeared […] could use the existing codebase to create a fork […]”
  4. 11.

    Let’s do it. “If you’re serious about forking b2 I

    would be interested in contributing.”
  5. 12.
  6. 13.
  7. 14.
  8. 18.

    Message-level translation __( 'Putain ce que j’ai faim!', 'domain' );

    _e( 'Putain ce que j’ai faim!', 'domain' ); ! #: some-file.php:1 msgid "Putain ce que j’ai faim!" msgstr "Gosh, I’m hungry!"
  9. 19.

    Provide context _x( 'Putain ce que j’ai faim!', 'Paris', 'domain'

    ); ! #: some-file.php:1 #, php-format msgctxt "Paris" msgid "Putain ce que j'ai faim!" msgstr "Champagne for all!"
  10. 24.
  11. 25.

    function multilingual_site() { return 'not use WordPress'; // putain }

    ! function multilingual_wordpress_site() { return 'depend on a plugin'; // putain encore }
  12. 26.

    What to do? “[…] forward compatibility has lately been in

    my mind […] My logging software hasn’t been updated for months, and the main developer has disappeared […] could use the existing codebase to create a fork […]”
  13. 29.

    Multilingual WordPress • Not a core feature, because multilingual content

    is an edge case. • Can be achieved with a plugin. → Forward compatibility depends on plugin developers. → When plugin is disabled, content must still work.
  14. 31.

    WordPress Multisite /** * 1 installation * multiple sites =

    multiple languages */ function multilingual_wordpress_site() { return 'use core with multisite'; // YAY, putain! }
  15. 32.

    ✔ Clean, SEO-friendly URLs. ✔ Performance as good as WordPress

    gets, no extra rewrites. ✔ Varying plugins[, themes, users, custom post types] per language. ✔ Rock-solid, because it’s part of core. ✔ Future-proof, because it’s part of core and wordpress.com uses it.
  16. 33.

    Setup Multisite • Create a network. http://codex.wordpress.org/Create_A_Network • Create a

    site for each language inside the network • That’s it, start blogging! ← Your site is multilingual here. • Core, theme, plugins: localized by language files (message based). • Authored content: localized by author(s).
  17. 36.

    Media @ Multisite • Shared media libraries don’t exist in

    WordPress. • WordPress does not allow for multiple post-to-post relationships. • Attachments and post images are unique and need to be physically present in the media library of the site their parent post belongs to.
  18. 38.

    Media libraries are key • Meta data (alt-text, title, description/caption)

    should be translatable. • Audio files can be recorded/overdubbed in multiple languages. • Videos can have subtitles or overdubs. → Unique* media libraries are key for multilingual content! *Physical assets could/should be assignable to multiple post objects.
  19. 40.

    • Connect translated posts[, pages, custom post types]. • Display

    links for available languages on singular and archive pages. • Redirect based on browser’s language settings. • Create/edit translation in same edit screen as original post. • Automatically duplicate post-image to media libraries of translated posts. • Author biographic info in all languages. • Choose back-end language independently of front-end. • Duplicate an entire site into a new site/language.
  20. 41.
  21. 42.
  22. 43.
  23. 44.
  24. 45.
  25. 46.
  26. 47.
  27. 48.
  28. 49.
  29. 50.
  30. 51.
  31. 52.
  32. 53.
  33. 54.
  34. 55.
  35. 56.
  36. 57.
  37. 58.
  38. 59.
  39. 60.
  40. 61.
  41. 62.

    Multilingual WordPress Multisite ✔ Core feature. ✔ Easy setup. ✔

    No extra plugin needed. ✔ Rock-solid performance. ✔ Hassle-free maintenance. ✔ Future-super-proof. ✔ Candy if you want some.
  42. 64.
  43. 66.

    Photo Credits • Matt Mullenweg: http://ma.tt/2011/05/balloon-ride/mcm_9050/ (as advised on http://ma.tt/about/)

    • Mike Little: http://mikelittle.org/ • Caspar Hübinger: http://stil-etage.de