fix(i18n): prioritize user settings over Accept-Language header
The i18n middleware runs before UserAuth, so user settings weren't available when language was detected. Now GetLangFromContext checks user settings first (set by UserAuth) before falling back to the language set by middleware or Accept-Language header.
This commit is contained in:
1 parent
194e89de12
commit
a78c1c9be9
8 files changed
+69
-17
No files matched your search
@@ -221,3 +221,13 @@ func updateUserSettingCache(userId int, setting string) error {
|
||||
}
|
||||
return common.RedisHSetField(getUserCacheKey(userId), "Setting", setting)
|
||||
}
|
||||
|
||||
// GetUserLanguage returns the user's language preference from cache
|
||||
// Uses the existing GetUserCache mechanism for efficiency
|
||||
func GetUserLanguage(userId int) string {
|
||||
userCache, err := GetUserCache(userId)
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
return userCache.GetSetting().Language
|
||||
}
|
||||
Reference in new issue
Block a user