Please note that GetCountryRegionForPlayerAsync returns the region in uppercase. You might want to :lower() the string returned if you convert the table by lower case.
if game:GetService(“LocalizationService”):GetCountryRegionForPlayerAsync(game.Players.LocalPlayer):lower() == “us” or game:GetService(“LocalizationService”):GetCountryRegionForPlayerAsync(game.Players.LocalPlayer):lower() == “gb” or game:GetService(“LocalizationService”):GetCountryRegionForPlayerAsync(game.Players.LocalPlayer):lower() == “ca” or game:GetService(“LocalizationService”):GetCountryRegionForPlayerAsync(game.Players.LocalPlayer):lower() == “in” or game:GetService(“LocalizationService”):GetCountryRegionForPlayerAsync(game.Players.LocalPlayer):lower() == “au” then
Please don’t use this method for checking what language someone speaks. There’s a property for this under LocalizationService called RobloxLocaleId. Alternatively, the user’s system language will be under LocalizationService.SystemLocaleId. You can just check if it starts with en like this:
local client = game:GetService("Players").LocalPlayer
local localizationService = game:GetService("LocalizationService")
if localizationService.RobloxLocaleId:sub(1,2) == "en" then
-- just check if it starts with en since there's lots...
-- ...of codes for english (en, en-us, en-tt, en-za)
print("English")
else
print("Non-english")
end