title: CKEditor 4: Uncaught TypeError: Cannot read property 'langEntries' of null
body: <p>I'm using the Ruby gem for CK Editor (<a href="https://github.com/galetahub/ckeditor" rel="noreferrer">https://github.com/galetahub/ckeditor</a>) and I'm getting this error:</p>
  
  <pre><code>Uncaught TypeError: Cannot read property 'langEntries' of null
  </code></pre>
  
  <p>Here's where it's occurring in the code:</p>
  
  <pre><code>CKEDITOR.plugins.load = CKEDITOR.tools.override(CKEDITOR.plugins.load, function (a) {
  var d = {};
  return function (b, c, e) {
      var i = {},
          g = function (b) {
              a.call(this, b, function (a) {
                  CKEDITOR.tools.extend(i, a);
                  var b = [],
                      l;
                  for (l in a) {
                      var s = a[l],
                          q = s &amp;&amp; s.requires;
                      if (!d[l]) {
                          if (s.icons)
                              for (var u = s.icons.split(","), f = u.length; f--;) CKEDITOR.skin.addIcon(u[f], s.path + "icons/" + (CKEDITOR.env.hidpi &amp;&amp; s.hidpi ? "hidpi/" : "") + u[f] + ".png");
                          d[l] = 1
                      }
                      if (q) {
                          q.split &amp;&amp; (q = q.split(","));
                          for (s = 0; s &lt; q.length; s++) i[q[s]] || b.push(q[s])
                      }
                  }
                  if (b.length) g.call(this,
                      b);
                  else { *ERRORING HERE*
                      for (l in i) {
                          s = i[l];
                          if (s.onLoad &amp;&amp; !s.onLoad._called) {
                              s.onLoad() === false &amp;&amp; delete i[l];
                              s.onLoad._called = 1
                          }
                      }
                      c &amp;&amp; c.call(e || window, i)
                  }
              }, this)
          };
      g.call(this, b)
  }
  });
  CKEDITOR.plugins.setLang = function (a, d, b) {
  var c = this.get(a),
      a = c.langEntries || (c.langEntries = {}),
      c = c.lang || (c.lang = []);
  c.split &amp;&amp; (c = c.split(","));
  CKEDITOR.tools.indexOf(c, d) == -1 &amp;&amp; c.push(d);
  a[d] = b
  };
  CKEDITOR.ui = function (a) {
   if (a.ui) return a.ui;
  this.items = {};
  this.instances = {};
  this.editor = a;
  this._ = {
      handlers: {}
  };
  return this
  };
  </code></pre>
  
  <p>I'm trying to use this Simple Uploads plugin and it has a whole bunch of languages. My directory structure is like this:
  <img src="https://i.stack.imgur.com/z5jj0.png" alt="enter image description here"></p>
  
  <p>Here's the documentation for CK Editor for this error:</p>
  
  <p><a href="http://docs.ckeditor.com/#!/api/CKEDITOR.plugins-method-setLang" rel="noreferrer">http://docs.ckeditor.com/#!/api/CKEDITOR.plugins-method-setLang</a></p>
  
  <p>All of my plugin's language files are formatted correctly, so struggling to find what the issue is. </p>
  
  <p>Any help with resolving this would be greatly appreciated</p>
  
  <p>EDIT: Here's the English lang file - </p>
  
  <pre><code>CKEDITOR.plugins.setLang( 'simpleuploads', 'en',
  {
      // Tooltip for the "add file" toolbar button
      addFile : 'Add a file',
      // Tooltip for the "add image" toolbar button
      addImage: 'Add an image',
  
      // Shown after the data has been sent to the server and we're waiting for the response
      processing: 'Processing...',
  
      // File size is over config.simpleuploads_maxFileSize OR the server returns HTTP status 413
      fileTooBig : 'The file is too big, please use a smaller one.',
  
      // The extension matches one of the blacklisted ones in config.simpleuploads_invalidExtensions
      invalidExtension : 'Invalid file type, please use only valid files.',
  
      // The extension isn't included in config.simpleuploads_acceptedExtensions
      nonAcceptedExtension: 'The file type is not valid, please use only valid files:\r\n%0',
  
      // The file isn't an accepted type for images
      nonImageExtension: 'You must select an image',
  
      // The width of the image is over the allowed maximum
      imageTooWide: 'The image is too wide',
  
      // The height of the image is over the allowed maximum
      imageTooTall: 'The image is too tall'
  });
  </code></pre>