Я использую vue, vuei18n и storybook, но у меня проблемы с показом переводов.
сборник рассказов прекрасно загружается с моей пользовательской конфигурацией webpack. переводы хранятся в тегах i18n каждого компонента через файл .json.
я использую следующие правила конфигурации веб-пакетов:
test: /\.scss$/,
loaders: ["style-loader", "css-loader", "sass-loader"],
include: path.resolve(__dirname, "../"),
}, {
test: /\.html$/,
loaders: ["html-loader"],
include: path.resolve(__dirname, "../"),
}, {
resourceQuery: /blockType=i18n/,
type: "javascript/auto",
loader: "@kazupon/vue-i18n-loader",
});
истории обычно загружаются так:
storiesOf("MyComponent", module)
.add("MyComponent opened", () => ({
components: { MyComponent },
template: '<v-app><my-component></my-component></v-app>',
i18n,
store,
created() {
store.dispatch("myComponent/openWith", null);
},
}))
я также использую vue-loader 15.7.1, сборник рассказов 5.2.1.
Когда загружаются компоненты, на консоли браузера появляется следующее предупреждение:
[vue-i18n] Cannot translate the value of keypath 'translation.value'. Use the value of keypath as default
Это потому, что для $ i18n.locale установлено значение "en-US", хотя я определил это в истории, как она загружается. Если я вставляю метод create (), который устанавливает "en" для локали, переводы работают нормально. Почему это происходит?