Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How to outsource the pain of drupal translation to smartling from loparev

203 views

Published on

DrupalCampKyiv 2017

Published in: Internet
  • Hello! Who wants to chat with me? Nu photos with me here http://bit.ly/helenswee
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

How to outsource the pain of drupal translation to smartling from loparev

  1. 1. How to outsource the pain of Drupal localization to Smartling Pavel Loparev
  2. 2. Pavel Loparev Drupal.org: https://www.drupal.org/u/loparev GitHub: https://github.com/PavelLoparev Email: ploparev@smartling.com
  3. 3. www.smartling.com
  4. 4. Smartling Customers Fujifilm Sonosite Rackspace Vimeo GoPro Slack Technologies British Airways etc.
  5. 5. What will we be talking about? The problem of localization process General solution: online translation service Smartling Solution for Drupal: integration with online service Contrib module TMGMT: Translation management Tool How to prepare Drupal 8 and setup TMGMT for working with Smartling Smartling integration modules: TMGMT Smartling TMGMT Extension Suite: features
  6. 6. The problem of localization process
  7. 7. The problem of localization process Copy/Paste driven translation process
  8. 8. The problem of localization process Copy/Paste driven translation process What is that string for? What is the context for a given string?
  9. 9. The problem of localization process Copy/Paste driven translation process What is that string for? What is the context for a given string? Too many versions of one translation
  10. 10. Possible solution: Smartling platform
  11. 11. Smartling platform
  12. 12. Smartling Integrations: Connectors Drupal Wordpress Sitecore Hybris AEM
  13. 13. Smartling Integrations: GDN
  14. 14. Smartling Integrations: MDN
  15. 15. Smartling Translation Memory and Smart Match
  16. 16. Smartling Visual Context
  17. 17. Set up Drupal 8 and TMGMT for working with Smartling platform
  18. 18. Core modules language - allows users to configure languages and how page languages are chosen and apply languages to content
  19. 19. Core modules locale - translates the built-in user interface, modules and themes
  20. 20. Core modules content_translation - allows you to translate your site content, including pages, taxonomy terms, blocks, etc., into different languages
  21. 21. Core modules config_translation - allows you to translate text that is part of the configuration, such as field labels, the text used in Views, etc
  22. 22. Setup fields for translation
  23. 23. Contrib modules tmgmt - allows users to configure translation providers and provides default ones
  24. 24. Contrib modules tmgmt - allows users to configure translation providers and provides default ones tmgmt_smartling - provides integration with Smartling service
  25. 25. Contrib modules tmgmt - allows users to configure translation providers and provides default ones tmgmt_smartling - provides integration with Smartling service tmgmt_extension_suit - extends tmgmt functionality
  26. 26. Drupal solution: TMGMT - Translation Management Tool
  27. 27. Kudos to TMGMT Maintainers ● miro_dietiker ● Berdir ● fubhy ● edurenye ● Hydra ● dawehner ● sasanikolic ● yongt9412 ● vasi1186
  28. 28. TMGMT: Job and Job item
  29. 29. TMGMT: Translation providers
  30. 30. TMGMT: Plugin system
  31. 31. TMGMT Smartling: translation provider
  32. 32. Set up provider
  33. 33. Set up provider
  34. 34. Select content for translation
  35. 35. Request translation
  36. 36. Download translation
  37. 37. Cool! But what if… One has more than one job
  38. 38. Cool! But what if… One has more than one job One changed source node/term/etc
  39. 39. Cool! But what if… One has more than one job One changed source node/term/etc One want to create job once but for multiple target locales
  40. 40. TMGMT Extension Suite
  41. 41. TMGMT Extension Suit: Bulk operations
  42. 42. TMGMT Extension Suit: Bulk operations Drupal 8 core bug https://www.drupal.org/node/2701829 + != ❤
  43. 43. TMGMT Extension Suit: Bulk operations Drupal 8 core bug https://www.drupal.org/node/2701829 https://tech.smartling.com/how-to-overcome-the-limitations-of- the-vbo-module-in-drupal-8-and-find-a-bug-in-core- 1d0376642b7c
  44. 44. TMGMT Extension Suit: Tracking entity changes
  45. 45. TMGMT Extension Suit: Multiple target languages
  46. 46. TMGMT Smartling and Extension suite: under the hood
  47. 47. API sdk for PHP https://github.com/Smartling/api-sdk- php/tree/3.0.0-g6
  48. 48. Tracking entity changes How does it work? Store source entity’s content hash
  49. 49. Tracking entity changes How does it work? Store source entity’s content hash hook_entity_update() - check if source content is changed
  50. 50. Tracking entity changes How does it work? Store source entity’s content hash hook_entity_update() - check if source content is changed Resend content to Smartling
  51. 51. Cron & queues Translation context upload
  52. 52. Cron & queues Translation context upload Translation upload (extension suite)
  53. 53. Cron & queues Translation context upload Translation upload (extension suite) Check translation status (extension suite)
  54. 54. Cron & queues Translation context upload Translation upload (extension suite) Check translation status (extension suite) Download (extension suite)
  55. 55. Cron & queues Context upload Content upload Check status Translation download Smartling
  56. 56. Thanks for your time
  57. 57. Any questions?

×