Edit in JSFiddle

// import vue
// import vue-i18n

Vue.use(VueI18n);

const i18n = new VueI18n({
  locale: 'ja',
  fallbackLocale: 'ja',
  messages: {
    "ja": {
      "こんにちは、世界": "こんにちは、世界"
    },
    "en": {
      "こんにちは、世界": "Hello World"
    }
  }
});

new Vue({
  el: "#i18n",
  i18n,
  data() {
    return {
      locale: "ja"
    }
  },
  watch: {
    locale(newLocale) {
      this.$i18n.locale = newLocale;
    }
  }
});
<main id="i18n">
  <div>
    <label><input type="radio" value="ja" v-model="locale" />日本語</label>
    <label><input type="radio" value="en" v-model="locale" />English</label>
  </div>

  <h1>{{ $t("こんにちは、世界") }}</h1>
</main>