diff options
Diffstat (limited to 'modern/src/LocalizationProvider.js')
-rw-r--r-- | modern/src/LocalizationProvider.js | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/modern/src/LocalizationProvider.js b/modern/src/LocalizationProvider.js index 6d8605b..9b91509 100644 --- a/modern/src/LocalizationProvider.js +++ b/modern/src/LocalizationProvider.js @@ -48,10 +48,22 @@ export const LocalizationProvider = ({ children }) => { export const useLocalization = () => useContext(LocalizationContext); + export const useTranslation = () => { const context = useContext(LocalizationContext); const { data } = context.languages[context.language]; - return (key) => data[key]; + return (key, args = {}) => { + if (Object.keys(args).length) { + let str = data[key]; + Object.keys(args).forEach(k => { + console.log (`Replacement for ${k} in ${str} is: `, args[k]) + str = str.replace(new RegExp(`\\{${k}\\}`, 'gi'), args[k].toString()); + }); + return str; + } else { + return data[key]; + } + } }; export const useTranslationKeys = (predicate) => { |