2
react-intl
パッケージをアプリ内で使用しようとしています。アプリケーションはサーバー上でレンダリングされるので、使用する言語を決定するためのコードを書いてIntlProvider
に送信します。react-intl - ネストされたメッセージにアクセスする
翻訳はmessages.js
ファイルで提供し、彼らはこのようになりました:私はFormattedMessage
コンポーネントを使用する際にその後、私はアクセスすることはできません
// import messages from './messages.js'
// Check the locale for the user (based on cookies or other things)
const locale = ...
// Get the required messages
const messagesForLocale= = messages[locale];
// Supply the messages to the IntlProvider
<IntlProvider locale={locale} messages={messagesForLocale}>
// ...
</IntlProvider>
:
export default {
en: {
message: '...some message',
nested: {
anotherMessage: '...another message',
}
}
de: {
// ...
}
}
私は何をやっていることは、このようなものです次のようなコードでネストされたメッセージ(anotherMessage
):
<FormattedMessage id="nested.anotherMessage" ... />
ただし、message
にアクセスできます。
私は間違いを犯したアイデアか、全体のコンセプトで何かを逃している可能性がありますか?
感謝。私たちは 'I18next'を使うことに決めました。これはより柔軟なライブラリだと思われます。 – Ancinek