Made hard-coded strings in media filter localizable (FIRE-5282)

Ansariel 2012-02-28 22:42:45 +01:00
parent 06f9ae04f0
commit b752f32cb3
4 changed files with 234 additions and 34 deletions

View File

@ -48,6 +48,8 @@
#include "llviewertexture.h"
#include "llsdserialize.h"
#include "lltrans.h"
// Static Variables
S32 LLViewerParcelMedia::sMediaParcelLocalID = 0;
@ -921,8 +923,10 @@ void LLViewerParcelMedia::filterMediaUrl(LLParcel* parcel)
}
else if (media_action=="deny")
{
LLStringUtil::format_map_t format_args;
format_args["[DOMAIN]"] = domain;
LLChat chat;
chat.mText = "Media from the domain "+domain+" has been blocked.";
chat.mText = LLTrans::getString("MediaFilterContentBlocked", format_args);;
chat.mSourceType = CHAT_SOURCE_SYSTEM;
LLSD args;
args["type"] = LLNotificationsUI::NT_NEARBYCHAT;
@ -956,16 +960,16 @@ void callback_media_alert(const LLSD &notification, const LLSD &response, LLParc
std::string domain = LLViewerParcelMedia::extractDomain(media_url);
if (option == 0) // allow
{
args["ACTION"] = "Allow";
args["CONDITION"] = "Always";
args["LCONDITION"] = "always";
args["ACTION"] = LLTrans::getString("MediaFilterActionAllow");
args["CONDITION"] = LLTrans::getString("MediaFilterConditionAlways");
args["LCONDITION"] = LLTrans::getString("MediaFilterConditionAlwaysLower");
allow = true;
}
else
{
args["ACTION"] = "Deny";
args["CONDITION"] = "Never";
args["LCONDITION"] = "never";
args["ACTION"] = LLTrans::getString("MediaFilterActionDeny");
args["CONDITION"] = LLTrans::getString("MediaFilterConditionNever");
args["LCONDITION"] = LLTrans::getString("MediaFilterConditionNeverLower");
allow = false;
}
args["MEDIAURL"] = media_url;
@ -1004,7 +1008,9 @@ void callback_media_alert2(const LLSD &notification, const LLSD &response, LLPar
newmedia["action"] = "allow";
LLViewerParcelMedia::sMediaFilterList.append(newmedia);
LLViewerParcelMedia::saveDomainFilterList();
chat.mText = "Media from domain "+domain+" will always be played.";
LLStringUtil::format_map_t format_args;
format_args["[DOMAIN]"] = domain;
chat.mText = LLTrans::getString("MediaFilterMediaContentDomainAlwaysAllowed", format_args);
LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args);
LLViewerParcelMedia::sCurrentMedia = *parcel;
if (parcel->getName() == currentparcel->getName())
@ -1020,7 +1026,9 @@ void callback_media_alert2(const LLSD &notification, const LLSD &response, LLPar
newmedia["action"] = "deny";
LLViewerParcelMedia::sMediaFilterList.append(newmedia);
LLViewerParcelMedia::saveDomainFilterList();
chat.mText = "Media from domain "+domain+" will never be played.";
LLStringUtil::format_map_t format_args;
format_args["[DOMAIN]"] = domain;
chat.mText = LLTrans::getString("MediaFilterMediaContentDomainAlwaysBlocked", format_args);
LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args);
}
else if ((option == 2) && allow) // Whitelist URL
@ -1030,7 +1038,9 @@ void callback_media_alert2(const LLSD &notification, const LLSD &response, LLPar
newmedia["action"] = "allow";
LLViewerParcelMedia::sMediaFilterList.append(newmedia);
LLViewerParcelMedia::saveDomainFilterList();
chat.mText = "Media from location "+media_url+" will always be played.";
LLStringUtil::format_map_t format_args;
format_args["[MEDIAURL]"] = media_url;
chat.mText = LLTrans::getString("MediaFilterMediaContentUrlAlwaysAllowed", format_args);
LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args);
LLViewerParcelMedia::sCurrentMedia = *parcel;
if (parcel->getName() == currentparcel->getName())
@ -1046,7 +1056,9 @@ void callback_media_alert2(const LLSD &notification, const LLSD &response, LLPar
newmedia["action"] = "deny";
LLViewerParcelMedia::sMediaFilterList.append(newmedia);
LLViewerParcelMedia::saveDomainFilterList();
chat.mText = "Media from location "+media_url+" will never be played.";
LLStringUtil::format_map_t format_args;
format_args["[MEDIAURL]"] = media_url;
chat.mText = LLTrans::getString("MediaFilterMediaContentUrlAlwaysBlocked", format_args);
LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args);
}
@ -1248,8 +1260,10 @@ void LLViewerParcelMedia::filterAudioUrl(std::string media_url)
}
else if (media_action=="deny")
{
LLStringUtil::format_map_t format_args;
format_args["[DOMAIN]"] = domain;
LLChat chat;
chat.mText = "Audio from the domain "+domain+" has been blocked.";
chat.mText = LLTrans::getString("MediaFilterAudioContentBlocked", format_args);
chat.mSourceType = CHAT_SOURCE_SYSTEM;
LLSD args;
args["type"] = LLNotificationsUI::NT_NEARBYCHAT;
@ -1279,16 +1293,16 @@ void callback_audio_alert(const LLSD &notification, const LLSD &response, std::s
std::string domain = LLViewerParcelMedia::extractDomain(media_url);
if (option == 0) // allow
{
args["ACTION"] = "Allow";
args["CONDITION"] = "Always";
args["LCONDITION"] = "always";
args["ACTION"] = LLTrans::getString("MediaFilterActionAllow");
args["CONDITION"] = LLTrans::getString("MediaFilterConditionAlways");
args["LCONDITION"] = LLTrans::getString("MediaFilterConditionAlwaysLower");
allow = true;
}
else
{
args["ACTION"] = "Deny";
args["CONDITION"] = "Never";
args["LCONDITION"] = "never";
args["ACTION"] = LLTrans::getString("MediaFilterActionDeny");
args["CONDITION"] = LLTrans::getString("MediaFilterConditionNever");
args["LCONDITION"] = LLTrans::getString("MediaFilterConditionNeverLower");
allow = false;
}
args["AUDIOURL"] = media_url;
@ -1334,7 +1348,9 @@ void callback_audio_alert2(const LLSD &notification, const LLSD &response, std::
newmedia["action"] = "allow";
LLViewerParcelMedia::sMediaFilterList.append(newmedia);
LLViewerParcelMedia::saveDomainFilterList();
chat.mText = "Music from domain "+domain+" will always be played.";
LLStringUtil::format_map_t format_args;
format_args["[DOMAIN]"] = domain;
chat.mText = LLTrans::getString("MediaFilterAudioContentDomainAlwaysAllowed", format_args);
LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args);
if (gAudiop != NULL)
{
@ -1351,7 +1367,9 @@ void callback_audio_alert2(const LLSD &notification, const LLSD &response, std::
newmedia["action"] = "deny";
LLViewerParcelMedia::sMediaFilterList.append(newmedia);
LLViewerParcelMedia::saveDomainFilterList();
chat.mText = "Music from domain "+domain+" will never be played.";
LLStringUtil::format_map_t format_args;
format_args["[DOMAIN]"] = domain;
chat.mText = LLTrans::getString("MediaFilterAudioContentDomainAlwaysBlocked", format_args);
LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args);
if (gAudiop != NULL)
{
@ -1368,7 +1386,9 @@ void callback_audio_alert2(const LLSD &notification, const LLSD &response, std::
newmedia["action"] = "allow";
LLViewerParcelMedia::sMediaFilterList.append(newmedia);
LLViewerParcelMedia::saveDomainFilterList();
chat.mText = "Music from location "+media_url+" will always be played.";
LLStringUtil::format_map_t format_args;
format_args["[MEDIAURL]"] = media_url;
chat.mText = LLTrans::getString("MediaFilterAudioContentUrlAlwaysAllowed", format_args);
LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args);
if (gAudiop != NULL)
{
@ -1385,7 +1405,9 @@ void callback_audio_alert2(const LLSD &notification, const LLSD &response, std::
newmedia["action"] = "deny";
LLViewerParcelMedia::sMediaFilterList.append(newmedia);
LLViewerParcelMedia::saveDomainFilterList();
chat.mText = "Music from location "+media_url+" will never be played.";
LLStringUtil::format_map_t format_args;
format_args["[MEDIAURL]"] = media_url;
chat.mText = LLTrans::getString("MediaFilterAudioContentUrlAlwaysBlocked", format_args);
LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args);
if (gAudiop != NULL)
{
@ -1576,8 +1598,10 @@ void LLViewerParcelMedia::filterMOAPUrl(LLMediaDataClientObject *object, LLObjec
}
else if (media_action=="deny")
{
LLStringUtil::format_map_t format_args;
format_args["[DOMAIN]"] = domain;
LLChat chat;
chat.mText = "Shared media from the domain "+domain+" has been blocked.";
chat.mText = LLTrans::getString("MediaFilterSharedMediaContentBlocked", domain);
chat.mSourceType = CHAT_SOURCE_SYSTEM;
LLSD args;
args["type"] = LLNotificationsUI::NT_NEARBYCHAT;
@ -1613,16 +1637,16 @@ void callback_MOAP_alert(const LLSD &notification, const LLSD &response, LLMedia
std::string domain = LLViewerParcelMedia::extractDomain(media_url);
if (option == 0) // allow
{
args["ACTION"] = "Allow";
args["CONDITION"] = "Always";
args["LCONDITION"] = "always";
args["ACTION"] = LLTrans::getString("MediaFilterActionAllow");
args["CONDITION"] = LLTrans::getString("MediaFilterConditionAlways");
args["LCONDITION"] = LLTrans::getString("MediaFilterConditionAlwaysLower");
allow = true;
}
else
{
args["ACTION"] = "Deny";
args["CONDITION"] = "Never";
args["LCONDITION"] = "never";
args["ACTION"] = LLTrans::getString("MediaFilterActionDeny");
args["CONDITION"] = LLTrans::getString("MediaFilterConditionNever");
args["LCONDITION"] = LLTrans::getString("MediaFilterConditionNeverLower");
allow = false;
}
args["MOAPURL"] = media_url;
@ -1659,7 +1683,9 @@ void callback_MOAP_alert2(const LLSD &notification, const LLSD &response, LLMedi
newmedia["action"] = "allow";
LLViewerParcelMedia::sMediaFilterList.append(newmedia);
LLViewerParcelMedia::saveDomainFilterList();
chat.mText = "Shared media from domain "+domain+" will always be played.";
LLStringUtil::format_map_t format_args;
format_args["[DOMAIN]"] = domain;
chat.mText = LLTrans::getString("MediaFilterSharedMediaContentDomainAlwaysAllowed", format_args);
LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args);
nav_object->doNavigate(object, texture_index, media_url);
LLViewerParcelMedia::sCurrentMOAP = media_url;
@ -1672,7 +1698,9 @@ void callback_MOAP_alert2(const LLSD &notification, const LLSD &response, LLMedi
newmedia["action"] = "deny";
LLViewerParcelMedia::sMediaFilterList.append(newmedia);
LLViewerParcelMedia::saveDomainFilterList();
chat.mText = "Shared media from domain "+domain+" will never be played.";
LLStringUtil::format_map_t format_args;
format_args["[DOMAIN]"] = domain;
chat.mText = LLTrans::getString("MediaFilterSharedMediaContentDomainAlwaysBlocked", format_args);
LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args);
LLViewerParcelMedia::sCurrentMOAP = "";
LLViewerParcelMedia::sMOAPLastActionPlay = false;
@ -1684,7 +1712,9 @@ void callback_MOAP_alert2(const LLSD &notification, const LLSD &response, LLMedi
newmedia["action"] = "allow";
LLViewerParcelMedia::sMediaFilterList.append(newmedia);
LLViewerParcelMedia::saveDomainFilterList();
chat.mText = "Shared media from location "+media_url+" will always be played.";
LLStringUtil::format_map_t format_args;
format_args["[MEDIAURL]"] = media_url;
chat.mText = LLTrans::getString("MediaFilterSharedMediaContentUrlAlwaysAllowed", format_args);
LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args);
nav_object->doNavigate(object, texture_index, media_url);
LLViewerParcelMedia::sCurrentMOAP = media_url;
@ -1697,7 +1727,9 @@ void callback_MOAP_alert2(const LLSD &notification, const LLSD &response, LLMedi
newmedia["action"] = "deny";
LLViewerParcelMedia::sMediaFilterList.append(newmedia);
LLViewerParcelMedia::saveDomainFilterList();
chat.mText = "Shared media from location "+media_url+" will never be played.";
LLStringUtil::format_map_t format_args;
format_args["[MEDIAURL]"] = media_url;
chat.mText = LLTrans::getString("MediaFilterSharedMediaContentUrlAlwaysBlocked", format_args);
LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args);
LLViewerParcelMedia::sCurrentMOAP = "";
LLViewerParcelMedia::sMOAPLastActionPlay = false;

View File

@ -3350,4 +3350,84 @@ Teleportieren zum Avatar nicht möglich, da die exakte Position unbekannt ist.
Der Viewercache ist momentan leer. Während des Downloads von neuen Inhalten kann es daher zu niedrigeren Frameraten und langsamerem Laden des Inventars kommen.
</notification>
<notification name="EnableMediaFilter">
Das Abspielen von Medien oder Musik kann deine Identität an Webseiten außerhalb von Second Life verraten. Durch das Einschalten des Filters kann ausgewählt werden, welche Webseiten Medien abspielen dürfen, wodurch eine bessere Kontrolle über die Privatspähre ermöglicht wird.
Medienfilter aktivieren?
(Diese Einstellung kann später unter Einstellungen &gt; Sound &amp; Medien geändert werden.)
<form name="form">
<button name="Enable" text="Aktivieren"/>
<button name="Disable" text="Deaktivieren"/>
</form>
</notification>
<notification name="MediaAlert">
Diese Parzelle enthält Medien von :
Domain: [MEDIADOMAIN]
URL: [MEDIAURL]
<form name="form">
<button name="Allow" text="Erlauben"/>
<button name="Deny" text="Verbieten"/>
</form>
</notification>
<notification name="MediaAlert2">
Auswahl merken und [LCONDITION] Medien von dieser Quelle erlauben?
Domain: [MEDIADOMAIN]
URL: [MEDIAURL]
<form name="form">
<button name="Do Now" text="Jetzt [ACTION]"/>
<button name="RememberDomain" text="[CONDITION] diese Domain erlauben"/>
<button name="RememberURL" text="[CONDITION] diese URL erlauben"/>
</form>
</notification>
<notification name="AudioAlert">
Diese Parzelle enthält Musik von:
Domain: [AUDIODOMAIN]
URL: [AUDIOURL]
<form name="form">
<button name="Allow" text="Erlauben"/>
<button name="Deny" text="Verbieten"/>
</form>
</notification>
<notification name="AudioAlert2">
Auswahl merken und [LCONDITION] Musik von dieser Quelle erlauben?
Domain: [AUDIODOMAIN]
URL: [AUDIOURL]
<form name="form">
<button name="Do Now" text="Jetzt [ACTION]"/>
<button name="RememberDomain" text="[CONDITION] diese Domain erlauben"/>
<button name="RememberURL" text="[CONDITION] diese URL erlauben"/>
</form>
</notification>
<notification name="MOAPAlert">
Ein Objekt enthält Geteilte Medien von:
Domain: [MOAPDOMAIN]
URL: [MOAPURL]
<form name="form">
<button name="Allow" text="Erlauben"/>
<button name="Deny" text="Verbieten"/>
</form>
</notification>
<notification name="MOAPAlert2">
Auswahl merken und [LCONDITION] Geteilte Medien von dieser Quelle erlauben?
Domain: [MOAPDOMAIN]
URL: [MOAPURL]
<form name="form">
<button name="Do Now" text="Jetzt [ACTION]"/>
<button name="RememberDomain" text="[CONDITION] diese Domain erlauben"/>
<button name="RememberURL" text="[CONDITION] diese URL erlauben"/>
</form>
</notification>
</notifications>

View File

@ -5106,4 +5106,67 @@ Setzen Sie den Editorpfad in Anführungszeichen
<string name="RlvDisabled">
RestrainedLove-Unterstützung ist beim nächsten Start ausgeschaltet.
</string>
<string name="MediaFilterActionAllow">
erlauben
</string>
<string name="MediaFilterActionDeny">
verbieten
</string>
<string name="MediaFilterConditionAlways">
Immer
</string>
<string name="MediaFilterConditionAlwaysLower">
immer
</string>
<string name="MediaFilterConditionNever">
Niemals
</string>
<string name="MediaFilterConditionNeverLower">
niemals
</string>
<string name="MediaFilterMediaContentBlocked">
Medien von der Domain [DOMAIN] wurden geblockt.
</string>
<string name="MediaFilterMediaContentDomainAlwaysAllowed">
Medien von der Domain [DOMAIN] werden immer abgespielt.
</string>
<string name="MediaFilterMediaContentDomainAlwaysBlocked">
Medien von der Domain [DOMAIN] werden niemals abgespielt.
</string>
<string name="MediaFilterMediaContentUrlAlwaysAllowed">
Medien von der URL [MEDIAURL] werden immer abgespielt.
</string>
<string name="MediaFilterMediaContentUrlAlwaysBlocked">
Medien von der URL [MEDIAURL] werden niemals abgespielt.
</string>
<string name="MediaFilterAudioContentBlocked">
Musik von der Domain [DOMAIN] wurde geblockt.
</string>
<string name="MediaFilterAudioContentDomainAlwaysAllowed">
Musik von der Domain [DOMAIN] wird immer abgespielt.
</string>
<string name="MediaFilterAudioContentDomainAlwaysBlocked">
Musik von der Domain [DOMAIN] wird niemals abgespielt.
</string>
<string name="MediaFilterAudioContentUrlAlwaysAllowed">
Musik von der URL [MEDIAURL] wird immer abgespielt.
</string>
<string name="MediaFilterAudioContentUrlAlwaysBlocked">
Musik von der URL [MEDIAURL] wird niemals abgespielt.
</string>
<string name="MediaFilterSharedMediaContentBlocked">
Geteilte Medien von der Domain [DOMAIN] wurden geblockt.
</string>
<string name="MediaFilterSharedMediaContentDomainAlwaysAllowed">
Geteilte Medien von der Domain [DOMAIN] werden immer abgespielt.
</string>
<string name="MediaFilterSharedMediaContentDomainAlwaysBlocked">
Geteilte Medien von der Domain [DOMAIN] werden niemals abgespielt.
</string>
<string name="MediaFilterSharedMediaContentUrlAlwaysAllowed">
Geteilte Medien von der URL [MEDIAURL] werden immer abgespielt.
</string>
<string name="MediaFilterSharedMediaContentUrlAlwaysBlocked">
Geteilte Medien von der URL [MEDIAURL] werden niemals abgespielt.
</string>
</strings>

View File

@ -3962,4 +3962,29 @@ Try enclosing path to the editor with double quotes.
<string name="RlvEnabled">RestrainedLove Support will be enabled after you restart.</string>
<string name="RlvDisabled">RestrainedLove Support will be disabled after you restart.</string>
</strings>
<!-- Media filter options -->
<string name="MediaFilterActionAllow">Allow</string>
<string name="MediaFilterActionDeny">Deny</string>
<string name="MediaFilterConditionAlways">Always</string>
<string name="MediaFilterConditionAlwaysLower">always</string>
<string name="MediaFilterConditionNever">Never</string>
<string name="MediaFilterConditionNeverLower">never</string>
<string name="MediaFilterMediaContentBlocked">Media from the domain [DOMAIN] has been blocked.</string>
<string name="MediaFilterMediaContentDomainAlwaysAllowed">Media from the domain [DOMAIN] will always be played.</string>
<string name="MediaFilterMediaContentDomainAlwaysBlocked">Media from the domain [DOMAIN] will never be played.</string>
<string name="MediaFilterMediaContentUrlAlwaysAllowed">Media from the URL [MEDIAURL] will always be played.</string>
<string name="MediaFilterMediaContentUrlAlwaysBlocked">Media from the URL [MEDIAURL] will never be played.</string>
<string name="MediaFilterAudioContentBlocked">Audio from the domain [DOMAIN] has been blocked.</string>
<string name="MediaFilterAudioContentDomainAlwaysAllowed">Audio from the domain [DOMAIN] will always be played.</string>
<string name="MediaFilterAudioContentDomainAlwaysBlocked">Audio from the domain [DOMAIN] will never be played.</string>
<string name="MediaFilterAudioContentUrlAlwaysAllowed">Audio from the URL [MEDIAURL] will always be played.</string>
<string name="MediaFilterAudioContentUrlAlwaysBlocked">Audio from the URL [MEDIAURL] will never be played.</string>
<string name="MediaFilterSharedMediaContentBlocked">Shared Media from the domain [DOMAIN] has been blocked.</string>
<string name="MediaFilterSharedMediaContentDomainAlwaysAllowed">Shared Media from the domain [DOMAIN] will always be played.</string>
<string name="MediaFilterSharedMediaContentDomainAlwaysBlocked">Shared Media from the domain [DOMAIN] will never be played.</string>
<string name="MediaFilterSharedMediaContentUrlAlwaysAllowed">Shared Media from the URL [MEDIAURL] will always be played.</string>
<string name="MediaFilterSharedMediaContentUrlAlwaysBlocked">Shared Media from the URL [MEDIAURL] will never be played.</string>
</strings>