• epriestley's avatar
    Make i18n string extraction faster and more flexible · ccc7c1b4
    epriestley authored
    Summary:
    Ref T5267. Two general changes:
    
      - Make string extraction use a cache, so that it doesn't take several minutes every time you change something. Minor updates now only take a few seconds (like `arc liberate` and similar).
      - Instead of dumping a sort-of-template file out, write out to a cache (`src/.cache/i18n_strings.json`). I'm planning to add more steps to read this cache and do interesting things with it (emit translatewiki strings, generate or update standalone translation files, etc).
    
    Test Plan:
      - Ran `bin/i18n extract`.
      - Ran it again, saw it go a lot faster.
      - Changed stuff, ran it, saw it only look at new stuff.
      - Examined caches.
    
    Reviewers: chad
    
    Reviewed By: chad
    
    Maniphest Tasks: T5267
    
    Differential Revision: https://secure.phabricator.com/D16227
    ccc7c1b4