summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2018-10-19 16:58:52 +0100
committerGraham Linden <graham@lindenlab.com>2018-10-19 16:58:52 +0100
commit0532c644a3507166582a44dcde3a6a36bea5a5bf (patch)
tree8912164b34dc0b913bceb4f4d8a226182a6c2d0c /indra/newview
parent3447621a15c14a6a23a9827cfbb2e244ce91e8c0 (diff)
parent41a038bf027714ce0ea0fec204028dd7899bd92f (diff)
Merge
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llenvironment.cpp56
-rw-r--r--indra/newview/llenvironment.h3
-rw-r--r--indra/newview/llfloatereditextdaycycle.cpp3
-rw-r--r--indra/newview/llfloaterfixedenvironment.cpp6
-rw-r--r--indra/newview/lllegacyatmospherics.cpp2
-rw-r--r--indra/newview/llsettingsvo.cpp2762
-rw-r--r--indra/newview/skins/default/xui/de/floater_about_land.xml1
-rw-r--r--indra/newview/skins/default/xui/de/floater_edit_ext_day_cycle.xml84
-rw-r--r--indra/newview/skins/default/xui/de/floater_fixedenvironment.xml25
-rw-r--r--indra/newview/skins/default/xui/de/floater_inventory_view_finder.xml1
-rw-r--r--indra/newview/skins/default/xui/de/floater_my_environments.xml20
-rw-r--r--indra/newview/skins/default/xui/de/floater_settings_picker.xml19
-rw-r--r--indra/newview/skins/default/xui/de/menu_inventory.xml9
-rw-r--r--indra/newview/skins/default/xui/de/menu_inventory_add.xml7
-rw-r--r--indra/newview/skins/default/xui/de/menu_save_settings.xml9
-rw-r--r--indra/newview/skins/default/xui/de/menu_settings_add.xml6
-rw-r--r--indra/newview/skins/default/xui/de/menu_settings_gear.xml10
-rw-r--r--indra/newview/skins/default/xui/de/menu_viewer.xml22
-rw-r--r--indra/newview/skins/default/xui/de/notifications.xml42
-rw-r--r--indra/newview/skins/default/xui/de/panel_region_environment.xml104
-rw-r--r--indra/newview/skins/default/xui/de/panel_region_estate.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_settings_sky_atmos.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_settings_sky_clouds.xml13
-rw-r--r--indra/newview/skins/default/xui/de/panel_settings_sky_density.xml27
-rw-r--r--indra/newview/skins/default/xui/de/panel_settings_sky_sunmoon.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_settings_water.xml19
-rw-r--r--indra/newview/skins/default/xui/de/strings.xml27
-rw-r--r--indra/newview/skins/default/xui/es/floater_about_land.xml1
-rw-r--r--indra/newview/skins/default/xui/es/floater_edit_ext_day_cycle.xml84
-rw-r--r--indra/newview/skins/default/xui/es/floater_fixedenvironment.xml25
-rw-r--r--indra/newview/skins/default/xui/es/floater_inventory_view_finder.xml1
-rw-r--r--indra/newview/skins/default/xui/es/floater_my_environments.xml20
-rw-r--r--indra/newview/skins/default/xui/es/floater_settings_picker.xml19
-rw-r--r--indra/newview/skins/default/xui/es/menu_inventory.xml9
-rw-r--r--indra/newview/skins/default/xui/es/menu_inventory_add.xml7
-rw-r--r--indra/newview/skins/default/xui/es/menu_save_settings.xml9
-rw-r--r--indra/newview/skins/default/xui/es/menu_settings_add.xml6
-rw-r--r--indra/newview/skins/default/xui/es/menu_settings_gear.xml10
-rw-r--r--indra/newview/skins/default/xui/es/menu_viewer.xml22
-rw-r--r--indra/newview/skins/default/xui/es/notifications.xml42
-rw-r--r--indra/newview/skins/default/xui/es/panel_region_environment.xml104
-rw-r--r--indra/newview/skins/default/xui/es/panel_region_estate.xml6
-rw-r--r--indra/newview/skins/default/xui/es/panel_settings_sky_atmos.xml2
-rw-r--r--indra/newview/skins/default/xui/es/panel_settings_sky_clouds.xml13
-rw-r--r--indra/newview/skins/default/xui/es/panel_settings_sky_density.xml27
-rw-r--r--indra/newview/skins/default/xui/es/panel_settings_sky_sunmoon.xml2
-rw-r--r--indra/newview/skins/default/xui/es/panel_settings_water.xml19
-rw-r--r--indra/newview/skins/default/xui/es/strings.xml27
-rw-r--r--indra/newview/skins/default/xui/fr/floater_about_land.xml1
-rw-r--r--indra/newview/skins/default/xui/fr/floater_edit_ext_day_cycle.xml84
-rw-r--r--indra/newview/skins/default/xui/fr/floater_fixedenvironment.xml25
-rw-r--r--indra/newview/skins/default/xui/fr/floater_inventory_view_finder.xml1
-rw-r--r--indra/newview/skins/default/xui/fr/floater_my_environments.xml20
-rw-r--r--indra/newview/skins/default/xui/fr/floater_settings_picker.xml19
-rw-r--r--indra/newview/skins/default/xui/fr/menu_inventory.xml9
-rw-r--r--indra/newview/skins/default/xui/fr/menu_inventory_add.xml7
-rw-r--r--indra/newview/skins/default/xui/fr/menu_save_settings.xml9
-rw-r--r--indra/newview/skins/default/xui/fr/menu_settings_add.xml6
-rw-r--r--indra/newview/skins/default/xui/fr/menu_settings_gear.xml10
-rw-r--r--indra/newview/skins/default/xui/fr/menu_viewer.xml24
-rw-r--r--indra/newview/skins/default/xui/fr/notifications.xml42
-rw-r--r--indra/newview/skins/default/xui/fr/panel_region_environment.xml104
-rw-r--r--indra/newview/skins/default/xui/fr/panel_settings_sky_atmos.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_settings_sky_clouds.xml13
-rw-r--r--indra/newview/skins/default/xui/fr/panel_settings_sky_density.xml27
-rw-r--r--indra/newview/skins/default/xui/fr/panel_settings_sky_sunmoon.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_settings_water.xml19
-rw-r--r--indra/newview/skins/default/xui/fr/strings.xml26
-rw-r--r--indra/newview/skins/default/xui/it/floater_about_land.xml1
-rw-r--r--indra/newview/skins/default/xui/it/floater_edit_ext_day_cycle.xml84
-rw-r--r--indra/newview/skins/default/xui/it/floater_fixedenvironment.xml25
-rw-r--r--indra/newview/skins/default/xui/it/floater_inventory_view_finder.xml1
-rw-r--r--indra/newview/skins/default/xui/it/floater_my_environments.xml20
-rw-r--r--indra/newview/skins/default/xui/it/floater_settings_picker.xml19
-rw-r--r--indra/newview/skins/default/xui/it/menu_inventory.xml9
-rw-r--r--indra/newview/skins/default/xui/it/menu_inventory_add.xml7
-rw-r--r--indra/newview/skins/default/xui/it/menu_save_settings.xml9
-rw-r--r--indra/newview/skins/default/xui/it/menu_settings_add.xml6
-rw-r--r--indra/newview/skins/default/xui/it/menu_settings_gear.xml10
-rw-r--r--indra/newview/skins/default/xui/it/menu_viewer.xml22
-rw-r--r--indra/newview/skins/default/xui/it/notifications.xml42
-rw-r--r--indra/newview/skins/default/xui/it/panel_region_environment.xml104
-rw-r--r--indra/newview/skins/default/xui/it/panel_region_estate.xml6
-rw-r--r--indra/newview/skins/default/xui/it/panel_settings_sky_atmos.xml2
-rw-r--r--indra/newview/skins/default/xui/it/panel_settings_sky_clouds.xml13
-rw-r--r--indra/newview/skins/default/xui/it/panel_settings_sky_density.xml27
-rw-r--r--indra/newview/skins/default/xui/it/panel_settings_sky_sunmoon.xml2
-rw-r--r--indra/newview/skins/default/xui/it/panel_settings_water.xml19
-rw-r--r--indra/newview/skins/default/xui/it/strings.xml27
-rw-r--r--indra/newview/skins/default/xui/ja/floater_about_land.xml1
-rw-r--r--indra/newview/skins/default/xui/ja/floater_edit_ext_day_cycle.xml84
-rw-r--r--indra/newview/skins/default/xui/ja/floater_fixedenvironment.xml25
-rw-r--r--indra/newview/skins/default/xui/ja/floater_inventory_view_finder.xml1
-rw-r--r--indra/newview/skins/default/xui/ja/floater_my_environments.xml20
-rw-r--r--indra/newview/skins/default/xui/ja/floater_settings_picker.xml19
-rw-r--r--indra/newview/skins/default/xui/ja/menu_inventory.xml9
-rw-r--r--indra/newview/skins/default/xui/ja/menu_inventory_add.xml7
-rw-r--r--indra/newview/skins/default/xui/ja/menu_save_settings.xml9
-rw-r--r--indra/newview/skins/default/xui/ja/menu_settings_add.xml6
-rw-r--r--indra/newview/skins/default/xui/ja/menu_settings_gear.xml10
-rw-r--r--indra/newview/skins/default/xui/ja/menu_viewer.xml24
-rw-r--r--indra/newview/skins/default/xui/ja/notifications.xml42
-rw-r--r--indra/newview/skins/default/xui/ja/panel_region_environment.xml104
-rw-r--r--indra/newview/skins/default/xui/ja/panel_region_estate.xml12
-rw-r--r--indra/newview/skins/default/xui/ja/panel_settings_sky_atmos.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/panel_settings_sky_clouds.xml13
-rw-r--r--indra/newview/skins/default/xui/ja/panel_settings_sky_density.xml27
-rw-r--r--indra/newview/skins/default/xui/ja/panel_settings_sky_sunmoon.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/panel_settings_water.xml19
-rw-r--r--indra/newview/skins/default/xui/ja/strings.xml27
-rw-r--r--indra/newview/skins/default/xui/pt/floater_about_land.xml1
-rw-r--r--indra/newview/skins/default/xui/pt/floater_edit_ext_day_cycle.xml84
-rw-r--r--indra/newview/skins/default/xui/pt/floater_fixedenvironment.xml25
-rw-r--r--indra/newview/skins/default/xui/pt/floater_inventory_view_finder.xml1
-rw-r--r--indra/newview/skins/default/xui/pt/floater_my_environments.xml20
-rw-r--r--indra/newview/skins/default/xui/pt/floater_settings_picker.xml19
-rw-r--r--indra/newview/skins/default/xui/pt/menu_inventory.xml9
-rw-r--r--indra/newview/skins/default/xui/pt/menu_inventory_add.xml7
-rw-r--r--indra/newview/skins/default/xui/pt/menu_save_settings.xml9
-rw-r--r--indra/newview/skins/default/xui/pt/menu_settings_add.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/menu_settings_gear.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/menu_viewer.xml24
-rw-r--r--indra/newview/skins/default/xui/pt/notifications.xml42
-rw-r--r--indra/newview/skins/default/xui/pt/panel_region_environment.xml104
-rw-r--r--indra/newview/skins/default/xui/pt/panel_settings_sky_atmos.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/panel_settings_sky_clouds.xml13
-rw-r--r--indra/newview/skins/default/xui/pt/panel_settings_sky_density.xml27
-rw-r--r--indra/newview/skins/default/xui/pt/panel_settings_sky_sunmoon.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/panel_settings_water.xml19
-rw-r--r--indra/newview/skins/default/xui/pt/strings.xml24
-rw-r--r--indra/newview/skins/default/xui/ru/floater_about_land.xml1
-rw-r--r--indra/newview/skins/default/xui/ru/floater_edit_ext_day_cycle.xml84
-rw-r--r--indra/newview/skins/default/xui/ru/floater_fixedenvironment.xml25
-rw-r--r--indra/newview/skins/default/xui/ru/floater_inventory_view_finder.xml1
-rw-r--r--indra/newview/skins/default/xui/ru/floater_my_environments.xml20
-rw-r--r--indra/newview/skins/default/xui/ru/floater_settings_picker.xml19
-rw-r--r--indra/newview/skins/default/xui/ru/menu_inventory.xml9
-rw-r--r--indra/newview/skins/default/xui/ru/menu_inventory_add.xml7
-rw-r--r--indra/newview/skins/default/xui/ru/menu_save_settings.xml9
-rw-r--r--indra/newview/skins/default/xui/ru/menu_settings_add.xml6
-rw-r--r--indra/newview/skins/default/xui/ru/menu_settings_gear.xml10
-rw-r--r--indra/newview/skins/default/xui/ru/menu_viewer.xml22
-rw-r--r--indra/newview/skins/default/xui/ru/notifications.xml42
-rw-r--r--indra/newview/skins/default/xui/ru/panel_region_environment.xml104
-rw-r--r--indra/newview/skins/default/xui/ru/panel_region_estate.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/panel_settings_sky_atmos.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/panel_settings_sky_clouds.xml13
-rw-r--r--indra/newview/skins/default/xui/ru/panel_settings_sky_density.xml27
-rw-r--r--indra/newview/skins/default/xui/ru/panel_settings_sky_sunmoon.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/panel_settings_water.xml19
-rw-r--r--indra/newview/skins/default/xui/ru/strings.xml27
-rw-r--r--indra/newview/skins/default/xui/tr/floater_about_land.xml1
-rw-r--r--indra/newview/skins/default/xui/tr/floater_edit_ext_day_cycle.xml84
-rw-r--r--indra/newview/skins/default/xui/tr/floater_fixedenvironment.xml25
-rw-r--r--indra/newview/skins/default/xui/tr/floater_inventory_view_finder.xml1
-rw-r--r--indra/newview/skins/default/xui/tr/floater_my_environments.xml20
-rw-r--r--indra/newview/skins/default/xui/tr/floater_settings_picker.xml19
-rw-r--r--indra/newview/skins/default/xui/tr/menu_inventory.xml9
-rw-r--r--indra/newview/skins/default/xui/tr/menu_inventory_add.xml7
-rw-r--r--indra/newview/skins/default/xui/tr/menu_save_settings.xml9
-rw-r--r--indra/newview/skins/default/xui/tr/menu_settings_add.xml6
-rw-r--r--indra/newview/skins/default/xui/tr/menu_settings_gear.xml10
-rw-r--r--indra/newview/skins/default/xui/tr/menu_viewer.xml30
-rw-r--r--indra/newview/skins/default/xui/tr/notifications.xml42
-rw-r--r--indra/newview/skins/default/xui/tr/panel_region_environment.xml104
-rw-r--r--indra/newview/skins/default/xui/tr/panel_settings_sky_atmos.xml2
-rw-r--r--indra/newview/skins/default/xui/tr/panel_settings_sky_clouds.xml13
-rw-r--r--indra/newview/skins/default/xui/tr/panel_settings_sky_density.xml27
-rw-r--r--indra/newview/skins/default/xui/tr/panel_settings_sky_sunmoon.xml2
-rw-r--r--indra/newview/skins/default/xui/tr/panel_settings_water.xml19
-rw-r--r--indra/newview/skins/default/xui/tr/strings.xml27
-rw-r--r--indra/newview/skins/default/xui/zh/floater_about_land.xml1
-rw-r--r--indra/newview/skins/default/xui/zh/floater_edit_ext_day_cycle.xml84
-rw-r--r--indra/newview/skins/default/xui/zh/floater_fixedenvironment.xml25
-rw-r--r--indra/newview/skins/default/xui/zh/floater_inventory_view_finder.xml1
-rw-r--r--indra/newview/skins/default/xui/zh/floater_my_environments.xml20
-rw-r--r--indra/newview/skins/default/xui/zh/floater_settings_picker.xml19
-rw-r--r--indra/newview/skins/default/xui/zh/menu_inventory.xml9
-rw-r--r--indra/newview/skins/default/xui/zh/menu_inventory_add.xml7
-rw-r--r--indra/newview/skins/default/xui/zh/menu_save_settings.xml9
-rw-r--r--indra/newview/skins/default/xui/zh/menu_settings_add.xml6
-rw-r--r--indra/newview/skins/default/xui/zh/menu_settings_gear.xml10
-rw-r--r--indra/newview/skins/default/xui/zh/menu_viewer.xml22
-rw-r--r--indra/newview/skins/default/xui/zh/notifications.xml40
-rw-r--r--indra/newview/skins/default/xui/zh/panel_region_environment.xml104
-rw-r--r--indra/newview/skins/default/xui/zh/panel_region_estate.xml22
-rw-r--r--indra/newview/skins/default/xui/zh/panel_settings_sky_atmos.xml2
-rw-r--r--indra/newview/skins/default/xui/zh/panel_settings_sky_clouds.xml13
-rw-r--r--indra/newview/skins/default/xui/zh/panel_settings_sky_density.xml27
-rw-r--r--indra/newview/skins/default/xui/zh/panel_settings_sky_sunmoon.xml2
-rw-r--r--indra/newview/skins/default/xui/zh/panel_settings_water.xml19
-rw-r--r--indra/newview/skins/default/xui/zh/strings.xml27
192 files changed, 5013 insertions, 1918 deletions
diff --git a/indra/newview/llenvironment.cpp b/indra/newview/llenvironment.cpp
index 61b5e7f576..5e7e9937cd 100644
--- a/indra/newview/llenvironment.cpp
+++ b/indra/newview/llenvironment.cpp
@@ -261,10 +261,10 @@ const F32Seconds LLEnvironment::TRANSITION_DEFAULT(5.0f);
const F32Seconds LLEnvironment::TRANSITION_SLOW(10.0f);
const F32Seconds LLEnvironment::TRANSITION_ALTITUDE(5.0f);
-const LLUUID LLEnvironment::KNOWN_SKY_SUNRISE("4204c687-f9e4-4893-8c1b-46761c0d2021");
-const LLUUID LLEnvironment::KNOWN_SKY_MIDDAY("07589e0e-8e2e-4864-8e58-07b516efd9c3");
-const LLUUID LLEnvironment::KNOWN_SKY_SUNSET("8113ba47-3223-46ba-bae6-12c875091b32");
-const LLUUID LLEnvironment::KNOWN_SKY_MIDNIGHT("90187088-d7f3-4656-8c27-8ba0e19e21e9");
+const LLUUID LLEnvironment::KNOWN_SKY_SUNRISE("7e1489ce-fdc8-2971-c3a4-f1fe0cd70d20");
+const LLUUID LLEnvironment::KNOWN_SKY_MIDDAY("9db06848-8b1f-501d-eeae-ecf487f40dd6");
+const LLUUID LLEnvironment::KNOWN_SKY_SUNSET("95882e1b-7741-f082-d9d6-3a34ec644c66");
+const LLUUID LLEnvironment::KNOWN_SKY_MIDNIGHT("d8e50d02-a15b-17a7-3425-523bc20f67b8");
const S32 LLEnvironment::NO_TRACK(-1);
@@ -888,9 +888,6 @@ void LLEnvironment::updateGLVariablesForSettings(LLGLSLShader *shader, const LLS
bool found_in_settings = psetting->mSettings.has(it.first);
bool found_in_legacy_settings = !found_in_settings && psetting->mSettings.has(LLSettingsSky::SETTING_LEGACY_HAZE) && psetting->mSettings[LLSettingsSky::SETTING_LEGACY_HAZE].has(it.first);
- if (!found_in_settings && !found_in_legacy_settings)
- continue;
-
if (found_in_settings)
{
value = psetting->mSettings[it.first];
@@ -899,6 +896,51 @@ void LLEnvironment::updateGLVariablesForSettings(LLGLSLShader *shader, const LLS
{
value = psetting->mSettings[LLSettingsSky::SETTING_LEGACY_HAZE][it.first];
}
+ else if (psetting->getSettingsType() == "sky")
+ {
+ // Legacy atmospherics is a special case,
+ // these values either have non zero defaults when they are not present
+ // in LLSD or need to be acounted for (reset) even if they are not present
+ // Todo: consider better options, for example make LLSettingsSky init these options
+ // Todo: we should reset shaders for all missing fields, not just these ones
+ LLSettingsSky::ptr_t skyp = std::static_pointer_cast<LLSettingsSky>(psetting);
+ if (it.first == LLSettingsSky::SETTING_BLUE_DENSITY)
+ {
+ value = skyp->getBlueDensity().getValue();
+ }
+ else if (it.first == LLSettingsSky::SETTING_BLUE_HORIZON)
+ {
+ value = skyp->getBlueHorizon().getValue();
+ }
+ else if (it.first == LLSettingsSky::SETTING_DENSITY_MULTIPLIER)
+ {
+ value = skyp->getDensityMultiplier();
+ }
+ else if (it.first == LLSettingsSky::SETTING_DISTANCE_MULTIPLIER)
+ {
+ value = skyp->getDistanceMultiplier();
+ }
+ else if (it.first == LLSettingsSky::SETTING_HAZE_DENSITY)
+ {
+ value = skyp->getHazeDensity();
+ }
+ else if (it.first == LLSettingsSky::SETTING_HAZE_HORIZON)
+ {
+ value = skyp->getHazeHorizon();
+ }
+ else if (it.first == LLSettingsSky::SETTING_AMBIENT)
+ {
+ value = skyp->getAmbientColor().getValue();
+ }
+ else
+ {
+ continue;
+ }
+ }
+ else
+ {
+ continue;
+ }
LLSD::Type setting_type = value.type();
stop_glerror();
diff --git a/indra/newview/llenvironment.h b/indra/newview/llenvironment.h
index 65c4748d02..31c9d290be 100644
--- a/indra/newview/llenvironment.h
+++ b/indra/newview/llenvironment.h
@@ -58,9 +58,6 @@ public:
static const F32Seconds TRANSITION_SLOW;
static const F32Seconds TRANSITION_ALTITUDE;
- static const LLUUID KNOWN_SKY_DEFAULT;
- static const LLUUID KNOWN_WATER_DEFAULT;
- static const LLUUID KNOWN_DAY_DEFAULT;
static const LLUUID KNOWN_SKY_SUNRISE;
static const LLUUID KNOWN_SKY_MIDDAY;
static const LLUUID KNOWN_SKY_SUNSET;
diff --git a/indra/newview/llfloatereditextdaycycle.cpp b/indra/newview/llfloatereditextdaycycle.cpp
index 9c3d35ba10..3d3ab9e80b 100644
--- a/indra/newview/llfloatereditextdaycycle.cpp
+++ b/indra/newview/llfloatereditextdaycycle.cpp
@@ -629,7 +629,7 @@ void LLFloaterEditExtDayCycle::onSaveAsCommit(const LLSD& notification, const LL
void LLFloaterEditExtDayCycle::onClickCloseBtn(bool app_quitting /*= false*/)
{
if (!app_quitting)
- checkAndConfirmSettingsLoss([this](){ closeFloater(); });
+ checkAndConfirmSettingsLoss([this](){ closeFloater(); clearDirtyFlag(); });
else
closeFloater();
}
@@ -1177,6 +1177,7 @@ void LLFloaterEditExtDayCycle::onAssetLoaded(LLUUID asset_id, LLSettingsBase::pt
return;
}
mExpectingAssetId.setNull();
+ clearDirtyFlag();
if (!settings || status)
{
diff --git a/indra/newview/llfloaterfixedenvironment.cpp b/indra/newview/llfloaterfixedenvironment.cpp
index 201c6679b3..ad4dcd567a 100644
--- a/indra/newview/llfloaterfixedenvironment.cpp
+++ b/indra/newview/llfloaterfixedenvironment.cpp
@@ -309,6 +309,8 @@ void LLFloaterFixedEnvironment::onAssetLoaded(LLUUID asset_id, LLSettingsBase::p
return;
}
+ clearDirtyFlag();
+
if (!settings || status)
{
LLSD args;
@@ -434,7 +436,7 @@ void LLFloaterFixedEnvironment::onSaveAsCommit(const LLSD& notification, const L
void LLFloaterFixedEnvironment::onClickCloseBtn(bool app_quitting)
{
if (!app_quitting)
- checkAndConfirmSettingsLoss([this](){ closeFloater(); });
+ checkAndConfirmSettingsLoss([this](){ closeFloater(); clearDirtyFlag(); });
else
closeFloater();
}
@@ -767,7 +769,7 @@ void LLFloaterFixedEnvironmentSky::loadSkySettingFromFile(const std::vector<std:
loadInventoryItem(LLUUID::null);
- clearDirtyFlag();
+ setDirtyFlag();
LLEnvironment::instance().setEnvironment(LLEnvironment::ENV_EDIT, legacysky);
setEditSettings(legacysky);
LLEnvironment::instance().updateEnvironment(LLEnvironment::TRANSITION_FAST, true);
diff --git a/indra/newview/lllegacyatmospherics.cpp b/indra/newview/lllegacyatmospherics.cpp
index 371bd1b7c2..b631e5498d 100644
--- a/indra/newview/lllegacyatmospherics.cpp
+++ b/indra/newview/lllegacyatmospherics.cpp
@@ -368,7 +368,7 @@ void LLAtmospherics::calcSkyColorWLVert(LLVector3 & Pn, AtmosphericsVars& vars)
componentMultBy(vars.hazeColor, LLColor3::white - temp1);
sunlight = vars.sunlight;
- temp2.mV[1] = llmax(0.f, sun_norm[1] * 2.f);
+ temp2.mV[1] = llmax(F_APPROXIMATELY_ZERO, sun_norm[1] * 2.f);
temp2.mV[1] = 1.f / temp2.mV[1];
componentMultBy(sunlight, componentExp((light_atten * -1.f) * temp2.mV[1]));
diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp
index f13265ae84..dad7fc9448 100644
--- a/indra/newview/llsettingsvo.cpp
+++ b/indra/newview/llsettingsvo.cpp
@@ -1,1381 +1,1381 @@
-/**
-* @file llsettingsvo.cpp
-* @author Rider Linden
-* @brief Subclasses for viewer specific settings behaviors.
-*
-* $LicenseInfo:2011&license=viewerlgpl$
-* Second Life Viewer Source Code
-* Copyright (C) 2017, Linden Research, Inc.
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation;
-* version 2.1 of the License only.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this library; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-*
-* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
-* $/LicenseInfo$
-*/
-
-#include "llviewerprecompiledheaders.h"
-#include "llviewercontrol.h"
-#include "llsettingsvo.h"
-
-#include "pipeline.h"
-
-#include <algorithm>
-#include <cstdio>
-#include <boost/make_shared.hpp>
-#include "lltrace.h"
-#include "llfasttimer.h"
-#include "v3colorutil.h"
-
-#include "llglslshader.h"
-#include "llviewershadermgr.h"
-
-#include "llagent.h"
-#include "llassettype.h"
-#include "llfloaterperms.h"
-#include "llnotificationsutil.h"
-
-#include "llviewerregion.h"
-#include "llviewerassetupload.h"
-#include "llviewerinventory.h"
-
-#include "llenvironment.h"
-#include "llsky.h"
-
-#include "llpermissions.h"
-
-#include "llinventorymodel.h"
-#include "llassetstorage.h"
-#include "llvfile.h"
-#include "lldrawpoolwater.h"
-
-#include <boost/algorithm/string/replace.hpp>
-#include "llinventoryobserver.h"
-#include "llinventorydefines.h"
-
-#undef VERIFY_LEGACY_CONVERSION
-
-//=========================================================================
-namespace
-{
- LLSD ensure_array_4(LLSD in, F32 fill);
- LLSD read_legacy_preset_data(const std::string &name, const std::string& path);
-
- //-------------------------------------------------------------------------
- class LLSettingsInventoryCB : public LLInventoryCallback
- {
- public:
- typedef std::function<void(const LLUUID &)> callback_t;
-
- LLSettingsInventoryCB(callback_t cbfn) :
- mCbfn(cbfn)
- { }
-
- void fire(const LLUUID& inv_item) override { if (mCbfn) mCbfn(inv_item); }
-
- private:
- callback_t mCbfn;
- };
-
- //-------------------------------------------------------------------------
-}
-
-
-//=========================================================================
-void LLSettingsVOBase::createNewInventoryItem(LLSettingsType::type_e stype, const LLUUID &parent_id, inventory_result_fn callback)
-{
- LLTransactionID tid;
- U32 nextOwnerPerm = LLFloaterPerms::getNextOwnerPerms("Settings");
- nextOwnerPerm |= PERM_COPY;
-
- if (!LLEnvironment::instance().isInventoryEnabled())
- {
- LL_WARNS("SETTINGS") << "Region does not support settings inventory objects." << LL_ENDL;
- LLNotificationsUtil::add("SettingsUnsuported");
- return;
- }
-
- tid.generate();
-
- LLPointer<LLInventoryCallback> cb = new LLSettingsInventoryCB([callback](const LLUUID &inventoryId) {
- LLSettingsVOBase::onInventoryItemCreated(inventoryId, LLSettingsBase::ptr_t(), callback);
- });
-
- create_inventory_settings(gAgent.getID(), gAgent.getSessionID(),
- parent_id, LLTransactionID::tnull,
- LLSettingsType::getDefaultName(stype), "",
- stype, nextOwnerPerm, cb);
-}
-
-
-void LLSettingsVOBase::createInventoryItem(const LLSettingsBase::ptr_t &settings, const LLUUID &parent_id, std::string settings_name, inventory_result_fn callback)
-{
- LLTransactionID tid;
- U32 nextOwnerPerm = LLPermissions::DEFAULT.getMaskNextOwner();
-
- if (!LLEnvironment::instance().isInventoryEnabled())
- {
- LL_WARNS("SETTINGS") << "Region does not support settings inventory objects." << LL_ENDL;
- LLNotificationsUtil::add("SettingsUnsuported");
- return;
- }
-
- tid.generate();
-
- LLPointer<LLInventoryCallback> cb = new LLSettingsInventoryCB([settings, callback](const LLUUID &inventoryId) {
- LLSettingsVOBase::onInventoryItemCreated(inventoryId, settings, callback);
- });
-
- if (settings_name.empty())
- {
- settings_name = settings->getName();
- }
- create_inventory_settings(gAgent.getID(), gAgent.getSessionID(),
- parent_id, tid,
- settings_name, "",
- settings->getSettingsTypeValue(), nextOwnerPerm, cb);
-}
-
-void LLSettingsVOBase::onInventoryItemCreated(const LLUUID &inventoryId, LLSettingsBase::ptr_t settings, inventory_result_fn callback)
-{
- if (!settings)
- { // The item was created as new with no settings passed in. Simulator should have given it the default for the type... check ID,
- // no need to upload asset.
- LLUUID asset_id;
- LLViewerInventoryItem *pitem = gInventory.getItem(inventoryId);
-
- if (pitem)
- {
- asset_id = pitem->getAssetUUID();
- }
- if (callback)
- callback(asset_id, inventoryId, LLUUID::null, LLSD());
- return;
- }
- // We need to update some inventory stuff here.... maybe.
- updateInventoryItem(settings, inventoryId, callback, false);
-}
-
-void LLSettingsVOBase::updateInventoryItem(const LLSettingsBase::ptr_t &settings, LLUUID inv_item_id, inventory_result_fn callback, bool update_name)
-{
- const LLViewerRegion* region = gAgent.getRegion();
- if (!region)
- {
- LL_WARNS("SETTINGS") << "Not connected to a region, cannot save setting." << LL_ENDL;
- return;
- }
-
- std::string agent_url(region->getCapability("UpdateSettingsAgentInventory"));
-
- if (!LLEnvironment::instance().isInventoryEnabled())
- {
- LL_WARNS("SETTINGS") << "Region does not support settings inventory objects." << LL_ENDL;
- LLNotificationsUtil::add("SettingsUnsuported");
- return;
- }
-
- LLViewerInventoryItem *inv_item = gInventory.getItem(inv_item_id);
- if (inv_item)
- {
- bool need_update(false);
- LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(inv_item);
-
- if (settings->getFlag(LLSettingsBase::FLAG_NOTRANS) && new_item->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID()))
- {
- LLPermissions perm(inv_item->getPermissions());
- perm.setBaseBits(LLUUID::null, FALSE, PERM_TRANSFER);
- perm.setOwnerBits(LLUUID::null, FALSE, PERM_TRANSFER);
- new_item->setPermissions(perm);
- need_update |= true;
- }
- if (update_name && (settings->getName() != new_item->getName()))
- {
- new_item->rename(settings->getName());
- settings->setName(new_item->getName()); // account for corrections
- need_update |= true;
- }
- if (need_update)
- {
- new_item->updateServer(FALSE);
- gInventory.updateItem(new_item);
- gInventory.notifyObservers();
- }
- }
-
- std::stringstream buffer;
- LLSD settingdata(settings->getSettings());
- LLSDSerialize::serialize(settingdata, buffer, LLSDSerialize::LLSD_NOTATION);
-
- LLResourceUploadInfo::ptr_t uploadInfo = std::make_shared<LLBufferedAssetUploadInfo>(inv_item_id, LLAssetType::AT_SETTINGS, buffer.str(),
- [settings, callback](LLUUID itemId, LLUUID newAssetId, LLUUID newItemId, LLSD response) {
- LLSettingsVOBase::onAgentAssetUploadComplete(itemId, newAssetId, newItemId, response, settings, callback);
- });
-
- LLViewerAssetUpload::EnqueueInventoryUpload(agent_url, uploadInfo);
-}
-
-void LLSettingsVOBase::updateInventoryItem(const LLSettingsBase::ptr_t &settings, LLUUID object_id, LLUUID inv_item_id, inventory_result_fn callback)
-{
- const LLViewerRegion* region = gAgent.getRegion();
- if (!region)
- {
- LL_WARNS("SETTINGS") << "Not connected to a region, cannot save setting." << LL_ENDL;
- return;
- }
-
- std::string agent_url(region->getCapability("UpdateSettingsAgentInventory"));
-
- if (!LLEnvironment::instance().isInventoryEnabled())
- {
- LL_WARNS("SETTINGS") << "Region does not support settings inventory objects." << LL_ENDL;
- LLNotificationsUtil::add("SettingsUnsuported");
- return;
- }
-
- std::stringstream buffer;
- LLSD settingdata(settings->getSettings());
-
- LLSDSerialize::serialize(settingdata, buffer, LLSDSerialize::LLSD_NOTATION);
-
- LLResourceUploadInfo::ptr_t uploadInfo = std::make_shared<LLBufferedAssetUploadInfo>(object_id, inv_item_id, LLAssetType::AT_SETTINGS, buffer.str(),
- [settings, callback](LLUUID itemId, LLUUID taskId, LLUUID newAssetId, LLSD response) {
- LLSettingsVOBase::onTaskAssetUploadComplete(itemId, taskId, newAssetId, response, settings, callback);
- });
-
- LLViewerAssetUpload::EnqueueInventoryUpload(agent_url, uploadInfo);
-}
-
-void LLSettingsVOBase::onAgentAssetUploadComplete(LLUUID itemId, LLUUID newAssetId, LLUUID newItemId, LLSD response, LLSettingsBase::ptr_t psettings, inventory_result_fn callback)
-{
- LL_INFOS("SETTINGS") << "itemId:" << itemId << " newAssetId:" << newAssetId << " newItemId:" << newItemId << " response:" << response << LL_ENDL;
- psettings->setAssetId(newAssetId);
- if (callback)
- callback( newAssetId, itemId, LLUUID::null, response );
-
-#if 0
- std::string exprtFile = gDirUtilp->getTempDir() + gDirUtilp->getDirDelimiter() + newAssetId.asString() + ".llsd";
-
- LLSettingsVOBase::exportFile(psettings, exprtFile, LLSDSerialize::LLSD_NOTATION);
-
- LL_WARNS("LAPRAS") << "SETTINGS File written as: '" << exprtFile << "'" << LL_ENDL;
-#endif
-}
-
-void LLSettingsVOBase::onTaskAssetUploadComplete(LLUUID itemId, LLUUID taskId, LLUUID newAssetId, LLSD response, LLSettingsBase::ptr_t psettings, inventory_result_fn callback)
-{
- LL_INFOS("SETTINGS") << "Upload to task complete!" << LL_ENDL;
- psettings->setAssetId(newAssetId);
- if (callback)
- callback(newAssetId, itemId, taskId, response);
-}
-
-
-void LLSettingsVOBase::getSettingsAsset(const LLUUID &assetId, LLSettingsVOBase::asset_download_fn callback)
-{
- gAssetStorage->getAssetData(assetId, LLAssetType::AT_SETTINGS,
- [callback](LLVFS *vfs, const LLUUID &asset_id, LLAssetType::EType, void *, S32 status, LLExtStat ext_status)
- { onAssetDownloadComplete(vfs, asset_id, status, ext_status, callback); },
- nullptr, true);
-
-}
-
-void LLSettingsVOBase::onAssetDownloadComplete(LLVFS *vfs, const LLUUID &asset_id, S32 status, LLExtStat ext_status, LLSettingsVOBase::asset_download_fn callback)
-{
- LLSettingsBase::ptr_t settings;
- if (!status)
- {
- LLVFile file(vfs, asset_id, LLAssetType::AT_SETTINGS, LLVFile::READ);
- S32 size = file.getSize();
-
- std::string buffer(size + 1, '\0');
- file.read((U8 *)buffer.data(), size);
-
- std::stringstream llsdstream(buffer);
- LLSD llsdsettings;
-
- if (LLSDSerialize::deserialize(llsdsettings, llsdstream, -1))
- {
- settings = createFromLLSD(llsdsettings);
- }
-
- if (!settings)
- {
- status = 1;
- LL_WARNS("SETTINGS") << "Unable to create settings object." << LL_ENDL;
- }
- else
- {
- LL_WARNS("LAPRAS") << "Setting asset ID to " << asset_id << LL_ENDL;
- settings->setAssetId(asset_id);
- }
- }
- else
- {
- LL_WARNS("SETTINGS") << "Error retrieving asset " << asset_id << ". Status code=" << status << "(" << LLAssetStorage::getErrorString(status) << ") ext_status=" << ext_status << LL_ENDL;
- }
- if (callback)
- callback(asset_id, settings, status, ext_status);
-}
-
-void LLSettingsVOBase::getSettingsInventory(const LLUUID &inventoryId, inventory_download_fn callback)
-{
-
-}
-
-bool LLSettingsVOBase::exportFile(const LLSettingsBase::ptr_t &settings, const std::string &filename, LLSDSerialize::ELLSD_Serialize format)
-{
- try
- {
- std::ofstream file(filename, std::ios::out | std::ios::trunc);
- file.exceptions(std::ios_base::failbit | std::ios_base::badbit);
-
- if (!file)
- {
- LL_WARNS("SETTINGS") << "Unable to open '" << filename << "' for writing." << LL_ENDL;
- return false;
- }
-
- LLSDSerialize::serialize(settings->getSettings(), file, format);
- }
- catch (const std::ios_base::failure &e)
- {
- LL_WARNS("SETTINGS") << "Unable to save settings to file '" << filename << "': " << e.what() << LL_ENDL;
- return false;
- }
-
- return true;
-}
-
-LLSettingsBase::ptr_t LLSettingsVOBase::importFile(const std::string &filename)
-{
- LLSD settings;
-
- try
- {
- std::ifstream file(filename, std::ios::in);
- file.exceptions(std::ios_base::failbit | std::ios_base::badbit);
-
- if (!file)
- {
- LL_WARNS("SETTINGS") << "Unable to open '" << filename << "' for reading." << LL_ENDL;
- return LLSettingsBase::ptr_t();
- }
-
- if (!LLSDSerialize::deserialize(settings, file, -1))
- {
- LL_WARNS("SETTINGS") << "Unable to deserialize settings from '" << filename << "'" << LL_ENDL;
- return LLSettingsBase::ptr_t();
- }
- }
- catch (const std::ios_base::failure &e)
- {
- LL_WARNS("SETTINGS") << "Unable to save settings to file '" << filename << "': " << e.what() << LL_ENDL;
- return LLSettingsBase::ptr_t();
- }
-
- return createFromLLSD(settings);
-}
-
-LLSettingsBase::ptr_t LLSettingsVOBase::createFromLLSD(const LLSD &settings)
-{
- if (!settings.has(SETTING_TYPE))
- {
- LL_WARNS("SETTINGS") << "No settings type in LLSD" << LL_ENDL;
- return LLSettingsBase::ptr_t();
- }
-
- std::string settingtype = settings[SETTING_TYPE].asString();
-
- LLSettingsBase::ptr_t psetting;
-
- if (settingtype == "water")
- {
- return LLSettingsVOWater::buildWater(settings);
- }
- else if (settingtype == "sky")
- {
- return LLSettingsVOSky::buildSky(settings);
- }
- else if (settingtype == "daycycle")
- {
- return LLSettingsVODay::buildDay(settings);
- }
-
- LL_WARNS("SETTINGS") << "Unable to determine settings type for '" << settingtype << "'." << LL_ENDL;
- return LLSettingsBase::ptr_t();
-
-}
-
-//=========================================================================
-LLSettingsVOSky::LLSettingsVOSky(const LLSD &data, bool isAdvanced)
-: LLSettingsSky(data)
-, m_isAdvanced(isAdvanced)
-{
-}
-
-LLSettingsVOSky::LLSettingsVOSky()
-: LLSettingsSky()
-, m_isAdvanced(false)
-{
-}
-
-//-------------------------------------------------------------------------
-LLSettingsSky::ptr_t LLSettingsVOSky::buildSky(LLSD settings)
-{
- LLSettingsSky::validation_list_t validations = LLSettingsSky::validationList();
-
- LLSD results = LLSettingsBase::settingValidation(settings, validations);
-
- if (!results["success"].asBoolean())
- {
- LL_WARNS("SETTINGS") << "Sky setting validation failed!\n" << results << LL_ENDL;
- LLSettingsSky::ptr_t();
- }
-
- return std::make_shared<LLSettingsVOSky>(settings, true);
-}
-
-
-LLSettingsSky::ptr_t LLSettingsVOSky::buildFromLegacyPreset(const std::string &name, const LLSD &legacy)
-{
-
- LLSD newsettings = LLSettingsSky::translateLegacySettings(legacy);
-
- newsettings[SETTING_NAME] = name;
-
- LLSettingsSky::validation_list_t validations = LLSettingsSky::validationList();
- LLSD results = LLSettingsBase::settingValidation(newsettings, validations);
- if (!results["success"].asBoolean())
- {
- LL_WARNS("SETTINGS") << "Sky setting validation failed!\n" << results << LL_ENDL;
- LLSettingsSky::ptr_t();
- }
-
- LLSettingsSky::ptr_t skyp = std::make_shared<LLSettingsVOSky>(newsettings);
-
-#ifdef VERIFY_LEGACY_CONVERSION
- LLSD oldsettings = LLSettingsVOSky::convertToLegacy(skyp, isAdvanced());
-
- if (!llsd_equals(legacy, oldsettings))
- {
- LL_WARNS("SKY") << "Conversion to/from legacy does not match!\n"
- << "Old: " << legacy
- << "new: " << oldsettings << LL_ENDL;
- }
-
-#endif
-
- return skyp;
-}
-
-LLSettingsSky::ptr_t LLSettingsVOSky::buildFromLegacyPresetFile(const std::string &name, const std::string &path)
-{
- LLSD legacy_data = read_legacy_preset_data(name, path);
-
- if (!legacy_data)
- {
- LL_WARNS("SETTINGS") << "Could not load legacy Windlight \"" << name << "\" from " << path << LL_ENDL;
- return ptr_t();
- }
-
- return buildFromLegacyPreset(name, legacy_data);
-}
-
-
-LLSettingsSky::ptr_t LLSettingsVOSky::buildDefaultSky()
-{
- static LLSD default_settings;
-
- if (!default_settings.size())
- {
- default_settings = LLSettingsSky::defaults();
-
- default_settings[SETTING_NAME] = std::string("_default_");
-
- LLSettingsSky::validation_list_t validations = LLSettingsSky::validationList();
- LLSD results = LLSettingsBase::settingValidation(default_settings, validations);
- if (!results["success"].asBoolean())
- {
- LL_WARNS("SETTINGS") << "Sky setting validation failed!\n" << results << LL_ENDL;
- LLSettingsSky::ptr_t();
- }
- }
-
- LLSettingsSky::ptr_t skyp = std::make_shared<LLSettingsVOSky>(default_settings);
- return skyp;
-}
-
-LLSettingsSky::ptr_t LLSettingsVOSky::buildClone() const
-{
- LLSD settings = cloneSettings();
-
- LLSettingsSky::validation_list_t validations = LLSettingsSky::validationList();
- LLSD results = LLSettingsBase::settingValidation(settings, validations);
- if (!results["success"].asBoolean())
- {
- LL_WARNS("SETTINGS") << "Sky setting validation failed!\n" << results << LL_ENDL;
- LLSettingsSky::ptr_t();
- }
-
- LLSettingsSky::ptr_t skyp = std::make_shared<LLSettingsVOSky>(settings);
- return skyp;
-}
-
-void LLSettingsVOSky::convertAtmosphericsToLegacy(LLSD& legacy, LLSD& settings)
-{
- // These may need to be inferred from new settings' density profiles
- // if the legacy settings values are not available.
- if (settings.has(SETTING_LEGACY_HAZE))
- {
- LLSD legacyhaze = settings[SETTING_LEGACY_HAZE];
-
- // work-around for setter formerly putting ambient values in wrong loc...
- if (legacyhaze.has(SETTING_AMBIENT))
- {
- legacy[SETTING_AMBIENT] = ensure_array_4(legacyhaze[SETTING_AMBIENT], 1.0f);
- }
- else if (settings.has(SETTING_AMBIENT))
- {
- legacy[SETTING_AMBIENT] = ensure_array_4(settings[SETTING_AMBIENT], 1.0f);
- }
-
- legacy[SETTING_BLUE_DENSITY] = ensure_array_4(legacyhaze[SETTING_BLUE_DENSITY], 1.0);
- legacy[SETTING_BLUE_HORIZON] = ensure_array_4(legacyhaze[SETTING_BLUE_HORIZON], 1.0);
-
- F32 density_multiplier = legacyhaze[SETTING_DENSITY_MULTIPLIER].asReal();
- density_multiplier = (density_multiplier < 0.0001f) ? 0.0001f : density_multiplier;
- legacy[SETTING_DENSITY_MULTIPLIER] = LLSDArray(density_multiplier)(0.0f)(0.0f)(1.0f);
-
- F32 distance_multiplier = legacyhaze[SETTING_DISTANCE_MULTIPLIER].asReal();
- legacy[SETTING_DISTANCE_MULTIPLIER] = LLSDArray(distance_multiplier)(0.0f)(0.0f)(1.0f);
-
- legacy[SETTING_HAZE_DENSITY] = LLSDArray(legacyhaze[SETTING_HAZE_DENSITY])(0.0f)(0.0f)(1.0f);
- legacy[SETTING_HAZE_HORIZON] = LLSDArray(legacyhaze[SETTING_HAZE_HORIZON])(0.0f)(0.0f)(1.0f);
- }
-}
-
-LLSD LLSettingsVOSky::convertToLegacy(const LLSettingsSky::ptr_t &psky, bool isAdvanced)
-{
- LLSD legacy(LLSD::emptyMap());
- LLSD settings = psky->getSettings();
-
- convertAtmosphericsToLegacy(legacy, settings);
-
- legacy[SETTING_CLOUD_COLOR] = ensure_array_4(settings[SETTING_CLOUD_COLOR], 1.0);
- legacy[SETTING_CLOUD_POS_DENSITY1] = ensure_array_4(settings[SETTING_CLOUD_POS_DENSITY1], 1.0);
- legacy[SETTING_CLOUD_POS_DENSITY2] = ensure_array_4(settings[SETTING_CLOUD_POS_DENSITY2], 1.0);
- legacy[SETTING_CLOUD_SCALE] = LLSDArray(settings[SETTING_CLOUD_SCALE])(LLSD::Real(0.0))(LLSD::Real(0.0))(LLSD::Real(1.0));
- legacy[SETTING_CLOUD_SCROLL_RATE] = settings[SETTING_CLOUD_SCROLL_RATE];
- legacy[SETTING_LEGACY_ENABLE_CLOUD_SCROLL] = LLSDArray(LLSD::Boolean(!is_approx_zero(settings[SETTING_CLOUD_SCROLL_RATE][0].asReal())))
- (LLSD::Boolean(!is_approx_zero(settings[SETTING_CLOUD_SCROLL_RATE][1].asReal())));
- legacy[SETTING_CLOUD_SHADOW] = LLSDArray(settings[SETTING_CLOUD_SHADOW].asReal())(0.0f)(0.0f)(1.0f);
- legacy[SETTING_GAMMA] = LLSDArray(settings[SETTING_GAMMA])(0.0f)(0.0f)(1.0f);
- legacy[SETTING_GLOW] = ensure_array_4(settings[SETTING_GLOW], 1.0);
- legacy[SETTING_LIGHT_NORMAL] = ensure_array_4(psky->getLightDirection().getValue(), 0.0f);
- legacy[SETTING_MAX_Y] = LLSDArray(settings[SETTING_MAX_Y])(0.0f)(0.0f)(1.0f);
- legacy[SETTING_STAR_BRIGHTNESS] = settings[SETTING_STAR_BRIGHTNESS];
- legacy[SETTING_SUNLIGHT_COLOR] = ensure_array_4(settings[SETTING_SUNLIGHT_COLOR], 1.0f);
-
- LLVector3 dir = psky->getLightDirection();
-
- F32 phi = asin(dir.mV[2]);
- F32 cos_phi = cosf(phi);
- F32 theta = (cos_phi != 0) ? asin(dir.mV[1] / cos_phi) : 0.0f;
-
- theta = -theta;
-
- // get angles back into valid ranges for legacy viewer...
- //
- while (theta < 0)
- {
- theta += F_PI * 2;
- }
-
- if (theta > 4 * F_PI)
- {
- theta = fmod(theta, 2 * F_PI);
- }
-
- while (phi < -F_PI)
- {
- phi += 2 * F_PI;
- }
-
- if (phi > 3 * F_PI)
- {
- phi = F_PI + fmod(phi - F_PI, 2 * F_PI);
- }
-
- legacy[SETTING_LEGACY_EAST_ANGLE] = theta;
- legacy[SETTING_LEGACY_SUN_ANGLE] = phi;
-
- return legacy;
-}
-
-//-------------------------------------------------------------------------
-void LLSettingsVOSky::updateSettings()
-{
- LLSettingsSky::updateSettings();
- LLVector3 sun_direction = getSunDirection();
- LLVector3 moon_direction = getMoonDirection();
-
- F32 dp = getLightDirection() * LLVector3(0.0f, 0.0f, 1.0f);
- if (dp < 0)
- {
- dp = 0;
- }
- dp = llmax(dp, 0.1f);
-
- // Since WL scales everything by 2, there should always be at least a 2:1 brightness ratio
- // between sunlight and point lights in windlight to normalize point lights.
- F32 sun_dynamic_range = llmax(gSavedSettings.getF32("RenderSunDynamicRange"), 0.0001f);
- mSceneLightStrength = 2.0f * (1.0f + sun_dynamic_range * dp);
-
- gSky.setSunAndMoonDirectionsCFR(sun_direction, moon_direction);
- gSky.setSunTextures(getSunTextureId(), getNextSunTextureId());
- gSky.setMoonTextures(getMoonTextureId(), getNextMoonTextureId());
- gSky.setCloudNoiseTextures(getCloudNoiseTextureId(), getNextCloudNoiseTextureId());
- gSky.setBloomTextures(getBloomTextureId(), getNextBloomTextureId());
-
- gSky.setSunScale(getSunScale());
- gSky.setMoonScale(getMoonScale());
-}
-
-void LLSettingsVOSky::applySpecial(void *ptarget)
-{
- LLGLSLShader *shader = (LLGLSLShader *)ptarget;
-
- LLVector4 light_direction = LLEnvironment::instance().getClampedSunNorm();
-
- if (shader->mShaderGroup == LLGLSLShader::SG_DEFAULT)
- {
- shader->uniform4fv(LLViewerShaderMgr::LIGHTNORM, 1, light_direction.mV);
- shader->uniform3fv(LLShaderMgr::WL_CAMPOSLOCAL, 1, LLViewerCamera::getInstance()->getOrigin().mV);
- }
- else if (shader->mShaderGroup == LLGLSLShader::SG_SKY)
- {
- shader->uniform4fv(LLViewerShaderMgr::LIGHTNORM, 1, light_direction.mV);
-
- LLVector4 vect_c_p_d1(mSettings[SETTING_CLOUD_POS_DENSITY1]);
- vect_c_p_d1 += LLVector4(LLEnvironment::instance().getCloudScrollDelta());
- shader->uniform4fv(LLShaderMgr::CLOUD_POS_DENSITY1, 1, vect_c_p_d1.mV);
- }
-
- shader->uniform1f(LLShaderMgr::SCENE_LIGHT_STRENGTH, mSceneLightStrength);
- shader->uniform4f(LLShaderMgr::GAMMA, getGamma(), 0.0, 0.0, 1.0);
-}
-
-LLSettingsSky::parammapping_t LLSettingsVOSky::getParameterMap() const
-{
- static parammapping_t param_map;
-
- if (param_map.empty())
- {
-// LEGACY_ATMOSPHERICS
- param_map[SETTING_AMBIENT] = LLShaderMgr::AMBIENT;
- param_map[SETTING_BLUE_DENSITY] = LLShaderMgr::BLUE_DENSITY;
- param_map[SETTING_BLUE_HORIZON] = LLShaderMgr::BLUE_HORIZON;
- param_map[SETTING_HAZE_DENSITY] = LLShaderMgr::HAZE_DENSITY;
- param_map[SETTING_HAZE_HORIZON] = LLShaderMgr::HAZE_HORIZON;
- param_map[SETTING_DENSITY_MULTIPLIER] = LLShaderMgr::DENSITY_MULTIPLIER;
- param_map[SETTING_DISTANCE_MULTIPLIER] = LLShaderMgr::DISTANCE_MULTIPLIER;
-
- param_map[SETTING_CLOUD_COLOR] = LLShaderMgr::CLOUD_COLOR;
- param_map[SETTING_CLOUD_POS_DENSITY2] = LLShaderMgr::CLOUD_POS_DENSITY2;
- param_map[SETTING_CLOUD_SCALE] = LLShaderMgr::CLOUD_SCALE;
- param_map[SETTING_CLOUD_SHADOW] = LLShaderMgr::CLOUD_SHADOW;
- param_map[SETTING_CLOUD_VARIANCE] = LLShaderMgr::CLOUD_VARIANCE;
- param_map[SETTING_GLOW] = LLShaderMgr::GLOW;
- param_map[SETTING_MAX_Y] = LLShaderMgr::MAX_Y;
- param_map[SETTING_SUNLIGHT_COLOR] = LLShaderMgr::SUNLIGHT_COLOR;
- param_map[SETTING_MOON_BRIGHTNESS] = LLShaderMgr::MOON_BRIGHTNESS;
- param_map[SETTING_SKY_MOISTURE_LEVEL] = LLShaderMgr::MOISTURE_LEVEL;
- param_map[SETTING_SKY_DROPLET_RADIUS] = LLShaderMgr::DROPLET_RADIUS;
- param_map[SETTING_SKY_ICE_LEVEL] = LLShaderMgr::ICE_LEVEL;
-
-// AdvancedAtmospherics TODO
-// Provide mappings for new shader params here
- }
-
- return param_map;
-}
-
-//=========================================================================
-const F32 LLSettingsVOWater::WATER_FOG_LIGHT_CLAMP(0.3f);
-
-//-------------------------------------------------------------------------
-LLSettingsVOWater::LLSettingsVOWater(const LLSD &data) :
- LLSettingsWater(data)
-{
-
-}
-
-LLSettingsVOWater::LLSettingsVOWater() :
- LLSettingsWater()
-{
-
-}
-
-LLSettingsWater::ptr_t LLSettingsVOWater::buildWater(LLSD settings)
-{
- LLSettingsWater::validation_list_t validations = LLSettingsWater::validationList();
- LLSD results = LLSettingsWater::settingValidation(settings, validations);
- if (!results["success"].asBoolean())
- {
- LL_WARNS("SETTINGS") << "Water setting validation failed!\n" << results << LL_ENDL;
- LLSettingsWater::ptr_t();
- }
-
- return std::make_shared<LLSettingsVOWater>(settings);
-}
-
-//-------------------------------------------------------------------------
-LLSettingsWater::ptr_t LLSettingsVOWater::buildFromLegacyPreset(const std::string &name, const LLSD &legacy)
-{
- LLSD newsettings(LLSettingsWater::translateLegacySettings(legacy));
-
- newsettings[SETTING_NAME] = name;
- LLSettingsWater::validation_list_t validations = LLSettingsWater::validationList();
- LLSD results = LLSettingsWater::settingValidation(newsettings, validations);
- if (!results["success"].asBoolean())
- {
- LL_WARNS("SETTINGS") << "Water setting validation failed!: " << results << LL_ENDL;
- return LLSettingsWater::ptr_t();
- }
-
- LLSettingsWater::ptr_t waterp = std::make_shared<LLSettingsVOWater>(newsettings);
-
-#ifdef VERIFY_LEGACY_CONVERSION
- LLSD oldsettings = LLSettingsVOWater::convertToLegacy(waterp);
-
- if (!llsd_equals(legacy, oldsettings))
- {
- LL_WARNS("WATER") << "Conversion to/from legacy does not match!\n"
- << "Old: " << legacy
- << "new: " << oldsettings << LL_ENDL;
- }
-
-#endif
- return waterp;
-}
-
-LLSettingsWater::ptr_t LLSettingsVOWater::buildFromLegacyPresetFile(const std::string &name, const std::string &path)
-{
- LLSD legacy_data = read_legacy_preset_data(name, path);
-
- if (!legacy_data)
- {
- LL_WARNS("SETTINGS") << "Could not load legacy Windlight \"" << name << "\" from " << path << LL_ENDL;
- return ptr_t();
- }
-
- return buildFromLegacyPreset(name, legacy_data);
-}
-
-
-LLSettingsWater::ptr_t LLSettingsVOWater::buildDefaultWater()
-{
- static LLSD default_settings;
-
- if (!default_settings.size())
- {
- default_settings = LLSettingsWater::defaults();
-
- default_settings[SETTING_NAME] = std::string("_default_");
-
- LLSettingsWater::validation_list_t validations = LLSettingsWater::validationList();
- LLSD results = LLSettingsWater::settingValidation(default_settings, validations);
- if (!results["success"].asBoolean())
- {
- LL_WARNS("SETTINGS") << "Water setting validation failed!: " << results << LL_ENDL;
- return LLSettingsWater::ptr_t();
- }
- }
-
- LLSettingsWater::ptr_t waterp = std::make_shared<LLSettingsVOWater>(default_settings);
-
- return waterp;
-}
-
-LLSettingsWater::ptr_t LLSettingsVOWater::buildClone() const
-{
- LLSD settings = cloneSettings();
- LLSettingsWater::validation_list_t validations = LLSettingsWater::validationList();
- LLSD results = LLSettingsWater::settingValidation(settings, validations);
- if (!results["success"].asBoolean())
- {
- LL_WARNS("SETTINGS") << "Water setting validation failed!: " << results << LL_ENDL;
- return LLSettingsWater::ptr_t();
- }
-
- LLSettingsWater::ptr_t waterp = std::make_shared<LLSettingsVOWater>(settings);
-
- return waterp;
-}
-
-LLSD LLSettingsVOWater::convertToLegacy(const LLSettingsWater::ptr_t &pwater)
-{
- LLSD legacy(LLSD::emptyMap());
- LLSD settings = pwater->getSettings();
-
- legacy[SETTING_LEGACY_BLUR_MULTIPLIER] = settings[SETTING_BLUR_MULTIPLIER];
- legacy[SETTING_LEGACY_FOG_COLOR] = ensure_array_4(settings[SETTING_FOG_COLOR], 1.0f);
- legacy[SETTING_LEGACY_FOG_DENSITY] = settings[SETTING_FOG_DENSITY];
- legacy[SETTING_LEGACY_FOG_MOD] = settings[SETTING_FOG_MOD];
- legacy[SETTING_LEGACY_FRESNEL_OFFSET] = settings[SETTING_FRESNEL_OFFSET];
- legacy[SETTING_LEGACY_FRESNEL_SCALE] = settings[SETTING_FRESNEL_SCALE];
- legacy[SETTING_LEGACY_NORMAL_MAP] = settings[SETTING_NORMAL_MAP];
- legacy[SETTING_LEGACY_NORMAL_SCALE] = settings[SETTING_NORMAL_SCALE];
- legacy[SETTING_LEGACY_SCALE_ABOVE] = settings[SETTING_SCALE_ABOVE];
- legacy[SETTING_LEGACY_SCALE_BELOW] = settings[SETTING_SCALE_BELOW];
- legacy[SETTING_LEGACY_WAVE1_DIR] = settings[SETTING_WAVE1_DIR];
- legacy[SETTING_LEGACY_WAVE2_DIR] = settings[SETTING_WAVE2_DIR];
-
- //_WARNS("LAPRAS") << "Legacy water: " << legacy << LL_ENDL;
- return legacy;
-}
-//-------------------------------------------------------------------------
-//-------------------------------------------------------------------------
-void LLSettingsVOWater::applySpecial(void *ptarget)
-{
- LLGLSLShader *shader = (LLGLSLShader *)ptarget;
-
- if (shader->mShaderGroup == LLGLSLShader::SG_WATER)
- {
- //transform water plane to eye space
- glh::vec3f norm(0.f, 0.f, 1.f);
- glh::vec3f p(0.f, 0.f, LLEnvironment::instance().getWaterHeight() + 0.1f);
-
- F32 modelView[16];
- for (U32 i = 0; i < 16; i++)
- {
- modelView[i] = (F32)gGLModelView[i];
- }
-
- glh::matrix4f mat(modelView);
- glh::matrix4f invtrans = mat.inverse().transpose();
- glh::vec3f enorm;
- glh::vec3f ep;
- invtrans.mult_matrix_vec(norm, enorm);
- enorm.normalize();
- mat.mult_matrix_vec(p, ep);
-
- LLVector4 waterPlane(enorm.v[0], enorm.v[1], enorm.v[2], -ep.dot(enorm));
-
- shader->uniform4fv(LLShaderMgr::WATER_WATERPLANE, 1, waterPlane.mV);
-
- LLVector4 light_direction = LLEnvironment::instance().getClampedLightNorm();
-
- F32 waterFogKS = 1.f / llmax(light_direction.mV[2], WATER_FOG_LIGHT_CLAMP);
-
- shader->uniform1f(LLShaderMgr::WATER_FOGKS, waterFogKS);
-
- F32 blend_factor = LLEnvironment::instance().getCurrentWater()->getBlendFactor();
- shader->uniform1f(LLShaderMgr::BLEND_FACTOR, blend_factor);
-
- LLVector4 rotated_light_direction = LLEnvironment::instance().getRotatedLightNorm();
- shader->uniform4fv(LLViewerShaderMgr::LIGHTNORM, 1, rotated_light_direction.mV);
- shader->uniform3fv(LLShaderMgr::WL_CAMPOSLOCAL, 1, LLViewerCamera::getInstance()->getOrigin().mV);
- shader->uniform1f(LLViewerShaderMgr::DISTANCE_MULTIPLIER, 0);
- }
-}
-
-void LLSettingsVOWater::updateSettings()
-{
- // base class clears dirty flag so as to not trigger recursive update
- LLSettingsBase::updateSettings();
-
- LLDrawPoolWater* pwaterpool = (LLDrawPoolWater*)gPipeline.getPool(LLDrawPool::POOL_WATER);
- if (pwaterpool)
- {
- pwaterpool->setTransparentTextures(getTransparentTextureID(), getNextTransparentTextureID());
- pwaterpool->setOpaqueTexture(GetDefaultOpaqueTextureAssetId());
- pwaterpool->setNormalMaps(getNormalMapID(), getNextNormalMapID());
- }
-}
-
-LLSettingsWater::parammapping_t LLSettingsVOWater::getParameterMap() const
-{
- static parammapping_t param_map;
-
- if (param_map.empty())
- {
- param_map[SETTING_FOG_COLOR] = LLShaderMgr::WATER_FOGCOLOR;
- param_map[SETTING_FOG_DENSITY] = LLShaderMgr::WATER_FOGDENSITY;
- }
- return param_map;
-}
-
-//=========================================================================
-LLSettingsVODay::LLSettingsVODay(const LLSD &data):
- LLSettingsDay(data)
-{}
-
-LLSettingsVODay::LLSettingsVODay():
- LLSettingsDay()
-{}
-
-LLSettingsDay::ptr_t LLSettingsVODay::buildDay(LLSD settings)
-{
- LLSettingsDay::validation_list_t validations = LLSettingsDay::validationList();
- LLSD results = LLSettingsDay::settingValidation(settings, validations);
- if (!results["success"].asBoolean())
- {
- LL_WARNS("SETTINGS") << "Day setting validation failed!\n" << results << LL_ENDL;
- LLSettingsDay::ptr_t();
- }
-
- LLSettingsDay::ptr_t pday = std::make_shared<LLSettingsVODay>(settings);
- if (pday)
- pday->initialize();
-
- return pday;
-}
-
-//-------------------------------------------------------------------------
-LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyPreset(const std::string &name, const std::string &path, const LLSD &oldsettings)
-{
- LLSD newsettings(defaults());
- std::set<std::string> framenames;
- std::set<std::string> notfound;
-
- std::string base_path(gDirUtilp->getDirName(path));
- std::string water_path(base_path);
- std::string sky_path(base_path);
-
- gDirUtilp->append(water_path, "water");
- gDirUtilp->append(sky_path, "skies");
-
- newsettings[SETTING_NAME] = name;
-
- LLSD watertrack = LLSDArray(
- LLSDMap(SETTING_KEYKFRAME, LLSD::Real(0.0f))
- (SETTING_KEYNAME, "water:Default"));
-
- LLSD skytrack = LLSD::emptyArray();
-
- for (LLSD::array_const_iterator it = oldsettings.beginArray(); it != oldsettings.endArray(); ++it)
- {
- std::string framename = (*it)[1].asString();
- LLSD entry = LLSDMap(SETTING_KEYKFRAME, (*it)[0].asReal())
- (SETTING_KEYNAME, "sky:" + framename);
- framenames.insert(framename);
- skytrack.append(entry);
- }
-
- newsettings[SETTING_TRACKS] = LLSDArray(watertrack)(skytrack);
-
- LLSD frames(LLSD::emptyMap());
-
- {
- LLSettingsWater::ptr_t pwater = LLSettingsVOWater::buildFromLegacyPresetFile("Default", water_path);
- if (pwater)
- frames["water:Default"] = pwater->getSettings();
- }
-
- for (std::set<std::string>::iterator itn = framenames.begin(); itn != framenames.end(); ++itn)
- {
- LLSettingsSky::ptr_t psky = LLSettingsVOSky::buildFromLegacyPresetFile((*itn), sky_path);
- if (psky)
- frames["sky:" + (*itn)] = psky->getSettings();
- }
-
- newsettings[SETTING_FRAMES] = frames;
-
- LLSettingsDay::validation_list_t validations = LLSettingsDay::validationList();
- LLSD results = LLSettingsDay::settingValidation(newsettings, validations);
- if (!results["success"].asBoolean())
- {
- LL_WARNS("SETTINGS") << "Day setting validation failed!: " << results << LL_ENDL;
- return LLSettingsDay::ptr_t();
- }
-
- LLSettingsDay::ptr_t dayp = std::make_shared<LLSettingsVODay>(newsettings);
-
-#ifdef VERIFY_LEGACY_CONVERSION
- LLSD testsettings = LLSettingsVODay::convertToLegacy(dayp);
-
- if (!llsd_equals(oldsettings, testsettings))
- {
- LL_WARNS("DAYCYCLE") << "Conversion to/from legacy does not match!\n"
- << "Old: " << oldsettings
- << "new: " << testsettings << LL_ENDL;
- }
-
-#endif
-
- dayp->initialize();
-
- return dayp;
-}
-
-LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyPresetFile(const std::string &name, const std::string &path)
-{
- LLSD legacy_data = read_legacy_preset_data(name, path);
-
- if (!legacy_data)
- {
- LL_WARNS("SETTINGS") << "Could not load legacy Windlight \"" << name << "\" from " << path << LL_ENDL;
- return ptr_t();
- }
-
- return buildFromLegacyPreset(name, path, legacy_data);
-}
-
-
-
-LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyMessage(const LLUUID &regionId, LLSD daycycle, LLSD skydefs, LLSD waterdef)
-{
- LLSD frames(LLSD::emptyMap());
-
- for (LLSD::map_iterator itm = skydefs.beginMap(); itm != skydefs.endMap(); ++itm)
- {
- std::string newname = "sky:" + (*itm).first;
- LLSD newsettings = LLSettingsSky::translateLegacySettings((*itm).second);
-
- newsettings[SETTING_NAME] = newname;
- frames[newname] = newsettings;
-
- LL_WARNS("SETTINGS") << "created region sky '" << newname << "'" << LL_ENDL;
- }
-
- LLSD watersettings = LLSettingsWater::translateLegacySettings(waterdef);
- std::string watername = "water:"+ watersettings[SETTING_NAME].asString();
- watersettings[SETTING_NAME] = watername;
- frames[watername] = watersettings;
-
- LLSD watertrack = LLSDArray(
- LLSDMap(SETTING_KEYKFRAME, LLSD::Real(0.0f))
- (SETTING_KEYNAME, watername));
-
- LLSD skytrack(LLSD::emptyArray());
- for (LLSD::array_const_iterator it = daycycle.beginArray(); it != daycycle.endArray(); ++it)
- {
- LLSD entry = LLSDMap(SETTING_KEYKFRAME, (*it)[0].asReal())
- (SETTING_KEYNAME, "sky:" + (*it)[1].asString());
- skytrack.append(entry);
- }
-
- LLSD newsettings = LLSDMap
- ( SETTING_NAME, "Region (legacy)" )
- ( SETTING_TRACKS, LLSDArray(watertrack)(skytrack))
- ( SETTING_FRAMES, frames )
- ( SETTING_TYPE, "daycycle" );
-
- LL_WARNS("LAPRAS") << "newsettings=" << newsettings << LL_ENDL;
-
- LLSettingsSky::validation_list_t validations = LLSettingsDay::validationList();
- LLSD results = LLSettingsDay::settingValidation(newsettings, validations);
- if (!results["success"].asBoolean())
- {
- LL_WARNS("SETTINGS") << "Day setting validation failed!:" << results << LL_ENDL;
- return LLSettingsDay::ptr_t();
- }
-
- LLSettingsDay::ptr_t dayp = std::make_shared<LLSettingsVODay>(newsettings);
-
- if (dayp)
- {
- // true for validation - either validate here, or when cloning for floater.
- dayp->initialize(true);
- }
- return dayp;
-}
-
-
-
-LLSettingsDay::ptr_t LLSettingsVODay::buildDefaultDayCycle()
-{
- static LLSD default_settings;
-
- if (!default_settings.size())
- {
- default_settings = LLSettingsDay::defaults();
- default_settings[SETTING_NAME] = std::string("_default_");
-
- LLSettingsDay::validation_list_t validations = LLSettingsDay::validationList();
- LLSD results = LLSettingsDay::settingValidation(default_settings, validations);
- if (!results["success"].asBoolean())
- {
- LL_WARNS("SETTINGS") << "Day setting validation failed!\n" << results << LL_ENDL;
- LLSettingsDay::ptr_t();
- }
- }
-
- LLSettingsDay::ptr_t dayp = std::make_shared<LLSettingsVODay>(default_settings);
-
- dayp->initialize();
- return dayp;
-}
-
-LLSettingsDay::ptr_t LLSettingsVODay::buildFromEnvironmentMessage(LLSD settings)
-{
- LLSettingsDay::validation_list_t validations = LLSettingsDay::validationList();
- LLSD results = LLSettingsDay::settingValidation(settings, validations);
- if (!results["success"].asBoolean())
- {
- LL_WARNS("SETTINGS") << "Day setting validation failed!\n" << results << LL_ENDL;
- LLSettingsDay::ptr_t();
- }
-
- LLSettingsDay::ptr_t dayp = std::make_shared<LLSettingsVODay>(settings);
-
- dayp->initialize();
- return dayp;
-}
-
-
-void LLSettingsVODay::buildFromOtherSetting(LLSettingsBase::ptr_t settings, LLSettingsVODay::asset_built_fn cb)
-{
- if (settings->getSettingsType() == "daycycle")
- {
- if (cb)
- cb(std::static_pointer_cast<LLSettingsDay>(settings));
- }
- else
- {
- LLSettingsVOBase::getSettingsAsset(LLSettingsDay::GetDefaultAssetId(),
- [settings, cb](LLUUID, LLSettingsBase::ptr_t pday, S32, LLExtStat){ combineIntoDayCycle(std::static_pointer_cast<LLSettingsDay>(pday), settings, cb); });
- }
-}
-
-void LLSettingsVODay::combineIntoDayCycle(LLSettingsDay::ptr_t pday, LLSettingsBase::ptr_t settings, asset_built_fn cb)
-{
- if (settings->getSettingsType() == "sky")
- {
- pday->setName("sky: " + settings->getName());
- pday->clearCycleTrack(1);
- pday->setSettingsAtKeyframe(settings, 0.0, 1);
- }
- else if (settings->getSettingsType() == "water")
- {
- pday->setName("water: " + settings->getName());
- pday->clearCycleTrack(0);
- pday->setSettingsAtKeyframe(settings, 0.0, 0);
- }
- else
- {
- pday.reset();
- }
-
- if (cb)
- cb(pday);
-}
-
-
-LLSettingsDay::ptr_t LLSettingsVODay::buildClone() const
-{
- LLSD settings = cloneSettings();
-
- LLSettingsDay::validation_list_t validations = LLSettingsDay::validationList();
- LLSD results = LLSettingsDay::settingValidation(settings, validations);
- if (!results["success"].asBoolean())
- {
- LL_WARNS("SETTINGS") << "Day setting validation failed!\n" << results << LL_ENDL;
- LLSettingsDay::ptr_t();
- }
-
- LLSettingsDay::ptr_t dayp = std::make_shared<LLSettingsVODay>(settings);
-
- U32 flags = getFlags();
- if (flags)
- dayp->setFlags(flags);
-
- dayp->initialize();
- return dayp;
-}
-
-LLSettingsDay::ptr_t LLSettingsVODay::buildDeepCloneAndUncompress() const
-{
- // no need for SETTING_TRACKS or SETTING_FRAMES, so take base LLSD
- LLSD settings = llsd_clone(mSettings);
-
- LLSettingsDay::ptr_t day_clone = std::make_shared<LLSettingsVODay>(settings);
-
- for (S32 i = 0; i < LLSettingsDay::TRACK_MAX; ++i)
- {
- const LLSettingsDay::CycleTrack_t& track = getCycleTrackConst(i);
- LLSettingsDay::CycleTrack_t::const_iterator iter = track.begin();
- while (iter != track.end())
- {
- // 'Unpack', usually for editing
- // - frames 'share' settings multiple times
- // - settings can reuse LLSDs they were initialized from
- // We do not want for edited frame to change multiple frames in same track, so do a clone
- day_clone->setSettingsAtKeyframe(iter->second->buildDerivedClone(), iter->first, i);
- iter++;
- }
- }
- return day_clone;
-}
-
-LLSD LLSettingsVODay::convertToLegacy(const LLSettingsVODay::ptr_t &pday)
-{
- CycleTrack_t &trackwater = pday->getCycleTrack(TRACK_WATER);
-
- LLSettingsWater::ptr_t pwater;
- if (!trackwater.empty())
- {
- pwater = std::static_pointer_cast<LLSettingsWater>((*trackwater.begin()).second);
- }
-
- if (!pwater)
- pwater = LLSettingsVOWater::buildDefaultWater();
-
- LLSD llsdwater = LLSettingsVOWater::convertToLegacy(pwater);
-
- CycleTrack_t &tracksky = pday->getCycleTrack(1); // first sky track
- std::map<std::string, LLSettingsSky::ptr_t> skys;
-
- LLSD llsdcycle(LLSD::emptyArray());
-
- for(CycleTrack_t::iterator it = tracksky.begin(); it != tracksky.end(); ++it)
- {
- size_t hash = (*it).second->getHash();
- std::stringstream name;
-
- name << hash;
-
- skys[name.str()] = std::static_pointer_cast<LLSettingsSky>((*it).second);
-
- F32 frame = ((tracksky.size() == 1) && (it == tracksky.begin())) ? -1.0f : (*it).first;
- llsdcycle.append( LLSDArray(LLSD::Real(frame))(name.str()) );
- }
- //_WARNS("LAPRAS") << "Cycle created with " << llsdcycle.size() << "entries: " << llsdcycle << LL_ENDL;
-
- LLSD llsdskylist(LLSD::emptyMap());
-
- for (std::map<std::string, LLSettingsSky::ptr_t>::iterator its = skys.begin(); its != skys.end(); ++its)
- {
- LLSD llsdsky = LLSettingsVOSky::convertToLegacy((*its).second, false);
- llsdsky[SETTING_NAME] = (*its).first;
-
- llsdskylist[(*its).first] = llsdsky;
- }
-
- //_WARNS("LAPRAS") << "Sky map with " << llsdskylist.size() << " entries created: " << llsdskylist << LL_ENDL;
-
- return LLSDArray(LLSD::emptyMap())(llsdcycle)(llsdskylist)(llsdwater);
-}
-
-LLSettingsSkyPtr_t LLSettingsVODay::getDefaultSky() const
-{
- return LLSettingsVOSky::buildDefaultSky();
-}
-
-LLSettingsWaterPtr_t LLSettingsVODay::getDefaultWater() const
-{
- return LLSettingsVOWater::buildDefaultWater();
-}
-
-LLSettingsSkyPtr_t LLSettingsVODay::buildSky(LLSD settings) const
-{
- LLSettingsSky::ptr_t skyp = std::make_shared<LLSettingsVOSky>(settings);
-
- if (skyp->validate())
- return skyp;
-
- return LLSettingsSky::ptr_t();
-}
-
-LLSettingsWaterPtr_t LLSettingsVODay::buildWater(LLSD settings) const
-{
- LLSettingsWater::ptr_t waterp = std::make_shared<LLSettingsVOWater>(settings);
-
- if (waterp->validate())
- return waterp;
-
- return LLSettingsWater::ptr_t();
-}
-
-//=========================================================================
-namespace
-{
- LLSD ensure_array_4(LLSD in, F32 fill)
- {
- if (in.size() >= 4)
- return in;
-
- LLSD out(LLSD::emptyArray());
-
- for (S32 idx = 0; idx < in.size(); ++idx)
- {
- out.append(in[idx]);
- }
-
- while (out.size() < 4)
- {
- out.append(LLSD::Real(fill));
- }
- return out;
- }
-
- // This is a disturbing hack
- std::string legacy_name_to_filename(const std::string &name, bool convertdash = false)
- {
- std::string fixedname(LLURI::escape(name));
-
- if (convertdash)
- boost::algorithm::replace_all(fixedname, "-", "%2D");
-
- return fixedname;
- }
-
- //---------------------------------------------------------------------
- LLSD read_legacy_preset_data(const std::string &name, const std::string& path)
- {
- llifstream xml_file;
-
- std::string full_path(path);
- std::string full_name(name);
- full_name += ".xml";
- gDirUtilp->append(full_path, full_name);
-
- xml_file.open(full_path.c_str());
- if (!xml_file)
- {
- std::string bad_path(full_path);
- full_path = path;
- full_name = legacy_name_to_filename(name);
- full_name += ".xml";
- gDirUtilp->append(full_path, full_name);
-
- LL_INFOS("LEGACYSETTING") << "Could not open \"" << bad_path << "\" trying escaped \"" << full_path << "\"" << LL_ENDL;
-
- xml_file.open(full_path.c_str());
- if (!xml_file)
- {
- LL_WARNS("LEGACYSETTING") << "Unable to open legacy windlight \"" << name << "\" from " << path << LL_ENDL;
-
- full_path = path;
- full_name = legacy_name_to_filename(name, true);
- full_name += ".xml";
- gDirUtilp->append(full_path, full_name);
- xml_file.open(full_path.c_str());
- if (!xml_file)
- {
- LL_WARNS("LEGACYSETTING") << "Unable to open legacy windlight \"" << name << "\" from " << path << LL_ENDL;
- return LLSD();
- }
- }
- }
-
- LLSD params_data;
- LLPointer<LLSDParser> parser = new LLSDXMLParser();
- parser->parse(xml_file, params_data, LLSDSerialize::SIZE_UNLIMITED);
- xml_file.close();
-
- return params_data;
- }
-}
+/**
+* @file llsettingsvo.cpp
+* @author Rider Linden
+* @brief Subclasses for viewer specific settings behaviors.
+*
+* $LicenseInfo:2011&license=viewerlgpl$
+* Second Life Viewer Source Code
+* Copyright (C) 2017, Linden Research, Inc.
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Lesser General Public
+* License as published by the Free Software Foundation;
+* version 2.1 of the License only.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this library; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*
+* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+* $/LicenseInfo$
+*/
+
+#include "llviewerprecompiledheaders.h"
+#include "llviewercontrol.h"
+#include "llsettingsvo.h"
+
+#include "pipeline.h"
+
+#include <algorithm>
+#include <cstdio>
+#include <boost/make_shared.hpp>
+#include "lltrace.h"
+#include "llfasttimer.h"
+#include "v3colorutil.h"
+
+#include "llglslshader.h"
+#include "llviewershadermgr.h"
+
+#include "llagent.h"
+#include "llassettype.h"
+#include "llfloaterperms.h"
+#include "llnotificationsutil.h"
+
+#include "llviewerregion.h"
+#include "llviewerassetupload.h"
+#include "llviewerinventory.h"
+
+#include "llenvironment.h"
+#include "llsky.h"
+
+#include "llpermissions.h"
+
+#include "llinventorymodel.h"
+#include "llassetstorage.h"
+#include "llvfile.h"
+#include "lldrawpoolwater.h"
+
+#include <boost/algorithm/string/replace.hpp>
+#include "llinventoryobserver.h"
+#include "llinventorydefines.h"
+
+#undef VERIFY_LEGACY_CONVERSION
+
+//=========================================================================
+namespace
+{
+ LLSD ensure_array_4(LLSD in, F32 fill);
+ LLSD read_legacy_preset_data(const std::string &name, const std::string& path);
+
+ //-------------------------------------------------------------------------
+ class LLSettingsInventoryCB : public LLInventoryCallback
+ {
+ public:
+ typedef std::function<void(const LLUUID &)> callback_t;
+
+ LLSettingsInventoryCB(callback_t cbfn) :
+ mCbfn(cbfn)
+ { }
+
+ void fire(const LLUUID& inv_item) override { if (mCbfn) mCbfn(inv_item); }
+
+ private:
+ callback_t mCbfn;
+ };
+
+ //-------------------------------------------------------------------------
+}
+
+
+//=========================================================================
+void LLSettingsVOBase::createNewInventoryItem(LLSettingsType::type_e stype, const LLUUID &parent_id, inventory_result_fn callback)
+{
+ LLTransactionID tid;
+ U32 nextOwnerPerm = LLFloaterPerms::getNextOwnerPerms("Settings");
+ nextOwnerPerm |= PERM_COPY;
+
+ if (!LLEnvironment::instance().isInventoryEnabled())
+ {
+ LL_WARNS("SETTINGS") << "Region does not support settings inventory objects." << LL_ENDL;
+ LLNotificationsUtil::add("SettingsUnsuported");
+ return;
+ }
+
+ tid.generate();
+
+ LLPointer<LLInventoryCallback> cb = new LLSettingsInventoryCB([callback](const LLUUID &inventoryId) {
+ LLSettingsVOBase::onInventoryItemCreated(inventoryId, LLSettingsBase::ptr_t(), callback);
+ });
+
+ create_inventory_settings(gAgent.getID(), gAgent.getSessionID(),
+ parent_id, LLTransactionID::tnull,
+ LLSettingsType::getDefaultName(stype), "",
+ stype, nextOwnerPerm, cb);
+}
+
+
+void LLSettingsVOBase::createInventoryItem(const LLSettingsBase::ptr_t &settings, const LLUUID &parent_id, std::string settings_name, inventory_result_fn callback)
+{
+ LLTransactionID tid;
+ U32 nextOwnerPerm = LLPermissions::DEFAULT.getMaskNextOwner();
+
+ if (!LLEnvironment::instance().isInventoryEnabled())
+ {
+ LL_WARNS("SETTINGS") << "Region does not support settings inventory objects." << LL_ENDL;
+ LLNotificationsUtil::add("SettingsUnsuported");
+ return;
+ }
+
+ tid.generate();
+
+ LLPointer<LLInventoryCallback> cb = new LLSettingsInventoryCB([settings, callback](const LLUUID &inventoryId) {
+ LLSettingsVOBase::onInventoryItemCreated(inventoryId, settings, callback);
+ });
+
+ if (settings_name.empty())
+ {
+ settings_name = settings->getName();
+ }
+ create_inventory_settings(gAgent.getID(), gAgent.getSessionID(),
+ parent_id, tid,
+ settings_name, "",
+ settings->getSettingsTypeValue(), nextOwnerPerm, cb);
+}
+
+void LLSettingsVOBase::onInventoryItemCreated(const LLUUID &inventoryId, LLSettingsBase::ptr_t settings, inventory_result_fn callback)
+{
+ if (!settings)
+ { // The item was created as new with no settings passed in. Simulator should have given it the default for the type... check ID,
+ // no need to upload asset.
+ LLUUID asset_id;
+ LLViewerInventoryItem *pitem = gInventory.getItem(inventoryId);
+
+ if (pitem)
+ {
+ asset_id = pitem->getAssetUUID();
+
+ LLPermissions perm = pitem->getPermissions();
+ if (perm.getMaskEveryone() != PERM_COPY)
+ {
+ perm.setMaskEveryone(PERM_COPY);
+ pitem->setPermissions(perm);
+ pitem->updateServer(FALSE);
+ }
+ }
+ if (callback)
+ callback(asset_id, inventoryId, LLUUID::null, LLSD());
+ return;
+ }
+ // We need to update some inventory stuff here.... maybe.
+ updateInventoryItem(settings, inventoryId, callback, false);
+}
+
+void LLSettingsVOBase::updateInventoryItem(const LLSettingsBase::ptr_t &settings, LLUUID inv_item_id, inventory_result_fn callback, bool update_name)
+{
+ const LLViewerRegion* region = gAgent.getRegion();
+ if (!region)
+ {
+ LL_WARNS("SETTINGS") << "Not connected to a region, cannot save setting." << LL_ENDL;
+ return;
+ }
+
+ std::string agent_url(region->getCapability("UpdateSettingsAgentInventory"));
+
+ if (!LLEnvironment::instance().isInventoryEnabled())
+ {
+ LL_WARNS("SETTINGS") << "Region does not support settings inventory objects." << LL_ENDL;
+ LLNotificationsUtil::add("SettingsUnsuported");
+ return;
+ }
+
+ LLViewerInventoryItem *inv_item = gInventory.getItem(inv_item_id);
+ if (inv_item)
+ {
+ bool need_update(false);
+ LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(inv_item);
+
+ if (settings->getFlag(LLSettingsBase::FLAG_NOTRANS) && new_item->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID()))
+ {
+ LLPermissions perm(inv_item->getPermissions());
+ perm.setBaseBits(LLUUID::null, FALSE, PERM_TRANSFER);
+ perm.setOwnerBits(LLUUID::null, FALSE, PERM_TRANSFER);
+ new_item->setPermissions(perm);
+ need_update |= true;
+ }
+ if (update_name && (settings->getName() != new_item->getName()))
+ {
+ new_item->rename(settings->getName());
+ settings->setName(new_item->getName()); // account for corrections
+ need_update |= true;
+ }
+ if (need_update)
+ {
+ new_item->updateServer(FALSE);
+ gInventory.updateItem(new_item);
+ gInventory.notifyObservers();
+ }
+ }
+
+ std::stringstream buffer;
+ LLSD settingdata(settings->getSettings());
+ LLSDSerialize::serialize(settingdata, buffer, LLSDSerialize::LLSD_NOTATION);
+
+ LLResourceUploadInfo::ptr_t uploadInfo = std::make_shared<LLBufferedAssetUploadInfo>(inv_item_id, LLAssetType::AT_SETTINGS, buffer.str(),
+ [settings, callback](LLUUID itemId, LLUUID newAssetId, LLUUID newItemId, LLSD response) {
+ LLSettingsVOBase::onAgentAssetUploadComplete(itemId, newAssetId, newItemId, response, settings, callback);
+ });
+
+ LLViewerAssetUpload::EnqueueInventoryUpload(agent_url, uploadInfo);
+}
+
+void LLSettingsVOBase::updateInventoryItem(const LLSettingsBase::ptr_t &settings, LLUUID object_id, LLUUID inv_item_id, inventory_result_fn callback)
+{
+ const LLViewerRegion* region = gAgent.getRegion();
+ if (!region)
+ {
+ LL_WARNS("SETTINGS") << "Not connected to a region, cannot save setting." << LL_ENDL;
+ return;
+ }
+
+ std::string agent_url(region->getCapability("UpdateSettingsAgentInventory"));
+
+ if (!LLEnvironment::instance().isInventoryEnabled())
+ {
+ LL_WARNS("SETTINGS") << "Region does not support settings inventory objects." << LL_ENDL;
+ LLNotificationsUtil::add("SettingsUnsuported");
+ return;
+ }
+
+ std::stringstream buffer;
+ LLSD settingdata(settings->getSettings());
+
+ LLSDSerialize::serialize(settingdata, buffer, LLSDSerialize::LLSD_NOTATION);
+
+ LLResourceUploadInfo::ptr_t uploadInfo = std::make_shared<LLBufferedAssetUploadInfo>(object_id, inv_item_id, LLAssetType::AT_SETTINGS, buffer.str(),
+ [settings, callback](LLUUID itemId, LLUUID taskId, LLUUID newAssetId, LLSD response) {
+ LLSettingsVOBase::onTaskAssetUploadComplete(itemId, taskId, newAssetId, response, settings, callback);
+ });
+
+ LLViewerAssetUpload::EnqueueInventoryUpload(agent_url, uploadInfo);
+}
+
+void LLSettingsVOBase::onAgentAssetUploadComplete(LLUUID itemId, LLUUID newAssetId, LLUUID newItemId, LLSD response, LLSettingsBase::ptr_t psettings, inventory_result_fn callback)
+{
+ LL_INFOS("SETTINGS") << "itemId:" << itemId << " newAssetId:" << newAssetId << " newItemId:" << newItemId << " response:" << response << LL_ENDL;
+ psettings->setAssetId(newAssetId);
+ if (callback)
+ callback( newAssetId, itemId, LLUUID::null, response );
+}
+
+void LLSettingsVOBase::onTaskAssetUploadComplete(LLUUID itemId, LLUUID taskId, LLUUID newAssetId, LLSD response, LLSettingsBase::ptr_t psettings, inventory_result_fn callback)
+{
+ LL_INFOS("SETTINGS") << "Upload to task complete!" << LL_ENDL;
+ psettings->setAssetId(newAssetId);
+ if (callback)
+ callback(newAssetId, itemId, taskId, response);
+}
+
+
+void LLSettingsVOBase::getSettingsAsset(const LLUUID &assetId, LLSettingsVOBase::asset_download_fn callback)
+{
+ gAssetStorage->getAssetData(assetId, LLAssetType::AT_SETTINGS,
+ [callback](LLVFS *vfs, const LLUUID &asset_id, LLAssetType::EType, void *, S32 status, LLExtStat ext_status)
+ { onAssetDownloadComplete(vfs, asset_id, status, ext_status, callback); },
+ nullptr, true);
+
+}
+
+void LLSettingsVOBase::onAssetDownloadComplete(LLVFS *vfs, const LLUUID &asset_id, S32 status, LLExtStat ext_status, LLSettingsVOBase::asset_download_fn callback)
+{
+ LLSettingsBase::ptr_t settings;
+ if (!status)
+ {
+ LLVFile file(vfs, asset_id, LLAssetType::AT_SETTINGS, LLVFile::READ);
+ S32 size = file.getSize();
+
+ std::string buffer(size + 1, '\0');
+ file.read((U8 *)buffer.data(), size);
+
+ std::stringstream llsdstream(buffer);
+ LLSD llsdsettings;
+
+ if (LLSDSerialize::deserialize(llsdsettings, llsdstream, -1))
+ {
+ settings = createFromLLSD(llsdsettings);
+ }
+
+ if (!settings)
+ {
+ status = 1;
+ LL_WARNS("SETTINGS") << "Unable to create settings object." << LL_ENDL;
+ }
+ else
+ {
+ //_WARNS("LAPRAS") << "Setting asset ID to " << asset_id << LL_ENDL;
+ settings->setAssetId(asset_id);
+ }
+ }
+ else
+ {
+ LL_WARNS("SETTINGS") << "Error retrieving asset " << asset_id << ". Status code=" << status << "(" << LLAssetStorage::getErrorString(status) << ") ext_status=" << ext_status << LL_ENDL;
+ }
+ if (callback)
+ callback(asset_id, settings, status, ext_status);
+}
+
+void LLSettingsVOBase::getSettingsInventory(const LLUUID &inventoryId, inventory_download_fn callback)
+{
+
+}
+
+bool LLSettingsVOBase::exportFile(const LLSettingsBase::ptr_t &settings, const std::string &filename, LLSDSerialize::ELLSD_Serialize format)
+{
+ try
+ {
+ std::ofstream file(filename, std::ios::out | std::ios::trunc);
+ file.exceptions(std::ios_base::failbit | std::ios_base::badbit);
+
+ if (!file)
+ {
+ LL_WARNS("SETTINGS") << "Unable to open '" << filename << "' for writing." << LL_ENDL;
+ return false;
+ }
+
+ LLSDSerialize::serialize(settings->getSettings(), file, format);
+ }
+ catch (const std::ios_base::failure &e)
+ {
+ LL_WARNS("SETTINGS") << "Unable to save settings to file '" << filename << "': " << e.what() << LL_ENDL;
+ return false;
+ }
+
+ return true;
+}
+
+LLSettingsBase::ptr_t LLSettingsVOBase::importFile(const std::string &filename)
+{
+ LLSD settings;
+
+ try
+ {
+ std::ifstream file(filename, std::ios::in);
+ file.exceptions(std::ios_base::failbit | std::ios_base::badbit);
+
+ if (!file)
+ {
+ LL_WARNS("SETTINGS") << "Unable to open '" << filename << "' for reading." << LL_ENDL;
+ return LLSettingsBase::ptr_t();
+ }
+
+ if (!LLSDSerialize::deserialize(settings, file, -1))
+ {
+ LL_WARNS("SETTINGS") << "Unable to deserialize settings from '" << filename << "'" << LL_ENDL;
+ return LLSettingsBase::ptr_t();
+ }
+ }
+ catch (const std::ios_base::failure &e)
+ {
+ LL_WARNS("SETTINGS") << "Unable to save settings to file '" << filename << "': " << e.what() << LL_ENDL;
+ return LLSettingsBase::ptr_t();
+ }
+
+ return createFromLLSD(settings);
+}
+
+LLSettingsBase::ptr_t LLSettingsVOBase::createFromLLSD(const LLSD &settings)
+{
+ if (!settings.has(SETTING_TYPE))
+ {
+ LL_WARNS("SETTINGS") << "No settings type in LLSD" << LL_ENDL;
+ return LLSettingsBase::ptr_t();
+ }
+
+ std::string settingtype = settings[SETTING_TYPE].asString();
+
+ LLSettingsBase::ptr_t psetting;
+
+ if (settingtype == "water")
+ {
+ return LLSettingsVOWater::buildWater(settings);
+ }
+ else if (settingtype == "sky")
+ {
+ return LLSettingsVOSky::buildSky(settings);
+ }
+ else if (settingtype == "daycycle")
+ {
+ return LLSettingsVODay::buildDay(settings);
+ }
+
+ LL_WARNS("SETTINGS") << "Unable to determine settings type for '" << settingtype << "'." << LL_ENDL;
+ return LLSettingsBase::ptr_t();
+
+}
+
+//=========================================================================
+LLSettingsVOSky::LLSettingsVOSky(const LLSD &data, bool isAdvanced)
+: LLSettingsSky(data)
+, m_isAdvanced(isAdvanced)
+{
+}
+
+LLSettingsVOSky::LLSettingsVOSky()
+: LLSettingsSky()
+, m_isAdvanced(false)
+{
+}
+
+//-------------------------------------------------------------------------
+LLSettingsSky::ptr_t LLSettingsVOSky::buildSky(LLSD settings)
+{
+ LLSettingsSky::validation_list_t validations = LLSettingsSky::validationList();
+
+ LLSD results = LLSettingsBase::settingValidation(settings, validations);
+
+ if (!results["success"].asBoolean())
+ {
+ LL_WARNS("SETTINGS") << "Sky setting validation failed!\n" << results << LL_ENDL;
+ LLSettingsSky::ptr_t();
+ }
+
+ return std::make_shared<LLSettingsVOSky>(settings, true);
+}
+
+
+LLSettingsSky::ptr_t LLSettingsVOSky::buildFromLegacyPreset(const std::string &name, const LLSD &legacy)
+{
+
+ LLSD newsettings = LLSettingsSky::translateLegacySettings(legacy);
+
+ newsettings[SETTING_NAME] = name;
+
+ LLSettingsSky::validation_list_t validations = LLSettingsSky::validationList();
+ LLSD results = LLSettingsBase::settingValidation(newsettings, validations);
+ if (!results["success"].asBoolean())
+ {
+ LL_WARNS("SETTINGS") << "Sky setting validation failed!\n" << results << LL_ENDL;
+ LLSettingsSky::ptr_t();
+ }
+
+ LLSettingsSky::ptr_t skyp = std::make_shared<LLSettingsVOSky>(newsettings);
+
+#ifdef VERIFY_LEGACY_CONVERSION
+ LLSD oldsettings = LLSettingsVOSky::convertToLegacy(skyp, isAdvanced());
+
+ if (!llsd_equals(legacy, oldsettings))
+ {
+ LL_WARNS("SKY") << "Conversion to/from legacy does not match!\n"
+ << "Old: " << legacy
+ << "new: " << oldsettings << LL_ENDL;
+ }
+
+#endif
+
+ return skyp;
+}
+
+LLSettingsSky::ptr_t LLSettingsVOSky::buildFromLegacyPresetFile(const std::string &name, const std::string &path)
+{
+ LLSD legacy_data = read_legacy_preset_data(name, path);
+
+ if (!legacy_data)
+ {
+ LL_WARNS("SETTINGS") << "Could not load legacy Windlight \"" << name << "\" from " << path << LL_ENDL;
+ return ptr_t();
+ }
+
+ return buildFromLegacyPreset(name, legacy_data);
+}
+
+
+LLSettingsSky::ptr_t LLSettingsVOSky::buildDefaultSky()
+{
+ static LLSD default_settings;
+
+ if (!default_settings.size())
+ {
+ default_settings = LLSettingsSky::defaults();
+
+ default_settings[SETTING_NAME] = std::string("_default_");
+
+ LLSettingsSky::validation_list_t validations = LLSettingsSky::validationList();
+ LLSD results = LLSettingsBase::settingValidation(default_settings, validations);
+ if (!results["success"].asBoolean())
+ {
+ LL_WARNS("SETTINGS") << "Sky setting validation failed!\n" << results << LL_ENDL;
+ LLSettingsSky::ptr_t();
+ }
+ }
+
+ LLSettingsSky::ptr_t skyp = std::make_shared<LLSettingsVOSky>(default_settings);
+ return skyp;
+}
+
+LLSettingsSky::ptr_t LLSettingsVOSky::buildClone() const
+{
+ LLSD settings = cloneSettings();
+
+ LLSettingsSky::validation_list_t validations = LLSettingsSky::validationList();
+ LLSD results = LLSettingsBase::settingValidation(settings, validations);
+ if (!results["success"].asBoolean())
+ {
+ LL_WARNS("SETTINGS") << "Sky setting validation failed!\n" << results << LL_ENDL;
+ LLSettingsSky::ptr_t();
+ }
+
+ LLSettingsSky::ptr_t skyp = std::make_shared<LLSettingsVOSky>(settings);
+ return skyp;
+}
+
+void LLSettingsVOSky::convertAtmosphericsToLegacy(LLSD& legacy, LLSD& settings)
+{
+ // These may need to be inferred from new settings' density profiles
+ // if the legacy settings values are not available.
+ if (settings.has(SETTING_LEGACY_HAZE))
+ {
+ LLSD legacyhaze = settings[SETTING_LEGACY_HAZE];
+
+ // work-around for setter formerly putting ambient values in wrong loc...
+ if (legacyhaze.has(SETTING_AMBIENT))
+ {
+ legacy[SETTING_AMBIENT] = ensure_array_4(legacyhaze[SETTING_AMBIENT], 1.0f);
+ }
+ else if (settings.has(SETTING_AMBIENT))
+ {
+ legacy[SETTING_AMBIENT] = ensure_array_4(settings[SETTING_AMBIENT], 1.0f);
+ }
+
+ legacy[SETTING_BLUE_DENSITY] = ensure_array_4(legacyhaze[SETTING_BLUE_DENSITY], 1.0);
+ legacy[SETTING_BLUE_HORIZON] = ensure_array_4(legacyhaze[SETTING_BLUE_HORIZON], 1.0);
+
+ F32 density_multiplier = legacyhaze[SETTING_DENSITY_MULTIPLIER].asReal();
+ density_multiplier = (density_multiplier < 0.0001f) ? 0.0001f : density_multiplier;
+ legacy[SETTING_DENSITY_MULTIPLIER] = LLSDArray(density_multiplier)(0.0f)(0.0f)(1.0f);
+
+ F32 distance_multiplier = legacyhaze[SETTING_DISTANCE_MULTIPLIER].asReal();
+ legacy[SETTING_DISTANCE_MULTIPLIER] = LLSDArray(distance_multiplier)(0.0f)(0.0f)(1.0f);
+
+ legacy[SETTING_HAZE_DENSITY] = LLSDArray(legacyhaze[SETTING_HAZE_DENSITY])(0.0f)(0.0f)(1.0f);
+ legacy[SETTING_HAZE_HORIZON] = LLSDArray(legacyhaze[SETTING_HAZE_HORIZON])(0.0f)(0.0f)(1.0f);
+ }
+}
+
+LLSD LLSettingsVOSky::convertToLegacy(const LLSettingsSky::ptr_t &psky, bool isAdvanced)
+{
+ LLSD legacy(LLSD::emptyMap());
+ LLSD settings = psky->getSettings();
+
+ convertAtmosphericsToLegacy(legacy, settings);
+
+ legacy[SETTING_CLOUD_COLOR] = ensure_array_4(settings[SETTING_CLOUD_COLOR], 1.0);
+ legacy[SETTING_CLOUD_POS_DENSITY1] = ensure_array_4(settings[SETTING_CLOUD_POS_DENSITY1], 1.0);
+ legacy[SETTING_CLOUD_POS_DENSITY2] = ensure_array_4(settings[SETTING_CLOUD_POS_DENSITY2], 1.0);
+ legacy[SETTING_CLOUD_SCALE] = LLSDArray(settings[SETTING_CLOUD_SCALE])(LLSD::Real(0.0))(LLSD::Real(0.0))(LLSD::Real(1.0));
+ legacy[SETTING_CLOUD_SCROLL_RATE] = settings[SETTING_CLOUD_SCROLL_RATE];
+ legacy[SETTING_LEGACY_ENABLE_CLOUD_SCROLL] = LLSDArray(LLSD::Boolean(!is_approx_zero(settings[SETTING_CLOUD_SCROLL_RATE][0].asReal())))
+ (LLSD::Boolean(!is_approx_zero(settings[SETTING_CLOUD_SCROLL_RATE][1].asReal())));
+ legacy[SETTING_CLOUD_SHADOW] = LLSDArray(settings[SETTING_CLOUD_SHADOW].asReal())(0.0f)(0.0f)(1.0f);
+ legacy[SETTING_GAMMA] = LLSDArray(settings[SETTING_GAMMA])(0.0f)(0.0f)(1.0f);
+ legacy[SETTING_GLOW] = ensure_array_4(settings[SETTING_GLOW], 1.0);
+ legacy[SETTING_LIGHT_NORMAL] = ensure_array_4(psky->getLightDirection().getValue(), 0.0f);
+ legacy[SETTING_MAX_Y] = LLSDArray(settings[SETTING_MAX_Y])(0.0f)(0.0f)(1.0f);
+ legacy[SETTING_STAR_BRIGHTNESS] = settings[SETTING_STAR_BRIGHTNESS];
+ legacy[SETTING_SUNLIGHT_COLOR] = ensure_array_4(settings[SETTING_SUNLIGHT_COLOR], 1.0f);
+
+ LLVector3 dir = psky->getLightDirection();
+
+ F32 phi = asin(dir.mV[2]);
+ F32 cos_phi = cosf(phi);
+ F32 theta = (cos_phi != 0) ? asin(dir.mV[1] / cos_phi) : 0.0f;
+
+ theta = -theta;
+
+ // get angles back into valid ranges for legacy viewer...
+ //
+ while (theta < 0)
+ {
+ theta += F_PI * 2;
+ }
+
+ if (theta > 4 * F_PI)
+ {
+ theta = fmod(theta, 2 * F_PI);
+ }
+
+ while (phi < -F_PI)
+ {
+ phi += 2 * F_PI;
+ }
+
+ if (phi > 3 * F_PI)
+ {
+ phi = F_PI + fmod(phi - F_PI, 2 * F_PI);
+ }
+
+ legacy[SETTING_LEGACY_EAST_ANGLE] = theta;
+ legacy[SETTING_LEGACY_SUN_ANGLE] = phi;
+
+ return legacy;
+}
+
+//-------------------------------------------------------------------------
+void LLSettingsVOSky::updateSettings()
+{
+ LLSettingsSky::updateSettings();
+ LLVector3 sun_direction = getSunDirection();
+ LLVector3 moon_direction = getMoonDirection();
+
+ F32 dp = getLightDirection() * LLVector3(0.0f, 0.0f, 1.0f);
+ if (dp < 0)
+ {
+ dp = 0;
+ }
+ dp = llmax(dp, 0.1f);
+
+ // Since WL scales everything by 2, there should always be at least a 2:1 brightness ratio
+ // between sunlight and point lights in windlight to normalize point lights.
+ F32 sun_dynamic_range = llmax(gSavedSettings.getF32("RenderSunDynamicRange"), 0.0001f);
+ mSceneLightStrength = 2.0f * (1.0f + sun_dynamic_range * dp);
+
+ gSky.setSunAndMoonDirectionsCFR(sun_direction, moon_direction);
+ gSky.setSunTextures(getSunTextureId(), getNextSunTextureId());
+ gSky.setMoonTextures(getMoonTextureId(), getNextMoonTextureId());
+ gSky.setCloudNoiseTextures(getCloudNoiseTextureId(), getNextCloudNoiseTextureId());
+ gSky.setBloomTextures(getBloomTextureId(), getNextBloomTextureId());
+
+ gSky.setSunScale(getSunScale());
+ gSky.setMoonScale(getMoonScale());
+}
+
+void LLSettingsVOSky::applySpecial(void *ptarget)
+{
+ LLGLSLShader *shader = (LLGLSLShader *)ptarget;
+
+ LLVector4 light_direction = LLEnvironment::instance().getClampedSunNorm();
+
+ if (shader->mShaderGroup == LLGLSLShader::SG_DEFAULT)
+ {
+ shader->uniform4fv(LLViewerShaderMgr::LIGHTNORM, 1, light_direction.mV);
+ shader->uniform3fv(LLShaderMgr::WL_CAMPOSLOCAL, 1, LLViewerCamera::getInstance()->getOrigin().mV);
+ }
+ else if (shader->mShaderGroup == LLGLSLShader::SG_SKY)
+ {
+ shader->uniform4fv(LLViewerShaderMgr::LIGHTNORM, 1, light_direction.mV);
+
+ LLVector4 vect_c_p_d1(mSettings[SETTING_CLOUD_POS_DENSITY1]);
+ vect_c_p_d1 += LLVector4(LLEnvironment::instance().getCloudScrollDelta());
+ shader->uniform4fv(LLShaderMgr::CLOUD_POS_DENSITY1, 1, vect_c_p_d1.mV);
+ }
+
+ shader->uniform1f(LLShaderMgr::SCENE_LIGHT_STRENGTH, mSceneLightStrength);
+ shader->uniform4f(LLShaderMgr::GAMMA, getGamma(), 0.0, 0.0, 1.0);
+}
+
+LLSettingsSky::parammapping_t LLSettingsVOSky::getParameterMap() const
+{
+ static parammapping_t param_map;
+
+ if (param_map.empty())
+ {
+// LEGACY_ATMOSPHERICS
+ param_map[SETTING_AMBIENT] = LLShaderMgr::AMBIENT;
+ param_map[SETTING_BLUE_DENSITY] = LLShaderMgr::BLUE_DENSITY;
+ param_map[SETTING_BLUE_HORIZON] = LLShaderMgr::BLUE_HORIZON;
+ param_map[SETTING_HAZE_DENSITY] = LLShaderMgr::HAZE_DENSITY;
+ param_map[SETTING_HAZE_HORIZON] = LLShaderMgr::HAZE_HORIZON;
+ param_map[SETTING_DENSITY_MULTIPLIER] = LLShaderMgr::DENSITY_MULTIPLIER;
+ param_map[SETTING_DISTANCE_MULTIPLIER] = LLShaderMgr::DISTANCE_MULTIPLIER;
+
+ param_map[SETTING_CLOUD_COLOR] = LLShaderMgr::CLOUD_COLOR;
+ param_map[SETTING_CLOUD_POS_DENSITY2] = LLShaderMgr::CLOUD_POS_DENSITY2;
+ param_map[SETTING_CLOUD_SCALE] = LLShaderMgr::CLOUD_SCALE;
+ param_map[SETTING_CLOUD_SHADOW] = LLShaderMgr::CLOUD_SHADOW;
+ param_map[SETTING_CLOUD_VARIANCE] = LLShaderMgr::CLOUD_VARIANCE;
+ param_map[SETTING_GLOW] = LLShaderMgr::GLOW;
+ param_map[SETTING_MAX_Y] = LLShaderMgr::MAX_Y;
+ param_map[SETTING_SUNLIGHT_COLOR] = LLShaderMgr::SUNLIGHT_COLOR;
+ param_map[SETTING_MOON_BRIGHTNESS] = LLShaderMgr::MOON_BRIGHTNESS;
+ param_map[SETTING_SKY_MOISTURE_LEVEL] = LLShaderMgr::MOISTURE_LEVEL;
+ param_map[SETTING_SKY_DROPLET_RADIUS] = LLShaderMgr::DROPLET_RADIUS;
+ param_map[SETTING_SKY_ICE_LEVEL] = LLShaderMgr::ICE_LEVEL;
+
+// AdvancedAtmospherics TODO
+// Provide mappings for new shader params here
+ }
+
+ return param_map;
+}
+
+//=========================================================================
+const F32 LLSettingsVOWater::WATER_FOG_LIGHT_CLAMP(0.3f);
+
+//-------------------------------------------------------------------------
+LLSettingsVOWater::LLSettingsVOWater(const LLSD &data) :
+ LLSettingsWater(data)
+{
+
+}
+
+LLSettingsVOWater::LLSettingsVOWater() :
+ LLSettingsWater()
+{
+
+}
+
+LLSettingsWater::ptr_t LLSettingsVOWater::buildWater(LLSD settings)
+{
+ LLSettingsWater::validation_list_t validations = LLSettingsWater::validationList();
+ LLSD results = LLSettingsWater::settingValidation(settings, validations);
+ if (!results["success"].asBoolean())
+ {
+ LL_WARNS("SETTINGS") << "Water setting validation failed!\n" << results << LL_ENDL;
+ LLSettingsWater::ptr_t();
+ }
+
+ return std::make_shared<LLSettingsVOWater>(settings);
+}
+
+//-------------------------------------------------------------------------
+LLSettingsWater::ptr_t LLSettingsVOWater::buildFromLegacyPreset(const std::string &name, const LLSD &legacy)
+{
+ LLSD newsettings(LLSettingsWater::translateLegacySettings(legacy));
+
+ newsettings[SETTING_NAME] = name;
+ LLSettingsWater::validation_list_t validations = LLSettingsWater::validationList();
+ LLSD results = LLSettingsWater::settingValidation(newsettings, validations);
+ if (!results["success"].asBoolean())
+ {
+ LL_WARNS("SETTINGS") << "Water setting validation failed!: " << results << LL_ENDL;
+ return LLSettingsWater::ptr_t();
+ }
+
+ LLSettingsWater::ptr_t waterp = std::make_shared<LLSettingsVOWater>(newsettings);
+
+#ifdef VERIFY_LEGACY_CONVERSION
+ LLSD oldsettings = LLSettingsVOWater::convertToLegacy(waterp);
+
+ if (!llsd_equals(legacy, oldsettings))
+ {
+ LL_WARNS("WATER") << "Conversion to/from legacy does not match!\n"
+ << "Old: " << legacy
+ << "new: " << oldsettings << LL_ENDL;
+ }
+
+#endif
+ return waterp;
+}
+
+LLSettingsWater::ptr_t LLSettingsVOWater::buildFromLegacyPresetFile(const std::string &name, const std::string &path)
+{
+ LLSD legacy_data = read_legacy_preset_data(name, path);
+
+ if (!legacy_data)
+ {
+ LL_WARNS("SETTINGS") << "Could not load legacy Windlight \"" << name << "\" from " << path << LL_ENDL;
+ return ptr_t();
+ }
+
+ return buildFromLegacyPreset(name, legacy_data);
+}
+
+
+LLSettingsWater::ptr_t LLSettingsVOWater::buildDefaultWater()
+{
+ static LLSD default_settings;
+
+ if (!default_settings.size())
+ {
+ default_settings = LLSettingsWater::defaults();
+
+ default_settings[SETTING_NAME] = std::string("_default_");
+
+ LLSettingsWater::validation_list_t validations = LLSettingsWater::validationList();
+ LLSD results = LLSettingsWater::settingValidation(default_settings, validations);
+ if (!results["success"].asBoolean())
+ {
+ LL_WARNS("SETTINGS") << "Water setting validation failed!: " << results << LL_ENDL;
+ return LLSettingsWater::ptr_t();
+ }
+ }
+
+ LLSettingsWater::ptr_t waterp = std::make_shared<LLSettingsVOWater>(default_settings);
+
+ return waterp;
+}
+
+LLSettingsWater::ptr_t LLSettingsVOWater::buildClone() const
+{
+ LLSD settings = cloneSettings();
+ LLSettingsWater::validation_list_t validations = LLSettingsWater::validationList();
+ LLSD results = LLSettingsWater::settingValidation(settings, validations);
+ if (!results["success"].asBoolean())
+ {
+ LL_WARNS("SETTINGS") << "Water setting validation failed!: " << results << LL_ENDL;
+ return LLSettingsWater::ptr_t();
+ }
+
+ LLSettingsWater::ptr_t waterp = std::make_shared<LLSettingsVOWater>(settings);
+
+ return waterp;
+}
+
+LLSD LLSettingsVOWater::convertToLegacy(const LLSettingsWater::ptr_t &pwater)
+{
+ LLSD legacy(LLSD::emptyMap());
+ LLSD settings = pwater->getSettings();
+
+ legacy[SETTING_LEGACY_BLUR_MULTIPLIER] = settings[SETTING_BLUR_MULTIPLIER];
+ legacy[SETTING_LEGACY_FOG_COLOR] = ensure_array_4(settings[SETTING_FOG_COLOR], 1.0f);
+ legacy[SETTING_LEGACY_FOG_DENSITY] = settings[SETTING_FOG_DENSITY];
+ legacy[SETTING_LEGACY_FOG_MOD] = settings[SETTING_FOG_MOD];
+ legacy[SETTING_LEGACY_FRESNEL_OFFSET] = settings[SETTING_FRESNEL_OFFSET];
+ legacy[SETTING_LEGACY_FRESNEL_SCALE] = settings[SETTING_FRESNEL_SCALE];
+ legacy[SETTING_LEGACY_NORMAL_MAP] = settings[SETTING_NORMAL_MAP];
+ legacy[SETTING_LEGACY_NORMAL_SCALE] = settings[SETTING_NORMAL_SCALE];
+ legacy[SETTING_LEGACY_SCALE_ABOVE] = settings[SETTING_SCALE_ABOVE];
+ legacy[SETTING_LEGACY_SCALE_BELOW] = settings[SETTING_SCALE_BELOW];
+ legacy[SETTING_LEGACY_WAVE1_DIR] = settings[SETTING_WAVE1_DIR];
+ legacy[SETTING_LEGACY_WAVE2_DIR] = settings[SETTING_WAVE2_DIR];
+
+ //_WARNS("LAPRAS") << "Legacy water: " << legacy << LL_ENDL;
+ return legacy;
+}
+//-------------------------------------------------------------------------
+//-------------------------------------------------------------------------
+void LLSettingsVOWater::applySpecial(void *ptarget)
+{
+ LLGLSLShader *shader = (LLGLSLShader *)ptarget;
+
+ if (shader->mShaderGroup == LLGLSLShader::SG_WATER)
+ {
+ //transform water plane to eye space
+ glh::vec3f norm(0.f, 0.f, 1.f);
+ glh::vec3f p(0.f, 0.f, LLEnvironment::instance().getWaterHeight() + 0.1f);
+
+ F32 modelView[16];
+ for (U32 i = 0; i < 16; i++)
+ {
+ modelView[i] = (F32)gGLModelView[i];
+ }
+
+ glh::matrix4f mat(modelView);
+ glh::matrix4f invtrans = mat.inverse().transpose();
+ glh::vec3f enorm;
+ glh::vec3f ep;
+ invtrans.mult_matrix_vec(norm, enorm);
+ enorm.normalize();
+ mat.mult_matrix_vec(p, ep);
+
+ LLVector4 waterPlane(enorm.v[0], enorm.v[1], enorm.v[2], -ep.dot(enorm));
+
+ shader->uniform4fv(LLShaderMgr::WATER_WATERPLANE, 1, waterPlane.mV);
+
+ LLVector4 light_direction = LLEnvironment::instance().getClampedLightNorm();
+
+ F32 waterFogKS = 1.f / llmax(light_direction.mV[2], WATER_FOG_LIGHT_CLAMP);
+
+ shader->uniform1f(LLShaderMgr::WATER_FOGKS, waterFogKS);
+
+ F32 blend_factor = LLEnvironment::instance().getCurrentWater()->getBlendFactor();
+ shader->uniform1f(LLShaderMgr::BLEND_FACTOR, blend_factor);
+
+ LLVector4 rotated_light_direction = LLEnvironment::instance().getRotatedLightNorm();
+ shader->uniform4fv(LLViewerShaderMgr::LIGHTNORM, 1, rotated_light_direction.mV);
+ shader->uniform3fv(LLShaderMgr::WL_CAMPOSLOCAL, 1, LLViewerCamera::getInstance()->getOrigin().mV);
+ shader->uniform1f(LLViewerShaderMgr::DISTANCE_MULTIPLIER, 0);
+ }
+}
+
+void LLSettingsVOWater::updateSettings()
+{
+ // base class clears dirty flag so as to not trigger recursive update
+ LLSettingsBase::updateSettings();
+
+ LLDrawPoolWater* pwaterpool = (LLDrawPoolWater*)gPipeline.getPool(LLDrawPool::POOL_WATER);
+ if (pwaterpool)
+ {
+ pwaterpool->setTransparentTextures(getTransparentTextureID(), getNextTransparentTextureID());
+ pwaterpool->setOpaqueTexture(GetDefaultOpaqueTextureAssetId());
+ pwaterpool->setNormalMaps(getNormalMapID(), getNextNormalMapID());
+ }
+}
+
+LLSettingsWater::parammapping_t LLSettingsVOWater::getParameterMap() const
+{
+ static parammapping_t param_map;
+
+ if (param_map.empty())
+ {
+ param_map[SETTING_FOG_COLOR] = LLShaderMgr::WATER_FOGCOLOR;
+ param_map[SETTING_FOG_DENSITY] = LLShaderMgr::WATER_FOGDENSITY;
+ }
+ return param_map;
+}
+
+//=========================================================================
+LLSettingsVODay::LLSettingsVODay(const LLSD &data):
+ LLSettingsDay(data)
+{}
+
+LLSettingsVODay::LLSettingsVODay():
+ LLSettingsDay()
+{}
+
+LLSettingsDay::ptr_t LLSettingsVODay::buildDay(LLSD settings)
+{
+ LLSettingsDay::validation_list_t validations = LLSettingsDay::validationList();
+ LLSD results = LLSettingsDay::settingValidation(settings, validations);
+ if (!results["success"].asBoolean())
+ {
+ LL_WARNS("SETTINGS") << "Day setting validation failed!\n" << results << LL_ENDL;
+ LLSettingsDay::ptr_t();
+ }
+
+ LLSettingsDay::ptr_t pday = std::make_shared<LLSettingsVODay>(settings);
+ if (pday)
+ pday->initialize();
+
+ return pday;
+}
+
+//-------------------------------------------------------------------------
+LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyPreset(const std::string &name, const std::string &path, const LLSD &oldsettings)
+{
+ LLSD newsettings(defaults());
+ std::set<std::string> framenames;
+ std::set<std::string> notfound;
+
+ std::string base_path(gDirUtilp->getDirName(path));
+ std::string water_path(base_path);
+ std::string sky_path(base_path);
+
+ gDirUtilp->append(water_path, "water");
+ gDirUtilp->append(sky_path, "skies");
+
+ newsettings[SETTING_NAME] = name;
+
+ LLSD watertrack = LLSDArray(
+ LLSDMap(SETTING_KEYKFRAME, LLSD::Real(0.0f))
+ (SETTING_KEYNAME, "water:Default"));
+
+ LLSD skytrack = LLSD::emptyArray();
+
+ for (LLSD::array_const_iterator it = oldsettings.beginArray(); it != oldsettings.endArray(); ++it)
+ {
+ std::string framename = (*it)[1].asString();
+ LLSD entry = LLSDMap(SETTING_KEYKFRAME, (*it)[0].asReal())
+ (SETTING_KEYNAME, "sky:" + framename);
+ framenames.insert(framename);
+ skytrack.append(entry);
+ }
+
+ newsettings[SETTING_TRACKS] = LLSDArray(watertrack)(skytrack);
+
+ LLSD frames(LLSD::emptyMap());
+
+ {
+ LLSettingsWater::ptr_t pwater = LLSettingsVOWater::buildFromLegacyPresetFile("Default", water_path);
+ if (pwater)
+ frames["water:Default"] = pwater->getSettings();
+ }
+
+ for (std::set<std::string>::iterator itn = framenames.begin(); itn != framenames.end(); ++itn)
+ {
+ LLSettingsSky::ptr_t psky = LLSettingsVOSky::buildFromLegacyPresetFile((*itn), sky_path);
+ if (psky)
+ frames["sky:" + (*itn)] = psky->getSettings();
+ }
+
+ newsettings[SETTING_FRAMES] = frames;
+
+ LLSettingsDay::validation_list_t validations = LLSettingsDay::validationList();
+ LLSD results = LLSettingsDay::settingValidation(newsettings, validations);
+ if (!results["success"].asBoolean())
+ {
+ LL_WARNS("SETTINGS") << "Day setting validation failed!: " << results << LL_ENDL;
+ return LLSettingsDay::ptr_t();
+ }
+
+ LLSettingsDay::ptr_t dayp = std::make_shared<LLSettingsVODay>(newsettings);
+
+#ifdef VERIFY_LEGACY_CONVERSION
+ LLSD testsettings = LLSettingsVODay::convertToLegacy(dayp);
+
+ if (!llsd_equals(oldsettings, testsettings))
+ {
+ LL_WARNS("DAYCYCLE") << "Conversion to/from legacy does not match!\n"
+ << "Old: " << oldsettings
+ << "new: " << testsettings << LL_ENDL;
+ }
+
+#endif
+
+ dayp->initialize();
+
+ return dayp;
+}
+
+LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyPresetFile(const std::string &name, const std::string &path)
+{
+ LLSD legacy_data = read_legacy_preset_data(name, path);
+
+ if (!legacy_data)
+ {
+ LL_WARNS("SETTINGS") << "Could not load legacy Windlight \"" << name << "\" from " << path << LL_ENDL;
+ return ptr_t();
+ }
+
+ return buildFromLegacyPreset(name, path, legacy_data);
+}
+
+
+
+LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyMessage(const LLUUID &regionId, LLSD daycycle, LLSD skydefs, LLSD waterdef)
+{
+ LLSD frames(LLSD::emptyMap());
+
+ for (LLSD::map_iterator itm = skydefs.beginMap(); itm != skydefs.endMap(); ++itm)
+ {
+ std::string newname = "sky:" + (*itm).first;
+ LLSD newsettings = LLSettingsSky::translateLegacySettings((*itm).second);
+
+ newsettings[SETTING_NAME] = newname;
+ frames[newname] = newsettings;
+
+ LL_WARNS("SETTINGS") << "created region sky '" << newname << "'" << LL_ENDL;
+ }
+
+ LLSD watersettings = LLSettingsWater::translateLegacySettings(waterdef);
+ std::string watername = "water:"+ watersettings[SETTING_NAME].asString();
+ watersettings[SETTING_NAME] = watername;
+ frames[watername] = watersettings;
+
+ LLSD watertrack = LLSDArray(
+ LLSDMap(SETTING_KEYKFRAME, LLSD::Real(0.0f))
+ (SETTING_KEYNAME, watername));
+
+ LLSD skytrack(LLSD::emptyArray());
+ for (LLSD::array_const_iterator it = daycycle.beginArray(); it != daycycle.endArray(); ++it)
+ {
+ LLSD entry = LLSDMap(SETTING_KEYKFRAME, (*it)[0].asReal())
+ (SETTING_KEYNAME, "sky:" + (*it)[1].asString());
+ skytrack.append(entry);
+ }
+
+ LLSD newsettings = LLSDMap
+ ( SETTING_NAME, "Region (legacy)" )
+ ( SETTING_TRACKS, LLSDArray(watertrack)(skytrack))
+ ( SETTING_FRAMES, frames )
+ ( SETTING_TYPE, "daycycle" );
+
+ //_WARNS("LAPRAS") << "newsettings=" << newsettings << LL_ENDL;
+
+ LLSettingsSky::validation_list_t validations = LLSettingsDay::validationList();
+ LLSD results = LLSettingsDay::settingValidation(newsettings, validations);
+ if (!results["success"].asBoolean())
+ {
+ LL_WARNS("SETTINGS") << "Day setting validation failed!:" << results << LL_ENDL;
+ return LLSettingsDay::ptr_t();
+ }
+
+ LLSettingsDay::ptr_t dayp = std::make_shared<LLSettingsVODay>(newsettings);
+
+ if (dayp)
+ {
+ // true for validation - either validate here, or when cloning for floater.
+ dayp->initialize(true);
+ }
+ return dayp;
+}
+
+
+
+LLSettingsDay::ptr_t LLSettingsVODay::buildDefaultDayCycle()
+{
+ static LLSD default_settings;
+
+ if (!default_settings.size())
+ {
+ default_settings = LLSettingsDay::defaults();
+ default_settings[SETTING_NAME] = std::string("_default_");
+
+ LLSettingsDay::validation_list_t validations = LLSettingsDay::validationList();
+ LLSD results = LLSettingsDay::settingValidation(default_settings, validations);
+ if (!results["success"].asBoolean())
+ {
+ LL_WARNS("SETTINGS") << "Day setting validation failed!\n" << results << LL_ENDL;
+ LLSettingsDay::ptr_t();
+ }
+ }
+
+ LLSettingsDay::ptr_t dayp = std::make_shared<LLSettingsVODay>(default_settings);
+
+ dayp->initialize();
+ return dayp;
+}
+
+LLSettingsDay::ptr_t LLSettingsVODay::buildFromEnvironmentMessage(LLSD settings)
+{
+ LLSettingsDay::validation_list_t validations = LLSettingsDay::validationList();
+ LLSD results = LLSettingsDay::settingValidation(settings, validations);
+ if (!results["success"].asBoolean())
+ {
+ LL_WARNS("SETTINGS") << "Day setting validation failed!\n" << results << LL_ENDL;
+ LLSettingsDay::ptr_t();
+ }
+
+ LLSettingsDay::ptr_t dayp = std::make_shared<LLSettingsVODay>(settings);
+
+ dayp->initialize();
+ return dayp;
+}
+
+
+void LLSettingsVODay::buildFromOtherSetting(LLSettingsBase::ptr_t settings, LLSettingsVODay::asset_built_fn cb)
+{
+ if (settings->getSettingsType() == "daycycle")
+ {
+ if (cb)
+ cb(std::static_pointer_cast<LLSettingsDay>(settings));
+ }
+ else
+ {
+ LLSettingsVOBase::getSettingsAsset(LLSettingsDay::GetDefaultAssetId(),
+ [settings, cb](LLUUID, LLSettingsBase::ptr_t pday, S32, LLExtStat){ combineIntoDayCycle(std::static_pointer_cast<LLSettingsDay>(pday), settings, cb); });
+ }
+}
+
+void LLSettingsVODay::combineIntoDayCycle(LLSettingsDay::ptr_t pday, LLSettingsBase::ptr_t settings, asset_built_fn cb)
+{
+ if (settings->getSettingsType() == "sky")
+ {
+ pday->setName("sky: " + settings->getName());
+ pday->clearCycleTrack(1);
+ pday->setSettingsAtKeyframe(settings, 0.0, 1);
+ }
+ else if (settings->getSettingsType() == "water")
+ {
+ pday->setName("water: " + settings->getName());
+ pday->clearCycleTrack(0);
+ pday->setSettingsAtKeyframe(settings, 0.0, 0);
+ }
+ else
+ {
+ pday.reset();
+ }
+
+ if (cb)
+ cb(pday);
+}
+
+
+LLSettingsDay::ptr_t LLSettingsVODay::buildClone() const
+{
+ LLSD settings = cloneSettings();
+
+ LLSettingsDay::validation_list_t validations = LLSettingsDay::validationList();
+ LLSD results = LLSettingsDay::settingValidation(settings, validations);
+ if (!results["success"].asBoolean())
+ {
+ LL_WARNS("SETTINGS") << "Day setting validation failed!\n" << results << LL_ENDL;
+ LLSettingsDay::ptr_t();
+ }
+
+ LLSettingsDay::ptr_t dayp = std::make_shared<LLSettingsVODay>(settings);
+
+ U32 flags = getFlags();
+ if (flags)
+ dayp->setFlags(flags);
+
+ dayp->initialize();
+ return dayp;
+}
+
+LLSettingsDay::ptr_t LLSettingsVODay::buildDeepCloneAndUncompress() const
+{
+ // no need for SETTING_TRACKS or SETTING_FRAMES, so take base LLSD
+ LLSD settings = llsd_clone(mSettings);
+
+ LLSettingsDay::ptr_t day_clone = std::make_shared<LLSettingsVODay>(settings);
+
+ for (S32 i = 0; i < LLSettingsDay::TRACK_MAX; ++i)
+ {
+ const LLSettingsDay::CycleTrack_t& track = getCycleTrackConst(i);
+ LLSettingsDay::CycleTrack_t::const_iterator iter = track.begin();
+ while (iter != track.end())
+ {
+ // 'Unpack', usually for editing
+ // - frames 'share' settings multiple times
+ // - settings can reuse LLSDs they were initialized from
+ // We do not want for edited frame to change multiple frames in same track, so do a clone
+ day_clone->setSettingsAtKeyframe(iter->second->buildDerivedClone(), iter->first, i);
+ iter++;
+ }
+ }
+ return day_clone;
+}
+
+LLSD LLSettingsVODay::convertToLegacy(const LLSettingsVODay::ptr_t &pday)
+{
+ CycleTrack_t &trackwater = pday->getCycleTrack(TRACK_WATER);
+
+ LLSettingsWater::ptr_t pwater;
+ if (!trackwater.empty())
+ {
+ pwater = std::static_pointer_cast<LLSettingsWater>((*trackwater.begin()).second);
+ }
+
+ if (!pwater)
+ pwater = LLSettingsVOWater::buildDefaultWater();
+
+ LLSD llsdwater = LLSettingsVOWater::convertToLegacy(pwater);
+
+ CycleTrack_t &tracksky = pday->getCycleTrack(1); // first sky track
+ std::map<std::string, LLSettingsSky::ptr_t> skys;
+
+ LLSD llsdcycle(LLSD::emptyArray());
+
+ for(CycleTrack_t::iterator it = tracksky.begin(); it != tracksky.end(); ++it)
+ {
+ size_t hash = (*it).second->getHash();
+ std::stringstream name;
+
+ name << hash;
+
+ skys[name.str()] = std::static_pointer_cast<LLSettingsSky>((*it).second);
+
+ F32 frame = ((tracksky.size() == 1) && (it == tracksky.begin())) ? -1.0f : (*it).first;
+ llsdcycle.append( LLSDArray(LLSD::Real(frame))(name.str()) );
+ }
+ //_WARNS("LAPRAS") << "Cycle created with " << llsdcycle.size() << "entries: " << llsdcycle << LL_ENDL;
+
+ LLSD llsdskylist(LLSD::emptyMap());
+
+ for (std::map<std::string, LLSettingsSky::ptr_t>::iterator its = skys.begin(); its != skys.end(); ++its)
+ {
+ LLSD llsdsky = LLSettingsVOSky::convertToLegacy((*its).second, false);
+ llsdsky[SETTING_NAME] = (*its).first;
+
+ llsdskylist[(*its).first] = llsdsky;
+ }
+
+ //_WARNS("LAPRAS") << "Sky map with " << llsdskylist.size() << " entries created: " << llsdskylist << LL_ENDL;
+
+ return LLSDArray(LLSD::emptyMap())(llsdcycle)(llsdskylist)(llsdwater);
+}
+
+LLSettingsSkyPtr_t LLSettingsVODay::getDefaultSky() const
+{
+ return LLSettingsVOSky::buildDefaultSky();
+}
+
+LLSettingsWaterPtr_t LLSettingsVODay::getDefaultWater() const
+{
+ return LLSettingsVOWater::buildDefaultWater();
+}
+
+LLSettingsSkyPtr_t LLSettingsVODay::buildSky(LLSD settings) const
+{
+ LLSettingsSky::ptr_t skyp = std::make_shared<LLSettingsVOSky>(settings);
+
+ if (skyp->validate())
+ return skyp;
+
+ return LLSettingsSky::ptr_t();
+}
+
+LLSettingsWaterPtr_t LLSettingsVODay::buildWater(LLSD settings) const
+{
+ LLSettingsWater::ptr_t waterp = std::make_shared<LLSettingsVOWater>(settings);
+
+ if (waterp->validate())
+ return waterp;
+
+ return LLSettingsWater::ptr_t();
+}
+
+//=========================================================================
+namespace
+{
+ LLSD ensure_array_4(LLSD in, F32 fill)
+ {
+ if (in.size() >= 4)
+ return in;
+
+ LLSD out(LLSD::emptyArray());
+
+ for (S32 idx = 0; idx < in.size(); ++idx)
+ {
+ out.append(in[idx]);
+ }
+
+ while (out.size() < 4)
+ {
+ out.append(LLSD::Real(fill));
+ }
+ return out;
+ }
+
+ // This is a disturbing hack
+ std::string legacy_name_to_filename(const std::string &name, bool convertdash = false)
+ {
+ std::string fixedname(LLURI::escape(name));
+
+ if (convertdash)
+ boost::algorithm::replace_all(fixedname, "-", "%2D");
+
+ return fixedname;
+ }
+
+ //---------------------------------------------------------------------
+ LLSD read_legacy_preset_data(const std::string &name, const std::string& path)
+ {
+ llifstream xml_file;
+
+ std::string full_path(path);
+ std::string full_name(name);
+ full_name += ".xml";
+ gDirUtilp->append(full_path, full_name);
+
+ xml_file.open(full_path.c_str());
+ if (!xml_file)
+ {
+ std::string bad_path(full_path);
+ full_path = path;
+ full_name = legacy_name_to_filename(name);
+ full_name += ".xml";
+ gDirUtilp->append(full_path, full_name);
+
+ LL_INFOS("LEGACYSETTING") << "Could not open \"" << bad_path << "\" trying escaped \"" << full_path << "\"" << LL_ENDL;
+
+ xml_file.open(full_path.c_str());
+ if (!xml_file)
+ {
+ LL_WARNS("LEGACYSETTING") << "Unable to open legacy windlight \"" << name << "\" from " << path << LL_ENDL;
+
+ full_path = path;
+ full_name = legacy_name_to_filename(name, true);
+ full_name += ".xml";
+ gDirUtilp->append(full_path, full_name);
+ xml_file.open(full_path.c_str());
+ if (!xml_file)
+ {
+ LL_WARNS("LEGACYSETTING") << "Unable to open legacy windlight \"" << name << "\" from " << path << LL_ENDL;
+ return LLSD();
+ }
+ }
+ }
+
+ LLSD params_data;
+ LLPointer<LLSDParser> parser = new LLSDXMLParser();
+ parser->parse(xml_file, params_data, LLSDSerialize::SIZE_UNLIMITED);
+ xml_file.close();
+
+ return params_data;
+ }
+}
diff --git a/indra/newview/skins/default/xui/de/floater_about_land.xml b/indra/newview/skins/default/xui/de/floater_about_land.xml
index 1e18ab20e8..4345c0ef15 100644
--- a/indra/newview/skins/default/xui/de/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/de/floater_about_land.xml
@@ -465,5 +465,6 @@ Nur große Parzellen können in der Suche aufgeführt werden.
</panel>
</panel>
<panel label="ERLEBNISSE" name="land_experiences_panel"/>
+ <panel label="UMGEBUNG" name="land_environment_panel"/>
</tab_container>
</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_edit_ext_day_cycle.xml b/indra/newview/skins/default/xui/de/floater_edit_ext_day_cycle.xml
new file mode 100644
index 0000000000..dd53b470d0
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/floater_edit_ext_day_cycle.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="env_edit_extdaycycle" title="Tageszyklus bearbeiten">
+ <string name="title_new">
+ Neuen Tageszyklus erstellen
+ </string>
+ <string name="title_edit">
+ Tageszyklus bearbeiten
+ </string>
+ <string name="hint_new">
+ Geben Sie einen Namen für den Tageszyklus ein, passen Sie die Steuerungen an, um den Tageszyklus zu erstellen, und klicken Sie auf „Speichern“.
+ </string>
+ <string name="hint_edit">
+ Um den Tageszyklus zu bearbeiten, passen Sie die unten angezeigten Steuerungen an und klicken Sie auf „Speichern“.
+ </string>
+ <string name="time_label">
+ ([HH]:[MM])
+ </string>
+ <string name="sky_track_label">
+ Himmel [ALT]
+ </string>
+ <layout_stack name="outer_stack">
+ <layout_panel name="name_and_import">
+ <text name="label">
+ Name des Tageszyklus:
+ </text>
+ <button label="Importieren" name="btn_import" tool_tip="Alte Einstellungen von Datenträger importieren."/>
+ </layout_panel>
+ <layout_panel name="content">
+ <layout_stack name="content_stack">
+ <layout_panel name="timeline_track_selection">
+ <panel name="timeline_layers">
+ <button label="Himmel 4" name="sky4_track"/>
+ <button label="Himmel 3" name="sky3_track"/>
+ <button label="Himmel 2" name="sky2_track"/>
+ <button label="Bodenhöhe" name="sky1_track"/>
+ <button label="Wasser" name="water_track"/>
+ </panel>
+ <panel name="timeline">
+ <text name="p0" value="0%[DSC]"/>
+ <text name="p1" value="25%[DSC]"/>
+ <text name="p2" value="50%[DSC]"/>
+ <text name="p3" value="75%[DSC]"/>
+ <text name="p4" value="100%[DSC]"/>
+ <multi_slider initial_value="0" name="WLTimeSlider"/>
+ <multi_slider initial_value="0" name="WLDayCycleFrames"/>
+ <text name="current_time" value="[PRCNT]%[DSC]"/>
+ <layout_stack name="progress_control">
+ <layout_panel name="skip_back">
+ <button name="skip_back_btn" tool_tip="Schritt vor"/>
+ </layout_panel>
+ <layout_panel name="skip_forward">
+ <button name="skip_forward_btn" tool_tip="Schritt zurück"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="Frame hinzufügen" name="add_frame"/>
+ <button label="Frame laden" name="btn_load_frame"/>
+ <button label="Frame löschen" name="delete_frame"/>
+ </panel>
+ </layout_panel>
+ <layout_panel name="frame_edit_controls">
+ <text name="icn_lock_edit">
+ Wählen Sie einen Schlüssel-Frame aus der obigen Zeitlinie, um die Einstellungen zu bearbeiten.
+ </text>
+ </layout_panel>
+ <layout_panel name="frame_settings_water">
+ <tab_container name="water_tabs">
+ <panel label="Wasser" name="water_panel"/>
+ </tab_container>
+ </layout_panel>
+ <layout_panel name="frame_settings_sky">
+ <tab_container name="sky_tabs">
+ <panel label="Atmosphäre und Beleuchtung" name="atmosphere_panel"/>
+ <panel label="Wolken" name="clouds_panel"/>
+ <panel label="Sonne und Mond" name="moon_panel"/>
+ </tab_container>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="buttons">
+ <button label="Speichern" name="save_btn"/>
+ <button label="Abbrechen" name="cancel_btn"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_fixedenvironment.xml b/indra/newview/skins/default/xui/de/floater_fixedenvironment.xml
new file mode 100644
index 0000000000..c18e333571
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/floater_fixedenvironment.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Fixed Environment" title="Festgelegte Umgebung">
+ <string name="edit_sky">
+ Himmel bearbeiten:
+ </string>
+ <string name="edit_water">
+ Wasser bearbeiten:
+ </string>
+ <layout_stack name="floater_stack">
+ <layout_panel name="info_panel">
+ <button label="Laden" name="btn_load" tool_tip="Einstellungen aus dem Inventar laden"/>
+ <button label="Importieren" name="btn_import" tool_tip="Alte Einstellungen von Datenträger importieren."/>
+ </layout_panel>
+ <layout_panel name="button_panel">
+ <layout_stack name="button_bar_ls">
+ <layout_panel name="save_btn_lp">
+ <button label="Speichern" name="btn_commit"/>
+ </layout_panel>
+ <layout_panel name="revert_btn_lp">
+ <button label="Abbrechen" name="btn_cancel" tool_tip="Zur zuletzt gespeicherten Version zurückkehren"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/de/floater_inventory_view_finder.xml
index cdacabec90..b361b88aa8 100644
--- a/indra/newview/skins/default/xui/de/floater_inventory_view_finder.xml
+++ b/indra/newview/skins/default/xui/de/floater_inventory_view_finder.xml
@@ -12,6 +12,7 @@
<check_box label="Sounds" name="check_sound"/>
<check_box label="Texturen" name="check_texture"/>
<check_box label="Fotos" name="check_snapshot"/>
+ <check_box label="Einstellungen" name="check_settings"/>
<button label="Alle" label_selected="Alle" name="All"/>
<button label="Keine" label_selected="Keine" name="None"/>
<check_box label="Ordner immer anzeigen" name="check_show_empty"/>
diff --git a/indra/newview/skins/default/xui/de/floater_my_environments.xml b/indra/newview/skins/default/xui/de/floater_my_environments.xml
new file mode 100644
index 0000000000..16f7d6f646
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/floater_my_environments.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater label="Orte" name="my_environments" title="MEINE UMGEBUNGEN">
+ <layout_stack>
+ <layout_panel label="Filter" name="filter_panel">
+ <check_box label="Tage" name="chk_days"/>
+ <check_box label="Himmel" name="chk_skies"/>
+ <check_box label="Wasser" name="chk_water"/>
+ </layout_panel>
+ <layout_panel label="Umgebungen" name="list_panel">
+ <check_box initial_value="false" label="Leere Ordner anzeigen" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="pnl_control">
+ <panel label="bottom_panel" name="pnl_bottom">
+ <menu_button name="btn_gear" tool_tip="Weitere Optionen"/>
+ <menu_button name="btn_newsettings" tool_tip="Neue Einstellung erstellen"/>
+ <button name="btn_del" tool_tip="Diese Einstellung löschen"/>
+ </panel>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_settings_picker.xml b/indra/newview/skins/default/xui/de/floater_settings_picker.xml
new file mode 100644
index 0000000000..1d8951078f
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/floater_settings_picker.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="settings picker" title="AUSWÄHLEN: EINSTELLUNGEN">
+ <floater.string name="choose_picture">
+ Klicken, um ein Bild auszuwählen
+ </floater.string>
+ <floater.string name="pick title">
+ Auswahl:
+ </floater.string>
+ <layout_stack name="test_stack">
+ <layout_panel name="temp">
+ <filter_editor label="Texturen filtern" name="flt_inventory_search"/>
+ <check_box initial_value="false" label="Ordner anzeigen" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="temp">
+ <button label="OK" label_selected="OK" name="btn_select"/>
+ <button label="Abbrechen" label_selected="Abbrechen" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/de/menu_inventory.xml b/indra/newview/skins/default/xui/de/menu_inventory.xml
index e02d464a3d..8aafd16221 100644
--- a/indra/newview/skins/default/xui/de/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/de/menu_inventory.xml
@@ -10,7 +10,6 @@
<menu_item_call label="Aktivieren" name="Marketplace Activate"/>
<menu_item_call label="Deaktivieren" name="Marketplace Deactivate"/>
<menu_item_call label="Teilen" name="Share"/>
- <menu_item_call label="Kaufen" name="Task Buy"/>
<menu_item_call label="Öffnen" name="Task Open"/>
<menu_item_call label="Abspielen" name="Task Play"/>
<menu_item_call label="Eigenschaften" name="Task Properties"/>
@@ -42,6 +41,11 @@
<menu_item_call label="Neues Haar" name="New Hair"/>
<menu_item_call label="Neue Augen" name="New Eyes"/>
</menu>
+ <menu label="Neue Einstellungen" name="New Settings">
+ <menu_item_call label="Neuer Himmel" name="New Sky"/>
+ <menu_item_call label="Neues Wasser" name="New Water"/>
+ <menu_item_call label="Neuer Tageszyklus" name="New Day Cycle"/>
+ </menu>
<menu label="Als Standard verwenden für" name="upload_def">
<menu_item_call label="Hochgeladene Bilder" name="Image uploads"/>
<menu_item_call label="Hochgeladene Sounds" name="Sound uploads"/>
@@ -103,6 +107,9 @@
<menu_item_call label="Bearbeiten" name="Wearable Edit"/>
<menu_item_call label="Hinzufügen" name="Wearable Add"/>
<menu_item_call label="Ausziehen" name="Take Off"/>
+ <menu_item_call label="Nur auf mich anwenden" name="Settings Apply Local"/>
+ <menu_item_call label="Auf Parzelle anwenden" name="Settings Apply Parcel"/>
+ <menu_item_call label="Auf Region anwenden" name="Settings Apply Region"/>
<menu_item_call label="In Marktplatz-Auflistungen kopieren" name="Marketplace Copy"/>
<menu_item_call label="In Marktplatz-Auflistungen verschieben" name="Marketplace Move"/>
<menu_item_call label="--keine Optionen--" name="--no options--"/>
diff --git a/indra/newview/skins/default/xui/de/menu_inventory_add.xml b/indra/newview/skins/default/xui/de/menu_inventory_add.xml
index af70c08ba1..4b4e96045d 100644
--- a/indra/newview/skins/default/xui/de/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/de/menu_inventory_add.xml
@@ -5,9 +5,7 @@
<menu_item_call label="Sound ([COST] L$)..." name="Upload Sound"/>
<menu_item_call label="Animation ([COST] L$)..." name="Upload Animation"/>
<menu_item_call label="Modell..." name="Upload Model"/>
- <menu_item_call label="Modellassistent..." name="Upload Model Wizard"/>
<menu_item_call label="Mehrfach-Upload ([COST] L$ pro Datei)..." name="Bulk Upload"/>
- <menu_item_call label="Hochlade-Berechtigungen (Standard) festlegen" name="perm prefs"/>
</menu>
<menu_item_call label="Neuer Ordner" name="New Folder"/>
<menu_item_call label="Neues Skript" name="New Script"/>
@@ -33,4 +31,9 @@
<menu_item_call label="Neues Haar" name="New Hair"/>
<menu_item_call label="Neue Augen" name="New Eyes"/>
</menu>
+ <menu label="Neue Einstellungen" name="New Settings">
+ <menu_item_call label="Neuer Himmel" name="New Sky"/>
+ <menu_item_call label="Neues Wasser" name="New Water"/>
+ <menu_item_call label="Neuer Tageszyklus" name="New Day Cycle"/>
+ </menu>
</menu>
diff --git a/indra/newview/skins/default/xui/de/menu_save_settings.xml b/indra/newview/skins/default/xui/de/menu_save_settings.xml
new file mode 100644
index 0000000000..458c3fdc14
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/menu_save_settings.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_settings_menu">
+ <menu_item_check label="Speichern" name="save_settings"/>
+ <menu_item_check label="Speichern unter" name="save_as_new_settings"/>
+ <menu_item_check label="Festlegen" name="commit_changes"/>
+ <menu_item_check label="Nur auf mich anwenden" name="apply_local"/>
+ <menu_item_check label="Auf Parzelle anwenden" name="apply_parcel"/>
+ <menu_item_check label="Auf Region anwenden" name="apply_region"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/de/menu_settings_add.xml b/indra/newview/skins/default/xui/de/menu_settings_add.xml
new file mode 100644
index 0000000000..ebf6c2b314
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/menu_settings_add.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_add">
+ <menu_item_call label="Neuer Himmel" name="New Sky"/>
+ <menu_item_call label="Neues Wasser" name="New Water"/>
+ <menu_item_call label="Neuer Tageszyklus" name="New Day Cycle"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/de/menu_settings_gear.xml b/indra/newview/skins/default/xui/de/menu_settings_gear.xml
new file mode 100644
index 0000000000..4be4675899
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/menu_settings_gear.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_gear">
+ <menu_item_call label="Bearbeiten" name="edit_settings"/>
+ <menu_item_call label="Nur auf mich anwenden" name="Settings Apply Local"/>
+ <menu_item_call label="Auf Parzelle anwenden" name="Settings Apply Parcel"/>
+ <menu_item_call label="Auf Region anwenden" name="Settings Apply Region"/>
+ <menu_item_call label="Kopieren" name="copy_settings"/>
+ <menu_item_call label="Einfügen" name="paste_settings"/>
+ <menu_item_call label="UUID kopieren" name="copy_uuid"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml
index 183aa24008..208f457c57 100644
--- a/indra/newview/skins/default/xui/de/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/de/menu_viewer.xml
@@ -77,27 +77,14 @@
<menu_item_check label="Parzelleneigenschaften" name="Parcel Properties"/>
<menu_item_check label="Menü „Erweitert“" name="Show Advanced Menu"/>
</menu>
- <menu label="Sonne" name="Sun">
+ <menu label="Umgebung" name="Environment">
<menu_item_check label="Sonnenaufgang" name="Sunrise"/>
<menu_item_check label="Mittag" name="Noon"/>
<menu_item_check label="Sonnenuntergang" name="Sunset"/>
<menu_item_check label="Mitternacht" name="Midnight"/>
- <menu_item_check label="Regionseinstellungen verwenden" name="Use Region Settings"/>
- </menu>
- <menu label="Umwelt-Editor" name="Environment Editor">
- <menu_item_call label="Umwelt-Einstellungen..." name="Environment Settings"/>
- <menu label="Wasser-Voreinstellungen" name="Water Presets">
- <menu_item_call label="Neue Voreinstellung..." name="new_water_preset"/>
- <menu_item_call label="Voreinstellung bearbeiten..." name="edit_water_preset"/>
- </menu>
- <menu label="Himmel-Voreinstellungen" name="Sky Presets">
- <menu_item_call label="Neue Voreinstellung..." name="new_sky_preset"/>
- <menu_item_call label="Voreinstellung bearbeiten..." name="edit_sky_preset"/>
- </menu>
- <menu label="Tag-Voreinstellungen" name="Day Presets">
- <menu_item_call label="Neue Voreinstellung..." name="new_day_preset"/>
- <menu_item_call label="Voreinstellung bearbeiten..." name="edit_day_preset"/>
- </menu>
+ <menu_item_check label="Gemeinsame Umgebung verwenden" name="Use Shared Environment"/>
+ <menu_item_call label="Meine Umgebungen..." name="my_environs"/>
+ <menu_item_check label="Wolken pausieren" name="pause_clouds"/>
</menu>
</menu>
<menu label="Bauen" name="BuildTools">
@@ -275,7 +262,6 @@
<menu_item_check label="Matrizen anzeigen" name="Show Matrices"/>
<menu_item_check label="Farbe unter Cursor anzeigen" name="Show Color Under Cursor"/>
<menu_item_check label="Speicher anzeigen" name="Show Memory"/>
- <menu_item_check label="Info über privaten Speicher anzeigen" name="Show Private Mem Info"/>
<menu_item_check label="Akutalisierungen an Objekten anzeigen" name="Show Updates"/>
</menu>
<menu label="Fehler erzwingen" name="Force Errors">
diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml
index 8cebd1f441..38e8152ee7 100644
--- a/indra/newview/skins/default/xui/de/notifications.xml
+++ b/indra/newview/skins/default/xui/de/notifications.xml
@@ -1889,7 +1889,7 @@ Tausende Regionen werden verändert und der Spaceserver wird dadurch stark belas
<usetemplate canceltext="Abbrechen" name="yesnocancelbuttons" notext="Alle Grundbesitze" yestext="Diesen Grundbesitz"/>
</notification>
<notification label="Grundbesitz wählen" name="EstateBannedAgentRemove">
- Einwohner nur für diesen Grundbesitz oder für alle [ALL_ESTATES] von der Bannliste entfernen?
+ Den Einwohner nur für diesen Grundbesitz oder für [ALL_ESTATES] von der Bannliste entfernen?
<usetemplate canceltext="Abbrechen" name="yesnocancelbuttons" notext="Alle Grundbesitze" yestext="Diesen Grundbesitz"/>
</notification>
<notification label="Grundbesitz wählen" name="EstateManagerAdd">
@@ -1936,6 +1936,10 @@ Tausende Regionen werden verändert und der Spaceserver wird dadurch stark belas
Durch Deaktivieren dieser Option können Einstellungen der Parzellenbesitzer zum Schutz vor Belästigungen, zur Aufrechterhaltung der Privatsphäre oder zum Schutz von Minderjährigen vor nicht altersgemäßen Inhalten aufgehoben werden. Bitte sprechen Sie mit den Parzellenbesitzern, falls erforderlich.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
+ <notification name="EstateParcelEnvironmentOverride">
+ Durch Deaktivieren dieser Option können jegliche benutzerdefinierten Umgebungen entfernt werden, die von den Parzelleneigentümern zu den Parzellen hinzugefügt wurden. Bitte sprechen Sie mit den Parzellenbesitzern, falls erforderlich.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="RegionEntryAccessBlocked">
Die Region, die Sie besuchen möchten, enthält Inhalte, die Ihre aktuellen Einstellungen überschreiten. Sie können Ihre Einstellungen unter „Ich“ &gt; „Einstellungen“ &gt; „Allgemein“ ändern.
<usetemplate name="okbutton" yestext="OK"/>
@@ -4343,4 +4347,40 @@ Wählen Sie eine kleinere Landfläche aus.
[REASON]
<usetemplate name="okbutton" yestext="OK"/>
</notification>
+ <notification name="FailedToFindSettings">
+ Die Einstellungen für [NAME] konnten nicht aus der Datenbank geladen werden.
+ </notification>
+ <notification name="FailedToLoadSettingsApply">
+ Diese Einstellungen können nicht auf die Umgebung angewendet werden.
+ </notification>
+ <notification name="FailedToBuildSettingsDay">
+ Diese Einstellungen können nicht auf die Umgebung angewendet werden.
+ </notification>
+ <notification name="NoEnvironmentSettings">
+ Diese Region unterstützt keine Umgebungseinstellungen.
+ </notification>
+ <notification name="WLImportFail">
+ Alter Windlight-Einstellungen aus [FILE] können nicht importiert werden.
+ </notification>
+ <notification name="WLParcelApplyFail">
+ Die Umgebung für diese Parzelle kann nicht eingestellt werden.
+Bitte eine Parzelle eingeben oder auswählen, für die Sie die Änderungsrechte besitzen.
+ </notification>
+ <notification name="SettingsUnsuported">
+ Einstellungen werden von dieser Region nicht unterstützt.
+Bitte wechseln sie zu einer Region mit aktivierten Einstellungen und versuchen Sie es erneut.
+ </notification>
+ <notification name="SettingsConfirmLoss">
+ Sie werden die Änderungen an diesem [TYPE] mit der Bezeichnung &quot;[NAME]&quot; verlieren.
+Möchten Sie diesen Vorgang wirklich fortsetzen?
+ <usetemplate ignoretext="Sind Sie sicher, dass Sie die Änderungen verlieren möchten?" name="okcancelignore" notext="Nein" yestext="Ja"/>
+ </notification>
+ <notification name="SettingsMakeNoTrans">
+ Sie versuchen, nicht transferierbare Einstellungen in diesen Tageszyklus zu importieren. Wenn Sie fortfahren, verlieren die von Ihnen bearbeiteten Einstellungen ebenfalls ihre Transferierbarkeit.
+
+Diese Änderung kann nicht rückgängig gemacht werden.
+
+Möchten Sie diesen Vorgang wirklich fortsetzen?
+ <usetemplate ignoretext="Sind Sie sicher, dass Sie die Transferierbarkeit der Einstellungen aufgeben möchten?" name="okcancelignore" notext="Nein" yestext="Ja"/>
+ </notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/de/panel_region_environment.xml b/indra/newview/skins/default/xui/de/panel_region_environment.xml
index daadd30f62..04b6926485 100644
--- a/indra/newview/skins/default/xui/de/panel_region_environment.xml
+++ b/indra/newview/skins/default/xui/de/panel_region_environment.xml
@@ -1,33 +1,77 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Umgebung" name="panel_env_info">
- <text name="water_settings_title">
- Wählen Sie die Wasser- und Himmel-/Tageszykluseinstellungen aus, die alle Besucher Ihrer Region sehen sollen. Mehr Infos
- </text>
- <radio_group name="region_settings_radio_group">
- <radio_item label="Second Life-Standard verwenden" name="use_sl_default_settings"/>
- <radio_item label="Folgende Einstellungen verwenden" name="use_my_settings"/>
- </radio_group>
- <panel name="user_environment_settings">
- <text name="water_settings_title">
- Wassereinstellung
- </text>
- <combo_box name="water_settings_preset_combo">
- <combo_box.item label="-Voreinstellung auswählen-" name="item0"/>
- </combo_box>
- <text name="sky_dayc_settings_title">
- Himmel / Tageszyklus
- </text>
- <radio_group name="sky_dayc_settings_radio_group">
- <radio_item label="Fester Himmel" name="my_sky_settings"/>
- <radio_item label="Tageszyklus" name="my_dayc_settings"/>
- </radio_group>
- <combo_box name="sky_settings_preset_combo">
- <combo_box.item label="-Voreinstellung auswählen-" name="item0"/>
- </combo_box>
- <combo_box name="dayc_settings_preset_combo">
- <combo_box.item label="-Voreinstellung auswählen-" name="item0"/>
- </combo_box>
- </panel>
- <button label="Anwenden" name="apply_btn"/>
- <button label="Abbrechen" name="cancel_btn"/>
+ <string name="str_label_use_default">
+ Standardeinstellungen verwenden
+ </string>
+ <string name="str_label_use_region">
+ Regionseinstellungen verwenden
+ </string>
+ <string name="str_unknow_inventory">
+ Unbekannt
+ </string>
+ <string name="str_altitude_desription">
+ Himmel [INDEX]([ALTITUDE]m)
+ </string>
+ <string name="str_no_parcel">
+ Es ist keine Parzelle ausgewählt. Umgebungseinstellungen sind deaktiviert.
+ </string>
+ <string name="str_cross_region">
+ Umgebungseinstellungen sind außerhalb der Regionsgrenzen nicht verfügbar.
+ </string>
+ <string name="str_legacy">
+ Umgebungseinstellungen sind für diese Region nicht verfügbar
+ </string>
+ <layout_stack>
+ <layout_panel name="pnl_environment_disabled">
+ <text name="txt_environment_disabled">
+ ...
+ </text>
+ </layout_panel>
+ <layout_panel name="pnl_environment_config">
+ <layout_stack>
+ <layout_panel name="pnl_environment_current">
+ <radio_group name="rdg_environment_select">
+ <radio_item label="[USEDEFAULT]" name="rdo_use_xxx_setting"/>
+ <radio_item label="Einstellungen aus dem Inventar" name="rdo_use_inv_setting"/>
+ <radio_item label="Benutzerdefinierte Umgebung" name="rdo_use_custom_setting"/>
+ </radio_group>
+ <line_editor name="edt_inventory_name">
+ Unbekannt
+ </line_editor>
+ <button label="Umgebung bearbeiten" name="btn_edit"/>
+ </layout_panel>
+ <layout_panel name="pnl_environment_length">
+ <text name="lbl_apparent_time">
+ [HH]:[MM][AP] ([PRC]%)
+ </text>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="pnl_environment_altitudes">
+ <panel name="cnt_panel">
+ <multi_slider initial_value="100" name="sld_altitudes">
+ <slider name="sld1" value="200"/>
+ <slider name="sld2" value="400"/>
+ <slider name="sld3" value="600"/>
+ </multi_slider>
+ <text name="ground">
+ Boden
+ </text>
+ <text name="alt1">
+ Himmel [INDEX]([ALTITUDE]m)
+ </text>
+ <text name="alt2">
+ Himmel [INDEX]([ALTITUDE]m)
+ </text>
+ <text name="alt3">
+ Himmel [INDEX]([ALTITUDE]m)
+ </text>
+ </panel>
+ </layout_panel>
+ <layout_panel name="pnl_environment_buttons">
+ <check_box label="Parzelleneigentümer können die Umgebung außer Kraft setzen" name="chk_allow_override"/>
+ <button label="Anwenden" name="btn_apply"/>
+ <button label="Zurücksetzen" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_region_estate.xml b/indra/newview/skins/default/xui/de/panel_region_estate.xml
index 2a7b654954..dd8a562cb7 100644
--- a/indra/newview/skins/default/xui/de/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/de/panel_region_estate.xml
@@ -26,7 +26,7 @@
<check_box label="Direktteleport zulassen" name="allow_direct_teleport"/>
<button label="Übernehmen" name="apply_btn"/>
<text name="estate_manager_label">
- Grundbesitzsverwalter:
+ Grundbesitzverwalter:
</text>
<text name="allow_resident_label">
Immer zugelassen:
diff --git a/indra/newview/skins/default/xui/de/panel_settings_sky_atmos.xml b/indra/newview/skins/default/xui/de/panel_settings_sky_atmos.xml
new file mode 100644
index 0000000000..f14e3fe47f
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_settings_sky_atmos.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Atmosphäre und Beleuchtung" name="panel_settings_sky_atmos"/>
diff --git a/indra/newview/skins/default/xui/de/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/de/panel_settings_sky_clouds.xml
new file mode 100644
index 0000000000..9d78728eed
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_settings_sky_clouds.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Wolken" name="panel_settings_sky_clouds">
+ <layout_stack>
+ <layout_panel>
+ <slider label="X" name="cloud_density_x"/>
+ <slider label="Y" name="cloud_density_y"/>
+ <slider label="D" name="cloud_density_d"/>
+ <slider label="X" name="cloud_detail_x"/>
+ <slider label="Y" name="cloud_detail_y"/>
+ <slider label="D" name="cloud_detail_d"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_settings_sky_density.xml b/indra/newview/skins/default/xui/de/panel_settings_sky_density.xml
new file mode 100644
index 0000000000..d7ee6308d8
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_settings_sky_density.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Dichte" name="panel_settings_sky_density">
+ <layout_stack>
+ <layout_panel>
+ <slider label="Rayleigh-Exponentialterm:" name="rayleigh_exponential"/>
+ <slider label="Rayleigh-Exponentialskala:" name="rayleigh_exponential_scale"/>
+ <slider label="Rayleigh-Linearterm:" name="rayleigh_linear"/>
+ <slider label="Rayleigh-Konstantenterm:" name="rayleigh_constant"/>
+ <slider label="Rayleigh-Maximalhöhe:" name="rayleigh_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="Mie-Exponentialterm:" name="mie_exponential"/>
+ <slider label="Mie-Exponentialskala:" name="mie_exponential_scale"/>
+ <slider label="Mie-Linearterm:" name="mie_linear"/>
+ <slider label="Mie-Konstantenterm:" name="mie_constant"/>
+ <slider label="Mie-Anisofaktor." name="mie_aniso_factor"/>
+ <slider label="Mie-Maximalhöhe:" name="mie_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="Absorptions-Exponentialterm:" name="absorption_exponential"/>
+ <slider label="Absorptions-Exponentialskala:" name="absorption_exponential_scale"/>
+ <slider label="Absorptions-Linearterm:" name="absorption_linear"/>
+ <slider label="Absorptions-Konstantenterm:" name="absorption_constant"/>
+ <slider label="Absorptions-Maximalhöhe:" name="absorption_max_altitude"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/de/panel_settings_sky_sunmoon.xml
new file mode 100644
index 0000000000..7778a9fbc3
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_settings_sky_sunmoon.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Sonne und Mond" name="panel_settings_sky_hbodies"/>
diff --git a/indra/newview/skins/default/xui/de/panel_settings_water.xml b/indra/newview/skins/default/xui/de/panel_settings_water.xml
new file mode 100644
index 0000000000..f11f50dcce
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_settings_water.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Wasser" name="panel_settings_water">
+ <layout_stack name="water_stack1">
+ <layout_panel>
+ <text name="FresnelOffsetText">
+ Fresnel-Versatz:
+ </text>
+ </layout_panel>
+ <layout_panel>
+ <layout_stack name="water_stack2">
+ <layout_panel>
+ <slider label="X:" name="water_normal_scale_x"/>
+ <slider label="Y:" name="water_normal_scale_y"/>
+ <slider label="Z:" name="water_normal_scale_z"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml
index e5f7338181..f91a13c210 100644
--- a/indra/newview/skins/default/xui/de/strings.xml
+++ b/indra/newview/skins/default/xui/de/strings.xml
@@ -635,6 +635,15 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
<string name="BUTTON_HELP">
Hilfe anzeigen
</string>
+ <string name="TooltipNotecardNotAllowedTypeDrop">
+ Objekte dieses Typs können nicht an
+die Region angehängt werden.
+ </string>
+ <string name="TooltipNotecardOwnerRestrictedDrop">
+ An Notizkarten können nur Objekte
+ohne Einschränkungen für den
+nächsten Eigentümer angehängt werden.
+ </string>
<string name="Searching">
Suchen...
</string>
@@ -786,15 +795,15 @@ besuchen Sie bitte http://secondlife.com/support
<string name="symbolic link">
Link
</string>
+ <string name="settings blob">
+ Einstellungen
+ </string>
<string name="symbolic folder link">
Link zu Ordner
</string>
<string name="mesh">
mesh
</string>
- <string name="settings">
- Einstellungen
- </string>
<string name="AvatarEditingAppearance">
(Aussehen wird bearbeitet)
</string>
@@ -2492,6 +2501,9 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich unter http://suppo
<string name="RegionSettings">
Regionseinstellungen
</string>
+ <string name="NoEnvironmentSettings">
+ Diese Region unterstützt keine Umgebungseinstellungen.
+ </string>
<string name="ClassifiedClicksTxt">
Klicks: [TELEPORT] teleportieren, [MAP] Karte, [PROFILE] Profil
</string>
@@ -4834,6 +4846,15 @@ Missbrauchsbericht
<string name="Female - Wow">
Weiblich - Wow
</string>
+ <string name="New Daycycle">
+ Neuer Tageszyklus
+ </string>
+ <string name="New Water">
+ Neues Wasser
+ </string>
+ <string name="New Sky">
+ Neuer Himmel
+ </string>
<string name="/bow">
/verbeugen
</string>
diff --git a/indra/newview/skins/default/xui/es/floater_about_land.xml b/indra/newview/skins/default/xui/es/floater_about_land.xml
index b5da302762..857b39361a 100644
--- a/indra/newview/skins/default/xui/es/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/es/floater_about_land.xml
@@ -467,5 +467,6 @@ los media:
</panel>
</panel>
<panel label="EXPERIENCIAS" name="land_experiences_panel"/>
+ <panel label="ENTORNO" name="land_environment_panel"/>
</tab_container>
</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_edit_ext_day_cycle.xml b/indra/newview/skins/default/xui/es/floater_edit_ext_day_cycle.xml
new file mode 100644
index 0000000000..7521b2aed3
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_edit_ext_day_cycle.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="env_edit_extdaycycle" title="Editar Ciclo del día">
+ <string name="title_new">
+ Crear un Nuevo ciclo del día
+ </string>
+ <string name="title_edit">
+ Editar Ciclo del día
+ </string>
+ <string name="hint_new">
+ Asigna un nombre al ciclo del día, ajusta los controles para crearlo y selecciona &quot;Guardar&quot;.
+ </string>
+ <string name="hint_edit">
+ Para editar el ciclo del día, ajusta los controles siguientes y selecciona &quot;Guardar&quot;.
+ </string>
+ <string name="time_label">
+ ([HH]:[MM])
+ </string>
+ <string name="sky_track_label">
+ Cielo [ALT]
+ </string>
+ <layout_stack name="outer_stack">
+ <layout_panel name="name_and_import">
+ <text name="label">
+ Nombre del Ciclo del día:
+ </text>
+ <button label="Importar" name="btn_import" tool_tip="Importar configuración legado desde disco."/>
+ </layout_panel>
+ <layout_panel name="content">
+ <layout_stack name="content_stack">
+ <layout_panel name="timeline_track_selection">
+ <panel name="timeline_layers">
+ <button label="Cielo 4" name="sky4_track"/>
+ <button label="Cielo 3" name="sky3_track"/>
+ <button label="Cielo 2" name="sky2_track"/>
+ <button label="Nivel del terreno" name="sky1_track"/>
+ <button label="Agua" name="water_track"/>
+ </panel>
+ <panel name="timeline">
+ <text name="p0" value="0%[DSC]"/>
+ <text name="p1" value="25%[DSC]"/>
+ <text name="p2" value="50%[DSC]"/>
+ <text name="p3" value="75%[DSC]"/>
+ <text name="p4" value="100%[DSC]"/>
+ <multi_slider initial_value="0" name="WLTimeSlider"/>
+ <multi_slider initial_value="0" name="WLDayCycleFrames"/>
+ <text name="current_time" value="[PRCNT]%[DSC]"/>
+ <layout_stack name="progress_control">
+ <layout_panel name="skip_back">
+ <button name="skip_back_btn" tool_tip="Ir hacia atrás"/>
+ </layout_panel>
+ <layout_panel name="skip_forward">
+ <button name="skip_forward_btn" tool_tip="Ir hacia adelante"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="Añadir Marco" name="add_frame"/>
+ <button label="Cargar Marco" name="btn_load_frame"/>
+ <button label="Borrar Marco" name="delete_frame"/>
+ </panel>
+ </layout_panel>
+ <layout_panel name="frame_edit_controls">
+ <text name="icn_lock_edit">
+ Seleccionar un marco clave de la línea de tiempo indicada arriba para editar los parámetros.
+ </text>
+ </layout_panel>
+ <layout_panel name="frame_settings_water">
+ <tab_container name="water_tabs">
+ <panel label="Agua" name="water_panel"/>
+ </tab_container>
+ </layout_panel>
+ <layout_panel name="frame_settings_sky">
+ <tab_container name="sky_tabs">
+ <panel label="Atmósfera e Iluminación" name="atmosphere_panel"/>
+ <panel label="Nubes" name="clouds_panel"/>
+ <panel label="Sol y Luna" name="moon_panel"/>
+ </tab_container>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="buttons">
+ <button label="Guardar" name="save_btn"/>
+ <button label="Cancelar" name="cancel_btn"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_fixedenvironment.xml b/indra/newview/skins/default/xui/es/floater_fixedenvironment.xml
new file mode 100644
index 0000000000..d17dcaad01
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_fixedenvironment.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Fixed Environment" title="Entorno fijo">
+ <string name="edit_sky">
+ Editar Cielo:
+ </string>
+ <string name="edit_water">
+ Editar Agua:
+ </string>
+ <layout_stack name="floater_stack">
+ <layout_panel name="info_panel">
+ <button label="Cargar" name="btn_load" tool_tip="Cargar una configuración del inventario"/>
+ <button label="Importar" name="btn_import" tool_tip="Importar configuración legado desde disco."/>
+ </layout_panel>
+ <layout_panel name="button_panel">
+ <layout_stack name="button_bar_ls">
+ <layout_panel name="save_btn_lp">
+ <button label="Guardar" name="btn_commit"/>
+ </layout_panel>
+ <layout_panel name="revert_btn_lp">
+ <button label="Cancelar" name="btn_cancel" tool_tip="Volver a la última versión guardada"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/es/floater_inventory_view_finder.xml
index 5698e39bee..4f3c177976 100644
--- a/indra/newview/skins/default/xui/es/floater_inventory_view_finder.xml
+++ b/indra/newview/skins/default/xui/es/floater_inventory_view_finder.xml
@@ -12,6 +12,7 @@
<check_box label="Sonidos" name="check_sound"/>
<check_box label="Texturas" name="check_texture"/>
<check_box label="Fotos" name="check_snapshot"/>
+ <check_box label="Opciones" name="check_settings"/>
<button label="Todos" label_selected="Todo" name="All"/>
<button label="Ninguno" label_selected="Nada" name="None"/>
<check_box label="Mostrar siempre las carpetas" name="check_show_empty"/>
diff --git a/indra/newview/skins/default/xui/es/floater_my_environments.xml b/indra/newview/skins/default/xui/es/floater_my_environments.xml
new file mode 100644
index 0000000000..9032ac7aa3
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_my_environments.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater label="Lugares" name="my_environments" title="MIS ENTORNOS...">
+ <layout_stack>
+ <layout_panel label="Filtros" name="filter_panel">
+ <check_box label="Días" name="chk_days"/>
+ <check_box label="Cielos" name="chk_skies"/>
+ <check_box label="Agua" name="chk_water"/>
+ </layout_panel>
+ <layout_panel label="Entornos" name="list_panel">
+ <check_box initial_value="false" label="Mostrar Carpetas Vacías" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="pnl_control">
+ <panel label="bottom_panel" name="pnl_bottom">
+ <menu_button name="btn_gear" tool_tip="Más opciones"/>
+ <menu_button name="btn_newsettings" tool_tip="Crear una opción nueva"/>
+ <button name="btn_del" tool_tip="Borrar esta opción"/>
+ </panel>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_settings_picker.xml b/indra/newview/skins/default/xui/es/floater_settings_picker.xml
new file mode 100644
index 0000000000..d537391c48
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_settings_picker.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="settings picker" title="DESTACADO: CONFIGURACIÓN">
+ <floater.string name="choose_picture">
+ Pulsa para elegir una imagen
+ </floater.string>
+ <floater.string name="pick title">
+ Destacado:
+ </floater.string>
+ <layout_stack name="test_stack">
+ <layout_panel name="temp">
+ <filter_editor label="Filtrar las texturas" name="flt_inventory_search"/>
+ <check_box initial_value="false" label="Ver las carpetas" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="temp">
+ <button label="OK" label_selected="OK" name="btn_select"/>
+ <button label="Cancelar" label_selected="Cancelar" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/es/menu_inventory.xml b/indra/newview/skins/default/xui/es/menu_inventory.xml
index c5bc301608..a49be406ba 100644
--- a/indra/newview/skins/default/xui/es/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/es/menu_inventory.xml
@@ -10,7 +10,6 @@
<menu_item_call label="Activar" name="Marketplace Activate"/>
<menu_item_call label="Desactivar" name="Marketplace Deactivate"/>
<menu_item_call label="Compartir" name="Share"/>
- <menu_item_call label="Comprar" name="Task Buy"/>
<menu_item_call label="Abrir" name="Task Open"/>
<menu_item_call label="Ejecutar" name="Task Play"/>
<menu_item_call label="Propiedades" name="Task Properties"/>
@@ -42,6 +41,11 @@
<menu_item_call label="Pelo nuevo" name="New Hair"/>
<menu_item_call label="Ojos nuevos" name="New Eyes"/>
</menu>
+ <menu label="Nueva configuración" name="New Settings">
+ <menu_item_call label="Nuevo Cielo" name="New Sky"/>
+ <menu_item_call label="Nueva Agua" name="New Water"/>
+ <menu_item_call label="Nuevo Ciclo del día" name="New Day Cycle"/>
+ </menu>
<menu label="Usar como valor predeterminado para" name="upload_def">
<menu_item_call label="Imágenes subidas" name="Image uploads"/>
<menu_item_call label="Sonidos subidos" name="Sound uploads"/>
@@ -102,6 +106,9 @@
<menu_item_call label="Editar" name="Wearable Edit"/>
<menu_item_call label="Añadir" name="Wearable Add"/>
<menu_item_call label="Quitarse" name="Take Off"/>
+ <menu_item_call label="Aplicar sólo a Mi mismo" name="Settings Apply Local"/>
+ <menu_item_call label="Aplicar a la Parcela" name="Settings Apply Parcel"/>
+ <menu_item_call label="Aplicar a la Región" name="Settings Apply Region"/>
<menu_item_call label="Copiar en artículos del Mercado" name="Marketplace Copy"/>
<menu_item_call label="Mover a artículos del Mercado" name="Marketplace Move"/>
<menu_item_call label="--sin opciones--" name="--no options--"/>
diff --git a/indra/newview/skins/default/xui/es/menu_inventory_add.xml b/indra/newview/skins/default/xui/es/menu_inventory_add.xml
index f17cfe4ceb..c06f5e2156 100644
--- a/indra/newview/skins/default/xui/es/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/es/menu_inventory_add.xml
@@ -5,9 +5,7 @@
<menu_item_call label="Sonido ([COST] L$)..." name="Upload Sound"/>
<menu_item_call label="Animación ([COST] L$)..." name="Upload Animation"/>
<menu_item_call label="Modelo..." name="Upload Model"/>
- <menu_item_call label="Asistente de modelo..." name="Upload Model Wizard"/>
<menu_item_call label="Masivo ([COST] L$ por archivo)..." name="Bulk Upload"/>
- <menu_item_call label="Configurar los permisos por defecto de subida" name="perm prefs"/>
</menu>
<menu_item_call label="Carpeta nueva" name="New Folder"/>
<menu_item_call label="Script nuevo" name="New Script"/>
@@ -33,4 +31,9 @@
<menu_item_call label="Pelo nuevo" name="New Hair"/>
<menu_item_call label="Ojos nuevos" name="New Eyes"/>
</menu>
+ <menu label="Nueva Configuración" name="New Settings">
+ <menu_item_call label="Nuevo Cielo" name="New Sky"/>
+ <menu_item_call label="Nueva Agua" name="New Water"/>
+ <menu_item_call label="Nuevo Ciclo del día" name="New Day Cycle"/>
+ </menu>
</menu>
diff --git a/indra/newview/skins/default/xui/es/menu_save_settings.xml b/indra/newview/skins/default/xui/es/menu_save_settings.xml
new file mode 100644
index 0000000000..164763427d
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/menu_save_settings.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_settings_menu">
+ <menu_item_check label="Guardar" name="save_settings"/>
+ <menu_item_check label="Guardar como" name="save_as_new_settings"/>
+ <menu_item_check label="Asignar" name="commit_changes"/>
+ <menu_item_check label="Aplicar sólo a Mi mismo" name="apply_local"/>
+ <menu_item_check label="Aplicar a la Parcela" name="apply_parcel"/>
+ <menu_item_check label="Aplicar a la Región" name="apply_region"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_settings_add.xml b/indra/newview/skins/default/xui/es/menu_settings_add.xml
new file mode 100644
index 0000000000..82bd384ab5
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/menu_settings_add.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_add">
+ <menu_item_call label="Nuevo Cielo" name="New Sky"/>
+ <menu_item_call label="Nueva Agua" name="New Water"/>
+ <menu_item_call label="Nuevo Ciclo del día" name="New Day Cycle"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_settings_gear.xml b/indra/newview/skins/default/xui/es/menu_settings_gear.xml
new file mode 100644
index 0000000000..5d1b43933f
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/menu_settings_gear.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_gear">
+ <menu_item_call label="Editar" name="edit_settings"/>
+ <menu_item_call label="Aplicar sólo a Mi mismo" name="Settings Apply Local"/>
+ <menu_item_call label="Aplicar a la Parcela" name="Settings Apply Parcel"/>
+ <menu_item_call label="Aplicar a la Región" name="Settings Apply Region"/>
+ <menu_item_call label="Copiar" name="copy_settings"/>
+ <menu_item_call label="Pegar" name="paste_settings"/>
+ <menu_item_call label="Copiar la UUID" name="copy_uuid"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_viewer.xml b/indra/newview/skins/default/xui/es/menu_viewer.xml
index a9bdb8ef7d..4f407e4b1a 100644
--- a/indra/newview/skins/default/xui/es/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/es/menu_viewer.xml
@@ -77,27 +77,14 @@
<menu_item_check label="Propiedades de la parcela" name="Parcel Properties"/>
<menu_item_check label="Menú Avanzado" name="Show Advanced Menu"/>
</menu>
- <menu label="Sol" name="Sun">
+ <menu label="Entorno" name="Environment">
<menu_item_check label="Amanecer" name="Sunrise"/>
<menu_item_check label="Mediodía" name="Noon"/>
<menu_item_check label="Atardecer" name="Sunset"/>
<menu_item_check label="Medianoche" name="Midnight"/>
- <menu_item_check label="Usar configuración de región" name="Use Region Settings"/>
- </menu>
- <menu label="Editor de entorno" name="Environment Editor">
- <menu_item_call label="Configuración del entorno..." name="Environment Settings"/>
- <menu label="Agua predefinida" name="Water Presets">
- <menu_item_call label="Nuevo predefinido..." name="new_water_preset"/>
- <menu_item_call label="Editar predefinido..." name="edit_water_preset"/>
- </menu>
- <menu label="Cielos predefinidos" name="Sky Presets">
- <menu_item_call label="Nuevo predefinido..." name="new_sky_preset"/>
- <menu_item_call label="Editar predefinido..." name="edit_sky_preset"/>
- </menu>
- <menu label="Días predefinidos" name="Day Presets">
- <menu_item_call label="Nuevo predefinido..." name="new_day_preset"/>
- <menu_item_call label="Editar predefinido..." name="edit_day_preset"/>
- </menu>
+ <menu_item_check label="Usar entorno compartido" name="Use Shared Environment"/>
+ <menu_item_call label="Mis entornos..." name="my_environs"/>
+ <menu_item_check label="Pausar Nubes" name="pause_clouds"/>
</menu>
</menu>
<menu label="Construir" name="BuildTools">
@@ -270,7 +257,6 @@
<menu_item_check label="Mostrar información de textura" name="Show Texture Info"/>
<menu_item_check label="Show Color Under Cursor" name="Show Color Under Cursor"/>
<menu_item_check label="Mostrar la memoria" name="Show Memory"/>
- <menu_item_check label="Mostrar información de memoria privada" name="Show Private Mem Info"/>
<menu_item_check label="Show Updates to Objects" name="Show Updates"/>
</menu>
<menu label="Force an Error" name="Force Errors">
diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml
index 028354f3cf..567b78d21b 100644
--- a/indra/newview/skins/default/xui/es/notifications.xml
+++ b/indra/newview/skins/default/xui/es/notifications.xml
@@ -1880,7 +1880,7 @@ Se cambiarán miles de regiones, y se provocará un colapso en el espacio del se
<usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="Todos los estados" yestext="Este estado"/>
</notification>
<notification label="Seleccionar el estado" name="EstateBannedAgentRemove">
- ¿Quitar de la lista de prohibición de acceso a este residente para que acceda sólo a este estado o a [ALL_ESTATES]?
+ ¿Quitar a este Residente de la lista de acceso prohibido para este estado únicamente o para [ALL_ESTATES]?
<usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="Todos los estados" yestext="Este estado"/>
</notification>
<notification label="Seleccionar el estado" name="EstateManagerAdd">
@@ -1927,6 +1927,10 @@ Se cambiarán miles de regiones, y se provocará un colapso en el espacio del se
Si esta opción no está seleccionada, se anularán las restricciones establecidas por los dueños de parcelas para evitar provocaciones, mantener la privacidad o proteger a los residentes menores de material para adultos. Por favor, consulte con los dueños de parcelas según sea necesario.
<usetemplate name="okbutton" yestext="Aceptar"/>
</notification>
+ <notification name="EstateParcelEnvironmentOverride">
+ Si esta opción no está seleccionada, se anularán los entornos personalizados añadidos por los dueños a sus parcelas. Por favor, consulta con los dueños de parcelas según sea necesario.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="RegionEntryAccessBlocked">
Tus preferencias de contenido actuales te impiden visitar la región que has seleccionado. Puedes cambiar las preferencias en Yo &gt; Preferencias &gt; General.
<usetemplate name="okbutton" yestext="OK"/>
@@ -4325,4 +4329,40 @@ Prueba a seleccionar un terreno más pequeño.
[REASON]
<usetemplate name="okbutton" yestext="Aceptar"/>
</notification>
+ <notification name="FailedToFindSettings">
+ No se pudo cargar la configuración para [NAME] a partir de la base de datos.
+ </notification>
+ <notification name="FailedToLoadSettingsApply">
+ No se pudo aplicar esa configuración al entorno.
+ </notification>
+ <notification name="FailedToBuildSettingsDay">
+ No se pudo aplicar esa configuración al entorno.
+ </notification>
+ <notification name="NoEnvironmentSettings">
+ Esta región no es compatible con las opciones de entorno.
+ </notification>
+ <notification name="WLImportFail">
+ No se pudo importar la configuración de Viento de luz legado de [FILE].
+ </notification>
+ <notification name="WLParcelApplyFail">
+ No se pudo configurar el entorno para esta parcela.
+Por favor ingresa o selecciona una parcela cuyos derechos puedes modificar.
+ </notification>
+ <notification name="SettingsUnsuported">
+ La configuración de entorno no está disponible en esta región.
+Por favor accede a una región cuya configuración esté disponible y vuelve a intentar.
+ </notification>
+ <notification name="SettingsConfirmLoss">
+ Estás a punto de perder los cambios que realizaste en este [TYPE] llamado &quot;[NAME]&quot;.
+¿Estás seguro de que deseas continuar?
+ <usetemplate ignoretext="¿Estás seguro de que quieres perder los cambios?" name="okcancelignore" notext="No" yestext="Sí"/>
+ </notification>
+ <notification name="SettingsMakeNoTrans">
+ Estás a punto de importar parámetros no transferibles a este ciclo del día. Si continúas, las opciones que estás editando pasarán a ser no transferibles también.
+
+Este cambio no se puede deshacer.
+
+¿Estás seguro de que deseas continuar?
+ <usetemplate ignoretext="¿Estás seguro de que quieres que esta opción sea no transferible?" name="okcancelignore" notext="No" yestext="Sí"/>
+ </notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/es/panel_region_environment.xml b/indra/newview/skins/default/xui/es/panel_region_environment.xml
index a73f1deed4..98d4e7513c 100644
--- a/indra/newview/skins/default/xui/es/panel_region_environment.xml
+++ b/indra/newview/skins/default/xui/es/panel_region_environment.xml
@@ -1,33 +1,77 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Entorno" name="panel_env_info">
- <text name="water_settings_title">
- Selecciona la configuración de agua y cielo/ciclo del día que deseas que vean todos los visitantes de tu región. Más información
- </text>
- <radio_group name="region_settings_radio_group">
- <radio_item label="Usar los valores predeterminados de Second Life" name="use_sl_default_settings"/>
- <radio_item label="Usar la configuración siguiente" name="use_my_settings"/>
- </radio_group>
- <panel name="user_environment_settings">
- <text name="water_settings_title">
- Configuración de agua
- </text>
- <combo_box name="water_settings_preset_combo">
- <combo_box.item label="-Selecciona un valor predefinido-" name="item0"/>
- </combo_box>
- <text name="sky_dayc_settings_title">
- Cielo/Ciclo del día
- </text>
- <radio_group name="sky_dayc_settings_radio_group">
- <radio_item label="Cielo invariable" name="my_sky_settings"/>
- <radio_item label="Ciclo del día" name="my_dayc_settings"/>
- </radio_group>
- <combo_box name="sky_settings_preset_combo">
- <combo_box.item label="-Selecciona un valor predefinido-" name="item0"/>
- </combo_box>
- <combo_box name="dayc_settings_preset_combo">
- <combo_box.item label="-Selecciona un valor predefinido-" name="item0"/>
- </combo_box>
- </panel>
- <button label="Aplicar" name="apply_btn"/>
- <button label="Cancelar" name="cancel_btn"/>
+ <string name="str_label_use_default">
+ Usar la configuración predeterminada
+ </string>
+ <string name="str_label_use_region">
+ Usar Configuración de la Región
+ </string>
+ <string name="str_unknow_inventory">
+ Desconocido
+ </string>
+ <string name="str_altitude_desription">
+ Cielo [INDEX]([ALTITUDE]m)
+ </string>
+ <string name="str_no_parcel">
+ No se ha seleccionado ninguna parcela. Las opciones de entorno están desactivadas.
+ </string>
+ <string name="str_cross_region">
+ Las opciones de entorno no están disponibles en las fronteras de regiones.
+ </string>
+ <string name="str_legacy">
+ La configuración de entorno no está disponible en esta región.
+ </string>
+ <layout_stack>
+ <layout_panel name="pnl_environment_disabled">
+ <text name="txt_environment_disabled">
+ ...
+ </text>
+ </layout_panel>
+ <layout_panel name="pnl_environment_config">
+ <layout_stack>
+ <layout_panel name="pnl_environment_current">
+ <radio_group name="rdg_environment_select">
+ <radio_item label="[USEDEFAULT]" name="rdo_use_xxx_setting"/>
+ <radio_item label="Configuración del Inventario" name="rdo_use_inv_setting"/>
+ <radio_item label="Entorno personalizado" name="rdo_use_custom_setting"/>
+ </radio_group>
+ <line_editor name="edt_inventory_name">
+ Desconocido
+ </line_editor>
+ <button label="Editar Entorno" name="btn_edit"/>
+ </layout_panel>
+ <layout_panel name="pnl_environment_length">
+ <text name="lbl_apparent_time">
+ [HH]:[MM][AP] ([PRC]%)
+ </text>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="pnl_environment_altitudes">
+ <panel name="cnt_panel">
+ <multi_slider initial_value="100." name="sld_altitudes">
+ <slider name="sld1" value="200"/>
+ <slider name="sld2" value="400"/>
+ <slider name="sld3" value="600"/>
+ </multi_slider>
+ <text name="ground">
+ Terreno
+ </text>
+ <text name="alt1">
+ Cielo [INDEX]([ALTITUDE]m)
+ </text>
+ <text name="alt2">
+ Cielo [INDEX]([ALTITUDE]m)
+ </text>
+ <text name="alt3">
+ Cielo [INDEX]([ALTITUDE]m)
+ </text>
+ </panel>
+ </layout_panel>
+ <layout_panel name="pnl_environment_buttons">
+ <check_box label="Los propietarios de parcelas pueden borrar el entorno" name="chk_allow_override"/>
+ <button label="Aplicar" name="btn_apply"/>
+ <button label="Restablecer" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_region_estate.xml b/indra/newview/skins/default/xui/es/panel_region_estate.xml
index 7e12b0e599..ae62976486 100644
--- a/indra/newview/skins/default/xui/es/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/es/panel_region_estate.xml
@@ -26,17 +26,17 @@
<check_box label="Permitir el teleporte a cualquier punto" name="allow_direct_teleport"/>
<button label="Aplicar" name="apply_btn"/>
<text name="estate_manager_label">
- Administradores del estado:
+ Administradores de estado:
</text>
<text name="allow_resident_label">
- Siempre permitido:
+ Siempre autorizado:
</text>
<button label="Añadir..." name="add_estate_manager_btn"/>
<button label="Quitar..." name="remove_estate_manager_btn"/>
<button label="Añadir..." name="add_allowed_avatar_btn"/>
<button label="Quitar..." name="remove_allowed_avatar_btn"/>
<text name="allow_group_label">
- Grupos siempre permitidos:
+ Grupos siempre autorizados:
</text>
<text name="ban_resident_label">
Siempre prohibido:
diff --git a/indra/newview/skins/default/xui/es/panel_settings_sky_atmos.xml b/indra/newview/skins/default/xui/es/panel_settings_sky_atmos.xml
new file mode 100644
index 0000000000..bce312dc18
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_settings_sky_atmos.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Atmósfera e Iluminación" name="panel_settings_sky_atmos"/>
diff --git a/indra/newview/skins/default/xui/es/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/es/panel_settings_sky_clouds.xml
new file mode 100644
index 0000000000..0aa6f1e41a
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_settings_sky_clouds.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Nubes" name="panel_settings_sky_clouds">
+ <layout_stack>
+ <layout_panel>
+ <slider label="X" name="cloud_density_x"/>
+ <slider label="Y" name="cloud_density_y"/>
+ <slider label="D" name="cloud_density_d"/>
+ <slider label="X" name="cloud_detail_x"/>
+ <slider label="Y" name="cloud_detail_y"/>
+ <slider label="D" name="cloud_detail_d"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_settings_sky_density.xml b/indra/newview/skins/default/xui/es/panel_settings_sky_density.xml
new file mode 100644
index 0000000000..743f901c7f
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_settings_sky_density.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Densidad" name="panel_settings_sky_density">
+ <layout_stack>
+ <layout_panel>
+ <slider label="Período exponencial Rayleigh:" name="rayleigh_exponential"/>
+ <slider label="Escala exponencial Rayleigh:" name="rayleigh_exponential_scale"/>
+ <slider label="Período lineal Rayleigh:" name="rayleigh_linear"/>
+ <slider label="Período constante Rayleigh:" name="rayleigh_constant"/>
+ <slider label="Altitud máxima Rayleigh:" name="rayleigh_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="Período exponencial Mie:" name="mie_exponential"/>
+ <slider label="Escala exponencial Mie:" name="mie_exponential_scale"/>
+ <slider label="Período lineal Mie:" name="mie_linear"/>
+ <slider label="Período constante Mie:" name="mie_constant"/>
+ <slider label="Factor Aniso Mie:" name="mie_aniso_factor"/>
+ <slider label="Altitud máxima Mie:" name="mie_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="Período exponencial de Absorción:" name="absorption_exponential"/>
+ <slider label="Escala exponencial de Absorción:" name="absorption_exponential_scale"/>
+ <slider label="Período lineal de Absorción:" name="absorption_linear"/>
+ <slider label="Período constante de Absorción:" name="absorption_constant"/>
+ <slider label="Altitud máxima de Absorción:" name="absorption_max_altitude"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/es/panel_settings_sky_sunmoon.xml
new file mode 100644
index 0000000000..f322369063
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_settings_sky_sunmoon.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Sol y Luna" name="panel_settings_sky_hbodies"/>
diff --git a/indra/newview/skins/default/xui/es/panel_settings_water.xml b/indra/newview/skins/default/xui/es/panel_settings_water.xml
new file mode 100644
index 0000000000..c0d0cb5636
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_settings_water.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Agua" name="panel_settings_water">
+ <layout_stack name="water_stack1">
+ <layout_panel>
+ <text name="FresnelOffsetText">
+ Compensación Fresnel:
+ </text>
+ </layout_panel>
+ <layout_panel>
+ <layout_stack name="water_stack2">
+ <layout_panel>
+ <slider label="X:" name="water_normal_scale_x"/>
+ <slider label="Y:" name="water_normal_scale_y"/>
+ <slider label="Z:" name="water_normal_scale_z"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml
index 41766d5697..06796d42fe 100644
--- a/indra/newview/skins/default/xui/es/strings.xml
+++ b/indra/newview/skins/default/xui/es/strings.xml
@@ -627,6 +627,15 @@ Intenta iniciar sesión de nuevo en unos instantes.
<string name="BUTTON_HELP">
Ver la Ayuda
</string>
+ <string name="TooltipNotecardNotAllowedTypeDrop">
+ Los objetos de este tipo no se pueden adjuntar
+a las notas de esta región.
+ </string>
+ <string name="TooltipNotecardOwnerRestrictedDrop">
+ Sólo los objetos con permisos
+«próximo propietario» sin restricciones
+pueden adjuntarse a las notas.
+ </string>
<string name="Searching">
Buscando...
</string>
@@ -775,15 +784,15 @@ http://secondlife.com/support para obtener ayuda sobre cómo solucionar este pro
<string name="symbolic link">
el enlace
</string>
+ <string name="settings blob">
+ opciones
+ </string>
<string name="symbolic folder link">
enlace de la carpeta
</string>
<string name="mesh">
red
</string>
- <string name="settings">
- configuración
- </string>
<string name="AvatarEditingAppearance">
(Edición de Apariencia)
</string>
@@ -2463,6 +2472,9 @@ Si sigues recibiendo el mismo mensaje, solicita ayuda al personal de asistencia
<string name="RegionSettings">
Configuración de la región
</string>
+ <string name="NoEnvironmentSettings">
+ Esta región no es compatible con las opciones de entorno.
+ </string>
<string name="ClassifiedClicksTxt">
Clics: [TELEPORT] teleportes, [MAP] mapa, [PROFILE] perfil
</string>
@@ -4745,6 +4757,15 @@ Denuncia de infracción
<string name="Female - Wow">
Mujer - Admiración
</string>
+ <string name="New Daycycle">
+ Nuevo Ciclo del día
+ </string>
+ <string name="New Water">
+ Nueva Agua
+ </string>
+ <string name="New Sky">
+ Nuevo Cielo
+ </string>
<string name="/bow">
/reverencia
</string>
diff --git a/indra/newview/skins/default/xui/fr/floater_about_land.xml b/indra/newview/skins/default/xui/fr/floater_about_land.xml
index 42d7709c99..2c7bfcd282 100644
--- a/indra/newview/skins/default/xui/fr/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/fr/floater_about_land.xml
@@ -472,5 +472,6 @@ musique :
</panel>
</panel>
<panel label="EXPÉRIENCES" name="land_experiences_panel"/>
+ <panel label="ENVIRONNEMENT" name="land_environment_panel"/>
</tab_container>
</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_edit_ext_day_cycle.xml b/indra/newview/skins/default/xui/fr/floater_edit_ext_day_cycle.xml
new file mode 100644
index 0000000000..de79028bb6
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/floater_edit_ext_day_cycle.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="env_edit_extdaycycle" title="Modifier un cycle du jour">
+ <string name="title_new">
+ Créer un nouveau cycle du jour
+ </string>
+ <string name="title_edit">
+ Modifier un cycle du jour
+ </string>
+ <string name="hint_new">
+ Donner un nom au cycle du jour, ajuster les contrôles afin de le créer, puis cliquez sur « Enregistrer ».
+ </string>
+ <string name="hint_edit">
+ Pour modifier le cycle du jour, ajustez les contrôles ci-dessous, puis cliquez sur « Enregistrer ».
+ </string>
+ <string name="time_label">
+ ([HH]:[MM])
+ </string>
+ <string name="sky_track_label">
+ Ciel [ALT]
+ </string>
+ <layout_stack name="outer_stack">
+ <layout_panel name="name_and_import">
+ <text name="label">
+ Nom du cycle du jour :
+ </text>
+ <button label="Importer" name="btn_import" tool_tip="Importer les paramètres hérités du disque."/>
+ </layout_panel>
+ <layout_panel name="content">
+ <layout_stack name="content_stack">
+ <layout_panel name="timeline_track_selection">
+ <panel name="timeline_layers">
+ <button label="Ciel 4" name="sky4_track"/>
+ <button label="Ciel 3" name="sky3_track"/>
+ <button label="Ciel 2" name="sky2_track"/>
+ <button label="Niveau du sol" name="sky1_track"/>
+ <button label="Eau" name="water_track"/>
+ </panel>
+ <panel name="timeline">
+ <text name="p0" value="0%[DSC]"/>
+ <text name="p1" value="25%[DSC]"/>
+ <text name="p2" value="50%[DSC]"/>
+ <text name="p3" value="75%[DSC]"/>
+ <text name="p4" value="100%[DSC]"/>
+ <multi_slider initial_value="0" name="WLTimeSlider"/>
+ <multi_slider initial_value="0" name="WLDayCycleFrames"/>
+ <text name="current_time" value="[PRCNT]%[DSC]"/>
+ <layout_stack name="progress_control">
+ <layout_panel name="skip_back">
+ <button name="skip_back_btn" tool_tip="Reculer"/>
+ </layout_panel>
+ <layout_panel name="skip_forward">
+ <button name="skip_forward_btn" tool_tip="Avancer"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="Ajouter un cadre" name="add_frame"/>
+ <button label="Charger un cadre" name="btn_load_frame"/>
+ <button label="Supprimer le cadre" name="delete_frame"/>
+ </panel>
+ </layout_panel>
+ <layout_panel name="frame_edit_controls">
+ <text name="icn_lock_edit">
+ Sélectionnez un cadre clé à partir du calendrier ci-dessus pour modifier les paramètres.
+ </text>
+ </layout_panel>
+ <layout_panel name="frame_settings_water">
+ <tab_container name="water_tabs">
+ <panel label="Eau" name="water_panel"/>
+ </tab_container>
+ </layout_panel>
+ <layout_panel name="frame_settings_sky">
+ <tab_container name="sky_tabs">
+ <panel label="Atmosphère et éclairage" name="atmosphere_panel"/>
+ <panel label="Nuages" name="clouds_panel"/>
+ <panel label="Soleil et lune" name="moon_panel"/>
+ </tab_container>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="buttons">
+ <button label="Enregistrer" name="save_btn"/>
+ <button label="Annuler" name="cancel_btn"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_fixedenvironment.xml b/indra/newview/skins/default/xui/fr/floater_fixedenvironment.xml
new file mode 100644
index 0000000000..515a1d2843
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/floater_fixedenvironment.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Fixed Environment" title="Environnement fixe">
+ <string name="edit_sky">
+ Modifier le ciel :
+ </string>
+ <string name="edit_water">
+ Modifier l&apos;eau
+ </string>
+ <layout_stack name="floater_stack">
+ <layout_panel name="info_panel">
+ <button label="Charger" name="btn_load" tool_tip="Charger des paramètres à partir de l&apos;inventaire"/>
+ <button label="Importer" name="btn_import" tool_tip="Importer les paramètres hérités du disque."/>
+ </layout_panel>
+ <layout_panel name="button_panel">
+ <layout_stack name="button_bar_ls">
+ <layout_panel name="save_btn_lp">
+ <button label="Enregistrer" name="btn_commit"/>
+ </layout_panel>
+ <layout_panel name="revert_btn_lp">
+ <button label="Annuler" name="btn_cancel" tool_tip="Rétablir la dernière version enregistrée"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/fr/floater_inventory_view_finder.xml
index 471dddf448..4e20431cc4 100644
--- a/indra/newview/skins/default/xui/fr/floater_inventory_view_finder.xml
+++ b/indra/newview/skins/default/xui/fr/floater_inventory_view_finder.xml
@@ -12,6 +12,7 @@
<check_box label="Sons" name="check_sound"/>
<check_box label="Textures" name="check_texture"/>
<check_box label="Photos" name="check_snapshot"/>
+ <check_box label="Paramètres" name="check_settings"/>
<button label="Tout" label_selected="Tout" name="All"/>
<button bottom_delta="0" label="Aucun" label_selected="Aucun" name="None"/>
<check_box label="Toujours montrer les dossiers" name="check_show_empty"/>
diff --git a/indra/newview/skins/default/xui/fr/floater_my_environments.xml b/indra/newview/skins/default/xui/fr/floater_my_environments.xml
new file mode 100644
index 0000000000..2214a2dab9
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/floater_my_environments.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater label="Endroits" name="my_environments" title="MES ENVIRONNEMENTS">
+ <layout_stack>
+ <layout_panel label="Filtres" name="filter_panel">
+ <check_box label="Jours" name="chk_days"/>
+ <check_box label="Ciels" name="chk_skies"/>
+ <check_box label="Eau" name="chk_water"/>
+ </layout_panel>
+ <layout_panel label="Environnements" name="list_panel">
+ <check_box initial_value="false" label="Afficher les dossiers vides" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="pnl_control">
+ <panel label="bottom_panel" name="pnl_bottom">
+ <menu_button name="btn_gear" tool_tip="Plus d&apos;options"/>
+ <menu_button name="btn_newsettings" tool_tip="Créer un nouveau paramètre"/>
+ <button name="btn_del" tool_tip="Supprimer ce paramètre"/>
+ </panel>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_settings_picker.xml b/indra/newview/skins/default/xui/fr/floater_settings_picker.xml
new file mode 100644
index 0000000000..d92a4c27ae
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/floater_settings_picker.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="settings picker" title="CHOISIR : PARAMÈTRES">
+ <floater.string name="choose_picture">
+ Cliquer pour sélectionner une image.
+ </floater.string>
+ <floater.string name="pick title">
+ Choisir :
+ </floater.string>
+ <layout_stack name="test_stack">
+ <layout_panel name="temp">
+ <filter_editor label="Filtrer les textures" name="flt_inventory_search"/>
+ <check_box initial_value="false" label="Afficher les dossiers" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="temp">
+ <button label="OK" label_selected="OK" name="btn_select"/>
+ <button label="Annuler" label_selected="Annuler" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/fr/menu_inventory.xml b/indra/newview/skins/default/xui/fr/menu_inventory.xml
index c8bd7dc130..2b946cf64f 100644
--- a/indra/newview/skins/default/xui/fr/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/fr/menu_inventory.xml
@@ -10,7 +10,6 @@
<menu_item_call label="Activer" name="Marketplace Activate"/>
<menu_item_call label="Désactiver" name="Marketplace Deactivate"/>
<menu_item_call label="Partager" name="Share"/>
- <menu_item_call label="Acheter" name="Task Buy"/>
<menu_item_call label="Ouvrir" name="Task Open"/>
<menu_item_call label="Jouer" name="Task Play"/>
<menu_item_call label="Propriétés" name="Task Properties"/>
@@ -42,6 +41,11 @@
<menu_item_call label="Nouveaux cheveux" name="New Hair"/>
<menu_item_call label="Nouveaux yeux" name="New Eyes"/>
</menu>
+ <menu label="Nouveaux paramètres" name="New Settings">
+ <menu_item_call label="Nouveau ciel" name="New Sky"/>
+ <menu_item_call label="Nouvelle eau" name="New Water"/>
+ <menu_item_call label="Nouveau cycle du jour" name="New Day Cycle"/>
+ </menu>
<menu label="Utiliser comme défaut pour" name="upload_def">
<menu_item_call label="Chargements d’images" name="Image uploads"/>
<menu_item_call label="Chargements de sons" name="Sound uploads"/>
@@ -103,6 +107,9 @@
<menu_item_call label="Modifier" name="Wearable Edit"/>
<menu_item_call label="Ajouter" name="Wearable Add"/>
<menu_item_call label="Enlever" name="Take Off"/>
+ <menu_item_call label="Appliquer uniquement à moi-même" name="Settings Apply Local"/>
+ <menu_item_call label="Appliquer à la parcelle" name="Settings Apply Parcel"/>
+ <menu_item_call label="Appliquer à la région" name="Settings Apply Region"/>
<menu_item_call label="Copier dans les annonces Place du marché" name="Marketplace Copy"/>
<menu_item_call label="Déplacer dans les annonces Place du marché" name="Marketplace Move"/>
<menu_item_call label="--aucune option--" name="--no options--"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_inventory_add.xml b/indra/newview/skins/default/xui/fr/menu_inventory_add.xml
index 1076af44d9..b4801d2498 100644
--- a/indra/newview/skins/default/xui/fr/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/fr/menu_inventory_add.xml
@@ -5,9 +5,7 @@
<menu_item_call label="Son ([COST] L$)..." name="Upload Sound"/>
<menu_item_call label="Animation ([COST] L$)..." name="Upload Animation"/>
<menu_item_call label="Modèle..." name="Upload Model"/>
- <menu_item_call label="Assistant Modèle..." name="Upload Model Wizard"/>
<menu_item_call label="Lot ([COST] L$ par fichier)..." name="Bulk Upload"/>
- <menu_item_call label="Définir les droits de chargement par défaut" name="perm prefs"/>
</menu>
<menu_item_call label="Nouveau dossier" name="New Folder"/>
<menu_item_call label="Nouveau script" name="New Script"/>
@@ -33,4 +31,9 @@
<menu_item_call label="Nouveaux cheveux" name="New Hair"/>
<menu_item_call label="Nouveaux yeux" name="New Eyes"/>
</menu>
+ <menu label="Nouveaux paramètres" name="New Settings">
+ <menu_item_call label="Nouveau ciel" name="New Sky"/>
+ <menu_item_call label="Nouvelle eau" name="New Water"/>
+ <menu_item_call label="Nouveau cycle du jour" name="New Day Cycle"/>
+ </menu>
</menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_save_settings.xml b/indra/newview/skins/default/xui/fr/menu_save_settings.xml
new file mode 100644
index 0000000000..34a3f00925
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/menu_save_settings.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_settings_menu">
+ <menu_item_check label="Enregistrer" name="save_settings"/>
+ <menu_item_check label="Enregistrer sous" name="save_as_new_settings"/>
+ <menu_item_check label="Valider" name="commit_changes"/>
+ <menu_item_check label="Appliquer uniquement à moi-même" name="apply_local"/>
+ <menu_item_check label="Appliquer à la parcelle" name="apply_parcel"/>
+ <menu_item_check label="Appliquer à la région" name="apply_region"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_settings_add.xml b/indra/newview/skins/default/xui/fr/menu_settings_add.xml
new file mode 100644
index 0000000000..cbd7cba494
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/menu_settings_add.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_add">
+ <menu_item_call label="Nouveau ciel" name="New Sky"/>
+ <menu_item_call label="Nouvelle eau" name="New Water"/>
+ <menu_item_call label="Nouveau cycle du jour" name="New Day Cycle"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_settings_gear.xml b/indra/newview/skins/default/xui/fr/menu_settings_gear.xml
new file mode 100644
index 0000000000..a4e52d373b
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/menu_settings_gear.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_gear">
+ <menu_item_call label="Modifier" name="edit_settings"/>
+ <menu_item_call label="Appliquer uniquement à moi-même" name="Settings Apply Local"/>
+ <menu_item_call label="Appliquer à la parcelle" name="Settings Apply Parcel"/>
+ <menu_item_call label="Appliquer à la région" name="Settings Apply Region"/>
+ <menu_item_call label="Copier" name="copy_settings"/>
+ <menu_item_call label="Coller" name="paste_settings"/>
+ <menu_item_call label="Copier l’UUID" name="copy_uuid"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_viewer.xml b/indra/newview/skins/default/xui/fr/menu_viewer.xml
index c9aa74d08b..185820fb63 100644
--- a/indra/newview/skins/default/xui/fr/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/fr/menu_viewer.xml
@@ -77,27 +77,14 @@
<menu_item_check label="Propriétés de la parcelle" name="Parcel Properties"/>
<menu_item_check label="Menu Avancé" name="Show Advanced Menu"/>
</menu>
- <menu label="Luminosité" name="Sun">
+ <menu label="Environnement" name="Environment">
<menu_item_check label="Aube" name="Sunrise"/>
- <menu_item_check label="Milieu de journée" name="Noon"/>
+ <menu_item_check label="Midi" name="Noon"/>
<menu_item_check label="Coucher de soleil" name="Sunset"/>
<menu_item_check label="Minuit" name="Midnight"/>
- <menu_item_check label="Utiliser les réglages de la région" name="Use Region Settings"/>
- </menu>
- <menu label="Éditeur d&apos;environnement" name="Environment Editor">
- <menu_item_call label="Paramètres d&apos;environnement..." name="Environment Settings"/>
- <menu label="Préréglages de l&apos;eau" name="Water Presets">
- <menu_item_call label="Nouveau préréglage..." name="new_water_preset"/>
- <menu_item_call label="Modifier un préréglage..." name="edit_water_preset"/>
- </menu>
- <menu label="Préréglages du ciel" name="Sky Presets">
- <menu_item_call label="Nouveau préréglage..." name="new_sky_preset"/>
- <menu_item_call label="Modifier un préréglage..." name="edit_sky_preset"/>
- </menu>
- <menu label="Préréglages du jour" name="Day Presets">
- <menu_item_call label="Nouveau préréglage..." name="new_day_preset"/>
- <menu_item_call label="Modifier un préréglage..." name="edit_day_preset"/>
- </menu>
+ <menu_item_check label="Utiliser l&apos;environnement partagé" name="Use Shared Environment"/>
+ <menu_item_call label="Mes environnements..." name="my_environs"/>
+ <menu_item_check label="Pause des nuages" name="pause_clouds"/>
</menu>
</menu>
<menu label="Construire" name="BuildTools">
@@ -275,7 +262,6 @@
<menu_item_check label="Afficher les matrices" name="Show Matrices"/>
<menu_item_check label="Afficher la couleur sous le curseur" name="Show Color Under Cursor"/>
<menu_item_check label="Afficher la mémoire" name="Show Memory"/>
- <menu_item_check label="Afficher les infos de mémoire privées" name="Show Private Mem Info"/>
<menu_item_check label="Afficher les mises à jour des objets" name="Show Updates"/>
</menu>
<menu label="Forcer une erreur" name="Force Errors">
diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml
index 4976b4a724..1acdd6ba62 100644
--- a/indra/newview/skins/default/xui/fr/notifications.xml
+++ b/indra/newview/skins/default/xui/fr/notifications.xml
@@ -1872,7 +1872,7 @@ Cette action modifiera des milliers de régions et sera difficile à digérer po
<usetemplate canceltext="Annuler" name="yesnocancelbuttons" notext="Tous les domaines" yestext="Ce domaine"/>
</notification>
<notification label="Choisir le domaine" name="EstateBannedAgentRemove">
- Supprimer ce résident de la liste des résidents bannis pour ce domaine uniquement ou pour [ALL_ESTATES] ?
+ Supprimer ce résident de la liste des résidents interdits pour ce domaine uniquement ou pour [ALL_ESTATES] ?
<usetemplate canceltext="Annuler" name="yesnocancelbuttons" notext="Tous les domaines" yestext="Ce domaine"/>
</notification>
<notification label="Choisir le domaine" name="EstateManagerAdd">
@@ -1919,6 +1919,10 @@ Cette action modifiera des milliers de régions et sera difficile à digérer po
Le fait de décocher cette option est susceptible de lever les restrictions que les propriétaires des parcelles ont ajouté pour éviter tout différend, maintenir la confidentialité ou protéger les jeunes résidents contre tout contenu réservé aux adultes. Veuillez discuter avec les propriétaires du terrain si nécessaire.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
+ <notification name="EstateParcelEnvironmentOverride">
+ Le fait de décocher cette option est susceptible de lever les restrictions que les propriétaires des parcelles ont ajouté à leurs parcelles. Veuillez discuter avec les propriétaires du terrain si nécessaire.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="RegionEntryAccessBlocked">
La région que vous essayez de visiter comporte du contenu dont le niveau dépasse celui de vos préférences actuelles. Vous pouvez modifier vos préférences en accédant à Moi &gt; Préférences &gt; Général.
<usetemplate name="okbutton" yestext="OK"/>
@@ -4328,4 +4332,40 @@ Veuillez sélectionner un terrain plus petit.
[REASON]
<usetemplate name="okbutton" yestext="OK"/>
</notification>
+ <notification name="FailedToFindSettings">
+ Impossible de charger les paramètres de [NAME] à partir de la base de données.
+ </notification>
+ <notification name="FailedToLoadSettingsApply">
+ Impossible d&apos;appliquer ces paramètres à l&apos;environnement.
+ </notification>
+ <notification name="FailedToBuildSettingsDay">
+ Impossible d&apos;appliquer ces paramètres à l&apos;environnement.
+ </notification>
+ <notification name="NoEnvironmentSettings">
+ Cette région ne prend pas en charge les paramètres environnementaux.
+ </notification>
+ <notification name="WLImportFail">
+ Impossible d&apos;importer les paramètres Windlight hérités depuis [FICHIER].
+ </notification>
+ <notification name="WLParcelApplyFail">
+ Impossible de définir l&apos;environnement pour cette parcelle.
+Veuillez entrer ou sélectionner une parcelle que vous avez le droit de modifier.
+ </notification>
+ <notification name="SettingsUnsuported">
+ Les paramètres ne sont pas pris en charge dans cette région.
+Veuillez vous déplacer dans une région où les paramètres sont activés et relancer votre action.
+ </notification>
+ <notification name="SettingsConfirmLoss">
+ Vous êtes sur le point de perdre les modifications que vous avez apportées à ce [TYPE] nommé &quot;[NOM]&quot;.
+Voulez-vous vraiment continuer ?
+ <usetemplate ignoretext="Voulez-vous vraiment perdre les modifications ?" name="okcancelignore" notext="Non" yestext="Oui"/>
+ </notification>
+ <notification name="SettingsMakeNoTrans">
+ Vous êtes sur le point d&apos;importer des paramètres non transférables dans ce cycle de jour. Si vous continuez, les paramètres que vous modifiez deviennent également non transférables.
+
+Cette modification ne peut être être annulée.
+
+Voulez-vous vraiment continuer ?
+ <usetemplate ignoretext="Voulez-vous vraiment que ces paramètres soient non transférables ?" name="okcancelignore" notext="Non" yestext="Oui"/>
+ </notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/fr/panel_region_environment.xml b/indra/newview/skins/default/xui/fr/panel_region_environment.xml
index 085a308786..64cee04e88 100644
--- a/indra/newview/skins/default/xui/fr/panel_region_environment.xml
+++ b/indra/newview/skins/default/xui/fr/panel_region_environment.xml
@@ -1,33 +1,77 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Environnement" name="panel_env_info">
- <text name="water_settings_title">
- Sélectionnez les réglages d&apos;eau et de ciel/cycle du jour que vous souhaitez afficher pour tous les résidents visitant votre région. En savoir plus
- </text>
- <radio_group name="region_settings_radio_group">
- <radio_item label="Utiliser les réglages par défaut de Second Life" name="use_sl_default_settings"/>
- <radio_item label="Utiliser les réglages suivants" name="use_my_settings"/>
- </radio_group>
- <panel name="user_environment_settings">
- <text name="water_settings_title">
- Réglage de l&apos;eau
- </text>
- <combo_box name="water_settings_preset_combo">
- <combo_box.item label="-Effectuer une sélection-" name="item0"/>
- </combo_box>
- <text name="sky_dayc_settings_title">
- Ciel/Cycle du jour
- </text>
- <radio_group name="sky_dayc_settings_radio_group">
- <radio_item label="Ciel fixe" name="my_sky_settings"/>
- <radio_item label="Cycle du jour" name="my_dayc_settings"/>
- </radio_group>
- <combo_box name="sky_settings_preset_combo">
- <combo_box.item label="-Effectuer une sélection-" name="item0"/>
- </combo_box>
- <combo_box name="dayc_settings_preset_combo">
- <combo_box.item label="-Effectuer une sélection-" name="item0"/>
- </combo_box>
- </panel>
- <button label="Appliquer" name="apply_btn"/>
- <button label="Annuler" name="cancel_btn"/>
+ <string name="str_label_use_default">
+ Utiliser les réglages par défaut
+ </string>
+ <string name="str_label_use_region">
+ Utiliser les réglages de la région
+ </string>
+ <string name="str_unknow_inventory">
+ Inconnu(e)
+ </string>
+ <string name="str_altitude_desription">
+ Ciel [INDEX]([ALTITUDE]m)
+ </string>
+ <string name="str_no_parcel">
+ Aucune parcelle n&apos;est sélectionnée. Les paramètres environnementaux sont désactivés..
+ </string>
+ <string name="str_cross_region">
+ Les paramètres environnementaux ne sont pas disponibles dans les limites des régions.
+ </string>
+ <string name="str_legacy">
+ Les paramètres environnementaux ne sont pas disponibles dans cette région.
+ </string>
+ <layout_stack>
+ <layout_panel name="pnl_environment_disabled">
+ <text name="txt_environment_disabled">
+ ...
+ </text>
+ </layout_panel>
+ <layout_panel name="pnl_environment_config">
+ <layout_stack>
+ <layout_panel name="pnl_environment_current">
+ <radio_group name="rdg_environment_select">
+ <radio_item label="[USEDEFAULT]" name="rdo_use_xxx_setting"/>
+ <radio_item label="Paramètres de l&apos;inventaire" name="rdo_use_inv_setting"/>
+ <radio_item label="Personnaliser l&apos;environnement" name="rdo_use_custom_setting"/>
+ </radio_group>
+ <line_editor name="edt_inventory_name">
+ Inconnu(e)
+ </line_editor>
+ <button label="Modifier l&apos;environnement" name="btn_edit"/>
+ </layout_panel>
+ <layout_panel name="pnl_environment_length">
+ <text name="lbl_apparent_time">
+ [HH]:[MM][AP] ([PRC]%)
+ </text>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="pnl_environment_altitudes">
+ <panel name="cnt_panel">
+ <multi_slider initial_value="100" name="sld_altitudes">
+ <slider name="sld1" value="200"/>
+ <slider name="sld2" value="400"/>
+ <slider name="sld3" value="600"/>
+ </multi_slider>
+ <text name="ground">
+ Sol
+ </text>
+ <text name="alt1">
+ Ciel [INDEX]([ALTITUDE]m)
+ </text>
+ <text name="alt2">
+ Ciel [INDEX]([ALTITUDE]m)
+ </text>
+ <text name="alt3">
+ Ciel [INDEX]([ALTITUDE]m)
+ </text>
+ </panel>
+ </layout_panel>
+ <layout_panel name="pnl_environment_buttons">
+ <check_box label="Les propriétaires de parcelle peuvent neutraliser l&apos;environnement" name="chk_allow_override"/>
+ <button label="Appliquer" name="btn_apply"/>
+ <button label="Réinitialiser" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_settings_sky_atmos.xml b/indra/newview/skins/default/xui/fr/panel_settings_sky_atmos.xml
new file mode 100644
index 0000000000..1d6491c7e7
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_settings_sky_atmos.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Atmosphère et éclairage" name="panel_settings_sky_atmos"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/fr/panel_settings_sky_clouds.xml
new file mode 100644
index 0000000000..180f09653e
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_settings_sky_clouds.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Nuages" name="panel_settings_sky_clouds">
+ <layout_stack>
+ <layout_panel>
+ <slider label="X" name="cloud_density_x"/>
+ <slider label="Y" name="cloud_density_y"/>
+ <slider label="D" name="cloud_density_d"/>
+ <slider label="X" name="cloud_detail_x"/>
+ <slider label="Y" name="cloud_detail_y"/>
+ <slider label="D" name="cloud_detail_d"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_settings_sky_density.xml b/indra/newview/skins/default/xui/fr/panel_settings_sky_density.xml
new file mode 100644
index 0000000000..107858dc20
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_settings_sky_density.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Densité" name="panel_settings_sky_density">
+ <layout_stack>
+ <layout_panel>
+ <slider label="Terme exponentiel de Rayleigh :" name="rayleigh_exponential"/>
+ <slider label="Échelle exponentielle de Rayleigh :" name="rayleigh_exponential_scale"/>
+ <slider label="Terme linéaire de Rayleigh :" name="rayleigh_linear"/>
+ <slider label="Terme constant de Rayleigh :" name="rayleigh_constant"/>
+ <slider label="Altitude maximum de Rayleigh :" name="rayleigh_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="Terme exponentiel de mie :" name="mie_exponential"/>
+ <slider label="Échelle exponentielle de mie :" name="mie_exponential_scale"/>
+ <slider label="Terme linéaire de mie :" name="mie_linear"/>
+ <slider label="Terme constant de mie :" name="mie_constant"/>
+ <slider label="Facteur aniso de mie :" name="mie_aniso_factor"/>
+ <slider label="Altitude maximum de mie :" name="mie_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="Terme exponentiel d&apos;absorption :" name="absorption_exponential"/>
+ <slider label="Échelle exponentielle d&apos;absorption :" name="absorption_exponential_scale"/>
+ <slider label="Terme linéaire d&apos;absorption :" name="absorption_linear"/>
+ <slider label="Terme constant d&apos;absorption :" name="absorption_constant"/>
+ <slider label="Altitude maximale d&apos;absorption :" name="absorption_max_altitude"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/fr/panel_settings_sky_sunmoon.xml
new file mode 100644
index 0000000000..5da3dff01c
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_settings_sky_sunmoon.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Soleil et lune" name="panel_settings_sky_hbodies"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_settings_water.xml b/indra/newview/skins/default/xui/fr/panel_settings_water.xml
new file mode 100644
index 0000000000..4e85d71c1f
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_settings_water.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Eau" name="panel_settings_water">
+ <layout_stack name="water_stack1">
+ <layout_panel>
+ <text name="FresnelOffsetText">
+ Capteur Fresnel Offset :
+ </text>
+ </layout_panel>
+ <layout_panel>
+ <layout_stack name="water_stack2">
+ <layout_panel>
+ <slider label="X :" name="water_normal_scale_x"/>
+ <slider label="Y :" name="water_normal_scale_y"/>
+ <slider label="Z :" name="water_normal_scale_z"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml
index e3a379d4f9..c03c8427c5 100644
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -636,6 +636,14 @@ Veuillez réessayer de vous connecter dans une minute.
<string name="BUTTON_HELP">
Afficher l&apos;aide
</string>
+ <string name="TooltipNotecardNotAllowedTypeDrop">
+ Les éléments de ce type ne peuvent pas être attachés aux notes de cette région.
+ </string>
+ <string name="TooltipNotecardOwnerRestrictedDrop">
+ Seuls des éléments avec des droits
+illimités pour le prochain propriétaire
+peuvent être joints aux notes.
+ </string>
<string name="Searching">
Recherche...
</string>
@@ -787,15 +795,15 @@ http://secondlife.com/support pour vous aider à résoudre ce problème.
<string name="symbolic link">
lien
</string>
+ <string name="settings blob">
+ paramètres
+ </string>
<string name="symbolic folder link">
lien du dossier
</string>
<string name="mesh">
maillage
</string>
- <string name="settings">
- paramètres
- </string>
<string name="AvatarEditingAppearance">
(Apparence en cours de modification)
</string>
@@ -2493,6 +2501,9 @@ Si vous continuez de recevoir ce message, contactez l’assistance Second Life
<string name="RegionSettings">
Réglages de la région
</string>
+ <string name="NoEnvironmentSettings">
+ Cette région ne prend pas en charge les paramètres environnementaux.
+ </string>
<string name="ClassifiedClicksTxt">
Clics : [TELEPORT] téléportation, [MAP] carte, [PROFILE] profil
</string>
@@ -4835,6 +4846,15 @@ du rapport d&apos;infraction
<string name="Female - Wow">
Femme - Ouah !
</string>
+ <string name="New Daycycle">
+ Nouveau cycle du jour
+ </string>
+ <string name="New Water">
+ Nouvelle eau
+ </string>
+ <string name="New Sky">
+ Nouveau ciel
+ </string>
<string name="/bow">
/s&apos;incliner
</string>
diff --git a/indra/newview/skins/default/xui/it/floater_about_land.xml b/indra/newview/skins/default/xui/it/floater_about_land.xml
index 67c46b6b62..8237400786 100644
--- a/indra/newview/skins/default/xui/it/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/it/floater_about_land.xml
@@ -472,5 +472,6 @@ Media:
</panel>
</panel>
<panel label="ESPERIENZE" name="land_experiences_panel"/>
+ <panel label="AMBIENTE" name="land_environment_panel"/>
</tab_container>
</floater>
diff --git a/indra/newview/skins/default/xui/it/floater_edit_ext_day_cycle.xml b/indra/newview/skins/default/xui/it/floater_edit_ext_day_cycle.xml
new file mode 100644
index 0000000000..b878d735cc
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/floater_edit_ext_day_cycle.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="env_edit_extdaycycle" title="Modifica ciclo giornata">
+ <string name="title_new">
+ Crea un nuovo ciclo giornata
+ </string>
+ <string name="title_edit">
+ Modifica ciclo giornata
+ </string>
+ <string name="hint_new">
+ Dai un nome al ciclo della giornata, regola i controlli per crearlo e fai clic su &quot;Salva&quot;.
+ </string>
+ <string name="hint_edit">
+ Per modificare il ciclo della giornata, regola i controlli seguenti e fai clic su &quot;Salva&quot;.
+ </string>
+ <string name="time_label">
+ ([HH]:[MM])
+ </string>
+ <string name="sky_track_label">
+ Cielo [ALT]
+ </string>
+ <layout_stack name="outer_stack">
+ <layout_panel name="name_and_import">
+ <text name="label">
+ Nome ciclo giornata:
+ </text>
+ <button label="Importa" name="btn_import" tool_tip="Importa impostazioni legacy dal disco."/>
+ </layout_panel>
+ <layout_panel name="content">
+ <layout_stack name="content_stack">
+ <layout_panel name="timeline_track_selection">
+ <panel name="timeline_layers">
+ <button label="Cielo 4:" name="sky4_track"/>
+ <button label="Cielo 3:" name="sky3_track"/>
+ <button label="Cielo 2:" name="sky2_track"/>
+ <button label="Suolo" name="sky1_track"/>
+ <button label="Acqua" name="water_track"/>
+ </panel>
+ <panel name="timeline">
+ <text name="p0" value="0%[DSC]"/>
+ <text name="p1" value="25%[DSC]"/>
+ <text name="p2" value="50%[DSC]"/>
+ <text name="p3" value="75%[DSC]"/>
+ <text name="p4" value="100%[DSC]"/>
+ <multi_slider initial_value="0" name="WLTimeSlider"/>
+ <multi_slider initial_value="0" name="WLDayCycleFrames"/>
+ <text name="current_time" value="[PRCNT]%[DSC]"/>
+ <layout_stack name="progress_control">
+ <layout_panel name="skip_back">
+ <button name="skip_back_btn" tool_tip="Passo indietro"/>
+ </layout_panel>
+ <layout_panel name="skip_forward">
+ <button name="skip_forward_btn" tool_tip="Passo avanti"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="Aggiungi fotogramma" name="add_frame"/>
+ <button label="Carica fotogramma" name="btn_load_frame"/>
+ <button label="Elimina fotogramma" name="delete_frame"/>
+ </panel>
+ </layout_panel>
+ <layout_panel name="frame_edit_controls">
+ <text name="icn_lock_edit">
+ Seleziona un fotogramma chiave dalla cronologia degli eventi qui sopra per modificare le impostazioni.
+ </text>
+ </layout_panel>
+ <layout_panel name="frame_settings_water">
+ <tab_container name="water_tabs">
+ <panel label="Acqua" name="water_panel"/>
+ </tab_container>
+ </layout_panel>
+ <layout_panel name="frame_settings_sky">
+ <tab_container name="sky_tabs">
+ <panel label="Atmosfera e illuminazione" name="atmosphere_panel"/>
+ <panel label="Nuvole" name="clouds_panel"/>
+ <panel label="Sole e luna" name="moon_panel"/>
+ </tab_container>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="buttons">
+ <button label="Salva" name="save_btn"/>
+ <button label="Annulla" name="cancel_btn"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/it/floater_fixedenvironment.xml b/indra/newview/skins/default/xui/it/floater_fixedenvironment.xml
new file mode 100644
index 0000000000..4ca13a5891
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/floater_fixedenvironment.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Fixed Environment" title="Ambiente stabilito">
+ <string name="edit_sky">
+ Modifica cielo:
+ </string>
+ <string name="edit_water">
+ Modifica acqua:
+ </string>
+ <layout_stack name="floater_stack">
+ <layout_panel name="info_panel">
+ <button label="Carica" name="btn_load" tool_tip="Carica impostazioni dall’inventario"/>
+ <button label="Importa" name="btn_import" tool_tip="Importa impostazioni legacy dal disco."/>
+ </layout_panel>
+ <layout_panel name="button_panel">
+ <layout_stack name="button_bar_ls">
+ <layout_panel name="save_btn_lp">
+ <button label="Salva" name="btn_commit"/>
+ </layout_panel>
+ <layout_panel name="revert_btn_lp">
+ <button label="Annulla" name="btn_cancel" tool_tip="Ripristina l&apos;ultima versione salvata"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/it/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/it/floater_inventory_view_finder.xml
index fe41b8ca65..c12c031198 100644
--- a/indra/newview/skins/default/xui/it/floater_inventory_view_finder.xml
+++ b/indra/newview/skins/default/xui/it/floater_inventory_view_finder.xml
@@ -12,6 +12,7 @@
<check_box label="Suoni" name="check_sound"/>
<check_box label="Texture" name="check_texture"/>
<check_box label="Fotografie" name="check_snapshot"/>
+ <check_box label="Impostazioni" name="check_settings"/>
<button label="Tutto" label_selected="Tutto" name="All"/>
<button label="Nulla" label_selected="Nulla" name="None"/>
<check_box label="Mostra sempre le cartelle" name="check_show_empty"/>
diff --git a/indra/newview/skins/default/xui/it/floater_my_environments.xml b/indra/newview/skins/default/xui/it/floater_my_environments.xml
new file mode 100644
index 0000000000..b6668a26a6
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/floater_my_environments.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater label="Luoghi" name="my_environments" title="I MIEI AMBIENTI">
+ <layout_stack>
+ <layout_panel label="Filtri" name="filter_panel">
+ <check_box label="Giorni" name="chk_days"/>
+ <check_box label="Cieli" name="chk_skies"/>
+ <check_box label="Acqua" name="chk_water"/>
+ </layout_panel>
+ <layout_panel label="Ambienti" name="list_panel">
+ <check_box initial_value="false" label="Mostra cartelle vuote" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="pnl_control">
+ <panel label="bottom_panel" name="pnl_bottom">
+ <menu_button name="btn_gear" tool_tip="Altre opzioni"/>
+ <menu_button name="btn_newsettings" tool_tip="Crea nuova impostazione"/>
+ <button name="btn_del" tool_tip="Elimina questa impostazione"/>
+ </panel>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/it/floater_settings_picker.xml b/indra/newview/skins/default/xui/it/floater_settings_picker.xml
new file mode 100644
index 0000000000..f94c19e23d
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/floater_settings_picker.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="settings picker" title="SCEGLI: IMPOSTAZIONI">
+ <floater.string name="choose_picture">
+ Fai clic per scegliere una fotografia
+ </floater.string>
+ <floater.string name="pick title">
+ Scegli:
+ </floater.string>
+ <layout_stack name="test_stack">
+ <layout_panel name="temp">
+ <filter_editor label="Filtro texture" name="flt_inventory_search"/>
+ <check_box initial_value="false" label="Mostra cartelle" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="temp">
+ <button label="OK" label_selected="OK" name="btn_select"/>
+ <button label="Annulla" label_selected="Annulla" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/it/menu_inventory.xml b/indra/newview/skins/default/xui/it/menu_inventory.xml
index de6855ca97..8b316f8d09 100644
--- a/indra/newview/skins/default/xui/it/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/it/menu_inventory.xml
@@ -10,7 +10,6 @@
<menu_item_call label="Attiva" name="Marketplace Activate"/>
<menu_item_call label="Disattiva" name="Marketplace Deactivate"/>
<menu_item_call label="Condividi" name="Share"/>
- <menu_item_call label="Compra" name="Task Buy"/>
<menu_item_call label="Apri" name="Task Open"/>
<menu_item_call label="Esegui" name="Task Play"/>
<menu_item_call label="Proprietà" name="Task Properties"/>
@@ -42,6 +41,11 @@
<menu_item_call label="Nuovi capelli" name="New Hair"/>
<menu_item_call label="Nuovi occhi" name="New Eyes"/>
</menu>
+ <menu label="Nuove impostazioni" name="New Settings">
+ <menu_item_call label="Nuovo cielo" name="New Sky"/>
+ <menu_item_call label="Nuova acqua" name="New Water"/>
+ <menu_item_call label="Nuovo ciclo giornata" name="New Day Cycle"/>
+ </menu>
<menu label="Usa come impostazione predefinita per" name="upload_def">
<menu_item_call label="Caricamenti immagini" name="Image uploads"/>
<menu_item_call label="Caricamenti suoni" name="Sound uploads"/>
@@ -103,6 +107,9 @@
<menu_item_call label="Modifica" name="Wearable Edit"/>
<menu_item_call label="Aggiungi" name="Wearable Add"/>
<menu_item_call label="Togli" name="Take Off"/>
+ <menu_item_call label="Applica solo a me stesso" name="Settings Apply Local"/>
+ <menu_item_call label="Applica al lotto" name="Settings Apply Parcel"/>
+ <menu_item_call label="Applica alla regione" name="Settings Apply Region"/>
<menu_item_call label="Copia negli annunci Marketplace" name="Marketplace Copy"/>
<menu_item_call label="Sposta negli annunci Marketplace" name="Marketplace Move"/>
<menu_item_call label="--nessuna opzione--" name="--no options--"/>
diff --git a/indra/newview/skins/default/xui/it/menu_inventory_add.xml b/indra/newview/skins/default/xui/it/menu_inventory_add.xml
index 62da61cd6b..1178401b22 100644
--- a/indra/newview/skins/default/xui/it/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/it/menu_inventory_add.xml
@@ -5,9 +5,7 @@
<menu_item_call label="Suono ([COST]L$)..." name="Upload Sound"/>
<menu_item_call label="Animazione ([COST]L$)..." name="Upload Animation"/>
<menu_item_call label="Modella..." name="Upload Model"/>
- <menu_item_call label="Procedura guidata modellazione..." name="Upload Model Wizard"/>
<menu_item_call label="In blocco ([COST]L$ per file)..." name="Bulk Upload"/>
- <menu_item_call label="Definisci diritti di caricamento predefiniti" name="perm prefs"/>
</menu>
<menu_item_call label="Nuova cartella" name="New Folder"/>
<menu_item_call label="Nuovo script" name="New Script"/>
@@ -33,4 +31,9 @@
<menu_item_call label="Nuovi capelli" name="New Hair"/>
<menu_item_call label="Nuovi occhi" name="New Eyes"/>
</menu>
+ <menu label="Nuove impostazioni" name="New Settings">
+ <menu_item_call label="Nuovo cielo" name="New Sky"/>
+ <menu_item_call label="Nuova acqua" name="New Water"/>
+ <menu_item_call label="Nuovo ciclo giornata" name="New Day Cycle"/>
+ </menu>
</menu>
diff --git a/indra/newview/skins/default/xui/it/menu_save_settings.xml b/indra/newview/skins/default/xui/it/menu_save_settings.xml
new file mode 100644
index 0000000000..80c0ef90a6
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/menu_save_settings.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_settings_menu">
+ <menu_item_check label="Salva" name="save_settings"/>
+ <menu_item_check label="Salva con nome" name="save_as_new_settings"/>
+ <menu_item_check label="Esegui" name="commit_changes"/>
+ <menu_item_check label="Applica solo a me stesso" name="apply_local"/>
+ <menu_item_check label="Applica al lotto" name="apply_parcel"/>
+ <menu_item_check label="Applica alla regione" name="apply_region"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/it/menu_settings_add.xml b/indra/newview/skins/default/xui/it/menu_settings_add.xml
new file mode 100644
index 0000000000..69fcacc374
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/menu_settings_add.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_add">
+ <menu_item_call label="Nuovo cielo" name="New Sky"/>
+ <menu_item_call label="Nuova acqua" name="New Water"/>
+ <menu_item_call label="Nuovo ciclo giornata" name="New Day Cycle"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/it/menu_settings_gear.xml b/indra/newview/skins/default/xui/it/menu_settings_gear.xml
new file mode 100644
index 0000000000..6a879814fc
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/menu_settings_gear.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_gear">
+ <menu_item_call label="Modifica" name="edit_settings"/>
+ <menu_item_call label="Applica solo a me stesso" name="Settings Apply Local"/>
+ <menu_item_call label="Applica al lotto" name="Settings Apply Parcel"/>
+ <menu_item_call label="Applica alla regione" name="Settings Apply Region"/>
+ <menu_item_call label="Copia" name="copy_settings"/>
+ <menu_item_call label="Incolla" name="paste_settings"/>
+ <menu_item_call label="Copia UUID" name="copy_uuid"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/it/menu_viewer.xml b/indra/newview/skins/default/xui/it/menu_viewer.xml
index 7ca60d5c62..c3f48c0963 100644
--- a/indra/newview/skins/default/xui/it/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/it/menu_viewer.xml
@@ -77,27 +77,14 @@
<menu_item_check label="Proprietà del lotto" name="Parcel Properties"/>
<menu_item_check label="Menu Avanzato" name="Show Advanced Menu"/>
</menu>
- <menu label="Sole" name="Sun">
+ <menu label="Ambiente" name="Environment">
<menu_item_check label="Alba" name="Sunrise"/>
<menu_item_check label="Mezzogiorno" name="Noon"/>
<menu_item_check label="Tramonto" name="Sunset"/>
<menu_item_check label="Mezzanotte" name="Midnight"/>
- <menu_item_check label="Usa impostazioni regione" name="Use Region Settings"/>
- </menu>
- <menu label="Editor ambiente" name="Environment Editor">
- <menu_item_call label="Impostazioni ambiente..." name="Environment Settings"/>
- <menu label="Valori predefiniti acqua" name="Water Presets">
- <menu_item_call label="Nuovo valore predefinito..." name="new_water_preset"/>
- <menu_item_call label="Modifica valore predefinito..." name="edit_water_preset"/>
- </menu>
- <menu label="Valori predefiniti cielo" name="Sky Presets">
- <menu_item_call label="Nuovo valore predefinito..." name="new_sky_preset"/>
- <menu_item_call label="Modifica valore predefinito..." name="edit_sky_preset"/>
- </menu>
- <menu label="Valori predefiniti giorno" name="Day Presets">
- <menu_item_call label="Nuovo valore predefinito..." name="new_day_preset"/>
- <menu_item_call label="Modifica valore predefinito..." name="edit_day_preset"/>
- </menu>
+ <menu_item_check label="Utilizza ambienti condivisi" name="Use Shared Environment"/>
+ <menu_item_call label="I miei ambienti..." name="my_environs"/>
+ <menu_item_check label="Ferma nuvole" name="pause_clouds"/>
</menu>
</menu>
<menu label="Costruisci" name="BuildTools">
@@ -270,7 +257,6 @@
<menu_item_check label="Mostra info sulla texture" name="Show Texture Info"/>
<menu_item_check label="Mostra colore sotto il cursore" name="Show Color Under Cursor"/>
<menu_item_check label="Mostra memoria" name="Show Memory"/>
- <menu_item_check label="Mostra info mem privata" name="Show Private Mem Info"/>
<menu_item_check label="Mostra aggiornamenti agli oggetti" name="Show Updates"/>
</menu>
<menu label="Forza un errore" name="Force Errors">
diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml
index e0c1403491..a6df0f8e1b 100644
--- a/indra/newview/skins/default/xui/it/notifications.xml
+++ b/indra/newview/skins/default/xui/it/notifications.xml
@@ -1876,7 +1876,7 @@ Cambierà migliaia di regioni e produrrà seri problemi ai vari server.
<usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà" yestext="Questa proprietà"/>
</notification>
<notification label="Seleziona la proprietà" name="EstateBannedAgentRemove">
- Rimuovi questo residente dalla lista dei residenti bloccati nell&apos;accesso solo a questa proprietà oppure per [ALL_ESTATES]?
+ Vuoi rimuovere questo Residente dall’elenco degli espulsi solo per questa proprietà immobiliare oppure per [ALL_ESTATES]?
<usetemplate canceltext="Annulla" name="yesnocancelbuttons" notext="Tutte le proprietà" yestext="Questa proprietà"/>
</notification>
<notification label="Seleziona la proprietà" name="EstateManagerAdd">
@@ -1923,6 +1923,10 @@ Cambierà migliaia di regioni e produrrà seri problemi ai vari server.
Togliendo la spunta a questa opzione potrebbero essere rimosse le restrizioni che i proprietari di lotti hanno aggiunto per tenere lontani disturbatori, mantenere la privacy, o evitare che minorenni abbiano accesso a materiale per adulti. Parla con i proprietari del tuo lotto se ce n’è bisogno.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
+ <notification name="EstateParcelEnvironmentOverride">
+ Togliendo la spunta a questa opzione potrebbero essere rimosse le impostazioni personalizzate che i proprietari hanno aggiunto ai loro lotti. Parlane con i proprietari del tuo lotto se ce n’è bisogno.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="RegionEntryAccessBlocked">
La regione che cerchi di visitare include contenuti che non corripondono al livello selezionato nelle preferenze. Per cambiare le preferenze seleziona Io &gt; Preferenze &gt; Generale.
<usetemplate name="okbutton" yestext="OK"/>
@@ -4327,4 +4331,40 @@ Prova a selezionare un pezzo di terreno più piccolo.
[REASON]
<usetemplate name="okbutton" yestext="OK"/>
</notification>
+ <notification name="FailedToFindSettings">
+ Non abbiamo potuto caricare le impostazioni per [NAME] dal database.
+ </notification>
+ <notification name="FailedToLoadSettingsApply">
+ Impossibile applicare le impostazioni all’ambiente.
+ </notification>
+ <notification name="FailedToBuildSettingsDay">
+ Impossibile applicare le impostazioni all’ambiente.
+ </notification>
+ <notification name="NoEnvironmentSettings">
+ Questa regione non supporta le impostazioni per l’ambiente.
+ </notification>
+ <notification name="WLImportFail">
+ Impossibile importare le impostazioni legacy vento e luce da [FILE].
+ </notification>
+ <notification name="WLParcelApplyFail">
+ Impossibile impostare l’ambiente per questo lotto.
+Inserisci o seleziona un lotto che hai il diritto di modificare.
+ </notification>
+ <notification name="SettingsUnsuported">
+ Questa regione non supporta le impostazioni ambientali.
+Spostati in una regione che abbia le impostazioni abilitate e riprova.
+ </notification>
+ <notification name="SettingsConfirmLoss">
+ Stai per perdere le modifiche che hai fatto a questo [TYPE] chiamato “[NAME]”.
+Vuoi continuare?
+ <usetemplate ignoretext="Sei sicuro di voler perdere le modifiche apportate?" name="okcancelignore" notext="No" yestext="Sì"/>
+ </notification>
+ <notification name="SettingsMakeNoTrans">
+ Stai per importare impostazioni non trasferibili in questo ciclo giornata Continuando, anche le impostazione che stai modificando diventeranno non trasferibili.
+
+Questo cambiamento non può essere annullato.
+
+Vuoi continuare?
+ <usetemplate ignoretext="Sei sicuro di voler rendere le impostazioni non trasferibili?" name="okcancelignore" notext="No" yestext="Sì"/>
+ </notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/it/panel_region_environment.xml b/indra/newview/skins/default/xui/it/panel_region_environment.xml
index 81bc8253f4..9a18836c55 100644
--- a/indra/newview/skins/default/xui/it/panel_region_environment.xml
+++ b/indra/newview/skins/default/xui/it/panel_region_environment.xml
@@ -1,33 +1,77 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Ambiente" name="panel_env_info">
- <text name="water_settings_title">
- Seleziona le impostazioni del ciclo dell&apos;acqua e del cielo/giornata che vuoi che vedano tutti coloro che visitano la tua regione. Maggiori informazioni
- </text>
- <radio_group name="region_settings_radio_group">
- <radio_item label="Usa valori predefiniti di Second Life" name="use_sl_default_settings"/>
- <radio_item label="Usa le impostazioni seguenti" name="use_my_settings"/>
- </radio_group>
- <panel name="user_environment_settings">
- <text name="water_settings_title">
- Impostazione Acqua
- </text>
- <combo_box name="water_settings_preset_combo">
- <combo_box.item label="-Seleziona un valore predefinito-" name="item0"/>
- </combo_box>
- <text name="sky_dayc_settings_title">
- Ciclo cielo / giornata
- </text>
- <radio_group name="sky_dayc_settings_radio_group">
- <radio_item label="Cielo fisso" name="my_sky_settings"/>
- <radio_item label="Ciclo giornata" name="my_dayc_settings"/>
- </radio_group>
- <combo_box name="sky_settings_preset_combo">
- <combo_box.item label="-Seleziona un valore predefinito-" name="item0"/>
- </combo_box>
- <combo_box name="dayc_settings_preset_combo">
- <combo_box.item label="-Seleziona un valore predefinito-" name="item0"/>
- </combo_box>
- </panel>
- <button label="Applica" name="apply_btn"/>
- <button label="Annulla" name="cancel_btn"/>
+ <string name="str_label_use_default">
+ Usa impostazioni predefinite
+ </string>
+ <string name="str_label_use_region">
+ Usa impostazioni regione
+ </string>
+ <string name="str_unknow_inventory">
+ Sconosciuto
+ </string>
+ <string name="str_altitude_desription">
+ Cielo [INDEX]([ALTITUDE]m)
+ </string>
+ <string name="str_no_parcel">
+ Non è stato selezionato alcun lotto. Le impostazioni ambientali sono disabilitate.
+ </string>
+ <string name="str_cross_region">
+ Le impostazioni ambientali non sono disponibili oltre i confini della regione.
+ </string>
+ <string name="str_legacy">
+ Le impostazioni ambientali non sono disponibili per questa regione.
+ </string>
+ <layout_stack>
+ <layout_panel name="pnl_environment_disabled">
+ <text name="txt_environment_disabled">
+ ...
+ </text>
+ </layout_panel>
+ <layout_panel name="pnl_environment_config">
+ <layout_stack>
+ <layout_panel name="pnl_environment_current">
+ <radio_group name="rdg_environment_select">
+ <radio_item label="[USEDEFAULT]" name="rdo_use_xxx_setting"/>
+ <radio_item label="Impostazioni da inventario" name="rdo_use_inv_setting"/>
+ <radio_item label="Ambiente personalizzato" name="rdo_use_custom_setting"/>
+ </radio_group>
+ <line_editor name="edt_inventory_name">
+ Sconosciuto
+ </line_editor>
+ <button label="Modifica ambiente" name="btn_edit"/>
+ </layout_panel>
+ <layout_panel name="pnl_environment_length">
+ <text name="lbl_apparent_time">
+ [HH]:[MM][AP] ([PRC]%)
+ </text>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="pnl_environment_altitudes">
+ <panel name="cnt_panel">
+ <multi_slider initial_value="100" name="sld_altitudes">
+ <slider name="sld1" value="200"/>
+ <slider name="sld2" value="400"/>
+ <slider name="sld3" value="600"/>
+ </multi_slider>
+ <text name="ground">
+ Suolo
+ </text>
+ <text name="alt1">
+ Cielo [INDEX]([ALTITUDE]m)
+ </text>
+ <text name="alt2">
+ Cielo [INDEX]([ALTITUDE]m)
+ </text>
+ <text name="alt3">
+ Cielo [INDEX]([ALTITUDE]m)
+ </text>
+ </panel>
+ </layout_panel>
+ <layout_panel name="pnl_environment_buttons">
+ <check_box label="I proprietari del lotto possono ignorare l’ambiente" name="chk_allow_override"/>
+ <button label="Applica" name="btn_apply"/>
+ <button label="Reimposta" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_region_estate.xml b/indra/newview/skins/default/xui/it/panel_region_estate.xml
index 3983d25111..525458d163 100644
--- a/indra/newview/skins/default/xui/it/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/it/panel_region_estate.xml
@@ -26,10 +26,10 @@
<check_box label="Permetti teleport diretto" name="allow_direct_teleport"/>
<button label="Applica" name="apply_btn"/>
<text name="estate_manager_label">
- Manager delle proprietà:
+ Gestori delle proprietà immobiliari:
</text>
<text name="allow_resident_label">
- Sempre consentito:
+ Sempre consentiti:
</text>
<button label="Aggiungi..." name="add_estate_manager_btn"/>
<button label="Rimuovi..." name="remove_estate_manager_btn"/>
@@ -39,7 +39,7 @@
Gruppi sempre consentiti:
</text>
<text name="ban_resident_label">
- Sempre escluso:
+ Sempre espulsi:
</text>
<button label="Aggiungi..." name="add_allowed_group_btn"/>
<button label="Rimuovi..." name="remove_allowed_group_btn"/>
diff --git a/indra/newview/skins/default/xui/it/panel_settings_sky_atmos.xml b/indra/newview/skins/default/xui/it/panel_settings_sky_atmos.xml
new file mode 100644
index 0000000000..b2d27b93fc
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_settings_sky_atmos.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Atmosfera e illuminazione" name="panel_settings_sky_atmos"/>
diff --git a/indra/newview/skins/default/xui/it/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/it/panel_settings_sky_clouds.xml
new file mode 100644
index 0000000000..e4dd5e00c0
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_settings_sky_clouds.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Nuvole" name="panel_settings_sky_clouds">
+ <layout_stack>
+ <layout_panel>
+ <slider label="X" name="cloud_density_x"/>
+ <slider label="Y" name="cloud_density_y"/>
+ <slider label="D" name="cloud_density_d"/>
+ <slider label="X" name="cloud_detail_x"/>
+ <slider label="Y" name="cloud_detail_y"/>
+ <slider label="D" name="cloud_detail_d"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_settings_sky_density.xml b/indra/newview/skins/default/xui/it/panel_settings_sky_density.xml
new file mode 100644
index 0000000000..3142d1442a
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_settings_sky_density.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Densità" name="panel_settings_sky_density">
+ <layout_stack>
+ <layout_panel>
+ <slider label="Termine esponenziale Rayleigh:" name="rayleigh_exponential"/>
+ <slider label="Scala esponenziale Rayleigh:" name="rayleigh_exponential_scale"/>
+ <slider label="Termine lineare Rayleigh:" name="rayleigh_linear"/>
+ <slider label="Termine costante Rayleigh:" name="rayleigh_constant"/>
+ <slider label="Altitudine massima Rayleigh:" name="rayleigh_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="Termine esponenziale Mie:" name="mie_exponential"/>
+ <slider label="Scala esponenziale Mie:" name="mie_exponential_scale"/>
+ <slider label="Termine lineare Mie:" name="mie_linear"/>
+ <slider label="Termine costante Mie:" name="mie_constant"/>
+ <slider label="Fattore diverso Mie:" name="mie_aniso_factor"/>
+ <slider label="Altitudine massima Mie:" name="mie_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="Termine esponenziale di assorbimento:" name="absorption_exponential"/>
+ <slider label="Scala esponenziale di assorbimento:" name="absorption_exponential_scale"/>
+ <slider label="Termine lineare di assorbimento:" name="absorption_linear"/>
+ <slider label="Termine costante di assorbimento:" name="absorption_constant"/>
+ <slider label="Altitudine massima di assorbimento:" name="absorption_max_altitude"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/it/panel_settings_sky_sunmoon.xml
new file mode 100644
index 0000000000..505d5dea08
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_settings_sky_sunmoon.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Sole e luna" name="panel_settings_sky_hbodies"/>
diff --git a/indra/newview/skins/default/xui/it/panel_settings_water.xml b/indra/newview/skins/default/xui/it/panel_settings_water.xml
new file mode 100644
index 0000000000..a353732a12
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_settings_water.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Acqua" name="panel_settings_water">
+ <layout_stack name="water_stack1">
+ <layout_panel>
+ <text name="FresnelOffsetText">
+ Spostamento Fresnel
+ </text>
+ </layout_panel>
+ <layout_panel>
+ <layout_stack name="water_stack2">
+ <layout_panel>
+ <slider label="X:" name="water_normal_scale_x"/>
+ <slider label="Y:" name="water_normal_scale_y"/>
+ <slider label="Z:" name="water_normal_scale_z"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml
index 933f624525..3071f4c99e 100644
--- a/indra/newview/skins/default/xui/it/strings.xml
+++ b/indra/newview/skins/default/xui/it/strings.xml
@@ -632,6 +632,15 @@ Prova ad accedere nuovamente tra un minuto.
<string name="BUTTON_HELP">
Mostra Aiuto
</string>
+ <string name="TooltipNotecardNotAllowedTypeDrop">
+ Oggetti di questo tipo non possono essere allegati
+ai biglietti in questa regione.
+ </string>
+ <string name="TooltipNotecardOwnerRestrictedDrop">
+ Solamente gli oggetti con autorizzazioni illimitate
+al “proprietario successivo” possono
+essere allegati ai biglietti.
+ </string>
<string name="Searching">
Ricerca in corso...
</string>
@@ -780,15 +789,15 @@ http://secondlife.com/support per risolvere il problema.
<string name="symbolic link">
link
</string>
+ <string name="settings blob">
+ impostazioni
+ </string>
<string name="symbolic folder link">
link alla cartella
</string>
<string name="mesh">
reticolo
</string>
- <string name="settings">
- impostazioni
- </string>
<string name="AvatarEditingAppearance">
(Modifica Aspetto)
</string>
@@ -2471,6 +2480,9 @@ Se continui a ricevere questo messaggio, contatta l&apos;assistenza Second Life
<string name="RegionSettings">
Impostazioni regione
</string>
+ <string name="NoEnvironmentSettings">
+ Questa regione non supporta le impostazioni per l’ambiente.
+ </string>
<string name="ClassifiedClicksTxt">
Clicca: [TELEPORT] teleport, [MAP] mappa, [PROFILE] profilo
</string>
@@ -4750,6 +4762,15 @@ Segnala abuso
<string name="Female - Wow">
Femmina - Accipicchia
</string>
+ <string name="New Daycycle">
+ Nuovo ciclo giornata
+ </string>
+ <string name="New Water">
+ Nuova acqua
+ </string>
+ <string name="New Sky">
+ Nuovo cielo
+ </string>
<string name="/bow">
/inchino
</string>
diff --git a/indra/newview/skins/default/xui/ja/floater_about_land.xml b/indra/newview/skins/default/xui/ja/floater_about_land.xml
index df94daad8e..12201a3475 100644
--- a/indra/newview/skins/default/xui/ja/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/ja/floater_about_land.xml
@@ -466,5 +466,6 @@
</panel>
</panel>
<panel label="体験" name="land_experiences_panel"/>
+ <panel label="環境" name="land_environment_panel"/>
</tab_container>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_edit_ext_day_cycle.xml b/indra/newview/skins/default/xui/ja/floater_edit_ext_day_cycle.xml
new file mode 100644
index 0000000000..33df12db4b
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/floater_edit_ext_day_cycle.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="env_edit_extdaycycle" title="デイサイクルを編集">
+ <string name="title_new">
+ 新しいデイサイクルを作成
+ </string>
+ <string name="title_edit">
+ デイサイクルを編集
+ </string>
+ <string name="hint_new">
+ 新しいデイサイクルに名前をつけ、希望の設定に調節して、「保存」をクリックします。
+ </string>
+ <string name="hint_edit">
+ 自分で作成したデイサイクルを編集するには、希望の設定に調節して、「保存」をクリックします。
+ </string>
+ <string name="time_label">
+ ([HH]:[MM])
+ </string>
+ <string name="sky_track_label">
+ 空 [ALT]
+ </string>
+ <layout_stack name="outer_stack">
+ <layout_panel name="name_and_import">
+ <text name="label">
+ デイサイクル名:
+ </text>
+ <button label="インポート" name="btn_import" tool_tip="ディスクから過去の設定をインポートする。"/>
+ </layout_panel>
+ <layout_panel name="content">
+ <layout_stack name="content_stack">
+ <layout_panel name="timeline_track_selection">
+ <panel name="timeline_layers">
+ <button label="空 4" name="sky4_track"/>
+ <button label="空 3" name="sky3_track"/>
+ <button label="空 2" name="sky2_track"/>
+ <button label="地表レベル" name="sky1_track"/>
+ <button label="水" name="water_track"/>
+ </panel>
+ <panel name="timeline">
+ <text name="p0" value="0%[DSC]"/>
+ <text name="p1" value="25%[DSC]"/>
+ <text name="p2" value="50%[DSC]"/>
+ <text name="p3" value="75%[DSC]"/>
+ <text name="p4" value="100%[DSC]"/>
+ <multi_slider initial_value="0" name="WLTimeSlider"/>
+ <multi_slider initial_value="0" name="WLDayCycleFrames"/>
+ <text name="current_time" value="[PRCNT]%[DSC]"/>
+ <layout_stack name="progress_control">
+ <layout_panel name="skip_back">
+ <button name="skip_back_btn" tool_tip="後ろに移動"/>
+ </layout_panel>
+ <layout_panel name="skip_forward">
+ <button name="skip_forward_btn" tool_tip="前に移動"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="フレームを追加" name="add_frame"/>
+ <button label="フレームを読み込み" name="btn_load_frame"/>
+ <button label="フレームを削除" name="delete_frame"/>
+ </panel>
+ </layout_panel>
+ <layout_panel name="frame_edit_controls">
+ <text name="icn_lock_edit">
+ 上部のタイムラインからキーフレームを選択し、設定を編集します。
+ </text>
+ </layout_panel>
+ <layout_panel name="frame_settings_water">
+ <tab_container name="water_tabs">
+ <panel label="水" name="water_panel"/>
+ </tab_container>
+ </layout_panel>
+ <layout_panel name="frame_settings_sky">
+ <tab_container name="sky_tabs">
+ <panel label="大気&光" name="atmosphere_panel"/>
+ <panel label="雲" name="clouds_panel"/>
+ <panel label="太陽&月" name="moon_panel"/>
+ </tab_container>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="buttons">
+ <button label="保存" name="save_btn"/>
+ <button label="キャンセル" name="cancel_btn"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_fixedenvironment.xml b/indra/newview/skins/default/xui/ja/floater_fixedenvironment.xml
new file mode 100644
index 0000000000..bec18d95ce
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/floater_fixedenvironment.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Fixed Environment" title="固定された環境">
+ <string name="edit_sky">
+ 空を編集:
+ </string>
+ <string name="edit_water">
+ 水を編集:
+ </string>
+ <layout_stack name="floater_stack">
+ <layout_panel name="info_panel">
+ <button label="ロード" name="btn_load" tool_tip="インベントリから設定をロードする"/>
+ <button label="インポート" name="btn_import" tool_tip="ディスクから過去の設定をインポートする。"/>
+ </layout_panel>
+ <layout_panel name="button_panel">
+ <layout_stack name="button_bar_ls">
+ <layout_panel name="save_btn_lp">
+ <button label="保存" name="btn_commit"/>
+ </layout_panel>
+ <layout_panel name="revert_btn_lp">
+ <button label="キャンセル" name="btn_cancel" tool_tip="最後に保存された状態に戻す"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/ja/floater_inventory_view_finder.xml
index da63b54eab..425cb7ad81 100644
--- a/indra/newview/skins/default/xui/ja/floater_inventory_view_finder.xml
+++ b/indra/newview/skins/default/xui/ja/floater_inventory_view_finder.xml
@@ -12,6 +12,7 @@
<check_box label="サウンド" name="check_sound"/>
<check_box label="テクスチャ" name="check_texture"/>
<check_box label="スナップショット" name="check_snapshot"/>
+ <check_box label="設定" name="check_settings"/>
<button label="すべて" label_selected="すべて" name="All"/>
<button label="なし" label_selected="なし" name="None"/>
<check_box label="常にフォルダを表示" name="check_show_empty"/>
diff --git a/indra/newview/skins/default/xui/ja/floater_my_environments.xml b/indra/newview/skins/default/xui/ja/floater_my_environments.xml
new file mode 100644
index 0000000000..5ef9c3d82c
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/floater_my_environments.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater label="場所" name="my_environments" title="私の環境">
+ <layout_stack>
+ <layout_panel label="フィルター" name="filter_panel">
+ <check_box label="日間" name="chk_days"/>
+ <check_box label="空" name="chk_skies"/>
+ <check_box label="水" name="chk_water"/>
+ </layout_panel>
+ <layout_panel label="環境" name="list_panel">
+ <check_box initial_value="false" label="空のフォルダを表示" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="pnl_control">
+ <panel label="bottom_panel" name="pnl_bottom">
+ <menu_button name="btn_gear" tool_tip="その他のオプションを表示"/>
+ <menu_button name="btn_newsettings" tool_tip="新規設定を作成"/>
+ <button name="btn_del" tool_tip="この設定を削除"/>
+ </panel>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_settings_picker.xml b/indra/newview/skins/default/xui/ja/floater_settings_picker.xml
new file mode 100644
index 0000000000..16d5dbe983
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/floater_settings_picker.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="settings picker" title="選択:設定">
+ <floater.string name="choose_picture">
+ クリックして写真を選択する
+ </floater.string>
+ <floater.string name="pick title">
+ 選択:
+ </floater.string>
+ <layout_stack name="test_stack">
+ <layout_panel name="temp">
+ <filter_editor label="テクスチャをフィルター" name="flt_inventory_search"/>
+ <check_box initial_value="false" label="フォルダを表示" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="temp">
+ <button label="OK" label_selected="OK" name="btn_select"/>
+ <button label="キャンセル" label_selected="キャンセル" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/ja/menu_inventory.xml b/indra/newview/skins/default/xui/ja/menu_inventory.xml
index 0b06b77901..faa01bc229 100644
--- a/indra/newview/skins/default/xui/ja/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/ja/menu_inventory.xml
@@ -10,7 +10,6 @@
<menu_item_call label="有効にする" name="Marketplace Activate"/>
<menu_item_call label="無効にする" name="Marketplace Deactivate"/>
<menu_item_call label="共有" name="Share"/>
- <menu_item_call label="購入" name="Task Buy"/>
<menu_item_call label="開く" name="Task Open"/>
<menu_item_call label="再生" name="Task Play"/>
<menu_item_call label="プロパティ" name="Task Properties"/>
@@ -42,6 +41,11 @@
<menu_item_call label="新しい髪" name="New Hair"/>
<menu_item_call label="新しい眼" name="New Eyes"/>
</menu>
+ <menu label="新しい設定" name="New Settings">
+ <menu_item_call label="新しい空" name="New Sky"/>
+ <menu_item_call label="新しい水" name="New Water"/>
+ <menu_item_call label="新しいデイサイクル" name="New Day Cycle"/>
+ </menu>
<menu label="次のデフォルトとして使用" name="upload_def">
<menu_item_call label="画像のアップロード" name="Image uploads"/>
<menu_item_call label="サウンドのアップロード" name="Sound uploads"/>
@@ -103,6 +107,9 @@
<menu_item_call label="編集" name="Wearable Edit"/>
<menu_item_call label="追加" name="Wearable Add"/>
<menu_item_call label="取り外す" name="Take Off"/>
+ <menu_item_call label="自分にのみ適用" name="Settings Apply Local"/>
+ <menu_item_call label="区画に適用" name="Settings Apply Parcel"/>
+ <menu_item_call label="リージョンに適用" name="Settings Apply Region"/>
<menu_item_call label="マーケットプレイスのリストにコピー" name="Marketplace Copy"/>
<menu_item_call label="マーケットプレイスのリストに移動" name="Marketplace Move"/>
<menu_item_call label="--オプションなし--" name="--no options--"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_inventory_add.xml b/indra/newview/skins/default/xui/ja/menu_inventory_add.xml
index ae5ddbb78f..b8c9c8f25e 100644
--- a/indra/newview/skins/default/xui/ja/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/ja/menu_inventory_add.xml
@@ -5,9 +5,7 @@
<menu_item_call label="サウンド (L$[COST] )..." name="Upload Sound"/>
<menu_item_call label="アニメーション (L$ [COST] )..." name="Upload Animation"/>
<menu_item_call label="モデル" name="Upload Model"/>
- <menu_item_call label="モデルウィザード" name="Upload Model Wizard"/>
<menu_item_call label="一括 (ファイルにつき L$[COST] )..." name="Bulk Upload"/>
- <menu_item_call label="デフォルトのアップロード権限を設定" name="perm prefs"/>
</menu>
<menu_item_call label="新規フォルダ" name="New Folder"/>
<menu_item_call label="新規スクリプト" name="New Script"/>
@@ -33,4 +31,9 @@
<menu_item_call label="新しい髪" name="New Hair"/>
<menu_item_call label="新しい目" name="New Eyes"/>
</menu>
+ <menu label="新しい設定" name="New Settings">
+ <menu_item_call label="新しい空" name="New Sky"/>
+ <menu_item_call label="新しい水" name="New Water"/>
+ <menu_item_call label="新しいデイサイクル" name="New Day Cycle"/>
+ </menu>
</menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_save_settings.xml b/indra/newview/skins/default/xui/ja/menu_save_settings.xml
new file mode 100644
index 0000000000..44fb1fb30b
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/menu_save_settings.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_settings_menu">
+ <menu_item_check label="保存" name="save_settings"/>
+ <menu_item_check label="別名で保存" name="save_as_new_settings"/>
+ <menu_item_check label="約束する" name="commit_changes"/>
+ <menu_item_check label="自分にのみ適用" name="apply_local"/>
+ <menu_item_check label="区画に適用" name="apply_parcel"/>
+ <menu_item_check label="リージョンに適用" name="apply_region"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_settings_add.xml b/indra/newview/skins/default/xui/ja/menu_settings_add.xml
new file mode 100644
index 0000000000..814ad9c1a6
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/menu_settings_add.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_add">
+ <menu_item_call label="新しい空" name="New Sky"/>
+ <menu_item_call label="新しい水" name="New Water"/>
+ <menu_item_call label="新しいデイサイクル" name="New Day Cycle"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_settings_gear.xml b/indra/newview/skins/default/xui/ja/menu_settings_gear.xml
new file mode 100644
index 0000000000..afce43fb25
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/menu_settings_gear.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_gear">
+ <menu_item_call label="編集" name="edit_settings"/>
+ <menu_item_call label="自分にのみ適用" name="Settings Apply Local"/>
+ <menu_item_call label="区画に適用" name="Settings Apply Parcel"/>
+ <menu_item_call label="リージョンに適用" name="Settings Apply Region"/>
+ <menu_item_call label="コピー" name="copy_settings"/>
+ <menu_item_call label="貼り付け" name="paste_settings"/>
+ <menu_item_call label="UUIDをコピー" name="copy_uuid"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_viewer.xml b/indra/newview/skins/default/xui/ja/menu_viewer.xml
index 4948f5a824..6dcb4e0ef3 100644
--- a/indra/newview/skins/default/xui/ja/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/ja/menu_viewer.xml
@@ -77,27 +77,14 @@
<menu_item_check label="区画プロパティ" name="Parcel Properties"/>
<menu_item_check label="アドバンスメニュー" name="Show Advanced Menu"/>
</menu>
- <menu label="太陽" name="Sun">
+ <menu label="環境" name="Environment">
<menu_item_check label="日の出" name="Sunrise"/>
<menu_item_check label="正午" name="Noon"/>
<menu_item_check label="日没" name="Sunset"/>
- <menu_item_check label="真夜中" name="Midnight"/>
- <menu_item_check label="リージョンの設定を使用" name="Use Region Settings"/>
- </menu>
- <menu label="自然環境エディター" name="Environment Editor">
- <menu_item_call label="自然環境の設定..." name="Environment Settings"/>
- <menu label="水の事前設定" name="Water Presets">
- <menu_item_call label="新しい事前設定..." name="new_water_preset"/>
- <menu_item_call label="事前設定を編集..." name="edit_water_preset"/>
- </menu>
- <menu label="空の事前設定" name="Sky Presets">
- <menu_item_call label="新しい事前設定..." name="new_sky_preset"/>
- <menu_item_call label="事前設定を編集..." name="edit_sky_preset"/>
- </menu>
- <menu label="デイの事前設定" name="Day Presets">
- <menu_item_call label="新しい事前設定..." name="new_day_preset"/>
- <menu_item_call label="事前設定を編集..." name="edit_day_preset"/>
- </menu>
+ <menu_item_check label="深夜" name="Midnight"/>
+ <menu_item_check label="共有された環境を使用" name="Use Shared Environment"/>
+ <menu_item_call label="私の環境…" name="my_environs"/>
+ <menu_item_check label="雲を一時停止" name="pause_clouds"/>
</menu>
</menu>
<menu label="制作" name="BuildTools">
@@ -275,7 +262,6 @@
<menu_item_check label="マトリックスを表示する" name="Show Matrices"/>
<menu_item_check label="カーソルを乗せた場所の色を表示する" name="Show Color Under Cursor"/>
<menu_item_check label="メモリを表示:" name="Show Memory"/>
- <menu_item_check label="プライベートメモリ情報を表示" name="Show Private Mem Info"/>
<menu_item_check label="オブジェクトのアップデートを表示する" name="Show Updates"/>
</menu>
<menu label="エラー実行" name="Force Errors">
diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml
index c032e0d1ba..4b2df6372a 100644
--- a/indra/newview/skins/default/xui/ja/notifications.xml
+++ b/indra/newview/skins/default/xui/ja/notifications.xml
@@ -1907,7 +1907,7 @@ http://wiki.secondlife.com/wiki/Setting_your_display_name を参照してくだ
<usetemplate canceltext="取り消し" name="yesnocancelbuttons" notext="すべての不動産" yestext="この不動産"/>
</notification>
<notification label="不動産を選択" name="EstateBannedAgentRemove">
- この住人が、この不動産限定、または [ALL_ESTATES] にアクセスできるように、禁止リストから削除しますか?
+ この住人をこの不動産の立入禁止リストからのみ削除しますか?それとも [ALL_ESTATES] の立入禁止リストから削除しますか?
<usetemplate canceltext="取り消し" name="yesnocancelbuttons" notext="すべての不動産" yestext="この不動産"/>
</notification>
<notification label="不動産を選択" name="EstateManagerAdd">
@@ -1954,6 +1954,10 @@ http://wiki.secondlife.com/wiki/Setting_your_display_name を参照してくだ
このオプションをオフにすると、嫌がらせの防止やプライバシーの維持、18 才以下の住人を Adult コンテンツから守るために区画所有者が加えた制限が解除される可能性があります。必要に応じて区画所有者と相談してください。
<usetemplate name="okbutton" yestext="OK"/>
</notification>
+ <notification name="EstateParcelEnvironmentOverride">
+ このオプションをオフにすると、区画所有者がその区画に加えたカスタム環境が削除されることがあります。必要に応じて区画所有者と相談してください。
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="RegionEntryAccessBlocked">
訪問しようとしている地域(リージョン)には現在の環境設定を超えるコンテンツが含まれています。「ミー」 &gt; 「環境設定」 &gt; 「一般」を選択して、環境設定を変更できます。
<usetemplate name="okbutton" yestext="OK"/>
@@ -4363,4 +4367,40 @@ M キーを押して変更します。
[REASON]
<usetemplate name="okbutton" yestext="OK"/>
</notification>
+ <notification name="FailedToFindSettings">
+ データベースから [NAME] の設定の読み込みができませんでした。
+ </notification>
+ <notification name="FailedToLoadSettingsApply">
+ 環境にこれらの設定を適用することができません。
+ </notification>
+ <notification name="FailedToBuildSettingsDay">
+ 環境にこれらの設定を適用することができません。
+ </notification>
+ <notification name="NoEnvironmentSettings">
+ このリージョンは環境設定をサポートしていません。
+ </notification>
+ <notification name="WLImportFail">
+ [FILE] から過去のウインドライトの設定をインポートできません。
+ </notification>
+ <notification name="WLParcelApplyFail">
+ この区画で環境を設定することはできません。
+変更する権限のある区画を入力または選択してください。
+ </notification>
+ <notification name="SettingsUnsuported">
+ このリージョンでは設定をサポートしていません。
+設定に対応しているリージョンに移動し、アクションを再試行してください。
+ </notification>
+ <notification name="SettingsConfirmLoss">
+ &quot;[NAME]&quot;。と名付けられたこの [TYPE] に加えられた変更が失われます。
+続けますか?
+ <usetemplate ignoretext="変更を失いますがよろしいですか?" name="okcancelignore" notext="いいえ" yestext="はい"/>
+ </notification>
+ <notification name="SettingsMakeNoTrans">
+ このデイサイクルに移行不可の設定をインポートしようとしています。このまま続けると、編集中の設定も移行不可になります。
+
+この変更は元に戻すことができません。
+
+続けますか?
+ <usetemplate ignoretext="設定を移行不可にしますか?" name="okcancelignore" notext="いいえ" yestext="はい"/>
+ </notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/ja/panel_region_environment.xml b/indra/newview/skins/default/xui/ja/panel_region_environment.xml
index f6ef3f0934..7ef6aab7de 100644
--- a/indra/newview/skins/default/xui/ja/panel_region_environment.xml
+++ b/indra/newview/skins/default/xui/ja/panel_region_environment.xml
@@ -1,33 +1,77 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="環境" name="panel_env_info">
- <text name="water_settings_title">
- あなたのリージョンを訪れるユーザーに見せたい、水と空/デイサイクルの設定を選択します。詳細
- </text>
- <radio_group name="region_settings_radio_group">
- <radio_item label="Second Life のデフォルト設定を使用" name="use_sl_default_settings"/>
- <radio_item label="次の設定を使用" name="use_my_settings"/>
- </radio_group>
- <panel name="user_environment_settings">
- <text name="water_settings_title">
- 水の設定
- </text>
- <combo_box name="water_settings_preset_combo">
- <combo_box.item label="- 事前設定を選択 -" name="item0"/>
- </combo_box>
- <text name="sky_dayc_settings_title">
- 空 / デイサイクル
- </text>
- <radio_group name="sky_dayc_settings_radio_group">
- <radio_item label="空の固定" name="my_sky_settings"/>
- <radio_item label="デイサイクル" name="my_dayc_settings"/>
- </radio_group>
- <combo_box name="sky_settings_preset_combo">
- <combo_box.item label="- 事前設定を選択 -" name="item0"/>
- </combo_box>
- <combo_box name="dayc_settings_preset_combo">
- <combo_box.item label="- 事前設定を選択 -" name="item0"/>
- </combo_box>
- </panel>
- <button label="適用" name="apply_btn"/>
- <button label="取り消し" name="cancel_btn"/>
+ <string name="str_label_use_default">
+ 既定の設定を使用
+ </string>
+ <string name="str_label_use_region">
+ リージョンの設定を使用
+ </string>
+ <string name="str_unknow_inventory">
+ 不明
+ </string>
+ <string name="str_altitude_desription">
+ 空 [INDEX]([ALTITUDE]m)
+ </string>
+ <string name="str_no_parcel">
+ 区画が選択されていません。環境設定が無効になっています。
+ </string>
+ <string name="str_cross_region">
+ リージョンの境界では環境設定ができません。
+ </string>
+ <string name="str_legacy">
+ このリージョンで環境設定はできません。
+ </string>
+ <layout_stack>
+ <layout_panel name="pnl_environment_disabled">
+ <text name="txt_environment_disabled">
+ ...
+ </text>
+ </layout_panel>
+ <layout_panel name="pnl_environment_config">
+ <layout_stack>
+ <layout_panel name="pnl_environment_current">
+ <radio_group name="rdg_environment_select">
+ <radio_item label="[USEDEFAULT]" name="rdo_use_xxx_setting"/>
+ <radio_item label="インベントリからの設定" name="rdo_use_inv_setting"/>
+ <radio_item label="環境のカスタマイズ" name="rdo_use_custom_setting"/>
+ </radio_group>
+ <line_editor name="edt_inventory_name">
+ 不明
+ </line_editor>
+ <button label="環境を編集" name="btn_edit"/>
+ </layout_panel>
+ <layout_panel name="pnl_environment_length">
+ <text name="lbl_apparent_time">
+ [HH]:[MM][AP] ([PRC]%)
+ </text>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="pnl_environment_altitudes">
+ <panel name="cnt_panel">
+ <multi_slider initial_value="100" name="sld_altitudes">
+ <slider name="sld1" value="200"/>
+ <slider name="sld2" value="400"/>
+ <slider name="sld3" value="600"/>
+ </multi_slider>
+ <text name="ground">
+ 地面
+ </text>
+ <text name="alt1">
+ 空 [INDEX]([ALTITUDE]m)
+ </text>
+ <text name="alt2">
+ 空 [INDEX]([ALTITUDE]m)
+ </text>
+ <text name="alt3">
+ 空 [INDEX]([ALTITUDE]m)
+ </text>
+ </panel>
+ </layout_panel>
+ <layout_panel name="pnl_environment_buttons">
+ <check_box label="区画所有者が環境を上書きすることがあります" name="chk_allow_override"/>
+ <button label="適用" name="btn_apply"/>
+ <button label="リセット" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_region_estate.xml b/indra/newview/skins/default/xui/ja/panel_region_estate.xml
index 77c7406952..385c16dfab 100644
--- a/indra/newview/skins/default/xui/ja/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/ja/panel_region_estate.xml
@@ -26,25 +26,25 @@
<check_box label="直接テレポートを許可" name="allow_direct_teleport"/>
<button label="適用" name="apply_btn"/>
<text name="estate_manager_label">
- 不動産マネージャー:
+ 不動産マネージャー:
</text>
<text name="allow_resident_label">
常に許可:
</text>
<button label="追加..." name="add_estate_manager_btn"/>
- <button label="削除..." name="remove_estate_manager_btn"/>
+ <button label="削除…" name="remove_estate_manager_btn"/>
<button label="追加..." name="add_allowed_avatar_btn"/>
- <button label="削除..." name="remove_allowed_avatar_btn"/>
+ <button label="削除…" name="remove_allowed_avatar_btn"/>
<text name="allow_group_label">
- グループを常に許可:
+ 常に許可されたグループ:
</text>
<text name="ban_resident_label">
常に禁止:
</text>
<button label="追加..." name="add_allowed_group_btn"/>
- <button label="削除..." name="remove_allowed_group_btn"/>
+ <button label="削除…" name="remove_allowed_group_btn"/>
<button label="追加..." name="add_banned_avatar_btn"/>
- <button label="削除..." name="remove_banned_avatar_btn"/>
+ <button label="削除…" name="remove_banned_avatar_btn"/>
<button label="メッセージを不動産に送信..." name="message_estate_btn"/>
<button label="不動産から住人を追い出す..." name="kick_user_from_estate_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_settings_sky_atmos.xml b/indra/newview/skins/default/xui/ja/panel_settings_sky_atmos.xml
new file mode 100644
index 0000000000..56fab14f7c
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_settings_sky_atmos.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="大気&光" name="panel_settings_sky_atmos"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/ja/panel_settings_sky_clouds.xml
new file mode 100644
index 0000000000..232530c5f8
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_settings_sky_clouds.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="雲" name="panel_settings_sky_clouds">
+ <layout_stack>
+ <layout_panel>
+ <slider label="X" name="cloud_density_x"/>
+ <slider label="Y" name="cloud_density_y"/>
+ <slider label="D" name="cloud_density_d"/>
+ <slider label="X" name="cloud_detail_x"/>
+ <slider label="Y" name="cloud_detail_y"/>
+ <slider label="D" name="cloud_detail_d"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_settings_sky_density.xml b/indra/newview/skins/default/xui/ja/panel_settings_sky_density.xml
new file mode 100644
index 0000000000..1dc7d6c594
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_settings_sky_density.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="密度" name="panel_settings_sky_density">
+ <layout_stack>
+ <layout_panel>
+ <slider label="レイリー指数項:" name="rayleigh_exponential"/>
+ <slider label="レイリー指数スケール:" name="rayleigh_exponential_scale"/>
+ <slider label="レイリー線形項:" name="rayleigh_linear"/>
+ <slider label="レイリー定数項:" name="rayleigh_constant"/>
+ <slider label="レイリー最大高度:" name="rayleigh_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="レイリー指数項:" name="mie_exponential"/>
+ <slider label="Mie指数スケール:" name="mie_exponential_scale"/>
+ <slider label="Mie線形項:" name="mie_linear"/>
+ <slider label="Mie定数項:" name="mie_constant"/>
+ <slider label="Mie不等要素:" name="mie_aniso_factor"/>
+ <slider label="Mie最大高度:" name="mie_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="吸収指数項:" name="absorption_exponential"/>
+ <slider label="吸収指数スケール:" name="absorption_exponential_scale"/>
+ <slider label="吸収線形項:" name="absorption_linear"/>
+ <slider label="吸収定数項:" name="absorption_constant"/>
+ <slider label="吸収最大高度:" name="absorption_max_altitude"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/ja/panel_settings_sky_sunmoon.xml
new file mode 100644
index 0000000000..31220f1bea
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_settings_sky_sunmoon.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="太陽&月" name="panel_settings_sky_hbodies"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_settings_water.xml b/indra/newview/skins/default/xui/ja/panel_settings_water.xml
new file mode 100644
index 0000000000..6a86ad9a04
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_settings_water.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="水" name="panel_settings_water">
+ <layout_stack name="water_stack1">
+ <layout_panel>
+ <text name="FresnelOffsetText">
+ フレネル・オフセット
+ </text>
+ </layout_panel>
+ <layout_panel>
+ <layout_stack name="water_stack2">
+ <layout_panel>
+ <slider label="X:" name="water_normal_scale_x"/>
+ <slider label="Y:" name="water_normal_scale_y"/>
+ <slider label="Z:" name="water_normal_scale_z"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml
index abb697c636..62c0533e1e 100644
--- a/indra/newview/skins/default/xui/ja/strings.xml
+++ b/indra/newview/skins/default/xui/ja/strings.xml
@@ -635,6 +635,15 @@ support@secondlife.com にお問い合わせください。
<string name="BUTTON_HELP">
ヘルプを表示
</string>
+ <string name="TooltipNotecardNotAllowedTypeDrop">
+ このタイプのアイテムは、このリージョンのノートカードに
+添付することができません。
+ </string>
+ <string name="TooltipNotecardOwnerRestrictedDrop">
+ 制限のない「次の所有者」の
+許可のみノートカードに
+添付できます。
+ </string>
<string name="Searching">
検索中...
</string>
@@ -786,15 +795,15 @@ support@secondlife.com にお問い合わせください。
<string name="symbolic link">
リンク
</string>
+ <string name="settings blob">
+ 設定
+ </string>
<string name="symbolic folder link">
フォルダのリンク
</string>
<string name="mesh">
メッシュ
</string>
- <string name="settings">
- 設定
- </string>
<string name="AvatarEditingAppearance">
(容姿の編集中)
</string>
@@ -2491,6 +2500,9 @@ support@secondlife.com にお問い合わせください。
<string name="RegionSettings">
リージョン(地域)の設定
</string>
+ <string name="NoEnvironmentSettings">
+ このリージョンは環境設定をサポートしていません。
+ </string>
<string name="ClassifiedClicksTxt">
クリック数: [TELEPORT] テレポート、 [MAP] 地図、 [PROFILE] プロフィール
</string>
@@ -4833,6 +4845,15 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
<string name="Female - Wow">
女性 - Wow
</string>
+ <string name="New Daycycle">
+ 新しいデイサイクル
+ </string>
+ <string name="New Water">
+ 新しい水
+ </string>
+ <string name="New Sky">
+ 新しい空
+ </string>
<string name="/bow">
/おじぎする
</string>
diff --git a/indra/newview/skins/default/xui/pt/floater_about_land.xml b/indra/newview/skins/default/xui/pt/floater_about_land.xml
index 6039b7fd4a..8807428bd3 100644
--- a/indra/newview/skins/default/xui/pt/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/pt/floater_about_land.xml
@@ -467,5 +467,6 @@ Mídia:
</panel>
</panel>
<panel label="EXPERIÊNCIAS" name="land_experiences_panel"/>
+ <panel label="AMBIENTE" name="land_environment_panel"/>
</tab_container>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_edit_ext_day_cycle.xml b/indra/newview/skins/default/xui/pt/floater_edit_ext_day_cycle.xml
new file mode 100644
index 0000000000..893fed04ec
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_edit_ext_day_cycle.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="env_edit_extdaycycle" title="Editar ciclo de dias">
+ <string name="title_new">
+ Criar um ciclo de dias
+ </string>
+ <string name="title_edit">
+ Editar ciclo de dias
+ </string>
+ <string name="hint_new">
+ Nomeie o seu ciclo de dias, ajustar os controles para criá-lo e clique em “Salvar”.
+ </string>
+ <string name="hint_edit">
+ Editar o seu ciclo de dias, ajustar os controles para criá-lo e clique em “Salvar”.
+ </string>
+ <string name="time_label">
+ ([HH]:[MM])
+ </string>
+ <string name="sky_track_label">
+ Céu [ALT]
+ </string>
+ <layout_stack name="outer_stack">
+ <layout_panel name="name_and_import">
+ <text name="label">
+ Nome do ciclo de dias:
+ </text>
+ <button label="Importar" name="btn_import" tool_tip="Importar configurações do legado do disco."/>
+ </layout_panel>
+ <layout_panel name="content">
+ <layout_stack name="content_stack">
+ <layout_panel name="timeline_track_selection">
+ <panel name="timeline_layers">
+ <button label="Céu 4" name="sky4_track"/>
+ <button label="Céu 3" name="sky3_track"/>
+ <button label="Céu 2" name="sky2_track"/>
+ <button label="A nível do chão" name="sky1_track"/>
+ <button label="Água" name="water_track"/>
+ </panel>
+ <panel name="timeline">
+ <text name="p0" value="0%[DSC]"/>
+ <text name="p1" value="25%[DSC]"/>
+ <text name="p2" value="50%[DSC]"/>
+ <text name="p3" value="75%[DSC]"/>
+ <text name="p4" value="100%[DSC]"/>
+ <multi_slider initial_value="0" name="WLTimeSlider"/>
+ <multi_slider initial_value="0" name="WLDayCycleFrames"/>
+ <text name="current_time" value="[PRCNT]%[DSC]"/>
+ <layout_stack name="progress_control">
+ <layout_panel name="skip_back">
+ <button name="skip_back_btn" tool_tip="Passo para trás"/>
+ </layout_panel>
+ <layout_panel name="skip_forward">
+ <button name="skip_forward_btn" tool_tip="Passo para frente"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="Adicionar uma estrutura" name="add_frame"/>
+ <button label="Carregar uma estrutura" name="btn_load_frame"/>
+ <button label="Excluir uma estrutura" name="delete_frame"/>
+ </panel>
+ </layout_panel>
+ <layout_panel name="frame_edit_controls">
+ <text name="icn_lock_edit">
+ Selecionar uma estrutura chave da linha do tempo acima para editar as configurações.
+ </text>
+ </layout_panel>
+ <layout_panel name="frame_settings_water">
+ <tab_container name="water_tabs">
+ <panel label="Água" name="water_panel"/>
+ </tab_container>
+ </layout_panel>
+ <layout_panel name="frame_settings_sky">
+ <tab_container name="sky_tabs">
+ <panel label="Atmosfera e Claridade" name="atmosphere_panel"/>
+ <panel label="Nuvens" name="clouds_panel"/>
+ <panel label="Sol e Lua" name="moon_panel"/>
+ </tab_container>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="buttons">
+ <button label="Salvar" name="save_btn"/>
+ <button label="Cancelar" name="cancel_btn"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_fixedenvironment.xml b/indra/newview/skins/default/xui/pt/floater_fixedenvironment.xml
new file mode 100644
index 0000000000..c969aac74e
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_fixedenvironment.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Fixed Environment" title="Ambiente consertado">
+ <string name="edit_sky">
+ Editar céu:
+ </string>
+ <string name="edit_water">
+ Editar água:
+ </string>
+ <layout_stack name="floater_stack">
+ <layout_panel name="info_panel">
+ <button label="Carregar" name="btn_load" tool_tip="Carregar as configurações de inventário"/>
+ <button label="Importar" name="btn_import" tool_tip="Importar configurações do legado do disco."/>
+ </layout_panel>
+ <layout_panel name="button_panel">
+ <layout_stack name="button_bar_ls">
+ <layout_panel name="save_btn_lp">
+ <button label="Salvar" name="btn_commit"/>
+ </layout_panel>
+ <layout_panel name="revert_btn_lp">
+ <button label="Cancelar" name="btn_cancel" tool_tip="Voltar à última versão salva"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/pt/floater_inventory_view_finder.xml
index 3f66fd07b9..c50d7dcda0 100644
--- a/indra/newview/skins/default/xui/pt/floater_inventory_view_finder.xml
+++ b/indra/newview/skins/default/xui/pt/floater_inventory_view_finder.xml
@@ -12,6 +12,7 @@
<check_box label="Sons" name="check_sound"/>
<check_box label="Texturas" name="check_texture"/>
<check_box label="Fotos" name="check_snapshot"/>
+ <check_box label="Configurações" name="check_settings"/>
<button label="Tudo" label_selected="Tudo" name="All"/>
<button label="Nenhum" label_selected="Nenhum" name="None"/>
<check_box label="Sempre mostrar as pastas" name="check_show_empty"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_my_environments.xml b/indra/newview/skins/default/xui/pt/floater_my_environments.xml
new file mode 100644
index 0000000000..36a4c1dcc6
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_my_environments.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater label="Lugares" name="my_environments" title="MEUS AMBIENTES">
+ <layout_stack>
+ <layout_panel label="Filtros" name="filter_panel">
+ <check_box label="Dias" name="chk_days"/>
+ <check_box label="Céus" name="chk_skies"/>
+ <check_box label="Água" name="chk_water"/>
+ </layout_panel>
+ <layout_panel label="Ambientes" name="list_panel">
+ <check_box initial_value="false" label="Mostrar pastas vazias" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="pnl_control">
+ <panel label="bottom_panel" name="pnl_bottom">
+ <menu_button name="btn_gear" tool_tip="Mais opções"/>
+ <menu_button name="btn_newsettings" tool_tip="Criar nova configuração"/>
+ <button name="btn_del" tool_tip="Excluir esta configuração"/>
+ </panel>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_settings_picker.xml b/indra/newview/skins/default/xui/pt/floater_settings_picker.xml
new file mode 100644
index 0000000000..787348c6d6
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_settings_picker.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="settings picker" title="ESCOLHER: CONFIGURAÇÕES">
+ <floater.string name="choose_picture">
+ Clique para selecionar uma imagem
+ </floater.string>
+ <floater.string name="pick title">
+ Escolher:
+ </floater.string>
+ <layout_stack name="test_stack">
+ <layout_panel name="temp">
+ <filter_editor label="Filtrar texturas" name="flt_inventory_search"/>
+ <check_box initial_value="false" label="Exibir pastas" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="temp">
+ <button label="OK" label_selected="OK" name="btn_select"/>
+ <button label="Cancelar" label_selected="Cancelar" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/menu_inventory.xml b/indra/newview/skins/default/xui/pt/menu_inventory.xml
index b99ddc67d2..195ee52f3d 100644
--- a/indra/newview/skins/default/xui/pt/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/pt/menu_inventory.xml
@@ -10,7 +10,6 @@
<menu_item_call label="Ativar" name="Marketplace Activate"/>
<menu_item_call label="Desativar" name="Marketplace Deactivate"/>
<menu_item_call label="Compartilhar" name="Share"/>
- <menu_item_call label="Comprar" name="Task Buy"/>
<menu_item_call label="Abrir" name="Task Open"/>
<menu_item_call label="Executar" name="Task Play"/>
<menu_item_call label="Propriedades" name="Task Properties"/>
@@ -42,6 +41,11 @@
<menu_item_call label="Novo cabelo" name="New Hair"/>
<menu_item_call label="Novos olhos" name="New Eyes"/>
</menu>
+ <menu label="Novas configurações" name="New Settings">
+ <menu_item_call label="Novo céu" name="New Sky"/>
+ <menu_item_call label="Nova água" name="New Water"/>
+ <menu_item_call label="Novo ciclo de dias" name="New Day Cycle"/>
+ </menu>
<menu label="Usar como padrão para" name="upload_def">
<menu_item_call label="Envios de imagem" name="Image uploads"/>
<menu_item_call label="Envios de som" name="Sound uploads"/>
@@ -103,6 +107,9 @@
<menu_item_call label="Editar" name="Wearable Edit"/>
<menu_item_call label="Adicionar" name="Wearable Add"/>
<menu_item_call label="Tirar" name="Take Off"/>
+ <menu_item_call label="Aplicar somente a mim" name="Settings Apply Local"/>
+ <menu_item_call label="Aplicar ao lote" name="Settings Apply Parcel"/>
+ <menu_item_call label="Aplicar para a região" name="Settings Apply Region"/>
<menu_item_call label="Copiar para Listagens do Marketplace" name="Marketplace Copy"/>
<menu_item_call label="Mover para Listagens do Marketplace" name="Marketplace Move"/>
<menu_item_call label="--Sem opções--" name="--no options--"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_inventory_add.xml b/indra/newview/skins/default/xui/pt/menu_inventory_add.xml
index 7a7ebc50af..1303973913 100644
--- a/indra/newview/skins/default/xui/pt/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/pt/menu_inventory_add.xml
@@ -5,9 +5,7 @@
<menu_item_call label="Som (L$[COST])..." name="Upload Sound"/>
<menu_item_call label="Animação (L$[COST])..." name="Upload Animation"/>
<menu_item_call label="Modelar..." name="Upload Model"/>
- <menu_item_call label="Assistente de modelagem..." name="Upload Model Wizard"/>
<menu_item_call label="Volume (L$[COST] per file)..." name="Bulk Upload"/>
- <menu_item_call label="Autorizações de upload padrão" name="perm prefs"/>
</menu>
<menu_item_call label="Nova pasta" name="New Folder"/>
<menu_item_call label="Novo script" name="New Script"/>
@@ -33,4 +31,9 @@
<menu_item_call label="Novo cabelo" name="New Hair"/>
<menu_item_call label="Novos olhos" name="New Eyes"/>
</menu>
+ <menu label="Novas configurações" name="New Settings">
+ <menu_item_call label="Novo céu" name="New Sky"/>
+ <menu_item_call label="Nova água" name="New Water"/>
+ <menu_item_call label="Novo ciclo de dias" name="New Day Cycle"/>
+ </menu>
</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_save_settings.xml b/indra/newview/skins/default/xui/pt/menu_save_settings.xml
new file mode 100644
index 0000000000..9af5d01629
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_save_settings.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_settings_menu">
+ <menu_item_check label="Salvar" name="save_settings"/>
+ <menu_item_check label="Salvar como" name="save_as_new_settings"/>
+ <menu_item_check label="Enviar" name="commit_changes"/>
+ <menu_item_check label="Aplicar somente a mim" name="apply_local"/>
+ <menu_item_check label="Aplicar ao lote" name="apply_parcel"/>
+ <menu_item_check label="Aplicar para a região" name="apply_region"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_settings_add.xml b/indra/newview/skins/default/xui/pt/menu_settings_add.xml
new file mode 100644
index 0000000000..3bd87e6c12
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_settings_add.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_add">
+ <menu_item_call label="Novo céu" name="New Sky"/>
+ <menu_item_call label="Nova água" name="New Water"/>
+ <menu_item_call label="Novo ciclo de dias" name="New Day Cycle"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_settings_gear.xml b/indra/newview/skins/default/xui/pt/menu_settings_gear.xml
new file mode 100644
index 0000000000..55817b22e0
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_settings_gear.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_gear">
+ <menu_item_call label="Editar" name="edit_settings"/>
+ <menu_item_call label="Aplicar somente a mim" name="Settings Apply Local"/>
+ <menu_item_call label="Aplicar ao lote" name="Settings Apply Parcel"/>
+ <menu_item_call label="Aplicar para a região" name="Settings Apply Region"/>
+ <menu_item_call label="Copiar" name="copy_settings"/>
+ <menu_item_call label="Colar" name="paste_settings"/>
+ <menu_item_call label="Copiar UUID" name="copy_uuid"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_viewer.xml b/indra/newview/skins/default/xui/pt/menu_viewer.xml
index 0798c2be5a..fddc9f6abf 100644
--- a/indra/newview/skins/default/xui/pt/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/pt/menu_viewer.xml
@@ -77,27 +77,14 @@
<menu_item_check label="Propriedades do lote" name="Parcel Properties"/>
<menu_item_check label="Menu avançado" name="Show Advanced Menu"/>
</menu>
- <menu label="Sol" name="Sun">
- <menu_item_check label="Amanhecer" name="Sunrise"/>
+ <menu label="Ambiente" name="Environment">
+ <menu_item_check label="Nascer-do-sol" name="Sunrise"/>
<menu_item_check label="Meio-dia" name="Noon"/>
<menu_item_check label="Pôr-do-sol" name="Sunset"/>
<menu_item_check label="Meia-noite" name="Midnight"/>
- <menu_item_check label="Usar configurações da região" name="Use Region Settings"/>
- </menu>
- <menu label="Editor de ambientes" name="Environment Editor">
- <menu_item_call label="Configurações do ambiente..." name="Environment Settings"/>
- <menu label="Predefinições da água" name="Water Presets">
- <menu_item_call label="Nova predefinição..." name="new_water_preset"/>
- <menu_item_call label="Editar predefinição..." name="edit_water_preset"/>
- </menu>
- <menu label="Predefinições de céu" name="Sky Presets">
- <menu_item_call label="Nova predefinição..." name="new_sky_preset"/>
- <menu_item_call label="Editar predefinição..." name="edit_sky_preset"/>
- </menu>
- <menu label="Predefinições do dia" name="Day Presets">
- <menu_item_call label="Nova predefinição..." name="new_day_preset"/>
- <menu_item_call label="Editar predefinição..." name="edit_day_preset"/>
- </menu>
+ <menu_item_check label="Use o ambiente compartilhado" name="Use Shared Environment"/>
+ <menu_item_call label="Meu ambiente..." name="my_environs"/>
+ <menu_item_check label="Pausar as nuvens" name="pause_clouds"/>
</menu>
</menu>
<menu label="Construir" name="BuildTools">
@@ -270,7 +257,6 @@
<menu_item_check label="Mostrar info da textura" name="Show Texture Info"/>
<menu_item_check label="Mostrar cor sob o cursor" name="Show Color Under Cursor"/>
<menu_item_check label="Mostrar memória" name="Show Memory"/>
- <menu_item_check label="Exibir informações de memória privadas" name="Show Private Mem Info"/>
<menu_item_check label="Mostrar mudanças a objetos" name="Show Updates"/>
</menu>
<menu label="Force an Error" name="Force Errors">
diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml
index a7759e1b04..d794eb713d 100644
--- a/indra/newview/skins/default/xui/pt/notifications.xml
+++ b/indra/newview/skins/default/xui/pt/notifications.xml
@@ -1864,7 +1864,7 @@ Isto mudará milhares de regiões e fará o spaceserver soluçar.
<usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="Todas as Propriedades" yestext="Esta Propriedade"/>
</notification>
<notification label="Selecione a propriedade" name="EstateBannedAgentRemove">
- Remover este residente da lista de banidos para acesso a esta propriedade apenas ou para [ALL_ESTATES]?
+ Remover este Residente da lista de banimento para acessar esta propriedade somente ou para [ALL_ESTATES]?
<usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="Todas as Propriedades" yestext="Esta Propriedade"/>
</notification>
<notification label="Selecione a propriedade" name="EstateManagerAdd">
@@ -1911,6 +1911,10 @@ Isto mudará milhares de regiões e fará o spaceserver soluçar.
Ao desselecionar esta opção, você pode remover as restrições que os proprietários dos terrenos adicionaram para evitar problemas, manter a privacidade ou proteger residentes menores de idade contra conteúdo adulto. Por favor, discuta com os seus proprietários de terreno conforme necessário.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
+ <notification name="EstateParcelEnvironmentOverride">
+ Desmarcando esta opção pode remover quaisquer ambientes personalizados que os proprietários tenham adicionado aos seus lotes.. Por favor, discuta com os seus proprietários de terreno conforme necessário.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="RegionEntryAccessBlocked">
A região que você está tentando visitar tem conteúdo que excede suas preferências atuais. Você pode alterar suas preferências acessando Eu &gt; Preferências &gt; Geral.
<usetemplate name="okbutton" yestext="OK"/>
@@ -4315,4 +4319,40 @@ Tente selecionar uma quantidade menor de terreno.
[REASON]
<usetemplate name="okbutton" yestext="OK"/>
</notification>
+ <notification name="FailedToFindSettings">
+ Não pode carregar as configurações para [NAME] da base de dados.
+ </notification>
+ <notification name="FailedToLoadSettingsApply">
+ Não foi possível aplicar aquelas configurações para o ambiente.
+ </notification>
+ <notification name="FailedToBuildSettingsDay">
+ Não foi possível aplicar aquelas configurações para o ambiente.
+ </notification>
+ <notification name="NoEnvironmentSettings">
+ Esta Região não suporta as configurações do ambiente.
+ </notification>
+ <notification name="WLImportFail">
+ Não foi possível importar as configurações do legado Windlight de [FILE].
+ </notification>
+ <notification name="WLParcelApplyFail">
+ Não é possível definir o ambiente para este lote.
+Inserir ou selecionar um lote que você tem direitos para modificar.
+ </notification>
+ <notification name="SettingsUnsuported">
+ As configurações não são suportadas para esta região.
+Mude para uma configuração permitida para a região ou tente novamente realizar a ação.
+ </notification>
+ <notification name="SettingsConfirmLoss">
+ Você está prestes a perder as alterações que você fez para este [TYPE] com o nome &quot;[NAME]&quot;.
+Tem certeza de que deseja continuar?
+ <usetemplate ignoretext="Tem certeza de que deseja perder as alterações?" name="okcancelignore" notext="Não" yestext="Sim"/>
+ </notification>
+ <notification name="SettingsMakeNoTrans">
+ Você está prestes a importar configurações não transferíveis para este ciclo de dias. Caso continue, transformará as configurações que você está editando não transferível também.
+
+Esta alteração não pode ser desfeita.
+
+Tem certeza de que deseja continuar?
+ <usetemplate ignoretext="Tem certeza de que deseja tornar as configurações não transferível?" name="okcancelignore" notext="Não" yestext="Sim"/>
+ </notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/pt/panel_region_environment.xml b/indra/newview/skins/default/xui/pt/panel_region_environment.xml
index 79eedebe5f..f57bf7eb4d 100644
--- a/indra/newview/skins/default/xui/pt/panel_region_environment.xml
+++ b/indra/newview/skins/default/xui/pt/panel_region_environment.xml
@@ -1,33 +1,77 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Ambiente" name="panel_env_info">
- <text name="water_settings_title">
- Selecione as configurações de Água e céu / Ciclo dos dias que todos os visitantes à sua região verão. Mais informações
- </text>
- <radio_group name="region_settings_radio_group">
- <radio_item label="Usar o padrão do Second Life" name="use_sl_default_settings"/>
- <radio_item label="Usar as seguintes configurações" name="use_my_settings"/>
- </radio_group>
- <panel name="user_environment_settings">
- <text name="water_settings_title">
- Configuração de água
- </text>
- <combo_box name="water_settings_preset_combo">
- <combo_box.item label="-Selecione uma pré-configuração-" name="item0"/>
- </combo_box>
- <text name="sky_dayc_settings_title">
- Ciclo céu / dia
- </text>
- <radio_group name="sky_dayc_settings_radio_group">
- <radio_item label="Céu fixo" name="my_sky_settings"/>
- <radio_item label="Ciclo dia" name="my_dayc_settings"/>
- </radio_group>
- <combo_box name="sky_settings_preset_combo">
- <combo_box.item label="-Selecione uma pré-configuração-" name="item0"/>
- </combo_box>
- <combo_box name="dayc_settings_preset_combo">
- <combo_box.item label="-Selecione uma pré-configuração-" name="item0"/>
- </combo_box>
- </panel>
- <button label="Aplicar" name="apply_btn"/>
- <button label="Cancelar" name="cancel_btn"/>
+ <string name="str_label_use_default">
+ Usar as configurações padrões
+ </string>
+ <string name="str_label_use_region">
+ Usar as configurações da região
+ </string>
+ <string name="str_unknow_inventory">
+ Desconhecido
+ </string>
+ <string name="str_altitude_desription">
+ Céu [INDEX]([ALTITUDE]m)
+ </string>
+ <string name="str_no_parcel">
+ Nenhum lote está selecionado. As configurações do ambiente estão desativadas.
+ </string>
+ <string name="str_cross_region">
+ As configurações do ambiente não estão disponíveis além das fronteiras da região.
+ </string>
+ <string name="str_legacy">
+ As configurações do ambiente não estão disponíveis nesta região.
+ </string>
+ <layout_stack>
+ <layout_panel name="pnl_environment_disabled">
+ <text name="txt_environment_disabled">
+ ...
+ </text>
+ </layout_panel>
+ <layout_panel name="pnl_environment_config">
+ <layout_stack>
+ <layout_panel name="pnl_environment_current">
+ <radio_group name="rdg_environment_select">
+ <radio_item label="[USEDEFAULT]" name="rdo_use_xxx_setting"/>
+ <radio_item label="Configurações de inventário" name="rdo_use_inv_setting"/>
+ <radio_item label="Personalizar o ambiente" name="rdo_use_custom_setting"/>
+ </radio_group>
+ <line_editor name="edt_inventory_name">
+ Desconhecido
+ </line_editor>
+ <button label="Editar o ambiente" name="btn_edit"/>
+ </layout_panel>
+ <layout_panel name="pnl_environment_length">
+ <text name="lbl_apparent_time">
+ [HH]:[MM][AP] ([PRC]%)
+ </text>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="pnl_environment_altitudes">
+ <panel name="cnt_panel">
+ <multi_slider initial_value="100" name="sld_altitudes">
+ <slider name="sld1" value="200"/>
+ <slider name="sld2" value="400"/>
+ <slider name="sld3" value="600"/>
+ </multi_slider>
+ <text name="ground">
+ Chão
+ </text>
+ <text name="alt1">
+ Céu [INDEX]([ALTITUDE]m)
+ </text>
+ <text name="alt2">
+ Céu [INDEX]([ALTITUDE]m)
+ </text>
+ <text name="alt3">
+ Céu [INDEX]([ALTITUDE]m)
+ </text>
+ </panel>
+ </layout_panel>
+ <layout_panel name="pnl_environment_buttons">
+ <check_box label="Os proprietários do lote podem desconsiderar o ambiente" name="chk_allow_override"/>
+ <button label="Aplicar" name="btn_apply"/>
+ <button label="Redefinir" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_settings_sky_atmos.xml b/indra/newview/skins/default/xui/pt/panel_settings_sky_atmos.xml
new file mode 100644
index 0000000000..25c27cd6e6
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_settings_sky_atmos.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Atmosfera e Claridade" name="panel_settings_sky_atmos"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/pt/panel_settings_sky_clouds.xml
new file mode 100644
index 0000000000..70f814138a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_settings_sky_clouds.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Nuvens" name="panel_settings_sky_clouds">
+ <layout_stack>
+ <layout_panel>
+ <slider label="X" name="cloud_density_x"/>
+ <slider label="Y" name="cloud_density_y"/>
+ <slider label="D" name="cloud_density_d"/>
+ <slider label="X" name="cloud_detail_x"/>
+ <slider label="Y" name="cloud_detail_y"/>
+ <slider label="D" name="cloud_detail_d"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_settings_sky_density.xml b/indra/newview/skins/default/xui/pt/panel_settings_sky_density.xml
new file mode 100644
index 0000000000..14143a928a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_settings_sky_density.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Densidade" name="panel_settings_sky_density">
+ <layout_stack>
+ <layout_panel>
+ <slider label="Espelhar termo exponencial:" name="rayleigh_exponential"/>
+ <slider label="Espelhar escala exponencial:" name="rayleigh_exponential_scale"/>
+ <slider label="Espelhar termo linear:" name="rayleigh_linear"/>
+ <slider label="Espelhar termo constante:" name="rayleigh_constant"/>
+ <slider label="Espelhar altitude máxima:" name="rayleigh_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="Mie termo exponencial:" name="mie_exponential"/>
+ <slider label="Mie escala exponencial:" name="mie_exponential_scale"/>
+ <slider label="Mie termo linear:" name="mie_linear"/>
+ <slider label="Mie termo constante:" name="mie_constant"/>
+ <slider label="Mie fator aniso:" name="mie_aniso_factor"/>
+ <slider label="Mie altitude máxima:" name="mie_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="Absorção termo exponencial:" name="absorption_exponential"/>
+ <slider label="Absorção escala exponencial:" name="absorption_exponential_scale"/>
+ <slider label="Absorção termo linear:" name="absorption_linear"/>
+ <slider label="Absorção termo constante:" name="absorption_constant"/>
+ <slider label="Absorção altitude máxima:" name="absorption_max_altitude"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/pt/panel_settings_sky_sunmoon.xml
new file mode 100644
index 0000000000..df3a023f20
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_settings_sky_sunmoon.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Sol e Lua" name="panel_settings_sky_hbodies"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_settings_water.xml b/indra/newview/skins/default/xui/pt/panel_settings_water.xml
new file mode 100644
index 0000000000..9a6e6462bd
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_settings_water.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Água" name="panel_settings_water">
+ <layout_stack name="water_stack1">
+ <layout_panel>
+ <text name="FresnelOffsetText">
+ Offset fresnel:
+ </text>
+ </layout_panel>
+ <layout_panel>
+ <layout_stack name="water_stack2">
+ <layout_panel>
+ <slider label="X" name="water_normal_scale_x"/>
+ <slider label="Y:" name="water_normal_scale_y"/>
+ <slider label="Z:" name="water_normal_scale_z"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml
index 046e7db47c..8648da6149 100644
--- a/indra/newview/skins/default/xui/pt/strings.xml
+++ b/indra/newview/skins/default/xui/pt/strings.xml
@@ -592,6 +592,15 @@ Aguarde um minuto antes que tentar logar-se novamente.
<string name="BUTTON_HELP">
Mostrar ajuda
</string>
+ <string name="TooltipNotecardNotAllowedTypeDrop">
+ Os itens deste tipo não podem ser anexados
+às anotações desta região.
+ </string>
+ <string name="TooltipNotecardOwnerRestrictedDrop">
+ Somente itens com permissões irrestritas
+do &apos;próximo proprietário’ &quot;pode
+ser anexado às anotações.&quot;
+ </string>
<string name="Searching">
Buscando...
</string>
@@ -740,6 +749,9 @@ http://secondlife.com/support para ajuda ao resolver este problema.
<string name="symbolic link">
link
</string>
+ <string name="settings blob">
+ configurações
+ </string>
<string name="symbolic folder link">
link da pasta
</string>
@@ -2428,6 +2440,9 @@ Se você continuar a receber essa mensagem, entre em contato com o suporte do Se
<string name="RegionSettings">
Configurações da região
</string>
+ <string name="NoEnvironmentSettings">
+ Esta Região não suporta as configurações do ambiente.
+ </string>
<string name="ClassifiedClicksTxt">
Cliques: [TELEPORT] teletransporte, [MAP] mapa, [PROFILE] perfil
</string>
@@ -4706,6 +4721,15 @@ Denunciar abuso
<string name="Female - Wow">
Wow - feminino
</string>
+ <string name="New Daycycle">
+ Novo ciclo de dias
+ </string>
+ <string name="New Water">
+ Nova água
+ </string>
+ <string name="New Sky">
+ Novo céu
+ </string>
<string name="/bow">
/reverência
</string>
diff --git a/indra/newview/skins/default/xui/ru/floater_about_land.xml b/indra/newview/skins/default/xui/ru/floater_about_land.xml
index 50402633f2..575f30b4e9 100644
--- a/indra/newview/skins/default/xui/ru/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/ru/floater_about_land.xml
@@ -462,5 +462,6 @@
</panel>
</panel>
<panel label="ПРИКЛЮЧЕНИЯ" name="land_experiences_panel"/>
+ <panel label="СРЕДА" name="land_environment_panel"/>
</tab_container>
</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_edit_ext_day_cycle.xml b/indra/newview/skins/default/xui/ru/floater_edit_ext_day_cycle.xml
new file mode 100644
index 0000000000..a4ed7250fc
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/floater_edit_ext_day_cycle.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="env_edit_extdaycycle" title="Изменить суточный цикл">
+ <string name="title_new">
+ Создать суточный цикл
+ </string>
+ <string name="title_edit">
+ Изменить суточный цикл
+ </string>
+ <string name="hint_new">
+ Введите имя суточного цикла, задайте его параметры с помощью элементов управления и нажмите кнопку «Сохранить».
+ </string>
+ <string name="hint_edit">
+ Чтобы изменить суточный цикл, задайте его параметры с помощью элементов управления ниже и нажмите кнопку «Сохранить».
+ </string>
+ <string name="time_label">
+ ([HH]:[MM])
+ </string>
+ <string name="sky_track_label">
+ Небо \[ALT]
+ </string>
+ <layout_stack name="outer_stack">
+ <layout_panel name="name_and_import">
+ <text name="label">
+ Название суточного цикла:
+ </text>
+ <button label="Импортировать" name="btn_import" tool_tip="Импортировать устаревшие параметры с диска."/>
+ </layout_panel>
+ <layout_panel name="content">
+ <layout_stack name="content_stack">
+ <layout_panel name="timeline_track_selection">
+ <panel name="timeline_layers">
+ <button label="Небо 4" name="sky4_track"/>
+ <button label="Небо 3" name="sky3_track"/>
+ <button label="Небо 2" name="sky2_track"/>
+ <button label="Уровень земли" name="sky1_track"/>
+ <button label="Вода" name="water_track"/>
+ </panel>
+ <panel name="timeline">
+ <text name="p0" value="0%[DSC]"/>
+ <text name="p1" value="25%[DSC]"/>
+ <text name="p2" value="50%[DSC]"/>
+ <text name="p3" value="75%[DSC]"/>
+ <text name="p4" value="100%[DSC]"/>
+ <multi_slider initial_value="0" name="WLTimeSlider"/>
+ <multi_slider initial_value="0" name="WLDayCycleFrames"/>
+ <text name="current_time" value="[PRCNT]%[DSC]"/>
+ <layout_stack name="progress_control">
+ <layout_panel name="skip_back">
+ <button name="skip_back_btn" tool_tip="Шаг назад"/>
+ </layout_panel>
+ <layout_panel name="skip_forward">
+ <button name="skip_forward_btn" tool_tip="Шаг вперед"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="Добавить фрейм" name="add_frame"/>
+ <button label="Загрузить фрейм" name="btn_load_frame"/>
+ <button label="Удалить фрейм" name="delete_frame"/>
+ </panel>
+ </layout_panel>
+ <layout_panel name="frame_edit_controls">
+ <text name="icn_lock_edit">
+ Выбрать ключевой фрейм на временной шкале для изменения настроек.
+ </text>
+ </layout_panel>
+ <layout_panel name="frame_settings_water">
+ <tab_container name="water_tabs">
+ <panel label="Вода" name="water_panel"/>
+ </tab_container>
+ </layout_panel>
+ <layout_panel name="frame_settings_sky">
+ <tab_container name="sky_tabs">
+ <panel label="Атмосфера и освещение" name="atmosphere_panel"/>
+ <panel label="Облака" name="clouds_panel"/>
+ <panel label="Солнце и луна" name="moon_panel"/>
+ </tab_container>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="buttons">
+ <button label="Сохранить" name="save_btn"/>
+ <button label="Отмена" name="cancel_btn"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_fixedenvironment.xml b/indra/newview/skins/default/xui/ru/floater_fixedenvironment.xml
new file mode 100644
index 0000000000..c6e405ffe1
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/floater_fixedenvironment.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Fixed Environment" title="Фиксированная среда">
+ <string name="edit_sky">
+ Изменить небо:
+ </string>
+ <string name="edit_water">
+ Изменить настройки воды:
+ </string>
+ <layout_stack name="floater_stack">
+ <layout_panel name="info_panel">
+ <button label="Загрузить" name="btn_load" tool_tip="Загрузить настройки из инвентарного списка"/>
+ <button label="Импортировать" name="btn_import" tool_tip="Импортировать устаревшие параметры с диска."/>
+ </layout_panel>
+ <layout_panel name="button_panel">
+ <layout_stack name="button_bar_ls">
+ <layout_panel name="save_btn_lp">
+ <button label="Сохранить" name="btn_commit"/>
+ </layout_panel>
+ <layout_panel name="revert_btn_lp">
+ <button label="Отмена" name="btn_cancel" tool_tip="Вернуться к последней сохраненной версии"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/ru/floater_inventory_view_finder.xml
index ce6b89cb82..7c1d3b52c5 100644
--- a/indra/newview/skins/default/xui/ru/floater_inventory_view_finder.xml
+++ b/indra/newview/skins/default/xui/ru/floater_inventory_view_finder.xml
@@ -12,6 +12,7 @@
<check_box label="Звуки" name="check_sound"/>
<check_box label="Текстуры" name="check_texture"/>
<check_box label="Снимки" name="check_snapshot"/>
+ <check_box label="Настройки" name="check_settings"/>
<button label="Все" label_selected="Все" name="All"/>
<button label="Нет" label_selected="Нет" name="None"/>
<check_box label="Всегда показывать папки" name="check_show_empty"/>
diff --git a/indra/newview/skins/default/xui/ru/floater_my_environments.xml b/indra/newview/skins/default/xui/ru/floater_my_environments.xml
new file mode 100644
index 0000000000..1233139e12
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/floater_my_environments.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater label="Места" name="my_environments" title="МОЯ СРЕДА">
+ <layout_stack>
+ <layout_panel label="Фильтры" name="filter_panel">
+ <check_box label="Дни" name="chk_days"/>
+ <check_box label="Небеса" name="chk_skies"/>
+ <check_box label="Вода" name="chk_water"/>
+ </layout_panel>
+ <layout_panel label="Окружающая среда" name="list_panel">
+ <check_box initial_value="false" label="Показать пустые папки" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="pnl_control">
+ <panel label="bottom_panel" name="pnl_bottom">
+ <menu_button name="btn_gear" tool_tip="Дополнительные параметры"/>
+ <menu_button name="btn_newsettings" tool_tip="Создать новый параметр"/>
+ <button name="btn_del" tool_tip="Удалить этот параметр"/>
+ </panel>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_settings_picker.xml b/indra/newview/skins/default/xui/ru/floater_settings_picker.xml
new file mode 100644
index 0000000000..09dd29b73e
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/floater_settings_picker.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="settings picker" title="ВЫБРАТЬ: НАСТРОЙКИ">
+ <floater.string name="choose_picture">
+ Щелкните для выбора изображения
+ </floater.string>
+ <floater.string name="pick title">
+ Выбрать:
+ </floater.string>
+ <layout_stack name="test_stack">
+ <layout_panel name="temp">
+ <filter_editor label="Фильтровать текстуры" name="flt_inventory_search"/>
+ <check_box initial_value="false" label="Показать папки" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="temp">
+ <button label="OK" label_selected="OK" name="btn_select"/>
+ <button label="Отмена" label_selected="Отмена" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/ru/menu_inventory.xml b/indra/newview/skins/default/xui/ru/menu_inventory.xml
index 3404ae29a3..e39cbedca1 100644
--- a/indra/newview/skins/default/xui/ru/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/ru/menu_inventory.xml
@@ -10,7 +10,6 @@
<menu_item_call label="Активировать" name="Marketplace Activate"/>
<menu_item_call label="Деактивировать" name="Marketplace Deactivate"/>
<menu_item_call label="Поделиться" name="Share"/>
- <menu_item_call label="Купить" name="Task Buy"/>
<menu_item_call label="Открыть" name="Task Open"/>
<menu_item_call label="Воспроизвести" name="Task Play"/>
<menu_item_call label="Свойства" name="Task Properties"/>
@@ -42,6 +41,11 @@
<menu_item_call label="Новые волосы" name="New Hair"/>
<menu_item_call label="Новые глаза" name="New Eyes"/>
</menu>
+ <menu label="Новые настройки" name="New Settings">
+ <menu_item_call label="Новое небо" name="New Sky"/>
+ <menu_item_call label="Новая вода" name="New Water"/>
+ <menu_item_call label="Новый суточный цикл" name="New Day Cycle"/>
+ </menu>
<menu label="Использовать по умолчанию для" name="upload_def">
<menu_item_call label="Переданные изображения" name="Image uploads"/>
<menu_item_call label="Переданные звуки" name="Sound uploads"/>
@@ -103,6 +107,9 @@
<menu_item_call label="Изменить" name="Wearable Edit"/>
<menu_item_call label="Добавить" name="Wearable Add"/>
<menu_item_call label="Снять" name="Take Off"/>
+ <menu_item_call label="Применять только к себе" name="Settings Apply Local"/>
+ <menu_item_call label="Применить к участку" name="Settings Apply Parcel"/>
+ <menu_item_call label="Применить к региону" name="Settings Apply Region"/>
<menu_item_call label="Копировать в списки товаров торгового центра" name="Marketplace Copy"/>
<menu_item_call label="Переместить в списки товаров торгового центра" name="Marketplace Move"/>
<menu_item_call label="- нет действий -" name="--no options--"/>
diff --git a/indra/newview/skins/default/xui/ru/menu_inventory_add.xml b/indra/newview/skins/default/xui/ru/menu_inventory_add.xml
index 9a240c653e..0a9f00411b 100644
--- a/indra/newview/skins/default/xui/ru/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/ru/menu_inventory_add.xml
@@ -5,9 +5,7 @@
<menu_item_call label="Звук (L$[COST])..." name="Upload Sound"/>
<menu_item_call label="Анимация (L$[COST])..." name="Upload Animation"/>
<menu_item_call label="Модель..." name="Upload Model"/>
- <menu_item_call label="Мастер моделирования..." name="Upload Model Wizard"/>
<menu_item_call label="Все сразу (L$[COST] за файл)..." name="Bulk Upload"/>
- <menu_item_call label="Установить разрешения на передачу по умолчанию" name="perm prefs"/>
</menu>
<menu_item_call label="Новая папка" name="New Folder"/>
<menu_item_call label="Новый скрипт" name="New Script"/>
@@ -33,4 +31,9 @@
<menu_item_call label="Новые волосы" name="New Hair"/>
<menu_item_call label="Новые глаза" name="New Eyes"/>
</menu>
+ <menu label="Новые настройки" name="New Settings">
+ <menu_item_call label="Новое небо" name="New Sky"/>
+ <menu_item_call label="Новая вода" name="New Water"/>
+ <menu_item_call label="Новый суточный цикл" name="New Day Cycle"/>
+ </menu>
</menu>
diff --git a/indra/newview/skins/default/xui/ru/menu_save_settings.xml b/indra/newview/skins/default/xui/ru/menu_save_settings.xml
new file mode 100644
index 0000000000..daebb9af3d
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/menu_save_settings.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_settings_menu">
+ <menu_item_check label="Сохранить" name="save_settings"/>
+ <menu_item_check label="Сохранить как" name="save_as_new_settings"/>
+ <menu_item_check label="Подтвердить" name="commit_changes"/>
+ <menu_item_check label="Применять только к себе" name="apply_local"/>
+ <menu_item_check label="Применить к участку" name="apply_parcel"/>
+ <menu_item_check label="Применить к региону" name="apply_region"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/ru/menu_settings_add.xml b/indra/newview/skins/default/xui/ru/menu_settings_add.xml
new file mode 100644
index 0000000000..a3ef976424
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/menu_settings_add.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_add">
+ <menu_item_call label="Новое небо" name="New Sky"/>
+ <menu_item_call label="Новая вода" name="New Water"/>
+ <menu_item_call label="Новый суточный цикл" name="New Day Cycle"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/ru/menu_settings_gear.xml b/indra/newview/skins/default/xui/ru/menu_settings_gear.xml
new file mode 100644
index 0000000000..6e6dfd331d
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/menu_settings_gear.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_gear">
+ <menu_item_call label="Изменить" name="edit_settings"/>
+ <menu_item_call label="Применять только к себе" name="Settings Apply Local"/>
+ <menu_item_call label="Применить к участку" name="Settings Apply Parcel"/>
+ <menu_item_call label="Применить к региону" name="Settings Apply Region"/>
+ <menu_item_call label="Копировать" name="copy_settings"/>
+ <menu_item_call label="Вставить" name="paste_settings"/>
+ <menu_item_call label="Копировать UUID" name="copy_uuid"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/ru/menu_viewer.xml b/indra/newview/skins/default/xui/ru/menu_viewer.xml
index 014b825f72..8e94c4f5fd 100644
--- a/indra/newview/skins/default/xui/ru/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/ru/menu_viewer.xml
@@ -75,27 +75,14 @@
<menu_item_check label="Свойства участка" name="Parcel Properties"/>
<menu_item_check label="Меню «Дополнительно»" name="Show Advanced Menu"/>
</menu>
- <menu label="Солнце" name="Sun">
+ <menu label="Окружающая среда" name="Environment">
<menu_item_check label="Восход" name="Sunrise"/>
<menu_item_check label="Полдень" name="Noon"/>
<menu_item_check label="Закат" name="Sunset"/>
<menu_item_check label="Полночь" name="Midnight"/>
- <menu_item_check label="Использовать настройки региона" name="Use Region Settings"/>
- </menu>
- <menu label="Редактор среды" name="Environment Editor">
- <menu_item_call label="Настройки среды..." name="Environment Settings"/>
- <menu label="Настройки воды" name="Water Presets">
- <menu_item_call label="Создать настройку..." name="new_water_preset"/>
- <menu_item_call label="Изменить настройку..." name="edit_water_preset"/>
- </menu>
- <menu label="Настройки неба" name="Sky Presets">
- <menu_item_call label="Создать настройку..." name="new_sky_preset"/>
- <menu_item_call label="Изменить настройку..." name="edit_sky_preset"/>
- </menu>
- <menu label="Суточные настройки" name="Day Presets">
- <menu_item_call label="Создать настройку..." name="new_day_preset"/>
- <menu_item_call label="Изменить настройку..." name="edit_day_preset"/>
- </menu>
+ <menu_item_check label="Использование окружающей среды" name="Use Shared Environment"/>
+ <menu_item_call label="Моя среда…" name="my_environs"/>
+ <menu_item_check label="Приостановить движение облаков" name="pause_clouds"/>
</menu>
</menu>
<menu label="Строительство" name="BuildTools">
@@ -272,7 +259,6 @@
<menu_item_check label="Показать матрицы" name="Show Matrices"/>
<menu_item_check label="Показать цвет под курсором" name="Show Color Under Cursor"/>
<menu_item_check label="Показать память" name="Show Memory"/>
- <menu_item_check label="Показать закрытые данные о памяти" name="Show Private Mem Info"/>
<menu_item_check label="Показать изменения объектов" name="Show Updates"/>
</menu>
<menu label="Принудительно вызвать ошибку" name="Force Errors">
diff --git a/indra/newview/skins/default/xui/ru/notifications.xml b/indra/newview/skins/default/xui/ru/notifications.xml
index 8f0fec9607..6ce436f6e3 100644
--- a/indra/newview/skins/default/xui/ru/notifications.xml
+++ b/indra/newview/skins/default/xui/ru/notifications.xml
@@ -1872,7 +1872,7 @@
<usetemplate canceltext="Отмена" name="yesnocancelbuttons" notext="Для всех землевладений" yestext="Для этого землевладения"/>
</notification>
<notification label="Выбрать землевладение" name="EstateBannedAgentRemove">
- Удалить этого жителя из списка запрета доступа только для этого землевладения или для [ALL_ESTATES]?
+ Удалить этого жителя из списка заблокированного доступа только для этого землевладения или для [ALL_ESTATES]?
<usetemplate canceltext="Отмена" name="yesnocancelbuttons" notext="Для всех землевладений" yestext="Для этого землевладения"/>
</notification>
<notification label="Выбрать землевладение" name="EstateManagerAdd">
@@ -1919,6 +1919,10 @@
При снятии этой опции вы можете удалить ограничения, которые владельцы участка добавили для предотвращения провокационных сообщений, сохранения конфиденциальности и защиты несовершеннолетных жителей от материала для взрослых. При необходимости обсудите со своими владельцами участков.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
+ <notification name="EstateParcelEnvironmentOverride">
+ При снятии этой опции вы можете удалить пользовательскую среду, которую владельцы участка добавили для своего участка. При необходимости обсудите со своими владельцами участков.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="RegionEntryAccessBlocked">
Вы пытаетесь посетить регион, контент в котором не соответствует вашим настройкам. Попробуйте изменить настройки в меню «Я &gt; Настройки &gt; Общие».
<usetemplate name="okbutton" yestext="OK"/>
@@ -4328,4 +4332,40 @@
[REASON]
<usetemplate name="okbutton" yestext="OK"/>
</notification>
+ <notification name="FailedToFindSettings">
+ Не удалось загрузить настройки для \[NAME] из базы данных.
+ </notification>
+ <notification name="FailedToLoadSettingsApply">
+ Невозможно применить эти параметры для этой среды.
+ </notification>
+ <notification name="FailedToBuildSettingsDay">
+ Невозможно применить эти параметры для этой среды.
+ </notification>
+ <notification name="NoEnvironmentSettings">
+ Этот регион не поддерживает параметры среды.
+ </notification>
+ <notification name="WLImportFail">
+ Невозможно импортировать устаревшие параметры для эффекта Windlight из \[FILE].
+ </notification>
+ <notification name="WLParcelApplyFail">
+ Невозможно установить параметры среды для этого участка.
+Введите или выберите участок, которые вы вправе изменять.
+ </notification>
+ <notification name="SettingsUnsuported">
+ Параметры среды не поддерживаются в этом регионе.
+Перейдите в регион с поддерживаемыми параметрами и повторите действие.
+ </notification>
+ <notification name="SettingsConfirmLoss">
+ Вы потеряете изменения, внесенные в этот \[TYPE] под именем &quot;[NAME]&quot;.
+Вы уверены, что хотите продолжить?
+ <usetemplate ignoretext="Вы уверены, что не хотите сохранить изменения?" name="okcancelignore" notext="Нет" yestext="Да"/>
+ </notification>
+ <notification name="SettingsMakeNoTrans">
+ Вы собираетесь импортировать непереносимые настройки в этот суточный цикл. В случае дальнейшего изменения в этих параметрах они также станут непереносимыми.
+
+Это изменение не подлежит отмене.
+
+Вы уверены, что хотите продолжить?
+ <usetemplate ignoretext="Вы уверены, что хотите сделать настройки непереносимыми?" name="okcancelignore" notext="Нет" yestext="Да"/>
+ </notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/ru/panel_region_environment.xml b/indra/newview/skins/default/xui/ru/panel_region_environment.xml
index 85be8f63bd..a98e7bf106 100644
--- a/indra/newview/skins/default/xui/ru/panel_region_environment.xml
+++ b/indra/newview/skins/default/xui/ru/panel_region_environment.xml
@@ -1,33 +1,77 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Среда" name="panel_env_info">
- <text name="water_settings_title">
- Настройки воды и неба/суточного цикла определяют, каким посетители увидят ваш регион. Дополнительно
- </text>
- <radio_group name="region_settings_radio_group">
- <radio_item label="Использовать настройки Second Life по умолчанию" name="use_sl_default_settings"/>
- <radio_item label="Использовать следующие настройки" name="use_my_settings"/>
- </radio_group>
- <panel name="user_environment_settings">
- <text name="water_settings_title">
- Настройка воды
- </text>
- <combo_box name="water_settings_preset_combo">
- <combo_box.item label="-Выбор настройки-" name="item0"/>
- </combo_box>
- <text name="sky_dayc_settings_title">
- Небо/суточный цикл
- </text>
- <radio_group name="sky_dayc_settings_radio_group">
- <radio_item label="Небо не меняется" name="my_sky_settings"/>
- <radio_item label="Суточный цикл" name="my_dayc_settings"/>
- </radio_group>
- <combo_box name="sky_settings_preset_combo">
- <combo_box.item label="-Выбор настройки-" name="item0"/>
- </combo_box>
- <combo_box name="dayc_settings_preset_combo">
- <combo_box.item label="-Выбор настройки-" name="item0"/>
- </combo_box>
- </panel>
- <button label="Применить" name="apply_btn"/>
- <button label="Отмена" name="cancel_btn"/>
+ <string name="str_label_use_default">
+ Использовать пользовательские настройки
+ </string>
+ <string name="str_label_use_region">
+ Использовать настройки региона
+ </string>
+ <string name="str_unknow_inventory">
+ Неизвестно
+ </string>
+ <string name="str_altitude_desription">
+ Небо \[INDEX](\[ALTITUDE]m)
+ </string>
+ <string name="str_no_parcel">
+ Не выбрано ни одного участка. Настройки среды отключены.
+ </string>
+ <string name="str_cross_region">
+ Параметры среды недоступны в рамках этого региона.
+ </string>
+ <string name="str_legacy">
+ Параметры среды недоступны в этом регионе.
+ </string>
+ <layout_stack>
+ <layout_panel name="pnl_environment_disabled">
+ <text name="txt_environment_disabled">
+ ...
+ </text>
+ </layout_panel>
+ <layout_panel name="pnl_environment_config">
+ <layout_stack>
+ <layout_panel name="pnl_environment_current">
+ <radio_group name="rdg_environment_select">
+ <radio_item label="[USEDEFAULT]" name="rdo_use_xxx_setting"/>
+ <radio_item label="Настройки из инвентарного списка" name="rdo_use_inv_setting"/>
+ <radio_item label="Пользовательская среда" name="rdo_use_custom_setting"/>
+ </radio_group>
+ <line_editor name="edt_inventory_name">
+ Неизвестно
+ </line_editor>
+ <button label="Изменить параметры окружающей среды" name="btn_edit"/>
+ </layout_panel>
+ <layout_panel name="pnl_environment_length">
+ <text name="lbl_apparent_time">
+ [HH]:[MM][AP] ([PRC]%)
+ </text>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="pnl_environment_altitudes">
+ <panel name="cnt_panel">
+ <multi_slider initial_value="100" name="sld_altitudes">
+ <slider name="sld1" value="200"/>
+ <slider name="sld2" value="400"/>
+ <slider name="sld3" value="600"/>
+ </multi_slider>
+ <text name="ground">
+ Земля
+ </text>
+ <text name="alt1">
+ Небо \[INDEX](\[ALTITUDE]m)
+ </text>
+ <text name="alt2">
+ Небо \[INDEX](\[ALTITUDE]m)
+ </text>
+ <text name="alt3">
+ Небо \[INDEX](\[ALTITUDE]m)
+ </text>
+ </panel>
+ </layout_panel>
+ <layout_panel name="pnl_environment_buttons">
+ <check_box label="Владельцы участков могут менять окружающую среду" name="chk_allow_override"/>
+ <button label="Применить" name="btn_apply"/>
+ <button label="Сброс" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/ru/panel_region_estate.xml b/indra/newview/skins/default/xui/ru/panel_region_estate.xml
index be93edf730..843fcaa9f8 100644
--- a/indra/newview/skins/default/xui/ru/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/ru/panel_region_estate.xml
@@ -36,7 +36,7 @@
<button label="Добавить..." name="add_allowed_avatar_btn"/>
<button label="Удалить..." name="remove_allowed_avatar_btn"/>
<text name="allow_group_label">
- Группы всегда разрешены:
+ Допуск групп всегда разрешен:
</text>
<text name="ban_resident_label">
Всегда заблокированы:
diff --git a/indra/newview/skins/default/xui/ru/panel_settings_sky_atmos.xml b/indra/newview/skins/default/xui/ru/panel_settings_sky_atmos.xml
new file mode 100644
index 0000000000..9c4c502694
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/panel_settings_sky_atmos.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Атмосфера и освещение" name="panel_settings_sky_atmos"/>
diff --git a/indra/newview/skins/default/xui/ru/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/ru/panel_settings_sky_clouds.xml
new file mode 100644
index 0000000000..46b4b10125
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/panel_settings_sky_clouds.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Облака" name="panel_settings_sky_clouds">
+ <layout_stack>
+ <layout_panel>
+ <slider label="X" name="cloud_density_x"/>
+ <slider label="Y" name="cloud_density_y"/>
+ <slider label="D" name="cloud_density_d"/>
+ <slider label="X" name="cloud_detail_x"/>
+ <slider label="Y" name="cloud_detail_y"/>
+ <slider label="D" name="cloud_detail_d"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/ru/panel_settings_sky_density.xml b/indra/newview/skins/default/xui/ru/panel_settings_sky_density.xml
new file mode 100644
index 0000000000..8886ceb539
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/panel_settings_sky_density.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Плотность" name="panel_settings_sky_density">
+ <layout_stack>
+ <layout_panel>
+ <slider label="Экспоненциальный член Рэлея:" name="rayleigh_exponential"/>
+ <slider label="Экспоненциальная шкала Рэлея:" name="rayleigh_exponential_scale"/>
+ <slider label="Линейный член Рэлея:" name="rayleigh_linear"/>
+ <slider label="Постоянный член Рэлея:" name="rayleigh_constant"/>
+ <slider label="Максимальная высота Рэлея:" name="rayleigh_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="Экспоненциальный член Мие:" name="mie_exponential"/>
+ <slider label="Экспоненциальная шкала Мие:" name="mie_exponential_scale"/>
+ <slider label="Линейный член Мие:" name="mie_linear"/>
+ <slider label="Постоянный член Мие:" name="mie_constant"/>
+ <slider label="Анизо-фактор Мие:" name="mie_aniso_factor"/>
+ <slider label="Максимальная высота Мие:" name="mie_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="Экспоненциальный член абсорбции:" name="absorption_exponential"/>
+ <slider label="Экспоненциальная шкала абсорбции:" name="absorption_exponential_scale"/>
+ <slider label="Линейный член абсорбции:" name="absorption_linear"/>
+ <slider label="Постоянный член абсорбции:" name="absorption_constant"/>
+ <slider label="Максимальная высота абсорбции:" name="absorption_max_altitude"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/ru/panel_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/ru/panel_settings_sky_sunmoon.xml
new file mode 100644
index 0000000000..863cc13e6b
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/panel_settings_sky_sunmoon.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Солнце и луна" name="panel_settings_sky_hbodies"/>
diff --git a/indra/newview/skins/default/xui/ru/panel_settings_water.xml b/indra/newview/skins/default/xui/ru/panel_settings_water.xml
new file mode 100644
index 0000000000..de8b15ac19
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/panel_settings_water.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Вода" name="panel_settings_water">
+ <layout_stack name="water_stack1">
+ <layout_panel>
+ <text name="FresnelOffsetText">
+ Угловая зависимость:
+ </text>
+ </layout_panel>
+ <layout_panel>
+ <layout_stack name="water_stack2">
+ <layout_panel>
+ <slider label="X:" name="water_normal_scale_x"/>
+ <slider label="Y:" name="water_normal_scale_y"/>
+ <slider label="Z:" name="water_normal_scale_z"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/ru/strings.xml b/indra/newview/skins/default/xui/ru/strings.xml
index 206d5c2081..dc4741e9bd 100644
--- a/indra/newview/skins/default/xui/ru/strings.xml
+++ b/indra/newview/skins/default/xui/ru/strings.xml
@@ -636,6 +636,15 @@ support@secondlife.com.
<string name="BUTTON_HELP">
Показать справку
</string>
+ <string name="TooltipNotecardNotAllowedTypeDrop">
+ Элементы этого типа не могут быть занесены в
+карточку для комментариев в этом регионе.
+ </string>
+ <string name="TooltipNotecardOwnerRestrictedDrop">
+ Только элементы с безусловным разрешением
+‘следующего владельца’ можно внести
+в карточки для комментариев.
+ </string>
<string name="Searching">
Поиск...
</string>
@@ -784,15 +793,15 @@ support@secondlife.com.
<string name="symbolic link">
ссылку
</string>
+ <string name="settings blob">
+ настройки
+ </string>
<string name="symbolic folder link">
ссылку на папку
</string>
<string name="mesh">
сетка
</string>
- <string name="settings">
- настроек
- </string>
<string name="AvatarEditingAppearance">
(внешний вид редактируется)
</string>
@@ -2490,6 +2499,9 @@ support@secondlife.com.
<string name="RegionSettings">
Региональные настройки
</string>
+ <string name="NoEnvironmentSettings">
+ Этот регион не поддерживает параметры среды.
+ </string>
<string name="ClassifiedClicksTxt">
Щелчки: телепорт [TELEPORT], карта [MAP], профиль [PROFILE]
</string>
@@ -4829,6 +4841,15 @@ support@secondlife.com.
<string name="Female - Wow">
Женщина – ух ты!
</string>
+ <string name="New Daycycle">
+ Новый суточный цикл
+ </string>
+ <string name="New Water">
+ Новая вода
+ </string>
+ <string name="New Sky">
+ Новое небо
+ </string>
<string name="/bow">
/поклониться
</string>
diff --git a/indra/newview/skins/default/xui/tr/floater_about_land.xml b/indra/newview/skins/default/xui/tr/floater_about_land.xml
index 1f4decb056..f09ea5397b 100644
--- a/indra/newview/skins/default/xui/tr/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/tr/floater_about_land.xml
@@ -462,5 +462,6 @@ Sadece büyük parseller aramada görünür.
</panel>
</panel>
<panel label="DENEYİMLER" name="land_experiences_panel"/>
+ <panel label="ORTAM" name="land_environment_panel"/>
</tab_container>
</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_edit_ext_day_cycle.xml b/indra/newview/skins/default/xui/tr/floater_edit_ext_day_cycle.xml
new file mode 100644
index 0000000000..41d3842a94
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/floater_edit_ext_day_cycle.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="env_edit_extdaycycle" title="Gün Döngüsünü Düzenle">
+ <string name="title_new">
+ Yeni bir Gün Döngüsü Oluştur
+ </string>
+ <string name="title_edit">
+ Gün Döngüsünü Düzenle
+ </string>
+ <string name="hint_new">
+ Gün döngünüze ad verin, bunu oluşturmak için denetimleri ayarlayın ve &quot;Kaydet&quot; düğmesine tıklayın.
+ </string>
+ <string name="hint_edit">
+ Gün döngünüzü düzenlemek için, alttaki denetimleri ayarlayın ve &quot;Kaydet&quot; düğmesine tıklayın.
+ </string>
+ <string name="time_label">
+ ([HH]:[MM])
+ </string>
+ <string name="sky_track_label">
+ Gökyüzü [ALT]
+ </string>
+ <layout_stack name="outer_stack">
+ <layout_panel name="name_and_import">
+ <text name="label">
+ Gün Döngüsü Adı:
+ </text>
+ <button label="İçeri Aktar" name="btn_import" tool_tip="Eski ayarları diskten içeri aktarın."/>
+ </layout_panel>
+ <layout_panel name="content">
+ <layout_stack name="content_stack">
+ <layout_panel name="timeline_track_selection">
+ <panel name="timeline_layers">
+ <button label="Gökyüzü 4" name="sky4_track"/>
+ <button label="Gökyüzü 3" name="sky3_track"/>
+ <button label="Gökyüzü 2" name="sky2_track"/>
+ <button label="Zemin Seviyesi" name="sky1_track"/>
+ <button label="Su" name="water_track"/>
+ </panel>
+ <panel name="timeline">
+ <text name="p0" value="%0 [DSC]"/>
+ <text name="p1" value="%25 [DSC]"/>
+ <text name="p2" value="%50 [DSC]"/>
+ <text name="p3" value="%75 [DSC]"/>
+ <text name="p4" value="%100 [DSC]"/>
+ <multi_slider initial_value="0" name="WLTimeSlider"/>
+ <multi_slider initial_value="0" name="WLDayCycleFrames"/>
+ <text name="current_time" value="%[PRCNT] [DSC]"/>
+ <layout_stack name="progress_control">
+ <layout_panel name="skip_back">
+ <button name="skip_back_btn" tool_tip="Geri çekil"/>
+ </layout_panel>
+ <layout_panel name="skip_forward">
+ <button name="skip_forward_btn" tool_tip="İleri çık"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="Çerçeve Ekle" name="add_frame"/>
+ <button label="Çerçeve Yükle" name="btn_load_frame"/>
+ <button label="Çerçeve Sil" name="delete_frame"/>
+ </panel>
+ </layout_panel>
+ <layout_panel name="frame_edit_controls">
+ <text name="icn_lock_edit">
+ Ayarları düzenlemek için yukarıdaki zaman çizelgesinden bir anahtar çerçeve seçin.
+ </text>
+ </layout_panel>
+ <layout_panel name="frame_settings_water">
+ <tab_container name="water_tabs">
+ <panel label="Su" name="water_panel"/>
+ </tab_container>
+ </layout_panel>
+ <layout_panel name="frame_settings_sky">
+ <tab_container name="sky_tabs">
+ <panel label="Atmosfer ve Aydınlatma" name="atmosphere_panel"/>
+ <panel label="Bulutlar" name="clouds_panel"/>
+ <panel label="Güneş ve Ay" name="moon_panel"/>
+ </tab_container>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="buttons">
+ <button label="Kaydet" name="save_btn"/>
+ <button label="İptal Et" name="cancel_btn"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_fixedenvironment.xml b/indra/newview/skins/default/xui/tr/floater_fixedenvironment.xml
new file mode 100644
index 0000000000..8a8757c86c
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/floater_fixedenvironment.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Fixed Environment" title="Sabit Ortam">
+ <string name="edit_sky">
+ Gökyüzünü Düzenle:
+ </string>
+ <string name="edit_water">
+ Suyu Düzenle:
+ </string>
+ <layout_stack name="floater_stack">
+ <layout_panel name="info_panel">
+ <button label="Yükle" name="btn_load" tool_tip="Envanterden bir ayar yükle"/>
+ <button label="İçeri Aktar" name="btn_import" tool_tip="Eski ayarları diskten içeri aktarın."/>
+ </layout_panel>
+ <layout_panel name="button_panel">
+ <layout_stack name="button_bar_ls">
+ <layout_panel name="save_btn_lp">
+ <button label="Kaydet" name="btn_commit"/>
+ </layout_panel>
+ <layout_panel name="revert_btn_lp">
+ <button label="İptal Et" name="btn_cancel" tool_tip="Son kaydedilen sürüme dön"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/tr/floater_inventory_view_finder.xml
index 6c04b64275..accb1ed71c 100644
--- a/indra/newview/skins/default/xui/tr/floater_inventory_view_finder.xml
+++ b/indra/newview/skins/default/xui/tr/floater_inventory_view_finder.xml
@@ -12,6 +12,7 @@
<check_box label="Sesler" name="check_sound"/>
<check_box label="Dokular" name="check_texture"/>
<check_box label="Anlık Görüntüler" name="check_snapshot"/>
+ <check_box label="Ayarlar" name="check_settings"/>
<button label="Tümü" label_selected="Tümü" name="All"/>
<button label="Hiçbiri" label_selected="Hiçbiri" name="None"/>
<check_box label="Klasörleri her zaman göster" name="check_show_empty"/>
diff --git a/indra/newview/skins/default/xui/tr/floater_my_environments.xml b/indra/newview/skins/default/xui/tr/floater_my_environments.xml
new file mode 100644
index 0000000000..21df7ef003
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/floater_my_environments.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater label="Yerler" name="my_environments" title="ORTAMLARIM">
+ <layout_stack>
+ <layout_panel label="Filtreler" name="filter_panel">
+ <check_box label="Günler" name="chk_days"/>
+ <check_box label="Gökler" name="chk_skies"/>
+ <check_box label="Su" name="chk_water"/>
+ </layout_panel>
+ <layout_panel label="Ortamlar" name="list_panel">
+ <check_box initial_value="false" label="Boş Klasörleri Göster" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="pnl_control">
+ <panel label="bottom_panel" name="pnl_bottom">
+ <menu_button name="btn_gear" tool_tip="Diğer seçenekler"/>
+ <menu_button name="btn_newsettings" tool_tip="Yeni ayar oluştur"/>
+ <button name="btn_del" tool_tip="Bu ayarı sil"/>
+ </panel>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_settings_picker.xml b/indra/newview/skins/default/xui/tr/floater_settings_picker.xml
new file mode 100644
index 0000000000..bbc8af04c3
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/floater_settings_picker.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="settings picker" title="SEÇİM: AYARLAR">
+ <floater.string name="choose_picture">
+ Bir resim seçmek için tıklayın
+ </floater.string>
+ <floater.string name="pick title">
+ Seçim:
+ </floater.string>
+ <layout_stack name="test_stack">
+ <layout_panel name="temp">
+ <filter_editor label="Dokuları Filtrele" name="flt_inventory_search"/>
+ <check_box initial_value="false" label="Klasörleri göster" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="temp">
+ <button label="Tamam" label_selected="Tamam" name="btn_select"/>
+ <button label="İptal Et" label_selected="İptal Et" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/tr/menu_inventory.xml b/indra/newview/skins/default/xui/tr/menu_inventory.xml
index 1e8dfc7d68..1ffc1ea07e 100644
--- a/indra/newview/skins/default/xui/tr/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/tr/menu_inventory.xml
@@ -10,7 +10,6 @@
<menu_item_call label="Etkinleştir" name="Marketplace Activate"/>
<menu_item_call label="Devre Dışı Bırak" name="Marketplace Deactivate"/>
<menu_item_call label="Paylaş" name="Share"/>
- <menu_item_call label="Satın Al" name="Task Buy"/>
<menu_item_call label="Aç" name="Task Open"/>
<menu_item_call label="Oyna" name="Task Play"/>
<menu_item_call label="Özellikler" name="Task Properties"/>
@@ -42,6 +41,11 @@
<menu_item_call label="Yeni Saç" name="New Hair"/>
<menu_item_call label="Yeni Gözler" name="New Eyes"/>
</menu>
+ <menu label="Yeni Ayarlar" name="New Settings">
+ <menu_item_call label="Yeni Gökyüzü" name="New Sky"/>
+ <menu_item_call label="Yeni Su" name="New Water"/>
+ <menu_item_call label="Yeni Gün Döngüsü" name="New Day Cycle"/>
+ </menu>
<menu label="Şunun için varsayılan olarak kullan" name="upload_def">
<menu_item_call label="Karşıya yüklenen görüntüler" name="Image uploads"/>
<menu_item_call label="Karşıya yüklenen sesler" name="Sound uploads"/>
@@ -103,6 +107,9 @@
<menu_item_call label="Düzenle" name="Wearable Edit"/>
<menu_item_call label="Ekle" name="Wearable Add"/>
<menu_item_call label="Çıkar" name="Take Off"/>
+ <menu_item_call label="Sadece Kendime Uygula" name="Settings Apply Local"/>
+ <menu_item_call label="Parsele Uygula" name="Settings Apply Parcel"/>
+ <menu_item_call label="Bölgeye Uygula" name="Settings Apply Region"/>
<menu_item_call label="Pazaryeri İlanlarına Kopyala" name="Marketplace Copy"/>
<menu_item_call label="Pazaryeri İlanlarına Taşı" name="Marketplace Move"/>
<menu_item_call label="--seçenek yok--" name="--no options--"/>
diff --git a/indra/newview/skins/default/xui/tr/menu_inventory_add.xml b/indra/newview/skins/default/xui/tr/menu_inventory_add.xml
index db2a9a2c8c..2f8f450738 100644
--- a/indra/newview/skins/default/xui/tr/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/tr/menu_inventory_add.xml
@@ -5,9 +5,7 @@
<menu_item_call label="Ses (L$[COST])..." name="Upload Sound"/>
<menu_item_call label="Animasyon (L$[COST])..." name="Upload Animation"/>
<menu_item_call label="Model..." name="Upload Model"/>
- <menu_item_call label="Model Sihirbazı..." name="Upload Model Wizard"/>
<menu_item_call label="Toplu (dosya başına L$[COST])..." name="Bulk Upload"/>
- <menu_item_call label="Varsayılan Karşıya Yükleme İzinlerini Ayarla" name="perm prefs"/>
</menu>
<menu_item_call label="Yeni Klasör" name="New Folder"/>
<menu_item_call label="Yeni Komut Dosyası" name="New Script"/>
@@ -33,4 +31,9 @@
<menu_item_call label="Yeni Saç" name="New Hair"/>
<menu_item_call label="Yeni Gözler" name="New Eyes"/>
</menu>
+ <menu label="Yeni Ayarlar" name="New Settings">
+ <menu_item_call label="Yeni Gökyüzü" name="New Sky"/>
+ <menu_item_call label="Yeni Su" name="New Water"/>
+ <menu_item_call label="Yeni Gün Döngüsü" name="New Day Cycle"/>
+ </menu>
</menu>
diff --git a/indra/newview/skins/default/xui/tr/menu_save_settings.xml b/indra/newview/skins/default/xui/tr/menu_save_settings.xml
new file mode 100644
index 0000000000..dad150a54b
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/menu_save_settings.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_settings_menu">
+ <menu_item_check label="Kaydet" name="save_settings"/>
+ <menu_item_check label="Farklı Kaydet" name="save_as_new_settings"/>
+ <menu_item_check label="Yürüt" name="commit_changes"/>
+ <menu_item_check label="Sadece Kendime Uygula" name="apply_local"/>
+ <menu_item_check label="Parsele Uygula" name="apply_parcel"/>
+ <menu_item_check label="Bölgeye Uygula" name="apply_region"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/tr/menu_settings_add.xml b/indra/newview/skins/default/xui/tr/menu_settings_add.xml
new file mode 100644
index 0000000000..0afd8a7893
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/menu_settings_add.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_add">
+ <menu_item_call label="Yeni Gökyüzü" name="New Sky"/>
+ <menu_item_call label="Yeni Su" name="New Water"/>
+ <menu_item_call label="Yeni Gün Döngüsü" name="New Day Cycle"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/tr/menu_settings_gear.xml b/indra/newview/skins/default/xui/tr/menu_settings_gear.xml
new file mode 100644
index 0000000000..f0d04a9e68
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/menu_settings_gear.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_gear">
+ <menu_item_call label="Düzenle" name="edit_settings"/>
+ <menu_item_call label="Sadece Kendime Uygula" name="Settings Apply Local"/>
+ <menu_item_call label="Parsele Uygula" name="Settings Apply Parcel"/>
+ <menu_item_call label="Bölgeye Uygula" name="Settings Apply Region"/>
+ <menu_item_call label="Kopyala" name="copy_settings"/>
+ <menu_item_call label="Yapıştır" name="paste_settings"/>
+ <menu_item_call label="UUID&apos;yi Kopyala" name="copy_uuid"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/tr/menu_viewer.xml b/indra/newview/skins/default/xui/tr/menu_viewer.xml
index ad5b5380e4..384c89b028 100644
--- a/indra/newview/skins/default/xui/tr/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/tr/menu_viewer.xml
@@ -75,27 +75,14 @@
<menu_item_check label="Parsel Özellikleri" name="Parcel Properties"/>
<menu_item_check label="Gelişmiş Menü" name="Show Advanced Menu"/>
</menu>
- <menu label="Güneş" name="Sun">
- <menu_item_check label="Gün Doğumu" name="Sunrise"/>
- <menu_item_check label="Gün Ortası" name="Noon"/>
- <menu_item_check label="Gün Batımı" name="Sunset"/>
- <menu_item_check label="Gece Yarısı" name="Midnight"/>
- <menu_item_check label="Bölge Ayarlarını Kullan" name="Use Region Settings"/>
- </menu>
- <menu label="Ortam Düzenleyici" name="Environment Editor">
- <menu_item_call label="Ortam Ayarları..." name="Environment Settings"/>
- <menu label="Su Ön Ayarları" name="Water Presets">
- <menu_item_call label="Yeni ön ayar..." name="new_water_preset"/>
- <menu_item_call label="Ön ayarı düzenle..." name="edit_water_preset"/>
- </menu>
- <menu label="Gökyüzü Ön Ayarları" name="Sky Presets">
- <menu_item_call label="Yeni ön ayar..." name="new_sky_preset"/>
- <menu_item_call label="Ön ayarı düzenle..." name="edit_sky_preset"/>
- </menu>
- <menu label="Gün Ön Ayarları" name="Day Presets">
- <menu_item_call label="Yeni ön ayar..." name="new_day_preset"/>
- <menu_item_call label="Ön ayarı düzenle..." name="edit_day_preset"/>
- </menu>
+ <menu label="Ortam" name="Environment">
+ <menu_item_check label="Gün doğumu" name="Sunrise"/>
+ <menu_item_check label="Öğle" name="Noon"/>
+ <menu_item_check label="Gün batımı" name="Sunset"/>
+ <menu_item_check label="Gece yarısı" name="Midnight"/>
+ <menu_item_check label="Ortak Ortam Kullan" name="Use Shared Environment"/>
+ <menu_item_call label="Ortamlarım..." name="my_environs"/>
+ <menu_item_check label="Bulutları Duraklat" name="pause_clouds"/>
</menu>
</menu>
<menu label="İnşa Et" name="BuildTools">
@@ -273,7 +260,6 @@
<menu_item_check label="Matrisleri Göster" name="Show Matrices"/>
<menu_item_check label="İmlecin Altındaki Rengi Göster" name="Show Color Under Cursor"/>
<menu_item_check label="Belleği Göster" name="Show Memory"/>
- <menu_item_check label="Özel Bellek Bilgisini Göster" name="Show Private Mem Info"/>
<menu_item_check label="Nesneler İçin Güncelleştirmeleri Göster" name="Show Updates"/>
</menu>
<menu label="Bir Hatayı Zorla" name="Force Errors">
diff --git a/indra/newview/skins/default/xui/tr/notifications.xml b/indra/newview/skins/default/xui/tr/notifications.xml
index d09d485a14..c8ed1c7ba4 100644
--- a/indra/newview/skins/default/xui/tr/notifications.xml
+++ b/indra/newview/skins/default/xui/tr/notifications.xml
@@ -1873,7 +1873,7 @@ Binlerce bölgeyi değiştirecek ve alan sunucusunu kesintiye uğratacaktır.
<usetemplate canceltext="İptal" name="yesnocancelbuttons" notext="Tüm Gayrimenkuller" yestext="Bu Gayrimenkul"/>
</notification>
<notification label="Gayrimenkul seç" name="EstateBannedAgentRemove">
- Bu Sakin sadece bu gayrimenkul için mi yasaklı listesinden çıkarılsın, yoksa [ALL_ESTATES] için mi?
+ Bu Sakin sadece bu gayrimenkul için mi yoksa [ALL_ESTATES] için mi erişim yasağı listesinden çıkarılsın?
<usetemplate canceltext="İptal" name="yesnocancelbuttons" notext="Tüm Gayrimenkuller" yestext="Bu Gayrimenkul"/>
</notification>
<notification label="Gayrimenkul seç" name="EstateManagerAdd">
@@ -1920,6 +1920,10 @@ Binlerce bölgeyi değiştirecek ve alan sunucusunu kesintiye uğratacaktır.
Bu seçeneğin onay işaretini kaldırmak, parsel sahiplerinin rahatsızlık veren oyuncuları bunu yapmasını engellemek, gizliliği sürdürmek ve yaşı tutmayan sakinleri yetişkin içeriklerden korumak için ekledikleri kısıtlamaları kaldırabilir. Lütfen gerekli olduğunda parsel sahiplerinizle tartışın.
<usetemplate name="okbutton" yestext="Tamam"/>
</notification>
+ <notification name="EstateParcelEnvironmentOverride">
+ Bu seçeneğin onay işaretinin kaldırılması, parsel sahiplerinin kendi parsellerine eklemiş oldukları tüm özel ortamları kaldırabilir. Lütfen gerektiğinde parsel sahiplerinizle tartışın.
+ <usetemplate name="okbutton" yestext="Tamam"/>
+ </notification>
<notification name="RegionEntryAccessBlocked">
Ziyaret etmeye çalıştığınız bölge, mevcut tercihlerinizi aşan içeriğe sahip. Ben &gt; Tercihler &gt; Genel sekmesini kullanarak tercihlerinizi değiştirebilirsiniz.
<usetemplate name="okbutton" yestext="Tamam"/>
@@ -4321,4 +4325,40 @@ Daha küçük bir arazi parçası seçmeyi deneyin.
[REASON]
<usetemplate name="okbutton" yestext="Tamam"/>
</notification>
+ <notification name="FailedToFindSettings">
+ [NAME] ile ilgili ayarlar veritabanından yüklenemedi.
+ </notification>
+ <notification name="FailedToLoadSettingsApply">
+ Bu değişiklikler ortama uygulanamıyor.
+ </notification>
+ <notification name="FailedToBuildSettingsDay">
+ Bu değişiklikler ortama uygulanamıyor.
+ </notification>
+ <notification name="NoEnvironmentSettings">
+ Bu Bölge ortam ayarlarını desteklemiyor.
+ </notification>
+ <notification name="WLImportFail">
+ Eski Windlight ayarları [FILE] dosyasından içeri aktarılamıyor.
+ </notification>
+ <notification name="WLParcelApplyFail">
+ Bu parsele ait ortam ayarlanamıyor.
+Lütfen değişiklik yapma hakkına sahip olduğunuz bir parsel girin veya seçin.
+ </notification>
+ <notification name="SettingsUnsuported">
+ Ayarlar bu bölgede desteklenmiyor.
+Lütfen ayarların etkin olduğu bir bölgeye gidin ve eyleminizi yeniden deneyin.
+ </notification>
+ <notification name="SettingsConfirmLoss">
+ &quot;[NAME]&quot; adlı bu [TYPE] öğesinde yaptığınız değişiklikleri kaybetmek üzeresiniz.
+Devam etmek istediğinizden emin misiniz?
+ <usetemplate ignoretext="Değişiklikleri kaybetmek istediğinizden emin misiniz?" name="okcancelignore" notext="Hayır" yestext="Evet"/>
+ </notification>
+ <notification name="SettingsMakeNoTrans">
+ Aktarılamayan ayarları bu gün döngüsüne aktarmak üzeresiniz. Bu işleme devam etmeniz düzenlemekte olduğunuz ayarların da aktarılamaz olmasına neden olacaktır.
+
+Bu değişiklik geri alınamaz.
+
+Devam etmek istediğinizden emin misiniz?
+ <usetemplate ignoretext="Ayarları aktarılamaz hale getirmek istediğinizden emin misiniz?" name="okcancelignore" notext="Hayır" yestext="Evet"/>
+ </notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/tr/panel_region_environment.xml b/indra/newview/skins/default/xui/tr/panel_region_environment.xml
index 058ea91b70..af409a424d 100644
--- a/indra/newview/skins/default/xui/tr/panel_region_environment.xml
+++ b/indra/newview/skins/default/xui/tr/panel_region_environment.xml
@@ -1,33 +1,77 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Ortam" name="panel_env_info">
- <text name="water_settings_title">
- Bölgenize gelen tüm ziyaretçilerin görmesini istediğiniz Su ve Gökyüzü/Gündüz Döngüsü Ayarlarını seçin. Ek bilgi
- </text>
- <radio_group name="region_settings_radio_group">
- <radio_item label="Second Life varsayılanını kullan" name="use_sl_default_settings"/>
- <radio_item label="Aşağıdaki ayarları kullan" name="use_my_settings"/>
- </radio_group>
- <panel name="user_environment_settings">
- <text name="water_settings_title">
- Su Ayarı
- </text>
- <combo_box name="water_settings_preset_combo">
- <combo_box.item label="-Bir ön ayar seçin-" name="item0"/>
- </combo_box>
- <text name="sky_dayc_settings_title">
- Gökyüzü/Gün Dön.
- </text>
- <radio_group name="sky_dayc_settings_radio_group">
- <radio_item label="Sabit gökyüzü" name="my_sky_settings"/>
- <radio_item label="Gün döngüsü" name="my_dayc_settings"/>
- </radio_group>
- <combo_box name="sky_settings_preset_combo">
- <combo_box.item label="-Bir ön ayar seçin-" name="item0"/>
- </combo_box>
- <combo_box name="dayc_settings_preset_combo">
- <combo_box.item label="-Bir ön ayar seçin-" name="item0"/>
- </combo_box>
- </panel>
- <button label="Uygula" name="apply_btn"/>
- <button label="İptal" name="cancel_btn"/>
+ <string name="str_label_use_default">
+ Varsayılan Ayarları Kullan
+ </string>
+ <string name="str_label_use_region">
+ Bölge Ayarlarını Kullan
+ </string>
+ <string name="str_unknow_inventory">
+ Bilinmiyor
+ </string>
+ <string name="str_altitude_desription">
+ Gökyüzü [INDEX]([ALTITUDE] m)
+ </string>
+ <string name="str_no_parcel">
+ Parsel seçilmedi. Ortam ayarları devre dışı.
+ </string>
+ <string name="str_cross_region">
+ Ortam ayarları bölge sınırları dahilinde kullanılamıyor.
+ </string>
+ <string name="str_legacy">
+ Ortam ayarları bu bölgede kullanılamıyor.
+ </string>
+ <layout_stack>
+ <layout_panel name="pnl_environment_disabled">
+ <text name="txt_environment_disabled">
+ ...
+ </text>
+ </layout_panel>
+ <layout_panel name="pnl_environment_config">
+ <layout_stack>
+ <layout_panel name="pnl_environment_current">
+ <radio_group name="rdg_environment_select">
+ <radio_item label="[USEDEFAULT]" name="rdo_use_xxx_setting"/>
+ <radio_item label="Envanterden Gelen Ayarlar" name="rdo_use_inv_setting"/>
+ <radio_item label="Özel Ortam" name="rdo_use_custom_setting"/>
+ </radio_group>
+ <line_editor name="edt_inventory_name">
+ Bilinmiyor
+ </line_editor>
+ <button label="Ortamı Düzenle" name="btn_edit"/>
+ </layout_panel>
+ <layout_panel name="pnl_environment_length">
+ <text name="lbl_apparent_time">
+ [HH]:[MM][AP] (% [PRC])
+ </text>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="pnl_environment_altitudes">
+ <panel name="cnt_panel">
+ <multi_slider initial_value="100" name="sld_altitudes">
+ <slider name="sld1" value="200"/>
+ <slider name="sld2" value="400"/>
+ <slider name="sld3" value="600"/>
+ </multi_slider>
+ <text name="ground">
+ Zemin
+ </text>
+ <text name="alt1">
+ Gökyüzü [INDEX]([ALTITUDE] m)
+ </text>
+ <text name="alt2">
+ Gökyüzü [INDEX]([ALTITUDE] m)
+ </text>
+ <text name="alt3">
+ Gökyüzü [INDEX]([ALTITUDE] m)
+ </text>
+ </panel>
+ </layout_panel>
+ <layout_panel name="pnl_environment_buttons">
+ <check_box label="Parsel Sahipleri Ortamı Geçersiz Kılabilir" name="chk_allow_override"/>
+ <button label="Uygula" name="btn_apply"/>
+ <button label="Sıfırla" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/tr/panel_settings_sky_atmos.xml b/indra/newview/skins/default/xui/tr/panel_settings_sky_atmos.xml
new file mode 100644
index 0000000000..9bc23a5507
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/panel_settings_sky_atmos.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Atmosfer ve Aydınlatma" name="panel_settings_sky_atmos"/>
diff --git a/indra/newview/skins/default/xui/tr/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/tr/panel_settings_sky_clouds.xml
new file mode 100644
index 0000000000..5dd31546cd
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/panel_settings_sky_clouds.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Bulutlar" name="panel_settings_sky_clouds">
+ <layout_stack>
+ <layout_panel>
+ <slider label="X" name="cloud_density_x"/>
+ <slider label="Y" name="cloud_density_y"/>
+ <slider label="D" name="cloud_density_d"/>
+ <slider label="X" name="cloud_detail_x"/>
+ <slider label="Y" name="cloud_detail_y"/>
+ <slider label="D" name="cloud_detail_d"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/tr/panel_settings_sky_density.xml b/indra/newview/skins/default/xui/tr/panel_settings_sky_density.xml
new file mode 100644
index 0000000000..1d2aa30921
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/panel_settings_sky_density.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Yoğunluk" name="panel_settings_sky_density">
+ <layout_stack>
+ <layout_panel>
+ <slider label="Rayleigh Üstel Terim:" name="rayleigh_exponential"/>
+ <slider label="Rayleigh Üstel Skala:" name="rayleigh_exponential_scale"/>
+ <slider label="Rayleigh Lineer Terim:" name="rayleigh_linear"/>
+ <slider label="Rayleigh Sabit Terim:" name="rayleigh_constant"/>
+ <slider label="Rayleigh Maks. İrtifa:" name="rayleigh_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="Mie Üstel Terim:" name="mie_exponential"/>
+ <slider label="Mie Üstel Skala:" name="mie_exponential_scale"/>
+ <slider label="Mie Lineer Terim:" name="mie_linear"/>
+ <slider label="Mie Sabit Terim:" name="mie_constant"/>
+ <slider label="Mie Anizotropi Faktörü:" name="mie_aniso_factor"/>
+ <slider label="Mie Maks. İrtifa:" name="mie_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="Absorpsiyon Üstel Terim:" name="absorption_exponential"/>
+ <slider label="Absorpsiyon Üstel Skala:" name="absorption_exponential_scale"/>
+ <slider label="Absorpsiyon Lineer Terim:" name="absorption_linear"/>
+ <slider label="Absorpsiyon Sabit Terim:" name="absorption_constant"/>
+ <slider label="Absorpsiyon Maks. İrtifa:" name="absorption_max_altitude"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/tr/panel_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/tr/panel_settings_sky_sunmoon.xml
new file mode 100644
index 0000000000..bcd7cd077f
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/panel_settings_sky_sunmoon.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Güneş ve Ay" name="panel_settings_sky_hbodies"/>
diff --git a/indra/newview/skins/default/xui/tr/panel_settings_water.xml b/indra/newview/skins/default/xui/tr/panel_settings_water.xml
new file mode 100644
index 0000000000..9537a2b494
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/panel_settings_water.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Su" name="panel_settings_water">
+ <layout_stack name="water_stack1">
+ <layout_panel>
+ <text name="FresnelOffsetText">
+ Fresnel Dengeleme:
+ </text>
+ </layout_panel>
+ <layout_panel>
+ <layout_stack name="water_stack2">
+ <layout_panel>
+ <slider label="X:" name="water_normal_scale_x"/>
+ <slider label="Y:" name="water_normal_scale_y"/>
+ <slider label="Z:" name="water_normal_scale_z"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/tr/strings.xml b/indra/newview/skins/default/xui/tr/strings.xml
index 8d901cf0f1..c5ea6e93ea 100644
--- a/indra/newview/skins/default/xui/tr/strings.xml
+++ b/indra/newview/skins/default/xui/tr/strings.xml
@@ -636,6 +636,15 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin.
<string name="BUTTON_HELP">
Yardımı Göster
</string>
+ <string name="TooltipNotecardNotAllowedTypeDrop">
+ Bu türe ait öğeler bu bölgedeki
+not kartlarına eklenemez.
+ </string>
+ <string name="TooltipNotecardOwnerRestrictedDrop">
+ Sadece kısıtlamasız &apos;sonraki sahip&apos;
+izinlerini içeren öğeler not
+kartlarına eklenebilir.
+ </string>
<string name="Searching">
Arıyor...
</string>
@@ -784,15 +793,15 @@ http://secondlife.com/support adresini ziyaret edin.
<string name="symbolic link">
bağlantı
</string>
+ <string name="settings blob">
+ ayarlar
+ </string>
<string name="symbolic folder link">
klasör bağlantısı
</string>
<string name="mesh">
örgü
</string>
- <string name="settings">
- ayarlar
- </string>
<string name="AvatarEditingAppearance">
(Görünümü Düzenliyor)
</string>
@@ -2490,6 +2499,9 @@ Bu mesaj size gelmeye devam ederse lütfen http://support.secondlife.com adresin
<string name="RegionSettings">
Bölge Ayarları
</string>
+ <string name="NoEnvironmentSettings">
+ Bu Bölge ortam ayarlarını desteklemiyor.
+ </string>
<string name="ClassifiedClicksTxt">
Tıklamalar: [TELEPORT] ışınlama, [MAP] harita, [PROFILE] profil
</string>
@@ -4830,6 +4842,15 @@ Bu iletiyi almaya devam ederseniz, lütfen [SUPPORT_SITE] bölümüne başvurun.
<string name="Female - Wow">
Kadın - Vay be
</string>
+ <string name="New Daycycle">
+ Yeni Gün döngüsü
+ </string>
+ <string name="New Water">
+ Yeni Su
+ </string>
+ <string name="New Sky">
+ Yeni Gökyüzü
+ </string>
<string name="/bow">
/selamlama
</string>
diff --git a/indra/newview/skins/default/xui/zh/floater_about_land.xml b/indra/newview/skins/default/xui/zh/floater_about_land.xml
index badd00bc6d..cf6dd11b98 100644
--- a/indra/newview/skins/default/xui/zh/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/zh/floater_about_land.xml
@@ -462,5 +462,6 @@
</panel>
</panel>
<panel label="體驗" name="land_experiences_panel"/>
+ <panel label="環境" name="land_environment_panel"/>
</tab_container>
</floater>
diff --git a/indra/newview/skins/default/xui/zh/floater_edit_ext_day_cycle.xml b/indra/newview/skins/default/xui/zh/floater_edit_ext_day_cycle.xml
new file mode 100644
index 0000000000..2b2f7757eb
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/floater_edit_ext_day_cycle.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="env_edit_extdaycycle" title="編輯日循環">
+ <string name="title_new">
+ 新建一個日循環
+ </string>
+ <string name="title_edit">
+ 編輯日循環
+ </string>
+ <string name="hint_new">
+ 為日循環定名,調整各項控制確定細節,再點按「儲存」。
+ </string>
+ <string name="hint_edit">
+ 若要編輯你的日循環,請調整下方各項控制,再點按「儲存」。
+ </string>
+ <string name="time_label">
+ ([HH]:[MM])
+ </string>
+ <string name="sky_track_label">
+ 天空[ALT]
+ </string>
+ <layout_stack name="outer_stack">
+ <layout_panel name="name_and_import">
+ <text name="label">
+ 日循環名稱:
+ </text>
+ <button label="匯入" name="btn_import" tool_tip="從磁碟匯入舊設定。"/>
+ </layout_panel>
+ <layout_panel name="content">
+ <layout_stack name="content_stack">
+ <layout_panel name="timeline_track_selection">
+ <panel name="timeline_layers">
+ <button label="天空 4" name="sky4_track"/>
+ <button label="天空 3" name="sky3_track"/>
+ <button label="天空 2" name="sky2_track"/>
+ <button label="地面水平" name="sky1_track"/>
+ <button label="水文" name="water_track"/>
+ </panel>
+ <panel name="timeline">
+ <text name="p0" value="0%[DSC]"/>
+ <text name="p1" value="25%[DSC]"/>
+ <text name="p2" value="50%[DSC]"/>
+ <text name="p3" value="75%[DSC]"/>
+ <text name="p4" value="100%[DSC]"/>
+ <multi_slider initial_value="0" name="WLTimeSlider"/>
+ <multi_slider initial_value="0" name="WLDayCycleFrames"/>
+ <text name="current_time" value="[PRCNT]%[DSC]"/>
+ <layout_stack name="progress_control">
+ <layout_panel name="skip_back">
+ <button name="skip_back_btn" tool_tip="倒轉"/>
+ </layout_panel>
+ <layout_panel name="skip_forward">
+ <button name="skip_forward_btn" tool_tip="快轉"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="新增幀" name="add_frame"/>
+ <button label="載入幀" name="btn_load_frame"/>
+ <button label="刪除幀" name="delete_frame"/>
+ </panel>
+ </layout_panel>
+ <layout_panel name="frame_edit_controls">
+ <text name="icn_lock_edit">
+ 從上方的時間線選擇一個關鍵幀以編輯設定。
+ </text>
+ </layout_panel>
+ <layout_panel name="frame_settings_water">
+ <tab_container name="water_tabs">
+ <panel label="水文" name="water_panel"/>
+ </tab_container>
+ </layout_panel>
+ <layout_panel name="frame_settings_sky">
+ <tab_container name="sky_tabs">
+ <panel label="大氣與照明" name="atmosphere_panel"/>
+ <panel label="雲彩" name="clouds_panel"/>
+ <panel label="日與月" name="moon_panel"/>
+ </tab_container>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="buttons">
+ <button label="儲存" name="save_btn"/>
+ <button label="取消" name="cancel_btn"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/zh/floater_fixedenvironment.xml b/indra/newview/skins/default/xui/zh/floater_fixedenvironment.xml
new file mode 100644
index 0000000000..9246cbfd27
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/floater_fixedenvironment.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Fixed Environment" title="固定環境">
+ <string name="edit_sky">
+ 編輯天空:
+ </string>
+ <string name="edit_water">
+ 編輯水文:
+ </string>
+ <layout_stack name="floater_stack">
+ <layout_panel name="info_panel">
+ <button label="載入" name="btn_load" tool_tip="從收納區載入設定"/>
+ <button label="匯入" name="btn_import" tool_tip="從磁碟匯入舊設定。"/>
+ </layout_panel>
+ <layout_panel name="button_panel">
+ <layout_stack name="button_bar_ls">
+ <layout_panel name="save_btn_lp">
+ <button label="儲存" name="btn_commit"/>
+ </layout_panel>
+ <layout_panel name="revert_btn_lp">
+ <button label="取消" name="btn_cancel" tool_tip="恢復上一個已儲存版本"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/zh/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/zh/floater_inventory_view_finder.xml
index 9001615d89..ae05396cc5 100644
--- a/indra/newview/skins/default/xui/zh/floater_inventory_view_finder.xml
+++ b/indra/newview/skins/default/xui/zh/floater_inventory_view_finder.xml
@@ -12,6 +12,7 @@
<check_box label="聲音" name="check_sound"/>
<check_box label="材質" name="check_texture"/>
<check_box label="快照" name="check_snapshot"/>
+ <check_box label="設定" name="check_settings"/>
<button label="全部" label_selected="全部" name="All"/>
<button label="無" label_selected="無" name="None"/>
<check_box label="固定顯示資料夾" name="check_show_empty"/>
diff --git a/indra/newview/skins/default/xui/zh/floater_my_environments.xml b/indra/newview/skins/default/xui/zh/floater_my_environments.xml
new file mode 100644
index 0000000000..be33d456da
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/floater_my_environments.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater label="地點" name="my_environments" title="我的環境">
+ <layout_stack>
+ <layout_panel label="過濾器" name="filter_panel">
+ <check_box label="日" name="chk_days"/>
+ <check_box label="天空" name="chk_skies"/>
+ <check_box label="水文" name="chk_water"/>
+ </layout_panel>
+ <layout_panel label="環境" name="list_panel">
+ <check_box initial_value="false" label="顯示空資料夾" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="pnl_control">
+ <panel label="bottom_panel" name="pnl_bottom">
+ <menu_button name="btn_gear" tool_tip="更多選項"/>
+ <menu_button name="btn_newsettings" tool_tip="製作新的設定"/>
+ <button name="btn_del" tool_tip="刪除這個設定"/>
+ </panel>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/zh/floater_settings_picker.xml b/indra/newview/skins/default/xui/zh/floater_settings_picker.xml
new file mode 100644
index 0000000000..dba6034b5a
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/floater_settings_picker.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="settings picker" title="選擇:設定">
+ <floater.string name="choose_picture">
+ 點按以挑選圖片
+ </floater.string>
+ <floater.string name="pick title">
+ 精選地點:
+ </floater.string>
+ <layout_stack name="test_stack">
+ <layout_panel name="temp">
+ <filter_editor label="材質過濾器" name="flt_inventory_search"/>
+ <check_box initial_value="false" label="顯示資料夾" name="chk_showfolders"/>
+ </layout_panel>
+ <layout_panel name="temp">
+ <button label="確定" label_selected="確定" name="btn_select"/>
+ <button label="取消" label_selected="取消" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/zh/menu_inventory.xml b/indra/newview/skins/default/xui/zh/menu_inventory.xml
index 2ed078841e..4db6b4512d 100644
--- a/indra/newview/skins/default/xui/zh/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/zh/menu_inventory.xml
@@ -10,7 +10,6 @@
<menu_item_call label="啟用" name="Marketplace Activate"/>
<menu_item_call label="停用" name="Marketplace Deactivate"/>
<menu_item_call label="分享" name="Share"/>
- <menu_item_call label="購買" name="Task Buy"/>
<menu_item_call label="打開" name="Task Open"/>
<menu_item_call label="播放" name="Task Play"/>
<menu_item_call label="屬性" name="Task Properties"/>
@@ -42,6 +41,11 @@
<menu_item_call label="新頭髮" name="New Hair"/>
<menu_item_call label="新眼睛" name="New Eyes"/>
</menu>
+ <menu label="新的設定" name="New Settings">
+ <menu_item_call label="新的天空" name="New Sky"/>
+ <menu_item_call label="新的水文" name="New Water"/>
+ <menu_item_call label="新的日循環" name="New Day Cycle"/>
+ </menu>
<menu label="作這一用途的預設值:" name="upload_def">
<menu_item_call label="圖像上傳" name="Image uploads"/>
<menu_item_call label="聲音上傳" name="Sound uploads"/>
@@ -103,6 +107,9 @@
<menu_item_call label="編輯" name="Wearable Edit"/>
<menu_item_call label="添加" name="Wearable Add"/>
<menu_item_call label="脫下" name="Take Off"/>
+ <menu_item_call label="僅套用到我自己" name="Settings Apply Local"/>
+ <menu_item_call label="套用到地段" name="Settings Apply Parcel"/>
+ <menu_item_call label="套用到地區" name="Settings Apply Region"/>
<menu_item_call label="複製到 Marketplace 刊登" name="Marketplace Copy"/>
<menu_item_call label="移到 Marketplace 刊登" name="Marketplace Move"/>
<menu_item_call label="-- 無選項 --" name="--no options--"/>
diff --git a/indra/newview/skins/default/xui/zh/menu_inventory_add.xml b/indra/newview/skins/default/xui/zh/menu_inventory_add.xml
index 30bf5a7e75..013ac094b4 100644
--- a/indra/newview/skins/default/xui/zh/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/zh/menu_inventory_add.xml
@@ -5,9 +5,7 @@
<menu_item_call label="聲音(L$[COST])..." name="Upload Sound"/>
<menu_item_call label="動作(L$[COST])..." name="Upload Animation"/>
<menu_item_call label="模型…" name="Upload Model"/>
- <menu_item_call label="模型精靈…" name="Upload Model Wizard"/>
<menu_item_call label="批量(每檔案 L$[COST] )..." name="Bulk Upload"/>
- <menu_item_call label="設定預設上傳權限" name="perm prefs"/>
</menu>
<menu_item_call label="新資料夾" name="New Folder"/>
<menu_item_call label="新腳本" name="New Script"/>
@@ -33,4 +31,9 @@
<menu_item_call label="新頭髮" name="New Hair"/>
<menu_item_call label="新眼睛" name="New Eyes"/>
</menu>
+ <menu label="新的設定" name="New Settings">
+ <menu_item_call label="新的天空" name="New Sky"/>
+ <menu_item_call label="新的水文" name="New Water"/>
+ <menu_item_call label="新的日循環" name="New Day Cycle"/>
+ </menu>
</menu>
diff --git a/indra/newview/skins/default/xui/zh/menu_save_settings.xml b/indra/newview/skins/default/xui/zh/menu_save_settings.xml
new file mode 100644
index 0000000000..9a70f38115
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/menu_save_settings.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="save_settings_menu">
+ <menu_item_check label="儲存" name="save_settings"/>
+ <menu_item_check label="另存為" name="save_as_new_settings"/>
+ <menu_item_check label="確定套用" name="commit_changes"/>
+ <menu_item_check label="僅套用到我自己" name="apply_local"/>
+ <menu_item_check label="套用到地段" name="apply_parcel"/>
+ <menu_item_check label="套用到地區" name="apply_region"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/zh/menu_settings_add.xml b/indra/newview/skins/default/xui/zh/menu_settings_add.xml
new file mode 100644
index 0000000000..4e11741241
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/menu_settings_add.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_add">
+ <menu_item_call label="新的天空" name="New Sky"/>
+ <menu_item_call label="新的水文" name="New Water"/>
+ <menu_item_call label="新的日循環" name="New Day Cycle"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/zh/menu_settings_gear.xml b/indra/newview/skins/default/xui/zh/menu_settings_gear.xml
new file mode 100644
index 0000000000..342f9d50b4
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/menu_settings_gear.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="menu_settings_gear">
+ <menu_item_call label="編輯" name="edit_settings"/>
+ <menu_item_call label="僅套用到我自己" name="Settings Apply Local"/>
+ <menu_item_call label="套用到地段" name="Settings Apply Parcel"/>
+ <menu_item_call label="套用到地區" name="Settings Apply Region"/>
+ <menu_item_call label="複製" name="copy_settings"/>
+ <menu_item_call label="貼上" name="paste_settings"/>
+ <menu_item_call label="覆製 UUID" name="copy_uuid"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/zh/menu_viewer.xml b/indra/newview/skins/default/xui/zh/menu_viewer.xml
index e4507d9214..63c1dd7896 100644
--- a/indra/newview/skins/default/xui/zh/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/zh/menu_viewer.xml
@@ -75,27 +75,14 @@
<menu_item_check label="地段屬性" name="Parcel Properties"/>
<menu_item_check label="進階選單" name="Show Advanced Menu"/>
</menu>
- <menu label="太陽" name="Sun">
+ <menu label="環境" name="Environment">
<menu_item_check label="日出" name="Sunrise"/>
<menu_item_check label="中午" name="Noon"/>
<menu_item_check label="日落" name="Sunset"/>
<menu_item_check label="午夜" name="Midnight"/>
- <menu_item_check label="使用地區設定" name="Use Region Settings"/>
- </menu>
- <menu label="環境編輯器" name="Environment Editor">
- <menu_item_call label="環境設定…" name="Environment Settings"/>
- <menu label="水的自訂配置" name="Water Presets">
- <menu_item_call label="新的自訂配置…" name="new_water_preset"/>
- <menu_item_call label="編輯自訂配置…" name="edit_water_preset"/>
- </menu>
- <menu label="天空自訂配置" name="Sky Presets">
- <menu_item_call label="新的自訂配置…" name="new_sky_preset"/>
- <menu_item_call label="編輯自訂配置…" name="edit_sky_preset"/>
- </menu>
- <menu label="日的自訂配置" name="Day Presets">
- <menu_item_call label="新的自訂配置…" name="new_day_preset"/>
- <menu_item_call label="編輯自訂配置…" name="edit_day_preset"/>
- </menu>
+ <menu_item_check label="使用共享環境" name="Use Shared Environment"/>
+ <menu_item_call label="我的環境…" name="my_environs"/>
+ <menu_item_check label="暫停雲彩" name="pause_clouds"/>
</menu>
</menu>
<menu label="建造" name="BuildTools">
@@ -273,7 +260,6 @@
<menu_item_check label="顯示矩陣" name="Show Matrices"/>
<menu_item_check label="游標下顯示顏色" name="Show Color Under Cursor"/>
<menu_item_check label="顯示記憶體" name="Show Memory"/>
- <menu_item_check label="顯示私區記憶體資訊" name="Show Private Mem Info"/>
<menu_item_check label="顯示更新到物件" name="Show Updates"/>
</menu>
<menu label="強制錯誤" name="Force Errors">
diff --git a/indra/newview/skins/default/xui/zh/notifications.xml b/indra/newview/skins/default/xui/zh/notifications.xml
index c418ce72cc..38eb005162 100644
--- a/indra/newview/skins/default/xui/zh/notifications.xml
+++ b/indra/newview/skins/default/xui/zh/notifications.xml
@@ -1916,6 +1916,10 @@ SHA1 指紋:[MD5_DIGEST]
若不勾選這選項,可能會移除地段所有人為防止惡意騷擾及為維護隱私、保護幼未成年居民不接觸成年限制級內容的限制措施。 若有必要請與地段所有人溝通。
<usetemplate name="okbutton" yestext="確定"/>
</notification>
+ <notification name="EstateParcelEnvironmentOverride">
+ 取消勾選這選項,可能會移除地段所有人之前新增到地段的任何自定環境。 若有必要請與地段所有人溝通。
+ <usetemplate name="okbutton" yestext="確定"/>
+ </notification>
<notification name="RegionEntryAccessBlocked">
你所欲前往的地區含有超過你目前偏好的分級的內容。 你可以到「我自己 &gt; 偏好設定 &gt; 一般設定」變更你的偏好設定。
<usetemplate name="okbutton" yestext="確定"/>
@@ -4321,4 +4325,40 @@ SHA1 指紋:[MD5_DIGEST]
[REASON]
<usetemplate name="okbutton" yestext="確定"/>
</notification>
+ <notification name="FailedToFindSettings">
+ 無法從資料庫載入[NAME]的設定。
+ </notification>
+ <notification name="FailedToLoadSettingsApply">
+ 無法將設定套用到環境。
+ </notification>
+ <notification name="FailedToBuildSettingsDay">
+ 無法將設定套用到環境。
+ </notification>
+ <notification name="NoEnvironmentSettings">
+ 這區域不支援環境設定。
+ </notification>
+ <notification name="WLImportFail">
+ 無法從[FILE]匯入舊的風光(Windlight)設定。
+ </notification>
+ <notification name="WLParcelApplyFail">
+ 無法設定此地段的環境。
+請輸入或選擇一個你有權修改的地段。
+ </notification>
+ <notification name="SettingsUnsuported">
+ 這地區不支援設定。
+請移位到支援設定的地區,再試一次。
+ </notification>
+ <notification name="SettingsConfirmLoss">
+ 你即將針對名爲&quot;[NAME]&quot;的[TYPE]放棄變更。
+確定繼續?
+ <usetemplate ignoretext="確定放棄變更?" name="okcancelignore" notext="否" yestext="是"/>
+ </notification>
+ <notification name="SettingsMakeNoTrans">
+ 你即將把無法轉移的設定匯入這個日循環。 如果繼續,將使得你正在編輯的設定也變成無法轉移。
+
+這個改變無法取消復原。
+
+確定繼續?
+ <usetemplate ignoretext="確定要把設定變成無法轉移?" name="okcancelignore" notext="否" yestext="是"/>
+ </notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/zh/panel_region_environment.xml b/indra/newview/skins/default/xui/zh/panel_region_environment.xml
index 8f466af39e..16f9dc83a0 100644
--- a/indra/newview/skins/default/xui/zh/panel_region_environment.xml
+++ b/indra/newview/skins/default/xui/zh/panel_region_environment.xml
@@ -1,33 +1,77 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="環境" name="panel_env_info">
- <text name="water_settings_title">
- 選擇你希望到你地區的訪客所能看到的水和天空 / 日循環設定。 詳情
- </text>
- <radio_group name="region_settings_radio_group">
- <radio_item label="使用第二人生預設值" name="use_sl_default_settings"/>
- <radio_item label="使用以下設定" name="use_my_settings"/>
- </radio_group>
- <panel name="user_environment_settings">
- <text name="water_settings_title">
- 水的設定
- </text>
- <combo_box name="water_settings_preset_combo">
- <combo_box.item label="-選擇一個自訂配置-" name="item0"/>
- </combo_box>
- <text name="sky_dayc_settings_title">
- 天空 / 日循環
- </text>
- <radio_group name="sky_dayc_settings_radio_group">
- <radio_item label="固定天空" name="my_sky_settings"/>
- <radio_item label="日循環" name="my_dayc_settings"/>
- </radio_group>
- <combo_box name="sky_settings_preset_combo">
- <combo_box.item label="-選擇一個自訂配置-" name="item0"/>
- </combo_box>
- <combo_box name="dayc_settings_preset_combo">
- <combo_box.item label="-選擇一個自訂配置-" name="item0"/>
- </combo_box>
- </panel>
- <button label="套用" name="apply_btn"/>
- <button label="取消" name="cancel_btn"/>
+ <string name="str_label_use_default">
+ 使用預設設定
+ </string>
+ <string name="str_label_use_region">
+ 使用地區設定
+ </string>
+ <string name="str_unknow_inventory">
+ 未知
+ </string>
+ <string name="str_altitude_desription">
+ 天空 [INDEX]([ALTITUDE]m)
+ </string>
+ <string name="str_no_parcel">
+ 未選擇地段。 環境設定已停用。
+ </string>
+ <string name="str_cross_region">
+ 跨越地區不提供環境設定。
+ </string>
+ <string name="str_legacy">
+ 這地區不提供環境設定。
+ </string>
+ <layout_stack>
+ <layout_panel name="pnl_environment_disabled">
+ <text name="txt_environment_disabled">
+ ...
+ </text>
+ </layout_panel>
+ <layout_panel name="pnl_environment_config">
+ <layout_stack>
+ <layout_panel name="pnl_environment_current">
+ <radio_group name="rdg_environment_select">
+ <radio_item label="[USEDEFAULT]" name="rdo_use_xxx_setting"/>
+ <radio_item label="來自收納區的設定" name="rdo_use_inv_setting"/>
+ <radio_item label="自定環境" name="rdo_use_custom_setting"/>
+ </radio_group>
+ <line_editor name="edt_inventory_name">
+ 未知
+ </line_editor>
+ <button label="編輯環境" name="btn_edit"/>
+ </layout_panel>
+ <layout_panel name="pnl_environment_length">
+ <text name="lbl_apparent_time">
+ [HH]:[MM][AP] ([PRC]%)
+ </text>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="pnl_environment_altitudes">
+ <panel name="cnt_panel">
+ <multi_slider initial_value="100" name="sld_altitudes">
+ <slider name="sld1" value="200"/>
+ <slider name="sld2" value="400"/>
+ <slider name="sld3" value="600"/>
+ </multi_slider>
+ <text name="ground">
+ 地面
+ </text>
+ <text name="alt1">
+ 天空 [INDEX]([ALTITUDE]m)
+ </text>
+ <text name="alt2">
+ 天空 [INDEX]([ALTITUDE]m)
+ </text>
+ <text name="alt3">
+ 天空 [INDEX]([ALTITUDE]m)
+ </text>
+ </panel>
+ </layout_panel>
+ <layout_panel name="pnl_environment_buttons">
+ <check_box label="地段所有人可強制設定環境" name="chk_allow_override"/>
+ <button label="套用" name="btn_apply"/>
+ <button label="重設" name="btn_cancel"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/zh/panel_region_estate.xml b/indra/newview/skins/default/xui/zh/panel_region_estate.xml
index 3825e7ab23..4be4f0aac1 100644
--- a/indra/newview/skins/default/xui/zh/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/zh/panel_region_estate.xml
@@ -29,22 +29,22 @@
領地管理員:
</text>
<text name="allow_resident_label">
- 永遠允許:
+ 永遠准許:
</text>
- <button label="添加..." name="add_estate_manager_btn"/>
- <button label="移除..." name="remove_estate_manager_btn"/>
- <button label="添加..." name="add_allowed_avatar_btn"/>
- <button label="移除..." name="remove_allowed_avatar_btn"/>
+ <button label="新增…" name="add_estate_manager_btn"/>
+ <button label="移除…" name="remove_estate_manager_btn"/>
+ <button label="新增…" name="add_allowed_avatar_btn"/>
+ <button label="移除…" name="remove_allowed_avatar_btn"/>
<text name="allow_group_label">
- 永遠允許的群組:
+ 永遠准許的群組:
</text>
<text name="ban_resident_label">
- 永遠封鎖:
+ 永遠禁入:
</text>
- <button label="添加..." name="add_allowed_group_btn"/>
- <button label="移除..." name="remove_allowed_group_btn"/>
- <button label="添加..." name="add_banned_avatar_btn"/>
- <button label="移除..." name="remove_banned_avatar_btn"/>
+ <button label="新增…" name="add_allowed_group_btn"/>
+ <button label="移除…" name="remove_allowed_group_btn"/>
+ <button label="新增…" name="add_banned_avatar_btn"/>
+ <button label="移除…" name="remove_banned_avatar_btn"/>
<button label="送出訊息到領地..." name="message_estate_btn"/>
<button label="由領地將居民踢出..." name="kick_user_from_estate_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/zh/panel_settings_sky_atmos.xml b/indra/newview/skins/default/xui/zh/panel_settings_sky_atmos.xml
new file mode 100644
index 0000000000..a352055d6d
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/panel_settings_sky_atmos.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="大氣與照明" name="panel_settings_sky_atmos"/>
diff --git a/indra/newview/skins/default/xui/zh/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/zh/panel_settings_sky_clouds.xml
new file mode 100644
index 0000000000..e27e2278df
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/panel_settings_sky_clouds.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="雲彩" name="panel_settings_sky_clouds">
+ <layout_stack>
+ <layout_panel>
+ <slider label="X" name="cloud_density_x"/>
+ <slider label="Y" name="cloud_density_y"/>
+ <slider label="D" name="cloud_density_d"/>
+ <slider label="X" name="cloud_detail_x"/>
+ <slider label="Y" name="cloud_detail_y"/>
+ <slider label="D" name="cloud_detail_d"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/zh/panel_settings_sky_density.xml b/indra/newview/skins/default/xui/zh/panel_settings_sky_density.xml
new file mode 100644
index 0000000000..4b043ccaa2
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/panel_settings_sky_density.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="密度" name="panel_settings_sky_density">
+ <layout_stack>
+ <layout_panel>
+ <slider label="Rayleigh指數函數項:" name="rayleigh_exponential"/>
+ <slider label="Rayleigh指數函數比例:" name="rayleigh_exponential_scale"/>
+ <slider label="Rayleigh線性項:" name="rayleigh_linear"/>
+ <slider label="Rayleigh常數項:" name="rayleigh_constant"/>
+ <slider label="Rayleigh最大高度:" name="rayleigh_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="Mie指數函數項:" name="mie_exponential"/>
+ <slider label="Mie指數函數比例:" name="mie_exponential_scale"/>
+ <slider label="Mie線性項:" name="mie_linear"/>
+ <slider label="Mie常數項:" name="mie_constant"/>
+ <slider label="Mie異性因子:" name="mie_aniso_factor"/>
+ <slider label="Mie最大高度:" name="mie_max_altitude"/>
+ </layout_panel>
+ <layout_panel>
+ <slider label="吸收指數函數項:" name="absorption_exponential"/>
+ <slider label="吸收指數函數比例:" name="absorption_exponential_scale"/>
+ <slider label="吸收線性項:" name="absorption_linear"/>
+ <slider label="吸收常數項:" name="absorption_constant"/>
+ <slider label="吸收最大高度:" name="absorption_max_altitude"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/zh/panel_settings_sky_sunmoon.xml b/indra/newview/skins/default/xui/zh/panel_settings_sky_sunmoon.xml
new file mode 100644
index 0000000000..594f7e89d1
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/panel_settings_sky_sunmoon.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="日與月" name="panel_settings_sky_hbodies"/>
diff --git a/indra/newview/skins/default/xui/zh/panel_settings_water.xml b/indra/newview/skins/default/xui/zh/panel_settings_water.xml
new file mode 100644
index 0000000000..59687c001b
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/panel_settings_water.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="水文" name="panel_settings_water">
+ <layout_stack name="water_stack1">
+ <layout_panel>
+ <text name="FresnelOffsetText">
+ 菲涅耳偏距:
+ </text>
+ </layout_panel>
+ <layout_panel>
+ <layout_stack name="water_stack2">
+ <layout_panel>
+ <slider label="X:" name="water_normal_scale_x"/>
+ <slider label="Y:" name="water_normal_scale_y"/>
+ <slider label="Z:" name="water_normal_scale_z"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/zh/strings.xml b/indra/newview/skins/default/xui/zh/strings.xml
index 34096f0d60..57da57a82c 100644
--- a/indra/newview/skins/default/xui/zh/strings.xml
+++ b/indra/newview/skins/default/xui/zh/strings.xml
@@ -632,6 +632,15 @@ http://secondlife.com/viewer-access-faq
<string name="BUTTON_HELP">
顯示幫助
</string>
+ <string name="TooltipNotecardNotAllowedTypeDrop">
+ 這類物項無法附著
+到本地區的記事卡。
+ </string>
+ <string name="TooltipNotecardOwnerRestrictedDrop">
+ 只有帶有不受限制的
+「下一個所有人」權限的物件
+才可附著到記事卡。
+ </string>
<string name="Searching">
搜尋中...
</string>
@@ -780,15 +789,15 @@ http://secondlife.com/support 求助解決問題。
<string name="symbolic link">
聯結
</string>
+ <string name="settings blob">
+ 設定
+ </string>
<string name="symbolic folder link">
資料夾聯結
</string>
<string name="mesh">
網面
</string>
- <string name="settings">
- 的設定
- </string>
<string name="AvatarEditingAppearance">
(外觀編輯中)
</string>
@@ -2486,6 +2495,9 @@ http://secondlife.com/support 求助解決問題。
<string name="RegionSettings">
地區設定
</string>
+ <string name="NoEnvironmentSettings">
+ 這區域不支援環境設定。
+ </string>
<string name="ClassifiedClicksTxt">
點按:[TELEPORT] 瞬間傳送,[MAP] 地圖,[PROFILE] 檔案
</string>
@@ -4828,6 +4840,15 @@ http://secondlife.com/support 求助解決問題。
<string name="Female - Wow">
女性 - 哇塞
</string>
+ <string name="New Daycycle">
+ 新的日循環
+ </string>
+ <string name="New Water">
+ 新的水文
+ </string>
+ <string name="New Sky">
+ 新的天空
+ </string>
<string name="/bow">
/彎腰點頭
</string>