Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JavaScript vertalen binnen een plugin

JavaScript vertalen binnen een plugin

Presentatie over het vertalen van JavaScript binnen een WordPress plugin.

Tooling waar ik het over gehad heb:
Custom grunt task om po/json-bestanden te splitsen: https://github.com/Yoast/wordpress-seo/blob/trunk/grunt/custom/i18n-clean-json.js
Grunt task om JavaScript met gettext te parsen: https://github.com/Yoast/YoastSEO.js/blob/develop/grunt/config/shell.js

B3acbabfdd208ecbf950d864b86fe968?s=128

Anton Timmermans

June 08, 2016
Tweet

Transcript

  1. JavaScript vertalen binnen een plugin

  2. PHP code __( 'English text', 'text-domain' ); _n( '%s person',

    '%s people', $count, 'text-domain' ) _x( 'Read', 'context', 'textdomain' );
  3. Plugin (PHP) Vertalers op translate.yoast.com Vertaalbestand wordpress-seo-nl_NL.mo wordpress-seo-en_GB.mo wordpress-seo-de_DE.mo wordpress-seo-fr_FR.mo

    wordpress-seo-ru_RU.mo …
  4. JavaScript?

  5. Plugin (PHP) Vertalers op translate.yoast.com Vertaalbestand wordpress-seo-nl_NL.mo wordpress-seo-en_GB.mo wordpress-seo-de_DE.mo wordpress-seo-fr_FR.mo

    wordpress-seo-ru_RU.mo … JavaScript??? ???
  6. Beperkingen Client side Verschillende repositories

  7. Eisen Vertalers ervaring onveranderd Volledig automatisch Ondersteuning meervoudsvormen

  8. Oplossing

  9. Jed Vertaal bibliotheek JavaScript Zelfde technologie als PHP

  10. Plugin (PHP) Vertalers op translate.yoast.com Vertaalbestand

  11. Plugin (PHP) Vertalers op translate.yoast.com YoastSEO.js (JavaScript) Vertaalbestand (PHP)

  12. Plugin (PHP) Vertalers op translate.yoast.com YoastSEO.js (JavaScript) Vertaalbestand (PHP) Vertaalbestand

    (JavaScript)
  13. Plugin (PHP) Vertalers op translate.yoast.com YoastSEO.js (JavaScript) Vertaalbestand (PHP) Vertaalbestand

    (JavaScript)
  14. JS code i18n.dgettext( "text-domain", "English text" ) i18n.dngettext( "text-domain", '%s

    person', '%s people', count );
  15. JavaScript vertaalbestand { "domain": "wordpress-seo", "locale_data": { "wordpress-seo": { "":

    { "domain": "wordpress-seo", "plural_forms": "nplurals=2; plural=n != 1;" }, "very easy": ["heel eenvoudig"], "easy": ["eenvoudig"], "fairly easy": ["redelijk eenvoudig"], "fairly difficult": ["redelijk moeilijk"], "difficult": ["moeilijk"], "very difficult": ["heel moeilijk"], "Meta description": ["Meta omschrijving"], "Snippet preview": ["Snippet voorbeeld"] } } }
  16. Retrospective + Alle eisen voldaan - Ingewikkelde bouw stappen

  17. Vragen? Anton Timmermans Software architect @ Yoast @atimmer10 atimmer.com yoast.com/dev-blog

    Caption