You can use multiple Resx files for same language, and distribute them along your project structure. i.e. if you have a folder structure like this
MainFolder
..Cats
....Cats.razor.cs
....Cats.razor
Resources
..Cats
....Cats.en.resx <- english resource
....Cats.es.resx <- spanish resource
in your injection you should use as following:
@inject Microsoft.Extensions.Localization.IStringLocalizer
_localizer
to use you implement as i.e.:
<TitleComponent Title="@_localizer["Cats"]"
Description="@_localizer["All your Cats."]" />
in the resx you should provide a translation for each implementation and once you propagate the culture change in your app it will take the correct resx file.
_localizer["Cats"].
this to support more than one language, to have multiple files of the same language just apply the same structure along your project i.e.
MainFolder
..Cats
....Cats.razor.cs
....Cats.razor
..Dogs
....Dogs.razor.cs
....Dogs.razor
Resources
..Cats
....Cats.en.resx <- english resource
....Cats.es.resx <- spanish resource
..Dogs
....Dogs.en.resx
....Dogs.es.resx
.resxfile per component/page for a particular language? I don't see a reason why one would need multiple.resxfiles for one language (if we are talking about localizing a particular component/page).