title: How to type check i18n dictionaries with TypeScript?
body: <p>Is there a possibility to type check existing keys in <a href="https://react.i18next.com/" rel="noreferrer">react-i18next</a> dictionaries? So that TS will warn you during compile time if key doesn't exist.</p>
  
  <p>Example.</p>
  
  <p>Suppose, we have this dictionary:</p>
  
  <pre><code>{
    "footer": {
      "copyright": "Some copyrights"
    },
  
    "header": {
      "logo": "Logo",
      "link": "Link",
    },
  }
  </code></pre>
  
  <p>If I provide non-existent key, TS should blow up:</p>
  
  <pre><code>const { t } = useTranslation();
  
  &lt;span&gt; { t('footer.copyright') } &lt;/span&gt; // this is OK, because footer.copyright exists
  &lt;span&gt; { t('footer.logo') } &lt;/span&gt; // TS BOOM!! there is no footer.logo in dictionary
  </code></pre>
  
  <p>What is the proper name of this technique? I'm very sure I'm not the only one who is asking for this behavior.</p>
  
  <p>Is it implemented in <code>react-i18next</code> out of the box? 
  Are there API in <code>react-i18next</code> to extend the library somehow to enable it? I want to avoid creating wrapper functions.</p>