From 4f541b88319251b7dff00cb96e7c8d87a8fe287c Mon Sep 17 00:00:00 2001
From: Matthew Taylor <mewtaylor@gmail.com>
Date: Wed, 16 Dec 2015 08:31:44 -0500
Subject: [PATCH] Move `custom-locales.js` to `static/js/lib`

So it can be loaded ahead of time and cached. Also remove the json since it's being loaded outside of react now, and put it into the js file directly.
---
 server/template.html            |  1 +
 src/lib/custom-locales.json     | 18 ------------------
 src/lib/render.jsx              |  6 ------
 static/js/lib/custom-locales.js |  9 +++++++++
 4 files changed, 10 insertions(+), 24 deletions(-)
 delete mode 100644 src/lib/custom-locales.json
 create mode 100644 static/js/lib/custom-locales.js

diff --git a/server/template.html b/server/template.html
index 584f4d865..e2592b713 100644
--- a/server/template.html
+++ b/server/template.html
@@ -49,6 +49,7 @@
         <script src="/js/lib/react{{min}}.js"></script>
         <script src="/js/lib/react-dom{{min}}.js"></script>
         <script src="/js/lib/react-intl-with-locales{{min}}.js"></script>
+        <script src="/js/lib/custom-locales.js"></script>
         <script src="/js/lib/raven.min.js"></script>
 
         <script src="/js/main.bundle.js"></script>
diff --git a/src/lib/custom-locales.json b/src/lib/custom-locales.json
deleted file mode 100644
index b30fcb57f..000000000
--- a/src/lib/custom-locales.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-    "an": {
-        "locale": "an",
-        "parentLocale": "ca"
-    },
-    "la": {
-        "locale": "la",
-        "parentLocale": "it"
-    },
-    "yum": {
-        "locale": "yum",
-        "parentLocale": "en"
-    },
-    "cat": {
-        "locale": "cat",
-        "parentLocale": "en"
-    }
-}
diff --git a/src/lib/render.jsx b/src/lib/render.jsx
index 51a33c9ff..8d4e642f6 100644
--- a/src/lib/render.jsx
+++ b/src/lib/render.jsx
@@ -2,17 +2,11 @@ var ReactDOM = require('react-dom');
 var ReactIntl = require('react-intl');
 var IntlProvider = ReactIntl.IntlProvider;
 
-var customLanguages = require('./custom-locales.json');
-
 var render = function (jsx, element) {
     // Get locale and messages from global namespace (see "init.js")
     var locale = window._locale;
     var messages = window._translations[locale];
 
-    if (customLanguages[locale] !== undefined) {
-        ReactIntl.addLocaleData(customLanguages[locale]);
-    }
-
     // Render component
     var component = ReactDOM.render(
         <IntlProvider locale={locale} messages={messages}>
diff --git a/static/js/lib/custom-locales.js b/static/js/lib/custom-locales.js
new file mode 100644
index 000000000..9e80dfc5e
--- /dev/null
+++ b/static/js/lib/custom-locales.js
@@ -0,0 +1,9 @@
+var customLanguages = {
+    'an': {'locale': 'an','parentLocale': 'ca'},
+    'la': {'locale': 'la','parentLocale': 'it'},
+    'yum': {'locale': 'yum','parentLocale': 'en'},
+    'cat': {'locale': 'cat','parentLocale': 'en'}
+};
+for (var locale in customLanguages) {
+    ReactIntl.addLocaleData(customLanguages[locale]);
+}