I coded the site I'm building so it's got a language pull-down menu, and I'm passing the selected language's code in the search string like "?culture=fr". I coded it in ASP.NET Core Razor pages, with resources for the different language for each page. When the user changes the language, I'm re-loading the current page via JS with the different search string. When any page loads, its JQuery function that runs when a page loads append the search string with the current language to the URLs of the nav bar items.
My concern is that search engine crawlers will only see pages in my default language (English). If I were to add links at the bottom of my home page for each supported language, with their URLs having the language search strings, would the crawlers go to those pages? Even if they did, since I'm changing the nav bar item URLs during the page loads via JQuery, the retrieved HTML won't have that change, so would link back to the default language, making only my home page crawled for the other languages.
To get search engines to crawl my pages for every language I support, do I need to abandon this approach, and instead define a Razor page for each page in each language, to use like example.com/es/About?
Thoughts?