Hi,
We found a solution for you. You need to update .AspNetCore.Culture
cookie to set the language on the cookie.
Example value is c=en-UK|uic=en-US
For detailed information https://learn.microsoft.com/en-us/aspnet/core/fundamentals/localization/select-language-culture?view=aspnetcore-8.0#cookierequestcultureprovider
Hi,
This may be due to the fact that the backend and Angular projects are hosted on different domains. Could you try update your current language by requesting to /api/services/app/Profile/ChangeLanguage
Hi,
I understand the issue. Open Startup.cs
in the *.Web.Host
project. AbpRequestLocalization
is being used there. If you do not want this setting, you can remove it.
using (var scope = app.ApplicationServices.CreateScope())
{
if (scope.ServiceProvider.GetService<DatabaseCheckHelper>()
.Exist(_appConfiguration["ConnectionStrings:Default"]))
{
app.UseAbpRequestLocalization();
}
}
AbpUserRequestCultureProvider (ABP's provider): If the user is known via IAbpSession and has explicitly selected a language before (and saved to ISettingManager), then use the user's preferred language. If the user is known but has not selected any language and the .AspNetCore.Culture cookie or header has a value, set the user's language setting with that information and use this value as the current language. If the user is unknown, this provider does nothing.
https://aspnetboilerplate.com/Pages/Documents/Localization#how-the-current-language-is-determined
Hi,
Are you sure the localization files are correctly in place in production? Does localization work on other pages? https://aspnetboilerplate.com/Pages/Documents/Localization#registering-xml-localization-sources
Hi,
Do you have any console errors in production? If you log in to your code it would be easier to find.
Like this
private changeLanguage(languageName: string): void {
const languagesAvailable = _filter(abp.localization.languages, (l) => (<any>l).isDisabled === false);
const language = languagesAvailable.find((l) => l.name === languageName);
console.log('Current language:', abp.localization.currentLanguage.name);
console.log('Target language:', languageName);
if (abp.localization.currentLanguage.name !== languageName && language) {
const cookieExpiryDate = new Date();
cookieExpiryDate.setFullYear(cookieExpiryDate.getFullYear() + 5);
console.log('Setting cookie with language:', languageName);
abp.utils.setCookieValue(
'Abp.Localization.CultureName',
languageName,
cookieExpiryDate,
abp.appPath
);
abp.localization.currentLanguage.name = languageName;
console.log('Language set, reloading page...');
location.reload();
} else {
console.log('No language change needed or language not found.');
}
}
Hi @JapNolt,
You are correct. abp.event is based on JavaScript. The context is your opened page. If you want to work with more context (another browser, tab etc.) you can use Signalr. You can take a look for our notification system and chat message system.
Hi @drutter1954,
Thanks for reporting. We will fix it on the website side.
To fix this update *.Maui.csproj
in your current project,
<TargetFramework>net8.0</TargetFramework>
to
<TargetFrameworks>net8.0-android;net8.0-ios;</TargetFrameworks>
Hi @Bernard,
I will create a sample project about this as soon as possible.
Hi @drutter1954,
Is the patient entity added to DbContext? Could you check this?
Hi @mittera,
You can follow the same way for the server side. Unfortunately, we do not have any additional parts for Angular UI.