AlexTeixeira / Askmethat-Aspnet-JsonLocalizer

Json Localizer library for .NetStandard and .NetCore Asp.net projects
MIT License
91 stars 29 forks source link

Invalid Culture when using I18N mode JSON Files #129

Open ahofman opened 2 years ago

ahofman commented 2 years ago

Hi there, I'm using a set of JSON files with localised strings, for example:

localization.json
localization.nl.json 

Where localization.json is the fallback locale (en-US) and localization.nl.json is Dutch.

When the request locale is nl a CultureNotFoundException is thrown with the message

Culture is not supported. (Parameter 'name')
localization is an invalid culture identifier.

from here: https://github.com/AlexTeixeira/Askmethat-Aspnet-JsonLocalizer/blob/788d32b2318121e9a2a1d41bed62388b3da8db0b/Askmethat.Aspnet.JsonLocalizer.Shared/Localizer/Modes/LocalizationI18NModeGenerator.cs#L49

The issue is that the default localization.json file is being treated as a locale file, and the string.split()[^2] resolves to localization, which it then tries to create a CultureInfo from, which is invalid.