Railsのi18nで予約語をキーに指定しても例外が発生しない不具合を改善したZennrecky🫡Railsのi18nで予約語をキーに指定しても例外が発生しない不具合を改善した2023/12/04に公開2023/12/13Railsi18ntechはじめに現在、FBCで学習中の身です。RailsのI18n実装中に表題の不具合を発見し、issueを起票し修正されたのでその流れを記したいと思います。問題I18nを用いて、訳文に変数を渡そうとしていたのですが、、なぜか変数名がそのまま返ってきてしまいました。試してみるまず、consoleで確認。"%{object}の更新に成功しました。"%{object}の更新に成功しました。"「本の更新に成功しました。」と出力されてほしいのに、なぜか「%{object}の更新に成功しました。」とそのままの文字列ができてしまっています。モデル名の翻訳はできてる。"本"普通に文字列を渡してもダメ。"%{object}の更新に成功しました。(railsguides.jp)を見てもI18n::ReservedInterpolationKey例外が発生します。書いてるし、、defaultキーワードおよびscopeキーワードは予約されているため、変数には使えません。利用するとI18n::ReservedInterpolationKey例外が発生します。ある訳文で式展開変数が期待されているにもかかわらず、#translateに値が渡されない場合は、I18n::MissingInterpolationArgument例外が発生します。Q&A!とのことで、早速質問しました。予約語で他にもあるらしい。]「予約語はたくさんあるし、I18n::ReservedInterpolationKey例外も起きないし。これはもしかするとコントリビューションチャーンス!?」とお言葉をいただき、折角なのでissue立ててみた。立てたissueは以下。rails/railsあっという間に修正。