Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion indra/llui/lltrans.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ std::string LLTrans::getCountString(std::string_view language, std::string_view
form = "C";
}
}
else if (language == "fr" || language == "pt") // French, Brazilian Portuguese
else if (language == "fr" || language == "pt" || language == "pt_BR") // French; Portuguese plural rules (canonical "pt", legacy pt_BR if ever passed)
{
// French and Portuguese treat zero as a singular "0 item" not "0 items"
if (count == 0 || count == 1)
Expand Down
13 changes: 12 additions & 1 deletion indra/llui/llui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,12 @@ std::string LLUI::getUILanguage(bool ignore_enabled_languages /*= false*/)
language = "en";
}

// Canonical UI language folder is xui/pt/ ; treat legacy persisted "pt_BR" as "pt" (LlGetAgentLanguage / SL parity).
if (language == "pt_BR")
{
language = "pt";
}

// <FS:Ansariel> Limit available languages
if (ignore_enabled_languages)
{
Expand All @@ -311,7 +317,12 @@ std::string LLUI::getUILanguage(bool ignore_enabled_languages /*= false*/)
LLSD enabled_languages = mSettingGroups["config"]->getLLSD("FSEnabledLanguages");
for (LLSD::array_const_iterator it = enabled_languages.beginArray(); it != enabled_languages.endArray(); ++it)
{
if ((*it).asString() == language)
std::string enabled = (*it).asString();
if (enabled == "pt_BR")
{
enabled = "pt";
}
if (enabled == language)
{
language_enabled = true;
break;
Expand Down
1 change: 1 addition & 0 deletions indra/newview/app_settings/settings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25546,6 +25546,7 @@ Change of this parameter will affect the layout of buttons in notification toast
<string>it</string>
<string>ja</string>
<string>pl</string>
<string>pt</string>
<string>ru</string>
<string>zh</string>
</array>
Expand Down
8 changes: 7 additions & 1 deletion indra/newview/llfloatertranslationsettings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,13 @@ bool LLFloaterTranslationSettings::postBuild()
void LLFloaterTranslationSettings::onOpen(const LLSD& key)
{
mMachineTranslationCB->setValue(gSavedSettings.getBOOL("TranslateChat"));
mLanguageCombo->setSelectedByValue(gSavedSettings.getString("TranslateLanguage"), true);
std::string translate_language = gSavedSettings.getString("TranslateLanguage");
if (translate_language == "pt")
{
translate_language = "pt_BR";
gSavedSettings.setString("TranslateLanguage", translate_language);
}
mLanguageCombo->setSelectedByValue(translate_language, true);
mTranslationServiceRadioGroup->setSelectedByValue(gSavedSettings.getString("TranslationService"), true);

LLSD azure_key = gSavedSettings.getLLSD("AzureTranslateAPIKey");
Expand Down
Loading