summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rwxr-xr-xindra/newview/CMakeLists.txt2
-rw-r--r--indra/newview/VIEWER_VERSION.txt2
-rwxr-xr-xindra/newview/app_settings/keywords.ini46
-rwxr-xr-xindra/newview/app_settings/settings.xml35
-rwxr-xr-xindra/newview/llagent.cpp15
-rwxr-xr-xindra/newview/llagentcamera.cpp5
-rwxr-xr-xindra/newview/llagentcamera.h1
-rwxr-xr-xindra/newview/llagentwearables.cpp1
-rwxr-xr-xindra/newview/llaisapi.cpp35
-rwxr-xr-xindra/newview/llappearancemgr.cpp22
-rwxr-xr-xindra/newview/llappviewer.cpp8
-rwxr-xr-xindra/newview/llavataractions.cpp12
-rwxr-xr-xindra/newview/llfavoritesbar.cpp30
-rwxr-xr-xindra/newview/llfavoritesbar.h2
-rwxr-xr-xindra/newview/llfloateravatar.cpp8
-rwxr-xr-xindra/newview/llfloaterimcontainer.cpp19
-rwxr-xr-xindra/newview/llfloaterimcontainer.h3
-rwxr-xr-xindra/newview/llfloaterimsession.cpp3
-rw-r--r--indra/newview/llfloaterlagmeter.cpp378
-rw-r--r--indra/newview/llfloaterlagmeter.h80
-rwxr-xr-xindra/newview/llfloaterland.cpp24
-rwxr-xr-xindra/newview/llfloaternotificationsconsole.cpp17
-rwxr-xr-xindra/newview/llfloatersidepanelcontainer.cpp4
-rwxr-xr-xindra/newview/llfloatersidepanelcontainer.h2
-rwxr-xr-xindra/newview/llfloatertools.cpp3
-rwxr-xr-xindra/newview/llfloaterurlentry.cpp8
-rwxr-xr-xindra/newview/llfloaterwebcontent.cpp2
-rwxr-xr-xindra/newview/llfolderviewmodelinventory.cpp4
-rwxr-xr-xindra/newview/llgesturemgr.cpp2
-rwxr-xr-xindra/newview/llinventorybridge.cpp108
-rwxr-xr-xindra/newview/llinventorybridge.h6
-rwxr-xr-xindra/newview/llinventoryfilter.cpp24
-rwxr-xr-xindra/newview/llinventoryfilter.h1
-rwxr-xr-xindra/newview/llinventoryfunctions.cpp2
-rwxr-xr-xindra/newview/llinventorypanel.cpp29
-rwxr-xr-xindra/newview/lllocalbitmaps.cpp41
-rwxr-xr-xindra/newview/lllocalbitmaps.h1
-rwxr-xr-xindra/newview/llmanip.cpp55
-rwxr-xr-xindra/newview/llmanip.h2
-rwxr-xr-xindra/newview/llmaniptranslate.cpp11
-rwxr-xr-xindra/newview/llmediactrl.cpp10
-rwxr-xr-xindra/newview/llmediactrl.h1
-rwxr-xr-xindra/newview/llnotificationstorage.cpp24
-rwxr-xr-xindra/newview/llnotificationstorage.h4
-rwxr-xr-xindra/newview/llpanelcontents.cpp7
-rwxr-xr-xindra/newview/llpanelcontents.h1
-rwxr-xr-xindra/newview/llpaneleditwearable.cpp8
-rwxr-xr-xindra/newview/llpanelgrouproles.cpp8
-rwxr-xr-xindra/newview/llpanellogin.cpp370
-rwxr-xr-xindra/newview/llpanelmaininventory.cpp6
-rwxr-xr-xindra/newview/llpanelobjectinventory.cpp11
-rwxr-xr-xindra/newview/llpanelobjectinventory.h1
-rwxr-xr-xindra/newview/llpanelpeoplemenus.cpp15
-rwxr-xr-xindra/newview/llpanelpeoplemenus.h1
-rwxr-xr-xindra/newview/llpersistentnotificationstorage.cpp7
-rwxr-xr-xindra/newview/llpreviewnotecard.cpp5
-rwxr-xr-xindra/newview/llpreviewscript.cpp3
-rwxr-xr-xindra/newview/llpreviewscript.h3
-rwxr-xr-xindra/newview/llpreviewsound.cpp3
-rw-r--r--indra/newview/llscenemonitor.cpp13
-rw-r--r--indra/newview/llscenemonitor.h1
-rwxr-xr-xindra/newview/llsceneview.cpp4
-rwxr-xr-xindra/newview/llsceneview.h1
-rwxr-xr-xindra/newview/llstartup.cpp1
-rwxr-xr-xindra/newview/llstatusbar.cpp1
-rwxr-xr-xindra/newview/lltextureview.cpp2
-rwxr-xr-xindra/newview/lltoast.cpp2
-rwxr-xr-xindra/newview/lltoastalertpanel.cpp5
-rwxr-xr-xindra/newview/lltoolbrush.cpp57
-rwxr-xr-xindra/newview/lltoolbrush.h8
-rwxr-xr-xindra/newview/lltoolcomp.cpp89
-rwxr-xr-xindra/newview/lltoolcomp.h14
-rwxr-xr-xindra/newview/lltooldraganddrop.cpp28
-rwxr-xr-xindra/newview/lltooldraganddrop.h1
-rwxr-xr-xindra/newview/lltoolfocus.cpp12
-rwxr-xr-xindra/newview/lltoolfocus.h1
-rwxr-xr-xindra/newview/lltoolgrab.cpp29
-rwxr-xr-xindra/newview/lltoolgrab.h3
-rwxr-xr-xindra/newview/lltoolmgr.cpp16
-rwxr-xr-xindra/newview/lltoolpie.cpp26
-rwxr-xr-xindra/newview/lltoolselect.cpp16
-rwxr-xr-xindra/newview/llurldispatcher.cpp6
-rwxr-xr-xindra/newview/llviewerfloaterreg.cpp2
-rwxr-xr-xindra/newview/llviewerkeyboard.cpp2
-rwxr-xr-xindra/newview/llviewermenu.cpp40
-rwxr-xr-xindra/newview/llviewermenufile.cpp22
-rwxr-xr-xindra/newview/llviewermessage.cpp11
-rwxr-xr-xindra/newview/llviewerobject.cpp13
-rwxr-xr-xindra/newview/llviewerparcelmgr.cpp18
-rwxr-xr-xindra/newview/llviewerparcelmgr.h1
-rwxr-xr-xindra/newview/llviewertexture.cpp12
-rwxr-xr-xindra/newview/llviewertexture.h2
-rwxr-xr-xindra/newview/llviewerwindow.cpp15
-rwxr-xr-xindra/newview/llvoavatar.cpp2
-rwxr-xr-xindra/newview/llvoicechannel.cpp6
-rwxr-xr-xindra/newview/llvoiceclient.cpp10
-rwxr-xr-xindra/newview/llweb.cpp21
-rwxr-xr-xindra/newview/llweb.h8
-rwxr-xr-xindra/newview/llworldmapview.cpp2
-rw-r--r--indra/newview/skins/default/xui/da/floater_lagmeter.xml151
-rw-r--r--indra/newview/skins/default/xui/de/floater_lagmeter.xml151
-rw-r--r--indra/newview/skins/default/xui/de/floater_region_restarting.xml23
-rw-r--r--indra/newview/skins/default/xui/de/floater_scene_load_stats.xml64
-rwxr-xr-xindra/newview/skins/default/xui/de/floater_stats.xml41
-rwxr-xr-xindra/newview/skins/default/xui/de/menu_avatar_icon.xml1
-rwxr-xr-xindra/newview/skins/default/xui/de/menu_inventory.xml1
-rwxr-xr-xindra/newview/skins/default/xui/de/menu_login.xml10
-rwxr-xr-xindra/newview/skins/default/xui/de/menu_teleport_history_item.xml2
-rwxr-xr-xindra/newview/skins/default/xui/de/menu_viewer.xml5
-rwxr-xr-xindra/newview/skins/default/xui/de/notifications.xml67
-rwxr-xr-xindra/newview/skins/default/xui/de/panel_group_info_sidetray.xml2
-rwxr-xr-xindra/newview/skins/default/xui/de/panel_group_roles.xml1
-rwxr-xr-xindra/newview/skins/default/xui/de/panel_region_debug.xml9
-rwxr-xr-xindra/newview/skins/default/xui/de/panel_region_general.xml2
-rwxr-xr-xindra/newview/skins/default/xui/de/sidepanel_inventory.xml4
-rwxr-xr-xindra/newview/skins/default/xui/de/strings.xml158
-rwxr-xr-xindra/newview/skins/default/xui/en/floater_im_session.xml2
-rw-r--r--indra/newview/skins/default/xui/en/floater_lagmeter.xml336
-rwxr-xr-xindra/newview/skins/default/xui/en/floater_openobject.xml16
-rwxr-xr-xindra/newview/skins/default/xui/en/floater_report_abuse.xml2
-rwxr-xr-xindra/newview/skins/default/xui/en/floater_snapshot.xml1
-rwxr-xr-xindra/newview/skins/default/xui/en/floater_stats.xml2
-rwxr-xr-xindra/newview/skins/default/xui/en/menu_viewer.xml14
-rwxr-xr-xindra/newview/skins/default/xui/en/mime_types.xml21
-rwxr-xr-xindra/newview/skins/default/xui/en/mime_types_linux.xml21
-rwxr-xr-xindra/newview/skins/default/xui/en/mime_types_mac.xml21
-rwxr-xr-xindra/newview/skins/default/xui/en/notifications.xml53
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_place_profile.xml4
-rwxr-xr-xindra/newview/skins/default/xui/en/panel_preferences_setup.xml44
-rwxr-xr-xindra/newview/skins/default/xui/en/strings.xml1
-rw-r--r--indra/newview/skins/default/xui/es/floater_lagmeter.xml154
-rw-r--r--indra/newview/skins/default/xui/es/floater_region_restarting.xml23
-rw-r--r--indra/newview/skins/default/xui/es/floater_scene_load_stats.xml64
-rwxr-xr-xindra/newview/skins/default/xui/es/floater_stats.xml40
-rwxr-xr-xindra/newview/skins/default/xui/es/menu_avatar_icon.xml1
-rwxr-xr-xindra/newview/skins/default/xui/es/menu_inventory.xml1
-rwxr-xr-xindra/newview/skins/default/xui/es/menu_login.xml10
-rwxr-xr-xindra/newview/skins/default/xui/es/menu_teleport_history_item.xml2
-rwxr-xr-xindra/newview/skins/default/xui/es/menu_viewer.xml13
-rwxr-xr-xindra/newview/skins/default/xui/es/notifications.xml69
-rwxr-xr-xindra/newview/skins/default/xui/es/panel_group_info_sidetray.xml2
-rwxr-xr-xindra/newview/skins/default/xui/es/panel_group_roles.xml1
-rwxr-xr-xindra/newview/skins/default/xui/es/panel_region_debug.xml9
-rwxr-xr-xindra/newview/skins/default/xui/es/panel_region_general.xml2
-rwxr-xr-xindra/newview/skins/default/xui/es/sidepanel_inventory.xml6
-rwxr-xr-xindra/newview/skins/default/xui/es/strings.xml54
-rw-r--r--indra/newview/skins/default/xui/fr/floater_lagmeter.xml151
-rw-r--r--indra/newview/skins/default/xui/fr/floater_region_restarting.xml23
-rw-r--r--indra/newview/skins/default/xui/fr/floater_scene_load_stats.xml64
-rwxr-xr-xindra/newview/skins/default/xui/fr/floater_stats.xml37
-rwxr-xr-xindra/newview/skins/default/xui/fr/menu_avatar_icon.xml1
-rwxr-xr-xindra/newview/skins/default/xui/fr/menu_inventory.xml1
-rwxr-xr-xindra/newview/skins/default/xui/fr/menu_login.xml10
-rwxr-xr-xindra/newview/skins/default/xui/fr/menu_teleport_history_item.xml2
-rwxr-xr-xindra/newview/skins/default/xui/fr/menu_viewer.xml5
-rwxr-xr-xindra/newview/skins/default/xui/fr/notifications.xml67
-rwxr-xr-xindra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml2
-rwxr-xr-xindra/newview/skins/default/xui/fr/panel_group_roles.xml1
-rwxr-xr-xindra/newview/skins/default/xui/fr/panel_region_debug.xml9
-rwxr-xr-xindra/newview/skins/default/xui/fr/panel_region_general.xml2
-rwxr-xr-xindra/newview/skins/default/xui/fr/sidepanel_inventory.xml6
-rwxr-xr-xindra/newview/skins/default/xui/fr/strings.xml54
-rw-r--r--indra/newview/skins/default/xui/it/floater_lagmeter.xml154
-rw-r--r--indra/newview/skins/default/xui/it/floater_region_restarting.xml23
-rw-r--r--indra/newview/skins/default/xui/it/floater_scene_load_stats.xml64
-rwxr-xr-xindra/newview/skins/default/xui/it/floater_stats.xml40
-rwxr-xr-xindra/newview/skins/default/xui/it/menu_avatar_icon.xml1
-rwxr-xr-xindra/newview/skins/default/xui/it/menu_inventory.xml1
-rwxr-xr-xindra/newview/skins/default/xui/it/menu_login.xml10
-rwxr-xr-xindra/newview/skins/default/xui/it/menu_teleport_history_item.xml2
-rwxr-xr-xindra/newview/skins/default/xui/it/menu_viewer.xml13
-rwxr-xr-xindra/newview/skins/default/xui/it/notifications.xml69
-rwxr-xr-xindra/newview/skins/default/xui/it/panel_group_info_sidetray.xml2
-rwxr-xr-xindra/newview/skins/default/xui/it/panel_group_roles.xml1
-rwxr-xr-xindra/newview/skins/default/xui/it/panel_region_debug.xml9
-rwxr-xr-xindra/newview/skins/default/xui/it/panel_region_general.xml2
-rwxr-xr-xindra/newview/skins/default/xui/it/sidepanel_inventory.xml2
-rwxr-xr-xindra/newview/skins/default/xui/it/strings.xml54
-rw-r--r--indra/newview/skins/default/xui/ja/floater_lagmeter.xml151
-rw-r--r--indra/newview/skins/default/xui/ja/floater_region_restarting.xml23
-rw-r--r--indra/newview/skins/default/xui/ja/floater_scene_load_stats.xml64
-rwxr-xr-xindra/newview/skins/default/xui/ja/floater_stats.xml41
-rwxr-xr-xindra/newview/skins/default/xui/ja/menu_avatar_icon.xml1
-rwxr-xr-xindra/newview/skins/default/xui/ja/menu_inventory.xml1
-rwxr-xr-xindra/newview/skins/default/xui/ja/menu_login.xml10
-rwxr-xr-xindra/newview/skins/default/xui/ja/menu_teleport_history_item.xml2
-rwxr-xr-xindra/newview/skins/default/xui/ja/menu_viewer.xml5
-rwxr-xr-xindra/newview/skins/default/xui/ja/notifications.xml65
-rwxr-xr-xindra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml4
-rwxr-xr-xindra/newview/skins/default/xui/ja/panel_group_roles.xml1
-rwxr-xr-xindra/newview/skins/default/xui/ja/panel_region_debug.xml9
-rwxr-xr-xindra/newview/skins/default/xui/ja/panel_region_general.xml2
-rwxr-xr-xindra/newview/skins/default/xui/ja/sidepanel_inventory.xml6
-rwxr-xr-xindra/newview/skins/default/xui/ja/strings.xml53
-rw-r--r--indra/newview/skins/default/xui/pl/floater_lagmeter.xml151
-rw-r--r--indra/newview/skins/default/xui/pt/floater_lagmeter.xml154
-rw-r--r--indra/newview/skins/default/xui/pt/floater_region_restarting.xml23
-rw-r--r--indra/newview/skins/default/xui/pt/floater_scene_load_stats.xml64
-rwxr-xr-xindra/newview/skins/default/xui/pt/floater_stats.xml40
-rwxr-xr-xindra/newview/skins/default/xui/pt/menu_avatar_icon.xml1
-rwxr-xr-xindra/newview/skins/default/xui/pt/menu_inventory.xml1
-rwxr-xr-xindra/newview/skins/default/xui/pt/menu_login.xml10
-rwxr-xr-xindra/newview/skins/default/xui/pt/menu_teleport_history_item.xml2
-rwxr-xr-xindra/newview/skins/default/xui/pt/menu_viewer.xml13
-rwxr-xr-xindra/newview/skins/default/xui/pt/notifications.xml77
-rwxr-xr-xindra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml2
-rwxr-xr-xindra/newview/skins/default/xui/pt/panel_group_roles.xml1
-rwxr-xr-xindra/newview/skins/default/xui/pt/panel_region_debug.xml9
-rwxr-xr-xindra/newview/skins/default/xui/pt/panel_region_general.xml2
-rwxr-xr-xindra/newview/skins/default/xui/pt/sidepanel_inventory.xml2
-rwxr-xr-xindra/newview/skins/default/xui/pt/strings.xml54
-rw-r--r--indra/newview/skins/default/xui/ru/floater_lagmeter.xml151
-rw-r--r--indra/newview/skins/default/xui/ru/floater_region_restarting.xml23
-rw-r--r--indra/newview/skins/default/xui/ru/floater_scene_load_stats.xml64
-rwxr-xr-xindra/newview/skins/default/xui/ru/floater_stats.xml37
-rwxr-xr-xindra/newview/skins/default/xui/ru/menu_avatar_icon.xml1
-rwxr-xr-xindra/newview/skins/default/xui/ru/menu_inventory.xml1
-rwxr-xr-xindra/newview/skins/default/xui/ru/menu_login.xml10
-rwxr-xr-xindra/newview/skins/default/xui/ru/menu_teleport_history_item.xml2
-rwxr-xr-xindra/newview/skins/default/xui/ru/menu_viewer.xml5
-rwxr-xr-xindra/newview/skins/default/xui/ru/notifications.xml63
-rwxr-xr-xindra/newview/skins/default/xui/ru/panel_group_info_sidetray.xml2
-rwxr-xr-xindra/newview/skins/default/xui/ru/panel_group_roles.xml1
-rwxr-xr-xindra/newview/skins/default/xui/ru/panel_region_debug.xml3
-rwxr-xr-xindra/newview/skins/default/xui/ru/panel_region_general.xml2
-rwxr-xr-xindra/newview/skins/default/xui/ru/sidepanel_inventory.xml8
-rwxr-xr-xindra/newview/skins/default/xui/ru/strings.xml54
-rw-r--r--indra/newview/skins/default/xui/tr/floater_lagmeter.xml151
-rw-r--r--indra/newview/skins/default/xui/tr/floater_region_restarting.xml23
-rw-r--r--indra/newview/skins/default/xui/tr/floater_scene_load_stats.xml64
-rwxr-xr-xindra/newview/skins/default/xui/tr/floater_stats.xml41
-rwxr-xr-xindra/newview/skins/default/xui/tr/menu_avatar_icon.xml1
-rwxr-xr-xindra/newview/skins/default/xui/tr/menu_inventory.xml1
-rwxr-xr-xindra/newview/skins/default/xui/tr/menu_login.xml10
-rwxr-xr-xindra/newview/skins/default/xui/tr/menu_teleport_history_item.xml2
-rwxr-xr-xindra/newview/skins/default/xui/tr/menu_viewer.xml5
-rwxr-xr-xindra/newview/skins/default/xui/tr/notifications.xml65
-rwxr-xr-xindra/newview/skins/default/xui/tr/panel_group_info_sidetray.xml2
-rwxr-xr-xindra/newview/skins/default/xui/tr/panel_group_roles.xml1
-rwxr-xr-xindra/newview/skins/default/xui/tr/panel_region_debug.xml3
-rwxr-xr-xindra/newview/skins/default/xui/tr/panel_region_general.xml2
-rwxr-xr-xindra/newview/skins/default/xui/tr/strings.xml54
-rw-r--r--indra/newview/skins/default/xui/zh/floater_lagmeter.xml151
-rw-r--r--indra/newview/skins/default/xui/zh/floater_region_restarting.xml23
-rw-r--r--indra/newview/skins/default/xui/zh/floater_scene_load_stats.xml64
-rwxr-xr-xindra/newview/skins/default/xui/zh/floater_stats.xml41
-rwxr-xr-xindra/newview/skins/default/xui/zh/menu_avatar_icon.xml1
-rwxr-xr-xindra/newview/skins/default/xui/zh/menu_inventory.xml1
-rwxr-xr-xindra/newview/skins/default/xui/zh/menu_login.xml10
-rwxr-xr-xindra/newview/skins/default/xui/zh/menu_teleport_history_item.xml2
-rwxr-xr-xindra/newview/skins/default/xui/zh/menu_viewer.xml5
-rwxr-xr-xindra/newview/skins/default/xui/zh/notifications.xml65
-rwxr-xr-xindra/newview/skins/default/xui/zh/panel_group_info_sidetray.xml2
-rwxr-xr-xindra/newview/skins/default/xui/zh/panel_group_roles.xml1
-rwxr-xr-xindra/newview/skins/default/xui/zh/panel_region_debug.xml3
-rwxr-xr-xindra/newview/skins/default/xui/zh/panel_region_general.xml2
-rwxr-xr-xindra/newview/skins/default/xui/zh/sidepanel_inventory.xml6
-rwxr-xr-xindra/newview/skins/default/xui/zh/strings.xml57
258 files changed, 5792 insertions, 1165 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 279d98e5c0..e8f4144e70 100755
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -252,6 +252,7 @@ set(viewer_SOURCE_FILES
llfloaterinspect.cpp
llfloaterinventory.cpp
llfloaterjoystick.cpp
+ llfloaterlagmeter.cpp
llfloaterland.cpp
llfloaterlandholdings.cpp
llfloatermap.cpp
@@ -859,6 +860,7 @@ set(viewer_HEADER_FILES
llfloaterinspect.h
llfloaterinventory.h
llfloaterjoystick.h
+ llfloaterlagmeter.h
llfloaterland.h
llfloaterlandholdings.h
llfloatermap.h
diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt
index 36f601f10e..9a4c4371ee 100644
--- a/indra/newview/VIEWER_VERSION.txt
+++ b/indra/newview/VIEWER_VERSION.txt
@@ -1 +1 @@
-3.7.16
+3.7.17
diff --git a/indra/newview/app_settings/keywords.ini b/indra/newview/app_settings/keywords.ini
index 17c70ef1c5..4972472f67 100755
--- a/indra/newview/app_settings/keywords.ini
+++ b/indra/newview/app_settings/keywords.ini
@@ -628,22 +628,22 @@ RCERR_CAST_TIME_EXCEEDED TODO: add documentation
RCERR_SIM_PERF_LOW TODO: add documentation
RCERR_UNKNOWN TODO: add documentation
-ESTATE_ACCESS_ALLOWED_AGENT_ADD TODO: add documentation
-ESTATE_ACCESS_ALLOWED_AGENT_REMOVE TODO: add documentation
-ESTATE_ACCESS_ALLOWED_GROUP_ADD TODO: add documentation
-ESTATE_ACCESS_ALLOWED_GROUP_REMOVE TODO: add documentation
-ESTATE_ACCESS_BANNED_AGENT_ADD TODO: add documentation
-ESTATE_ACCESS_BANNED_AGENT_REMOVE TODO: add documentation
+ESTATE_ACCESS_ALLOWED_AGENT_ADD Passed to llManageEstateAccess to add the agent to this estate's Allowed Residents list
+ESTATE_ACCESS_ALLOWED_AGENT_REMOVE Passed to llManageEstateAccess to remove the agent from this estate's Allowed Residents list
+ESTATE_ACCESS_ALLOWED_GROUP_ADD Passed to llManageEstateAccess to add the group to this estate's Allowed groups list
+ESTATE_ACCESS_ALLOWED_GROUP_REMOVE Passed to llManageEstateAccess to remove the group from this estate's Allowed groups list
+ESTATE_ACCESS_BANNED_AGENT_ADD Passed to llManageEstateAccess to add the agent to this estate's Banned residents list
+ESTATE_ACCESS_BANNED_AGENT_REMOVE Passed to llManageEstateAccess to remove the agent from this estate's Banned residents list
DENSITY TODO: add documentation
FRICTION TODO: add documentation
RESTITUTION TODO: add documentation
GRAVITY_MULTIPLIER TODO: add documentation
-KFM_COMMAND TODO: add documentation
-KFM_CMD_PLAY TODO: add documentation
-KFM_CMD_STOP TODO: add documentation
-KFM_CMD_PAUSE TODO: add documentation
+KFM_COMMAND Command used in the options parameter of llSetKeyframedMotion, followed by one of: KFM_CMD_STOP, KFM_CMD_PLAY, KFM_CMD_PAUSE to play, stop or pause the motion
+KFM_CMD_PLAY Command used in the options parameter llSetKeyframedMotion. Resumes the animation previously stopped by KFM_CMD_STOP or KFM_CMD_PAUSE
+KFM_CMD_STOP Command used in the options parameter llSetKeyframedMotion. Stops the animation and resets it at the start of motion
+KFM_CMD_PAUSE Command used in the options parameter llSetKeyframedMotion. Stops the animation but doesn t reset it at the start of motion.
KFM_CMD_SET_MODE TODO: add documentation
KFM_MODE TODO: add documentation
KFM_FORWARD TODO: add documentation
@@ -657,18 +657,18 @@ KFM_TRANSLATION TODO: add documentation
CHARACTER_CMD_STOP TODO: add documentation
CHARACTER_CMD_JUMP TODO: add documentation
-CHARACTER_DESIRED_SPEED TODO: add documentation
-CHARACTER_RADIUS TODO: add documentation
-CHARACTER_LENGTH TODO: add documentation
-CHARACTER_ORIENTATION TODO: add documentation
-CHARACTER_AVOIDANCE_MODE TODO: add documentation
+CHARACTER_DESIRED_SPEED Constant used to indicate that the following argument is the desired speed for a Pathfinding character.
+CHARACTER_RADIUS Constant used to indicate that the following argument is the radius of the capsule for a Pathfinding character.
+CHARACTER_LENGTH Constant used to indicate that the following argument is the length of the capsule for a Pathfinding character.
+CHARACTER_ORIENTATION Constant used to indicate that the following argument is the orientation of the capsule for a Pathfinding character.
+CHARACTER_AVOIDANCE_MODE Allows you to specify that a character should not try to avoid other characters, should not try to avoid dynamic obstacles, or both. Is combined with a mask bit flags
PURSUIT_OFFSET TODO: add documentation
REQUIRE_LINE_OF_SIGHT TODO: add documentation
PURSUIT_FUZZ_FACTOR TODO: add documentation
PURSUIT_INTERCEPT TODO: add documentation
FORCE_DIRECT_PATH TODO: add documentation
-VERTICAL TODO: add documentation
-HORIZONTAL TODO: add documentation
+VERTICAL Constant to indicate that the orientation of the capsule for a Pathfinding character is vertical.
+HORIZONTAL Constant to indicate that the orientation of the capsule for a Pathfinding character is horizontal.
AVOID_CHARACTERS TODO: add documentation
AVOID_DYNAMIC_OBSTACLES TODO: add documentation
@@ -683,12 +683,12 @@ PU_FAILURE_UNREACHABLE Goal is no longer reachable for some reason - e
PU_GOAL_REACHED Character has reached the goal and will stop or choose a new goal (if wandering).
PU_SLOWDOWN_DISTANCE_REACHED Character is near current goal.
-CHARACTER_TYPE TODO: add documentation
-CHARACTER_TYPE_A TODO: add documentation
-CHARACTER_TYPE_B TODO: add documentation
-CHARACTER_TYPE_C TODO: add documentation
-CHARACTER_TYPE_D TODO: add documentation
-CHARACTER_TYPE_NONE TODO: add documentation
+CHARACTER_TYPE Specifies which walkability coefficient will be used by this character. Used in combination with one of the character type flags.
+CHARACTER_TYPE_A Used for character types that you prefer move in a way consistent with humanoids.
+CHARACTER_TYPE_B Used for character types that you prefer move in a way consistent with wild animals or off road vehicles.
+CHARACTER_TYPE_C Used for mechanical character types or road going vehicles.
+CHARACTER_TYPE_D Used for character types that are not consistent with the A, B, or C type.
+CHARACTER_TYPE_NONE Used to set no specific character type.
TRAVERSAL_TYPE TODO: add documentation
TRAVERSAL_TYPE_SLOW TODO: add documentation
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 667b3f2a36..22d64d4d14 100755
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -13224,7 +13224,7 @@
<key>Value</key>
<string>Default</string>
</map>
- <key>UseExternalBrowser</key>
+ <key>UseExternalBrowser</key> <!-- deprecated (see MAINT-4127) -->
<map>
<key>Comment</key>
<string>Use default browser when opening web pages instead of in-world browser.</string>
@@ -13235,6 +13235,17 @@
<key>Value</key>
<boolean>1</boolean>
</map>
+ <key>PreferredBrowserBehavior</key>
+ <map>
+ <key>Comment</key>
+ <string>Use system browser for any links (0), use builtin browser for SL links and system one for others (1) or use builtin browser only (2).</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>U32</string>
+ <key>Value</key>
+ <integer>1</integer>
+ </map>
<key>UseFreezeFrame</key>
<map>
<key>Comment</key>
@@ -14225,6 +14236,17 @@
<key>Value</key>
<integer>0</integer>
</map>
+ <key>LeaveMouselook</key>
+ <map>
+ <key>Comment</key>
+ <string>Exit Mouselook mode via S or Down Arrow keys while sitting </string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>0</integer>
+ </map>
<key>TextureLoggingThreshold</key>
<map>
<key>Comment</key>
@@ -15463,6 +15485,17 @@
<key>Value</key>
<string />
</map>
+ <key>WearFolderLimit</key>
+ <map>
+ <key>Comment</key>
+ <string>Limits number of items in the folder that can be replaced/added to current outfit</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>U32</string>
+ <key>Value</key>
+ <integer>125</integer>
+ </map>
<key>EveryoneCopy</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index bd6025feea..e5a90e8a28 100755
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -3712,6 +3712,12 @@ bool LLAgent::teleportCore(bool is_local)
return false;
}
+ // force stand up and stop a sitting animation (if any), see MAINT-3969
+ if (isAgentAvatarValid() && gAgentAvatarp->getParent() && gAgentAvatarp->isSitting())
+ {
+ gAgentAvatarp->getOffObject();
+ }
+
#if 0
// This should not exist. It has been added, removed, added, and now removed again.
// This change needs to come from the simulator. Otherwise, the agent ends up out of
@@ -3887,7 +3893,7 @@ void LLAgent::teleportRequest(
bool look_at_from_camera)
{
LLViewerRegion* regionp = getRegion();
- bool is_local = (region_handle == to_region_handle(getPositionGlobal()));
+ bool is_local = (region_handle == regionp->getHandle());
if(regionp && teleportCore(is_local))
{
LL_INFOS("") << "TeleportLocationRequest: '" << region_handle << "':"
@@ -4054,7 +4060,12 @@ void LLAgent::teleportViaLocationLookAt(const LLVector3d& pos_global)
void LLAgent::doTeleportViaLocationLookAt(const LLVector3d& pos_global)
{
mbTeleportKeepsLookAt = true;
- gAgentCamera.setFocusOnAvatar(FALSE, ANIMATE); // detach camera form avatar, so it keeps direction
+
+ if(!gAgentCamera.isfollowCamLocked())
+ {
+ gAgentCamera.setFocusOnAvatar(FALSE, ANIMATE); // detach camera form avatar, so it keeps direction
+ }
+
U64 region_handle = to_region_handle(pos_global);
LLVector3 pos_local = (LLVector3)(pos_global - from_region_handle(region_handle));
teleportRequest(region_handle, pos_local, getTeleportKeepsLookAt());
diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp
index 7b0496ea45..2356a84688 100755
--- a/indra/newview/llagentcamera.cpp
+++ b/indra/newview/llagentcamera.cpp
@@ -2721,6 +2721,11 @@ void LLAgentCamera::lookAtLastChat()
}
}
+bool LLAgentCamera::isfollowCamLocked()
+{
+ return mFollowCam.getPositionLocked();
+}
+
BOOL LLAgentCamera::setPointAt(EPointAtType target_type, LLViewerObject *object, LLVector3 position)
{
// disallow pointing at attachments and avatars
diff --git a/indra/newview/llagentcamera.h b/indra/newview/llagentcamera.h
index 00fa6ea189..4d0f9a80de 100755
--- a/indra/newview/llagentcamera.h
+++ b/indra/newview/llagentcamera.h
@@ -155,6 +155,7 @@ private:
//--------------------------------------------------------------------
public:
void setUsingFollowCam(bool using_follow_cam);
+ bool isfollowCamLocked();
private:
LLFollowCam mFollowCam; // Ventrella
diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp
index 890fc9a8d9..49fedb8df8 100755
--- a/indra/newview/llagentwearables.cpp
+++ b/indra/newview/llagentwearables.cpp
@@ -1035,6 +1035,7 @@ void LLAgentWearables::setWearableOutfit(const LLInventoryItem::item_array_t& it
if (mismatched == 0)
{
LL_DEBUGS("Avatar") << "no changes, bailing out" << LL_ENDL;
+ mCOFChangeInProgress = false;
return;
}
diff --git a/indra/newview/llaisapi.cpp b/indra/newview/llaisapi.cpp
index da66ea357a..96de15bf75 100755
--- a/indra/newview/llaisapi.cpp
+++ b/indra/newview/llaisapi.cpp
@@ -380,8 +380,15 @@ void AISUpdate::parseMeta(const LLSD& update)
it != cat_ids.end(); ++it)
{
LLViewerInventoryCategory *cat = gInventory.getCategory(*it);
- mCatDescendentDeltas[cat->getParentUUID()]--;
- mObjectsDeletedIds.insert(*it);
+ if(cat)
+ {
+ mCatDescendentDeltas[cat->getParentUUID()]--;
+ mObjectsDeletedIds.insert(*it);
+ }
+ else
+ {
+ LL_WARNS("Inventory") << "removed category not found " << *it << LL_ENDL;
+ }
}
// parse _categories_items_removed -> mObjectsDeletedIds
@@ -392,8 +399,15 @@ void AISUpdate::parseMeta(const LLSD& update)
it != item_ids.end(); ++it)
{
LLViewerInventoryItem *item = gInventory.getItem(*it);
- mCatDescendentDeltas[item->getParentUUID()]--;
- mObjectsDeletedIds.insert(*it);
+ if(item)
+ {
+ mCatDescendentDeltas[item->getParentUUID()]--;
+ mObjectsDeletedIds.insert(*it);
+ }
+ else
+ {
+ LL_WARNS("Inventory") << "removed item not found " << *it << LL_ENDL;
+ }
}
// parse _broken_links_removed -> mObjectsDeletedIds
@@ -403,8 +417,15 @@ void AISUpdate::parseMeta(const LLSD& update)
it != broken_link_ids.end(); ++it)
{
LLViewerInventoryItem *item = gInventory.getItem(*it);
- mCatDescendentDeltas[item->getParentUUID()]--;
- mObjectsDeletedIds.insert(*it);
+ if(item)
+ {
+ mCatDescendentDeltas[item->getParentUUID()]--;
+ mObjectsDeletedIds.insert(*it);
+ }
+ else
+ {
+ LL_WARNS("Inventory") << "broken link not found " << *it << LL_ENDL;
+ }
}
// parse _created_items
@@ -795,7 +816,7 @@ void AISUpdate::doUpdate()
// Since this is a copy of the category *before* the accounting update, above,
// we need to transfer back the updated version/descendent count.
LLViewerInventoryCategory* curr_cat = gInventory.getCategory(new_category->getUUID());
- if (NULL == curr_cat)
+ if (!curr_cat)
{
LL_WARNS("Inventory") << "Failed to update unknown category " << new_category->getUUID() << LL_ENDL;
}
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 9451a30341..29534a4382 100755
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -1710,8 +1710,16 @@ bool LLAppearanceMgr::getCanAddToCOF(const LLUUID& outfit_cat_id)
return false;
}
+ LLInventoryModel::cat_array_t cats;
+ LLInventoryModel::item_array_t items;
LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false);
- return gInventory.hasMatchingDirectDescendent(outfit_cat_id, not_worn);
+ gInventory.collectDescendentsIf(outfit_cat_id,
+ cats,
+ items,
+ LLInventoryModel::EXCLUDE_TRASH,
+ not_worn);
+
+ return items.size() > 0;
}
bool LLAppearanceMgr::getCanReplaceCOF(const LLUUID& outfit_cat_id)
@@ -1729,8 +1737,16 @@ bool LLAppearanceMgr::getCanReplaceCOF(const LLUUID& outfit_cat_id)
}
// Check whether the outfit contains any wearables we aren't wearing already (STORM-702).
- LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ true);
- return gInventory.hasMatchingDirectDescendent(outfit_cat_id, not_worn);
+ LLInventoryModel::cat_array_t cats;
+ LLInventoryModel::item_array_t items;
+ LLFindWearablesEx is_worn(/*is_worn=*/ false, /*include_body_parts=*/ true);
+ gInventory.collectDescendentsIf(outfit_cat_id,
+ cats,
+ items,
+ LLInventoryModel::EXCLUDE_TRASH,
+ is_worn);
+
+ return items.size() > 0;
}
void LLAppearanceMgr::purgeBaseOutfitLink(const LLUUID& category, LLPointer<LLInventoryCallback> cb)
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 24150daea4..3a5008507a 100755
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -3368,11 +3368,11 @@ LLSD LLAppViewer::getViewerInfo() const
// TODO: Implement media plugin version query
info["QT_WEBKIT_VERSION"] = "4.7.1 (version number hard-coded)";
- if (gPacketsIn > 0)
+ S32 packets_in = LLViewerStats::instance().getRecording().getSum(LLStatViewer::PACKETS_IN);
+ if (packets_in > 0)
{
- LLTrace::Recording& last_frame = LLTrace::get_frame_recording().getLastRecording();
- info["PACKETS_LOST"] = last_frame.getSum(LLStatViewer::PACKETS_LOST);
- info["PACKETS_IN"] = last_frame.getSum(LLStatViewer::PACKETS_IN);
+ info["PACKETS_LOST"] = LLViewerStats::instance().getRecording().getSum(LLStatViewer::PACKETS_LOST);
+ info["PACKETS_IN"] = packets_in;
info["PACKETS_PCT"] = 100.f*info["PACKETS_LOST"].asReal() / info["PACKETS_IN"].asReal();
}
diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp
index dad85a016c..8235b13118 100755
--- a/indra/newview/llavataractions.cpp
+++ b/indra/newview/llavataractions.cpp
@@ -143,7 +143,7 @@ void LLAvatarActions::removeFriendsDialog(const uuid_vec_t& ids)
LLAvatarName av_name;
if(LLAvatarNameCache::get(agent_id, &av_name))
{
- args["NAME"] = av_name.getDisplayName();
+ args["NAME"] = av_name.getCompleteName();
}
msgType = "RemoveFromFriends";
@@ -381,7 +381,7 @@ void LLAvatarActions::showOnMap(const LLUUID& id)
}
gFloaterWorldMap->trackAvatar(id, av_name.getDisplayName());
- LLFloaterReg::showInstance("world_map");
+ LLFloaterReg::showInstance("world_map", "center");
}
// static
@@ -533,6 +533,14 @@ void LLAvatarActions::share(const LLUUID& id)
{
// we should always get here, but check to verify anyways
LLIMModel::getInstance()->addMessage(session_id, SYSTEM_FROM, LLUUID::null, LLTrans::getString("share_alert"), false);
+
+ LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::findConversation(session_id);
+ if (session_floater && session_floater->isMinimized())
+ {
+ session_floater->setMinimized(false);
+ }
+ LLFloaterIMContainer *im_container = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container");
+ im_container->selectConversationPair(session_id, true);
}
}
diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp
index 1b3cfb5ebd..6c5b5be720 100755
--- a/indra/newview/llfavoritesbar.cpp
+++ b/indra/newview/llfavoritesbar.cpp
@@ -40,7 +40,6 @@
#include "llagent.h"
#include "llavatarnamecache.h"
#include "llclipboard.h"
-#include "llclipboard.h"
#include "llinventorybridge.h"
#include "llinventoryfunctions.h"
#include "llfloatersidepanelcontainer.h"
@@ -51,7 +50,7 @@
#include "lltoggleablemenu.h"
#include "llviewerinventory.h"
#include "llviewermenu.h"
-#include "llviewermenu.h"
+#include "llviewernetwork.h"
#include "lltooldraganddrop.h"
#include "llsdserialize.h"
@@ -327,6 +326,7 @@ public:
gInventory.updateItem(item);
gInventory.notifyObservers();
+ LLFavoritesOrderStorage::instance().saveOrder();
}
LLView::getWindow()->setCursor(UI_CURSOR_ARROW);
@@ -1452,6 +1452,18 @@ void LLFavoritesOrderStorage::getSLURL(const LLUUID& asset_id)
void LLFavoritesOrderStorage::destroyClass()
{
LLFavoritesOrderStorage::instance().cleanup();
+
+
+ std::string old_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml");
+ llifstream file;
+ file.open(old_filename);
+ if (file.is_open())
+ {
+ std::string new_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites_" + LLGridManager::getInstance()->getGrid() + ".xml");
+ LLFile::copy(old_filename,new_filename);
+ LLFile::remove(old_filename);
+ }
+
if (gSavedPerAccountSettings.getBOOL("ShowFavoritesOnLogin"))
{
LLFavoritesOrderStorage::instance().saveFavoritesSLURLs();
@@ -1498,7 +1510,7 @@ void LLFavoritesOrderStorage::saveFavoritesSLURLs()
return;
}
- std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml");
+ std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites_" + LLGridManager::getInstance()->getGrid() + ".xml");
llifstream in_file;
in_file.open(filename);
LLSD fav_llsd;
@@ -1546,7 +1558,7 @@ void LLFavoritesOrderStorage::saveFavoritesSLURLs()
void LLFavoritesOrderStorage::removeFavoritesRecordOfUser()
{
- std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml");
+ std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites_" + LLGridManager::getInstance()->getGrid() + ".xml");
LLSD fav_llsd;
llifstream file;
file.open(filename);
@@ -1641,6 +1653,16 @@ void LLFavoritesOrderStorage::cleanup()
mSortIndexes.swap(aTempMap);
}
+void LLFavoritesOrderStorage::saveOrder()
+{
+ LLInventoryModel::cat_array_t cats;
+ LLInventoryModel::item_array_t items;
+ LLIsType is_type(LLAssetType::AT_LANDMARK);
+ LLUUID favorites_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_FAVORITE);
+ gInventory.collectDescendentsIf(favorites_id, cats, items, LLInventoryModel::EXCLUDE_TRASH, is_type);
+ saveItemsOrder(items);
+}
+
void LLFavoritesOrderStorage::saveItemsOrder( const LLInventoryModel::item_array_t& items )
{
int sortField = 0;
diff --git a/indra/newview/llfavoritesbar.h b/indra/newview/llfavoritesbar.h
index 211d3c4ce3..5ca1d3e8ed 100755
--- a/indra/newview/llfavoritesbar.h
+++ b/indra/newview/llfavoritesbar.h
@@ -203,6 +203,8 @@ public:
// Is used to save order for Favorites folder.
void saveItemsOrder(const LLInventoryModel::item_array_t& items);
+ void saveOrder();
+
void rearrangeFavoriteLandmarks(const LLUUID& source_item_id, const LLUUID& target_item_id);
/**
diff --git a/indra/newview/llfloateravatar.cpp b/indra/newview/llfloateravatar.cpp
index bdc5b581a9..31adf5b61e 100755
--- a/indra/newview/llfloateravatar.cpp
+++ b/indra/newview/llfloateravatar.cpp
@@ -34,6 +34,7 @@
#include "llfloateravatar.h"
#include "lluictrlfactory.h"
+#include "llmediactrl.h"
LLFloaterAvatar::LLFloaterAvatar(const LLSD& key)
@@ -43,6 +44,13 @@ LLFloaterAvatar::LLFloaterAvatar(const LLSD& key)
LLFloaterAvatar::~LLFloaterAvatar()
{
+ LLMediaCtrl* avatar_picker = findChild<LLMediaCtrl>("avatar_picker_contents");
+ if (avatar_picker)
+ {
+ avatar_picker->navigateStop();
+ avatar_picker->clearCache(); //images are reloading each time already
+ avatar_picker->unloadMediaSource();
+ }
}
BOOL LLFloaterAvatar::postBuild()
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index be8195b5ee..ab57e8c170 100755
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -229,7 +229,9 @@ BOOL LLFloaterIMContainer::postBuild()
mStubCollapseBtn = getChild<LLButton>("stub_collapse_btn");
mStubCollapseBtn->setClickedCallback(boost::bind(&LLFloaterIMContainer::onStubCollapseButtonClicked, this));
mSpeakBtn = getChild<LLButton>("speak_btn");
- mSpeakBtn->setClickedCallback(boost::bind(&LLFloaterIMContainer::onSpeakButtonClicked, this));
+
+ mSpeakBtn->setMouseDownCallback(boost::bind(&LLFloaterIMContainer::onSpeakButtonPressed, this));
+ mSpeakBtn->setMouseUpCallback(boost::bind(&LLFloaterIMContainer::onSpeakButtonReleased, this));
childSetAction("add_btn", boost::bind(&LLFloaterIMContainer::onAddButtonClicked, this));
@@ -352,11 +354,18 @@ void LLFloaterIMContainer::onStubCollapseButtonClicked()
collapseMessagesPane(true);
}
-void LLFloaterIMContainer::onSpeakButtonClicked()
+void LLFloaterIMContainer::onSpeakButtonPressed()
+{
+ LLVoiceClient::getInstance()->inputUserControlState(true);
+ updateSpeakBtnState();
+}
+
+void LLFloaterIMContainer::onSpeakButtonReleased()
{
- LLAgent::toggleMicrophone("speak");
+ LLVoiceClient::getInstance()->inputUserControlState(false);
updateSpeakBtnState();
}
+
void LLFloaterIMContainer::onExpandCollapseButtonClicked()
{
if (mConversationsPane->isCollapsed() && mMessagesPane->isCollapsed()
@@ -1401,6 +1410,10 @@ bool LLFloaterIMContainer::enableContextMenuItem(const std::string& item, uuid_v
{
return is_single_select && LLAvatarActions::canCall();
}
+ else if ("can_open_voice_conversation" == item)
+ {
+ return is_single_select && LLAvatarActions::canCall();
+ }
else if ("can_zoom_in" == item)
{
return is_single_select && gObjectList.findObject(single_id);
diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h
index 5ea9fd399b..f21c0b9947 100755
--- a/indra/newview/llfloaterimcontainer.h
+++ b/indra/newview/llfloaterimcontainer.h
@@ -135,7 +135,8 @@ private:
void onExpandCollapseButtonClicked();
void onStubCollapseButtonClicked();
void processParticipantsStyleUpdate();
- void onSpeakButtonClicked();
+ void onSpeakButtonPressed();
+ void onSpeakButtonReleased();
/*virtual*/ void onClickCloseBtn(bool app_quitting = false);
/*virtual*/ void closeHostedFloater();
diff --git a/indra/newview/llfloaterimsession.cpp b/indra/newview/llfloaterimsession.cpp
index 7852a1f7b3..9def253ba5 100755
--- a/indra/newview/llfloaterimsession.cpp
+++ b/indra/newview/llfloaterimsession.cpp
@@ -927,8 +927,7 @@ void LLFloaterIMSession::onInputEditorFocusReceived( LLFocusableElement* caller,
// Allow enabling the LLFloaterIMSession input editor only if session can accept text
LLIMModel::LLIMSession* im_session =
LLIMModel::instance().findIMSession(self->mSessionID);
- //TODO: While disabled lllineeditor can receive focus we need to check if it is enabled (EK)
- if( im_session && im_session->mTextIMPossible && self->mInputEditor->getEnabled())
+ if( im_session && im_session->mTextIMPossible && !self->mInputEditor->getReadOnly())
{
//in disconnected state IM input editor should be disabled
self->mInputEditor->setEnabled(!gDisconnected);
diff --git a/indra/newview/llfloaterlagmeter.cpp b/indra/newview/llfloaterlagmeter.cpp
new file mode 100644
index 0000000000..f72f2631a1
--- /dev/null
+++ b/indra/newview/llfloaterlagmeter.cpp
@@ -0,0 +1,378 @@
+/**
+ * @file llfloaterlagmeter.cpp
+ * @brief The "Lag-o-Meter" floater used to tell users what is causing lag.
+ *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, 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 "llfloaterlagmeter.h"
+
+#include "lluictrlfactory.h"
+#include "llviewerstats.h"
+#include "llviewertexture.h"
+#include "llviewercontrol.h"
+#include "llappviewer.h"
+
+#include "lltexturefetch.h"
+
+#include "llbutton.h"
+#include "llfocusmgr.h"
+#include "lltextbox.h"
+
+const std::string LAG_CRITICAL_IMAGE_NAME = "lag_status_critical.tga";
+const std::string LAG_WARNING_IMAGE_NAME = "lag_status_warning.tga";
+const std::string LAG_GOOD_IMAGE_NAME = "lag_status_good.tga";
+
+LLFloaterLagMeter::LLFloaterLagMeter(const LLSD& key)
+ : LLFloater(key)
+{
+ mCommitCallbackRegistrar.add("LagMeter.ClickShrink", boost::bind(&LLFloaterLagMeter::onClickShrink, this));
+}
+
+BOOL LLFloaterLagMeter::postBuild()
+{
+ // Don't let this window take keyboard focus -- it's confusing to
+ // lose arrow-key driving when testing lag.
+ setIsChrome(TRUE);
+
+ // were we shrunk last time?
+ if (isShrunk())
+ {
+ onClickShrink();
+ }
+
+ mClientButton = getChild<LLButton>("client_lagmeter");
+ mClientText = getChild<LLTextBox>("client_text");
+ mClientCause = getChild<LLTextBox>("client_lag_cause");
+
+ mNetworkButton = getChild<LLButton>("network_lagmeter");
+ mNetworkText = getChild<LLTextBox>("network_text");
+ mNetworkCause = getChild<LLTextBox>("network_lag_cause");
+
+ mServerButton = getChild<LLButton>("server_lagmeter");
+ mServerText = getChild<LLTextBox>("server_text");
+ mServerCause = getChild<LLTextBox>("server_lag_cause");
+
+ std::string config_string = getString("client_frame_rate_critical_fps", mStringArgs);
+ mClientFrameTimeCritical = F32Seconds(1.0f / (float)atof( config_string.c_str() ));
+ config_string = getString("client_frame_rate_warning_fps", mStringArgs);
+ mClientFrameTimeWarning = F32Seconds(1.0f / (float)atof( config_string.c_str() ));
+
+ config_string = getString("network_packet_loss_critical_pct", mStringArgs);
+ mNetworkPacketLossCritical = F32Percent((float)atof( config_string.c_str() ));
+ config_string = getString("network_packet_loss_warning_pct", mStringArgs);
+ mNetworkPacketLossWarning = F32Percent((float)atof( config_string.c_str() ));
+
+ config_string = getString("network_ping_critical_ms", mStringArgs);
+ mNetworkPingCritical = F32Milliseconds((float)atof( config_string.c_str() ));
+ config_string = getString("network_ping_warning_ms", mStringArgs);
+ mNetworkPingWarning = F32Milliseconds((float)atof( config_string.c_str() ));
+ config_string = getString("server_frame_rate_critical_fps", mStringArgs);
+
+ mServerFrameTimeCritical = F32Seconds(1.0f / (float)atof( config_string.c_str() ));
+ config_string = getString("server_frame_rate_warning_fps", mStringArgs);
+ mServerFrameTimeWarning = F32Seconds(1.0f / (float)atof( config_string.c_str() ));
+ config_string = getString("server_single_process_max_time_ms", mStringArgs);
+ mServerSingleProcessMaxTime = F32Seconds((float)atof( config_string.c_str() ));
+
+// mShrunk = false;
+ config_string = getString("max_width_px", mStringArgs);
+ mMaxWidth = atoi( config_string.c_str() );
+ config_string = getString("min_width_px", mStringArgs);
+ mMinWidth = atoi( config_string.c_str() );
+
+ mStringArgs["[CLIENT_FRAME_RATE_CRITICAL]"] = getString("client_frame_rate_critical_fps");
+ mStringArgs["[CLIENT_FRAME_RATE_WARNING]"] = getString("client_frame_rate_warning_fps");
+
+ mStringArgs["[NETWORK_PACKET_LOSS_CRITICAL]"] = getString("network_packet_loss_critical_pct");
+ mStringArgs["[NETWORK_PACKET_LOSS_WARNING]"] = getString("network_packet_loss_warning_pct");
+
+ mStringArgs["[NETWORK_PING_CRITICAL]"] = getString("network_ping_critical_ms");
+ mStringArgs["[NETWORK_PING_WARNING]"] = getString("network_ping_warning_ms");
+
+ mStringArgs["[SERVER_FRAME_RATE_CRITICAL]"] = getString("server_frame_rate_critical_fps");
+ mStringArgs["[SERVER_FRAME_RATE_WARNING]"] = getString("server_frame_rate_warning_fps");
+
+// childSetAction("minimize", onClickShrink, this);
+ updateControls(isShrunk()); // if expanded append colon to the labels (EXT-4079)
+
+ return TRUE;
+}
+LLFloaterLagMeter::~LLFloaterLagMeter()
+{
+ // save shrunk status for next time
+// gSavedSettings.setBOOL("LagMeterShrunk", mShrunk);
+ // expand so we save the large window rectangle
+ if (isShrunk())
+ {
+ onClickShrink();
+ }
+}
+
+void LLFloaterLagMeter::draw()
+{
+ determineClient();
+ determineNetwork();
+ determineServer();
+
+ LLFloater::draw();
+}
+
+void LLFloaterLagMeter::determineClient()
+{
+ F32Milliseconds client_frame_time = LLTrace::get_frame_recording().getPeriodMean(LLStatViewer::FRAME_STACKTIME);
+ bool find_cause = false;
+
+ if (!gFocusMgr.getAppHasFocus())
+ {
+ mClientButton->setImageUnselected(LLUI::getUIImage(LAG_GOOD_IMAGE_NAME));
+ mClientText->setText( getString("client_frame_time_window_bg_msg", mStringArgs) );
+ mClientCause->setText( LLStringUtil::null );
+ }
+ else if(client_frame_time >= mClientFrameTimeCritical)
+ {
+ mClientButton->setImageUnselected(LLUI::getUIImage(LAG_CRITICAL_IMAGE_NAME));
+ mClientText->setText( getString("client_frame_time_critical_msg", mStringArgs) );
+ find_cause = true;
+ }
+ else if(client_frame_time >= mClientFrameTimeWarning)
+ {
+ mClientButton->setImageUnselected(LLUI::getUIImage(LAG_WARNING_IMAGE_NAME));
+ mClientText->setText( getString("client_frame_time_warning_msg", mStringArgs) );
+ find_cause = true;
+ }
+ else
+ {
+ mClientButton->setImageUnselected(LLUI::getUIImage(LAG_GOOD_IMAGE_NAME));
+ mClientText->setText( getString("client_frame_time_normal_msg", mStringArgs) );
+ mClientCause->setText( LLStringUtil::null );
+ }
+
+ if(find_cause)
+ {
+ if(gSavedSettings.getF32("RenderFarClip") > 128)
+ {
+ mClientCause->setText( getString("client_draw_distance_cause_msg", mStringArgs) );
+ }
+ else if(LLAppViewer::instance()->getTextureFetch()->getNumRequests() > 2)
+ {
+ mClientCause->setText( getString("client_texture_loading_cause_msg", mStringArgs) );
+ }
+ else if(LLViewerTexture::sBoundTextureMemory > LLViewerTexture::sMaxBoundTextureMemory)
+ {
+ mClientCause->setText( getString("client_texture_memory_cause_msg", mStringArgs) );
+ }
+ else
+ {
+ mClientCause->setText( getString("client_complex_objects_cause_msg", mStringArgs) );
+ }
+ }
+}
+
+void LLFloaterLagMeter::determineNetwork()
+{
+ LLTrace::PeriodicRecording& frame_recording = LLTrace::get_frame_recording();
+ F32Percent packet_loss = frame_recording.getPeriodMean(LLStatViewer::PACKETS_LOST_PERCENT);
+ F32Milliseconds ping_time = frame_recording.getPeriodMean(LLStatViewer::SIM_PING);
+ bool find_cause_loss = false;
+ bool find_cause_ping = false;
+
+ // *FIXME: We can't blame a large ping time on anything in
+ // particular if the frame rate is low, because a low frame
+ // rate is a sure recipe for bad ping times right now until
+ // the network handlers are de-synched from the rendering.
+ F32Milliseconds client_frame_time = frame_recording.getPeriodMean(LLStatViewer::FRAME_STACKTIME);
+
+ if(packet_loss >= mNetworkPacketLossCritical)
+ {
+ mNetworkButton->setImageUnselected(LLUI::getUIImage(LAG_CRITICAL_IMAGE_NAME));
+ mNetworkText->setText( getString("network_packet_loss_critical_msg", mStringArgs) );
+ find_cause_loss = true;
+ }
+ else if(ping_time >= mNetworkPingCritical)
+ {
+ mNetworkButton->setImageUnselected(LLUI::getUIImage(LAG_CRITICAL_IMAGE_NAME));
+ if (client_frame_time < mNetworkPingCritical)
+ {
+ mNetworkText->setText( getString("network_ping_critical_msg", mStringArgs) );
+ find_cause_ping = true;
+ }
+ }
+ else if(packet_loss >= mNetworkPacketLossWarning)
+ {
+ mNetworkButton->setImageUnselected(LLUI::getUIImage(LAG_WARNING_IMAGE_NAME));
+ mNetworkText->setText( getString("network_packet_loss_warning_msg", mStringArgs) );
+ find_cause_loss = true;
+ }
+ else if(ping_time >= mNetworkPingWarning)
+ {
+ mNetworkButton->setImageUnselected(LLUI::getUIImage(LAG_WARNING_IMAGE_NAME));
+ if (client_frame_time < mNetworkPingWarning)
+ {
+ mNetworkText->setText( getString("network_ping_warning_msg", mStringArgs) );
+ find_cause_ping = true;
+ }
+ }
+ else
+ {
+ mNetworkButton->setImageUnselected(LLUI::getUIImage(LAG_GOOD_IMAGE_NAME));
+ mNetworkText->setText( getString("network_performance_normal_msg", mStringArgs) );
+ }
+
+ if(find_cause_loss)
+ {
+ mNetworkCause->setText( getString("network_packet_loss_cause_msg", mStringArgs) );
+ }
+ else if(find_cause_ping)
+ {
+ mNetworkCause->setText( getString("network_ping_cause_msg", mStringArgs) );
+ }
+ else
+ {
+ mNetworkCause->setText( LLStringUtil::null );
+ }
+}
+
+void LLFloaterLagMeter::determineServer()
+{
+ F32Milliseconds sim_frame_time = LLTrace::get_frame_recording().getLastRecording().getLastValue(LLStatViewer::SIM_FRAME_TIME);
+ bool find_cause = false;
+
+ if(sim_frame_time >= mServerFrameTimeCritical)
+ {
+ mServerButton->setImageUnselected(LLUI::getUIImage(LAG_CRITICAL_IMAGE_NAME));
+ mServerText->setText( getString("server_frame_time_critical_msg", mStringArgs) );
+ find_cause = true;
+ }
+ else if(sim_frame_time >= mServerFrameTimeWarning)
+ {
+ mServerButton->setImageUnselected(LLUI::getUIImage(LAG_WARNING_IMAGE_NAME));
+ mServerText->setText( getString("server_frame_time_warning_msg", mStringArgs) );
+ find_cause = true;
+ }
+ else
+ {
+ mServerButton->setImageUnselected(LLUI::getUIImage(LAG_GOOD_IMAGE_NAME));
+ mServerText->setText( getString("server_frame_time_normal_msg", mStringArgs) );
+ mServerCause->setText( LLStringUtil::null );
+ }
+
+ if(find_cause)
+ {
+ LLTrace::Recording& last_recording = LLTrace::get_frame_recording().getLastRecording();
+
+ if(last_recording.getLastValue(LLStatViewer::SIM_PHYSICS_TIME) > mServerSingleProcessMaxTime)
+ {
+ mServerCause->setText( getString("server_physics_cause_msg", mStringArgs) );
+ }
+ else if(last_recording.getLastValue(LLStatViewer::SIM_SCRIPTS_TIME) > mServerSingleProcessMaxTime)
+ {
+ mServerCause->setText( getString("server_scripts_cause_msg", mStringArgs) );
+ }
+ else if(last_recording.getLastValue(LLStatViewer::SIM_NET_TIME) > mServerSingleProcessMaxTime)
+ {
+ mServerCause->setText( getString("server_net_cause_msg", mStringArgs) );
+ }
+ else if(last_recording.getLastValue(LLStatViewer::SIM_AGENTS_TIME) > mServerSingleProcessMaxTime)
+ {
+ mServerCause->setText( getString("server_agent_cause_msg", mStringArgs) );
+ }
+ else if(last_recording.getLastValue(LLStatViewer::SIM_IMAGES_TIME) > mServerSingleProcessMaxTime)
+ {
+ mServerCause->setText( getString("server_images_cause_msg", mStringArgs) );
+ }
+ else
+ {
+ mServerCause->setText( getString("server_generic_cause_msg", mStringArgs) );
+ }
+ }
+}
+
+void LLFloaterLagMeter::updateControls(bool shrink)
+{
+// LLFloaterLagMeter * self = (LLFloaterLagMeter*)data;
+
+ LLButton * button = getChild<LLButton>("minimize");
+ S32 delta_width = mMaxWidth -mMinWidth;
+ LLRect r = getRect();
+
+ if(!shrink)
+ {
+ setTitle(getString("max_title_msg", mStringArgs) );
+ // make left edge appear to expand
+ r.translate(-delta_width, 0);
+ setRect(r);
+ reshape(mMaxWidth, getRect().getHeight());
+
+ getChild<LLUICtrl>("client")->setValue(getString("client_text_msg", mStringArgs) + ":");
+ getChild<LLUICtrl>("network")->setValue(getString("network_text_msg",mStringArgs) + ":");
+ getChild<LLUICtrl>("server")->setValue(getString("server_text_msg", mStringArgs) + ":");
+
+ // usually "<<"
+ button->setLabel( getString("smaller_label", mStringArgs) );
+ }
+ else
+ {
+ setTitle( getString("min_title_msg", mStringArgs) );
+ // make left edge appear to collapse
+ r.translate(delta_width, 0);
+ setRect(r);
+ reshape(mMinWidth, getRect().getHeight());
+
+ getChild<LLUICtrl>("client")->setValue(getString("client_text_msg", mStringArgs) );
+ getChild<LLUICtrl>("network")->setValue(getString("network_text_msg",mStringArgs) );
+ getChild<LLUICtrl>("server")->setValue(getString("server_text_msg", mStringArgs) );
+
+ // usually ">>"
+ button->setLabel( getString("bigger_label", mStringArgs) );
+ }
+ // Don't put keyboard focus on the button
+ button->setFocus(FALSE);
+
+// self->mClientText->setVisible(self->mShrunk);
+// self->mClientCause->setVisible(self->mShrunk);
+// self->getChildView("client_help")->setVisible( self->mShrunk);
+
+// self->mNetworkText->setVisible(self->mShrunk);
+// self->mNetworkCause->setVisible(self->mShrunk);
+// self->getChildView("network_help")->setVisible( self->mShrunk);
+
+// self->mServerText->setVisible(self->mShrunk);
+// self->mServerCause->setVisible(self->mShrunk);
+// self->getChildView("server_help")->setVisible( self->mShrunk);
+
+// self->mShrunk = !self->mShrunk;
+}
+
+BOOL LLFloaterLagMeter::isShrunk()
+{
+ return gSavedSettings.getBOOL("LagMeterShrunk");
+}
+
+void LLFloaterLagMeter::onClickShrink() // toggle "LagMeterShrunk"
+{
+ bool shrunk = isShrunk();
+ updateControls(!shrunk);
+ gSavedSettings.setBOOL("LagMeterShrunk", !shrunk);
+}
diff --git a/indra/newview/llfloaterlagmeter.h b/indra/newview/llfloaterlagmeter.h
new file mode 100644
index 0000000000..929ea40629
--- /dev/null
+++ b/indra/newview/llfloaterlagmeter.h
@@ -0,0 +1,80 @@
+/**
+ * @file llfloaterlagmeter.h
+ * @brief The "Lag-o-Meter" floater used to tell users what is causing lag.
+ *
+ * $LicenseInfo:firstyear=2007&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, 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$
+ */
+
+#ifndef LLFLOATERLAGMETER_H
+#define LLFLOATERLAGMETER_H
+
+#include "llfloater.h"
+
+class LLTextBox;
+
+class LLFloaterLagMeter : public LLFloater
+{
+ friend class LLFloaterReg;
+
+public:
+ /*virtual*/ void draw();
+ /*virtual*/ BOOL postBuild();
+private:
+
+ LLFloaterLagMeter(const LLSD& key);
+ /*virtual*/ ~LLFloaterLagMeter();
+ void determineClient();
+ void determineNetwork();
+ void determineServer();
+ void updateControls(bool shrink);
+ BOOL isShrunk();
+
+ void onClickShrink();
+
+ bool mShrunk;
+ S32 mMaxWidth, mMinWidth;
+
+ F32Milliseconds mClientFrameTimeCritical;
+ F32Milliseconds mClientFrameTimeWarning;
+ LLButton* mClientButton;
+ LLTextBox* mClientText;
+ LLTextBox* mClientCause;
+
+ F32Percent mNetworkPacketLossCritical;
+ F32Percent mNetworkPacketLossWarning;
+ F32Milliseconds mNetworkPingCritical;
+ F32Milliseconds mNetworkPingWarning;
+ LLButton* mNetworkButton;
+ LLTextBox* mNetworkText;
+ LLTextBox* mNetworkCause;
+
+ F32Milliseconds mServerFrameTimeCritical;
+ F32Milliseconds mServerFrameTimeWarning;
+ F32Milliseconds mServerSingleProcessMaxTime;
+ LLButton* mServerButton;
+ LLTextBox* mServerText;
+ LLTextBox* mServerCause;
+
+ LLStringUtil::format_map_t mStringArgs;
+};
+
+#endif
diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp
index d01c089eaf..7621c35ed2 100755
--- a/indra/newview/llfloaterland.cpp
+++ b/indra/newview/llfloaterland.cpp
@@ -2781,10 +2781,16 @@ void LLPanelLandAccess::callbackAvatarCBAccess(const uuid_vec_t& ids)
{
LLUUID id = ids[0];
LLParcel* parcel = mParcel->getParcel();
- if (parcel)
+ if (parcel && parcel->addToAccessList(id, 0))
{
- parcel->addToAccessList(id, 0);
- LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(AL_ACCESS);
+ U32 lists_to_update = AL_ACCESS;
+ // agent was successfully added to access list
+ // but we also need to check ban list to ensure that agent will not be in two lists simultaneously
+ if(parcel->removeFromBanList(id))
+ {
+ lists_to_update |= AL_BAN;
+ }
+ LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(lists_to_update);
refresh();
}
}
@@ -2833,10 +2839,16 @@ void LLPanelLandAccess::callbackAvatarCBBanned(const uuid_vec_t& ids)
{
LLUUID id = ids[0];
LLParcel* parcel = mParcel->getParcel();
- if (parcel)
+ if (parcel && parcel->addToBanList(id, 0))
{
- parcel->addToBanList(id, 0);
- LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(AL_BAN);
+ U32 lists_to_update = AL_BAN;
+ // agent was successfully added to ban list
+ // but we also need to check access list to ensure that agent will not be in two lists simultaneously
+ if (parcel->removeFromAccessList(id))
+ {
+ lists_to_update |= AL_ACCESS;
+ }
+ LLViewerParcelMgr::getInstance()->sendParcelAccessListUpdate(lists_to_update);
refresh();
}
}
diff --git a/indra/newview/llfloaternotificationsconsole.cpp b/indra/newview/llfloaternotificationsconsole.cpp
index c21e4ff7e8..fd03efa061 100755
--- a/indra/newview/llfloaternotificationsconsole.cpp
+++ b/indra/newview/llfloaternotificationsconsole.cpp
@@ -41,6 +41,7 @@ class LLNotificationChannelPanel : public LLLayoutPanel
{
public:
LLNotificationChannelPanel(const Params& p);
+ ~LLNotificationChannelPanel();
BOOL postBuild();
private:
@@ -57,6 +58,20 @@ LLNotificationChannelPanel::LLNotificationChannelPanel(const LLNotificationChann
buildFromFile( "panel_notifications_channel.xml");
}
+LLNotificationChannelPanel::~LLNotificationChannelPanel()
+{
+ // Userdata for all records is a LLNotification* we need to clean up
+ std::vector<LLScrollListItem*> data_list = getChild<LLScrollListCtrl>("notifications_list")->getAllData();
+ std::vector<LLScrollListItem*>::iterator data_itor;
+ for (data_itor = data_list.begin(); data_itor != data_list.end(); ++data_itor)
+ {
+ LLScrollListItem* item = *data_itor;
+ LLNotification* notification = (LLNotification*)item->getUserdata();
+ delete notification;
+ notification = NULL;
+ }
+}
+
BOOL LLNotificationChannelPanel::postBuild()
{
LLButton* header_button = getChild<LLButton>("header");
@@ -124,7 +139,7 @@ bool LLNotificationChannelPanel::update(const LLSD& payload)
row["columns"][2]["type"] = "date";
LLScrollListItem* sli = getChild<LLScrollListCtrl>("notifications_list")->addElement(row);
- sli->setUserdata(&(*notification));
+ sli->setUserdata(new LLNotification(notification->asLLSD()));
}
return false;
diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp
index c5248719e9..aee20ff706 100755
--- a/indra/newview/llfloatersidepanelcontainer.cpp
+++ b/indra/newview/llfloatersidepanelcontainer.cpp
@@ -57,7 +57,7 @@ void LLFloaterSidePanelContainer::onOpen(const LLSD& key)
getChild<LLPanel>(sMainPanelName)->onOpen(key);
}
-void LLFloaterSidePanelContainer::onClickCloseBtn(bool)
+void LLFloaterSidePanelContainer::closeFloater(bool app_quitting)
{
LLPanelOutfitEdit* panel_outfit_edit =
dynamic_cast<LLPanelOutfitEdit*>(LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit"));
@@ -75,7 +75,7 @@ void LLFloaterSidePanelContainer::onClickCloseBtn(bool)
}
}
- LLFloater::onClickCloseBtn();
+ LLFloater::closeFloater(app_quitting);
}
LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_name, const LLSD& params)
diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h
index 13b17e8867..d7ecd52e57 100755
--- a/indra/newview/llfloatersidepanelcontainer.h
+++ b/indra/newview/llfloatersidepanelcontainer.h
@@ -51,7 +51,7 @@ public:
/*virtual*/ void onOpen(const LLSD& key);
- /*virtual*/ void onClickCloseBtn(bool app_quitting = false);
+ /*virtual*/ void closeFloater(bool app_quitting = false);
LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params);
diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp
index bd5d2207b4..7477b02867 100755
--- a/indra/newview/llfloatertools.cpp
+++ b/indra/newview/llfloatertools.cpp
@@ -888,6 +888,9 @@ void LLFloaterTools::onClose(bool app_quitting)
// hide the advanced object weights floater
LLFloaterReg::hideInstance("object_weights");
+
+ // prepare content for next call
+ mPanelContents->clearContents();
}
void click_popup_info(void*)
diff --git a/indra/newview/llfloaterurlentry.cpp b/indra/newview/llfloaterurlentry.cpp
index e26f1e9ea5..e02e8eeb5a 100755
--- a/indra/newview/llfloaterurlentry.cpp
+++ b/indra/newview/llfloaterurlentry.cpp
@@ -204,6 +204,10 @@ void LLFloaterURLEntry::onBtnOK( void* userdata )
LLURLHistory::addURL("parcel", media_url);
}
+ // show progress bar here?
+ getWindow()->incBusyCount();
+ self->getChildView("loading_label")->setVisible( true);
+
// leading whitespace causes problems with the MIME-type detection so strip it
LLStringUtil::trim( media_url );
@@ -233,10 +237,6 @@ void LLFloaterURLEntry::onBtnOK( void* userdata )
self->getChildView("ok_btn")->setEnabled(false);
self->getChildView("cancel_btn")->setEnabled(false);
self->getChildView("media_entry")->setEnabled(false);
-
- // show progress bar here?
- getWindow()->incBusyCount();
- self->getChildView("loading_label")->setVisible( true);
}
// static
diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp
index 7f599073d5..3f3d87b564 100755
--- a/indra/newview/llfloaterwebcontent.cpp
+++ b/indra/newview/llfloaterwebcontent.cpp
@@ -293,7 +293,7 @@ void LLFloaterWebContent::onOpen(const LLSD& key)
void LLFloaterWebContent::onClose(bool app_quitting)
{
// If we close the web browsing window showing the facebook login, we need to signal to this object that the connection will not happen
- LLFloater* fbc_web = LLFloaterReg::getInstance("fbc_web");
+ LLFloater* fbc_web = LLFloaterReg::findInstance("fbc_web");
if (fbc_web == this)
{
if (!LLFacebookConnect::instance().isConnected())
diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp
index 7339398fa5..7615c12043 100755
--- a/indra/newview/llfolderviewmodelinventory.cpp
+++ b/indra/newview/llfolderviewmodelinventory.cpp
@@ -133,9 +133,9 @@ void LLFolderViewModelItemInventory::setPassedFilter(bool passed, S32 filter_gen
bool before = mPrevPassedAllFilters;
mPrevPassedAllFilters = passedFilter(filter_generation);
- if (before != mPrevPassedAllFilters)
+ if (before != mPrevPassedAllFilters)
{
- // Need to rearrange the folder if the filtered state of the item changed
+ // Need to rearrange the folder if the filtered state of the item changed
LLFolderViewFolder* parent_folder = mFolderViewItem->getParentFolder();
if (parent_folder)
{
diff --git a/indra/newview/llgesturemgr.cpp b/indra/newview/llgesturemgr.cpp
index b15556d73d..119872ec29 100755
--- a/indra/newview/llgesturemgr.cpp
+++ b/indra/newview/llgesturemgr.cpp
@@ -1406,7 +1406,7 @@ BOOL LLGestureMgr::matchPrefix(const std::string& in_str, std::string* out_str)
}
if (rest_of_match.compare("") == 0)
{
- return FALSE;
+ return TRUE;
}
if (buf.compare("") != 0)
{
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 87335cd5e6..33e557cddd 100755
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -103,6 +103,7 @@ bool move_task_inventory_callback(const LLSD& notification, const LLSD& response
bool confirm_attachment_rez(const LLSD& notification, const LLSD& response);
void teleport_via_landmark(const LLUUID& asset_id);
static BOOL can_move_to_outfit(LLInventoryItem* inv_item, BOOL move_is_into_current_outfit);
+static BOOL can_move_to_landmarks(LLInventoryItem* inv_item);
static bool check_category(LLInventoryModel* model,
const LLUUID& cat_id,
LLInventoryPanel* active_panel,
@@ -2216,13 +2217,18 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
&& (LLToolDragAndDrop::SOURCE_AGENT == source);
BOOL accept = FALSE;
+ U64 filter_types = filter->getFilterTypes();
+ BOOL use_filter = filter_types && (filter_types&LLInventoryFilter::FILTERTYPE_DATE || (filter_types&LLInventoryFilter::FILTERTYPE_OBJECT)==0);
+
if (is_agent_inventory)
{
const LLUUID &trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH, false);
const LLUUID &landmarks_id = model->findCategoryUUIDForType(LLFolderType::FT_LANDMARK, false);
+ const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
const BOOL move_is_into_trash = (mUUID == trash_id) || model->isObjectDescendentOf(mUUID, trash_id);
- const BOOL move_is_into_outfit = getCategory() && (getCategory()->getPreferredType() == LLFolderType::FT_OUTFIT);
+ const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id);
+ const BOOL move_is_into_outfit = move_is_into_my_outfits || (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
const BOOL move_is_into_landmarks = (mUUID == landmarks_id) || model->isObjectDescendentOf(mUUID, landmarks_id);
//--------------------------------------------------------------------------------
@@ -2273,6 +2279,29 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
}
}
}
+ U32 max_items_to_wear = gSavedSettings.getU32("WearFolderLimit");
+ if (is_movable
+ && move_is_into_current_outfit
+ && descendent_items.size() > max_items_to_wear)
+ {
+ LLInventoryModel::cat_array_t cats;
+ LLInventoryModel::item_array_t items;
+ LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false);
+ gInventory.collectDescendentsIf(cat_id,
+ cats,
+ items,
+ LLInventoryModel::EXCLUDE_TRASH,
+ not_worn);
+
+ if (items.size() > max_items_to_wear)
+ {
+ // Can't move 'large' folders into current outfit: MAINT-4086
+ is_movable = FALSE;
+ LLStringUtil::format_map_t args;
+ args["AMOUNT"] = llformat("%d", max_items_to_wear);
+ tooltip_msg = LLTrans::getString("TooltipTooManyWearables",args);
+ }
+ }
if (is_movable && move_is_into_trash)
{
for (S32 i=0; i < descendent_items.size(); ++i)
@@ -2414,7 +2443,7 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
is_movable = active_folder_view != NULL;
}
- if (is_movable)
+ if (is_movable && use_filter)
{
// Check whether the folder being dragged from active inventory panel
// passes the filter of the destination panel.
@@ -2552,6 +2581,12 @@ BOOL move_inv_category_world_to_agent(const LLUUID& object_id,
BOOL accept = FALSE;
BOOL is_move = FALSE;
+ BOOL use_filter = FALSE;
+ if (filter)
+ {
+ U64 filter_types = filter->getFilterTypes();
+ use_filter = filter_types && (filter_types&LLInventoryFilter::FILTERTYPE_DATE || (filter_types&LLInventoryFilter::FILTERTYPE_OBJECT)==0);
+ }
// coming from a task. Need to figure out if the person can
// move/copy this item.
@@ -2584,7 +2619,7 @@ BOOL move_inv_category_world_to_agent(const LLUUID& object_id,
accept = TRUE;
}
- if (filter && accept)
+ if (accept && use_filter)
{
accept = filter->check(item);
}
@@ -2797,7 +2832,7 @@ void LLInventoryCopyAndWearObserver::changed(U32 mask)
mContentsCount)
{
gInventory.removeObserver(this);
- LLAppearanceMgr::instance().wearInventoryCategory(category, FALSE, FALSE);
+ LLAppearanceMgr::instance().wearInventoryCategory(category, FALSE, TRUE);
delete this;
}
}
@@ -2815,7 +2850,7 @@ void LLFolderBridge::performAction(LLInventoryModel* model, std::string action)
LLFolderViewFolder *f = dynamic_cast<LLFolderViewFolder *>(mInventoryPanel.get()->getItemByID(mUUID));
if (f)
{
- f->setOpen(TRUE);
+ f->toggleOpen();
}
return;
@@ -3097,10 +3132,14 @@ void LLFolderBridge::pasteFromClipboard()
{
const LLUUID &current_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, false);
const LLUUID &outbox_id = model->findCategoryUUIDForType(LLFolderType::FT_OUTBOX, false);
+ const LLUUID &favorites_id = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE, false);
+ const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);
- const BOOL move_is_into_outfit = (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
+ const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id);
+ const BOOL move_is_into_outfit = move_is_into_my_outfits || (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
const BOOL move_is_into_outbox = model->isObjectDescendentOf(mUUID, outbox_id);
+ const BOOL move_is_into_favorites = (mUUID == favorites_id);
std::vector<LLUUID> objects;
LLClipboard::instance().pasteFromClipboard(objects);
@@ -3158,11 +3197,18 @@ void LLFolderBridge::pasteFromClipboard()
{
if (move_is_into_current_outfit || move_is_into_outfit)
{
- if (can_move_to_outfit(item, move_is_into_current_outfit))
+ if (item && can_move_to_outfit(item, move_is_into_current_outfit))
{
dropToOutfit(item, move_is_into_current_outfit);
}
}
+ else if (move_is_into_favorites)
+ {
+ if (item && can_move_to_landmarks(item))
+ {
+ dropToFavorites(item);
+ }
+ }
else if (LLClipboard::instance().isCutMode())
{
// Do a move to "paste" a "cut"
@@ -3225,9 +3271,11 @@ void LLFolderBridge::pasteLinkFromClipboard()
{
const LLUUID &current_outfit_id = model->findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT, false);
const LLUUID &outbox_id = model->findCategoryUUIDForType(LLFolderType::FT_OUTBOX, false);
+ const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);
- const BOOL move_is_into_outfit = (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
+ const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id);
+ const BOOL move_is_into_outfit = move_is_into_my_outfits || (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
const BOOL move_is_into_outbox = model->isObjectDescendentOf(mUUID, outbox_id);
if (move_is_into_outbox)
@@ -3729,6 +3777,28 @@ void LLFolderBridge::modifyOutfit(BOOL append)
LLViewerInventoryCategory* cat = getCategory();
if(!cat) return;
+ // checking amount of items to wear
+ U32 max_items = gSavedSettings.getU32("WearFolderLimit");
+ if (cat->getDescendentCount() > max_items)
+ {
+ LLInventoryModel::cat_array_t cats;
+ LLInventoryModel::item_array_t items;
+ LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false);
+ gInventory.collectDescendentsIf(cat->getUUID(),
+ cats,
+ items,
+ LLInventoryModel::EXCLUDE_TRASH,
+ not_worn);
+
+ if (items.size() > max_items)
+ {
+ LLSD args;
+ args["AMOUNT"] = llformat("%d", max_items);
+ LLNotificationsUtil::add("TooManyWearables", args);
+ return;
+ }
+ }
+
LLAppearanceMgr::instance().wearInventoryCategory( cat, FALSE, append );
}
@@ -3783,6 +3853,12 @@ static BOOL can_move_to_outfit(LLInventoryItem* inv_item, BOOL move_is_into_curr
return FALSE;
}
+ U32 flags = inv_item->getFlags();
+ if(flags & LLInventoryItemFlags::II_FLAGS_OBJECT_HAS_MULTIPLE_ITEMS)
+ {
+ return FALSE;
+ }
+
if (move_is_into_current_outfit && get_is_item_worn(inv_item->getUUID()))
{
return FALSE;
@@ -3868,16 +3944,22 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
const LLUUID &favorites_id = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE, false);
const LLUUID &landmarks_id = model->findCategoryUUIDForType(LLFolderType::FT_LANDMARK, false);
const LLUUID &outbox_id = model->findCategoryUUIDForType(LLFolderType::FT_OUTBOX, false);
+ const LLUUID &my_outifts_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false);
const BOOL move_is_into_current_outfit = (mUUID == current_outfit_id);
const BOOL move_is_into_favorites = (mUUID == favorites_id);
- const BOOL move_is_into_outfit = (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
+ const BOOL move_is_into_my_outfits = (mUUID == my_outifts_id) || model->isObjectDescendentOf(mUUID, my_outifts_id);
+ const BOOL move_is_into_outfit = move_is_into_my_outfits || (getCategory() && getCategory()->getPreferredType()==LLFolderType::FT_OUTFIT);
const BOOL move_is_into_landmarks = (mUUID == landmarks_id) || model->isObjectDescendentOf(mUUID, landmarks_id);
const BOOL move_is_into_outbox = model->isObjectDescendentOf(mUUID, outbox_id);
const BOOL move_is_from_outbox = model->isObjectDescendentOf(inv_item->getUUID(), outbox_id);
LLToolDragAndDrop::ESource source = LLToolDragAndDrop::getInstance()->getSource();
BOOL accept = FALSE;
+ U64 filter_types = filter->getFilterTypes();
+ // We shouldn't allow to drop non recent items into recent tab (or some similar transactions)
+ // while we are allowing to interact with regular filtered inventory
+ BOOL use_filter = filter_types && (filter_types&LLInventoryFilter::FILTERTYPE_DATE || (filter_types&LLInventoryFilter::FILTERTYPE_OBJECT)==0);
LLViewerObject* object = NULL;
if(LLToolDragAndDrop::SOURCE_AGENT == source)
{
@@ -3976,7 +4058,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
// Check whether the item being dragged from active inventory panel
// passes the filter of the destination panel.
- if (accept && active_panel)
+ if (accept && active_panel && use_filter)
{
LLFolderViewItem* fv_item = active_panel->getItemByID(inv_item->getUUID());
if (!fv_item) return false;
@@ -4114,7 +4196,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
// Check whether the item being dragged from in world
// passes the filter of the destination panel.
- if (accept)
+ if (accept && use_filter)
{
accept = filter->check(inv_item);
}
@@ -4158,7 +4240,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
// Check whether the item being dragged from notecard
// passes the filter of the destination panel.
- if (accept)
+ if (accept && use_filter)
{
accept = filter->check(inv_item);
}
@@ -4198,7 +4280,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
// Check whether the item being dragged from the library
// passes the filter of the destination panel.
- if (accept && active_panel)
+ if (accept && active_panel && use_filter)
{
LLFolderViewItem* fv_item = active_panel->getItemByID(inv_item->getUUID());
if (!fv_item) return false;
diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h
index 7dac830098..833fbbadbb 100755
--- a/indra/newview/llinventorybridge.h
+++ b/indra/newview/llinventorybridge.h
@@ -158,7 +158,7 @@ protected:
BOOL isAgentInventory() const; // false if lost or in the inventory library
BOOL isCOFFolder() const; // true if COF or descendant of
BOOL isInboxFolder() const; // true if COF or descendant of marketplace inbox
- BOOL isOutboxFolder() const; // true if COF or descendant of marketplace outbox
+
BOOL isOutboxFolderDirectParent() const;
const LLUUID getOutboxFolder() const;
@@ -172,6 +172,10 @@ protected:
const LLUUID& new_parent,
BOOL restamp);
void removeBatchNoCheck(std::vector<LLFolderViewModelItem*>& batch);
+
+public:
+ BOOL isOutboxFolder() const; // true if COF or descendant of marketplace outbox
+
protected:
LLHandle<LLInventoryPanel> mInventoryPanel;
LLFolderView* mRoot;
diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp
index 0bbb4aeeff..f211acedf0 100755
--- a/indra/newview/llinventoryfilter.cpp
+++ b/indra/newview/llinventoryfilter.cpp
@@ -179,6 +179,7 @@ bool LLInventoryFilter::checkAgainstFilterType(const LLFolderViewModelItemInvent
// Pass if this item's type is of the correct filter type
if (filterTypes & FILTERTYPE_OBJECT)
{
+
// If it has no type, pass it, unless it's a link.
if (object_type == LLInventoryType::IT_NONE)
{
@@ -257,13 +258,25 @@ bool LLInventoryFilter::checkAgainstFilterType(const LLFolderViewModelItemInvent
bool is_hidden_if_empty = LLViewerFolderType::lookupIsHiddenIfEmpty(listener->getPreferredType());
if (is_hidden_if_empty)
{
- // Force the fetching of those folders so they are hidden iff they really are empty...
+ // Force the fetching of those folders so they are hidden if they really are empty...
gInventory.fetchDescendentsOf(object_id);
- return FALSE;
+
+ LLInventoryModel::cat_array_t* cat_array = NULL;
+ LLInventoryModel::item_array_t* item_array = NULL;
+ gInventory.getDirectDescendentsOf(object_id,cat_array,item_array);
+ S32 descendents_actual = 0;
+ if(cat_array && item_array)
+ {
+ descendents_actual = cat_array->size() + item_array->size();
+ }
+ if (descendents_actual == 0)
+ {
+ return FALSE;
+ }
}
}
}
-
+
return TRUE;
}
@@ -1013,6 +1026,11 @@ void LLInventoryFilter::fromParams(const Params& params)
setDateRangeLastLogoff(params.since_logoff);
}
+U64 LLInventoryFilter::getFilterTypes() const
+{
+ return mFilterOps.mFilterTypes;
+}
+
U64 LLInventoryFilter::getFilterObjectTypes() const
{
return mFilterOps.mFilterObjectTypes;
diff --git a/indra/newview/llinventoryfilter.h b/indra/newview/llinventoryfilter.h
index 0d3d3889cb..5e18ad4d20 100755
--- a/indra/newview/llinventoryfilter.h
+++ b/indra/newview/llinventoryfilter.h
@@ -160,6 +160,7 @@ public:
// +-------------------------------------------------------------------+
// + Parameters
// +-------------------------------------------------------------------+
+ U64 getFilterTypes() const;
U64 getFilterObjectTypes() const;
U64 getFilterCategoryTypes() const;
U64 getFilterWearableTypes() const;
diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp
index 1e7825a13e..1abc09bf3b 100755
--- a/indra/newview/llinventoryfunctions.cpp
+++ b/indra/newview/llinventoryfunctions.cpp
@@ -881,7 +881,7 @@ bool LLFindWearablesEx::operator()(LLInventoryCategory* cat, LLInventoryItem* it
if (!vitem) return false;
// Skip non-wearables.
- if (!vitem->isWearableType() && vitem->getType() != LLAssetType::AT_OBJECT)
+ if (!vitem->isWearableType() && vitem->getType() != LLAssetType::AT_OBJECT && vitem->getType() != LLAssetType::AT_GESTURE)
{
return false;
}
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index db5be2cef5..e18ecd2e2a 100755
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -336,7 +336,9 @@ LLInventoryFilter& LLInventoryPanel::getFilter()
void LLInventoryPanel::setFilterTypes(U64 types, LLInventoryFilter::EFilterType filter_type)
{
if (filter_type == LLInventoryFilter::FILTERTYPE_OBJECT)
+ {
getFilter().setFilterObjectTypes(types);
+ }
if (filter_type == LLInventoryFilter::FILTERTYPE_CATEGORY)
getFilter().setFilterCategoryTypes(types);
}
@@ -586,6 +588,22 @@ void LLInventoryPanel::modelChanged(U32 mask)
}
}
}
+
+ if (mask & (LLInventoryObserver::STRUCTURE | LLInventoryObserver::REMOVE))
+ {
+ // STRUCTURE and REMOVE model changes usually fail to update (clean)
+ // mMostFilteredDescendantGeneration of parent folder and dirtyFilter()
+ // is not sufficient for successful filter update, so we need to check
+ // all already passed element over again to remove obsolete elements.
+ // New items or moved items should be sufficiently covered by
+ // dirtyFilter().
+ LLInventoryFilter& filter = getFilter();
+ if (filter.getFilterTypes() & LLInventoryFilter::FILTERTYPE_DATE
+ || filter.isNotDefault())
+ {
+ filter.setModified(LLFolderViewFilter::FILTER_MORE_RESTRICTIVE);
+ }
+ }
}
LLUUID LLInventoryPanel::getRootFolderID()
@@ -1395,6 +1413,17 @@ BOOL LLInventoryPanel::handleKeyHere( KEY key, MASK mask )
// Open selected items if enter key hit on the inventory panel
if (mask == MASK_NONE)
{
+ //Don't allow attaching or opening items from Merchant Outbox
+ LLFolderViewItem* folder_item = mFolderRoot.get()->getCurSelectedItem();
+ if(folder_item)
+ {
+ LLInvFVBridge* bridge = (LLInvFVBridge*)folder_item->getViewModelItem();
+ if(bridge && bridge->isOutboxFolder() && (bridge->getInventoryType() != LLInventoryType::IT_CATEGORY))
+ {
+ return handled;
+ }
+ }
+
LLInventoryAction::doToSelected(mInventory, mFolderRoot.get(), "open");
handled = TRUE;
}
diff --git a/indra/newview/lllocalbitmaps.cpp b/indra/newview/lllocalbitmaps.cpp
index b91e37d596..897ee8429a 100755
--- a/indra/newview/lllocalbitmaps.cpp
+++ b/indra/newview/lllocalbitmaps.cpp
@@ -61,7 +61,9 @@
#include "llnotificationsutil.h"
#include "pipeline.h"
#include "llmaterialmgr.h"
-
+#include "llimagedimensionsinfo.h"
+#include "llviewercontrol.h"
+#include "lltrans.h"
/*=======================================*/
/* Formal declarations, constants, etc. */
/*=======================================*/
@@ -845,6 +847,12 @@ bool LLLocalBitmapMgr::addUnit()
std::string filename = picker.getFirstFile();
while(!filename.empty())
{
+ if(!checkTextureDimensions(filename))
+ {
+ filename = picker.getNextFile();
+ continue;
+ }
+
LLLocalBitmap* unit = new LLLocalBitmap(filename);
if (unit->getValid())
@@ -874,6 +882,37 @@ bool LLLocalBitmapMgr::addUnit()
return add_successful;
}
+bool LLLocalBitmapMgr::checkTextureDimensions(std::string filename)
+{
+ std::string exten = gDirUtilp->getExtension(filename);
+ U32 codec = LLImageBase::getCodecFromExtension(exten);
+ std::string mImageLoadError;
+ LLImageDimensionsInfo image_info;
+ if (!image_info.load(filename,codec))
+ {
+ return false;
+ }
+
+ S32 max_width = gSavedSettings.getS32("max_texture_dimension_X");
+ S32 max_height = gSavedSettings.getS32("max_texture_dimension_Y");
+
+ if ((image_info.getWidth() > max_width) || (image_info.getHeight() > max_height))
+ {
+ LLStringUtil::format_map_t args;
+ args["WIDTH"] = llformat("%d", max_width);
+ args["HEIGHT"] = llformat("%d", max_height);
+ mImageLoadError = LLTrans::getString("texture_load_dimensions_error", args);
+
+ LLSD notif_args;
+ notif_args["REASON"] = mImageLoadError;
+ LLNotificationsUtil::add("CannotUploadTexture", notif_args);
+
+ return false;
+ }
+
+ return true;
+}
+
void LLLocalBitmapMgr::delUnit(LLUUID tracking_id)
{
if (!sBitmapList.empty())
diff --git a/indra/newview/lllocalbitmaps.h b/indra/newview/lllocalbitmaps.h
index a15ea10801..59467922b4 100755
--- a/indra/newview/lllocalbitmaps.h
+++ b/indra/newview/lllocalbitmaps.h
@@ -120,6 +120,7 @@ class LLLocalBitmapMgr
static void cleanupClass();
static bool addUnit();
static void delUnit(LLUUID tracking_id);
+ static bool checkTextureDimensions(std::string filename);
static LLUUID getWorldID(LLUUID tracking_id);
static std::string getFilename(LLUUID tracking_id);
diff --git a/indra/newview/llmanip.cpp b/indra/newview/llmanip.cpp
index bbcdcb126d..0935691ebc 100755
--- a/indra/newview/llmanip.cpp
+++ b/indra/newview/llmanip.cpp
@@ -62,7 +62,7 @@ F32 LLManip::sHelpTextFadeTime = 2.f;
S32 LLManip::sNumTimesHelpTextShown = 0;
S32 LLManip::sMaxTimesShowHelpText = 5;
F32 LLManip::sGridMaxSubdivisionLevel = 32.f;
-F32 LLManip::sGridMinSubdivisionLevel = 1.f;
+F32 LLManip::sGridMinSubdivisionLevel = 1.f / 32.f;
LLVector2 LLManip::sTickLabelSpacing(60.f, 25.f);
@@ -176,7 +176,7 @@ BOOL LLManip::getManipAxis(LLViewerObject* object, EManipPart manip, LLVector3 &
return TRUE;
}
-F32 LLManip::getSubdivisionLevel(const LLVector3 &reference_point, const LLVector3 &translate_axis, F32 grid_scale, S32 min_pixel_spacing)
+F32 LLManip::getSubdivisionLevel(const LLVector3 &reference_point, const LLVector3 &translate_axis, F32 grid_scale, S32 min_pixel_spacing, F32 min_subdivisions, F32 max_subdivisions)
{
//update current snap subdivision level
LLVector3 cam_to_reference;
@@ -192,7 +192,8 @@ F32 LLManip::getSubdivisionLevel(const LLVector3 &reference_point, const LLVecto
F32 projected_translation_axis_length = (translate_axis % cam_to_reference).magVec();
F32 subdivisions = llmax(projected_translation_axis_length * grid_scale / (current_range / LLViewerCamera::getInstance()->getPixelMeterRatio() * min_pixel_spacing), 0.f);
- subdivisions = llclamp((F32)pow(2.f, llfloor(log(subdivisions) / log(2.f))), 1.f / 32.f, 32.f);
+ // figure out nearest power of 2 that subdivides grid_scale with result > min_pixel_spacing
+ subdivisions = llclamp((F32)pow(2.f, llfloor(log(subdivisions) / log(2.f))), min_subdivisions, max_subdivisions);
return subdivisions;
}
@@ -548,37 +549,31 @@ void LLManip::renderTickValue(const LLVector3& pos, F32 value, const std::string
BOOL hud_selection = mObjectSelection->getSelectType() == SELECT_TYPE_HUD;
gGL.matrixMode(LLRender::MM_MODELVIEW);
gGL.pushMatrix();
- LLVector3 render_pos = pos;
- if (hud_selection)
{
- F32 zoom_amt = gAgentCamera.mHUDCurZoom;
- F32 inv_zoom_amt = 1.f / zoom_amt;
- // scale text back up to counter-act zoom level
- render_pos = pos * zoom_amt;
- gGL.scalef(inv_zoom_amt, inv_zoom_amt, inv_zoom_amt);
- }
-
- LLColor4 shadow_color = LLColor4::black;
- shadow_color.mV[VALPHA] = color.mV[VALPHA] * 0.5f;
+ LLVector3 render_pos = pos;
+ if (hud_selection)
+ {
+ F32 zoom_amt = gAgentCamera.mHUDCurZoom;
+ F32 inv_zoom_amt = 1.f / zoom_amt;
+ // scale text back up to counter-act zoom level
+ render_pos = pos * zoom_amt;
+ gGL.scalef(inv_zoom_amt, inv_zoom_amt, inv_zoom_amt);
+ }
- if (fractional_portion != 0)
- {
- fraction_string = llformat("%c%02d%s", LLResMgr::getInstance()->getDecimalPoint(), fractional_portion, suffix.c_str());
+ LLColor4 shadow_color = LLColor4::black;
+ shadow_color.mV[VALPHA] = color.mV[VALPHA] * 0.5f;
- gViewerWindow->setup3DViewport(1, -1);
- hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, -1.f * big_fontp->getWidthF32(val_string), 3.f, shadow_color, hud_selection);
- hud_render_utf8text(fraction_string, render_pos, *small_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, 1.f, 3.f, shadow_color, hud_selection);
+ if (fractional_portion != 0)
+ {
+ fraction_string = llformat("%c%02d%s", LLResMgr::getInstance()->getDecimalPoint(), fractional_portion, suffix.c_str());
- gViewerWindow->setup3DViewport();
- hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, -1.f * big_fontp->getWidthF32(val_string), 3.f, color, hud_selection);
- hud_render_utf8text(fraction_string, render_pos, *small_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, 1.f, 3.f, color, hud_selection);
- }
- else
- {
- gViewerWindow->setup3DViewport(1, -1);
- hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, -0.5f * big_fontp->getWidthF32(val_string), 3.f, shadow_color, hud_selection);
- gViewerWindow->setup3DViewport();
- hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, -0.5f * big_fontp->getWidthF32(val_string), 3.f, color, hud_selection);
+ hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::DROP_SHADOW, -1.f * big_fontp->getWidthF32(val_string), 3.f, color, hud_selection);
+ hud_render_utf8text(fraction_string, render_pos, *small_fontp, LLFontGL::NORMAL, LLFontGL::DROP_SHADOW, 1.f, 3.f, color, hud_selection);
+ }
+ else
+ {
+ hud_render_utf8text(val_string, render_pos, *big_fontp, LLFontGL::NORMAL, LLFontGL::DROP_SHADOW, -0.5f * big_fontp->getWidthF32(val_string), 3.f, color, hud_selection);
+ }
}
gGL.popMatrix();
}
diff --git a/indra/newview/llmanip.h b/indra/newview/llmanip.h
index 6263e4244f..1fb05e047a 100755
--- a/indra/newview/llmanip.h
+++ b/indra/newview/llmanip.h
@@ -137,7 +137,7 @@ protected:
LLVector3 getPivotPoint();
void getManipNormal(LLViewerObject* object, EManipPart manip, LLVector3 &normal);
BOOL getManipAxis(LLViewerObject* object, EManipPart manip, LLVector3 &axis);
- F32 getSubdivisionLevel(const LLVector3 &reference_point, const LLVector3 &translate_axis, F32 grid_scale, S32 min_pixel_spacing = MIN_DIVISION_PIXEL_WIDTH);
+ F32 getSubdivisionLevel(const LLVector3 &reference_point, const LLVector3 &translate_axis, F32 grid_scale, S32 min_pixel_spacing = MIN_DIVISION_PIXEL_WIDTH, F32 min_subdivisions = sGridMinSubdivisionLevel, F32 max_subdivisions = sGridMaxSubdivisionLevel);
void renderTickValue(const LLVector3& pos, F32 value, const std::string& suffix, const LLColor4 &color);
void renderTickText(const LLVector3& pos, const std::string& suffix, const LLColor4 &color);
void updateGridSettings();
diff --git a/indra/newview/llmaniptranslate.cpp b/indra/newview/llmaniptranslate.cpp
index 8a89131c43..d22672bc16 100755
--- a/indra/newview/llmaniptranslate.cpp
+++ b/indra/newview/llmaniptranslate.cpp
@@ -374,7 +374,7 @@ BOOL LLManipTranslate::handleMouseDownOnPart( S32 x, S32 y, MASK mask )
//LLVector3 select_center_agent = gAgent.getPosAgentFromGlobal(LLSelectMgr::getInstance()->getSelectionCenterGlobal());
// TomY: The above should (?) be identical to the below
LLVector3 select_center_agent = getPivotPoint();
- mSubdivisions = llclamp(getSubdivisionLevel(select_center_agent, axis_exists ? axis : LLVector3::z_axis, getMinGridScale()), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel);
+ mSubdivisions = getSubdivisionLevel(select_center_agent, axis_exists ? axis : LLVector3::z_axis, getMinGridScale());
// if we clicked on a planar manipulator, recenter mouse cursor
if (mManipPart >= LL_YZ_PLANE && mManipPart <= LL_XY_PLANE)
@@ -516,7 +516,7 @@ BOOL LLManipTranslate::handleHover(S32 x, S32 y, MASK mask)
LLSelectMgr::getInstance()->updateSelectionCenter();
LLVector3d current_pos_global = gAgent.getPosGlobalFromAgent(getPivotPoint());
- mSubdivisions = llclamp(getSubdivisionLevel(getPivotPoint(), axis_f, getMinGridScale()), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel);
+ mSubdivisions = getSubdivisionLevel(getPivotPoint(), axis_f, getMinGridScale());
// Project the cursor onto that plane
LLVector3d relative_move;
@@ -606,7 +606,7 @@ BOOL LLManipTranslate::handleHover(S32 x, S32 y, MASK mask)
max_grid_scale = mGridScale.mV[VZ];
}
- F32 num_subdivisions = llclamp(getSubdivisionLevel(getPivotPoint(), camera_projected_dir, max_grid_scale), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel);
+ F32 num_subdivisions = getSubdivisionLevel(getPivotPoint(), camera_projected_dir, max_grid_scale);
F32 grid_scale_a;
F32 grid_scale_b;
@@ -1254,6 +1254,7 @@ void LLManipTranslate::renderSnapGuides()
for (S32 pass = 0; pass < 3; pass++)
{
LLColor4 line_color = setupSnapGuideRenderPass(pass);
+ LLGLDepthTest gls_depth(pass != 1);
gGL.begin(LLRender::LINES);
{
@@ -1285,7 +1286,7 @@ void LLManipTranslate::renderSnapGuides()
{
tick_start = selection_center + (translate_axis * (smallest_grid_unit_scale * (F32)i - offset_nearest_grid_unit));
- F32 cur_subdivisions = llclamp(getSubdivisionLevel(tick_start, translate_axis, getMinGridScale()), sGridMinSubdivisionLevel, sGridMaxSubdivisionLevel);
+ F32 cur_subdivisions = getSubdivisionLevel(tick_start, translate_axis, getMinGridScale());
if (fmodf((F32)(i + sub_div_offset), (max_subdivisions / cur_subdivisions)) != 0.f)
{
@@ -1383,7 +1384,7 @@ void LLManipTranslate::renderSnapGuides()
tick_scale *= 0.7f;
}
- if (fmodf((F32)(i + sub_div_offset), (max_subdivisions / llmin(sGridMaxSubdivisionLevel, getSubdivisionLevel(tick_pos, translate_axis, getMinGridScale(), tick_label_spacing)))) == 0.f)
+ if (fmodf((F32)(i + sub_div_offset), (max_subdivisions / getSubdivisionLevel(tick_pos, translate_axis, getMinGridScale(), tick_label_spacing))) == 0.f)
{
F32 snap_offset_meters;
diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp
index 086bc1c186..f4e08dc790 100755
--- a/indra/newview/llmediactrl.cpp
+++ b/indra/newview/llmediactrl.cpp
@@ -509,6 +509,16 @@ void LLMediaCtrl::navigateForward()
////////////////////////////////////////////////////////////////////////////////
//
+void LLMediaCtrl::navigateStop()
+{
+ if (mMediaSource && mMediaSource->hasMedia())
+ {
+ mMediaSource->getMediaPlugin()->browse_stop();
+ }
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
bool LLMediaCtrl::canNavigateBack()
{
if (mMediaSource)
diff --git a/indra/newview/llmediactrl.h b/indra/newview/llmediactrl.h
index b6ed0f3fab..785c57b78a 100755
--- a/indra/newview/llmediactrl.h
+++ b/indra/newview/llmediactrl.h
@@ -99,6 +99,7 @@ public:
void navigateBack();
void navigateHome();
void navigateForward();
+ void navigateStop();
void navigateToLocalPage( const std::string& subdir, const std::string& filename_in );
bool canNavigateBack();
bool canNavigateForward();
diff --git a/indra/newview/llnotificationstorage.cpp b/indra/newview/llnotificationstorage.cpp
index 2923221c90..e9970de58c 100755
--- a/indra/newview/llnotificationstorage.cpp
+++ b/indra/newview/llnotificationstorage.cpp
@@ -103,19 +103,21 @@ bool LLNotificationStorage::writeNotifications(const LLSD& pNotificationData) co
return didFileOpen;
}
-bool LLNotificationStorage::readNotifications(LLSD& pNotificationData) const
+bool LLNotificationStorage::readNotifications(LLSD& pNotificationData, bool is_new_filename) const
{
- LL_INFOS("LLNotificationStorage") << "starting read '" << mFileName << "'" << LL_ENDL;
+ std::string filename = is_new_filename? mFileName : mOldFileName;
+
+ LL_INFOS("LLNotificationStorage") << "starting read '" << filename << "'" << LL_ENDL;
bool didFileRead;
pNotificationData.clear();
- llifstream notifyFile(mFileName.c_str());
+ llifstream notifyFile(filename.c_str());
didFileRead = notifyFile.is_open();
if (!didFileRead)
{
- LL_WARNS("LLNotificationStorage") << "Failed to open file '" << mFileName << "'" << LL_ENDL;
+ LL_WARNS("LLNotificationStorage") << "Failed to open file '" << filename << "'" << LL_ENDL;
}
else
{
@@ -128,7 +130,19 @@ bool LLNotificationStorage::readNotifications(LLSD& pNotificationData) const
}
}
- LL_INFOS("LLNotificationStorage") << "ending read '" << mFileName << "'" << LL_ENDL;
+ LL_INFOS("LLNotificationStorage") << "ending read '" << filename << "'" << LL_ENDL;
+ if (!didFileRead)
+ {
+ if(is_new_filename)
+ {
+ didFileRead = readNotifications(pNotificationData, false);
+ if(didFileRead)
+ {
+ writeNotifications(pNotificationData);
+ LLFile::remove(mOldFileName);
+ }
+ }
+ }
return didFileRead;
}
diff --git a/indra/newview/llnotificationstorage.h b/indra/newview/llnotificationstorage.h
index 53fd898ea4..21d7123747 100755
--- a/indra/newview/llnotificationstorage.h
+++ b/indra/newview/llnotificationstorage.h
@@ -43,13 +43,15 @@ public:
protected:
bool writeNotifications(const LLSD& pNotificationData) const;
- bool readNotifications(LLSD& pNotificationData) const;
+ bool readNotifications(LLSD& pNotificationData, bool is_new_filename = true) const;
void setFileName(std::string pFileName) {mFileName = pFileName;}
+ void setOldFileName(std::string pFileName) {mOldFileName = pFileName;}
LLNotificationResponderInterface* createResponder(const std::string& pNotificationName, const LLSD& pParams) const;
private:
std::string mFileName;
+ std::string mOldFileName;
};
#endif // LL_NOTIFICATIONSTORAGE_H
diff --git a/indra/newview/llpanelcontents.cpp b/indra/newview/llpanelcontents.cpp
index 89a9e0dc16..407cbfc47b 100755
--- a/indra/newview/llpanelcontents.cpp
+++ b/indra/newview/llpanelcontents.cpp
@@ -142,6 +142,13 @@ void LLPanelContents::refresh()
}
}
+void LLPanelContents::clearContents()
+{
+ if (mPanelInventoryObject)
+ {
+ mPanelInventoryObject->clearInventoryTask();
+ }
+}
//
diff --git a/indra/newview/llpanelcontents.h b/indra/newview/llpanelcontents.h
index ad62e13bc2..6ecc78afa0 100755
--- a/indra/newview/llpanelcontents.h
+++ b/indra/newview/llpanelcontents.h
@@ -48,6 +48,7 @@ public:
virtual ~LLPanelContents();
void refresh();
+ void clearContents();
static void onClickNewScript(void*);
diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp
index ac00c5d986..19a86cdcea 100755
--- a/indra/newview/llpaneleditwearable.cpp
+++ b/indra/newview/llpaneleditwearable.cpp
@@ -860,10 +860,8 @@ void LLPanelEditWearable::draw()
void LLPanelEditWearable::onClose()
{
- if ( isDirty() )
- {
- revertChanges();
- }
+ // any unsaved changes should be reverted at this point
+ revertChanges();
}
void LLPanelEditWearable::setVisible(BOOL visible)
@@ -951,7 +949,7 @@ void LLPanelEditWearable::onCommitSexChange()
gAgentAvatarp->updateSexDependentLayerSets();
gAgentAvatarp->updateVisualParams();
-
+ showWearable(mWearablePtr, TRUE, TRUE);
updateScrollingPanelUI();
}
diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp
index 1d7ba4d741..c3a10b3fa0 100755
--- a/indra/newview/llpanelgrouproles.cpp
+++ b/indra/newview/llpanelgrouproles.cpp
@@ -1961,7 +1961,7 @@ bool LLPanelGroupRolesSubTab::needsApply(std::string& mesg)
LLGroupMgrGroupData* gdatap = LLGroupMgr::getInstance()->getGroupData(mGroupID);
if(!gdatap)
{
- llwarns << "Unable to get group data for group " << mGroupID << llendl;
+ LL_WARNS() << "Unable to get group data for group " << mGroupID << LL_ENDL;
return false;
}
@@ -2389,8 +2389,8 @@ void LLPanelGroupRolesSubTab::handleActionCheck(LLUICtrl* ctrl, bool force)
}
else
{
- llwarns << "Unable to look up role information for role id: "
- << role_id << llendl;
+ LL_WARNS() << "Unable to look up role information for role id: "
+ << role_id << LL_ENDL;
}
//////////////////////////////////////////////////////////////////////////
@@ -2835,7 +2835,7 @@ void LLPanelGroupActionsSubTab::setGroupID(const LLUUID& id)
if(mActionMembers) mActionMembers->deleteAllItems();
if(mActionDescription) mActionDescription->clear();
-
+
LLPanelGroupSubTab::setGroupID(id);
}
diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp
index 64bdcf7085..abdfa89f50 100755
--- a/indra/newview/llpanellogin.cpp
+++ b/indra/newview/llpanellogin.cpp
@@ -81,86 +81,20 @@ const S32 MAX_PASSWORD = 16;
LLPanelLogin *LLPanelLogin::sInstance = NULL;
BOOL LLPanelLogin::sCapslockDidNotification = FALSE;
-class LLLoginLocationAutoHandler : public LLCommandHandler
+class LLLoginRefreshHandler : public LLCommandHandler
{
public:
// don't allow from external browsers
- LLLoginLocationAutoHandler() : LLCommandHandler("location_login", UNTRUSTED_BLOCK) { }
+ LLLoginRefreshHandler() : LLCommandHandler("login_refresh", UNTRUSTED_BLOCK) { }
bool handle(const LLSD& tokens, const LLSD& query_map, LLMediaCtrl* web)
{
if (LLStartUp::getStartupState() < STATE_LOGIN_CLEANUP)
{
- if ( tokens.size() == 0 || tokens.size() > 4 )
- return false;
-
- // unescape is important - uris with spaces are escaped in this code path
- // (e.g. space -> %20) and the code to log into a region doesn't support that.
- const std::string region = LLURI::unescape( tokens[0].asString() );
-
- // just region name as payload
- if ( tokens.size() == 1 )
- {
- // region name only - slurl will end up as center of region
- LLSLURL slurl(region);
- LLPanelLogin::autologinToLocation(slurl);
- }
- else
- // region name and x coord as payload
- if ( tokens.size() == 2 )
- {
- // invalid to only specify region and x coordinate
- // slurl code will revert to same as region only, so do this anyway
- LLSLURL slurl(region);
- LLPanelLogin::autologinToLocation(slurl);
- }
- else
- // region name and x/y coord as payload
- if ( tokens.size() == 3 )
- {
- // region and x/y specified - default z to 0
- F32 xpos;
- std::istringstream codec(tokens[1].asString());
- codec >> xpos;
-
- F32 ypos;
- codec.clear();
- codec.str(tokens[2].asString());
- codec >> ypos;
-
- const LLVector3 location(xpos, ypos, 0.0f);
- LLSLURL slurl(region, location);
-
- LLPanelLogin::autologinToLocation(slurl);
- }
- else
- // region name and x/y/z coord as payload
- if ( tokens.size() == 4 )
- {
- // region and x/y/z specified - ok
- F32 xpos;
- std::istringstream codec(tokens[1].asString());
- codec >> xpos;
-
- F32 ypos;
- codec.clear();
- codec.str(tokens[2].asString());
- codec >> ypos;
-
- F32 zpos;
- codec.clear();
- codec.str(tokens[3].asString());
- codec >> zpos;
-
- const LLVector3 location(xpos, ypos, zpos);
- LLSLURL slurl(region, location);
-
- LLPanelLogin::autologinToLocation(slurl);
- };
+ LLPanelLogin::loadLoginPage();
}
return true;
}
};
-LLLoginLocationAutoHandler gLoginLocationAutoHandler;
//---------------------------------------------------------------------------
// Public methods
@@ -169,14 +103,10 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
void (*callback)(S32 option, void* user_data),
void *cb_data)
: LLPanel(),
+ mLogoImage(),
mCallback(callback),
mCallbackData(cb_data),
- mListener(new LLPanelLoginListener(this)),
- mUsernameLength(0),
- mPasswordLength(0),
- mLocationLength(0),
- mFavoriteSelected(false),
- mShowFavorites(false)
+ mListener(new LLPanelLoginListener(this))
{
setBackgroundVisible(FALSE);
setBackgroundOpaque(TRUE);
@@ -190,37 +120,28 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
login_holder->addChild(this);
}
- if (gSavedSettings.getBOOL("FirstLoginThisInstall"))
- {
- buildFromFile( "panel_login_first.xml");
- }
- else
- {
+ // Logo
+ mLogoImage = LLUI::getUIImage("startup_logo");
+
buildFromFile( "panel_login.xml");
- }
reshape(rect.getWidth(), rect.getHeight());
LLLineEditor* password_edit(getChild<LLLineEditor>("password_edit"));
password_edit->setKeystrokeCallback(onPassKey, this);
// STEAM-14: When user presses Enter with this field in focus, initiate login
- password_edit->setCommitCallback(boost::bind(&LLPanelLogin::onClickConnectLast, this));
+ password_edit->setCommitCallback(boost::bind(&LLPanelLogin::onClickConnect, this));
// change z sort of clickable text to be behind buttons
sendChildToBack(getChildView("forgot_password_text"));
- LLComboBox* favorites_combo = getChild<LLComboBox>("start_location_combo");
+ LLComboBox* location_combo = getChild<LLComboBox>("start_location_combo");
updateLocationSelectorsVisibility(); // separate so that it can be called from preferences
- favorites_combo->setFocusLostCallback(boost::bind(&LLPanelLogin::onLocationSLURL, this));
- favorites_combo->setCommitCallback(boost::bind(&LLPanelLogin::onSelectFavorite, this));
+ location_combo->setFocusLostCallback(boost::bind(&LLPanelLogin::onLocationSLURL, this));
LLComboBox* server_choice_combo = getChild<LLComboBox>("server_combo");
server_choice_combo->setCommitCallback(boost::bind(&LLPanelLogin::onSelectServer, this));
- LLLineEditor* location_edit = sInstance->getChild<LLLineEditor>("location_edit");
- location_edit->setKeystrokeCallback(boost::bind(&LLPanelLogin::onLocationEditChanged, this, _1), NULL);
- location_edit->setCommitCallback(boost::bind(&LLPanelLogin::onClickConnectLocation, this));
-
// Load all of the grids, sorted, and then add a bar and the current grid at the top
server_choice_combo->removeall();
@@ -267,12 +188,9 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
LLPanelLogin::onUpdateStartSLURL(start_slurl); // updates grid if needed
}
- childSetAction("connect_btn", onClickConnectLast, this);
- childSetAction("connect_favorite_btn", onClickConnectFavorite, this);
- childSetAction("connect_location_btn", onClickConnectLocation, this);
+ childSetAction("connect_btn", onClickConnect, this);
- LLButton* def_btn = getChild<LLButton>("connect_btn");
- setDefaultBtn(def_btn);
+ getChild<LLPanel>("links_login_panel")->setDefaultBtn("connect_btn");
std::string channel = LLVersionInfo::getChannel();
std::string version = llformat("%s (%d)",
@@ -282,6 +200,8 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
LLTextBox* forgot_password_text = getChild<LLTextBox>("forgot_password_text");
forgot_password_text->setClickedCallback(onClickForgotPassword, NULL);
+ childSetAction("create_new_account_btn", onClickNewAccount, NULL);
+
LLTextBox* need_help_text = getChild<LLTextBox>("login_help");
need_help_text->setClickedCallback(onClickHelp, NULL);
@@ -289,6 +209,8 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
LLMediaCtrl* web_browser = getChild<LLMediaCtrl>("login_html");
web_browser->addObserver(this);
+ reshapeBrowser();
+
loadLoginPage();
// Show last logged in user favorites in "Start at" combo.
@@ -303,19 +225,21 @@ void LLPanelLogin::addUsersWithFavoritesToUsername()
{
LLComboBox* combo = getChild<LLComboBox>("username_combo");
if (!combo) return;
- std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml");
+ std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites_" + LLGridManager::getInstance()->getGrid() + ".xml");
+ std::string old_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml");
LLSD fav_llsd;
llifstream file;
file.open(filename);
- if (!file.is_open())
- return;
+ if (!file.is_open())
+ {
+ file.open(old_filename);
+ if (!file.is_open()) return;
+ }
LLSDSerialize::fromXML(fav_llsd, file);
for (LLSD::map_const_iterator iter = fav_llsd.beginMap();
iter != fav_llsd.endMap(); ++iter)
{
combo->add(iter->first);
- mUsernameLength = iter->first.length();
- updateLoginButtons();
}
}
@@ -332,16 +256,18 @@ void LLPanelLogin::addFavoritesToStartLocation()
// Load favorites into the combo.
std::string user_defined_name = getChild<LLComboBox>("username_combo")->getSimple();
- mUsernameLength = user_defined_name.length();
- updateLoginButtons();
-
- std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml");
+ std::replace(user_defined_name.begin(), user_defined_name.end(), '.', ' ');
+ std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites_" + LLGridManager::getInstance()->getGrid() + ".xml");
+ std::string old_filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml");
LLSD fav_llsd;
llifstream file;
file.open(filename);
- if (!file.is_open()) return;
+ if (!file.is_open())
+ {
+ file.open(old_filename);
+ if (!file.is_open()) return;
+ }
LLSDSerialize::fromXML(fav_llsd, file);
-
for (LLSD::map_const_iterator iter = fav_llsd.beginMap();
iter != fav_llsd.endMap(); ++iter)
{
@@ -365,7 +291,6 @@ void LLPanelLogin::addFavoritesToStartLocation()
std::string value = (*iter1)["slurl"].asString();
if(label != "" && value != "")
{
- mShowFavorites = true;
combo->add(label, value);
}
}
@@ -373,6 +298,21 @@ void LLPanelLogin::addFavoritesToStartLocation()
}
}
+// force the size to be correct (XML doesn't seem to be sufficient to do this)
+// (with some padding so the other login screen doesn't show through)
+void LLPanelLogin::reshapeBrowser()
+{
+ LLMediaCtrl* web_browser = getChild<LLMediaCtrl>("login_html");
+ LLRect rect = gViewerWindow->getWindowRectScaled();
+ LLRect html_rect;
+ html_rect.setCenterAndSize(
+ rect.getCenterX() - 2, rect.getCenterY() + 40,
+ rect.getWidth() + 6, rect.getHeight() - 78 );
+ web_browser->setRect( html_rect );
+ web_browser->reshape( html_rect.getWidth(), html_rect.getHeight(), TRUE );
+ reshape( rect.getWidth(), rect.getHeight(), 1 );
+}
+
LLPanelLogin::~LLPanelLogin()
{
LLPanelLogin::sInstance = NULL;
@@ -383,6 +323,50 @@ LLPanelLogin::~LLPanelLogin()
}
// virtual
+void LLPanelLogin::draw()
+{
+ gGL.pushMatrix();
+ {
+ F32 image_aspect = 1.333333f;
+ F32 view_aspect = (F32)getRect().getWidth() / (F32)getRect().getHeight();
+ // stretch image to maintain aspect ratio
+ if (image_aspect > view_aspect)
+ {
+ gGL.translatef(-0.5f * (image_aspect / view_aspect - 1.f) * getRect().getWidth(), 0.f, 0.f);
+ gGL.scalef(image_aspect / view_aspect, 1.f, 1.f);
+ }
+
+ S32 width = getRect().getWidth();
+ S32 height = getRect().getHeight();
+
+ if (getChild<LLView>("login_widgets")->getVisible())
+ {
+ // draw a background box in black
+ gl_rect_2d( 0, height - 264, width, 264, LLColor4::black );
+ // draw the bottom part of the background image
+ // just the blue background to the native client UI
+ mLogoImage->draw(0, -264, width + 8, mLogoImage->getHeight());
+ };
+ }
+ gGL.popMatrix();
+
+ LLPanel::draw();
+}
+
+// virtual
+BOOL LLPanelLogin::handleKeyHere(KEY key, MASK mask)
+{
+ if ( KEY_F1 == key )
+ {
+ LLViewerHelp* vhelp = LLViewerHelp::getInstance();
+ vhelp->showTopic(vhelp->f1HelpTopic());
+ return TRUE;
+ }
+
+ return LLPanel::handleKeyHere(key, mask);
+}
+
+// virtual
void LLPanelLogin::setFocus(BOOL b)
{
if(b != hasFocus())
@@ -445,10 +429,10 @@ void LLPanelLogin::showLoginWidgets()
// It seems to be part of the defunct? reg-in-client project.
sInstance->getChildView("login_widgets")->setVisible( true);
LLMediaCtrl* web_browser = sInstance->getChild<LLMediaCtrl>("login_html");
-
+ sInstance->reshapeBrowser();
// *TODO: Append all the usual login parameters, like first_login=Y etc.
std::string splash_screen_url = LLGridManager::getInstance()->getLoginPage();
- web_browser->navigateTo( splash_screen_url, "text/html" );
+ web_browser->navigateTo( splash_screen_url, HTTP_CONTENT_TEXT_HTML );
LLUICtrl* username_combo = sInstance->getChild<LLUICtrl>("username_combo");
username_combo->setFocus(TRUE);
}
@@ -527,11 +511,9 @@ void LLPanelLogin::setFields(LLPointer<LLCredential> credential,
// This is a MD5 hex digest of a password.
// We don't actually use the password input field,
// fill it with MAX_PASSWORD characters so we get a
- // nice row of asterisks.
+ // nice row of asterixes.
const std::string filler("123456789!123456");
- sInstance->getChild<LLUICtrl>("password_edit")->setValue(filler);
- sInstance->mPasswordLength = filler.length();
- sInstance->updateLoginButtons();
+ sInstance->getChild<LLUICtrl>("password_edit")->setValue(std::string("123456789!123456"));
}
else
{
@@ -664,12 +646,11 @@ void LLPanelLogin::updateLocationSelectorsVisibility()
{
if (sInstance)
{
+ BOOL show_start = gSavedSettings.getBOOL("ShowStartLocation");
+ sInstance->getChild<LLLayoutPanel>("start_location_panel")->setVisible(show_start);
+
BOOL show_server = gSavedSettings.getBOOL("ForceShowGrid");
- LLComboBox* server_combo = sInstance->getChild<LLComboBox>("server_combo");
- if ( server_combo )
- {
- server_combo->setVisible(show_server);
- }
+ sInstance->getChild<LLLayoutPanel>("grid_panel")->setVisible(show_server);
}
}
@@ -681,7 +662,6 @@ void LLPanelLogin::onUpdateStartSLURL(const LLSLURL& new_start_slurl)
LL_DEBUGS("AppInit")<<new_start_slurl.asString()<<LL_ENDL;
LLComboBox* location_combo = sInstance->getChild<LLComboBox>("start_location_combo");
- LLLineEditor* location_edit = sInstance->getChild<LLLineEditor>("location_edit");
/*
* Determine whether or not the new_start_slurl modifies the grid.
*
@@ -711,12 +691,7 @@ void LLPanelLogin::onUpdateStartSLURL(const LLSLURL& new_start_slurl)
updateServer(); // to change the links and splash screen
}
- if ( new_start_slurl.getLocationString().length() )
- {
- location_edit->setValue(new_start_slurl.getLocationString());
- sInstance->mLocationLength = new_start_slurl.getLocationString().length();
- sInstance->updateLoginButtons();
- }
+ location_combo->setTextEntry(new_start_slurl.getLocationString());
}
else
{
@@ -729,12 +704,16 @@ void LLPanelLogin::onUpdateStartSLURL(const LLSLURL& new_start_slurl)
break;
case LLSLURL::HOME_LOCATION:
- //location_combo->setCurrentByIndex(0); // home location
+ location_combo->setCurrentByIndex(1); // home location
+ break;
+
+ case LLSLURL::LAST_LOCATION:
+ location_combo->setCurrentByIndex(0); // last location
break;
default:
LL_WARNS("AppInit")<<"invalid login slurl, using home"<<LL_ENDL;
- //location_combo->setCurrentByIndex(0); // home location
+ location_combo->setCurrentByIndex(1); // home location
break;
}
}
@@ -745,19 +724,6 @@ void LLPanelLogin::setLocation(const LLSLURL& slurl)
LLStartUp::setStartSLURL(slurl); // calls onUpdateStartSLURL, above
}
-void LLPanelLogin::autologinToLocation(const LLSLURL& slurl)
-{
- LL_DEBUGS("AppInit")<<"automatically logging into Location "<<slurl.asString()<<LL_ENDL;
- LLStartUp::setStartSLURL(slurl); // calls onUpdateStartSLURL, above
-
- if ( LLPanelLogin::sInstance != NULL )
- {
- void* unused_parameter = 0;
- LLPanelLogin::sInstance->onClickConnect(unused_parameter);
- }
-}
-
-
// static
void LLPanelLogin::closePanel()
{
@@ -795,13 +761,6 @@ void LLPanelLogin::loadLoginPage()
LL_DEBUGS("AppInit") << "login_page: " << login_page << LL_ENDL;
- // allow users (testers really) to specify a different login content URL
- std::string force_login_url = gSavedSettings.getString("ForceLoginURL");
- if ( force_login_url.length() > 0 )
- {
- login_page = LLURI(force_login_url);
- }
-
// Language
params["lang"] = LLUI::getLanguage();
@@ -826,9 +785,6 @@ void LLPanelLogin::loadLoginPage()
// sourceid
params["sourceid"] = gSavedSettings.getString("sourceid");
- // login page (web) content version
- params["login_content_version"] = gSavedSettings.getString("LoginContentVersion");
-
// Make an LLURI with this augmented info
LLURI login_uri(LLURI::buildHTTP(login_page.authority(),
login_page.path(),
@@ -840,7 +796,7 @@ void LLPanelLogin::loadLoginPage()
if (web_browser->getCurrentNavUrl() != login_uri.asString())
{
LL_DEBUGS("AppInit") << "loading: " << login_uri << LL_ENDL;
- web_browser->navigateTo( login_uri.asString(), "text/html" );
+ web_browser->navigateTo( login_uri.asString(), HTTP_CONTENT_TEXT_HTML );
}
}
@@ -851,32 +807,6 @@ void LLPanelLogin::handleMediaEvent(LLPluginClassMedia* /*self*/, EMediaEvent ev
//---------------------------------------------------------------------------
// Protected methods
//---------------------------------------------------------------------------
-// static
-void LLPanelLogin::onClickConnectLast(void *)
-{
- std::string location = LLSLURL::SIM_LOCATION_LAST;
- LLStartUp::setStartSLURL(location);
-
- void* unused_parameter = 0;
- LLPanelLogin::sInstance->onClickConnect(unused_parameter);
-}
-
-void LLPanelLogin::onClickConnectFavorite(void *)
-{
- LLPanelLogin::sInstance->onLocationSLURL();
-
- void* unused_parameter = 0;
- LLPanelLogin::sInstance->onClickConnect(unused_parameter);
-}
-
-void LLPanelLogin::onClickConnectLocation(void *)
-{
- std::string location = sInstance->getChild<LLUICtrl>("location_edit")->getValue().asString();
- LLStartUp::setStartSLURL(location);
-
- void* unused_parameter = 0;
- LLPanelLogin::sInstance->onClickConnect(unused_parameter);
-}
// static
void LLPanelLogin::onClickConnect(void *)
@@ -946,6 +876,16 @@ void LLPanelLogin::onClickConnect(void *)
}
// static
+void LLPanelLogin::onClickNewAccount(void*)
+{
+ if (sInstance)
+ {
+ LLWeb::loadURLExternal(LLTrans::getString("create_account_url"));
+ }
+}
+
+
+// static
void LLPanelLogin::onClickVersion(void*)
{
LLFloaterReg::showInstance("sl_about");
@@ -973,17 +913,13 @@ void LLPanelLogin::onClickHelp(void*)
// static
void LLPanelLogin::onPassKey(LLLineEditor* caller, void* user_data)
{
- LLPanelLogin *self = (LLPanelLogin *)user_data;
- self->mPasswordModified = TRUE;
+ LLPanelLogin *This = (LLPanelLogin *) user_data;
+ This->mPasswordModified = TRUE;
if (gKeyboard->getKeyDown(KEY_CAPSLOCK) && sCapslockDidNotification == FALSE)
{
// *TODO: use another way to notify user about enabled caps lock, see EXT-6858
sCapslockDidNotification = TRUE;
}
-
- LLLineEditor* password_edit(self->getChild<LLLineEditor>("password_edit"));
- self->mPasswordLength = password_edit->getText().length();
- self->updateLoginButtons();
}
@@ -1024,74 +960,17 @@ void LLPanelLogin::updateServer()
}
}
-void LLPanelLogin::updateLoginButtons()
-{
- LLButton* last_login_btn = getChild<LLButton>("connect_btn");
- LLButton* loc_btn = getChild<LLButton>("connect_location_btn");
- LLButton* fav_btn = getChild<LLButton>("connect_favorite_btn");
-
- // no username or no password - turn all buttons off
- if ( mUsernameLength == 0 || mPasswordLength == 0 )
- {
- last_login_btn->setEnabled(false);
- loc_btn->setEnabled(false);
- fav_btn->setEnabled(false);
- };
-
- // we have a username and a password
- if ( mUsernameLength != 0 && mPasswordLength != 0 )
- {
- // last login button always enabled for this case
- last_login_btn->setEnabled(true);
-
- // double check status of favorites combo (must be items there and one must be selected to enable button)
- LLComboBox* favorites_combo = getChild<LLComboBox>("start_location_combo");
- int num_items = favorites_combo->getItemCount();
- int selected_index = favorites_combo->getCurrentIndex();
- if ( num_items > 0 && selected_index >=0 )
- mFavoriteSelected = true;
- else
- mFavoriteSelected = false;
-
- // only turn on favorites login button if one is selected
- fav_btn->setEnabled( mFavoriteSelected );
-
- // only enable location login if there is content there
- if ( mLocationLength > 0 )
- loc_btn->setEnabled(true);
- else
- loc_btn->setEnabled(false);
- }
-}
-
-void LLPanelLogin::onLocationEditChanged(LLUICtrl* ctrl)
-{
- LLLineEditor* self = (LLLineEditor*)ctrl;
- if (self )
- {
- mLocationLength = self->getText().length();
- updateLoginButtons();
- }
-}
-
-void LLPanelLogin::onSelectFavorite()
-{
- // no way to unselect a favorite once it's selected (i think)
- mFavoriteSelected = true;
-
- updateLoginButtons();
-}
-
void LLPanelLogin::onSelectServer()
{
// The user twiddled with the grid choice ui.
// apply the selection to the grid setting.
LLPointer<LLCredential> credential;
-
+
LLComboBox* server_combo = getChild<LLComboBox>("server_combo");
LLSD server_combo_val = server_combo->getSelectedValue();
LL_INFOS("AppInit") << "grid "<<server_combo_val.asString()<< LL_ENDL;
LLGridManager::getInstance()->setGridChoice(server_combo_val.asString());
+ addFavoritesToStartLocation();
/*
* Determine whether or not the value in the start_location_combo makes sense
@@ -1123,7 +1002,6 @@ void LLPanelLogin::onSelectServer()
// the grid specified by the location is not this one, so clear the combo
location_combo->setCurrentByIndex(0); // last location on the new grid
location_combo->setTextEntry(LLStringUtil::null);
- mFavoriteSelected = true;
}
}
break;
@@ -1140,9 +1018,3 @@ void LLPanelLogin::onLocationSLURL()
LLStartUp::setStartSLURL(location); // calls onUpdateStartSLURL, above
}
-
-// static
-bool LLPanelLogin::getShowFavorites()
-{
- return gSavedPerAccountSettings.getBOOL("ShowFavoritesOnLogin");
-}
diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp
index 6c8765c62d..a7c9dbdf7b 100755
--- a/indra/newview/llpanelmaininventory.cpp
+++ b/indra/newview/llpanelmaininventory.cpp
@@ -384,9 +384,11 @@ BOOL LLPanelMainInventory::filtersVisible(void* user_data)
void LLPanelMainInventory::onClearSearch()
{
+ BOOL initially_active = FALSE;
LLFloater *finder = getFinder();
if (mActivePanel)
{
+ initially_active = mActivePanel->getFilter().isNotDefault();
mActivePanel->setFilterSubString(LLStringUtil::null);
mActivePanel->setFilterTypes(0xffffffffffffffffULL);
mActivePanel->setFilterLinks(LLInventoryFilter::FILTERLINK_INCLUDE_LINKS);
@@ -397,8 +399,8 @@ void LLPanelMainInventory::onClearSearch()
LLFloaterInventoryFinder::selectAllTypes(finder);
}
- // re-open folders that were initially open
- if (mActivePanel)
+ // re-open folders that were initially open in case filter was active
+ if (mActivePanel && (mFilterSubString.size() || initially_active))
{
mSavedFolderState->setApply(TRUE);
mActivePanel->getRootFolder()->applyFunctorRecursively(*mSavedFolderState);
diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp
index 665b9ab294..6b74d90708 100755
--- a/indra/newview/llpanelobjectinventory.cpp
+++ b/indra/newview/llpanelobjectinventory.cpp
@@ -1862,14 +1862,19 @@ void LLPanelObjectInventory::refresh()
}
if(!has_inventory)
{
- mTaskUUID = LLUUID::null;
- removeVOInventoryListener();
- clearContents();
+ clearInventoryTask();
}
mInventoryViewModel.setTaskID(mTaskUUID);
//LL_INFOS() << "LLPanelObjectInventory::refresh() " << mTaskUUID << LL_ENDL;
}
+void LLPanelObjectInventory::clearInventoryTask()
+{
+ mTaskUUID = LLUUID::null;
+ removeVOInventoryListener();
+ clearContents();
+}
+
void LLPanelObjectInventory::removeSelectedItem()
{
if(mFolders)
diff --git a/indra/newview/llpanelobjectinventory.h b/indra/newview/llpanelobjectinventory.h
index 9559f7e886..3de49242ac 100755
--- a/indra/newview/llpanelobjectinventory.h
+++ b/indra/newview/llpanelobjectinventory.h
@@ -62,6 +62,7 @@ public:
void refresh();
const LLUUID& getTaskUUID() { return mTaskUUID;}
+ void clearInventoryTask();
void removeSelectedItem();
void startRenamingSelectedItem();
diff --git a/indra/newview/llpanelpeoplemenus.cpp b/indra/newview/llpanelpeoplemenus.cpp
index 6979ae06e0..a5f59dbf4a 100755
--- a/indra/newview/llpanelpeoplemenus.cpp
+++ b/indra/newview/llpanelpeoplemenus.cpp
@@ -90,7 +90,7 @@ LLContextMenu* PeopleContextMenu::createMenu()
// Set up for multi-selected People
// registrar.add("Avatar.AddFriend", boost::bind(&LLAvatarActions::requestFriendshipDialog, mUUIDs)); // *TODO: unimplemented
- registrar.add("Avatar.IM", boost::bind(&LLAvatarActions::startConference, mUUIDs, LLUUID::null));
+ registrar.add("Avatar.IM", boost::bind(&PeopleContextMenu::startConference, this));
registrar.add("Avatar.Call", boost::bind(&LLAvatarActions::startAdhocCall, mUUIDs, LLUUID::null));
registrar.add("Avatar.OfferTeleport", boost::bind(&PeopleContextMenu::offerTeleport, this));
registrar.add("Avatar.RemoveFriend", boost::bind(&LLAvatarActions::removeFriendsDialog, mUUIDs));
@@ -272,6 +272,19 @@ void PeopleContextMenu::offerTeleport()
LLAvatarActions::offerTeleport(mUUIDs);
}
+void PeopleContextMenu::startConference()
+{
+ uuid_vec_t uuids;
+ for (uuid_vec_t::const_iterator it = mUUIDs.begin(); it != mUUIDs.end(); ++it)
+ {
+ if(*it != gAgentID)
+ {
+ uuids.push_back(*it);
+ }
+ }
+ LLAvatarActions::startConference(uuids);
+}
+
//== NearbyPeopleContextMenu ===============================================================
void NearbyPeopleContextMenu::buildContextMenu(class LLMenuGL& menu, U32 flags)
diff --git a/indra/newview/llpanelpeoplemenus.h b/indra/newview/llpanelpeoplemenus.h
index 945382ebc5..9767bab89f 100755
--- a/indra/newview/llpanelpeoplemenus.h
+++ b/indra/newview/llpanelpeoplemenus.h
@@ -47,6 +47,7 @@ private:
bool enableContextMenuItem(const LLSD& userdata);
bool checkContextMenuItem(const LLSD& userdata);
void offerTeleport();
+ void startConference();
void requestTeleport();
};
diff --git a/indra/newview/llpersistentnotificationstorage.cpp b/indra/newview/llpersistentnotificationstorage.cpp
index 8658921dc4..9e4f50b7a7 100755
--- a/indra/newview/llpersistentnotificationstorage.cpp
+++ b/indra/newview/llpersistentnotificationstorage.cpp
@@ -35,7 +35,7 @@
#include "llscreenchannel.h"
#include "llscriptfloater.h"
#include "llviewermessage.h"
-
+#include "llviewernetwork.h"
LLPersistentNotificationStorage::LLPersistentNotificationStorage()
: LLSingleton<LLPersistentNotificationStorage>()
, LLNotificationStorage("")
@@ -158,7 +158,10 @@ void LLPersistentNotificationStorage::loadNotifications()
void LLPersistentNotificationStorage::initialize()
{
- setFileName(gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "open_notifications.xml"));
+ std::string file_name = "open_notifications_" + LLGridManager::getInstance()->getGrid() + ".xml";
+ setFileName(gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, file_name));
+ setOldFileName(gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "open_notifications.xml"));
+
LLNotifications::instance().getChannel("Persistent")->
connectChanged(boost::bind(&LLPersistentNotificationStorage::onPersistentChannelChanged, this, _1));
}
diff --git a/indra/newview/llpreviewnotecard.cpp b/indra/newview/llpreviewnotecard.cpp
index c4858e241e..337a63e627 100755
--- a/indra/newview/llpreviewnotecard.cpp
+++ b/indra/newview/llpreviewnotecard.cpp
@@ -474,12 +474,17 @@ bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem)
&onSaveComplete,
(void*)info,
FALSE);
+ return true;
}
else // !gAssetStorage
{
LL_WARNS() << "Not connected to an asset storage system." << LL_ENDL;
return false;
}
+ if(mCloseAfterSave)
+ {
+ closeFloater();
+ }
}
}
return true;
diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp
index 9411b8265b..8eea5ea73e 100755
--- a/indra/newview/llpreviewscript.cpp
+++ b/indra/newview/llpreviewscript.cpp
@@ -1166,7 +1166,7 @@ void LLScriptEdCore::onBtnSaveToFile( void* userdata )
if( self->mSaveCallback )
{
LLFilePicker& file_picker = LLFilePicker::instance();
- if( file_picker.getSaveFile( LLFilePicker::FFSAVE_SCRIPT ) )
+ if( file_picker.getSaveFile( LLFilePicker::FFSAVE_SCRIPT, self->mScriptName ) )
{
std::string filename = file_picker.getFirstFile();
std::string scriptText=self->mEditor->getText();
@@ -1948,6 +1948,7 @@ void LLLiveLSLEditor::loadScriptText(LLVFS *vfs, const LLUUID &uuid, LLAssetType
mScriptEd->setScriptText(LLStringExplicit(&buffer[0]), TRUE);
mScriptEd->mEditor->makePristine();
+ mScriptEd->setScriptName(getItem()->getName());
}
diff --git a/indra/newview/llpreviewscript.h b/indra/newview/llpreviewscript.h
index 9ea191e928..515f277c4a 100755
--- a/indra/newview/llpreviewscript.h
+++ b/indra/newview/llpreviewscript.h
@@ -114,6 +114,8 @@ public:
virtual bool hasAccelerators() const { return true; }
+ void setScriptName(const std::string& name){mScriptName = name;};
+
private:
void onBtnHelp();
void onBtnDynamicHelp();
@@ -138,6 +140,7 @@ protected:
private:
std::string mSampleText;
+ std::string mScriptName;
LLScriptEditor* mEditor;
void (*mLoadCallback)(void* userdata);
void (*mSaveCallback)(void* userdata, BOOL close_after_save);
diff --git a/indra/newview/llpreviewsound.cpp b/indra/newview/llpreviewsound.cpp
index 11b81a58fc..105c5e8cbe 100755
--- a/indra/newview/llpreviewsound.cpp
+++ b/indra/newview/llpreviewsound.cpp
@@ -95,7 +95,6 @@ void LLPreviewSound::auditionSound( void *userdata )
if(item && gAudiop)
{
- LLVector3d lpos_global = gAgent.getPositionGlobal();
- gAudiop->triggerSound(item->getAssetUUID(), gAgent.getID(), SOUND_GAIN, LLAudioEngine::AUDIO_TYPE_SFX, lpos_global);
+ gAudiop->triggerSound(item->getAssetUUID(), gAgent.getID(), SOUND_GAIN, LLAudioEngine::AUDIO_TYPE_SFX);
}
}
diff --git a/indra/newview/llscenemonitor.cpp b/indra/newview/llscenemonitor.cpp
index 7f705e44d2..179a73413e 100644
--- a/indra/newview/llscenemonitor.cpp
+++ b/indra/newview/llscenemonitor.cpp
@@ -709,9 +709,20 @@ void LLSceneMonitorView::onClose(bool app_quitting)
setVisible(false);
}
+void LLSceneMonitorView::onClickCloseBtn(bool app_quitting)
+{
+ setVisible(false);
+}
+
void LLSceneMonitorView::onVisibilityChange(BOOL visible)
{
- visible = visible && LLGLSLShader::sNoFixedFunction;
+ if (!LLGLSLShader::sNoFixedFunction && visible)
+ {
+ visible = false;
+ // keep Scene monitor and its view in sycn
+ setVisible(false);
+ LL_WARNS("SceneMonitor") << "Incompatible graphical settings, Scene Monitor can't be turned on" << LL_ENDL;
+ }
LLSceneMonitor::getInstance()->setDebugViewerVisible(visible);
}
diff --git a/indra/newview/llscenemonitor.h b/indra/newview/llscenemonitor.h
index e9ceb2aa2a..5bde3b5aab 100644
--- a/indra/newview/llscenemonitor.h
+++ b/indra/newview/llscenemonitor.h
@@ -116,6 +116,7 @@ public:
protected:
virtual void onClose(bool app_quitting=false);
+ virtual void onClickCloseBtn(bool app_quitting=false);
};
extern LLSceneMonitorView* gSceneMonitorView;
diff --git a/indra/newview/llsceneview.cpp b/indra/newview/llsceneview.cpp
index 32f327b762..112fa5b4e1 100755
--- a/indra/newview/llsceneview.cpp
+++ b/indra/newview/llsceneview.cpp
@@ -56,6 +56,10 @@ void LLSceneView::onClose(bool)
setVisible(false);
}
+void LLSceneView::onClickCloseBtn(bool)
+{
+ setVisible(false);
+}
void LLSceneView::draw()
{
diff --git a/indra/newview/llsceneview.h b/indra/newview/llsceneview.h
index 6d839bcf08..e077c358b4 100755
--- a/indra/newview/llsceneview.h
+++ b/indra/newview/llsceneview.h
@@ -39,6 +39,7 @@ public:
protected:
virtual void onClose(bool app_qutting = false);
+ virtual void onClickCloseBtn(bool app_qutting = false);
};
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 5fcb5eef92..9da7717b74 100755
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -2213,7 +2213,6 @@ bool idle_startup()
return TRUE;
}
- LL_WARNS("AppInit") << "Reached end of idle_startup for state " << LLStartUp::getStartupState() << LL_ENDL;
return TRUE;
}
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index 047538a32a..eedb829b48 100755
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -200,6 +200,7 @@ BOOL LLStatusBar::postBuild()
sgp.stat.count_stat_float(&LLStatViewer::ACTIVE_MESSAGE_DATA_RECEIVED);
sgp.units("Kbps");
sgp.precision(0);
+ sgp.per_sec(true);
mSGBandwidth = LLUICtrlFactory::create<LLStatGraph>(sgp);
addChild(mSGBandwidth);
x -= SIM_STAT_WIDTH + 2;
diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp
index 4f0413a2e4..b7786bcdd7 100755
--- a/indra/newview/lltextureview.cpp
+++ b/indra/newview/lltextureview.cpp
@@ -501,7 +501,7 @@ private:
void LLGLTexMemBar::draw()
{
S32Megabytes bound_mem = LLViewerTexture::sBoundTextureMemory;
- S32Megabytes max_bound_mem = LLViewerTexture::sMaxBoundTextureMem;
+ S32Megabytes max_bound_mem = LLViewerTexture::sMaxBoundTextureMemory;
S32Megabytes total_mem = LLViewerTexture::sTotalTextureMemory;
S32Megabytes max_total_mem = LLViewerTexture::sMaxTotalTextureMem;
F32 discard_bias = LLViewerTexture::sDesiredDiscardBias;
diff --git a/indra/newview/lltoast.cpp b/indra/newview/lltoast.cpp
index 1b5b44423f..63ede7f8ac 100755
--- a/indra/newview/lltoast.cpp
+++ b/indra/newview/lltoast.cpp
@@ -234,6 +234,8 @@ void LLToast::closeToast()
{
mOnDeleteToastSignal(this);
+ setSoundFlags(SILENT);
+
closeFloater();
}
diff --git a/indra/newview/lltoastalertpanel.cpp b/indra/newview/lltoastalertpanel.cpp
index 8fd0eb5931..c82894a5cc 100755
--- a/indra/newview/lltoastalertpanel.cpp
+++ b/indra/newview/lltoastalertpanel.cpp
@@ -266,6 +266,11 @@ LLToastAlertPanel::LLToastAlertPanel( LLNotificationPtr notification, bool modal
mLineEditor->setMaxTextChars(edit_text_max_chars);
mLineEditor->setText(edit_text_contents);
+ if("SaveOutfitAs" == mNotification->getName())
+ {
+ mLineEditor->setPrevalidate(&LLTextValidate::validateASCII);
+ }
+
// decrease limit of line editor of teleport offer dialog to avoid truncation of
// location URL in invitation message, see EXT-6891
if ("OfferTeleport" == mNotification->getName())
diff --git a/indra/newview/lltoolbrush.cpp b/indra/newview/lltoolbrush.cpp
index 56f0f8be25..e3eb8ba7af 100755
--- a/indra/newview/lltoolbrush.cpp
+++ b/indra/newview/lltoolbrush.cpp
@@ -52,7 +52,7 @@
#include "llworld.h"
#include "llappviewer.h"
#include "llparcel.h"
-
+#include "roles_constants.h"
#include "llglheaders.h"
const std::string REGION_BLOCKS_TERRAFORM_MSG = "This region does not allow terraforming.\n"
@@ -239,9 +239,9 @@ void LLToolBrushLand::modifyLandInSelectionGlobal()
iter != mLastAffectedRegions.end(); ++iter)
{
LLViewerRegion* regionp = *iter;
- if (!canTerraform(regionp))
+ if (!canTerraformRegion(regionp))
{
- alertNoTerraform(regionp);
+ alertNoTerraformRegion(regionp);
return;
}
}
@@ -376,12 +376,17 @@ BOOL LLToolBrushLand::handleMouseDown(S32 x, S32 y, MASK mask)
LLRegionPosition region_position( spot );
LLViewerRegion* regionp = region_position.getRegion();
- if (!canTerraform(regionp))
+ if (!canTerraformRegion(regionp))
{
- alertNoTerraform(regionp);
+ alertNoTerraformRegion(regionp);
return TRUE;
}
+ if (!canTerraformParcel(regionp))
+ {
+ alertNoTerraformParcel();
+ }
+
LLVector3 pos_region = region_position.getPositionRegion();
U32 grids = regionp->getLand().mGridsPerEdge;
S32 i = llclamp( (S32)pos_region.mV[VX], 0, (S32)grids );
@@ -408,6 +413,16 @@ BOOL LLToolBrushLand::handleHover( S32 x, S32 y, MASK mask )
mMouseY = y;
mGotHover = TRUE;
gViewerWindow->setCursor(UI_CURSOR_TOOLLAND);
+
+ LLVector3d spot;
+ if( gViewerWindow->mousePointOnLandGlobal( mMouseX, mMouseY, &spot ) )
+ {
+
+ spot.mdV[VX] = floor( spot.mdV[VX] + 0.5 );
+ spot.mdV[VY] = floor( spot.mdV[VY] + 0.5 );
+
+ LLViewerParcelMgr::getInstance()->setHoverParcel(spot);
+ }
return TRUE;
}
@@ -653,7 +668,7 @@ void LLToolBrushLand::redo()
}*/
// static
-bool LLToolBrushLand::canTerraform(LLViewerRegion* regionp) const
+bool LLToolBrushLand::canTerraformRegion(LLViewerRegion* regionp) const
{
if (!regionp) return false;
if (regionp->canManageEstate()) return true;
@@ -661,7 +676,22 @@ bool LLToolBrushLand::canTerraform(LLViewerRegion* regionp) const
}
// static
-void LLToolBrushLand::alertNoTerraform(LLViewerRegion* regionp)
+bool LLToolBrushLand::canTerraformParcel(LLViewerRegion* regionp) const
+{
+ LLParcel* selected_parcel = LLViewerParcelMgr::getInstance()->getHoverParcel();
+ bool is_terraform_allowed = false;
+ if (selected_parcel)
+ {
+ BOOL owner_release = LLViewerParcelMgr::isParcelOwnedByAgent(selected_parcel, GP_LAND_ALLOW_EDIT_LAND);
+ is_terraform_allowed = ( gAgent.canManageEstate() || (selected_parcel->getOwnerID() == regionp->getOwner()) || owner_release);
+ }
+
+ return is_terraform_allowed;
+}
+
+
+// static
+void LLToolBrushLand::alertNoTerraformRegion(LLViewerRegion* regionp)
{
if (!regionp) return;
@@ -671,6 +701,19 @@ void LLToolBrushLand::alertNoTerraform(LLViewerRegion* regionp)
}
+// static
+void LLToolBrushLand::alertNoTerraformParcel()
+{
+ LLParcel* selected_parcel = LLViewerParcelMgr::getInstance()->getHoverParcel();
+ if (selected_parcel)
+ {
+ LLSD args;
+ args["PARCEL"] = selected_parcel->getName();
+ LLNotificationsUtil::add("ParcelNoTerraforming", args);
+ }
+
+}
+
///============================================================================
/// Local function definitions
///============================================================================
diff --git a/indra/newview/lltoolbrush.h b/indra/newview/lltoolbrush.h
index 1c7f198900..2ec6911de9 100755
--- a/indra/newview/lltoolbrush.h
+++ b/indra/newview/lltoolbrush.h
@@ -81,10 +81,14 @@ protected:
const LLVector3& pos_world);
// Does region allow terraform, or are we a god?
- bool canTerraform(LLViewerRegion* regionp) const;
+ bool canTerraformRegion(LLViewerRegion* regionp) const;
+
+ bool canTerraformParcel(LLViewerRegion* regionp) const;
// Modal dialog that you can't terraform the region
- void alertNoTerraform(LLViewerRegion* regionp);
+ void alertNoTerraformRegion(LLViewerRegion* regionp);
+
+ void alertNoTerraformParcel();
protected:
F32 mStartingZ;
diff --git a/indra/newview/lltoolcomp.cpp b/indra/newview/lltoolcomp.cpp
index b75d6b3dcb..4bda9072d0 100755
--- a/indra/newview/lltoolcomp.cpp
+++ b/indra/newview/lltoolcomp.cpp
@@ -126,12 +126,20 @@ void LLToolComposite::handleSelect()
mSelected = TRUE;
}
+void LLToolComposite::handleDeselect()
+{
+ mCur->handleDeselect();
+ mCur = mDefault;
+ mSelected = FALSE;
+}
+
//----------------------------------------------------------------------------
// LLToolCompInspect
//----------------------------------------------------------------------------
LLToolCompInspect::LLToolCompInspect()
-: LLToolComposite(std::string("Inspect"))
+: LLToolComposite(std::string("Inspect")),
+ mIsToolCameraActive(FALSE)
{
mSelectRect = new LLToolSelectRect(this);
mDefault = mSelectRect;
@@ -146,42 +154,87 @@ LLToolCompInspect::~LLToolCompInspect()
BOOL LLToolCompInspect::handleMouseDown(S32 x, S32 y, MASK mask)
{
- mMouseDown = TRUE;
- gViewerWindow->pickAsync(x, y, mask, pickCallback);
- return TRUE;
+ BOOL handled = FALSE;
+
+ if (mCur == LLToolCamera::getInstance())
+ {
+ handled = mCur->handleMouseDown(x, y, mask);
+ }
+ else
+ {
+ mMouseDown = TRUE;
+ gViewerWindow->pickAsync(x, y, mask, pickCallback);
+ handled = TRUE;
+ }
+
+ return handled;
+}
+
+BOOL LLToolCompInspect::handleMouseUp(S32 x, S32 y, MASK mask)
+{
+ BOOL handled = LLToolComposite::handleMouseUp(x, y, mask);
+ mIsToolCameraActive = getCurrentTool() == LLToolCamera::getInstance();
+ return handled;
}
void LLToolCompInspect::pickCallback(const LLPickInfo& pick_info)
{
LLViewerObject* hit_obj = pick_info.getObject();
+ LLToolCompInspect * tool_inspectp = LLToolCompInspect::getInstance();
- if (!LLToolCompInspect::getInstance()->mMouseDown)
+ if (!tool_inspectp->mMouseDown)
{
// fast click on object, but mouse is already up...just do select
- LLToolCompInspect::getInstance()->mSelectRect->handleObjectSelection(pick_info, gSavedSettings.getBOOL("EditLinkedParts"), FALSE);
+ tool_inspectp->mSelectRect->handleObjectSelection(pick_info, gSavedSettings.getBOOL("EditLinkedParts"), FALSE);
return;
}
- if( hit_obj )
- {
- if (LLSelectMgr::getInstance()->getSelection()->getObjectCount())
- {
- LLEditMenuHandler::gEditMenuHandler = LLSelectMgr::getInstance();
- }
- LLToolCompInspect::getInstance()->setCurrentTool( LLToolCompInspect::getInstance()->mSelectRect );
- LLToolCompInspect::getInstance()->mSelectRect->handlePick( pick_info );
+ LLSelectMgr * mgr_selectp = LLSelectMgr::getInstance();
+ if( hit_obj && mgr_selectp->getSelection()->getObjectCount()) {
+ LLEditMenuHandler::gEditMenuHandler = mgr_selectp;
+ }
+
+ tool_inspectp->setCurrentTool( tool_inspectp->mSelectRect );
+ tool_inspectp->mIsToolCameraActive = FALSE;
+ tool_inspectp->mSelectRect->handlePick( pick_info );
+}
+
+BOOL LLToolCompInspect::handleDoubleClick(S32 x, S32 y, MASK mask)
+{
+ return TRUE;
+}
+
+BOOL LLToolCompInspect::handleKey(KEY key, MASK mask)
+{
+ BOOL handled = FALSE;
+ if(KEY_ALT == key)
+ {
+ setCurrentTool(LLToolCamera::getInstance());
+ mIsToolCameraActive = TRUE;
+ handled = TRUE;
}
else
{
- LLToolCompInspect::getInstance()->setCurrentTool( LLToolCompInspect::getInstance()->mSelectRect );
- LLToolCompInspect::getInstance()->mSelectRect->handlePick( pick_info );
+ handled = LLToolComposite::handleKey(key, mask);
}
+
+ return handled;
}
-BOOL LLToolCompInspect::handleDoubleClick(S32 x, S32 y, MASK mask)
+void LLToolCompInspect::onMouseCaptureLost()
{
- return TRUE;
+ LLToolComposite::onMouseCaptureLost();
+ mIsToolCameraActive = FALSE;
+}
+
+void LLToolCompInspect::keyUp(KEY key, MASK mask)
+{
+ if (KEY_ALT == key && mCur == LLToolCamera::getInstance())
+ {
+ setCurrentTool(mDefault);
+ mIsToolCameraActive = FALSE;
+ }
}
//----------------------------------------------------------------------------
diff --git a/indra/newview/lltoolcomp.h b/indra/newview/lltoolcomp.h
index bbb5ed5797..e75d3c22e2 100755
--- a/indra/newview/lltoolcomp.h
+++ b/indra/newview/lltoolcomp.h
@@ -62,7 +62,7 @@ public:
virtual BOOL clipMouseWhenDown() { return mCur->clipMouseWhenDown(); }
virtual void handleSelect();
- virtual void handleDeselect() { mCur->handleDeselect(); mCur = mDefault; mSelected = FALSE; }
+ virtual void handleDeselect();
virtual void render() { mCur->render(); }
virtual void draw() { mCur->draw(); }
@@ -78,9 +78,10 @@ public:
{ mCur->localPointToScreen(local_x, local_y, screen_x, screen_y); }
BOOL isSelecting();
+ LLTool* getCurrentTool() { return mCur; }
+
protected:
void setCurrentTool( LLTool* new_tool );
- LLTool* getCurrentTool() { return mCur; }
// In hover handler, call this to auto-switch tools
void setToolFromMask( MASK mask, LLTool *normal );
@@ -108,9 +109,18 @@ public:
// Overridden from LLToolComposite
virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask);
+ virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask);
virtual BOOL handleDoubleClick(S32 x, S32 y, MASK mask);
+ virtual BOOL handleKey(KEY key, MASK mask);
+ virtual void onMouseCaptureLost();
+ void keyUp(KEY key, MASK mask);
static void pickCallback(const LLPickInfo& pick_info);
+
+ BOOL isToolCameraActive() const { return mIsToolCameraActive; }
+
+private:
+ BOOL mIsToolCameraActive;
};
//-----------------------------------------------------------------------
diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp
index eabf6f0497..575e5c5c52 100755
--- a/indra/newview/lltooldraganddrop.cpp
+++ b/indra/newview/lltooldraganddrop.cpp
@@ -513,6 +513,7 @@ void LLToolDragAndDrop::onMouseCaptureLost()
mSource = SOURCE_AGENT;
mSourceID.setNull();
mObjectID.setNull();
+ mCustomMsg.clear();
}
BOOL LLToolDragAndDrop::handleMouseUp( S32 x, S32 y, MASK mask )
@@ -556,6 +557,12 @@ ECursorType LLToolDragAndDrop::acceptanceToCursor( EAcceptance acceptance )
mCursor = UI_CURSOR_NOLOCKED;
break;
+ case ACCEPT_NO_CUSTOM:
+ mToolTipMsg = mCustomMsg;
+ mCursor = UI_CURSOR_NO;
+ break;
+
+
case ACCEPT_NO:
mCursor = UI_CURSOR_NO;
break;
@@ -630,6 +637,7 @@ BOOL LLToolDragAndDrop::handleToolTip(S32 x, S32 y, MASK mask)
void LLToolDragAndDrop::handleDeselect()
{
mToolTipMsg.clear();
+ mCustomMsg.clear();
LLToolTipMgr::instance().blockToolTips();
}
@@ -2164,6 +2172,26 @@ EAcceptance LLToolDragAndDrop::dad3dWearCategory(
// TODO: investigate wearables may not be loaded at this point EXT-8231
}
+ U32 max_items = gSavedSettings.getU32("WearFolderLimit");
+ if (category->getDescendentCount()>max_items)
+ {
+ LLInventoryModel::cat_array_t cats;
+ LLInventoryModel::item_array_t items;
+ LLFindWearablesEx not_worn(/*is_worn=*/ false, /*include_body_parts=*/ false);
+ gInventory.collectDescendentsIf(category->getUUID(),
+ cats,
+ items,
+ LLInventoryModel::EXCLUDE_TRASH,
+ not_worn);
+ if (items.size() > max_items)
+ {
+ LLStringUtil::format_map_t args;
+ args["AMOUNT"] = llformat("%d", max_items);
+ mCustomMsg = LLTrans::getString("TooltipTooManyWearables",args);
+ return ACCEPT_NO_CUSTOM;
+ }
+ }
+
if(mSource == SOURCE_AGENT)
{
const LLUUID trash_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_TRASH);
diff --git a/indra/newview/lltooldraganddrop.h b/indra/newview/lltooldraganddrop.h
index 99b794ce58..de501ea32a 100755
--- a/indra/newview/lltooldraganddrop.h
+++ b/indra/newview/lltooldraganddrop.h
@@ -149,6 +149,7 @@ protected:
BOOL mDrop;
S32 mCurItemIndex;
std::string mToolTipMsg;
+ std::string mCustomMsg;
enddrag_signal_t mEndDragSignal;
diff --git a/indra/newview/lltoolfocus.cpp b/indra/newview/lltoolfocus.cpp
index ee4ec112f8..58073d1186 100755
--- a/indra/newview/lltoolfocus.cpp
+++ b/indra/newview/lltoolfocus.cpp
@@ -53,6 +53,7 @@
#include "llmorphview.h"
#include "llfloaterreg.h"
#include "llfloatercamera.h"
+#include "llmenugl.h"
// Globals
BOOL gCameraBtnZoom = TRUE;
@@ -75,6 +76,7 @@ LLToolCamera::LLToolCamera()
mOutsideSlopX(FALSE),
mOutsideSlopY(FALSE),
mValidClickPoint(FALSE),
+ mValidSelection(FALSE),
mMouseSteering(FALSE),
mMouseUpX(0),
mMouseUpY(0),
@@ -91,6 +93,8 @@ void LLToolCamera::handleSelect()
if (gFloaterTools)
{
gFloaterTools->setStatusText("camera");
+ // in case we start from tools floater, we count any selection as valid
+ mValidSelection = gFloaterTools->getVisible();
}
}
@@ -98,6 +102,14 @@ void LLToolCamera::handleSelect()
void LLToolCamera::handleDeselect()
{
// gAgent.setLookingAtAvatar(FALSE);
+
+ // Make sure that temporary selection won't pass anywhere except pie tool.
+ MASK override_mask = gKeyboard ? gKeyboard->currentMask(TRUE) : 0;
+ if (!mValidSelection && (override_mask != MASK_NONE || (gFloaterTools && gFloaterTools->getVisible())))
+ {
+ LLMenuGL::sMenuContainer->hideMenus();
+ LLSelectMgr::getInstance()->validateSelection();
+ }
}
BOOL LLToolCamera::handleMouseDown(S32 x, S32 y, MASK mask)
diff --git a/indra/newview/lltoolfocus.h b/indra/newview/lltoolfocus.h
index b1ac42e33f..d23eb2cce6 100755
--- a/indra/newview/lltoolfocus.h
+++ b/indra/newview/lltoolfocus.h
@@ -65,6 +65,7 @@ protected:
BOOL mOutsideSlopX;
BOOL mOutsideSlopY;
BOOL mValidClickPoint;
+ BOOL mValidSelection;
BOOL mMouseSteering;
S32 mMouseUpX; // needed for releaseMouse()
S32 mMouseUpY;
diff --git a/indra/newview/lltoolgrab.cpp b/indra/newview/lltoolgrab.cpp
index 493c970141..fa6694b93b 100755
--- a/indra/newview/lltoolgrab.cpp
+++ b/indra/newview/lltoolgrab.cpp
@@ -56,6 +56,7 @@
#include "llviewerregion.h"
#include "llvoavatarself.h"
#include "llworld.h"
+#include "llmenugl.h"
const S32 SLOP_DIST_SQ = 4;
@@ -83,6 +84,7 @@ LLToolGrab::LLToolGrab( LLToolComposite* composite )
mLastFace(0),
mSpinGrabbing( FALSE ),
mSpinRotation(),
+ mClickedInMouselook( FALSE ),
mHideBuildHighlight(FALSE)
{ }
@@ -97,6 +99,8 @@ void LLToolGrab::handleSelect()
{
// viewer can crash during startup if we don't check.
gFloaterTools->setStatusText("grab");
+ // in case we start from tools floater, we count any selection as valid
+ mValidSelection = gFloaterTools->getVisible();
}
gGrabBtnVertical = FALSE;
gGrabBtnSpin = FALSE;
@@ -109,6 +113,14 @@ void LLToolGrab::handleDeselect()
setMouseCapture( FALSE );
}
+ // Make sure that temporary(invalid) selection won't pass anywhere except pie tool.
+ MASK override_mask = gKeyboard ? gKeyboard->currentMask(TRUE) : 0;
+ if (!mValidSelection && (override_mask != MASK_NONE || (gFloaterTools && gFloaterTools->getVisible())))
+ {
+ LLMenuGL::sMenuContainer->hideMenus();
+ LLSelectMgr::getInstance()->validateSelection();
+ }
+
}
BOOL LLToolGrab::handleDoubleClick(S32 x, S32 y, MASK mask)
@@ -136,6 +148,7 @@ BOOL LLToolGrab::handleMouseDown(S32 x, S32 y, MASK mask)
// can grab transparent objects (how touch event propagates, scripters rely on this)
gViewerWindow->pickAsync(x, y, mask, pickCallback, TRUE);
}
+ mClickedInMouselook = gAgentCamera.cameraMouselook();
return TRUE;
}
@@ -926,13 +939,21 @@ BOOL LLToolGrab::handleMouseUp(S32 x, S32 y, MASK mask)
{
setMouseCapture( FALSE );
}
+
mMode = GRAB_INACTIVE;
- // HACK: Make some grabs temporary
- if (gGrabTransientTool)
+ if(mClickedInMouselook && !gAgentCamera.cameraMouselook())
{
- gBasicToolset->selectTool( gGrabTransientTool );
- gGrabTransientTool = NULL;
+ mClickedInMouselook = FALSE;
+ }
+ else
+ {
+ // HACK: Make some grabs temporary
+ if (gGrabTransientTool)
+ {
+ gBasicToolset->selectTool( gGrabTransientTool );
+ gGrabTransientTool = NULL;
+ }
}
//gAgent.setObjectTracking(gSavedSettings.getBOOL("TrackFocusObject"));
diff --git a/indra/newview/lltoolgrab.h b/indra/newview/lltoolgrab.h
index 06a3b662c8..4e22732124 100755
--- a/indra/newview/lltoolgrab.h
+++ b/indra/newview/lltoolgrab.h
@@ -119,6 +119,7 @@ private:
BOOL mHasMoved; // has mouse moved off center at all?
BOOL mOutsideSlop; // has mouse moved outside center 5 pixels?
BOOL mDeselectedThisClick;
+ BOOL mValidSelection;
S32 mLastFace;
LLVector2 mLastUVCoords;
@@ -133,6 +134,8 @@ private:
LLQuaternion mSpinRotation;
BOOL mHideBuildHighlight;
+
+ BOOL mClickedInMouselook;
};
extern BOOL gGrabBtnVertical;
diff --git a/indra/newview/lltoolmgr.cpp b/indra/newview/lltoolmgr.cpp
index aa55caf7ec..175227173f 100755
--- a/indra/newview/lltoolmgr.cpp
+++ b/indra/newview/lltoolmgr.cpp
@@ -34,6 +34,7 @@
//#include "llfirstuse.h"
// tools and manipulators
+#include "llfloaterinspect.h"
#include "lltool.h"
#include "llmanipscale.h"
#include "llselectmgr.h"
@@ -218,7 +219,20 @@ LLTool* LLToolMgr::getCurrentTool()
}
if (cur_tool)
{
- cur_tool->handleSelect();
+ if ( LLToolCompInspect::getInstance()->isToolCameraActive()
+ && prev_tool == LLToolCamera::getInstance()
+ && cur_tool == LLToolPie::getInstance() )
+ {
+ LLFloaterInspect * inspect_instance = LLFloaterReg::getTypedInstance<LLFloaterInspect>("inspect");
+ if(inspect_instance && inspect_instance->getVisible())
+ {
+ setTransientTool(LLToolCompInspect::getInstance());
+ }
+ }
+ else
+ {
+ cur_tool->handleSelect();
+ }
}
}
diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp
index 6881ec4563..e4353aafaa 100755
--- a/indra/newview/lltoolpie.cpp
+++ b/indra/newview/lltoolpie.cpp
@@ -439,8 +439,12 @@ ECursorType LLToolPie::cursorFromObject(LLViewerObject* object)
break;
case CLICK_ACTION_BUY:
if ( mClickActionBuyEnabled )
- {
- cursor = UI_CURSOR_TOOLBUY;
+ {
+ LLSelectNode* node = LLSelectMgr::getInstance()->getHoverNode();
+ if (!node || node->mSaleInfo.isForSale())
+ {
+ cursor = UI_CURSOR_TOOLBUY;
+ }
}
break;
case CLICK_ACTION_OPEN:
@@ -544,6 +548,7 @@ BOOL LLToolPie::handleHover(S32 x, S32 y, MASK mask)
mHoverPick = gViewerWindow->pickImmediate(x, y, FALSE);
LLViewerObject *parent = NULL;
LLViewerObject *object = mHoverPick.getObject();
+ LLSelectMgr::getInstance()->setHoverObject(object, mHoverPick.mObjectFace);
if (object)
{
parent = object->getRootEdit();
@@ -1306,7 +1311,16 @@ void LLToolPie::handleDeselect()
}
// remove temporary selection for pie menu
LLSelectMgr::getInstance()->setHoverObject(NULL);
- LLSelectMgr::getInstance()->validateSelection();
+
+ // Menu may be still up during transfer to different tool.
+ // toolfocus and toolgrab should retain menu, they will clear it if needed
+ MASK override_mask = gKeyboard ? gKeyboard->currentMask(TRUE) : 0;
+ if (gMenuHolder && (!gMenuHolder->getVisible() || (override_mask & (MASK_ALT | MASK_CONTROL)) == 0))
+ {
+ // in most cases menu is useless without correct selection, so either keep both or discard both
+ gMenuHolder->hideMenus();
+ LLSelectMgr::getInstance()->validateSelection();
+ }
}
LLTool* LLToolPie::getOverrideTool(MASK mask)
@@ -1686,6 +1700,12 @@ BOOL LLToolPie::handleRightClickPick()
}
}
+ // non UI object - put focus back "in world"
+ if (gFocusMgr.getKeyboardFocus())
+ {
+ gFocusMgr.setKeyboardFocus(NULL);
+ }
+
LLTool::handleRightMouseDown(x, y, mask);
// We handled the event.
return TRUE;
diff --git a/indra/newview/lltoolselect.cpp b/indra/newview/lltoolselect.cpp
index 0a9153eecb..812abe9dbd 100755
--- a/indra/newview/lltoolselect.cpp
+++ b/indra/newview/lltoolselect.cpp
@@ -36,6 +36,7 @@
#include "llmanip.h"
#include "llmenugl.h"
#include "llselectmgr.h"
+#include "llviewermediafocus.h"
#include "lltoolmgr.h"
#include "llfloaterscriptdebug.h"
#include "llviewercamera.h"
@@ -110,6 +111,21 @@ LLObjectSelectionHandle LLToolSelect::handleObjectSelection(const LLPickInfo& pi
{
BOOL already_selected = object->isSelected();
+ if (already_selected &&
+ object->getNumTEs() > 0 &&
+ !LLSelectMgr::getInstance()->getSelection()->contains(object,SELECT_ALL_TES))
+ {
+ const LLTextureEntry* tep = object->getTE(pick.mObjectFace);
+ if (tep && !tep->isSelected() && !LLViewerMediaFocus::getInstance()->getFocusedObjectID().isNull())
+ {
+ // we were interacting with media and clicked on non selected face, drop media focus
+ LLViewerMediaFocus::getInstance()->clearFocus();
+ // selection was removed and zoom preserved by clearFocus(), continue with regular selection
+ already_selected = false;
+ extend_select = true;
+ }
+ }
+
if ( extend_select )
{
if ( already_selected )
diff --git a/indra/newview/llurldispatcher.cpp b/indra/newview/llurldispatcher.cpp
index 615064c782..78268944fc 100755
--- a/indra/newview/llurldispatcher.cpp
+++ b/indra/newview/llurldispatcher.cpp
@@ -278,13 +278,13 @@ public:
tokens[2].asReal(),
tokens[3].asReal());
}
-
- LLSD args;
- args["LOCATION"] = tokens[0];
// Region names may be %20 escaped.
std::string region_name = LLURI::unescape(tokens[0]);
+ LLSD args;
+ args["LOCATION"] = region_name;
+
LLSD payload;
payload["region_name"] = region_name;
payload["callback_url"] = LLSLURL(region_name, coords).getSLURLString();
diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp
index 4e491f257d..e19fe9ca75 100755
--- a/indra/newview/llviewerfloaterreg.cpp
+++ b/indra/newview/llviewerfloaterreg.cpp
@@ -76,6 +76,7 @@
#include "llfloaterinspect.h"
#include "llfloaterinventory.h"
#include "llfloaterjoystick.h"
+#include "llfloaterlagmeter.h"
#include "llfloaterland.h"
#include "llfloaterlandholdings.h"
#include "llfloatermap.h"
@@ -237,6 +238,7 @@ void LLViewerFloaterReg::registerFloaters()
LLNotificationsUI::registerFloater();
LLFloaterDisplayNameUtil::registerFloater();
+ LLFloaterReg::add("lagmeter", "floater_lagmeter.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLagMeter>);
LLFloaterReg::add("land_holdings", "floater_land_holdings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLandHoldings>);
LLFloaterReg::add("mem_leaking", "floater_mem_leaking.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMemLeak>);
diff --git a/indra/newview/llviewerkeyboard.cpp b/indra/newview/llviewerkeyboard.cpp
index 160478788c..b0f4802e20 100755
--- a/indra/newview/llviewerkeyboard.cpp
+++ b/indra/newview/llviewerkeyboard.cpp
@@ -162,7 +162,7 @@ void agent_push_backward( EKeystate s )
{
camera_move_backward(s);
}
- else if (!gAgent.backwardGrabbed() && gAgentAvatarp->isSitting())
+ else if (!gAgent.backwardGrabbed() && gAgentAvatarp->isSitting() && gSavedSettings.getBOOL("LeaveMouselook"))
{
gAgentCamera.changeCameraToThirdPerson();
}
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 8c9429c05d..38aaff9279 100755
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -64,6 +64,7 @@
#include "llfloaterinventory.h"
#include "llfloaterimcontainer.h"
#include "llfloaterland.h"
+#include "llfloaterimnearbychat.h"
#include "llfloaterpathfindingcharacters.h"
#include "llfloaterpathfindinglinksets.h"
#include "llfloaterpay.h"
@@ -92,6 +93,7 @@
#include "llparcel.h"
#include "llrootview.h"
#include "llsceneview.h"
+#include "llscenemonitor.h"
#include "llselectmgr.h"
#include "llspellcheckmenuhandler.h"
#include "llstatusbar.h"
@@ -533,6 +535,10 @@ class LLAdvancedToggleConsole : public view_listener_t
{
toggle_visibility( (void*)gSceneView);
}
+ else if ("scene monitor" == console_type)
+ {
+ toggle_visibility( (void*)gSceneMonitorView);
+ }
return true;
}
@@ -559,6 +565,10 @@ class LLAdvancedCheckConsole : public view_listener_t
{
new_value = get_visibility( (void*) gSceneView);
}
+ else if ("scene monitor" == console_type)
+ {
+ new_value = get_visibility( (void*) gSceneMonitorView);
+ }
return new_value;
}
@@ -5660,6 +5670,25 @@ void toggle_debug_menus(void*)
// gExportDialog = LLUploadDialog::modalUploadDialog("Exporting selected objects...");
// }
//
+
+class LLCommunicateNearbyChat : public view_listener_t
+{
+ bool handleEvent(const LLSD& userdata)
+ {
+ LLFloaterIMContainer* im_box = LLFloaterIMContainer::getInstance();
+ bool nearby_visible = LLFloaterReg::getTypedInstance<LLFloaterIMNearbyChat>("nearby_chat")->isInVisibleChain();
+ if(nearby_visible && im_box->getSelectedSession() == LLUUID() && im_box->getConversationListItemSize() > 1)
+ {
+ im_box->selectNextorPreviousConversation(false);
+ }
+ else
+ {
+ LLFloaterReg::toggleInstanceOrBringToFront("nearby_chat");
+ }
+ return true;
+ }
+};
+
class LLWorldSetHomeLocation : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
@@ -6176,7 +6205,7 @@ class LLPromptShowURL : public view_listener_t
std::string alert = param.substr(0, offset);
std::string url = param.substr(offset+1);
- if(gSavedSettings.getBOOL("UseExternalBrowser"))
+ if (LLWeb::useExternalBrowser(url))
{
LLSD payload;
payload["url"] = url;
@@ -7796,7 +7825,7 @@ void handle_web_content_test(const LLSD& param)
void handle_show_url(const LLSD& param)
{
std::string url = param.asString();
- if(gSavedSettings.getBOOL("UseExternalBrowser"))
+ if (LLWeb::useExternalBrowser(url))
{
LLWeb::loadURLExternal(url);
}
@@ -8233,9 +8262,9 @@ class LLWorldEnableEnvSettings : public view_listener_t
bool result = false;
std::string tod = userdata.asString();
- if (tod == "region")
+ if (LLEnvManagerNew::instance().getUseRegionSettings())
{
- return LLEnvManagerNew::instance().getUseRegionSettings();
+ return (tod == "region");
}
if (LLEnvManagerNew::instance().getUseFixedSky())
@@ -8578,6 +8607,9 @@ void initialize_menus()
// Me > Movement
view_listener_t::addMenu(new LLAdvancedAgentFlyingInfo(), "Agent.getFlying");
+ //Communicate Nearby chat
+ view_listener_t::addMenu(new LLCommunicateNearbyChat(), "Communicate.NearbyChat");
+
// Communicate > Voice morphing > Subscribe...
commit.add("Communicate.VoiceMorphing.Subscribe", boost::bind(&handle_voice_morphing_subscribe));
LLVivoxVoiceClient * voice_clientp = LLVivoxVoiceClient::getInstance();
diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp
index 80f47ecab2..b2a37694fe 100755
--- a/indra/newview/llviewermenufile.cpp
+++ b/indra/newview/llviewermenufile.cpp
@@ -477,8 +477,10 @@ class LLFileEnableCloseWindow : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
- bool new_value = NULL != gFloaterView->getFrontmostClosableFloater();
- return new_value;
+ bool frontmost_fl_exists = (NULL != gFloaterView->getFrontmostClosableFloater());
+ bool frontmost_snapshot_fl_exists = (NULL != gSnapshotFloaterView->getFrontmostClosableFloater());
+
+ return frontmost_fl_exists || frontmost_snapshot_fl_exists;
}
};
@@ -486,7 +488,21 @@ class LLFileCloseWindow : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
- LLFloater::closeFrontmostFloater();
+ bool frontmost_fl_exists = (NULL != gFloaterView->getFrontmostClosableFloater());
+ LLFloater* snapshot_floater = gSnapshotFloaterView->getFrontmostClosableFloater();
+
+ if(snapshot_floater && (!frontmost_fl_exists || snapshot_floater->hasFocus()))
+ {
+ snapshot_floater->closeFloater();
+ if (gFocusMgr.getKeyboardFocus() == NULL)
+ {
+ gFloaterView->focusFrontFloater();
+ }
+ }
+ else
+ {
+ LLFloater::closeFrontmostFloater();
+ }
return true;
}
};
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 332d04a1f4..44eb4361f1 100755
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -3767,6 +3767,15 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args);
}
+ // don't call notification for debug messages from not owned objects
+ if (chat.mChatType == CHAT_TYPE_DEBUG_MSG)
+ {
+ if (gAgentID != chat.mOwnerID)
+ {
+ return;
+ }
+ }
+
LLSD msg_notify = LLSD(LLSD::emptyMap());
msg_notify["session_id"] = LLUUID();
msg_notify["from_id"] = chat.mFromID;
@@ -5822,7 +5831,7 @@ bool handle_teleport_access_blocked(LLSD& llsdBlock, const std::string & notific
tp_failure_notification = LLNotificationsUtil::add(notificationID+"_PreferencesOutOfSync", llsdBlock, llsdBlock, handle_prompt_for_maturity_level_change_callback);
returnValue = true;
}
- }
+ }
} // End of special handling for "TeleportEntryAccessBlocked"
else
{ // Normal case, no message munging
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index 80592f01ce..4f992fc184 100755
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -2792,8 +2792,8 @@ void LLViewerObject::dirtyInventory()
mInventory->clear(); // will deref and delete entries
delete mInventory;
mInventory = NULL;
- mInventoryDirty = TRUE;
}
+ mInventoryDirty = TRUE;
}
void LLViewerObject::registerInventoryListener(LLVOInventoryListener* listener, void* user_data)
@@ -2830,12 +2830,15 @@ void LLViewerObject::clearInventoryListeners()
void LLViewerObject::requestInventory()
{
- mInventoryDirty = FALSE;
+ if(mInventoryDirty && mInventory && !mInventoryCallbacks.empty())
+ {
+ mInventory->clear(); // will deref and delete entries
+ delete mInventory;
+ mInventory = NULL;
+ mInventoryDirty = FALSE; //since we are going to request it now
+ }
if(mInventory)
{
- //mInventory->clear() // will deref and delete it
- //delete mInventory;
- //mInventory = NULL;
doInventoryCallback();
}
// throw away duplicate requests
diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp
index cdb08f4707..7c94442f09 100755
--- a/indra/newview/llviewerparcelmgr.cpp
+++ b/indra/newview/llviewerparcelmgr.cpp
@@ -117,6 +117,7 @@ LLViewerParcelMgr::LLViewerParcelMgr()
mHoverRequestResult(0),
mHoverWestSouth(),
mHoverEastNorth(),
+ mTeleportInProgressPosition(),
mRenderCollision(FALSE),
mRenderSelection(TRUE),
mCollisionBanned(0),
@@ -1320,12 +1321,6 @@ void LLViewerParcelMgr::setHoverParcel(const LLVector3d& pos)
static U32 last_west, last_south;
- // only request parcel info when tooltip is shown
- if (!gSavedSettings.getBOOL("ShowLandHoverTip"))
- {
- return;
- }
-
// only request parcel info if position has changed outside of the
// last parcel grid step
U32 west_parcel_step = (U32) floor( pos.mdV[VX] / PARCEL_GRID_STEP_METERS );
@@ -1585,7 +1580,15 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use
if (instance->mTeleportInProgress)
{
instance->mTeleportInProgress = FALSE;
- instance->mTeleportFinishedSignal(gAgent.getPositionGlobal(), false);
+ if(instance->mTeleportInProgressPosition.isNull())
+ {
+ //initial update
+ instance->mTeleportFinishedSignal(gAgent.getPositionGlobal(), false);
+ }
+ else
+ {
+ instance->mTeleportFinishedSignal(instance->mTeleportInProgressPosition, false);
+ }
}
}
}
@@ -2494,6 +2497,7 @@ void LLViewerParcelMgr::onTeleportFinished(bool local, const LLVector3d& new_pos
// Non-local teleport (inter-region or between different parcels of the same region).
// The agent parcel data has not been updated yet.
// Let's wait for the update and then emit the signal.
+ mTeleportInProgressPosition = new_pos;
mTeleportInProgress = TRUE;
}
}
diff --git a/indra/newview/llviewerparcelmgr.h b/indra/newview/llviewerparcelmgr.h
index 58d398e141..b5b269abdf 100755
--- a/indra/newview/llviewerparcelmgr.h
+++ b/indra/newview/llviewerparcelmgr.h
@@ -335,6 +335,7 @@ private:
std::vector<LLParcelObserver*> mObservers;
BOOL mTeleportInProgress;
+ LLVector3d mTeleportInProgressPosition;
teleport_finished_signal_t mTeleportFinishedSignal;
teleport_failed_signal_t mTeleportFailedSignal;
diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index ba89aafc84..4e2eef39d6 100755
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -88,7 +88,7 @@ F32 LLViewerTexture::sDesiredDiscardBias = 0.f;
F32 LLViewerTexture::sDesiredDiscardScale = 1.1f;
S32Bytes LLViewerTexture::sBoundTextureMemory;
S32Bytes LLViewerTexture::sTotalTextureMemory;
-S32Megabytes LLViewerTexture::sMaxBoundTextureMem;
+S32Megabytes LLViewerTexture::sMaxBoundTextureMemory;
S32Megabytes LLViewerTexture::sMaxTotalTextureMem;
S32Bytes LLViewerTexture::sMaxDesiredTextureMem;
S8 LLViewerTexture::sCameraMovingDiscardBias = 0;
@@ -534,11 +534,11 @@ void LLViewerTexture::updateClass(const F32 velocity, const F32 angular_velocity
sBoundTextureMemory = LLImageGL::sBoundTextureMemory;
sTotalTextureMemory = LLImageGL::sGlobalTextureMemory;
- sMaxBoundTextureMem = gTextureList.getMaxResidentTexMem();
+ sMaxBoundTextureMemory = gTextureList.getMaxResidentTexMem();
sMaxTotalTextureMem = gTextureList.getMaxTotalTextureMem();
sMaxDesiredTextureMem = sMaxTotalTextureMem; //in Bytes, by default and when total used texture memory is small.
- if (sBoundTextureMemory >= sMaxBoundTextureMem ||
+ if (sBoundTextureMemory >= sMaxBoundTextureMemory ||
sTotalTextureMemory >= sMaxTotalTextureMem)
{
//when texture memory overflows, lower down the threshold to release the textures more aggressively.
@@ -558,7 +558,7 @@ void LLViewerTexture::updateClass(const F32 velocity, const F32 angular_velocity
sEvaluationTimer.reset();
}
else if (sDesiredDiscardBias > 0.0f &&
- sBoundTextureMemory < sMaxBoundTextureMem * texmem_lower_bound_scale &&
+ sBoundTextureMemory < sMaxBoundTextureMemory * texmem_lower_bound_scale &&
sTotalTextureMemory < sMaxTotalTextureMem * texmem_lower_bound_scale)
{
// If we are using less texture memory than we should,
@@ -576,7 +576,7 @@ void LLViewerTexture::updateClass(const F32 velocity, const F32 angular_velocity
sCameraMovingBias = llmax(0.2f * camera_moving_speed, 2.0f * camera_angular_speed - 1);
sCameraMovingDiscardBias = (S8)(sCameraMovingBias);
- LLViewerTexture::sFreezeImageScalingDown = (sBoundTextureMemory < 0.75f * sMaxBoundTextureMem * texmem_middle_bound_scale) &&
+ LLViewerTexture::sFreezeImageScalingDown = (sBoundTextureMemory < 0.75f * sMaxBoundTextureMemory * texmem_middle_bound_scale) &&
(sTotalTextureMemory < 0.75f * sMaxTotalTextureMem * texmem_middle_bound_scale);
}
@@ -3074,7 +3074,7 @@ void LLViewerLODTexture::processTextureStats()
scaleDown();
}
// Limit the amount of GL memory bound each frame
- else if ( sBoundTextureMemory > sMaxBoundTextureMem * texmem_middle_bound_scale &&
+ else if ( sBoundTextureMemory > sMaxBoundTextureMemory * texmem_middle_bound_scale &&
(!getBoundRecently() || mDesiredDiscardLevel >= mCachedRawDiscardLevel))
{
scaleDown();
diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h
index 307204da60..05912404e4 100755
--- a/indra/newview/llviewertexture.h
+++ b/indra/newview/llviewertexture.h
@@ -210,7 +210,7 @@ public:
static F32 sDesiredDiscardScale;
static S32Bytes sBoundTextureMemory;
static S32Bytes sTotalTextureMemory;
- static S32Megabytes sMaxBoundTextureMem;
+ static S32Megabytes sMaxBoundTextureMemory;
static S32Megabytes sMaxTotalTextureMem;
static S32Bytes sMaxDesiredTextureMem ;
static S8 sCameraMovingDiscardBias;
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 4d263c118b..9dcd0b81e0 100755
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -1392,6 +1392,13 @@ BOOL LLViewerWindow::handleTranslatedKeyUp(KEY key, MASK mask)
// Let the voice chat code check for its PTT key. Note that this never affects event processing.
LLVoiceClient::getInstance()->keyUp(key, mask);
+ // Let the inspect tool code check for ALT key to set LLToolSelectRect active instead LLToolCamera
+ LLToolCompInspect * tool_inspectp = LLToolCompInspect::getInstance();
+ if (LLToolMgr::getInstance()->getCurrentTool() == tool_inspectp)
+ {
+ tool_inspectp->keyUp(key, mask);
+ }
+
return FALSE;
}
@@ -1962,7 +1969,7 @@ void LLViewerWindow::initWorldUI()
// Force gFloaterTools to initialize
LLFloaterReg::getInstance("build");
- LLFloaterReg::hideInstance("build");
+
// Status bar
LLPanel* status_bar_container = getRootView()->getChild<LLPanel>("status_bar_container");
@@ -3216,6 +3223,8 @@ void LLViewerWindow::updateUI()
}
append_xui_tooltip(tooltip_view, params);
+ params.styled_message.add().text("\n");
+
screen_sticky_rect.intersectWith(tooltip_view->calcScreenRect());
params.sticky_rect = screen_sticky_rect;
@@ -3265,7 +3274,7 @@ void LLViewerWindow::updateUI()
updateLayout();
- saveLastMouse(mCurrentMousePoint);
+ mLastMousePoint = mCurrentMousePoint;
// cleanup unused selections when no modal dialogs are open
if (LLModalDialog::activeCount() == 0)
@@ -3505,8 +3514,6 @@ void LLViewerWindow::saveLastMouse(const LLCoordGL &point)
// Store last mouse location.
// If mouse leaves window, pretend last point was on edge of window
- mLastMousePoint = mCurrentMousePoint;
-
if (point.mX < 0)
{
mCurrentMousePoint.mX = 0;
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 9f42776d78..22b979aa09 100755
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -2068,7 +2068,7 @@ void LLVOAvatar::idleUpdate(LLAgent &agent, const F64 &time)
}
if (!(gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_AVATAR))
- && !(gSavedSettings.getBOOL("DisableAllRenderTypes")))
+ && !(gSavedSettings.getBOOL("DisableAllRenderTypes")) && !isSelf())
{
return;
}
diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp
index 3c3dc33772..9a84cae403 100755
--- a/indra/newview/llvoicechannel.cpp
+++ b/indra/newview/llvoicechannel.cpp
@@ -280,14 +280,14 @@ void LLVoiceChannel::deactivate()
if (callStarted())
{
setState(STATE_HUNG_UP);
-
+
//Default mic is OFF when leaving voice calls
- if (gSavedSettings.getBOOL("AutoDisengageMic") &&
+ if (gSavedSettings.getBOOL("AutoDisengageMic") &&
sCurrentVoiceChannel == this &&
LLVoiceClient::getInstance()->getUserPTTState())
{
gSavedSettings.setBOOL("PTTCurrentlyEnabled", true);
- LLVoiceClient::getInstance()->inputUserControlState(true);
+ LLVoiceClient::getInstance()->setUserPTTState(false);
}
}
LLVoiceClient::getInstance()->removeObserver(this);
diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp
index 815965fb0a..0bf373f478 100755
--- a/indra/newview/llvoiceclient.cpp
+++ b/indra/newview/llvoiceclient.cpp
@@ -36,6 +36,7 @@
#include "llsdserialize.h"
#include "llui.h"
#include "llkeyboard.h"
+#include "llagent.h"
const F32 LLVoiceClient::OVERDRIVEN_POWER_LEVEL = 0.7f;
@@ -635,7 +636,7 @@ void LLVoiceClient::keyDown(KEY key, MASK mask)
return;
}
- if(!mPTTIsMiddleMouse)
+ if(!mPTTIsMiddleMouse && LLAgent::isActionAllowed("speak"))
{
bool down = (mPTTKey != KEY_NONE)
&& gKeyboard->getKeyDown(mPTTKey);
@@ -654,12 +655,9 @@ void LLVoiceClient::keyUp(KEY key, MASK mask)
}
void LLVoiceClient::middleMouseState(bool down)
{
- if(mPTTIsMiddleMouse)
+ if(mPTTIsMiddleMouse && LLAgent::isActionAllowed("speak"))
{
- if(mPTTIsMiddleMouse)
- {
- inputUserControlState(down);
- }
+ inputUserControlState(down);
}
}
diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp
index 665671a38f..0312972a22 100755
--- a/indra/newview/llweb.cpp
+++ b/indra/newview/llweb.cpp
@@ -50,6 +50,8 @@
#include "llviewerwindow.h"
#include "llnotificationsutil.h"
+#include <boost/regex.hpp>
+
bool on_load_url_external_response(const LLSD& notification, const LLSD& response, bool async );
@@ -87,7 +89,8 @@ void LLWeb::loadURL(const std::string& url, const std::string& target, const std
// Force load in the internal browser, as if with a blank target.
loadURLInternal(url, "", uuid);
}
- else if (gSavedSettings.getBOOL("UseExternalBrowser") || (target == "_external"))
+
+ else if (useExternalBrowser(url) || (target == "_external"))
{
loadURLExternal(url);
}
@@ -225,3 +228,19 @@ std::string LLWeb::expandURLSubstitutions(const std::string &url,
return LLWeb::escapeURL(expanded_url);
}
+
+//static
+bool LLWeb::useExternalBrowser(const std::string &url)
+{
+ if (gSavedSettings.getU32("PreferredBrowserBehavior") == BROWSER_EXTERNAL_ONLY)
+ {
+ return true;
+ }
+ else if (gSavedSettings.getU32("PreferredBrowserBehavior") == BROWSER_INT_LL_EXT_OTHERS)
+ {
+ boost::regex pattern = boost::regex("\\b(lindenlab.com|secondlife.com)\\b", boost::regex::perl|boost::regex::icase);
+ boost::match_results<std::string::const_iterator> matches;
+ return !(boost::regex_search(url, matches, pattern));
+ }
+ return false;
+}
diff --git a/indra/newview/llweb.h b/indra/newview/llweb.h
index 0b95f664d6..7c90badbfe 100755
--- a/indra/newview/llweb.h
+++ b/indra/newview/llweb.h
@@ -40,6 +40,13 @@
class LLWeb
{
public:
+ enum PreferredBrowser
+ {
+ BROWSER_EXTERNAL_ONLY = 0,
+ BROWSER_INT_LL_EXT_OTHERS = 1,
+ BROWSER_INTERNAL_ONLY = 2
+ };
+
static void initClass();
/// Load the given url in the operating system's web browser, async if we want to return immediately
@@ -57,6 +64,7 @@ public:
/// Expands various strings like [LANG], [VERSION], etc. in a URL
static std::string expandURLSubstitutions(const std::string &url,
const LLSD &default_subs);
+ static bool useExternalBrowser(const std::string &url);
};
#endif
diff --git a/indra/newview/llworldmapview.cpp b/indra/newview/llworldmapview.cpp
index a770352f86..7cb53a0706 100755
--- a/indra/newview/llworldmapview.cpp
+++ b/indra/newview/llworldmapview.cpp
@@ -1694,6 +1694,8 @@ BOOL LLWorldMapView::handleHover( S32 x, S32 y, MASK mask )
sPanY += delta_y;
sTargetPanX = sPanX;
sTargetPanY = sPanY;
+
+ gViewerWindow->moveCursorToCenter();
}
// doesn't matter, cursor should be hidden
diff --git a/indra/newview/skins/default/xui/da/floater_lagmeter.xml b/indra/newview/skins/default/xui/da/floater_lagmeter.xml
new file mode 100644
index 0000000000..149d174c34
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="LAG METER">
+ <floater.string name="max_title_msg">
+ Lag måler
+ </floater.string>
+ <floater.string name="max_width_px">
+ 360
+ </floater.string>
+ <floater.string name="min_title_msg">
+ Lag
+ </floater.string>
+ <floater.string name="min_width_px">
+ 90
+ </floater.string>
+ <floater.string name="client_text_msg">
+ Klient
+ </floater.string>
+ <floater.string name="client_frame_rate_critical_fps">
+ 10
+ </floater.string>
+ <floater.string name="client_frame_rate_warning_fps">
+ 15
+ </floater.string>
+ <floater.string name="client_frame_time_window_bg_msg">
+ Normal, vindue i baggrund
+ </floater.string>
+ <floater.string name="client_frame_time_critical_msg">
+ Klients billeder/sek under [CLIENT_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="client_frame_time_warning_msg">
+ Klients billeder/sek mellem [CLIENT_FRAME_RATE_CRITICAL] og [CLIENT_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="client_frame_time_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="client_draw_distance_cause_msg">
+ Mulig årsag: &apos;Vis afstand&apos; sat for højt i grafik indstillinger
+ </floater.string>
+ <floater.string name="client_texture_loading_cause_msg">
+ Mulig årsag: Billeder hentes
+ </floater.string>
+ <floater.string name="client_texture_memory_cause_msg">
+ Mulig årsag: For mange billeder i hukommelse
+ </floater.string>
+ <floater.string name="client_complex_objects_cause_msg">
+ Mulig årsag: For mange komplekse objekter i scenariet
+ </floater.string>
+ <floater.string name="network_text_msg">
+ Netværk
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_pct">
+ 10
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_pct">
+ 5
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_msg">
+ Forbindelsen mister over [NETWORK_PACKET_LOSS_CRITICAL]% pakker
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_msg">
+ Forbindelsen mister [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% pakker
+ </floater.string>
+ <floater.string name="network_performance_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="network_ping_critical_ms">
+ 600
+ </floater.string>
+ <floater.string name="network_ping_warning_ms">
+ 300
+ </floater.string>
+ <floater.string name="network_ping_critical_msg">
+ Forbindelsens ping tider er over [NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_ping_warning_msg">
+ Forbindelsens ping tider er [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_packet_loss_cause_msg">
+ Muligvis dårlig forbindelse eller &apos;båndbredde&apos; sat for højt i netværksopsætning.
+ </floater.string>
+ <floater.string name="network_ping_cause_msg">
+ Muligvis dårlig forbindelse eller fil delings program.
+ </floater.string>
+ <floater.string name="server_text_msg">
+ Server
+ </floater.string>
+ <floater.string name="server_frame_rate_critical_fps">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_rate_warning_fps">
+ 30
+ </floater.string>
+ <floater.string name="server_single_process_max_time_ms">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_time_critical_msg">
+ Simulator framerate er under [SERVER_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="server_frame_time_warning_msg">
+ Simulator framerate er mellem [SERVER_FRAME_RATE_CRITICAL] og [SERVER_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="server_frame_time_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="server_physics_cause_msg">
+ Mulig årsag: For mange fysiske objekter
+ </floater.string>
+ <floater.string name="server_scripts_cause_msg">
+ Mulig årsag: For mange objekter med script
+ </floater.string>
+ <floater.string name="server_net_cause_msg">
+ Mulig årsag: For meget netværks trafik
+ </floater.string>
+ <floater.string name="server_agent_cause_msg">
+ Mulig årsag: For mange avatarer i bevægelse i regionen
+ </floater.string>
+ <floater.string name="server_images_cause_msg">
+ Mulig årsag: For mange billed udregninger
+ </floater.string>
+ <floater.string name="server_generic_cause_msg">
+ Mulig årsag: Simulator belastning for stor
+ </floater.string>
+ <floater.string name="smaller_label">
+ &gt;&gt;
+ </floater.string>
+ <floater.string name="bigger_label">
+ &lt;&lt;
+ </floater.string>
+ <button label="" label_selected="" name="client_lagmeter" tool_tip="Status for klient lag"/>
+ <text name="client">
+ Klient
+ </text>
+ <text name="client_text">
+ Normal
+ </text>
+ <button label="" label_selected="" name="network_lagmeter" tool_tip="Network lag status"/>
+ <text name="network">
+ Netværk
+ </text>
+ <text name="network_text">
+ Normal
+ </text>
+ <button label="" label_selected="" name="server_lagmeter" tool_tip="Status for server lag"/>
+ <text name="server">
+ Server
+ </text>
+ <text name="server_text">
+ Normal
+ </text>
+ <button label="&gt;&gt;" name="minimize" tool_tip="Ændre størrelse"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_lagmeter.xml b/indra/newview/skins/default/xui/de/floater_lagmeter.xml
new file mode 100644
index 0000000000..45ff37c147
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="LAG METER">
+ <floater.string name="max_title_msg">
+ Lag-Anzeige
+ </floater.string>
+ <floater.string name="max_width_px">
+ 350
+ </floater.string>
+ <floater.string name="min_title_msg">
+ Lag
+ </floater.string>
+ <floater.string name="min_width_px">
+ 90
+ </floater.string>
+ <floater.string name="client_text_msg">
+ Client
+ </floater.string>
+ <floater.string name="client_frame_rate_critical_fps">
+ 10
+ </floater.string>
+ <floater.string name="client_frame_rate_warning_fps">
+ 15
+ </floater.string>
+ <floater.string name="client_frame_time_window_bg_msg">
+ Normal, Fenster im Hintergrund
+ </floater.string>
+ <floater.string name="client_frame_time_critical_msg">
+ Client-Frame-Rate unter [CLIENT_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="client_frame_time_warning_msg">
+ Client-Frame-Rate zwischen [CLIENT_FRAME_RATE_CRITICAL] und [CLIENT_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="client_frame_time_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="client_draw_distance_cause_msg">
+ Mögliche Ursache: Sichtweite zu groß
+ </floater.string>
+ <floater.string name="client_texture_loading_cause_msg">
+ Mögliche Ursache: Bilder werden geladen
+ </floater.string>
+ <floater.string name="client_texture_memory_cause_msg">
+ Mögliche Ursache: Zu viele Bilder im Speicher
+ </floater.string>
+ <floater.string name="client_complex_objects_cause_msg">
+ Mögliche Ursache: Zu viele komplexe Objekte in der Szene
+ </floater.string>
+ <floater.string name="network_text_msg">
+ Netzwerk
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_pct">
+ 10
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_pct">
+ 5
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_msg">
+ Paketverlust der Verbindung übersteigt [NETWORK_PACKET_LOSS_CRITICAL]%
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_msg">
+ Paketverlust der Verbindung liegt bei [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]%
+ </floater.string>
+ <floater.string name="network_performance_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="network_ping_critical_ms">
+ 600
+ </floater.string>
+ <floater.string name="network_ping_warning_ms">
+ 300
+ </floater.string>
+ <floater.string name="network_ping_critical_msg">
+ Ping-Zeit der Verbindung übersteigt [NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_ping_warning_msg">
+ Ping-Zeit der Verbindung liegt bei [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_packet_loss_cause_msg">
+ Möglicherweise schlechte Verbindung oder zu hoher Wert für „Bandbreite“.
+ </floater.string>
+ <floater.string name="network_ping_cause_msg">
+ Möglicherweise schlechte Verbindung oder File-Sharing-Anwendung.
+ </floater.string>
+ <floater.string name="server_text_msg">
+ Server
+ </floater.string>
+ <floater.string name="server_frame_rate_critical_fps">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_rate_warning_fps">
+ 30
+ </floater.string>
+ <floater.string name="server_single_process_max_time_ms">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_time_critical_msg">
+ Simulator-Frame-Rate liegt unter [SERVER_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="server_frame_time_warning_msg">
+ Simulator-Frame-Rate liegt zwischen [SERVER_FRAME_RATE_CRITICAL] und [SERVER_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="server_frame_time_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="server_physics_cause_msg">
+ Mögliche Ursache: Zu viele physische Objekte
+ </floater.string>
+ <floater.string name="server_scripts_cause_msg">
+ Mögliche Ursache: Zu viele geskriptete Objekte
+ </floater.string>
+ <floater.string name="server_net_cause_msg">
+ Mögliche Ursache: Zu viel Netzwerktraffic
+ </floater.string>
+ <floater.string name="server_agent_cause_msg">
+ Mögliche Ursache: Zu viele Personen in Bewegung in der Region
+ </floater.string>
+ <floater.string name="server_images_cause_msg">
+ Mögliche Ursache: Zu viele Bildberechnungen
+ </floater.string>
+ <floater.string name="server_generic_cause_msg">
+ Mögliche Ursache: Zu hohe Simulator-Last
+ </floater.string>
+ <floater.string name="smaller_label">
+ &gt;&gt;
+ </floater.string>
+ <floater.string name="bigger_label">
+ &lt;&lt;
+ </floater.string>
+ <button name="client_lagmeter" tool_tip="Client-Lag-Status"/>
+ <text name="client">
+ Client
+ </text>
+ <text name="client_text">
+ Normal
+ </text>
+ <button name="network_lagmeter" tool_tip="Netzwerk-Lag-Status"/>
+ <text name="network">
+ Netzwerk
+ </text>
+ <text name="network_text">
+ Normal
+ </text>
+ <button name="server_lagmeter" tool_tip="Server-Lag-Status"/>
+ <text name="server">
+ Server
+ </text>
+ <text name="server_text">
+ Normal
+ </text>
+ <button label="&gt;&gt; " name="minimize" tool_tip="Fenstergröße ändern"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_region_restarting.xml b/indra/newview/skins/default/xui/de/floater_region_restarting.xml
new file mode 100644
index 0000000000..890391c508
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="REGION WIRD NEU GESTARTET">
+ <string name="RegionName">
+ Die Region, in der Sie sich gerade befinden ([NAME]), wird gleich neu gestartet.
+
+Wenn Sie in dieser Region bleiben, werden Sie abgemeldet.
+ </string>
+ <string name="RestartSeconds">
+ Sekunden bis Neustart
+[SECONDS]
+ </string>
+ <panel name="layout_panel_1">
+ <text name="region_name">
+ Die Region, in der Sie sich gerade befinden (-längster Regionsname-), wird gleich neu gestartet.
+
+Wenn Sie in dieser Region bleiben, werden Sie abgemeldet.
+ </text>
+ <text name="restart_seconds">
+ Sekunden bis Neustart
+ 32767
+ </text>
+ </panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/de/floater_scene_load_stats.xml
new file mode 100644
index 0000000000..dff462a594
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="STATISTIKEN ZUM LADEN VON SZENEN">
+ <button label="Anhalten" name="playpause"/>
+ <scroll_container name="statistics_scroll">
+ <container_view name="statistics_view">
+ <stat_view label="Standard" name="basic">
+ <stat_bar label="Frame-Pixel-Differenz" name="frame difference"/>
+ <stat_bar label="Empfangene UDP-Daten" name="bandwidth"/>
+ <stat_bar label="Paketverlust" name="packet_loss"/>
+ </stat_view>
+ <stat_view label="Erweitert" name="advanced">
+ <stat_view label="Darstellung" name="render">
+ <stat_bar label="Objektanzahl" name="objs"/>
+ <stat_bar label="Neue Objekte" name="newobjs"/>
+ <stat_bar label="Objektcache-Trefferrate" name="object_cache_hits"/>
+ </stat_view>
+ <stat_view label="Textur" name="texture">
+ <stat_bar label="Cache-Trefferrate" name="texture_cache_hits"/>
+ <stat_bar label="Cache-Leselatenz" name="texture_cache_read_latency"/>
+ <stat_bar label="Anzahl" name="numimagesstat"/>
+ <stat_bar label="Rohanzahl" name="numrawimagesstat"/>
+ </stat_view>
+ <stat_view label="Netzwerk" name="network">
+ <stat_bar label="Paketeingang" name="packetsinstat"/>
+ <stat_bar label="Paketausgang" name="packetsoutstat"/>
+ <stat_bar label="Objekte" name="objectdatareceived"/>
+ <stat_bar label="Textur" name="texturedatareceived"/>
+ <stat_bar label="Asset" name="assetudpdatareceived"/>
+ <stat_bar label="Ebenen" name="layersdatareceived"/>
+ <stat_bar label="Tatsächlicher Eingang" name="messagedatain"/>
+ <stat_bar label="Tatsächlicher Ausgang" name="messagedataout"/>
+ <stat_bar label="Ausstehende Vorgänge im VFS" name="vfspendingoperations"/>
+ </stat_view>
+ </stat_view>
+ <stat_view label="Simulator" name="sim">
+ <stat_bar label="Objekte" name="simobjects"/>
+ <stat_bar label="Aktive Objekte" name="simactiveobjects"/>
+ <stat_bar label="Aktive Skripts" name="simactivescripts"/>
+ <stat_bar label="Paketeingang" name="siminpps"/>
+ <stat_bar label="Paketausgang" name="simoutpps"/>
+ <stat_bar label="Ausstehende Downloads" name="simpendingdownloads"/>
+ <stat_bar label="Ausstehende Uploads" name="simpendinguploads"/>
+ <stat_bar label="Gesamtanzahl nicht bestätigter Bytes" name="simtotalunackedbytes"/>
+ <stat_view label="Zeit (ms)" name="simperf">
+ <stat_bar label="Gesamt-Framezeit" name="simframemsec"/>
+ <stat_bar label="Nettozeit" name="simnetmsec"/>
+ <stat_bar label="Physikzeit" name="simsimphysicsmsec"/>
+ <stat_bar label="Simulationszeit" name="simsimothermsec"/>
+ <stat_bar label="Agentenzeit" name="simagentmsec"/>
+ <stat_bar label="Bilderzeit" name="simimagesmsec"/>
+ <stat_bar label="Skriptzeit" name="simscriptmsec"/>
+ <stat_bar label="Verbleib. Zeit" name="simsparemsec"/>
+ <stat_view label="Zeitdetails (ms)" name="timedetails">
+ <stat_bar label="Physikschritt" name="simsimphysicsstepmsec"/>
+ <stat_bar label="Phys. Formen aktualisieren" name="simsimphysicsshapeupdatemsec"/>
+ <stat_bar label="Physik – andere" name="simsimphysicsothermsec"/>
+ <stat_bar label="Schlafzeit" name="simsleepmsec"/>
+ <stat_bar label="Pump IO" name="simpumpiomsec"/>
+ </stat_view>
+ </stat_view>
+ </stat_view>
+ </container_view>
+ </scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_stats.xml b/indra/newview/skins/default/xui/de/floater_stats.xml
index f4b13fb4f7..f4a9acddec 100755
--- a/indra/newview/skins/default/xui/de/floater_stats.xml
+++ b/indra/newview/skins/default/xui/de/floater_stats.xml
@@ -4,18 +4,20 @@
<container_view name="statistics_view" width="280">
<stat_view label="Basic" name="basic">
<stat_bar label="FPS" name="fps"/>
- <stat_bar label="Bandbreite" name="bandwidth"/>
+ <stat_bar label="Empfangene UDP-Daten" name="bandwidth"/>
<stat_bar label="Paketverlust" name="packet_loss"/>
<stat_bar label="Ping Sim" name="ping"/>
</stat_view>
<stat_view label="Erweitert" name="advanced">
<stat_view label="Darstellung" name="render">
- <stat_bar label="Pro Frame gezeichnete KTris" name="ktrisframe"/>
- <stat_bar label="Pro Sek. gezeichnete KTris" name="ktrissec"/>
- <stat_bar label="Objekte gesamt" name="totalobjs"/>
- <stat_bar label="Zwischengespeicherte Objekte" name="cachedobjs"/>
+ <stat_bar label="KTris pro Frame" name="ktrisframe"/>
+ <stat_bar label="KTris pro Sekunden" name="ktrissec"/>
+ <stat_bar label="Objektanzahl" name="objs"/>
<stat_bar label="Neue Objekte" name="newobjs"/>
<stat_bar label="Objektcache-Trefferrate" name="object_cache_hits"/>
+ <stat_bar label="Durchgeführte Okklusionsabfragen" name="occlusion_queries"/>
+ <stat_bar label="Okkludierte Objekte" name="occluded"/>
+ <stat_bar label="Nicht okkludierte Objekte" name="unoccluded"/>
</stat_view>
<stat_view label="Textur" name="texture">
<stat_bar label="Cache-Trefferrate" name="texture_cache_hits"/>
@@ -27,9 +29,32 @@
<stat_bar label="Rohsp" name="rawmemstat"/>
<stat_bar label="Zugeteilter Sp" name="glboundmemstat"/>
</stat_view>
+ <stat_view label="Speichernutzung" name="memory">
+ <stat_bar label="LLTrace" name="LLTrace"/>
+ <stat_bar label="UI" name="LLView"/>
+ <stat_bar label="Schriftarten" name="LLFontFreetype"/>
+ <stat_bar label="Inventar" name="LLInventoryObject"/>
+ <stat_bar label="Viewer-Objekte" name="LLViewerObject"/>
+ <stat_bar label="Octree-Gruppendaten" name="LLViewerOctreeGroup"/>
+ <stat_bar label="Octree-Daten" name="LLViewerOctreeEntry"/>
+ <stat_bar label="Viewer-Objekt-Cache" name="LLVOCacheEntry"/>
+ <stat_bar label="Zeichnungsobjekte" name="LLDrawable"/>
+ <stat_bar label="Gesichtsdaten" name="LLFace"/>
+ <stat_bar label="Zeichnungsinfos" name="LLDrawInfo"/>
+ <stat_bar label="Texturdaten" name="LLTexture"/>
+ <stat_bar label="Bilddaten" name="LLImage"/>
+ <stat_bar label="GL-Bilddaten" name="LLImageGL"/>
+ <stat_bar label="Vertex-Buffer" name="LLVertexBuffer"/>
+ </stat_view>
<stat_view label="Netzwerk" name="network">
<stat_bar label="Paketeingang" name="packetsinstat"/>
<stat_bar label="Paketausgang" name="packetsoutstat"/>
+ <stat_bar label="Objekte" name="objectdatareceived"/>
+ <stat_bar label="Textur" name="texturedatareceived"/>
+ <stat_bar label="Asset" name="assetudpdatareceived"/>
+ <stat_bar label="Ebenen" name="layersdatareceived"/>
+ <stat_bar label="Tatsächlicher Eingang" name="messagedatain"/>
+ <stat_bar label="Tatsächlicher Ausgang" name="messagedataout"/>
<stat_bar label="Ausstehende Vorgänge im VFS" name="vfspendingoperations"/>
</stat_view>
</stat_view>
@@ -59,8 +84,8 @@
<stat_bar label="Paketausgang" name="simoutpps"/>
<stat_bar label="Ausstehende Downloads" name="simpendingdownloads"/>
<stat_bar label="Ausstehende Uploads" name="simpendinguploads"/>
- <stat_bar label="Gesamtanzahl „Unacked&quot; Bytes" name="simtotalunackedbytes"/>
- <stat_view label="Zeit (ms)" name="simperf">
+ <stat_bar label="Gesamtmenge unbestätigter Daten" name="simtotalunackedbytes"/>
+ <stat_view label="Zeit" name="simperf">
<stat_bar label="Gesamtzeit Frame" name="simframemsec"/>
<stat_bar label="Netto-Zeit" name="simnetmsec"/>
<stat_bar label="Physik-Zeit" name="simsimphysicsmsec"/>
@@ -69,7 +94,7 @@
<stat_bar label="Bilder-Zeit" name="simimagesmsec"/>
<stat_bar label="Skript-Zeit" name="simscriptmsec"/>
<stat_bar label="Verbleib. Zeit" name="simsparemsec"/>
- <stat_view label="Zeitdetails (ms)" name="timedetails">
+ <stat_view label="Zeitdetails" name="timedetails">
<stat_bar label="Physik-Schritt" name="simsimphysicsstepmsec"/>
<stat_bar label="Phys. Formen aktualisieren" name="simsimphysicsshapeupdatemsec"/>
<stat_bar label="Physik – andere" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/de/menu_avatar_icon.xml b/indra/newview/skins/default/xui/de/menu_avatar_icon.xml
index c036cf5515..ad47f1d37d 100755
--- a/indra/newview/skins/default/xui/de/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/de/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
<menu name="Avatar Icon Menu">
<menu_item_call label="Profil anzeigen" name="Show Profile"/>
<menu_item_call label="IM senden..." name="Send IM"/>
+ <menu_item_call label="Teleport anfordern" name="Request Teleport"/>
<menu_item_call label="Freund hinzufügen..." name="Add Friend"/>
<menu_item_call label="Freund entfernen..." name="Remove Friend"/>
</menu>
diff --git a/indra/newview/skins/default/xui/de/menu_inventory.xml b/indra/newview/skins/default/xui/de/menu_inventory.xml
index cd2fca313e..d838f736f8 100755
--- a/indra/newview/skins/default/xui/de/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/de/menu_inventory.xml
@@ -70,6 +70,7 @@
<menu_item_call label="Wiedergeben/Abspielen" name="Sound Play"/>
<menu_item_call label="SLurl kopieren" name="url_copy"/>
<menu_item_call label="Landmarken-Info" name="About Landmark"/>
+ <menu_item_call label="Auf Karte anzeigen" name="show_on_map"/>
<menu_item_call label="Inworld abspielen" name="Animation Play"/>
<menu_item_call label="Lokal abspielen" name="Animation Audition"/>
<menu_item_call label="Instant Message senden" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/de/menu_login.xml b/indra/newview/skins/default/xui/de/menu_login.xml
index 62358cc5a8..329ea20179 100755
--- a/indra/newview/skins/default/xui/de/menu_login.xml
+++ b/indra/newview/skins/default/xui/de/menu_login.xml
@@ -5,7 +5,15 @@
<menu_item_call label="[APP_NAME] schließen" name="Quit"/>
</menu>
<menu label="Hilfe" name="Help">
- <menu_item_call label="[SECOND_LIFE]-Hilfe" name="Second Life Help"/>
+ <menu_item_call label="Anweisungen..." name="How To"/>
+ <menu_item_call label="Kurzanleitung" name="Quickstart"/>
+ <menu_item_call label="Knowledge Base" name="Knowledge Base"/>
+ <menu_item_call label="Wiki" name="Wiki"/>
+ <menu_item_call label="Community-Foren" name="Community Forums"/>
+ <menu_item_call label="Support-Portal" name="Support portal"/>
+ <menu_item_call label="[SECOND_LIFE]-Neuigkeiten" name="Second Life News"/>
+ <menu_item_call label="[SECOND_LIFE]-Blogs" name="Second Life Blogs"/>
+ <menu_item_call label="Fehler melden" name="Report Bug"/>
<menu_item_call label="INFO ÜBER [APP_NAME]" name="About Second Life"/>
</menu>
<menu_item_check label="Debug-Menü anzeigen" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/de/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/de/menu_teleport_history_item.xml
index ff8fb0b181..1d7e3059c0 100755
--- a/indra/newview/skins/default/xui/de/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/de/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
<context_menu name="Teleport History Item Context Menu">
<menu_item_call label="Teleportieren" name="Teleport"/>
<menu_item_call label="Weitere Informationen" name="More Information"/>
- <menu_item_call label="In Zwischenablage kopieren" name="CopyToClipboard"/>
+ <menu_item_call label="SLurl kopieren" name="CopyToClipboard"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml
index f34bc258b3..c9fad9c9d3 100755
--- a/indra/newview/skins/default/xui/de/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/de/menu_viewer.xml
@@ -189,6 +189,7 @@
<menu label="Performance Tools" name="Performance Tools">
<menu_item_call label="Lag-Anzeige" name="Lag Meter"/>
<menu_item_check label="Statistikleiste" name="Statistics Bar"/>
+ <menu_item_call label="Statistiken zum Laden von Szenen" name="Scene Load Statistics"/>
<menu_item_check label="Zuggewicht für Avatare anzeigen" name="Avatar Rendering Cost"/>
</menu>
<menu label="Hervorhebung und Sichtbarkeit" name="Highlighting and Visibility">
@@ -251,6 +252,7 @@
<menu_item_check label="Schnelle Timer" name="Fast Timers"/>
<menu_item_check label="Speicher" name="Memory"/>
<menu_item_check label="Szenestatistiken" name="Scene Statistics"/>
+ <menu_item_check label="Monitor zum Laden von Szenen" name="Scene Loading Monitor"/>
<menu_item_call label="Debug-Konsole für Texturabruffehler" name="Texture Fetch Debug Console"/>
<menu_item_call label="Info zu Region in Fenster Fehler beseitigen" name="Region Info to Debug Console"/>
<menu_item_call label="Gruppeninfo in Fenster Fehler beseitigen" name="Group Info to Debug Console"/>
@@ -287,6 +289,7 @@
<menu_item_check label="Periodic Slow Frame" name="Periodic Slow Frame"/>
<menu_item_check label="Frame-Test" name="Frame Test"/>
<menu_item_call label="Rahmenprofil" name="Frame Profile"/>
+ <menu_item_call label="Benchmark" name="Benchmark"/>
</menu>
<menu label="Metadaten darstellen" name="Render Metadata">
<menu_item_check label="Bonding Boxes" name="Bounding Boxes"/>
@@ -306,6 +309,7 @@
<menu_item_check label="Lichter" name="Lights"/>
<menu_item_check label="Partikel" name="Particles"/>
<menu_item_check label="Gelenkpunkte" name="Collision Skeleton"/>
+ <menu_item_check label="Gelenke" name="Joints"/>
<menu_item_check label="Raycast" name="Raycast"/>
<menu_item_check label="Windvektoren" name="Wind Vectors"/>
<menu_item_check label="Komplexität beim Rendern" name="rendercomplexity"/>
@@ -338,6 +342,7 @@
<menu_item_check label="Angehängte Lichter rendern" name="Render Attached Lights"/>
<menu_item_check label="Angehängte Partikel rendern" name="Render Attached Particles"/>
<menu_item_check label="Leucht-Objekte schweben lassen" name="Hover Glow Objects"/>
+ <menu_item_call label="Cache sofort leeren" name="Cache Clear"/>
</menu>
<menu label="Netzwerk" name="Network">
<menu_item_check label="Agent pausieren" name="AgentPause"/>
diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml
index ccd14fb886..c728402e89 100755
--- a/indra/newview/skins/default/xui/de/notifications.xml
+++ b/indra/newview/skins/default/xui/de/notifications.xml
@@ -114,13 +114,13 @@ Weitere Informationen finden Sie im [[MARKETPLACE_IMPORTS_URL] Fehlerprotokoll].
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="OutboxImportFailed">
- Übertragung fehlgeschlagen
+ Übertragung fehlgeschlagen mit Fehler „[ERROR_CODE]“
Aufgrund eines System- oder Netzwerkfehlers wurden keine Ordner an den Marktplatz übertragen. Versuchen Sie es später erneut.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="OutboxInitFailed">
- Marktplatzinitialisierung fehlgeschlagen
+ Marktplatzinitialisierung fehlgeschlagen mit Fehler „[ERROR_CODE]“
Marktplatzinitialisierung aufgrund eines System- oder Netzwerkfehlers fehlgeschlagen. Versuchen Sie es später erneut.
<usetemplate name="okbutton" yestext="OK"/>
@@ -216,22 +216,6 @@ Der Rolle „[ROLE_NAME]“ diese Fähigkeit zuweisen?
Der Rolle „[ROLE_NAME]“ diese Fähigkeit zuweisen?
<usetemplate name="okcancelbuttons" notext="Nein" yestext="Ja"/>
</notification>
- <notification name="AssignBanAbilityWarning">
- Sie sind im Begriff, der Rolle „[ROLE_NAME]“ die Fähigkeit „[ACTION_NAME]“ zuzuweisen.
-
- *ACHTUNG*
-Jedem Mitglied in einer Rolle mit dieser Fähigkeit werden auch die Fähigkeiten „[ACTION_NAME_2]“ und „[ACTION_NAME_3]“ zugewiesen.
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
- <notification name="RemoveBanAbilityWarning">
- Sie sind im Begriff, die Fähigkeit „[ACTION_NAME]“ aus der Rolle „[ROLE_NAME]“ zu entfernen.
-
- *ACHTUNG*
-Durch Entfernen dieser Fähigkeit werden die Fähigkeiten „[ACTION_NAME_2]“ und „[ACTION_NAME_3]“ NICHT entfernt.
-
-Wenn diese Rolle nicht mehr diese Fähigkeiten haben soll, deaktivieren Sie sie bitte umgehend.
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
<notification name="EjectGroupMemberWarning">
Sie sind dabei, [AVATAR_NAME] aus der Gruppe hinauszuwerfen.
<usetemplate ignoretext="Hinauswerfen eines einzelnen Gruppenmitglieds bestätigen" name="okcancelignore" notext="Abbrechen" yestext="Hinauswerfen"/>
@@ -1607,14 +1591,6 @@ Diese Gruppe verlassen?
Sie können die Gruppe nicht verlassen, da Sie der letzte Besitzer der Gruppe sind. Weisen Sie die Besitzerrolle zuerst einem anderen Mitglied zu.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
- <notification name="GroupDepartError">
- Kann Gruppe nicht verlassen: [reason].
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
- <notification name="GroupDepart">
- Sie haben die Gruppe „[group_name]“ verlassen.
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
<notification name="ConfirmKick">
Möchten Sie WIRKLICH alle Benutzer aus dem Grid werfen?
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="Alle Benutzer hinauswerfen"/>
@@ -1768,6 +1744,10 @@ womit Sie die Höchstgrenze von [LIMIT] überschreiten.
Sind Sie sicher, dass Sie zu &lt;nolink&gt;[LOCATION]&lt;/nolink&gt; teleportieren möchten?
<usetemplate ignoretext="Bestätigen, dass ich zu einer Landmarke teleportieren möchte" name="okcancelignore" notext="Abbrechen" yestext="Teleportieren"/>
</notification>
+ <notification name="TeleportViaSLAPP">
+ Möchten Sie wirklich zu &lt;nolink&gt;[LOCATION]&lt;/nolink&gt; teleportieren?
+ <usetemplate ignoretext="Bestätigen, dass ich via SLAPP teleportieren möchte" name="okcancelignore" notext="Abbrechen" yestext="Teleportieren"/>
+ </notification>
<notification name="TeleportToPick">
Nach [PICK] teleportieren?
<usetemplate ignoretext="Bestätigen, dass ich zu einer Position in Auswahl teleportieren möchte" name="okcancelignore" notext="Abbrechen" yestext="Teleportieren"/>
@@ -1978,6 +1958,9 @@ Tausende Regionen werden verändert und der Spaceserver wird dadurch stark belas
<notification name="ProblemAddingEstateManager">
Es gibt Probleme beim Hinzufügen eines neuen Grundbesitzverwalters. Bei mindestens einem Grundbesitz ist die Verwalterliste voll.
</notification>
+ <notification name="ProblemAddingEstateBanManager">
+ Grundbesitzer oder Grundstücksverwalter kann nicht auf die Bannliste gesetzt werden.
+ </notification>
<notification name="ProblemAddingEstateGeneric">
Problem beim Hinzufügen zu dieser Grundbesitzliste. Bei mindestens einem Grundbesitz ist die Liste voll.
</notification>
@@ -2491,12 +2474,6 @@ Wählen Sie eine kleinere Landfläche.
<notification name="SystemMessage">
[MESSAGE]
</notification>
- <notification name="FlickrConnect">
- [MESSAGE]
- </notification>
- <notification name="TwitterConnect">
- [MESSAGE]
- </notification>
<notification name="PaymentReceived">
[MESSAGE]
</notification>
@@ -3068,13 +3045,13 @@ Details finden Sie in der Protokolldatei.
Regionsfähigkeit „[CAPABILITY]“ konnte nicht abgerufen werden.
</notification>
<notification name="ShareItemsConfirmation">
- Möchten Sie wirklich die folgenden Objekte:
+ Möchten Sie wirklich die folgenden Artikel:
&lt;nolink&gt;[ITEMS]&lt;/nolink&gt;
-für folgende Einwohner freigeben:
+mit den folgenden Einwohnern teilen:
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
</notification>
<notification name="ShareFolderConfirmation">
@@ -3086,7 +3063,7 @@ Möchten Sie wirklich die folgenden Artikel:
mit den folgenden Einwohnern teilen:
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
</notification>
<notification name="ItemsShared">
@@ -3729,6 +3706,9 @@ Warten Sie kurz und versuchen Sie es noch einmal.
<notification name="LinkFailedTooMuchPhysics">
Objekt verwendet zu viele Physikressourcen – seine Dynamik wurde deaktiviert.
</notification>
+ <notification name="EstateManagerFailedllTeleportHome">
+ Das Objekt „[OBJECT_NAME]“ auf [SLURL] kann Grundstücksverwalter nicht nach Hause teleportieren.
+ </notification>
<notification name="TeleportedHomeByObjectOnParcel">
Sie wurden vom Objekt „[OBJECT_NAME]“ auf der Parzelle „[PARCEL_NAME]“ nach Hause teleportiert
</notification>
@@ -3919,13 +3899,18 @@ Warten Sie kurz und versuchen Sie es noch einmal.
Auswahl enthält nicht genügend gemietete Parzellen zum Zusammenlegen.
</notification>
<notification name="CantDivideLandMultipleParcelsSelected">
- Land kann nicht geteilt werden.\nMehr als eine Parzelle ist ausgewählt.\nWählen Sie ein kleineres Stück Land aus.
+ Land kann nicht geteilt werden.
+Mehr als eine Parzelle ist ausgewählt.
+Wählen Sie eine kleinere Landfläche aus.
</notification>
<notification name="CantDivideLandCantFindParcel">
- Land kann nicht geteilt werden.\nParzelle nicht auffindbar.\nMelden Sie das Problem über „Hilfe“ -&gt; „Fehler melden“...
+ Land kann nicht geteilt werden.
+Parzelle kann nicht gefunden werden.
+Bitte melden Sie den Fehler über „Hilfe“ -&gt; „Fehler melden“.
</notification>
<notification name="CantDivideLandWholeParcelSelected">
- Land kann nicht geteilt werden. Die gesamte Parzelle ist ausgewählt.\nWählen Sie ein kleineres Stück Land aus.
+ Land kann nicht geteilt werden. Die gesamte Parzelle ist ausgewählt.
+Wählen Sie eine kleinere Landfläche aus.
</notification>
<notification name="LandHasBeenDivided">
Land wurde geteilt.
@@ -4065,8 +4050,8 @@ Warten Sie kurz und versuchen Sie es noch einmal.
Dateien können nicht verschoben werden. Vorheriger Pfad wurde wiederhergestellt.
<usetemplate ignoretext="Dateien können nicht verschoben werden. Vorheriger Pfad wurde wiederhergestellt." name="okignore" yestext="OK"/>
</notification>
- <notification name="DefaultObjectPermissions">
- Die Standardberechtigungen konnten aus folgendem Grund nicht gespeichert werden: [REASON]. Versuchen Sie später, die Standardberechtigungen einzustellen.
+ <notification name="ChatHistoryIsBusyAlert">
+ Chatverlaufsdatei ist noch mit vorheriger Operation beschäftigt. Versuchen Sie es in ein paar Minuten noch einmal oder chatten Sie mit einer anderen Person.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/de/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/de/panel_group_info_sidetray.xml
index bf4d44af52..1775394ecd 100755
--- a/indra/newview/skins/default/xui/de/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/de/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
<layout_panel name="group_accordions">
<accordion name="groups_accordion">
<accordion_tab name="group_general_tab" title="Allgemein"/>
- <accordion_tab name="group_roles_tab" title="Rollen"/>
+ <accordion_tab name="group_roles_tab" title="Rollen und Mitglieder"/>
<accordion_tab name="group_notices_tab" title="Mitteilungen"/>
<accordion_tab name="group_land_tab" title="Land/Kapital"/>
</accordion>
diff --git a/indra/newview/skins/default/xui/de/panel_group_roles.xml b/indra/newview/skins/default/xui/de/panel_group_roles.xml
index 7fbaa45ade..2f3268164c 100755
--- a/indra/newview/skins/default/xui/de/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/de/panel_group_roles.xml
@@ -21,6 +21,7 @@ um mehrere Mitglieder auszuwählen.
<name_list.columns label="Mitglied" name="name" relative_width="0.30"/>
<name_list.columns label="Übereignung" name="donated" relative_width="0.33"/>
<name_list.columns label="Status" name="online"/>
+ <name_list.columns label="Titel" name="title"/>
</name_list>
<button label="Einladen" name="member_invite"/>
<button label="Hinauswerfen" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/de/panel_region_debug.xml b/indra/newview/skins/default/xui/de/panel_region_debug.xml
index a03a0b8b7b..d4b0ed907e 100755
--- a/indra/newview/skins/default/xui/de/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/de/panel_region_debug.xml
@@ -7,11 +7,8 @@
unbekannt
</text>
<check_box label="Skripts deaktivieren" name="disable_scripts_check" tool_tip="Skripts in dieser Region deaktivieren"/>
- <button label="?" name="disable_scripts_help"/>
<check_box label="Kollisionen deaktivieren" name="disable_collisions_check" tool_tip="Nicht-Avatar-Kollisionen in dieser Region deaktivieren"/>
- <button label="?" name="disable_collisions_help"/>
<check_box label="Physik deaktivieren" name="disable_physics_check" tool_tip="Physik in dieser Region deaktivieren"/>
- <button label="?" name="disable_physics_help"/>
<button label="Übernehmen" name="apply_btn"/>
<text name="objret_text_lbl" width="110">
Objekt zurückgeben
@@ -31,10 +28,8 @@
<check_box label="In jeder Region auf diesem Grundbesitz" name="return_estate_wide" tool_tip="Es werden die Objekte in allen Regionen dieses Grundbesitzes zurückgegeben"/>
<button label="Zurückgeben" name="return_btn" width="90"/>
<button label="Top-Kollisionsobjekte..." name="top_colliders_btn" tool_tip="Liste der Objekte mit den meisten potenziellen Kollisionen"/>
- <button label="?" name="top_colliders_help"/>
- <button label="Top-Skripts..." name="top_scripts_btn" tool_tip="Zeigt eine Liste der Objekte an, die die meiste Zeit benötigen, um Skripts auszuführen."/>
- <button label="?" name="top_scripts_help"/>
<button label="Region neu starten" name="restart_btn" tool_tip="2-Minuten-Countdown und Region neu starten"/>
- <button label="?" name="restart_help"/>
+ <button label="Top-Skripts..." name="top_scripts_btn" tool_tip="Zeigt eine Liste der Objekte an, die die meiste Zeit benötigen, um Skripts auszuführen."/>
<button label="Neustart abbrechen" name="cancel_restart_btn" tool_tip="Regionsneustart abbrechen"/>
+ <button label="Regions-Debug-Konsole" name="region_debug_console_btn" tool_tip="Regions-Debug-Konsole öffnen"/>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_region_general.xml b/indra/newview/skins/default/xui/de/panel_region_general.xml
index f383be992b..6324e90029 100755
--- a/indra/newview/skins/default/xui/de/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/de/panel_region_general.xml
@@ -20,12 +20,12 @@
</text>
<check_box label="Terraformen blockieren" name="block_terraform_check"/>
<check_box label="Fliegen blockieren" name="block_fly_check"/>
+ <check_box label="Überfliegen von Parzellen blockieren" name="block_fly_over_check" tool_tip="Zugangsprüfungen nach oben ausdehnen, um Überfliegen einer Parzelle zu verhindern"/>
<check_box label="Schaden zulassen" name="allow_damage_check"/>
<check_box label="Stoßen beschränken" name="restrict_pushobject"/>
<check_box label="Landwiederverkauf zulassen" name="allow_land_resell_check"/>
<check_box label="Landumverteilung zulassen" name="allow_parcel_changes_check"/>
<check_box label="Landanzeige in Suche blockieren" name="block_parcel_search_check" tool_tip="Diese Region und ihre Parzellen in Suchergebnissen anzeigen"/>
- <check_box label="Netzobjekte zulassen" name="mesh_rez_enabled_check" tool_tip="Anderen das Rezzen von Netzobjekten in dieser Region gestatten"/>
<spinner label="Avatar-Limit" name="agent_limit_spin"/>
<spinner label="Objektbonus" name="object_bonus_spin"/>
<text label="Inhaltseinstufung" name="access_text">
diff --git a/indra/newview/skins/default/xui/de/sidepanel_inventory.xml b/indra/newview/skins/default/xui/de/sidepanel_inventory.xml
index 2585c5dc90..94c3c75254 100755
--- a/indra/newview/skins/default/xui/de/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/de/sidepanel_inventory.xml
@@ -28,12 +28,12 @@
<button label="Profil" name="info_btn" tool_tip="Objektprofil anzeigen"/>
</layout_panel>
<layout_panel name="share_btn_lp">
- <button label="Teilen" name="share_btn" tool_tip="Inventarobjekt teilen"/>
+ <button label="Freigeben" name="share_btn" tool_tip="Inventarobjekt freigeben"/>
</layout_panel>
<layout_panel name="shop_btn_lp">
<button label="Einkaufen" name="shop_btn" tool_tip="Marktplatz-Webseite öffnen"/>
<button label="Anziehen" name="wear_btn" tool_tip="Ausgewähltes Outfit tragen"/>
- <button label="Wiedergeben" name="play_btn"/>
+ <button label="Spielen" name="play_btn"/>
<button label="Teleportieren" name="teleport_btn" tool_tip="Zu ausgewähltem Standort teleportieren"/>
</layout_panel>
</layout_stack>
diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml
index 24b58327aa..95657ba14e 100755
--- a/indra/newview/skins/default/xui/de/strings.xml
+++ b/indra/newview/skins/default/xui/de/strings.xml
@@ -37,6 +37,45 @@
<string name="StartupRequireDriverUpdate">
Grafikinitialisierung fehlgeschlagen. Bitte aktualisieren Sie Ihren Grafiktreiber.
</string>
+ <string name="AboutHeader">
+ [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]
+ </string>
+ <string name="AboutCompiler">
+ Kompiliert mit [COMPILER], Version [COMPILER_VERSION]
+ </string>
+ <string name="AboutPosition">
+ Sie befinden sich an [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] in [REGION] auf &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
+SLURL: &lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(globale Koordinaten [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+ </string>
+ <string name="AboutSystem">
+ CPU: [CPU]
+Speicher: [MEMORY_MB] MB
+Betriebssystemversion: [OS_VERSION]
+Grafikkartenhersteller: [GRAPHICS_CARD_VENDOR]
+Grafikkarte: [GRAPHICS_CARD]
+ </string>
+ <string name="AboutDriver">
+ Windows-Grafiktreiberversion: [GRAPHICS_DRIVER_VERSION]
+ </string>
+ <string name="AboutLibs">
+ OpenGL-Version: [OPENGL_VERSION]
+
+libcurl-Version: [LIBCURL_VERSION]
+J2C-Decoderversion: [J2C_VERSION]
+Audiotreiberversion: [AUDIO_DRIVER_VERSION]
+Qt-Webkit-Version: [QT_WEBKIT_VERSION]
+Voice-Server-Version: [VOICE_VERSION]
+ </string>
+ <string name="AboutTraffic">
+ Paketverlust: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1] %)
+ </string>
+ <string name="ErrorFetchingServerReleaseNotesURL">
+ Fehler beim Abrufen der URL für die Server-Versionshinweise.
+ </string>
<string name="ProgressRestoring">
Wird wiederhergestellt...
</string>
@@ -296,75 +335,6 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
<string name="TestingDisconnect">
Verbindungsabbruch wird getestet
</string>
- <string name="SocialFlickrConnecting">
- Verbinden mit Flickr...
- </string>
- <string name="SocialFlickrPosting">
- Posten...
- </string>
- <string name="SocialFlickrDisconnecting">
- Flickr-Verbindung wird getrennt...
- </string>
- <string name="SocialFlickrErrorConnecting">
- Problem beim Verbinden mit Flickr
- </string>
- <string name="SocialFlickrErrorPosting">
- Problem beim Posten auf Flickr
- </string>
- <string name="SocialFlickrErrorDisconnecting">
- Problem beim Trennen der Flickr-Verbindung
- </string>
- <string name="SocialTwitterConnecting">
- Verbinden mit Twitter...
- </string>
- <string name="SocialTwitterPosting">
- Posten...
- </string>
- <string name="SocialTwitterDisconnecting">
- Twitter-Verbindung wird getrennt...
- </string>
- <string name="SocialTwitterErrorConnecting">
- Problem beim Verbinden mit Twitter
- </string>
- <string name="SocialTwitterErrorPosting">
- Problem beim Posten auf Twitter
- </string>
- <string name="SocialTwitterErrorDisconnecting">
- Problem beim Trennen der Twitter-Verbindung
- </string>
- <string name="BlackAndWhite">
- Schwarzweiß
- </string>
- <string name="Colors1970">
- Farben der Siebziger Jahre
- </string>
- <string name="Intense">
- Intensiv
- </string>
- <string name="Newspaper">
- Zeitungspapier
- </string>
- <string name="Sepia">
- Sepia
- </string>
- <string name="Spotlight">
- Spotlight
- </string>
- <string name="Video">
- Video
- </string>
- <string name="Autocontrast">
- Autokontrast
- </string>
- <string name="LensFlare">
- Blendenfleck
- </string>
- <string name="Miniature">
- Miniatur
- </string>
- <string name="Toycamera">
- Spielzeugkamera
- </string>
<string name="TooltipPerson">
Person
</string>
@@ -916,12 +886,6 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
<string name="use_texture">
Textur verwenden
</string>
- <string name="manip_hint1">
- Zum Einrasten Mauscursor
- </string>
- <string name="manip_hint2">
- über Lineal bewegen
- </string>
<string name="texture_loading">
Wird geladen...
</string>
@@ -1374,6 +1338,18 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
<string name="InventoryOutboxNoItems">
Ziehen Sie Ordner in dien Bereich und klicken Sie auf „In Marktplatz übertragen“, um sie im [[MARKETPLACE_DASHBOARD_URL] Marktplatz] zum Verkauf anzubieten.
</string>
+ <string name="InventoryOutboxInitializingTitle">
+ Marktplatz wird initialisiert.
+ </string>
+ <string name="InventoryOutboxInitializing">
+ Wir greifen auf Ihr Konto im [[MARKETPLACE_CREATE_STORE_URL] Marktplatz-Laden] zu.
+ </string>
+ <string name="InventoryOutboxErrorTitle">
+ Marktplatzfehler.
+ </string>
+ <string name="InventoryOutboxError">
+ Der [[MARKETPLACE_CREATE_STORE_URL] Marktplatz-Laden] gibt Fehler zurück.
+ </string>
<string name="Marketplace Error None">
Keine Fehler
</string>
@@ -1402,7 +1378,7 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
Landmarken öffnen
</string>
<string name="Unconstrained">
- keines
+ Variabel
</string>
<string name="no_transfer" value=" (kein Transferieren)"/>
<string name="no_modify" value=" (kein Bearbeiten)"/>
@@ -1804,6 +1780,9 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
<string name="CompileQueueDownloadedCompiling">
Heruntergeladen, wird kompiliert
</string>
+ <string name="CompileQueueServiceUnavailable">
+ Kein Skriptkompilierungsdienst verfügbar
+ </string>
<string name="CompileQueueScriptNotFound">
Skript wurde auf Server nicht gefunden.
</string>
@@ -4104,12 +4083,6 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich bitte an [SUPPORT_
<string name="share_alert">
Objekte aus dem Inventar hier her ziehen
</string>
- <string name="flickr_post_success">
- Sie haben auf Flickr gepostet.
- </string>
- <string name="twitter_post_success">
- Sie haben auf Twitter gepostet.
- </string>
<string name="no_session_message">
(IM-Session nicht vorhanden)
</string>
@@ -4566,9 +4539,6 @@ Missbrauchsbericht
<string name="LocalEstimateUSD">
[AMOUNT] US$
</string>
- <string name="Group Ban">
- Gruppenverbannung
- </string>
<string name="Membership">
Mitgliedschaft
</string>
@@ -4991,12 +4961,6 @@ Setzen Sie den Editorpfad in Anführungszeichen
<string name="Command_Destinations_Label">
Ziele
</string>
- <string name="Command_Facebook_Label">
- Facebook
- </string>
- <string name="Command_Flickr_Label">
- Flickr
- </string>
<string name="Command_Gestures_Label">
Gesten
</string>
@@ -5045,9 +5009,6 @@ Setzen Sie den Editorpfad in Anführungszeichen
<string name="Command_Speak_Label">
Sprechen
</string>
- <string name="Command_Twitter_Label">
- Twitter
- </string>
<string name="Command_View_Label">
Kamerasteuerungen
</string>
@@ -5078,12 +5039,6 @@ Setzen Sie den Editorpfad in Anführungszeichen
<string name="Command_Destinations_Tooltip">
Ziele von Interesse
</string>
- <string name="Command_Facebook_Tooltip">
- Auf Facebook posten
- </string>
- <string name="Command_Flickr_Tooltip">
- Auf Flickr hochladen
- </string>
<string name="Command_Gestures_Tooltip">
Gesten für Ihren Avatar
</string>
@@ -5132,9 +5087,6 @@ Setzen Sie den Editorpfad in Anführungszeichen
<string name="Command_Speak_Tooltip">
Über Ihr Mikrofon mit Leuten in der Nähe sprechen
</string>
- <string name="Command_Twitter_Tooltip">
- Twitter
- </string>
<string name="Command_View_Tooltip">
Kamerawinkel ändern
</string>
diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml
index dad81aca4f..c64ee5565a 100755
--- a/indra/newview/skins/default/xui/en/floater_im_session.xml
+++ b/indra/newview/skins/default/xui/en/floater_im_session.xml
@@ -209,7 +209,7 @@
default_tab_group="3"
tab_group="2"
name="right_part_holder"
- min_width="230">
+ min_width="207">
<layout_stack
animate="true"
follows="all"
diff --git a/indra/newview/skins/default/xui/en/floater_lagmeter.xml b/indra/newview/skins/default/xui/en/floater_lagmeter.xml
new file mode 100644
index 0000000000..b24c745bdd
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/floater_lagmeter.xml
@@ -0,0 +1,336 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<floater
+ legacy_header_height="18"
+ height="170"
+ layout="topleft"
+ name="floater_lagmeter"
+ help_topic="floater_lagmeter"
+ save_rect="true"
+ title="LAG METER"
+ width="350">
+ <floater.string
+ name="max_title_msg">
+ Lag Meter
+ </floater.string>
+ <floater.string
+ name="max_width_px">
+ 360
+ </floater.string>
+ <floater.string
+ name="min_title_msg">
+ Lag
+ </floater.string>
+ <floater.string
+ name="min_width_px">
+ 90
+ </floater.string>
+ <floater.string
+ name="client_text_msg">
+ Client
+ </floater.string>
+ <floater.string
+ name="client_frame_rate_critical_fps">
+ 10
+ </floater.string>
+ <floater.string
+ name="client_frame_rate_warning_fps">
+ 15
+ </floater.string>
+ <floater.string
+ name="client_frame_time_window_bg_msg">
+ Normal, window in background
+ </floater.string>
+ <floater.string
+ name="client_frame_time_critical_msg">
+ Client frame rate below [CLIENT_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string
+ name="client_frame_time_warning_msg">
+ Client frame rate between [CLIENT_FRAME_RATE_CRITICAL] and [CLIENT_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string
+ name="client_frame_time_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string
+ name="client_draw_distance_cause_msg">
+ Possible cause: Draw distance set too high
+ </floater.string>
+ <floater.string
+ name="client_texture_loading_cause_msg">
+ Possible cause: Images loading
+ </floater.string>
+ <floater.string
+ name="client_texture_memory_cause_msg">
+ Possible cause: Too many images in memory
+ </floater.string>
+ <floater.string
+ name="client_complex_objects_cause_msg">
+ Possible cause: Too many complex objects in scene
+ </floater.string>
+ <floater.string
+ name="network_text_msg">
+ Network
+ </floater.string>
+ <floater.string
+ name="network_packet_loss_critical_pct">
+ 10
+ </floater.string>
+ <floater.string
+ name="network_packet_loss_warning_pct">
+ 5
+ </floater.string>
+ <floater.string
+ name="network_packet_loss_critical_msg">
+ Connection is dropping over [NETWORK_PACKET_LOSS_CRITICAL]% of packets
+ </floater.string>
+ <floater.string
+ name="network_packet_loss_warning_msg">
+ Connection is dropping [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% of packets
+ </floater.string>
+ <floater.string
+ name="network_performance_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string
+ name="network_ping_critical_ms">
+ 600
+ </floater.string>
+ <floater.string
+ name="network_ping_warning_ms">
+ 300
+ </floater.string>
+ <floater.string
+ name="network_ping_critical_msg">
+ Connection ping time is over [NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string
+ name="network_ping_warning_msg">
+ Connection ping time is [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string
+ name="network_packet_loss_cause_msg">
+ Possible bad connection or &apos;Bandwidth&apos; pref too high.
+ </floater.string>
+ <floater.string
+ name="network_ping_cause_msg">
+ Possible bad connection or file-sharing app.
+ </floater.string>
+ <floater.string
+ name="server_text_msg">
+ Server
+ </floater.string>
+ <floater.string
+ name="server_frame_rate_critical_fps">
+ 20
+ </floater.string>
+ <floater.string
+ name="server_frame_rate_warning_fps">
+ 30
+ </floater.string>
+ <floater.string
+ name="server_single_process_max_time_ms">
+ 20
+ </floater.string>
+ <floater.string
+ name="server_frame_time_critical_msg">
+ Simulator framerate below [SERVER_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string
+ name="server_frame_time_warning_msg">
+ Simulator framerate between [SERVER_FRAME_RATE_CRITICAL] and [SERVER_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string
+ name="server_frame_time_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string
+ name="server_physics_cause_msg">
+ Possible Cause: Too many physical objects
+ </floater.string>
+ <floater.string
+ name="server_scripts_cause_msg">
+ Possible Cause: Too many scripted objects
+ </floater.string>
+ <floater.string
+ name="server_net_cause_msg">
+ Possible Cause: Too much network traffic
+ </floater.string>
+ <floater.string
+ name="server_agent_cause_msg">
+ Possible Cause: Too many moving people in region
+ </floater.string>
+ <floater.string
+ name="server_images_cause_msg">
+ Possible Cause: Too many image calculations
+ </floater.string>
+ <floater.string
+ name="server_generic_cause_msg">
+ Possible Cause: Simulator load too heavy
+ </floater.string>
+ <floater.string
+ name="smaller_label">
+ &gt;&gt;
+ </floater.string>
+ <floater.string
+ name="bigger_label">
+ &lt;&lt;
+ </floater.string>
+ <button
+ follows="top|left"
+ height="16"
+ image_selected="lag_status_good.tga"
+ image_unselected="lag_status_good.tga"
+ layout="topleft"
+ left="8"
+ name="client_lagmeter"
+ tab_stop="false"
+ tool_tip="Client lag status"
+ top="24"
+ width="16" />
+ <text
+ type="string"
+ length="1"
+ follows="left|top"
+ font="SansSerif"
+ height="16"
+ layout="topleft"
+ left_pad="3"
+ name="client"
+ top_delta="0"
+ width="128">
+ Client
+ </text>
+ <text
+ invisiblity_control="LagMeterShrunk"
+ type="string"
+ length="1"
+ bottom="40"
+ follows="left|top"
+ font="SansSerif"
+ height="16"
+ layout="topleft"
+ left="110"
+ name="client_text"
+ right="-10">
+ Normal
+ </text>
+ <text
+ invisiblity_control="LagMeterShrunk"
+ bottom="56"
+ follows="left|top"
+ height="16"
+ layout="topleft"
+ left="40"
+ name="client_lag_cause"
+ right="-32" />
+ <button
+ follows="top|left"
+ height="16"
+ image_selected="lag_status_good.tga"
+ image_unselected="lag_status_good.tga"
+ layout="topleft"
+ left="8"
+ name="network_lagmeter"
+ tab_stop="false"
+ tool_tip="Network lag status"
+ top="64"
+ width="16" />
+ <text
+ type="string"
+ length="1"
+ follows="left|top"
+ font="SansSerif"
+ height="16"
+ layout="topleft"
+ left_pad="3"
+ name="network"
+ top_delta="0"
+ width="128">
+ Network
+ </text>
+ <text
+ invisiblity_control="LagMeterShrunk"
+ type="string"
+ length="1"
+ bottom="80"
+ follows="left|top"
+ font="SansSerif"
+ height="16"
+ layout="topleft"
+ left="110"
+ name="network_text"
+ right="-10">
+ Normal
+ </text>
+ <text
+ invisiblity_control="LagMeterShrunk"
+ bottom="96"
+ follows="left|top"
+ height="16"
+ layout="topleft"
+ left="40"
+ name="network_lag_cause"
+ right="-32" />
+ <button
+ follows="top|left"
+ height="16"
+ image_selected="lag_status_good.tga"
+ image_unselected="lag_status_good.tga"
+ layout="topleft"
+ left="8"
+ name="server_lagmeter"
+ tab_stop="false"
+ tool_tip="Server lag status"
+ top="104"
+ width="16" />
+ <text
+ type="string"
+ length="1"
+ follows="left|top"
+ font="SansSerif"
+ height="16"
+ layout="topleft"
+ left_pad="3"
+ name="server"
+ top_delta="0"
+ width="60">
+ Server
+ </text>
+ <text
+ invisiblity_control="LagMeterShrunk"
+ type="string"
+ length="1"
+ bottom="120"
+ follows="left|top"
+ font="SansSerif"
+ height="16"
+ layout="topleft"
+ left="110"
+ name="server_text"
+ right="-10">
+ Normal
+ </text>
+ <text
+ invisiblity_control="LagMeterShrunk"
+ bottom="136"
+ follows="left|top"
+ height="16"
+ layout="topleft"
+ left="40"
+ name="server_lag_cause"
+ right="-32" />
+ <button
+ follows="left|top"
+ height="20"
+ label="&gt;&gt;"
+ layout="topleft"
+ left="10"
+ name="minimize"
+ tool_tip="Toggle floater size"
+ top_delta="24"
+ width="40">
+ <button.commit_callback
+ function="LagMeter.ClickShrink" />
+ </button>
+</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_openobject.xml b/indra/newview/skins/default/xui/en/floater_openobject.xml
index f526970ad0..bf6e0c4917 100755
--- a/indra/newview/skins/default/xui/en/floater_openobject.xml
+++ b/indra/newview/skins/default/xui/en/floater_openobject.xml
@@ -6,7 +6,7 @@
height="350"
layout="topleft"
min_height="160"
- min_width="270"
+ min_width="280"
name="objectcontents"
help_topic="objectcontents"
save_rect="true"
@@ -40,10 +40,10 @@
<button
follows="bottom|left"
height="23"
- label="Copy To Inventory"
- label_selected="Copy To Inventory"
+ label="Copy to inventory"
+ label_selected="Copy to inventory"
layout="topleft"
- left="20"
+ left="15"
name="copy_to_inventory_button"
tab_group="1"
top_pad="5"
@@ -54,12 +54,12 @@
<button
follows="bottom|left"
height="23"
- label="Copy And Wear"
- label_selected="Copy And Wear"
+ label="Copy and add to outfit"
+ label_selected="Copy and add to outfit"
layout="topleft"
- left_pad="10"
+ left_pad="5"
name="copy_and_wear_button"
- width="120">
+ width="135">
<button.commit_callback
function="OpenObject.MoveAndWear" />
</button>
diff --git a/indra/newview/skins/default/xui/en/floater_report_abuse.xml b/indra/newview/skins/default/xui/en/floater_report_abuse.xml
index c50c8c02fe..af62c7a9bc 100755
--- a/indra/newview/skins/default/xui/en/floater_report_abuse.xml
+++ b/indra/newview/skins/default/xui/en/floater_report_abuse.xml
@@ -253,7 +253,7 @@
name="Land__Encroachment__Objects_textures"
value="63" />
<combo_box.item
- label="Wagering or Gambling"
+ label="Gaming Policy Violation"
name="Wagering_gambling"
value="67" />
</combo_box>
diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml
index f0a175902b..76adaad57c 100755
--- a/indra/newview/skins/default/xui/en/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml
@@ -8,6 +8,7 @@
height="455"
layout="topleft"
name="Snapshot"
+ single_instance="true"
help_topic="snapshot"
save_rect="true"
save_visibility="false"
diff --git a/indra/newview/skins/default/xui/en/floater_stats.xml b/indra/newview/skins/default/xui/en/floater_stats.xml
index 7addc71f52..fbf262441f 100755
--- a/indra/newview/skins/default/xui/en/floater_stats.xml
+++ b/indra/newview/skins/default/xui/en/floater_stats.xml
@@ -267,7 +267,9 @@
stat="simsimskippedsilhouettesteps"
unit_label="/sec"/>
<stat_bar name="simsimpctsteppedcharacters"
+ label="Characters Updated"
stat="simsimpctsteppedcharacters"
+ unit_label="%"
decimal_digits="1"/>
</stat_view>
<stat_bar name="siminpps"
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index c8fcda9858..de441983d0 100755
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -251,8 +251,7 @@
function="Floater.Visible"
parameter="nearby_chat" />
<menu_item_check.on_click
- function="Floater.ToggleOrBringToFront"
- parameter="nearby_chat" />
+ function="Communicate.NearbyChat"/>
</menu_item_check>
<menu_item_check
label="Speak"
@@ -377,13 +376,16 @@
function="SideTray.PanelPeopleTab"
parameter="nearby_panel" />
</menu_item_check>
- <menu_item_call
+ <menu_item_check
label="Block List"
name="Block List">
- <menu_item_call.on_click
+ <menu_item_check.on_check
+ function="SideTray.CheckPanelPeopleTab"
+ parameter="blocked_panel" />
+ <menu_item_check.on_click
function="SideTray.PanelPeopleTab"
parameter="blocked_panel" />
- </menu_item_call>
+ </menu_item_check>
<menu_item_separator/>
<menu_item_check
name="Do Not Disturb"
@@ -1222,7 +1224,7 @@
name="Grid Options"
shortcut="control|shift|B">
<menu_item_call.on_click
- function="Floater.Show"
+ function="Floater.Toggle"
parameter="build_options" />
<menu_item_call.on_enable
function="Tools.EnableToolNotPie" />
diff --git a/indra/newview/skins/default/xui/en/mime_types.xml b/indra/newview/skins/default/xui/en/mime_types.xml
index a585069faa..f5f2223330 100755
--- a/indra/newview/skins/default/xui/en/mime_types.xml
+++ b/indra/newview/skins/default/xui/en/mime_types.xml
@@ -101,6 +101,27 @@
true
</allow_looping>
</widgetset>
+ <widgetset name="none">
+ <label name="none_label">
+ No Content
+ </label>
+ <default_type>
+ none/none
+ </default_type>
+ <icon>
+ icn_media_web.tga
+ </icon>
+ <tooltip name="none_tooltip">
+ No media here
+ </tooltip>
+ <playtip name="none_playtip" />
+ <allow_resize>
+ false
+ </allow_resize>
+ <allow_looping>
+ false
+ </allow_looping>
+ </widgetset>
<scheme name="rtsp">
<label name="rtsp_label">
Real Time Streaming
diff --git a/indra/newview/skins/default/xui/en/mime_types_linux.xml b/indra/newview/skins/default/xui/en/mime_types_linux.xml
index e95b371d00..84aeaf3b54 100755
--- a/indra/newview/skins/default/xui/en/mime_types_linux.xml
+++ b/indra/newview/skins/default/xui/en/mime_types_linux.xml
@@ -101,6 +101,27 @@
true
</allow_looping>
</widgetset>
+ <widgetset name="none">
+ <label name="none_label">
+ No Content
+ </label>
+ <default_type>
+ none/none
+ </default_type>
+ <icon>
+ icn_media_web.tga
+ </icon>
+ <tooltip name="none_tooltip">
+ No media here
+ </tooltip>
+ <playtip name="none_playtip" />
+ <allow_resize>
+ false
+ </allow_resize>
+ <allow_looping>
+ false
+ </allow_looping>
+ </widgetset>
<scheme name="rtsp">
<label name="rtsp_label">
Real Time Streaming
diff --git a/indra/newview/skins/default/xui/en/mime_types_mac.xml b/indra/newview/skins/default/xui/en/mime_types_mac.xml
index 7931e55c0a..90230f12dd 100755
--- a/indra/newview/skins/default/xui/en/mime_types_mac.xml
+++ b/indra/newview/skins/default/xui/en/mime_types_mac.xml
@@ -101,6 +101,27 @@
true
</allow_looping>
</widgetset>
+ <widgetset name="none">
+ <label name="none_label">
+ No Content
+ </label>
+ <default_type>
+ none/none
+ </default_type>
+ <icon>
+ icn_media_web.tga
+ </icon>
+ <tooltip name="none_tooltip">
+ No media here
+ </tooltip>
+ <playtip name="none_playtip" />
+ <allow_resize>
+ false
+ </allow_resize>
+ <allow_looping>
+ false
+ </allow_looping>
+ </widgetset>
<scheme name="rtsp">
<label name="rtsp_label">
Real Time Streaming
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index 2c7dbc3c18..f1d34a1449 100755
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -1427,6 +1427,14 @@ Graphics Quality can be raised in Preferences &gt; Graphics.
The region [REGION] does not allow terraforming.
<tag>fail</tag>
</notification>
+
+ <notification
+ icon="alertmodal.tga"
+ name="ParcelNoTerraforming"
+ type="notify">
+You are not allowed to terraform parcel [PARCEL].
+ <tag>fail</tag>
+ </notification>
<notification
icon="alertmodal.tga"
@@ -3807,6 +3815,28 @@ You have left the group [group_name].
</notification>
<notification
+ icon="aler.tga"
+ name="GroupDepartError"
+ type="alert">
+Unable to leave group: [reason].
+ <tag>reason</tag>
+ <usetemplate
+ name="okbutton"
+ yestext="OK"/>
+ </notification>
+
+ <notification
+ icon="alert.tga"
+ name="GroupDepart"
+ type="alert">
+You have left the group [group_name].
+ <tag>group_name</tag>
+ <usetemplate
+ name="okbutton"
+ yestext="OK"/>
+ </notification>
+
+ <notification
icon="alert.tga"
name="ConfirmKick"
type="alert">
@@ -5417,6 +5447,14 @@ Do you want to replace it with the selected object?
</notification>
<notification
+ icon="alertmodal.tga"
+ name="TooManyWearables"
+ type="alertmodal">
+ You can't wear a folder containing more than [AMOUNT] items. You can change this limit in Advanced > Show Debug Settings > WearFolderLimit.
+ <tag>fail</tag>
+ </notification>
+
+ <notification
icon="alert.tga"
label="Do Not Disturb Mode Warning"
name="DoNotDisturbModePay"
@@ -7021,11 +7059,11 @@ If you stay in this region you will be logged out.
name="LoadWebPage"
show_toast="false"
type="notify">
-Load web page [URL]?
+Load web page [URL] ?
[MESSAGE]
-From object: &lt;nolink&gt;[OBJECTNAME]&lt;/nolink&gt;, owner: [NAME]?
+From object: &lt;nolink&gt;[OBJECTNAME]&lt;/nolink&gt;, owner: [NAME]
<tag>confirm</tag>
<form name="form">
<button
@@ -7921,7 +7959,16 @@ You uploaded a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] second
( [EXISTENCE] seconds alive )
You locally updated a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] seconds.
</notification>
-
+
+ <notification
+ icon="alertmodal.tga"
+ name="CannotUploadTexture"
+ type="alertmodal">
+Unable to upload texture.
+[REASON]
+ <tag>fail</tag>
+ </notification>
+
<notification
icon="alertmodal.tga"
name="LivePreviewUnavailable"
diff --git a/indra/newview/skins/default/xui/en/panel_place_profile.xml b/indra/newview/skins/default/xui/en/panel_place_profile.xml
index 30239d6d01..0dd75b1b55 100755
--- a/indra/newview/skins/default/xui/en/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_place_profile.xml
@@ -295,14 +295,14 @@
value="SampleParcel, Name Long (145, 228, 26)"
width="285" />
<expandable_text
- follows="left|top|right"
+ follows="left|top"
height="50"
layout="topleft"
left="5"
name="description"
top_pad="10"
value="Du waltz die spritz"
- width="300" />
+ width="285" />
<text
follows="left|top"
height="14"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml
index dd4533ae74..1e9a1aa27c 100755
--- a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml
@@ -106,7 +106,7 @@
width="300">
Web:
</text>
- <radio_group
+ <!-- <radio_group
control_name="UseExternalBrowser"
draw_border="false"
follows="top|left"
@@ -136,6 +136,48 @@
tool_tip="Use the built-in web browser for help, web links, etc. This browser opens as a new window inside [APP_NAME]."
top_delta="20"
width="480" />
+ </radio_group> -->
+
+ <radio_group
+ control_name="PreferredBrowserBehavior"
+ draw_border="false"
+ follows="left|top"
+ height="60"
+ layout="topleft"
+ left_delta="50"
+ name="preferred_browser_behavior"
+ top_pad="0"
+ width="480">
+ <radio_item
+ height="20"
+ label="Use my browser (Chrome, Firefox, IE) for all links"
+ layout="topleft"
+ left="0"
+ name="internal"
+ value="0"
+ tool_tip="Use the default system web browser for help, web links, etc. Not recommended if running full screen."
+ top="0"
+ width="480" />
+ <radio_item
+ height="20"
+ label="Use built-in browser for Second Life links only"
+ layout="topleft"
+ left_delta="0"
+ name="external"
+ value="1"
+ tool_tip="Use the default system web browser for help, web links, etc. Builtin browser will be used only for LindenLab/SecondLife links."
+ top_delta="20"
+ width="480" />
+ <radio_item
+ height="20"
+ label="Use built-in browser for all links"
+ layout="topleft"
+ left="0"
+ name="internal"
+ value="2"
+ tool_tip="Use the built-in web browser for help, web links, etc. This browser opens as a new window inside [APP_NAME]."
+ top_delta="20"
+ width="480" />
</radio_group>
<check_box
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 5fbc539a06..5dcb8e2cdf 100755
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -233,6 +233,7 @@ Please try logging in again in a minute.</string>
<string name="TooltipFlagNoScripts">No Scripts</string>
<string name="TooltipLand">Land:</string>
<string name="TooltipMustSingleDrop">Only a single item can be dragged here</string>
+ <string name="TooltipTooManyWearables">You can't wear a folder containing more than [AMOUNT] items. You can change this limit in Advanced > Show Debug Settings > WearFolderLimit.</string>
<string name="TooltipPrice" value="L$[AMOUNT]: "/>
<string name="TooltipOutboxDragToWorld">You can not rez items in your merchant outbox</string>
diff --git a/indra/newview/skins/default/xui/es/floater_lagmeter.xml b/indra/newview/skins/default/xui/es/floater_lagmeter.xml
new file mode 100644
index 0000000000..227689a194
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_lagmeter.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="MEDIDOR DEL LAG">
+ <floater.string name="max_title_msg">
+ Medidor del lag
+ </floater.string>
+ <floater.string name="max_width_px">
+ 360
+ </floater.string>
+ <floater.string name="min_title_msg">
+ Lag
+ </floater.string>
+ <floater.string name="min_width_px">
+ 90
+ </floater.string>
+ <floater.string name="client_text_msg">
+ Cliente
+ </floater.string>
+ <floater.string name="client_frame_rate_critical_fps">
+ 10
+ </floater.string>
+ <floater.string name="client_frame_rate_warning_fps">
+ 15
+ </floater.string>
+ <floater.string name="client_frame_time_window_bg_msg">
+ Normal, ventana en segundo plano
+ </floater.string>
+ <floater.string name="client_frame_time_critical_msg">
+ Frames del cliente valorados por debajo de [CLIENT_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="client_frame_time_warning_msg">
+ Frames del cliente valorados entre [CLIENT_FRAME_RATE_CRITICAL] y [CLIENT_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="client_frame_time_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="client_draw_distance_cause_msg">
+ Posible causa: distancia de dibujo fijada muy alta
+ </floater.string>
+ <floater.string name="client_texture_loading_cause_msg">
+ Posible causa: imágenes cargándose
+ </floater.string>
+ <floater.string name="client_texture_memory_cause_msg">
+ Posible causa: demasiadas imágenes en la memoria
+ </floater.string>
+ <floater.string name="client_complex_objects_cause_msg">
+ Posible causa: demasiados objetos complejos en la escena
+ </floater.string>
+ <floater.string name="network_text_msg">
+ Red
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_pct">
+ 10
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_pct">
+ 5
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_msg">
+ La conexión deja caer más del [NETWORK_PACKET_LOSS_CRITICAL]% de los paquetes
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_msg">
+ La conexión deja caer [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% de los paquetes
+ </floater.string>
+ <floater.string name="network_performance_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="network_ping_critical_ms">
+ 600
+ </floater.string>
+ <floater.string name="network_ping_warning_ms">
+ 300
+ </floater.string>
+ <floater.string name="network_ping_critical_msg">
+ El tiempo de conexión -ping- supera los [NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_ping_warning_msg">
+ El tiempo de conexión -ping- es de [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_packet_loss_cause_msg">
+ Quizá una mala conexión o un ancho de banda fijado demasiado alto.
+ </floater.string>
+ <floater.string name="network_ping_cause_msg">
+ Quizá una mala conexión o una aplicación de archivos compartidos.
+ </floater.string>
+ <floater.string name="server_text_msg">
+ Servidor
+ </floater.string>
+ <floater.string name="server_frame_rate_critical_fps">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_rate_warning_fps">
+ 30
+ </floater.string>
+ <floater.string name="server_single_process_max_time_ms">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_time_critical_msg">
+ Frecuencia (framerate) por debajo de [SERVER_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="server_frame_time_warning_msg">
+ Frecuencia (framerate) entre [SERVER_FRAME_RATE_CRITICAL] y [SERVER_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="server_frame_time_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="server_physics_cause_msg">
+ Posible causa: demasiados objetos físicos
+ </floater.string>
+ <floater.string name="server_scripts_cause_msg">
+ Posible causa: demasiados objetos con script
+ </floater.string>
+ <floater.string name="server_net_cause_msg">
+ Posible causa: demasiado tráfico en la red
+ </floater.string>
+ <floater.string name="server_agent_cause_msg">
+ Posible causa: demasiada gente moviéndose en la región
+ </floater.string>
+ <floater.string name="server_images_cause_msg">
+ Posible causa: demasiados cálculos de imáganes
+ </floater.string>
+ <floater.string name="server_generic_cause_msg">
+ Posible causa: carga del simulador muy pesada
+ </floater.string>
+ <floater.string name="smaller_label">
+ &gt;&gt;
+ </floater.string>
+ <floater.string name="bigger_label">
+ &lt;&lt;
+ </floater.string>
+ <button label="" label_selected="" name="client_lagmeter" tool_tip="Estado del lag del cliente"/>
+ <text name="client">
+ Cliente
+ </text>
+ <text font="SansSerifSmall" name="client_text">
+ Normal
+ </text>
+ <text left="30" name="client_lag_cause" right="-10"/>
+ <button label="" label_selected="" name="network_lagmeter" tool_tip="Estado del lag de la red"/>
+ <text name="network">
+ Red
+ </text>
+ <text font="SansSerifSmall" name="network_text">
+ Normal
+ </text>
+ <text left="30" name="network_lag_cause" right="-10"/>
+ <button label="" label_selected="" name="server_lagmeter" tool_tip="Estado del lag del servidor"/>
+ <text name="server">
+ Servidor
+ </text>
+ <text font="SansSerifSmall" name="server_text">
+ Normal
+ </text>
+ <text left="30" name="server_lag_cause" right="-32"/>
+ <button label="&gt;&gt;" name="minimize" tool_tip="Cambia el tamaño de la ventana"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_region_restarting.xml b/indra/newview/skins/default/xui/es/floater_region_restarting.xml
new file mode 100644
index 0000000000..d55c8eff17
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="REGIÓN REINICIANDO">
+ <string name="RegionName">
+ La región en la que te encuentras ([NAME]) se va a reiniciar.
+
+Si permaneces en esta región serás desconectado.
+ </string>
+ <string name="RestartSeconds">
+ Segundos hasta el reinicio
+[SECONDS]
+ </string>
+ <panel name="layout_panel_1">
+ <text name="region_name">
+ La región en la que te encuentras (-el nombre de región más largo-) se va a reiniciar.
+
+Si permaneces en esta región serás desconectado.
+ </text>
+ <text name="restart_seconds">
+ Segundos hasta el reinicio
+ 32767
+ </text>
+ </panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/es/floater_scene_load_stats.xml
new file mode 100644
index 0000000000..f625d5257c
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="ESTADÍSTICAS DE CARGA DE ESCENA">
+ <button label="Pausa" name="playpause"/>
+ <scroll_container name="statistics_scroll">
+ <container_view name="statistics_view">
+ <stat_view label="Básica" name="basic">
+ <stat_bar label="Diferencia de píxeles de fotograma" name="frame difference"/>
+ <stat_bar label="Datos de UDP recibidos" name="bandwidth"/>
+ <stat_bar label="Pérdida de paquetes" name="packet_loss"/>
+ </stat_view>
+ <stat_view label="Avanzado" name="advanced">
+ <stat_view label="Renderización" name="render">
+ <stat_bar label="Objetos en total" name="objs"/>
+ <stat_bar label="Objetos nuevos" name="newobjs"/>
+ <stat_bar label="Índice de aciertos de caché de objetos" name="object_cache_hits"/>
+ </stat_view>
+ <stat_view label="Textura" name="texture">
+ <stat_bar label="Índice de aciertos de caché" name="texture_cache_hits"/>
+ <stat_bar label="Latencia de lectura de caché" name="texture_cache_read_latency"/>
+ <stat_bar label="Número" name="numimagesstat"/>
+ <stat_bar label="Raw: número" name="numrawimagesstat"/>
+ </stat_view>
+ <stat_view label="Red" name="network">
+ <stat_bar label="Paquetes salientes" name="packetsinstat"/>
+ <stat_bar label="Paquetes entrantes" name="packetsoutstat"/>
+ <stat_bar label="Objetos" name="objectdatareceived"/>
+ <stat_bar label="Textura" name="texturedatareceived"/>
+ <stat_bar label="Asset" name="assetudpdatareceived"/>
+ <stat_bar label="Capas" name="layersdatareceived"/>
+ <stat_bar label="Entrando ahora" name="messagedatain"/>
+ <stat_bar label="Saliendo ahora" name="messagedataout"/>
+ <stat_bar label="Operaciones VFS pendientes" name="vfspendingoperations"/>
+ </stat_view>
+ </stat_view>
+ <stat_view label="Simulador" name="sim">
+ <stat_bar label="Objetos" name="simobjects"/>
+ <stat_bar label="Objetos activos" name="simactiveobjects"/>
+ <stat_bar label="Scripts activos" name="simactivescripts"/>
+ <stat_bar label="Paquetes salientes" name="siminpps"/>
+ <stat_bar label="Paquetes entrantes" name="simoutpps"/>
+ <stat_bar label="Descargas pendientes" name="simpendingdownloads"/>
+ <stat_bar label="Subidas pendientes" name="simpendinguploads"/>
+ <stat_bar label="Total de bytes no reconocidos" name="simtotalunackedbytes"/>
+ <stat_view label="Tiempo (ms)" name="simperf">
+ <stat_bar label="Tiempo total de los frames" name="simframemsec"/>
+ <stat_bar label="Tiempo de red" name="simnetmsec"/>
+ <stat_bar label="Physics Time" name="simsimphysicsmsec"/>
+ <stat_bar label="Tiempo de la simulación" name="simsimothermsec"/>
+ <stat_bar label="Tiempo de los agentes" name="simagentmsec"/>
+ <stat_bar label="Tiempo de las imágenes" name="simimagesmsec"/>
+ <stat_bar label="Tiempo de los scripts" name="simscriptmsec"/>
+ <stat_bar label="Tiempo libre" name="simsparemsec"/>
+ <stat_view label="Datos de tiempo (ms)" name="timedetails">
+ <stat_bar label="Paso de física" name="simsimphysicsstepmsec"/>
+ <stat_bar label="Actualizar formas físicas" name="simsimphysicsshapeupdatemsec"/>
+ <stat_bar label="Otros (Física)" name="simsimphysicsothermsec"/>
+ <stat_bar label="Tiempo de suspensión" name="simsleepmsec"/>
+ <stat_bar label="Bombea E/S" name="simpumpiomsec"/>
+ </stat_view>
+ </stat_view>
+ </stat_view>
+ </container_view>
+ </scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_stats.xml b/indra/newview/skins/default/xui/es/floater_stats.xml
index 0bbc78d422..7ecf5fafae 100755
--- a/indra/newview/skins/default/xui/es/floater_stats.xml
+++ b/indra/newview/skins/default/xui/es/floater_stats.xml
@@ -4,18 +4,20 @@
<container_view name="statistics_view">
<stat_view label="Básico" name="basic">
<stat_bar label="FPS" name="fps"/>
- <stat_bar label="Ancho de banda" name="bandwidth"/>
+ <stat_bar label="Datos de UDP recibidos" name="bandwidth"/>
<stat_bar label="Pérdida de paquetes" name="packet_loss"/>
<stat_bar label="Ping del Sim" name="ping"/>
</stat_view>
<stat_view label="Avanzado" name="advanced">
<stat_view label="Renderización" name="render">
- <stat_bar label="KTris generados por fotograma" name="ktrisframe"/>
- <stat_bar label="KTris generados por segundo" name="ktrissec"/>
- <stat_bar label="Objetos en total" name="totalobjs"/>
- <stat_bar label="Objetos en caché" name="cachedobjs"/>
+ <stat_bar label="KTris por fotograma" name="ktrisframe"/>
+ <stat_bar label="KTris por segundo" name="ktrissec"/>
+ <stat_bar label="Objetos en total" name="objs"/>
<stat_bar label="Objetos nuevos" name="newobjs"/>
<stat_bar label="Índice de aciertos de caché de objetos" name="object_cache_hits"/>
+ <stat_bar label="Consultas de oclusión realizadas" name="occlusion_queries"/>
+ <stat_bar label="Objetos ocluidos" name="occluded"/>
+ <stat_bar label="Objeto no ocluido" name="unoccluded"/>
</stat_view>
<stat_view label="Textura" name="texture">
<stat_bar label="Índice de aciertos de caché" name="texture_cache_hits"/>
@@ -27,9 +29,32 @@
<stat_bar label="Raw Mem" name="rawmemstat"/>
<stat_bar label="Bound Mem" name="glboundmemstat"/>
</stat_view>
+ <stat_view label="Memoria utilizada" name="memory">
+ <stat_bar label="LLTrace" name="LLTrace"/>
+ <stat_bar label="UI" name="LLView"/>
+ <stat_bar label="Fuentes" name="LLFontFreetype"/>
+ <stat_bar label="Inventario" name="LLInventoryObject"/>
+ <stat_bar label="Objetos del visor" name="LLViewerObject"/>
+ <stat_bar label="Datos de grupo de árbol octal" name="LLViewerOctreeGroup"/>
+ <stat_bar label="Datos de árbol octal" name="LLViewerOctreeEntry"/>
+ <stat_bar label="Caché de objetos del visor" name="LLVOCacheEntry"/>
+ <stat_bar label="Objetos dibujables" name="LLDrawable"/>
+ <stat_bar label="Datos de cara" name="LLFace"/>
+ <stat_bar label="Información de dibujo" name="LLDrawInfo"/>
+ <stat_bar label="Datos de textura" name="LLTexture"/>
+ <stat_bar label="Datos de imagen" name="LLImage"/>
+ <stat_bar label="Datos de imagen GL" name="LLImageGL"/>
+ <stat_bar label="Memorias intermedias de vértice" name="LLVertexBuffer"/>
+ </stat_view>
<stat_view label="Red" name="network">
<stat_bar label="Paquetes salientes" name="packetsinstat"/>
<stat_bar label="Paquetes entrantes" name="packetsoutstat"/>
+ <stat_bar label="Objetos" name="objectdatareceived"/>
+ <stat_bar label="Textura" name="texturedatareceived"/>
+ <stat_bar label="Asset" name="assetudpdatareceived"/>
+ <stat_bar label="Capas" name="layersdatareceived"/>
+ <stat_bar label="Entrando ahora" name="messagedatain"/>
+ <stat_bar label="Saliendo ahora" name="messagedataout"/>
<stat_bar label="Operaciones VFS pendientes" name="vfspendingoperations"/>
</stat_view>
</stat_view>
@@ -48,7 +73,8 @@
<stat_bar label="Pasos de silueta omitidos" name="simsimskippedsilhouettesteps"/>
<stat_bar label="Personajes actualizados" name="simsimpctsteppedcharacters"/>
</stat_view>
- <stat_view label="Tiempo (ms)" name="simperf">
+ <stat_bar label="Total de datos no reconocidos" name="simtotalunackedbytes"/>
+ <stat_view label="Tiempo" name="simperf">
<stat_bar label="Tiempo total de los frames" name="simframemsec"/>
<stat_bar label="Tiempo de red" name="simnetmsec"/>
<stat_bar label="Physics Time" name="simsimphysicsmsec"/>
@@ -57,7 +83,7 @@
<stat_bar label="Tiempo de las imágenes" name="simimagesmsec"/>
<stat_bar label="Tiempo de los scripts" name="simscriptmsec"/>
<stat_bar label="Tiempo libre" name="simsparemsec"/>
- <stat_view label="Datos de tiempo (ms)" name="timedetails">
+ <stat_view label="Detalles de tiempo" name="timedetails">
<stat_bar label="Paso de física" name="simsimphysicsstepmsec"/>
<stat_bar label="Actualizar formas físicas" name="simsimphysicsshapeupdatemsec"/>
<stat_bar label="Otros (Física)" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/es/menu_avatar_icon.xml b/indra/newview/skins/default/xui/es/menu_avatar_icon.xml
index fe7331a108..e3299b0a6b 100755
--- a/indra/newview/skins/default/xui/es/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/es/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
<menu name="Avatar Icon Menu">
<menu_item_call label="Ver el perfil" name="Show Profile"/>
<menu_item_call label="Enviar un MI..." name="Send IM"/>
+ <menu_item_call label="Petición de teleporte" name="Request Teleport"/>
<menu_item_call label="Añadir como amigo..." name="Add Friend"/>
<menu_item_call label="Quitar de los amigos..." name="Remove Friend"/>
</menu>
diff --git a/indra/newview/skins/default/xui/es/menu_inventory.xml b/indra/newview/skins/default/xui/es/menu_inventory.xml
index 803d3f1331..cd5bc7917d 100755
--- a/indra/newview/skins/default/xui/es/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/es/menu_inventory.xml
@@ -69,6 +69,7 @@
<menu_item_call label="Escuchar" name="Sound Play"/>
<menu_item_call label="Copiar la SLurl" name="url_copy"/>
<menu_item_call label="Acerca del hito" name="About Landmark"/>
+ <menu_item_call label="Mostrar en el mapa" name="show_on_map"/>
<menu_item_call label="Escuchar en el mundo" name="Animation Play"/>
<menu_item_call label="Ejecutarla para usted" name="Animation Audition"/>
<menu_item_call label="Enviar un mensaje instantáneo" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/es/menu_login.xml b/indra/newview/skins/default/xui/es/menu_login.xml
index 2286d0527a..336572f0cb 100755
--- a/indra/newview/skins/default/xui/es/menu_login.xml
+++ b/indra/newview/skins/default/xui/es/menu_login.xml
@@ -5,7 +5,15 @@
<menu_item_call label="Salir de [APP_NAME]" name="Quit"/>
</menu>
<menu label="Ayuda" name="Help">
- <menu_item_call label="Ayuda de [SECOND_LIFE]" name="Second Life Help"/>
+ <menu_item_call label="Cómo..." name="How To"/>
+ <menu_item_call label="Guía rápida" name="Quickstart"/>
+ <menu_item_call label="Base de Conocimientos" name="Knowledge Base"/>
+ <menu_item_call label="Wiki" name="Wiki"/>
+ <menu_item_call label="Foros comunitarios" name="Community Forums"/>
+ <menu_item_call label="Portal de soporte" name="Support portal"/>
+ <menu_item_call label="Noticias de [SECOND_LIFE]" name="Second Life News"/>
+ <menu_item_call label="Blogs de [SECOND_LIFE]" name="Second Life Blogs"/>
+ <menu_item_call label="Informar de un fallo" name="Report Bug"/>
<menu_item_call label="Acerca de [APP_NAME]" name="About Second Life"/>
</menu>
<menu_item_check label="Mostrar el menú &apos;Debug&apos;" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/es/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/es/menu_teleport_history_item.xml
index c482907812..1ff555b727 100755
--- a/indra/newview/skins/default/xui/es/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/es/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
<context_menu name="Teleport History Item Context Menu">
<menu_item_call label="Teleportar" name="Teleport"/>
<menu_item_call label="Más información" name="More Information"/>
- <menu_item_call label="Copiar al portapapeles" name="CopyToClipboard"/>
+ <menu_item_call label="Copiar la SLurl" name="CopyToClipboard"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_viewer.xml b/indra/newview/skins/default/xui/es/menu_viewer.xml
index 56afe4bb27..d5208f3d8f 100755
--- a/indra/newview/skins/default/xui/es/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/es/menu_viewer.xml
@@ -35,9 +35,6 @@
<menu_item_check label="Chat..." name="Nearby Chat"/>
<menu_item_check label="Hablar" name="Speak"/>
<menu_item_check label="Registro de conversación..." name="Conversation Log..."/>
- <menu_item_call label="Facebook..." name="Facebook"/>
- <menu_item_call label="Twitter..." name="Twitter"/>
- <menu_item_call label="Flickr..." name="Flickr"/>
<menu label="Transformación de voz" name="VoiceMorphing">
<menu_item_check label="Sin transformación de voz" name="NoVoiceMorphing"/>
<menu_item_check label="Probar..." name="Preview"/>
@@ -152,8 +149,7 @@
<menu_item_check label="Ajustar a la cuadrícula" name="Snap to Grid"/>
<menu_item_call label="Ajustar a la cuadrícula los ejes X e Y" name="Snap Object XY to Grid"/>
<menu_item_call label="Usar lo seleccionado como cuadrícula" name="Use Selection for Grid"/>
- <menu_item_call label="Opciones de la cuadrícula..." name="Grid Options"/>
- <menu_item_call label="Definir permisos predeterminados..." name="Set default permissions"/>
+ <menu_item_call label="Opciones de la cuadrícula" name="Grid Options"/>
</menu>
<menu label="Subir" name="Upload">
<menu_item_call label="Imagen ([COST] L$)..." name="Upload Image"/>
@@ -161,6 +157,7 @@
<menu_item_call label="Animación ([COST] L$)..." name="Upload Animation"/>
<menu_item_call label="Modelo..." name="Upload Model"/>
<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="Deshacer" name="Undo"/>
<menu_item_call label="Rehacer" name="Redo"/>
@@ -188,6 +185,7 @@
<menu label="Herramientas de rendimiento" name="Performance Tools">
<menu_item_call label="Medidor de lag" name="Lag Meter"/>
<menu_item_check label="Estadísticas" name="Statistics Bar"/>
+ <menu_item_call label="Estadísticas de carga de escenas" name="Scene Load Statistics"/>
<menu_item_check label="Mostrar el peso del dibujo de los avatares" name="Avatar Rendering Cost"/>
</menu>
<menu label="Realzado y Visibilidad" name="Highlighting and Visibility">
@@ -249,6 +247,7 @@
<menu_item_check label="Fast Timers" name="Fast Timers"/>
<menu_item_check label="Memory" name="Memory"/>
<menu_item_check label="Datos de la escena" name="Scene Statistics"/>
+ <menu_item_check label="Monitor de carga de escenas" name="Scene Loading Monitor"/>
<menu_item_call label="Consola de depuración de obtención de texturas" name="Texture Fetch Debug Console"/>
<menu_item_call label="Region Info to Debug Console" name="Region Info to Debug Console"/>
<menu_item_check label="Camera" name="Camera"/>
@@ -280,6 +279,7 @@
<menu_item_check label="Randomize Framerate" name="Randomize Framerate"/>
<menu_item_check label="Frame Test" name="Frame Test"/>
<menu_item_call label="Perfil del fotograma" name="Frame Profile"/>
+ <menu_item_call label="Criterio de referencia" name="Benchmark"/>
</menu>
<menu label="Render Metadata" name="Render Metadata">
<menu_item_check label="Normales" name="Normals"/>
@@ -287,7 +287,7 @@
<menu_item_check label="Actualizar el tipo" name="Update Type"/>
<menu_item_check label="Información sobre el nivel de detalle" name="LOD Info"/>
<menu_item_check label="Crear cola" name="Build Queue"/>
- <menu_item_check label="Partículas" name="Particles"/>
+ <menu_item_check label="Articulaciones" name="Joints"/>
<menu_item_check label="Vectores de viento" name="Wind Vectors"/>
<menu_item_check label="Complejidad del renderizado" name="rendercomplexity"/>
<menu_item_check label="Bytes de adjunto" name="attachment bytes"/>
@@ -313,6 +313,7 @@
<menu_item_check label="Render Attached Lights" name="Render Attached Lights"/>
<menu_item_check label="Render Attached Particles" name="Render Attached Particles"/>
<menu_item_check label="Hover Glow Objects" name="Hover Glow Objects"/>
+ <menu_item_call label="Limpiar caché inmediatamente" name="Cache Clear"/>
</menu>
<menu label="Red" name="Network">
<menu_item_check label="Pause Avatar" name="AgentPause"/>
diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml
index 0d545c39dd..ae421cdfd0 100755
--- a/indra/newview/skins/default/xui/es/notifications.xml
+++ b/indra/newview/skins/default/xui/es/notifications.xml
@@ -114,15 +114,15 @@ Puedes consultar más información en el [[MARKETPLACE_IMPORTS_URL] registro de
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="OutboxImportFailed">
- Error de transferencia
+ Error de la transferencia: &apos;[ERROR_CODE]&apos;
-No se han enviado carpetas al Mercado a causa de un error del sistema o de la red. Vuelve a intentarlo más tarde.
+No se han enviado carpetas al Mercado a causa de un error del sistema o de la red. Vuelve a intentarlo más tarde.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="OutboxInitFailed">
- Error al inicializar el mercado
+ Error de inicialización del Mercado: &apos;[ERROR_CODE]&apos;
-La inicialización del mercado ha fallado por un error del sistema o de la red. Vuelve a intentarlo más tarde.
+La inicialización del mercado ha fallado por un error del sistema o de la red. Vuelve a intentarlo más tarde.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="CompileQueueSaveText">
@@ -206,22 +206,6 @@ No podrás removérseles de ese rol, sino que deberán renunciar a él por sí m
¿Añadir esta capacidad a &apos;[ROLE_NAME]&apos;?
<usetemplate name="okcancelbuttons" notext="No" yestext="Sí"/>
</notification>
- <notification name="AssignBanAbilityWarning">
- Vas a agregar la capacidad &apos;[ACTION_NAME]&apos; al rol &apos;[ROLE_NAME]&apos;.
-
- *ATENCIÓN*
-Cualquier miembro de un rol que tenga esta capacidad también recibirá las capacidades &apos;[ACTION_NAME_2]&apos; y &apos;[ACTION_NAME_3]&apos;
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
- <notification name="RemoveBanAbilityWarning">
- Vas a quitar la capacidad &apos;[ACTION_NAME]&apos; del rol &apos;[ROLE_NAME]&apos;.
-
- *ATENCIÓN*
-Al quitar esta capacidad NO se quitan las capacidades &apos;[ACTION_NAME_2]&apos; y &apos;[ACTION_NAME_3]&apos;.
-
-Si no quieres que este rol siga teniendo dichas capacidades, deshabilítalas inmediatamente.
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
<notification name="EjectGroupMemberWarning">
Estás a punto de expulsar a [AVATAR_NAME] del grupo.
<usetemplate ignoretext="Confirmar la expulsión de un miembro del grupo" name="okcancelignore" notext="Cancelar" yestext="Expulsar"/>
@@ -1601,14 +1585,6 @@ Consulta [[INFO_URL] Información sobre esta actualización].
No es posible abandonar el grupo. No puedes abandonarlo porque eres su último propietario. Antes tienes que asignar el papel de propietario a otro miembro.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
- <notification name="GroupDepartError">
- No se puede abandonar el grupo: [reason].
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
- <notification name="GroupDepart">
- Has abandonado el grupo [group_name].
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
<notification name="ConfirmKick">
¿Quieres realmente expulsar a todos los residentes de la cuadrícula?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Expulsar a todos los Residentes"/>
@@ -1763,6 +1739,10 @@ excediendo el límite de [LIMIT].
¿Seguro que quieres teleportarte a &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
<usetemplate ignoretext="Confirmar que quiero teleportarme a un hito" name="okcancelignore" notext="Cancelar" yestext="Teleportar"/>
</notification>
+ <notification name="TeleportViaSLAPP">
+ ¿Seguro que quieres teleportarte a &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
+ <usetemplate ignoretext="Confirmar el teleporte mediante SLAPP" name="okcancelignore" notext="Cancelar" yestext="Teleportarte"/>
+ </notification>
<notification name="TeleportToPick">
¿Teleportarte a [PICK]?
<usetemplate ignoretext="Confirmar el teleporte a una localización de los Destacados" name="okcancelignore" notext="Cancelar" yestext="Teleportar"/>
@@ -1973,6 +1953,9 @@ Se cambiarán miles de regiones, y se provocará un colapso en el espacio del se
<notification name="ProblemAddingEstateManager">
Hay problemas al añadir un administrador nuevo del estado. Uno o más estados deben de tener llena la lista de administradores.
</notification>
+ <notification name="ProblemAddingEstateBanManager">
+ No se puede añadir el administrador o propietario de un estado a la lista de expulsados.
+ </notification>
<notification name="ProblemAddingEstateGeneric">
Hay problemas al añadir a la lista del estado. Uno o más estados deben de tener llena la lista.
</notification>
@@ -2485,12 +2468,6 @@ Inténtalo seleccionando un trozo más pequeño de terreno.
<notification name="SystemMessage">
[MESSAGE]
</notification>
- <notification name="FlickrConnect">
- [MESSAGE]
- </notification>
- <notification name="TwitterConnect">
- [MESSAGE]
- </notification>
<notification name="PaymentReceived">
[MESSAGE]
</notification>
@@ -3058,9 +3035,9 @@ Consulta los detalles en el archivo de registro.
&lt;nolink&gt;[ITEMS]&lt;/nolink&gt;
-Con los siguientes residentes:
+Con los siguientes Residentes:
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
</notification>
<notification name="ShareFolderConfirmation">
@@ -3072,7 +3049,7 @@ Con los siguientes residentes:
Con los siguientes Residentes:
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTES]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Aceptar"/>
</notification>
<notification name="ItemsShared">
@@ -3714,6 +3691,9 @@ Prueba otra vez dentro de un minuto.
<notification name="LinkFailedTooMuchPhysics">
El objeto utiliza una cantidad excesiva de recursos de física; se ha desactivado su dinámica.
</notification>
+ <notification name="EstateManagerFailedllTeleportHome">
+ El objeto &apos;[OBJECT_NAME]&apos; de [SLURL] no puede teleportar a los administradores del estado a la base.
+ </notification>
<notification name="TeleportedHomeByObjectOnParcel">
Has sido teleportado al origen por el objeto &apos;[OBJECT_NAME]&apos; de la parcela &apos;[PARCEL_NAME]&apos;
</notification>
@@ -3904,13 +3884,18 @@ Prueba otra vez dentro de un minuto.
La selección no contiene suficientes parcelas alquiladas para unirlas.
</notification>
<notification name="CantDivideLandMultipleParcelsSelected">
- No se puede dividir el terreno.\nHay varias parcelas seleccionadas.\nPrueba a seleccionar un terreno más pequeño.
+ No se puede dividir el terreno.
+Hay varias parcelas seleccionadas.
+Prueba a seleccionar un terreno más pequeño.
</notification>
<notification name="CantDivideLandCantFindParcel">
- No se puede dividir el terreno.\nNo se encuentra la parcela.\nAvísanos con Ayuda -&gt; Notificar fallo...
+ No se puede dividir el terreno.
+No se encuentra la parcela.
+Notifícalo con Ayuda -&gt; Informar de un fallo...
</notification>
<notification name="CantDivideLandWholeParcelSelected">
- No se puede dividir el terreno. Está seleccionada la parcela completa.\nPrueba a seleccionar un terreno más pequeño.
+ No se puede dividir el terreno. Esta seleccionada una parcela completa.
+Prueba a seleccionar un terreno más pequeño.
</notification>
<notification name="LandHasBeenDivided">
El terreno se ha dividido.
@@ -4050,8 +4035,8 @@ Prueba otra vez dentro de un minuto.
No se pueden mover los archivos. Ruta anterior restaurada.
<usetemplate ignoretext="No se pueden mover los archivos. Ruta anterior restaurada." name="okignore" yestext="OK"/>
</notification>
- <notification name="DefaultObjectPermissions">
- Ha ocurrido un problema al guardar los permisos predeterminados por el siguiente motivo: [REASON]. Intenta configurar los permisos predeterminados más adelante.
+ <notification name="ChatHistoryIsBusyAlert">
+ El archivo de historial de chat todavía está realizando la operación anterior. Repite la operación dentro de unos minutos o inicia un chat con otra persona.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml
index 09c4eec4d9..18eaa834da 100755
--- a/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
<layout_panel name="group_accordions">
<accordion name="groups_accordion">
<accordion_tab name="group_general_tab" title="General"/>
- <accordion_tab name="group_roles_tab" title="Roles"/>
+ <accordion_tab name="group_roles_tab" title="Miembros y Roles"/>
<accordion_tab name="group_notices_tab" title="Avisos"/>
<accordion_tab name="group_land_tab" title="Terreno/Bienes"/>
</accordion>
diff --git a/indra/newview/skins/default/xui/es/panel_group_roles.xml b/indra/newview/skins/default/xui/es/panel_group_roles.xml
index 97121acd17..54a5566600 100755
--- a/indra/newview/skins/default/xui/es/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/es/panel_group_roles.xml
@@ -20,6 +20,7 @@ Seleccione varios nombres manteniendo pulsada la tecla Ctrl y pulsando en cada u
<name_list.columns label="Miembro" name="name"/>
<name_list.columns label="Donaciones" name="donated"/>
<name_list.columns label="Estatus" name="online"/>
+ <name_list.columns label="Cargo" name="title"/>
</name_list>
<button label="Invitar" name="member_invite"/>
<button label="Expulsar" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/es/panel_region_debug.xml b/indra/newview/skins/default/xui/es/panel_region_debug.xml
index 71bdba1a25..f6676967f5 100755
--- a/indra/newview/skins/default/xui/es/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/es/panel_region_debug.xml
@@ -7,11 +7,8 @@
desconocida
</text>
<check_box label="Desactivar los scripts" name="disable_scripts_check" tool_tip="Descativar todos los scripts en esta región"/>
- <button label="?" left="215" name="disable_scripts_help"/>
<check_box label="Desactivar las colisiones" name="disable_collisions_check" tool_tip="Desactiva las colisiones (no las de avatares) en esta región"/>
- <button label="?" left="215" name="disable_collisions_help"/>
<check_box label="Desactivar las propiedades físicas" name="disable_physics_check" tool_tip="Desactiva toda la física en esta región"/>
- <button label="?" left="215" name="disable_physics_help"/>
<button label="Aplicar" name="apply_btn"/>
<text name="objret_text_lbl" width="130">
Devolver el objeto
@@ -31,10 +28,8 @@
<check_box label="En cada región de este estado" name="return_estate_wide" tool_tip="Devolver los objetos de todas las regiones que forman este estado"/>
<button label="Devolver" name="return_btn"/>
<button label="Listar los objetos que colisionan..." name="top_colliders_btn" tool_tip="Lista de los objetos con más posibles colisiones potenciales" width="280"/>
- <button label="?" left="297" name="top_colliders_help"/>
- <button label="Listar los scripts según su uso..." name="top_scripts_btn" tool_tip="Lista de los objetos que más tiempo emplean ejecutando scripts" width="280"/>
- <button label="?" left="297" name="top_scripts_help"/>
<button label="Reiniciar la región" name="restart_btn" tool_tip="Cuenta atrás de 2 minutos y reiniciar la región"/>
- <button label="?" name="restart_help"/>
+ <button label="Listar los scripts según su uso..." name="top_scripts_btn" tool_tip="Lista de los objetos que más tiempo emplean ejecutando scripts" width="280"/>
<button label="Cancelar reinicio" name="cancel_restart_btn" tool_tip="Cancelar el reinicio de región"/>
+ <button label="Consola de depuración de región" name="region_debug_console_btn" tool_tip="Abrir consola de depuración de región"/>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_region_general.xml b/indra/newview/skins/default/xui/es/panel_region_general.xml
index 453d1fe43c..82149e1c7c 100755
--- a/indra/newview/skins/default/xui/es/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/es/panel_region_general.xml
@@ -20,12 +20,12 @@
</text>
<check_box label="No permitir modificar el terreno" name="block_terraform_check"/>
<check_box label="Prohibir volar" name="block_fly_check"/>
+ <check_box label="Bloquear el vuelo sobre parcelas" name="block_fly_over_check" tool_tip="Extender las comprobaciones de acceso en vertical para impedir el vuelo sobre una parcela"/>
<check_box label="Permitir el daño" name="allow_damage_check"/>
<check_box label="Impedir los &apos;empujones&apos;" name="restrict_pushobject"/>
<check_box label="Permitir la reventa del terreno" name="allow_land_resell_check"/>
<check_box label="Permitir unir/dividir el terreno" name="allow_parcel_changes_check"/>
<check_box label="Bloquear el mostrar el terreno en la búsqueda" name="block_parcel_search_check" tool_tip="Permitir que la gente vea esta región y sus parcelas en los resultados de la búsqueda."/>
- <check_box label="Permitir objetos de red" name="mesh_rez_enabled_check" tool_tip="Permitir que los usuarios creen objetos de red en esta región"/>
<spinner label="Nº máximo de avatares" label_width="120" name="agent_limit_spin" width="180"/>
<spinner label="Plus de objetos" label_width="120" name="object_bonus_spin" width="180"/>
<text label="Calificación" name="access_text">
diff --git a/indra/newview/skins/default/xui/es/sidepanel_inventory.xml b/indra/newview/skins/default/xui/es/sidepanel_inventory.xml
index 9ce14c856f..1e25a4a4a2 100755
--- a/indra/newview/skins/default/xui/es/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/es/sidepanel_inventory.xml
@@ -14,7 +14,7 @@
<text name="inbox_fresh_new_count">
[NUM] nuevos
</text>
- <panel tool_tip="Drag and drop items to your inventory to manage and use them">
+ <panel name="inbox_inventory_placeholder_panel" tool_tip="Arrastra y coloca los artículos en tu inventario para poder utilizarlos">
<text name="inbox_inventory_placeholder">
Aquí se entregarán las compras realizadas en el mercado.
</text>
@@ -33,8 +33,8 @@
<layout_panel name="shop_btn_lp">
<button label="Comprar" name="shop_btn" tool_tip="Abrir la página web del mercado"/>
<button label="Ponerme" name="wear_btn" tool_tip="Ponerme el vestuario seleccionado"/>
- <button label="Play" name="play_btn"/>
- <button label="Teleporte" name="teleport_btn" tool_tip="Teleportar a la zona elegida"/>
+ <button label="Jugar" name="play_btn"/>
+ <button label="Teleportarte" name="teleport_btn" tool_tip="Teleportar a la zona elegida"/>
</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 19e0d04561..bd339513b3 100755
--- a/indra/newview/skins/default/xui/es/strings.xml
+++ b/indra/newview/skins/default/xui/es/strings.xml
@@ -28,6 +28,45 @@
<string name="StartupRequireDriverUpdate">
Error de inicialización de gráficos. Actualiza tu controlador de gráficos.
</string>
+ <string name="AboutHeader">
+ [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]
+ </string>
+ <string name="AboutCompiler">
+ Compilado con [COMPILER], versión [COMPILER_VERSION]
+ </string>
+ <string name="AboutPosition">
+ Estás en la posición [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1], de [REGION], alojada en &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
+SLURL: &lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(coordenadas globales [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+ </string>
+ <string name="AboutSystem">
+ CPU: [CPU]
+Memoria: [MEMORY_MB] MB
+Versión del Sistema Operativo: [OS_VERSION]
+Fabricante de la tarjeta gráfica: [GRAPHICS_CARD_VENDOR]
+Tarjeta gráfica: [GRAPHICS_CARD]
+ </string>
+ <string name="AboutDriver">
+ Versión de Windows Graphics Driver: [GRAPHICS_DRIVER_VERSION]
+ </string>
+ <string name="AboutLibs">
+ Versión de OpenGL: [OPENGL_VERSION]
+
+Versión de libcurl: [LIBCURL_VERSION]
+Versión de J2C Decoder: [J2C_VERSION]
+Versión de Audio Driver: [AUDIO_DRIVER_VERSION]
+Versión de Qt Webkit: [QT_WEBKIT_VERSION]
+Versión del servidor de voz: [VOICE_VERSION]
+ </string>
+ <string name="AboutTraffic">
+ Paquetes perdidos: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+ </string>
+ <string name="ErrorFetchingServerReleaseNotesURL">
+ Error al obtener la URL de las notas de la versión del servidor.
+ </string>
<string name="ProgressRestoring">
Restaurando...
</string>
@@ -1356,6 +1395,18 @@ Intenta iniciar sesión de nuevo en unos instantes.
<string name="InventoryOutboxNoItems">
Arrastra carpetas a esta sección y pulsa en &quot;Enviar al Mercado&quot; para incluirlas en la lista de venta del [[MARKETPLACE_DASHBOARD_URL] Mercado].
</string>
+ <string name="InventoryOutboxInitializingTitle">
+ Inicializando el Mercado.
+ </string>
+ <string name="InventoryOutboxInitializing">
+ Estamos accediendo a tu cuenta de la [[MARKETPLACE_CREATE_STORE_URL] tienda del Mercado].
+ </string>
+ <string name="InventoryOutboxErrorTitle">
+ Errores del Mercado.
+ </string>
+ <string name="InventoryOutboxError">
+ La [[MARKETPLACE_CREATE_STORE_URL] tienda del Mercado] devuelve errores.
+ </string>
<string name="Marketplace Error None">
Sin errores
</string>
@@ -1780,6 +1831,9 @@ Intenta iniciar sesión de nuevo en unos instantes.
<string name="CompileQueueDownloadedCompiling">
Descargado, compilándolo
</string>
+ <string name="CompileQueueServiceUnavailable">
+ El servicio de compilación de scripts no está disponible
+ </string>
<string name="CompileQueueScriptNotFound">
No se encuentra el script en el servidor.
</string>
diff --git a/indra/newview/skins/default/xui/fr/floater_lagmeter.xml b/indra/newview/skins/default/xui/fr/floater_lagmeter.xml
new file mode 100644
index 0000000000..39a861d8bd
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="MESURE DU LAG">
+ <floater.string name="max_title_msg">
+ Mesure du lag
+ </floater.string>
+ <floater.string name="max_width_px">
+ 360
+ </floater.string>
+ <floater.string name="min_title_msg">
+ Lag
+ </floater.string>
+ <floater.string name="min_width_px">
+ 90
+ </floater.string>
+ <floater.string name="client_text_msg">
+ Client
+ </floater.string>
+ <floater.string name="client_frame_rate_critical_fps">
+ 10
+ </floater.string>
+ <floater.string name="client_frame_rate_warning_fps">
+ 15
+ </floater.string>
+ <floater.string name="client_frame_time_window_bg_msg">
+ Normal, fenêtre en arrière-plan
+ </floater.string>
+ <floater.string name="client_frame_time_critical_msg">
+ Taux de défilement [CLIENT_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="client_frame_time_warning_msg">
+ Taux de défilement entre [CLIENT_FRAME_RATE_CRITICAL] et [CLIENT_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="client_frame_time_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="client_draw_distance_cause_msg">
+ Cause possible : limite d&apos;affichage trop élevée
+ </floater.string>
+ <floater.string name="client_texture_loading_cause_msg">
+ Cause possible : images en cours de chargement
+ </floater.string>
+ <floater.string name="client_texture_memory_cause_msg">
+ Cause possible : trop d&apos;images en mémoire
+ </floater.string>
+ <floater.string name="client_complex_objects_cause_msg">
+ Cause possible : trop d&apos;objets complexes
+ </floater.string>
+ <floater.string name="network_text_msg">
+ Réseau
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_pct">
+ 10
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_pct">
+ 5
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_msg">
+ La connexion perd plus de [NETWORK_PACKET_LOSS_CRITICAL] % de paquets
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_msg">
+ La connexion perd entre [NETWORK_PACKET_LOSS_WARNING] % et [NETWORK_PACKET_LOSS_CRITICAL] % de paquets
+ </floater.string>
+ <floater.string name="network_performance_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="network_ping_critical_ms">
+ 600
+ </floater.string>
+ <floater.string name="network_ping_warning_ms">
+ 300
+ </floater.string>
+ <floater.string name="network_ping_critical_msg">
+ Connexion ping > [NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_ping_warning_msg">
+ Connexion ping entre [NETWORK_PING_WARNING] et [NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_packet_loss_cause_msg">
+ Mauvaise connexion possible ou réglage de la bande passante trop élevé.
+ </floater.string>
+ <floater.string name="network_ping_cause_msg">
+ Mauvaise connexion possible ou app. de partage des fichiers
+ </floater.string>
+ <floater.string name="server_text_msg">
+ Serveur
+ </floater.string>
+ <floater.string name="server_frame_rate_critical_fps">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_rate_warning_fps">
+ 30
+ </floater.string>
+ <floater.string name="server_single_process_max_time_ms">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_time_critical_msg">
+ Défilement du simulateur &lt; [SERVER_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="server_frame_time_warning_msg">
+ Défilement simulateur entre [SERVER_FRAME_RATE_CRITICAL] et [SERVER_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="server_frame_time_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="server_physics_cause_msg">
+ Cause possible : trop d&apos;objets physiques
+ </floater.string>
+ <floater.string name="server_scripts_cause_msg">
+ Cause possible : trop d&apos;objets scriptés
+ </floater.string>
+ <floater.string name="server_net_cause_msg">
+ Cause possible : trop de trafic réseau
+ </floater.string>
+ <floater.string name="server_agent_cause_msg">
+ Cause possible : trop de personnes en mouvement
+ </floater.string>
+ <floater.string name="server_images_cause_msg">
+ Cause possible : trop de calculs d&apos;images
+ </floater.string>
+ <floater.string name="server_generic_cause_msg">
+ Cause possible : charge simulateur trop lourde
+ </floater.string>
+ <floater.string name="smaller_label">
+ &gt;&gt;
+ </floater.string>
+ <floater.string name="bigger_label">
+ &lt;&lt;
+ </floater.string>
+ <button name="client_lagmeter" tool_tip="Statut du lag client"/>
+ <text name="client">
+ Client
+ </text>
+ <text name="client_text">
+ Normal
+ </text>
+ <button name="network_lagmeter" tool_tip="Statut du lag réseau"/>
+ <text name="network">
+ Réseau
+ </text>
+ <text name="network_text">
+ Normal
+ </text>
+ <button name="server_lagmeter" tool_tip="Statut du lag serveur"/>
+ <text name="server">
+ Serveur
+ </text>
+ <text name="server_text">
+ Normal
+ </text>
+ <button label="&gt;&gt;" name="minimize" tool_tip="Activer/désactiver la taille du floater"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_region_restarting.xml b/indra/newview/skins/default/xui/fr/floater_region_restarting.xml
new file mode 100644
index 0000000000..3a56a83c22
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="REDÉMARRAGE DE LA RÉGION">
+ <string name="RegionName">
+ La région dans laquelle vous vous trouvez actuellement ([NAME]) est sur le point de redémarrer.
+
+Si vous restez dans cette région, vous serez déconnecté(e).
+ </string>
+ <string name="RestartSeconds">
+ Secondes avant le redémarrage
+[SECONDS]
+ </string>
+ <panel name="layout_panel_1">
+ <text name="region_name">
+ La région dans laquelle vous vous trouvez actuellement (-le nom de région le plus long-) est sur le point de redémarrer.
+
+Si vous restez dans cette région, vous serez déconnecté(e).
+ </text>
+ <text name="restart_seconds">
+ Secondes avant le redémarrage
+ 32767
+ </text>
+ </panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/fr/floater_scene_load_stats.xml
new file mode 100644
index 0000000000..62830054bf
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="STATISTIQUES DE CHARGEMENT DE SCÈNE">
+ <button label="Pauser" name="playpause"/>
+ <scroll_container name="statistics_scroll">
+ <container_view name="statistics_view">
+ <stat_view label="Basique" name="basic">
+ <stat_bar label="Différence en pixels entre les images" name="frame difference"/>
+ <stat_bar label="Données UDP reçues" name="bandwidth"/>
+ <stat_bar label="Perte de paquets" name="packet_loss"/>
+ </stat_view>
+ <stat_view label="Avancé" name="advanced">
+ <stat_view label="Rendu" name="render">
+ <stat_bar label="Total des objets" name="objs"/>
+ <stat_bar label="Nouveaux objets" name="newobjs"/>
+ <stat_bar label="Taux de réussite du cache des objets" name="object_cache_hits"/>
+ </stat_view>
+ <stat_view label="Texture" name="texture">
+ <stat_bar label="Taux de réussite du cache" name="texture_cache_hits"/>
+ <stat_bar label="Latence de lecture du cache" name="texture_cache_read_latency"/>
+ <stat_bar label="Nombre" name="numimagesstat"/>
+ <stat_bar label="Nombre brut" name="numrawimagesstat"/>
+ </stat_view>
+ <stat_view label="Réseau" name="network">
+ <stat_bar label="Paquets en entrée" name="packetsinstat"/>
+ <stat_bar label="Paquets en sortie" name="packetsoutstat"/>
+ <stat_bar label="Objets" name="objectdatareceived"/>
+ <stat_bar label="Texture" name="texturedatareceived"/>
+ <stat_bar label="Actif" name="assetudpdatareceived"/>
+ <stat_bar label="Couches" name="layersdatareceived"/>
+ <stat_bar label="Arrivés" name="messagedatain"/>
+ <stat_bar label="Sortis" name="messagedataout"/>
+ <stat_bar label="Opérations VFS en attente" name="vfspendingoperations"/>
+ </stat_view>
+ </stat_view>
+ <stat_view label="Simulateur" name="sim">
+ <stat_bar label="Objets" name="simobjects"/>
+ <stat_bar label="Objets actifs" name="simactiveobjects"/>
+ <stat_bar label="Scripts actifs" name="simactivescripts"/>
+ <stat_bar label="Paquets en entrée" name="siminpps"/>
+ <stat_bar label="Paquets en sortie" name="simoutpps"/>
+ <stat_bar label="Téléchargements en attente" name="simpendingdownloads"/>
+ <stat_bar label="Chargements en attente" name="simpendinguploads"/>
+ <stat_bar label="Total d&apos;octets non reconnus" name="simtotalunackedbytes"/>
+ <stat_view label="Temps (ms)" name="simperf">
+ <stat_bar label="Durée totale de l&apos;image" name="simframemsec"/>
+ <stat_bar label="Durée nette" name="simnetmsec"/>
+ <stat_bar label="Durée physique" name="simsimphysicsmsec"/>
+ <stat_bar label="Durée de la simulation" name="simsimothermsec"/>
+ <stat_bar label="Durée des avatars" name="simagentmsec"/>
+ <stat_bar label="Durée des images" name="simimagesmsec"/>
+ <stat_bar label="Durée des scripts" name="simscriptmsec"/>
+ <stat_bar label="Temps d&apos;inactivité" name="simsparemsec"/>
+ <stat_view label="Détails de la durée (ms)" name="timedetails">
+ <stat_bar label="Étape propr. physiques" name="simsimphysicsstepmsec"/>
+ <stat_bar label="Mettre à jour les formes phys" name="simsimphysicsshapeupdatemsec"/>
+ <stat_bar label="Propriétés physiques Autre" name="simsimphysicsothermsec"/>
+ <stat_bar label="Temps de sommeil" name="simsleepmsec"/>
+ <stat_bar label="ES pompe" name="simpumpiomsec"/>
+ </stat_view>
+ </stat_view>
+ </stat_view>
+ </container_view>
+ </scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_stats.xml b/indra/newview/skins/default/xui/fr/floater_stats.xml
index f7b2b4c488..5cad6258ec 100755
--- a/indra/newview/skins/default/xui/fr/floater_stats.xml
+++ b/indra/newview/skins/default/xui/fr/floater_stats.xml
@@ -4,7 +4,7 @@
<container_view name="statistics_view">
<stat_view label="De base" name="basic">
<stat_bar label="FPS" name="fps"/>
- <stat_bar label="Bande passante" name="bandwidth"/>
+ <stat_bar label="Données UDP reçues" name="bandwidth"/>
<stat_bar label="Perte de paquets" name="packet_loss"/>
<stat_bar label="Ping sim" name="ping"/>
</stat_view>
@@ -12,10 +12,12 @@
<stat_view label="Rendu" name="render">
<stat_bar label="KTris par image" name="ktrisframe"/>
<stat_bar label="KTris par s" name="ktrissec"/>
- <stat_bar label="Total des objets" name="totalobjs"/>
- <stat_bar label="Objets en cache" name="cachedobjs"/>
+ <stat_bar label="Objets totaux" name="objs"/>
<stat_bar label="Nouveaux objets" name="newobjs"/>
<stat_bar label="Taux de réussite du cache des objets" name="object_cache_hits"/>
+ <stat_bar label="Requêtes d&apos;occlusion effectuées" name="occlusion_queries"/>
+ <stat_bar label="Objets occlus" name="occluded"/>
+ <stat_bar label="Objets non occlus" name="unoccluded"/>
</stat_view>
<stat_view label="Texture" name="texture">
<stat_bar label="Taux de réussite du cache" name="texture_cache_hits"/>
@@ -27,9 +29,32 @@
<stat_bar label="Mém brute" name="rawmemstat"/>
<stat_bar label="Mém liée" name="glboundmemstat"/>
</stat_view>
+ <stat_view label="Utilisation de la mémoire" name="memory">
+ <stat_bar label="LLTrace" name="LLTrace"/>
+ <stat_bar label="Interface" name="LLView"/>
+ <stat_bar label="Polices" name="LLFontFreetype"/>
+ <stat_bar label="Inventaire" name="LLInventoryObject"/>
+ <stat_bar label="Objets du client" name="LLViewerObject"/>
+ <stat_bar label="Données de groupe Octree" name="LLViewerOctreeGroup"/>
+ <stat_bar label="Données Octree" name="LLViewerOctreeEntry"/>
+ <stat_bar label="Cache des objets du client" name="LLVOCacheEntry"/>
+ <stat_bar label="Dessinables" name="LLDrawable"/>
+ <stat_bar label="Données de visage" name="LLFace"/>
+ <stat_bar label="Informations de tracé" name="LLDrawInfo"/>
+ <stat_bar label="Données de texture" name="LLTexture"/>
+ <stat_bar label="Données d&apos;image" name="LLImage"/>
+ <stat_bar label="Données d&apos;image GL" name="LLImageGL"/>
+ <stat_bar label="Tampon des sommets" name="LLVertexBuffer"/>
+ </stat_view>
<stat_view label="Réseau" name="network">
<stat_bar label="Paquets en entrée" name="packetsinstat"/>
<stat_bar label="Paquets en sortie" name="packetsoutstat"/>
+ <stat_bar label="Objets" name="objectdatareceived"/>
+ <stat_bar label="Texture" name="texturedatareceived"/>
+ <stat_bar label="Actif" name="assetudpdatareceived"/>
+ <stat_bar label="Couches" name="layersdatareceived"/>
+ <stat_bar label="Arrivés" name="messagedatain"/>
+ <stat_bar label="Sortis" name="messagedataout"/>
<stat_bar label="Opérations VFS en attente" name="vfspendingoperations"/>
</stat_view>
</stat_view>
@@ -59,8 +84,8 @@
<stat_bar label="Paquets en sortie" name="simoutpps"/>
<stat_bar label="Téléchargements en attente" name="simpendingdownloads"/>
<stat_bar label="Chargements en attente" name="simpendinguploads"/>
- <stat_bar label="Total Unacked Bytes" name="simtotalunackedbytes"/>
- <stat_view label="Temps (ms)" name="simperf">
+ <stat_bar label="Total de données non reconnues" name="simtotalunackedbytes"/>
+ <stat_view label="Durée" name="simperf">
<stat_bar label="Durée totale de l&apos;image" name="simframemsec"/>
<stat_bar label="Durée nette" name="simnetmsec"/>
<stat_bar label="Durée sim (physique)" name="simsimphysicsmsec"/>
@@ -69,7 +94,7 @@
<stat_bar label="Durée des images" name="simimagesmsec"/>
<stat_bar label="Durée des scripts" name="simscriptmsec"/>
<stat_bar label="Temps d&apos;inactivité" name="simsparemsec"/>
- <stat_view label="Détails Temps (ms)" name="timedetails">
+ <stat_view label="Détails de la durée" name="timedetails">
<stat_bar label="Etape propr. physiques" name="simsimphysicsstepmsec"/>
<stat_bar label="Mettre à jour les formes phys" name="simsimphysicsshapeupdatemsec"/>
<stat_bar label="Propriétés physiques Autre" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_avatar_icon.xml b/indra/newview/skins/default/xui/fr/menu_avatar_icon.xml
index 3bac25c79b..072ac0a6ae 100755
--- a/indra/newview/skins/default/xui/fr/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/fr/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
<menu name="Avatar Icon Menu">
<menu_item_call label="Voir le profil" name="Show Profile"/>
<menu_item_call label="Envoyer IM..." name="Send IM"/>
+ <menu_item_call label="Demander téléportation" name="Request Teleport"/>
<menu_item_call label="Devenir amis..." name="Add Friend"/>
<menu_item_call label="Supprimer cet ami..." name="Remove Friend"/>
</menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_inventory.xml b/indra/newview/skins/default/xui/fr/menu_inventory.xml
index 627d3068c3..87b11bdaa5 100755
--- a/indra/newview/skins/default/xui/fr/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/fr/menu_inventory.xml
@@ -70,6 +70,7 @@
<menu_item_call label="Jouer" name="Sound Play"/>
<menu_item_call label="Copier la SLurl" name="url_copy"/>
<menu_item_call label="À propos du repère" name="About Landmark"/>
+ <menu_item_call label="Voir sur la carte" name="show_on_map"/>
<menu_item_call label="Jouer dans Second Life" name="Animation Play"/>
<menu_item_call label="Jouer localement" name="Animation Audition"/>
<menu_item_call label="Envoyer un message instantané" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_login.xml b/indra/newview/skins/default/xui/fr/menu_login.xml
index 7b1e106474..5e9969627d 100755
--- a/indra/newview/skins/default/xui/fr/menu_login.xml
+++ b/indra/newview/skins/default/xui/fr/menu_login.xml
@@ -5,7 +5,15 @@
<menu_item_call label="Quitter [APP_NAME]" name="Quit"/>
</menu>
<menu label="Aide" name="Help">
- <menu_item_call label="Aide de [SECOND_LIFE]" name="Second Life Help"/>
+ <menu_item_call label="Aide rapide..." name="How To"/>
+ <menu_item_call label="Démarrage rapide" name="Quickstart"/>
+ <menu_item_call label="Base de connaissances" name="Knowledge Base"/>
+ <menu_item_call label="Wiki" name="Wiki"/>
+ <menu_item_call label="Forums de la communauté" name="Community Forums"/>
+ <menu_item_call label="Portail d&apos;assistance" name="Support portal"/>
+ <menu_item_call label="Actualités [SECOND_LIFE]" name="Second Life News"/>
+ <menu_item_call label="Blogs [SECOND_LIFE]" name="Second Life Blogs"/>
+ <menu_item_call label="Signaler un bug" name="Report Bug"/>
<menu_item_call label="À propos de [APP_NAME]" name="About Second Life"/>
</menu>
<menu_item_check label="Afficher le menu de débogage" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/fr/menu_teleport_history_item.xml
index fb4582dbce..ba8ed9b3f8 100755
--- a/indra/newview/skins/default/xui/fr/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/fr/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
<context_menu name="Teleport History Item Context Menu">
<menu_item_call label="Téléporter" name="Teleport"/>
<menu_item_call label="Plus d&apos;informations" name="More Information"/>
- <menu_item_call label="Copier dans le presse-papiers" name="CopyToClipboard"/>
+ <menu_item_call label="Copier la SLurl" name="CopyToClipboard"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/fr/menu_viewer.xml b/indra/newview/skins/default/xui/fr/menu_viewer.xml
index db1e7fec0e..6e36d19ba9 100755
--- a/indra/newview/skins/default/xui/fr/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/fr/menu_viewer.xml
@@ -189,6 +189,7 @@
<menu label="Outils de performance" name="Performance Tools">
<menu_item_call label="Mesure du lag" name="Lag Meter"/>
<menu_item_check label="Barre de statistiques" name="Statistics Bar"/>
+ <menu_item_call label="Statistiques de chargement de scène" name="Scene Load Statistics"/>
<menu_item_check label="Afficher le poids de dessin pour les avatars" name="Avatar Rendering Cost"/>
</menu>
<menu label="Surbrillance et visibilité" name="Highlighting and Visibility">
@@ -251,6 +252,7 @@
<menu_item_check label="Chronos" name="Fast Timers"/>
<menu_item_check label="Mémoire" name="Memory"/>
<menu_item_check label="Statistiques de la scène" name="Scene Statistics"/>
+ <menu_item_check label="Moniteur de chargement de scène" name="Scene Loading Monitor"/>
<menu_item_call label="Console de débogage de la récupération des textures" name="Texture Fetch Debug Console"/>
<menu_item_call label="Infos de région vers la console de débogage" name="Region Info to Debug Console"/>
<menu_item_call label="Infos de groupe vers la console de débogage" name="Group Info to Debug Console"/>
@@ -287,6 +289,7 @@
<menu_item_check label="Cadre lent périodique" name="Periodic Slow Frame"/>
<menu_item_check label="Test cadre" name="Frame Test"/>
<menu_item_call label="Profil du cadre" name="Frame Profile"/>
+ <menu_item_call label="Référence" name="Benchmark"/>
</menu>
<menu label="Métadonnées de rendu" name="Render Metadata">
<menu_item_check label="Cadres" name="Bounding Boxes"/>
@@ -306,6 +309,7 @@
<menu_item_check label="Lumières" name="Lights"/>
<menu_item_check label="Particules" name="Particles"/>
<menu_item_check label="Squelette de collision" name="Collision Skeleton"/>
+ <menu_item_check label="Articulations" name="Joints"/>
<menu_item_check label="Rayons" name="Raycast"/>
<menu_item_check label="Vecteurs de vent" name="Wind Vectors"/>
<menu_item_check label="Complexité du rendu" name="rendercomplexity"/>
@@ -338,6 +342,7 @@
<menu_item_check label="Rendu des lumières jointes" name="Render Attached Lights"/>
<menu_item_check label="Rendu des particules jointes" name="Render Attached Particles"/>
<menu_item_check label="Objets en surbrillance avec le pointeur" name="Hover Glow Objects"/>
+ <menu_item_call label="Vider le cache immédiatement" name="Cache Clear"/>
</menu>
<menu label="Réseau" name="Network">
<menu_item_check label="Pauser l&apos;avatar" name="AgentPause"/>
diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml
index 50d27158a7..af46d34b61 100755
--- a/indra/newview/skins/default/xui/fr/notifications.xml
+++ b/indra/newview/skins/default/xui/fr/notifications.xml
@@ -114,15 +114,15 @@ Pour plus d&apos;informations, consultez le [[MARKETPLACE_IMPORTS_URL] journal d
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="OutboxImportFailed">
- Échec de transfert
+ Échec du transfert avec l&apos;erreur « [ERROR_CODE] »
-Aucun dossier n&apos;a été envoyé vers la Place du marché en raison d&apos;une erreur système ou réseau. Veuillez réessayer ultérieurement.
+Aucun dossier n&apos;a été envoyé vers la Place du marché en raison d&apos;une erreur système ou réseau. Réessayez ultérieurement.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="OutboxInitFailed">
- Échec d&apos;initialisation de la Place du marché
+ Échec de l&apos;initialisation de la Place du marché avec l&apos;erreur « [ERROR_CODE] »
-L&apos;initialisation de la Place du marché a échoué en raison d&apos;une erreur système ou réseau. Veuillez réessayer ultérieurement.
+L&apos;initialisation de la Place du marché a échoué en raison d&apos;une erreur système ou réseau. Réessayez ultérieurement.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="CompileQueueSaveText">
@@ -209,22 +209,6 @@ Ajouter ce pouvoir à « [ROLE_NAME] » ?
Ajouter ce pouvoir à « [ROLE_NAME] » ?
<usetemplate name="okcancelbuttons" notext="Non" yestext="Oui"/>
</notification>
- <notification name="AssignBanAbilityWarning">
- Vous êtes sur le point d&apos;ajouter le pouvoir « [ACTION_NAME] » au rôle « [ROLE_NAME] ».
-
- *AVERTISSEMENT*
-Tout membre ayant un rôle doté de ce pouvoir disposera aussi des pouvoirs « [ACTION_NAME_2] » et « [ACTION_NAME_3] ».
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
- <notification name="RemoveBanAbilityWarning">
- Vous êtes sur le point de supprimer le pouvoir « [ACTION_NAME] » du rôle « [ROLE_NAME] ».
-
- *AVERTISSEMENT*
-En supprimant ce pouvoir, vous ne supprimez PAS les pouvoirs « [ACTION_NAME_2] » et « [ACTION_NAME_3] ».
-
-Si vous ne voulez plus que ce rôle dispose de ces pouvoirs, désactivez-les immédiatement.
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
<notification name="EjectGroupMemberWarning">
Vous allez expulser [AVATAR_NAME] du groupe.
<usetemplate ignoretext="Confirmer l&apos;expulsion d&apos;un membre du groupe" name="okcancelignore" notext="Annuler" yestext="Expulser"/>
@@ -1592,14 +1576,6 @@ Quitter le groupe ?
Impossible de quitter le groupe. Vous ne pouvez pas quitter le groupe car vous en êtes le dernier propriétaire. Vous devez d&apos;abord affecter le rôle de propriétaire à un autre membre.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
- <notification name="GroupDepartError">
- Impossible de quitter le groupe : [reason].
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
- <notification name="GroupDepart">
- Vous avez quitté le groupe [group_name].
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
<notification name="ConfirmKick">
Souhaitez-vous vraiment éjecter tous les résidents de la grille ?
<usetemplate name="okcancelbuttons" notext="Annuler" yestext="Éjecter tous les résidents"/>
@@ -1753,6 +1729,10 @@ or ce nombre dépasse la limite autorisée fixée à [LIMIT].
Souhaitez-vous vraiment vous téléporter vers &lt;nolink&gt;[LOCATION]&lt;/nolink&gt; ?
<usetemplate ignoretext="Confirmer que je veux me téléporter à un repère" name="okcancelignore" notext="Annuler" yestext="Téléporter"/>
</notification>
+ <notification name="TeleportViaSLAPP">
+ Voulez-vous vraiment vous téléporter jusqu&apos;à &lt;nolink&gt;[LOCATION]&lt;/nolink&gt; ?
+ <usetemplate ignoretext="Confirmer que je veux me téléporter en utilisant SLAPP" name="okcancelignore" notext="Annuler" yestext="Téléporter"/>
+ </notification>
<notification name="TeleportToPick">
Vous téléporter vers [PICK] ?
<usetemplate ignoretext="Confirmer que je veux me téléporter à un endroit dans mes Favoris" name="okcancelignore" notext="Annuler" yestext="Téléporter"/>
@@ -1963,6 +1943,9 @@ Cette action modifiera des milliers de régions et sera difficile à digérer po
<notification name="ProblemAddingEstateManager">
Problèmes lors de l&apos;ajout d&apos;un nouveau gérant de domaine. Il est possible qu&apos;au moins un des domaines ait une liste de gérants complète.
</notification>
+ <notification name="ProblemAddingEstateBanManager">
+ Impossible d&apos;ajouter le propriétaire ou le gérant du domaine à la liste des résidents bannis.
+ </notification>
<notification name="ProblemAddingEstateGeneric">
Problème lors de l&apos;ajout à la liste de ce domaine. Il est possible qu&apos;au moins un des domaines ait une liste complète.
</notification>
@@ -2477,12 +2460,6 @@ Veuillez sélectionner un terrain plus petit.
<notification name="SystemMessage">
[MESSAGE]
</notification>
- <notification name="FlickrConnect">
- [MESSAGE]
- </notification>
- <notification name="TwitterConnect">
- [MESSAGE]
- </notification>
<notification name="PaymentReceived">
[MESSAGE]
</notification>
@@ -3059,7 +3036,7 @@ Voir le fichier journal pour plus de détails.
avec les résidents suivants :
-[RESIDENTS] ?
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>
</notification>
<notification name="ShareFolderConfirmation">
@@ -3071,7 +3048,7 @@ Voulez-vous vraiment partager les articles suivants :
avec les résidents suivants :
-[RESIDENTS] ?
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="Annuler" yestext="Ok"/>
</notification>
<notification name="ItemsShared">
@@ -3715,6 +3692,9 @@ Veuillez réessayer dans une minute.
<notification name="LinkFailedTooMuchPhysics">
Cet objet utilise trop de ressources physiques - sa dynamique a été désactivée.
</notification>
+ <notification name="EstateManagerFailedllTeleportHome">
+ L&apos;objet « [OBJECT_NAME] » à [SLURL] ne peut pas téléporter les gérants de domaines chez eux.
+ </notification>
<notification name="TeleportedHomeByObjectOnParcel">
Vous avez été téléporté chez vous par l&apos;objet [OBJECT_NAME] sur la parcelle [PARCEL_NAME].
</notification>
@@ -3905,13 +3885,18 @@ Veuillez réessayer dans une minute.
Pas suffisamment de parcelles louées dans la sélection pour effectuer la fusion.
</notification>
<notification name="CantDivideLandMultipleParcelsSelected">
- Division du terrain impossible.\nPlusieurs parcelles sont sélectionnées.\nVeuillez sélectionner un terrain plus petit.
+ Division du terrain impossible.
+Plusieurs parcelles sont sélectionnées.
+Veuillez sélectionner un terrain plus petit.
</notification>
<notification name="CantDivideLandCantFindParcel">
- Division du terrain impossible.\nParcelle introuvable.\nSignalez-le en allant à Aide -&gt; Signaler un bug...
+ Division du terrain impossible.
+Parcelle introuvable.
+Veuillez utiliser Aide &gt; Signaler un bug pour signaler le problème...
</notification>
<notification name="CantDivideLandWholeParcelSelected">
- Division du terrain impossible. Toute la parcelle est sélectionnée.\nVeuillez sélectionner un terrain plus petit.
+ Division du terrain impossible. La parcelle entière est sélectionnée.
+Veuillez sélectionner un terrain plus petit.
</notification>
<notification name="LandHasBeenDivided">
Le terrain a été divisé.
@@ -4051,8 +4036,8 @@ Veuillez réessayer dans une minute.
Impossible de déplacer les fichiers. Chemin précédent rétabli.
<usetemplate ignoretext="Impossible de déplacer les fichiers. Chemin précédent rétabli." name="okignore" yestext="OK"/>
</notification>
- <notification name="DefaultObjectPermissions">
- Une erreur est survenue lors de l&apos;enregistrement des droits par défaut, suite au problème suivant : [REASON]. Réessayez de définir les droits par défaut ultérieurement.
+ <notification name="ChatHistoryIsBusyAlert">
+ Le fichier d&apos;historique des chats est occupé à traiter l&apos;opération précédente. Réessayez dans quelques minutes ou choisissez une autre personne pour le chat.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml
index 047cd692e8..7c3b852de1 100755
--- a/indra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/fr/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
<layout_panel name="group_accordions">
<accordion name="groups_accordion">
<accordion_tab name="group_general_tab" title="Général"/>
- <accordion_tab name="group_roles_tab" title="Rôles"/>
+ <accordion_tab name="group_roles_tab" title="Rôles et membres"/>
<accordion_tab name="group_notices_tab" title="Notices"/>
<accordion_tab name="group_land_tab" title="Terrain/Actifs"/>
</accordion>
diff --git a/indra/newview/skins/default/xui/fr/panel_group_roles.xml b/indra/newview/skins/default/xui/fr/panel_group_roles.xml
index fc83dc5555..3e66190c8d 100755
--- a/indra/newview/skins/default/xui/fr/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/fr/panel_group_roles.xml
@@ -20,6 +20,7 @@ Pour sélectionner plusieurs membres, cliquez sur leurs noms en maintenant la to
<name_list.columns label="Membre" name="name"/>
<name_list.columns label="Donation" name="donated"/>
<name_list.columns label="Statut" name="online"/>
+ <name_list.columns label="Titre" name="title"/>
</name_list>
<button label="Inviter" name="member_invite"/>
<button label="Expulser" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_region_debug.xml b/indra/newview/skins/default/xui/fr/panel_region_debug.xml
index 98ae250215..d21695e9aa 100755
--- a/indra/newview/skins/default/xui/fr/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/fr/panel_region_debug.xml
@@ -7,11 +7,8 @@
(inconnue)
</text>
<check_box label="Désactiver les scripts" name="disable_scripts_check" tool_tip="Désactiver tous les scripts dans cette région"/>
- <button label="?" name="disable_scripts_help"/>
<check_box label="Désactiver les collisions" name="disable_collisions_check" tool_tip="Désactiver les collisions entre non-avatars dans cette région"/>
- <button label="?" name="disable_collisions_help"/>
<check_box label="Désactiver la physique" name="disable_physics_check" tool_tip="Désactiver tous les effets liés à la physique dans cette région"/>
- <button label="?" name="disable_physics_help"/>
<button bottom_delta="-38" label="Appliquer" name="apply_btn"/>
<text bottom_delta="-42" name="objret_text_lbl" width="260">
Renvoi de l&apos;objet
@@ -31,10 +28,8 @@
<check_box label="Dans toutes les régions de ce domaine" name="return_estate_wide" tool_tip="Renvoyer les objets dans toutes les régions qui constituent ce domaine"/>
<button label="Renvoyer" name="return_btn"/>
<button label="Collisions les plus consommatrices" name="top_colliders_btn" tool_tip="Liste des objets avec le plus de collisions potentielles" width="320"/>
- <button label="?" left="337" name="top_colliders_help"/>
- <button label="Scripts les plus consommateurs" name="top_scripts_btn" tool_tip="Liste des objets passant le plus de temps à exécuter des scripts" width="320"/>
- <button label="?" left="337" name="top_scripts_help"/>
<button label="Redémarrer la région" name="restart_btn" tool_tip="Redémarrer la région au bout de 2 minutes" width="160"/>
- <button label="?" left="177" name="restart_help"/>
+ <button label="Scripts les plus consommateurs" name="top_scripts_btn" tool_tip="Liste des objets passant le plus de temps à exécuter des scripts" width="320"/>
<button label="Annuler le redémarrage" name="cancel_restart_btn" tool_tip="Annuler le redémarrage de la région." width="160"/>
+ <button label="Console de débogage de région" name="region_debug_console_btn" tool_tip="Ouvrir la console de débogage de région"/>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_region_general.xml b/indra/newview/skins/default/xui/fr/panel_region_general.xml
index 234d316069..e9dcd6ab5a 100755
--- a/indra/newview/skins/default/xui/fr/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/fr/panel_region_general.xml
@@ -20,12 +20,12 @@
</text>
<check_box label="Interdire le terraformage" name="block_terraform_check"/>
<check_box label="Interdire le vol" name="block_fly_check"/>
+ <check_box label="Bloquer le survol des parcelles" name="block_fly_over_check" tool_tip="Étendre les vérifications d&apos;accès vers le haut pour empêcher le survol d&apos;une parcelle"/>
<check_box label="Autoriser les dégâts" name="allow_damage_check"/>
<check_box label="Interdire les bousculades" name="restrict_pushobject"/>
<check_box label="Autoriser la revente de terrain" name="allow_land_resell_check"/>
<check_box label="Autoriser la fusion/division" name="allow_parcel_changes_check"/>
<check_box label="Ne pas afficher dans la recherche" name="block_parcel_search_check" tool_tip="Afficher cette région et ses parcelles dans les résultats de recherche"/>
- <check_box label="Autoriser les objets de maillage" name="mesh_rez_enabled_check" tool_tip="Laisser les gens rezzer des objets de maillage dans cette région."/>
<spinner label="Nombre maximum d&apos;avatars" label_width="160" name="agent_limit_spin" width="240"/>
<spinner label="Bonus objet" label_width="160" name="object_bonus_spin" width="240"/>
<text label="Maturité" name="access_text">
diff --git a/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml b/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml
index ec7dd8c095..372d61263f 100755
--- a/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/fr/sidepanel_inventory.xml
@@ -31,10 +31,10 @@
<button label="Partager" name="share_btn" tool_tip="Partager un article de l&apos;inventaire"/>
</layout_panel>
<layout_panel name="shop_btn_lp">
- <button label="Acheter" name="shop_btn" tool_tip="Accéder à la place du marché sur le Web"/>
+ <button label="Faire des achats" name="shop_btn" tool_tip="Accéder à la Place du marché sur le Web"/>
<button label="Porter" name="wear_btn" tool_tip="Porter la tenue sélectionnée"/>
- <button label="Lire" name="play_btn"/>
- <button label="Téléportation" name="teleport_btn" tool_tip="Me téléporter jusqu&apos;à la zone sélectionnée"/>
+ <button label="Jouer" name="play_btn"/>
+ <button label="Téléporter" name="teleport_btn" tool_tip="Me téléporter jusqu&apos;à la zone sélectionnée"/>
</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 ae98ad6f1d..b3ce171633 100755
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -37,6 +37,45 @@
<string name="StartupRequireDriverUpdate">
Échec d&apos;initialisation des graphiques. Veuillez mettre votre pilote graphique à jour.
</string>
+ <string name="AboutHeader">
+ [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [Notes de version]]
+ </string>
+ <string name="AboutCompiler">
+ Compilé avec [COMPILER] version [COMPILER_VERSION]
+ </string>
+ <string name="AboutPosition">
+ Vous êtes à [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] dans [REGION], se trouvant à &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
+SLURL : &lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(coordonnées globales [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+ </string>
+ <string name="AboutSystem">
+ CPU : [CPU]
+Mémoire : [MEMORY_MB] Mo
+Version OS : [OS_VERSION]
+Distributeur de cartes graphiques : [GRAPHICS_CARD_VENDOR]
+Carte graphique : [GRAPHICS_CARD]
+ </string>
+ <string name="AboutDriver">
+ Version Windows Graphics Driver : [GRAPHICS_DRIVER_VERSION]
+ </string>
+ <string name="AboutLibs">
+ Version OpenGL : [OPENGL_VERSION]
+
+Version libcurl : [LIBCURL_VERSION]
+Version J2C Decoder : [J2C_VERSION]
+Version Audio Driver : [AUDIO_DRIVER_VERSION]
+Version Qt Webkit : [QT_WEBKIT_VERSION]
+Version serveur vocal : [VOICE_VERSION]
+ </string>
+ <string name="AboutTraffic">
+ Paquets perdus : [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+ </string>
+ <string name="ErrorFetchingServerReleaseNotesURL">
+ Erreur lors de la récupération de l&apos;URL des notes de version du serveur.
+ </string>
<string name="ProgressRestoring">
Restauration...
</string>
@@ -1374,6 +1413,18 @@ Veuillez réessayer de vous connecter dans une minute.
<string name="InventoryOutboxNoItems">
Pour mettre des dossiers en vente sur la [[MARKETPLACE_DASHBOARD_URL] Place du marché], faites-les glisser vers cette zone et cliquez sur &quot;Envoyer vers la Place du marché&quot;.
</string>
+ <string name="InventoryOutboxInitializingTitle">
+ Initialisation de la Place du marché...
+ </string>
+ <string name="InventoryOutboxInitializing">
+ Nous sommes en train d&apos;accéder à votre compte dans la [[MARKETPLACE_CREATE_STORE_URL] boutique de la Place du marché].
+ </string>
+ <string name="InventoryOutboxErrorTitle">
+ Erreurs de la Place du marché.
+ </string>
+ <string name="InventoryOutboxError">
+ La [[MARKETPLACE_CREATE_STORE_URL] boutique de la Place du marché] renvoie des erreurs.
+ </string>
<string name="Marketplace Error None">
Aucune erreur
</string>
@@ -1804,6 +1855,9 @@ Veuillez réessayer de vous connecter dans une minute.
<string name="CompileQueueDownloadedCompiling">
Téléchargé, compilation en cours
</string>
+ <string name="CompileQueueServiceUnavailable">
+ Service de compilation de script indisponible.
+ </string>
<string name="CompileQueueScriptNotFound">
Script introuvable sur le serveur.
</string>
diff --git a/indra/newview/skins/default/xui/it/floater_lagmeter.xml b/indra/newview/skins/default/xui/it/floater_lagmeter.xml
new file mode 100644
index 0000000000..f7b2b1ab4a
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/floater_lagmeter.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="MISURATORE LAG">
+ <floater.string name="max_title_msg">
+ Misuratore del lag
+ </floater.string>
+ <floater.string name="max_width_px">
+ 360
+ </floater.string>
+ <floater.string name="min_title_msg">
+ Lag
+ </floater.string>
+ <floater.string name="min_width_px">
+ 90
+ </floater.string>
+ <floater.string name="client_text_msg">
+ Programma in locale
+ </floater.string>
+ <floater.string name="client_frame_rate_critical_fps">
+ 10
+ </floater.string>
+ <floater.string name="client_frame_rate_warning_fps">
+ 15
+ </floater.string>
+ <floater.string name="client_frame_time_window_bg_msg">
+ Normale, finestra sullo sfondo
+ </floater.string>
+ <floater.string name="client_frame_time_critical_msg">
+ Velocità dei frame al di sotto di [CLIENT_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="client_frame_time_warning_msg">
+ Velocità dei frame tra [CLIENT_FRAME_RATE_CRITICAL] e [CLIENT_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="client_frame_time_normal_msg">
+ Normale
+ </floater.string>
+ <floater.string name="client_draw_distance_cause_msg">
+ Possibile causa: Campo visivo impostato troppo alto
+ </floater.string>
+ <floater.string name="client_texture_loading_cause_msg">
+ Possibile causa: Caricamento immagini
+ </floater.string>
+ <floater.string name="client_texture_memory_cause_msg">
+ Possibile causa: Troppe immagini in memoria
+ </floater.string>
+ <floater.string name="client_complex_objects_cause_msg">
+ Possibile causa: Troppi oggetti complessi intorno
+ </floater.string>
+ <floater.string name="network_text_msg">
+ Network
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_pct">
+ 10
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_pct">
+ 5
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_msg">
+ La connessione sta calando al di sotto del [NETWORK_PACKET_LOSS_CRITICAL]% di pacchetti
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_msg">
+ La connessione sta calando tra il [NETWORK_PACKET_LOSS_WARNING]% e il [NETWORK_PACKET_LOSS_CRITICAL]% di pacchetti
+ </floater.string>
+ <floater.string name="network_performance_normal_msg">
+ Normale
+ </floater.string>
+ <floater.string name="network_ping_critical_ms">
+ 600
+ </floater.string>
+ <floater.string name="network_ping_warning_ms">
+ 300
+ </floater.string>
+ <floater.string name="network_ping_critical_msg">
+ Il tempo di ping della connessione è al di sopra di [NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_ping_warning_msg">
+ Il tempo di ping della connessione è tra [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_packet_loss_cause_msg">
+ Possibile cattiva connessione o la larghezza di banda impostata nelle preferenze troppo alta.
+ </floater.string>
+ <floater.string name="network_ping_cause_msg">
+ Possibile cattiva connessione o l&apos;apertura di un programma di scambio files.
+ </floater.string>
+ <floater.string name="server_text_msg">
+ Server
+ </floater.string>
+ <floater.string name="server_frame_rate_critical_fps">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_rate_warning_fps">
+ 30
+ </floater.string>
+ <floater.string name="server_single_process_max_time_ms">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_time_critical_msg">
+ Velocità dei frame al di sotto di [SERVER_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="server_frame_time_warning_msg">
+ Velocità dei frame tra [SERVER_FRAME_RATE_CRITICAL] e [SERVER_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="server_frame_time_normal_msg">
+ Normale
+ </floater.string>
+ <floater.string name="server_physics_cause_msg">
+ Possibile causa: troppi oggetti fisici
+ </floater.string>
+ <floater.string name="server_scripts_cause_msg">
+ Possibile causa: troppi oggetti scriptati
+ </floater.string>
+ <floater.string name="server_net_cause_msg">
+ Possibile causa: eccessivo traffico sulla rete
+ </floater.string>
+ <floater.string name="server_agent_cause_msg">
+ Possibile causa: troppi residenti in movimento nella regione
+ </floater.string>
+ <floater.string name="server_images_cause_msg">
+ Possibile causa: troppe elaborazioni di immagini
+ </floater.string>
+ <floater.string name="server_generic_cause_msg">
+ Possibile causa: carico eccessivo del simulatore
+ </floater.string>
+ <floater.string name="smaller_label">
+ &gt;&gt;
+ </floater.string>
+ <floater.string name="bigger_label">
+ &lt;&lt;
+ </floater.string>
+ <button label="" label_selected="" name="client_lagmeter" tool_tip="Stato del lag del programma in locale"/>
+ <text name="client">
+ Client
+ </text>
+ <text font="SansSerifSmall" left="145" name="client_text">
+ Normale
+ </text>
+ <text left="30" name="client_lag_cause" right="-10"/>
+ <button label="" label_selected="" name="network_lagmeter" tool_tip="Stato del lag del network"/>
+ <text name="network">
+ Rete
+ </text>
+ <text font="SansSerifSmall" name="network_text">
+ Normale
+ </text>
+ <text left="30" name="network_lag_cause" right="-10"/>
+ <button label="" label_selected="" name="server_lagmeter" tool_tip="Stato del lag del server"/>
+ <text name="server">
+ Server
+ </text>
+ <text font="SansSerifSmall" name="server_text">
+ Normale
+ </text>
+ <text left="30" name="server_lag_cause" right="-32"/>
+ <button label="&gt;&gt;" name="minimize" tool_tip="Cambia dimensioni floater"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/it/floater_region_restarting.xml b/indra/newview/skins/default/xui/it/floater_region_restarting.xml
new file mode 100644
index 0000000000..d4497288e0
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="RIAVVIO REGIONE IN CORSO">
+ <string name="RegionName">
+ La regione in cui ti trovi ([NAME]) verrà riavviata tra breve.
+
+Se rimani in questa regione verrai scollegato da Second Life.
+ </string>
+ <string name="RestartSeconds">
+ Secondi prima del riavvio
+[SECONDS]
+ </string>
+ <panel name="layout_panel_1">
+ <text name="region_name">
+ La regione in cui ti trovi (il nome di regione più lungo) verrà riavviata tra breve.
+
+Se rimani in questa regione verrai scollegato da Second Life.
+ </text>
+ <text name="restart_seconds">
+ Secondi prima del riavvio
+ 32767
+ </text>
+ </panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/it/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/it/floater_scene_load_stats.xml
new file mode 100644
index 0000000000..ca18812eb7
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="STATISTICHE CARICAMENTO SCENA">
+ <button label="In pausa" name="playpause"/>
+ <scroll_container name="statistics_scroll">
+ <container_view name="statistics_view">
+ <stat_view label="Di base" name="basic">
+ <stat_bar label="Differenza pixel tra fotogrammi" name="frame difference"/>
+ <stat_bar label="Dati UDP ricevuti" name="bandwidth"/>
+ <stat_bar label="Perdita pacchetti" name="packet_loss"/>
+ </stat_view>
+ <stat_view label="Avanzata" name="advanced">
+ <stat_view label="Render" name="render">
+ <stat_bar label="Totale oggetti" name="objs"/>
+ <stat_bar label="Nuovi oggetti" name="newobjs"/>
+ <stat_bar label="Hit rate della cache per l&apos;oggetto" name="object_cache_hits"/>
+ </stat_view>
+ <stat_view label="Texture" name="texture">
+ <stat_bar label="Hit rate della cache" name="texture_cache_hits"/>
+ <stat_bar label="Latenza di lettura della cache" name="texture_cache_read_latency"/>
+ <stat_bar label="Conteggio" name="numimagesstat"/>
+ <stat_bar label="Conteggio grezzo" name="numrawimagesstat"/>
+ </stat_view>
+ <stat_view label="Rete" name="network">
+ <stat_bar label="Pacchetti in ingresso" name="packetsinstat"/>
+ <stat_bar label="Pacchetti in uscita" name="packetsoutstat"/>
+ <stat_bar label="Oggetti" name="objectdatareceived"/>
+ <stat_bar label="Texture" name="texturedatareceived"/>
+ <stat_bar label="Risorsa" name="assetudpdatareceived"/>
+ <stat_bar label="Livelli" name="layersdatareceived"/>
+ <stat_bar label="Effettivi in ingresso" name="messagedatain"/>
+ <stat_bar label="Effettivi in uscita" name="messagedataout"/>
+ <stat_bar label="Operazioni VFS in sospeso" name="vfspendingoperations"/>
+ </stat_view>
+ </stat_view>
+ <stat_view label="Simulatore" name="sim">
+ <stat_bar label="Oggetti" name="simobjects"/>
+ <stat_bar label="Oggetti attivi" name="simactiveobjects"/>
+ <stat_bar label="Script attivi" name="simactivescripts"/>
+ <stat_bar label="Pacchetti in ingresso" name="siminpps"/>
+ <stat_bar label="Pacchetti in uscita" name="simoutpps"/>
+ <stat_bar label="Download in attesa" name="simpendingdownloads"/>
+ <stat_bar label="Caricamenti in attesa" name="simpendinguploads"/>
+ <stat_bar label="Numero totale byte non confermati (Unacked)" name="simtotalunackedbytes"/>
+ <stat_view label="Tempo (ms)" name="simperf">
+ <stat_bar label="Tempo totale Frame" name="simframemsec"/>
+ <stat_bar label="Tempo netto" name="simnetmsec"/>
+ <stat_bar label="Tempo motore fisico" name="simsimphysicsmsec"/>
+ <stat_bar label="Tempo simulazione" name="simsimothermsec"/>
+ <stat_bar label="Tempo agente" name="simagentmsec"/>
+ <stat_bar label="Tempo immagini" name="simimagesmsec"/>
+ <stat_bar label="Tempo script" name="simscriptmsec"/>
+ <stat_bar label="Tempo libero" name="simsparemsec"/>
+ <stat_view label="Dettagli tempo (ms)" name="timedetails">
+ <stat_bar label="Passaggio fisica" name="simsimphysicsstepmsec"/>
+ <stat_bar label="Aggiorna forme fisica" name="simsimphysicsshapeupdatemsec"/>
+ <stat_bar label="Altro fisica" name="simsimphysicsothermsec"/>
+ <stat_bar label="Tempo pausa" name="simsleepmsec"/>
+ <stat_bar label="IO pompa" name="simpumpiomsec"/>
+ </stat_view>
+ </stat_view>
+ </stat_view>
+ </container_view>
+ </scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/it/floater_stats.xml b/indra/newview/skins/default/xui/it/floater_stats.xml
index 04c6d6cec1..1d850516b7 100755
--- a/indra/newview/skins/default/xui/it/floater_stats.xml
+++ b/indra/newview/skins/default/xui/it/floater_stats.xml
@@ -4,18 +4,20 @@
<container_view name="statistics_view">
<stat_view label="Di base" name="basic">
<stat_bar label="FPS" name="fps"/>
- <stat_bar label="Larghezza banda" name="bandwidth"/>
+ <stat_bar label="Dati UDP ricevuti" name="bandwidth"/>
<stat_bar label="Perdita pacchetti" name="packet_loss"/>
<stat_bar label="Tempo Ping Sim" name="ping"/>
</stat_view>
<stat_view label="Avanzata" name="advanced">
<stat_view label="Render" name="render">
- <stat_bar label="KTris disegnato per fotogramma" name="ktrisframe"/>
- <stat_bar label="KTris disegnato per secondo" name="ktrissec"/>
- <stat_bar label="Totale oggetti" name="totalobjs"/>
- <stat_bar label="Oggetti nella cache" name="cachedobjs"/>
+ <stat_bar label="KTris per fotogramma" name="ktrisframe"/>
+ <stat_bar label="KTris per secondo" name="ktrissec"/>
+ <stat_bar label="Totale oggetti" name="objs"/>
<stat_bar label="Nuovi oggetti" name="newobjs"/>
<stat_bar label="Hit rate della cache per l&apos;oggetto" name="object_cache_hits"/>
+ <stat_bar label="Occlusion query eseguite" name="occlusion_queries"/>
+ <stat_bar label="Oggetti in occlusion" name="occluded"/>
+ <stat_bar label="Oggetti non in occlusion" name="unoccluded"/>
</stat_view>
<stat_view label="Texture" name="texture">
<stat_bar label="Hit rate della cache" name="texture_cache_hits"/>
@@ -27,9 +29,32 @@
<stat_bar label="Memoria complessiva" name="rawmemstat"/>
<stat_bar label="Memoria impegnata" name="glboundmemstat"/>
</stat_view>
+ <stat_view label="Utilizzo memoria" name="memory">
+ <stat_bar label="LLTrace" name="LLTrace"/>
+ <stat_bar label="Interfaccia utente" name="LLView"/>
+ <stat_bar label="Font" name="LLFontFreetype"/>
+ <stat_bar label="Inventario" name="LLInventoryObject"/>
+ <stat_bar label="Oggetti Viewer" name="LLViewerObject"/>
+ <stat_bar label="Dati gruppo octree" name="LLViewerOctreeGroup"/>
+ <stat_bar label="Dati octree" name="LLViewerOctreeEntry"/>
+ <stat_bar label="Cache oggetti Viewer" name="LLVOCacheEntry"/>
+ <stat_bar label="Disegnabili" name="LLDrawable"/>
+ <stat_bar label="Dati viso" name="LLFace"/>
+ <stat_bar label="Info disegno" name="LLDrawInfo"/>
+ <stat_bar label="Dati texture" name="LLTexture"/>
+ <stat_bar label="Dati immagine" name="LLImage"/>
+ <stat_bar label="Dati immagine GL" name="LLImageGL"/>
+ <stat_bar label="Buffer vertici" name="LLVertexBuffer"/>
+ </stat_view>
<stat_view label="Rete" name="network">
<stat_bar label="Pacchetti in ingresso" name="packetsinstat"/>
<stat_bar label="Pacchetti in uscita" name="packetsoutstat"/>
+ <stat_bar label="Oggetti" name="objectdatareceived"/>
+ <stat_bar label="Texture" name="texturedatareceived"/>
+ <stat_bar label="Risorsa" name="assetudpdatareceived"/>
+ <stat_bar label="Livelli" name="layersdatareceived"/>
+ <stat_bar label="Effettivi in ingresso" name="messagedatain"/>
+ <stat_bar label="Effettivi in uscita" name="messagedataout"/>
<stat_bar label="Operazioni VFS in sospeso" name="vfspendingoperations"/>
</stat_view>
</stat_view>
@@ -48,7 +73,8 @@
<stat_bar label="Passaggi silhouette saltati" name="simsimskippedsilhouettesteps"/>
<stat_bar label="Personaggi aggiornati" name="simsimpctsteppedcharacters"/>
</stat_view>
- <stat_view label="Tempo (ms)" name="simperf">
+ <stat_bar label="Totale dati non confermati (unacked)" name="simtotalunackedbytes"/>
+ <stat_view label="Orario" name="simperf">
<stat_bar label="Tempo totale Frame" name="simframemsec"/>
<stat_bar label="Tempo netto" name="simnetmsec"/>
<stat_bar label="Tempo motore fisico" name="simsimphysicsmsec"/>
@@ -57,7 +83,7 @@
<stat_bar label="Tempo immagini" name="simimagesmsec"/>
<stat_bar label="Tempo script" name="simscriptmsec"/>
<stat_bar label="Tempo libero" name="simsparemsec"/>
- <stat_view label="Dettagli tempo (ms)" name="timedetails">
+ <stat_view label="Dettagli orario" name="timedetails">
<stat_bar label="Passaggio fisica" name="simsimphysicsstepmsec"/>
<stat_bar label="Aggiorna forme fisica" name="simsimphysicsshapeupdatemsec"/>
<stat_bar label="Altro fisica" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/it/menu_avatar_icon.xml b/indra/newview/skins/default/xui/it/menu_avatar_icon.xml
index b93b695300..215eb836c8 100755
--- a/indra/newview/skins/default/xui/it/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/it/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
<menu name="Avatar Icon Menu">
<menu_item_call label="Vedi profilo" name="Show Profile"/>
<menu_item_call label="Manda IM..." name="Send IM"/>
+ <menu_item_call label="Richiedi teleport" name="Request Teleport"/>
<menu_item_call label="Aggiungi come amico..." name="Add Friend"/>
<menu_item_call label="Togli amicizia..." name="Remove Friend"/>
</menu>
diff --git a/indra/newview/skins/default/xui/it/menu_inventory.xml b/indra/newview/skins/default/xui/it/menu_inventory.xml
index b31e35771d..c8042f4253 100755
--- a/indra/newview/skins/default/xui/it/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/it/menu_inventory.xml
@@ -70,6 +70,7 @@
<menu_item_call label="Esegui" name="Sound Play"/>
<menu_item_call label="Copia SLurl" name="url_copy"/>
<menu_item_call label="Informazioni sul punto di riferimento" name="About Landmark"/>
+ <menu_item_call label="Mostra sulla mappa" name="show_on_map"/>
<menu_item_call label="Riproduci in Second Life" name="Animation Play"/>
<menu_item_call label="Esegui localmente" name="Animation Audition"/>
<menu_item_call label="Invia un Instant Message" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/it/menu_login.xml b/indra/newview/skins/default/xui/it/menu_login.xml
index 35053ec499..126089aa6a 100755
--- a/indra/newview/skins/default/xui/it/menu_login.xml
+++ b/indra/newview/skins/default/xui/it/menu_login.xml
@@ -5,7 +5,15 @@
<menu_item_call label="Esci da [APP_NAME]" name="Quit"/>
</menu>
<menu label="Aiuto" name="Help">
- <menu_item_call label="Aiuto di [SECOND_LIFE]" name="Second Life Help"/>
+ <menu_item_call label="Istruzioni..." name="How To"/>
+ <menu_item_call label="Guida introduttiva" name="Quickstart"/>
+ <menu_item_call label="Base di conoscenza" name="Knowledge Base"/>
+ <menu_item_call label="Wiki" name="Wiki"/>
+ <menu_item_call label="Forum della comunità" name="Community Forums"/>
+ <menu_item_call label="Portale assistenza" name="Support portal"/>
+ <menu_item_call label="[SECOND_LIFE] Notizie" name="Second Life News"/>
+ <menu_item_call label="[SECOND_LIFE] Blog" name="Second Life Blogs"/>
+ <menu_item_call label="Segnala bug" name="Report Bug"/>
<menu_item_call label="Informazioni su [APP_NAME]" name="About Second Life"/>
</menu>
<menu_item_check label="Mostra menu Debug" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/it/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/it/menu_teleport_history_item.xml
index 81053fbd65..31236895fa 100755
--- a/indra/newview/skins/default/xui/it/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/it/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
<context_menu name="Teleport History Item Context Menu">
<menu_item_call label="Teleport" name="Teleport"/>
<menu_item_call label="Maggiori informazioni" name="More Information"/>
- <menu_item_call label="Copia negli appunti" name="CopyToClipboard"/>
+ <menu_item_call label="Copia SLurl" name="CopyToClipboard"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/it/menu_viewer.xml b/indra/newview/skins/default/xui/it/menu_viewer.xml
index d269edc82a..3e6589927d 100755
--- a/indra/newview/skins/default/xui/it/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/it/menu_viewer.xml
@@ -36,9 +36,6 @@
<menu_item_check label="Chat nei dintorni..." name="Nearby Chat"/>
<menu_item_check label="Parla" name="Speak"/>
<menu_item_check label="Registro conversazioni..." name="Conversation Log..."/>
- <menu_item_call label="Facebook..." name="Facebook"/>
- <menu_item_call label="Twitter..." name="Twitter"/>
- <menu_item_call label="Flickr..." name="Flickr"/>
<menu label="Manipolazione voce" name="VoiceMorphing">
<menu_item_check label="Nessuna manipolazione voce" name="NoVoiceMorphing"/>
<menu_item_check label="Anteprima..." name="Preview"/>
@@ -153,8 +150,7 @@
<menu_item_check label="Posiziona nella griglia" name="Snap to Grid"/>
<menu_item_call label="Posiziona coordinate XY dell&apos;oggetto sulla griglia" name="Snap Object XY to Grid"/>
<menu_item_call label="Usa la selezione per la griglia" name="Use Selection for Grid"/>
- <menu_item_call label="Opzioni della griglia..." name="Grid Options"/>
- <menu_item_call label="Imposta diritti predefiniti..." name="Set default permissions"/>
+ <menu_item_call label="Opzioni della griglia" name="Grid Options"/>
</menu>
<menu label="Carica sul server" name="Upload">
<menu_item_call label="Immagine ([COST] L$)..." name="Upload Image"/>
@@ -162,6 +158,7 @@
<menu_item_call label="Animazione ([COST] L$)..." name="Upload Animation"/>
<menu_item_call label="Modella..." name="Upload Model"/>
<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="Annulla" name="Undo"/>
<menu_item_call label="Ripeti" name="Redo"/>
@@ -189,6 +186,7 @@
<menu label="Strumenti di performance" name="Performance Tools">
<menu_item_call label="Misuratore lag" name="Lag Meter"/>
<menu_item_check label="Barra statistiche" name="Statistics Bar"/>
+ <menu_item_call label="Statistiche caricamento scena" name="Scene Load Statistics"/>
<menu_item_check label="Mostra peso visualizzazione per avatar" name="Avatar Rendering Cost"/>
</menu>
<menu label="Evidenziazione e visibilità" name="Highlighting and Visibility">
@@ -250,6 +248,7 @@
<menu_item_check label="Timer veloci" name="Fast Timers"/>
<menu_item_check label="Memoria" name="Memory"/>
<menu_item_check label="Statistiche scena" name="Scene Statistics"/>
+ <menu_item_check label="Monitoraggio caricamento scena" name="Scene Loading Monitor"/>
<menu_item_call label="Console di debug recupero texture" name="Texture Fetch Debug Console"/>
<menu_item_call label="Informazioni regione sulla console di debug" name="Region Info to Debug Console"/>
<menu_item_check label="Fotocamera" name="Camera"/>
@@ -281,6 +280,7 @@
<menu_item_check label="Veloc. di visualizzazione casuale" name="Randomize Framerate"/>
<menu_item_check label="Test frame" name="Frame Test"/>
<menu_item_call label="Profilo frame" name="Frame Profile"/>
+ <menu_item_call label="Benchmark" name="Benchmark"/>
</menu>
<menu label="Render Metadata" name="Render Metadata">
<menu_item_check label="Normali" name="Normals"/>
@@ -288,7 +288,7 @@
<menu_item_check label="Aggiorna tipo" name="Update Type"/>
<menu_item_check label="Info livello dettaglio" name="LOD Info"/>
<menu_item_check label="Crea coda" name="Build Queue"/>
- <menu_item_check label="Particelle" name="Particles"/>
+ <menu_item_check label="Giunti" name="Joints"/>
<menu_item_check label="Vettori vento" name="Wind Vectors"/>
<menu_item_check label="Complessità rendering" name="rendercomplexity"/>
<menu_item_check label="Byte collegamento" name="attachment bytes"/>
@@ -314,6 +314,7 @@
<menu_item_check label="Rendering delle luci unite" name="Render Attached Lights"/>
<menu_item_check label="Rendering particelle unite" name="Render Attached Particles"/>
<menu_item_check label="Gli oggetti brillano quando sono sotto il cursore" name="Hover Glow Objects"/>
+ <menu_item_call label="Pulisci cache immediatamente" name="Cache Clear"/>
</menu>
<menu label="Rete" name="Network">
<menu_item_check label="Metti in pausa" name="AgentPause"/>
diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml
index d429970a19..45c89ecd7a 100755
--- a/indra/newview/skins/default/xui/it/notifications.xml
+++ b/indra/newview/skins/default/xui/it/notifications.xml
@@ -114,13 +114,13 @@ Per ulteriori informazioni consulta il [[MARKETPLACE_IMPORTS_URL] registro error
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="OutboxImportFailed">
- Trasferimento non riuscito
+ Trasferimento non riuscito, errore &apos;[ERROR_CODE]&apos;
Nessuna cartella è stata inviata a Marketplace, a causa di un errore di sistema o di rete. Riprova più tardi.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="OutboxInitFailed">
- Inizializzazione Marketplace non riuscita
+ Inizializzazione Marketplace non riuscita, errore &apos;[ERROR_CODE]&apos;
L&apos;inizializzazione con il Marketplace non ha avuto successo a causa di un errore di sistema o di rete. Riprova più tardi.
<usetemplate name="okbutton" yestext="OK"/>
@@ -210,22 +210,6 @@ Aggiungi questo potere a &apos;[ROLE_NAME]&apos;?
Aggiungi questo potere a &apos;[ROLE_NAME]&apos;?
<usetemplate name="okcancelbuttons" notext="No" yestext="Si"/>
</notification>
- <notification name="AssignBanAbilityWarning">
- Stai per aggiungere l&apos;abilità &apos;[ACTION_NAME]&apos; al ruolo &apos;[ROLE_NAME]&apos;.
-
- *AVVISO*
-A tutti i membri che in un ruolo hanno questa abilità verranno concesse anche le abilità &apos;[ACTION_NAME_2]&apos; e &apos;[ACTION_NAME_3]&apos;
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
- <notification name="RemoveBanAbilityWarning">
- Stai rimuovendo l&apos;abilità &apos;[ACTION_NAME]&apos; dal ruolo &apos;[ROLE_NAME]&apos;.
-
- *AVVISO*
-Rimuovendo questa abilità, NON rimuovi le abilità &apos;[ACTION_NAME_2]&apos; e &apos;[ACTION_NAME_3]&apos;.
-
-Se non desideri che queste abilità siano assegnate a questo ruolo, disattivale immediatamente.
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
<notification name="EjectGroupMemberWarning">
Stai per espellere [AVATAR_NAME] dal gruppo.
<usetemplate ignoretext="Conferma l&apos;espulsione di un partecipante dal gruppo" name="okcancelignore" notext="Annulla" yestext="Espelli"/>
@@ -1596,14 +1580,6 @@ Lasciare il gruppo?
Impossibile abbandonare il gruppo. Non puoi abbandonare il gruppo perché sei l&apos;ultimo proprietario del gruppo. Devi prima assegnare a un altro membro il ruolo di proprietario.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
- <notification name="GroupDepartError">
- Impossibile abbandonare il gruppo: [reason].
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
- <notification name="GroupDepart">
- Hai abbandonato il gruppo [group_name].
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
<notification name="ConfirmKick">
Vuoi veramente espellere tutti i residenti dalla griglia?
<usetemplate name="okcancelbuttons" notext="Annulla" yestext="Espelli tutti i residenti"/>
@@ -1758,6 +1734,10 @@ più del limite [LIMIT].
Sei sicuro di volere il teleport a &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
<usetemplate ignoretext="Conferma il teleport verso un punto di riferimento" name="okcancelignore" notext="Annulla" yestext="Teleportati"/>
</notification>
+ <notification name="TeleportViaSLAPP">
+ Sei sicuro di volere il teleport a &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
+ <usetemplate ignoretext="Confermo di voler usare il teleport tramite SLAPP" name="okcancelignore" notext="Annulla" yestext="Teleport"/>
+ </notification>
<notification name="TeleportToPick">
Teleport a [PICK]?
<usetemplate ignoretext="Conferma che voglio il teleport verso l&apos;ubicazione nei Luoghi preferiti" name="okcancelignore" notext="Annulla" yestext="Teleport"/>
@@ -1968,6 +1948,9 @@ Cambierà migliaia di regioni e produrrà seri problemi ai vari server.
<notification name="ProblemAddingEstateManager">
Si sono riscontrati problemi nell&apos;aggiungere un nuovo manager della proprietà. Una o più proprietà potrebbero avere la lista dei manager piena.
</notification>
+ <notification name="ProblemAddingEstateBanManager">
+ Impossibile aggiungere il gestore o il proprietario della proprietà alla lista degli espulsi.
+ </notification>
<notification name="ProblemAddingEstateGeneric">
Si sono riscontrati problemi nell&apos;aggiunta a questo elenco della proprietà. Una o più proprietà potrebbe avere una lista piena.
</notification>
@@ -2482,12 +2465,6 @@ Prova a selezionare una parte di terreno più piccola.
<notification name="SystemMessage">
[MESSAGE]
</notification>
- <notification name="FlickrConnect">
- [MESSAGE]
- </notification>
- <notification name="TwitterConnect">
- [MESSAGE]
- </notification>
<notification name="PaymentReceived">
[MESSAGE]
</notification>
@@ -3058,13 +3035,13 @@ Per informazioni dettagliate, vedi il file del registro.
Non è stata ottenuta la capacità della regione &apos;[CAPABILITY]&apos;.
</notification>
<notification name="ShareItemsConfirmation">
- Sei sicuro di volere condividere gli oggetti
+ Sei sicuro di volere condividere gli oggetti seguenti:
-&lt;nolink&gt;[MSG]&lt;/nolink&gt;
+&lt;nolink&gt;[ITEMS]&lt;/nolink&gt;
-Con i seguenti residenti?
+Con i seguenti residenti:
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/>
</notification>
<notification name="ShareFolderConfirmation">
@@ -3076,7 +3053,7 @@ Sei sicuro di volere condividere gli oggetti seguenti:
Con i seguenti residenti:
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="Annulla" yestext="Ok"/>
</notification>
<notification name="ItemsShared">
@@ -3721,6 +3698,9 @@ Riprova tra un minuto.
<notification name="LinkFailedTooMuchPhysics">
L&apos;oggetto usa troppe risorse per la fisica -- le sue dinamiche sono state disattivate.
</notification>
+ <notification name="EstateManagerFailedllTeleportHome">
+ L&apos;oggetto &apos;[OBJECT_NAME]&apos; a [SLURL] non può eseguire il teleport del gestore della proprietà alla sua casa.
+ </notification>
<notification name="TeleportedHomeByObjectOnParcel">
Sei stato teleportato nella posizione iniziale dall&apos;oggetto &apos;[OBJECT_NAME]&apos; del lotto &apos;[PARCEL_NAME]&apos;
</notification>
@@ -3911,13 +3891,18 @@ Riprova tra un minuto.
Non sono stati selezionati abbastanza lotti affittati da collegare.
</notification>
<notification name="CantDivideLandMultipleParcelsSelected">
- Terreno non divisibile.\nHai selezionato più di un lotto.\nProva a selezionare una quantità di terreno più piccola.
+ Impossibile suddividere il terreno.
+È stato selezionato più di un lotto.
+Prova a selezionare un pezzo di terreno più piccolo.
</notification>
<notification name="CantDivideLandCantFindParcel">
- impossibile suddividere il terreno.\nimpossibile trovare il lotto.\nInvia una segnalazione con Aiuto -&gt; Segnala bug...
+ Impossibile suddividere il terreno.
+Lotto non trovato.
+Invia una segnalazione con Aiuto -&gt; Segnala Bug...
</notification>
<notification name="CantDivideLandWholeParcelSelected">
- Impossibile suddividere il terreno. È stato selezionato l&apos;intero lotto.\nProva a selezionare un pezzo di terreno più piccolo.
+ Impossibile suddividere il terreno. È stato selezionato un intero lotto.
+Prova a selezionare un pezzo di terreno più piccolo.
</notification>
<notification name="LandHasBeenDivided">
Il terreno è stato diviso.
@@ -4057,8 +4042,8 @@ Riprova tra un minuto.
Impossibile spostare i file. Il percorso precedente è stato ripristinato.
<usetemplate ignoretext="Impossibile spostare i file. Il percorso precedente è stato ripristinato." name="okignore" yestext="OK"/>
</notification>
- <notification name="DefaultObjectPermissions">
- Si è verificato un problema nel salvare i diritti predefiniti per il motivo seguente: [REASON]. Riprova più tardi.
+ <notification name="ChatHistoryIsBusyAlert">
+ Il file della cronologia del file sta ancora eseguendo l&apos;operazione precedente. Riprova nuovamente tra qualche minuto oppure chatta con un&apos;altra persona.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/it/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/it/panel_group_info_sidetray.xml
index 34ee3c2dca..138edc3a26 100755
--- a/indra/newview/skins/default/xui/it/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/it/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
<layout_panel name="group_accordions">
<accordion name="groups_accordion">
<accordion_tab name="group_general_tab" title="Generale"/>
- <accordion_tab name="group_roles_tab" title="Ruoli"/>
+ <accordion_tab name="group_roles_tab" title="Ruoli e membri"/>
<accordion_tab name="group_notices_tab" title="Avvisi"/>
<accordion_tab name="group_land_tab" title="Terra/Beni"/>
</accordion>
diff --git a/indra/newview/skins/default/xui/it/panel_group_roles.xml b/indra/newview/skins/default/xui/it/panel_group_roles.xml
index eefb900849..4d414d47ce 100755
--- a/indra/newview/skins/default/xui/it/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/it/panel_group_roles.xml
@@ -21,6 +21,7 @@ cliccando sui loro nomi.
<name_list.columns label="Socio" name="name"/>
<name_list.columns label="Donazioni" name="donated"/>
<name_list.columns label="Stato" name="online"/>
+ <name_list.columns label="Titolo" name="title"/>
</name_list>
<button label="Invita" name="member_invite"/>
<button label="Espelli" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/it/panel_region_debug.xml b/indra/newview/skins/default/xui/it/panel_region_debug.xml
index aba60d03aa..88c056bf5e 100755
--- a/indra/newview/skins/default/xui/it/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/it/panel_region_debug.xml
@@ -7,11 +7,8 @@
sconosciuta
</text>
<check_box label="Disabilita gli script" name="disable_scripts_check" tool_tip="Disabilita tutti gli script in questa regione"/>
- <button label="?" name="disable_scripts_help"/>
<check_box label="Disabilita le collisioni" name="disable_collisions_check" tool_tip="Disabilita tutte le collisioni non di avatar in questa regione"/>
- <button label="?" name="disable_collisions_help"/>
<check_box label="Disabilita la fisica" name="disable_physics_check" tool_tip="Disabilita tutta la fisica dei corpi in questa regione"/>
- <button label="?" name="disable_physics_help"/>
<button label="Applica" name="apply_btn"/>
<text name="objret_text_lbl" width="130">
Restituisci oggetti
@@ -31,10 +28,8 @@
<check_box label="In tutte le regioni di questa proprietà" name="return_estate_wide" tool_tip="Restituisci tutti gli oggetti nelle varie regioni che costituiscono l&apos;insieme dei possedimenti terrieri"/>
<button label="Restituisci" name="return_btn"/>
<button label="Visualizza l&apos;elenco dei maggiori collidenti..." name="top_colliders_btn" tool_tip="Elenco degli oggetti che stanno potenzialmente subendo le maggiori collisioni" width="280"/>
- <button label="?" left="297" name="top_colliders_help"/>
- <button label="Visualizza l&apos;elenco degli script più pesanti..." name="top_scripts_btn" tool_tip="Elenco degli oggetti che impiegano più tempo a far girare gli script" width="280"/>
- <button label="?" left="297" name="top_scripts_help"/>
<button label="Riavvia la regione" name="restart_btn" tool_tip="Dai 2 minuti di tempo massimo e fai riavviare la regione"/>
- <button label="?" name="restart_help"/>
+ <button label="Visualizza l&apos;elenco degli script più pesanti..." name="top_scripts_btn" tool_tip="Elenco degli oggetti che impiegano più tempo a far girare gli script" width="280"/>
<button label="Annulla riavvio" name="cancel_restart_btn" tool_tip="Annulla riavvio regione"/>
+ <button label="Console di debug regione" name="region_debug_console_btn" tool_tip="Apri console di debug regione"/>
</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_region_general.xml b/indra/newview/skins/default/xui/it/panel_region_general.xml
index c550e005ae..3e2f593d2f 100755
--- a/indra/newview/skins/default/xui/it/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/it/panel_region_general.xml
@@ -20,12 +20,12 @@
</text>
<check_box label="Proibisci la modifica del terreno" name="block_terraform_check"/>
<check_box label="Impedisci il volo" name="block_fly_check"/>
+ <check_box label="Blocca il volo sul lotto" name="block_fly_over_check" tool_tip="Espandi il controllo dell&apos;accesso in alto per impedire il volo sopra un lotto"/>
<check_box label="Abilita i danni" name="allow_damage_check"/>
<check_box label="Limita gli urti" name="restrict_pushobject"/>
<check_box label="Abilita la rivendita del terreno" name="allow_land_resell_check"/>
<check_box label="Abilita unione/suddivisione del terreno" name="allow_parcel_changes_check"/>
<check_box label="Proibisci che il terreno appaia nelle ricerche" name="block_parcel_search_check" tool_tip="Permetti che le persone vedano questa regione e le sue suddivisioni nei risultati delle ricerche"/>
- <check_box label="Consenti oggetti con reticolo" name="mesh_rez_enabled_check" tool_tip="Permetti alle persone di rezzare oggetti con reticolo su questa regione"/>
<spinner label="Limite massimo di avatar" label_width="135" name="agent_limit_spin" width="190"/>
<spinner label="Bonus di oggetti" label_width="135" name="object_bonus_spin" width="190"/>
<text label="Maturità" name="access_text" width="120">
diff --git a/indra/newview/skins/default/xui/it/sidepanel_inventory.xml b/indra/newview/skins/default/xui/it/sidepanel_inventory.xml
index 907857bf5a..2f00a023bb 100755
--- a/indra/newview/skins/default/xui/it/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/it/sidepanel_inventory.xml
@@ -33,7 +33,7 @@
<layout_panel name="shop_btn_lp">
<button label="Acquisti" name="shop_btn" tool_tip="Apri pagina web di Marketplace"/>
<button label="Indossa" name="wear_btn" tool_tip="Indossa il vestiario selezionato"/>
- <button label="Riproduci" name="play_btn"/>
+ <button label="Gioca" name="play_btn"/>
<button label="Teleport" name="teleport_btn" tool_tip="Teleport alla zona selezionata"/>
</layout_panel>
</layout_stack>
diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml
index a4acf3e2cd..17ce8aaf5e 100755
--- a/indra/newview/skins/default/xui/it/strings.xml
+++ b/indra/newview/skins/default/xui/it/strings.xml
@@ -34,6 +34,45 @@
<string name="StartupRequireDriverUpdate">
Inizializzazione grafica non riuscita. Aggiorna il driver della scheda grafica!
</string>
+ <string name="AboutHeader">
+ [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]
+ </string>
+ <string name="AboutCompiler">
+ Generato con [COMPILER] versione [COMPILER_VERSION]
+ </string>
+ <string name="AboutPosition">
+ Tu sei a [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] in [REGION] che si trova a &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
+SLURL: &lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(coordinate globali [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+ </string>
+ <string name="AboutSystem">
+ CPU: [CPU]
+Memoria: [MEMORY_MB] MB
+Versione sistema operativo: [OS_VERSION]
+Venditore scheda grafica: [GRAPHICS_CARD_VENDOR]
+Scheda grafica: [GRAPHICS_CARD]
+ </string>
+ <string name="AboutDriver">
+ Versione driver Windows per grafica: [GRAPHICS_DRIVER_VERSION]
+ </string>
+ <string name="AboutLibs">
+ Versione OpenGL: [OPENGL_VERSION]
+
+Versione libcurl: [LIBCURL_VERSION]
+Versione J2C Decoder: [J2C_VERSION]
+Versione Driver audio: [AUDIO_DRIVER_VERSION]
+Versione Qt Webkit: [QT_WEBKIT_VERSION]
+Versione Server voice: [VOICE_VERSION]
+ </string>
+ <string name="AboutTraffic">
+ Pacchetti perduti: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+ </string>
+ <string name="ErrorFetchingServerReleaseNotesURL">
+ Errore nel recupero URL note rilascio versione
+ </string>
<string name="ProgressRestoring">
Ripristino in corso...
</string>
@@ -1365,6 +1404,18 @@ Prova ad accedere nuovamente tra un minuto.
<string name="InventoryOutboxNoItems">
Trascina le cartelle in questa area e clicca su &quot;Invia a Marketplace&quot; per metterle in vendita su [[MARKETPLACE_DASHBOARD_URL] Marketplace].
</string>
+ <string name="InventoryOutboxInitializingTitle">
+ Inizializzazione Marketplace.in corso
+ </string>
+ <string name="InventoryOutboxInitializing">
+ Stiamo eseguendo l&apos;accesso al tuo account sul [[MARKETPLACE_CREATE_STORE_URL] negozio Marketplace].
+ </string>
+ <string name="InventoryOutboxErrorTitle">
+ Errori in Marketplace.
+ </string>
+ <string name="InventoryOutboxError">
+ Il [[MARKETPLACE_CREATE_STORE_URL] negozio nel Marketplace] ha riportato errori.
+ </string>
<string name="Marketplace Error None">
Nessun errore
</string>
@@ -1789,6 +1840,9 @@ Prova ad accedere nuovamente tra un minuto.
<string name="CompileQueueDownloadedCompiling">
Scaricato, in compilazione
</string>
+ <string name="CompileQueueServiceUnavailable">
+ Il servizio di compilazione degli script non è disponibile
+ </string>
<string name="CompileQueueScriptNotFound">
Script non trovato sul server.
</string>
diff --git a/indra/newview/skins/default/xui/ja/floater_lagmeter.xml b/indra/newview/skins/default/xui/ja/floater_lagmeter.xml
new file mode 100644
index 0000000000..e3546cd837
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="ラグメーター">
+ <floater.string name="max_title_msg">
+ ラグ メーター
+ </floater.string>
+ <floater.string name="max_width_px">
+ 350
+ </floater.string>
+ <floater.string name="min_title_msg">
+ ラグ
+ </floater.string>
+ <floater.string name="min_width_px">
+ 90
+ </floater.string>
+ <floater.string name="client_text_msg">
+ クライアント
+ </floater.string>
+ <floater.string name="client_frame_rate_critical_fps">
+ 10
+ </floater.string>
+ <floater.string name="client_frame_rate_warning_fps">
+ 15
+ </floater.string>
+ <floater.string name="client_frame_time_window_bg_msg">
+ ノーマル、ウィンドウは背景に
+ </floater.string>
+ <floater.string name="client_frame_time_critical_msg">
+ クライアント フレームレート < [CLIENT_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="client_frame_time_warning_msg">
+ クライアント フレームレート: [CLIENT_FRAME_RATE_CRITICAL] ~ [CLIENT_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="client_frame_time_normal_msg">
+ ノーマル
+ </floater.string>
+ <floater.string name="client_draw_distance_cause_msg">
+ 考えられる原因: 描画距離の設定が大きすぎる
+ </floater.string>
+ <floater.string name="client_texture_loading_cause_msg">
+ 考えられる原因: 画像のロード中
+ </floater.string>
+ <floater.string name="client_texture_memory_cause_msg">
+ 考えられる原因: メモリ内の画像数が多すぎる
+ </floater.string>
+ <floater.string name="client_complex_objects_cause_msg">
+ 考えられる原因: 画面に含まれる複雑なオブジェクトが多すぎる
+ </floater.string>
+ <floater.string name="network_text_msg">
+ ネットワーク
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_pct">
+ 10
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_pct">
+ 5
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_msg">
+ 接続でドロップされるパケットの割合: > [NETWORK_PACKET_LOSS_CRITICAL]
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_msg">
+ 接続でドロップされるパケットの割合:[NETWORK_PACKET_LOSS_WARNING] ~ [NETWORK_PACKET_LOSS_CRITICAL]
+ </floater.string>
+ <floater.string name="network_performance_normal_msg">
+ ノーマル
+ </floater.string>
+ <floater.string name="network_ping_critical_ms">
+ 600
+ </floater.string>
+ <floater.string name="network_ping_warning_ms">
+ 300
+ </floater.string>
+ <floater.string name="network_ping_critical_msg">
+ 接続の ping 時間: > [NETWORK_PING_CRITICAL] ミリ秒
+ </floater.string>
+ <floater.string name="network_ping_warning_msg">
+ 接続の ping 時間: [NETWORK_PING_WARNING] ~ [NETWORK_PING_CRITICAL] ミリ秒
+ </floater.string>
+ <floater.string name="network_packet_loss_cause_msg">
+ 接続不良になっているか、帯域幅設定が高すぎます。
+ </floater.string>
+ <floater.string name="network_ping_cause_msg">
+ 接続不良になっているか、ファイル共有アプリケーションに問題があります。
+ </floater.string>
+ <floater.string name="server_text_msg">
+ サーバー
+ </floater.string>
+ <floater.string name="server_frame_rate_critical_fps">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_rate_warning_fps">
+ 30
+ </floater.string>
+ <floater.string name="server_single_process_max_time_ms">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_time_critical_msg">
+ シミュレーターのフレームレート: < [SERVER_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="server_frame_time_warning_msg">
+ シミュレーターのフレームレート: [SERVER_FRAME_RATE_CRITICAL] ~ [SERVER_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="server_frame_time_normal_msg">
+ ノーマル
+ </floater.string>
+ <floater.string name="server_physics_cause_msg">
+ 考えられる原因: 物理的オブジェクトが多すぎる
+ </floater.string>
+ <floater.string name="server_scripts_cause_msg">
+ 考えられる原因: スクリプトを含むオブジェクトが多すぎる
+ </floater.string>
+ <floater.string name="server_net_cause_msg">
+ 考えられる原因: ネットワーク トラフィック過大
+ </floater.string>
+ <floater.string name="server_agent_cause_msg">
+ 考えられる原因: 地域内にて動いているアバターが多すぎる
+ </floater.string>
+ <floater.string name="server_images_cause_msg">
+ 考えられる原因: 画像計算が多すぎる
+ </floater.string>
+ <floater.string name="server_generic_cause_msg">
+ 考えられる原因: シミュレーターの過負荷
+ </floater.string>
+ <floater.string name="smaller_label">
+ &gt;&gt;
+ </floater.string>
+ <floater.string name="bigger_label">
+ &lt;&lt;
+ </floater.string>
+ <button name="client_lagmeter" tool_tip="クライアント ラグ ステータス"/>
+ <text name="client">
+ クライアント
+ </text>
+ <text name="client_text">
+ ノーマル
+ </text>
+ <button name="network_lagmeter" tool_tip="ネットワーク ラグ ステータス"/>
+ <text name="network">
+ ネットワーク
+ </text>
+ <text name="network_text">
+ ノーマル
+ </text>
+ <button name="server_lagmeter" tool_tip="サーバー ラグ ステータス"/>
+ <text name="server">
+ サーバー
+ </text>
+ <text name="server_text">
+ ノーマル
+ </text>
+ <button label="&gt;&gt; " name="minimize" tool_tip="フローターのサイズをトグル"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_region_restarting.xml b/indra/newview/skins/default/xui/ja/floater_region_restarting.xml
new file mode 100644
index 0000000000..e9ba9d230d
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="リージョンの再起動">
+ <string name="RegionName">
+ 今 ([NAME]) がいるリージョンを再起動しようとしています。
+
+このままここにいるとログアウトされます。
+ </string>
+ <string name="RestartSeconds">
+ 再起動までの秒数
+[SECONDS]
+ </string>
+ <panel name="layout_panel_1">
+ <text name="region_name">
+ 今 (-最長リージョン名-) がいるリージョンを再起動しようとしています。
+
+このままここにいるとログアウトされます。
+ </text>
+ <text name="restart_seconds">
+ 再起動までの秒数
+ 32767
+ </text>
+ </panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/ja/floater_scene_load_stats.xml
new file mode 100644
index 0000000000..f6edce026f
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="シーン ロード統計情報">
+ <button label="一時停止" name="playpause"/>
+ <scroll_container name="statistics_scroll">
+ <container_view name="statistics_view">
+ <stat_view label="ベーシック" name="basic">
+ <stat_bar label="フレーム ピクセル差" name="frame difference"/>
+ <stat_bar label="UDP データを受け取りました" name="bandwidth"/>
+ <stat_bar label="パケットロス" name="packet_loss"/>
+ </stat_view>
+ <stat_view label="アドバンス" name="advanced">
+ <stat_view label="描画" name="render">
+ <stat_bar label="オブジェクト合計" name="objs"/>
+ <stat_bar label="新規オブジェクト" name="newobjs"/>
+ <stat_bar label="オブジェクト キャッシュ ヒット率" name="object_cache_hits"/>
+ </stat_view>
+ <stat_view label="テクスチャ" name="texture">
+ <stat_bar label="キャッシュ ヒット率" name="texture_cache_hits"/>
+ <stat_bar label="キャッシュ読み込み遅延" name="texture_cache_read_latency"/>
+ <stat_bar label="カウント" name="numimagesstat"/>
+ <stat_bar label="Raw カウント" name="numrawimagesstat"/>
+ </stat_view>
+ <stat_view label="ネットワーク" name="network">
+ <stat_bar label="パケットイン" name="packetsinstat"/>
+ <stat_bar label="パケットアウト" name="packetsoutstat"/>
+ <stat_bar label="オブジェクト" name="objectdatareceived"/>
+ <stat_bar label="テクスチャ" name="texturedatareceived"/>
+ <stat_bar label="資産" name="assetudpdatareceived"/>
+ <stat_bar label="レイヤー" name="layersdatareceived"/>
+ <stat_bar label="実際の受信" name="messagedatain"/>
+ <stat_bar label="実際の送信" name="messagedataout"/>
+ <stat_bar label="VFS 保留中の操作" name="vfspendingoperations"/>
+ </stat_view>
+ </stat_view>
+ <stat_view label="シミュレーター" name="sim">
+ <stat_bar label="オブジェクト" name="simobjects"/>
+ <stat_bar label="アクティブなオブジェクト" name="simactiveobjects"/>
+ <stat_bar label="アクティブなスクリプト" name="simactivescripts"/>
+ <stat_bar label="パケットイン" name="siminpps"/>
+ <stat_bar label="パケットアウト" name="simoutpps"/>
+ <stat_bar label="保留中のダウンロード" name="simpendingdownloads"/>
+ <stat_bar label="保留中のアップロード" name="simpendinguploads"/>
+ <stat_bar label="未送信バイト合計" name="simtotalunackedbytes"/>
+ <stat_view label="時間(ms)" name="simperf">
+ <stat_bar label="フレーム時間合計" name="simframemsec"/>
+ <stat_bar label="総時間数" name="simnetmsec"/>
+ <stat_bar label="物理的作用時間" name="simsimphysicsmsec"/>
+ <stat_bar label="シミュレーション時間" name="simsimothermsec"/>
+ <stat_bar label="エージェント時間" name="simagentmsec"/>
+ <stat_bar label="イメージ時間" name="simimagesmsec"/>
+ <stat_bar label="スクリプト時間" name="simscriptmsec"/>
+ <stat_bar label="余暇" name="simsparemsec"/>
+ <stat_view label="時間の詳細(ms)" name="timedetails">
+ <stat_bar label="物理効果の単位" name="simsimphysicsstepmsec"/>
+ <stat_bar label="物理形状を更新" name="simsimphysicsshapeupdatemsec"/>
+ <stat_bar label="他の物理効果" name="simsimphysicsothermsec"/>
+ <stat_bar label="スリープ時間" name="simsleepmsec"/>
+ <stat_bar label="ポンプ I/O" name="simpumpiomsec"/>
+ </stat_view>
+ </stat_view>
+ </stat_view>
+ </container_view>
+ </scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_stats.xml b/indra/newview/skins/default/xui/ja/floater_stats.xml
index 81201eecf5..2b3b51f3b7 100755
--- a/indra/newview/skins/default/xui/ja/floater_stats.xml
+++ b/indra/newview/skins/default/xui/ja/floater_stats.xml
@@ -4,18 +4,20 @@
<container_view name="statistics_view">
<stat_view label="ベーシック" name="basic">
<stat_bar label="FPS" name="fps"/>
- <stat_bar label="帯域幅" name="bandwidth"/>
+ <stat_bar label="UDP データを受け取りました" name="bandwidth"/>
<stat_bar label="パケットロス" name="packet_loss"/>
<stat_bar label="Pingシム" name="ping"/>
</stat_view>
<stat_view label="アドバンス" name="advanced">
<stat_view label="描画" name="render">
- <stat_bar label="フレームごとの KTris 描画" name="ktrisframe"/>
- <stat_bar label="秒ごとの KTris 描画" name="ktrissec"/>
- <stat_bar label="オブジェクト合計" name="totalobjs"/>
- <stat_bar label="キャッシュされたオブジェクト" name="cachedobjs"/>
+ <stat_bar label="KTris (フレームごと)" name="ktrisframe"/>
+ <stat_bar label="KTris (秒ごと)" name="ktrissec"/>
+ <stat_bar label="オブジェクト合計" name="objs"/>
<stat_bar label="新規オブジェクト" name="newobjs"/>
<stat_bar label="オブジェクトキャッシュヒット率" name="object_cache_hits"/>
+ <stat_bar label="閉鎖クエリ実行" name="occlusion_queries"/>
+ <stat_bar label="閉鎖オブジェクト" name="occluded"/>
+ <stat_bar label="非閉鎖オブジェクト" name="unoccluded"/>
</stat_view>
<stat_view label="テクスチャ" name="texture">
<stat_bar label="キャッシュヒット率" name="texture_cache_hits"/>
@@ -27,9 +29,32 @@
<stat_bar label="Raw メモリ" name="rawmemstat"/>
<stat_bar label="統合メモリ" name="glboundmemstat"/>
</stat_view>
+ <stat_view label="メモリ使用量" name="memory">
+ <stat_bar label="LLTrace" name="LLTrace"/>
+ <stat_bar label="UI" name="LLView"/>
+ <stat_bar label="フォント" name="LLFontFreetype"/>
+ <stat_bar label="インベントリ" name="LLInventoryObject"/>
+ <stat_bar label="ビューワ オブジェクト" name="LLViewerObject"/>
+ <stat_bar label="Octree グループ データ" name="LLViewerOctreeGroup"/>
+ <stat_bar label="Octree データ" name="LLViewerOctreeEntry"/>
+ <stat_bar label="ビューワ オブジェクト キャッシュ" name="LLVOCacheEntry"/>
+ <stat_bar label="描画可能オブジェクト" name="LLDrawable"/>
+ <stat_bar label="顔データ" name="LLFace"/>
+ <stat_bar label="描画情報" name="LLDrawInfo"/>
+ <stat_bar label="テクスチャ データ" name="LLTexture"/>
+ <stat_bar label="画像データ" name="LLImage"/>
+ <stat_bar label="GL 画像データ" name="LLImageGL"/>
+ <stat_bar label="頂点バッファ" name="LLVertexBuffer"/>
+ </stat_view>
<stat_view label="ネットワーク" name="network">
<stat_bar label="パケットイン" name="packetsinstat"/>
<stat_bar label="パケットアウト" name="packetsoutstat"/>
+ <stat_bar label="オブジェクト" name="objectdatareceived"/>
+ <stat_bar label="テクスチャ" name="texturedatareceived"/>
+ <stat_bar label="資産" name="assetudpdatareceived"/>
+ <stat_bar label="レイヤー" name="layersdatareceived"/>
+ <stat_bar label="実際の受信" name="messagedatain"/>
+ <stat_bar label="実際の送信" name="messagedataout"/>
<stat_bar label="VFS 保留中の操作" name="vfspendingoperations"/>
</stat_view>
</stat_view>
@@ -59,8 +84,8 @@
<stat_bar label="パケットアウト" name="simoutpps"/>
<stat_bar label="保留中のダウンロード" name="simpendingdownloads"/>
<stat_bar label="保留中のアップロード" name="simpendinguploads"/>
- <stat_bar label="未送信バイト合計" name="simtotalunackedbytes"/>
- <stat_view label="時間(ms)" name="simperf">
+ <stat_bar label="合計未承認データ" name="simtotalunackedbytes"/>
+ <stat_view label="時間" name="simperf">
<stat_bar label="フレーム時間合計" name="simframemsec"/>
<stat_bar label="総時間数" name="simnetmsec"/>
<stat_bar label="物理的作用時間" name="simsimphysicsmsec"/>
@@ -69,7 +94,7 @@
<stat_bar label="イメージ時間" name="simimagesmsec"/>
<stat_bar label="スクリプト時間" name="simscriptmsec"/>
<stat_bar label="余暇" name="simsparemsec"/>
- <stat_view label="時間の詳細(ms)" name="timedetails">
+ <stat_view label="時間の詳細" name="timedetails">
<stat_bar label="物理効果の単位" name="simsimphysicsstepmsec"/>
<stat_bar label="物理形状を更新" name="simsimphysicsshapeupdatemsec"/>
<stat_bar label="他の物理効果" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_avatar_icon.xml b/indra/newview/skins/default/xui/ja/menu_avatar_icon.xml
index b04f602134..80ce080e39 100755
--- a/indra/newview/skins/default/xui/ja/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/ja/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
<menu name="Avatar Icon Menu">
<menu_item_call label="プロフィールの表示" name="Show Profile"/>
<menu_item_call label="IMを送信..." name="Send IM"/>
+ <menu_item_call label="テレポートをリクエスト" name="Request Teleport"/>
<menu_item_call label="フレンドを追加..." name="Add Friend"/>
<menu_item_call label="フレンドを削除..." name="Remove Friend"/>
</menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_inventory.xml b/indra/newview/skins/default/xui/ja/menu_inventory.xml
index 106b09453a..8d6c983aa7 100755
--- a/indra/newview/skins/default/xui/ja/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/ja/menu_inventory.xml
@@ -70,6 +70,7 @@
<menu_item_call label="再生する" name="Sound Play"/>
<menu_item_call label="SLurl をコピー" name="url_copy"/>
<menu_item_call label="ランドマークの情報" name="About Landmark"/>
+ <menu_item_call label="地図に表示" name="show_on_map"/>
<menu_item_call label="インワールドで再生する" name="Animation Play"/>
<menu_item_call label="ローカルで再生する" name="Animation Audition"/>
<menu_item_call label="インスタントメッセージを送信する" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_login.xml b/indra/newview/skins/default/xui/ja/menu_login.xml
index 3918732fa8..cd8bd52f91 100755
--- a/indra/newview/skins/default/xui/ja/menu_login.xml
+++ b/indra/newview/skins/default/xui/ja/menu_login.xml
@@ -5,7 +5,15 @@
<menu_item_call label="[APP_NAME] を終了" name="Quit"/>
</menu>
<menu label="ヘルプ" name="Help">
- <menu_item_call label="[SECOND_LIFE] ヘルプ" name="Second Life Help"/>
+ <menu_item_call label="ハウツー..." name="How To"/>
+ <menu_item_call label="クイックスタート" name="Quickstart"/>
+ <menu_item_call label="ナレッジベース" name="Knowledge Base"/>
+ <menu_item_call label="Wiki" name="Wiki"/>
+ <menu_item_call label="コミュニティ フォーラム" name="Community Forums"/>
+ <menu_item_call label="日本語サポートページ" name="Support portal"/>
+ <menu_item_call label="[SECOND_LIFE] ニュース" name="Second Life News"/>
+ <menu_item_call label="[SECOND_LIFE] ブログ" name="Second Life Blogs"/>
+ <menu_item_call label="バグを報告する" name="Report Bug"/>
<menu_item_call label="[APP_NAME] について" name="About Second Life"/>
</menu>
<menu_item_check label="デバッグメニューを表示する" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/ja/menu_teleport_history_item.xml
index 66bc32214f..61642048b8 100755
--- a/indra/newview/skins/default/xui/ja/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/ja/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
<context_menu name="Teleport History Item Context Menu">
<menu_item_call label="テレポート" name="Teleport"/>
<menu_item_call label="もっと詳しく" name="More Information"/>
- <menu_item_call label="クリップボードにコピー" name="CopyToClipboard"/>
+ <menu_item_call label="SLurl をコピー" name="CopyToClipboard"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/ja/menu_viewer.xml b/indra/newview/skins/default/xui/ja/menu_viewer.xml
index 875103d74a..4e6c6808c6 100755
--- a/indra/newview/skins/default/xui/ja/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/ja/menu_viewer.xml
@@ -189,6 +189,7 @@
<menu label="パフォーマンスツール" name="Performance Tools">
<menu_item_call label="ラグ計測器" name="Lag Meter"/>
<menu_item_check label="統計バー" name="Statistics Bar"/>
+ <menu_item_call label="シーン ロード統計情報" name="Scene Load Statistics"/>
<menu_item_check label="アバターの描画ウェイトを表示" name="Avatar Rendering Cost"/>
</menu>
<menu label="ハイライトと目に見えるもの" name="Highlighting and Visibility">
@@ -251,6 +252,7 @@
<menu_item_check label="ファーストタイマー" name="Fast Timers"/>
<menu_item_check label="メモリ" name="Memory"/>
<menu_item_check label="風景の統計" name="Scene Statistics"/>
+ <menu_item_check label="シーン ローディング モニター" name="Scene Loading Monitor"/>
<menu_item_call label="テクスチャ取得デバッグコンソール" name="Texture Fetch Debug Console"/>
<menu_item_call label="リージョン情報をデバッグコンソールへ" name="Region Info to Debug Console"/>
<menu_item_call label="グループ情報をデバッグコンソールへ" name="Group Info to Debug Console"/>
@@ -287,6 +289,7 @@
<menu_item_check label="定期的に遅いフレームを挿入する" name="Periodic Slow Frame"/>
<menu_item_check label="フレームテスト" name="Frame Test"/>
<menu_item_call label="フレームプロフィール" name="Frame Profile"/>
+ <menu_item_call label="ベンチマーク" name="Benchmark"/>
</menu>
<menu label="メタデータのレンダー" name="Render Metadata">
<menu_item_check label="バウンディングボックス" name="Bounding Boxes"/>
@@ -306,6 +309,7 @@
<menu_item_check label="光" name="Lights"/>
<menu_item_check label="パーティクル" name="Particles"/>
<menu_item_check label="骨組みの衝突判定" name="Collision Skeleton"/>
+ <menu_item_check label="ジョイント" name="Joints"/>
<menu_item_check label="レイキャスト" name="Raycast"/>
<menu_item_check label="風のベクトル" name="Wind Vectors"/>
<menu_item_check label="描画の詳細度" name="rendercomplexity"/>
@@ -338,6 +342,7 @@
<menu_item_check label="装着された光源を描画する" name="Render Attached Lights"/>
<menu_item_check label="取り付けられたパーティクルを描画する" name="Render Attached Particles"/>
<menu_item_check label="マウスオーバーで強調表示する" name="Hover Glow Objects"/>
+ <menu_item_call label="キャッシュをすぐにクリア" name="Cache Clear"/>
</menu>
<menu label="ネットワーク" name="Network">
<menu_item_check label="エージェントを一時停止する" name="AgentPause"/>
diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml
index dad4ee985f..518f82daaf 100755
--- a/indra/newview/skins/default/xui/ja/notifications.xml
+++ b/indra/newview/skins/default/xui/ja/notifications.xml
@@ -113,13 +113,13 @@
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="OutboxImportFailed">
- 転送に失敗
+ &apos;[ERROR_CODE]&apos; エラーで転送できませんでした
システムまたはネットワークのエラーのため、フォルダはマーケットプレイスに送信されませんでした。後でもう一度お試しください。
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="OutboxInitFailed">
- マーケットプレイスの初期化に失敗
+ &apos;[ERROR_CODE]&apos; エラーでマーケットプレイスを初期化できませんでした
システムまたはネットワークのエラーのため、マーケットプレイスの初期化に失敗しました。後でもう一度お試しください。
<usetemplate name="okbutton" yestext="OK"/>
@@ -221,22 +221,6 @@
この能力を [ROLE_NAME] に割り当てますか?
<usetemplate name="okcancelbuttons" notext="いいえ" yestext="はい"/>
</notification>
- <notification name="AssignBanAbilityWarning">
- 役割 &apos;[ROLE_NAME]&apos; に能力 &apos;[ACTION_NAME]&apos; を追加しようとしています。
-
-*警告*
-この能力を持つ役割のメンバーにも能力 &apos;[ACTION_NAME_2]&apos; と &apos;[ACTION_NAME_3]&apos; が許可されます
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
- <notification name="RemoveBanAbilityWarning">
- 役割 &apos;[ROLE_NAME]&apos; から能力 &apos;[ACTION_NAME]&apos; を削除しようとしています。
-
-*警告*
-この能力を削除しても能力 &apos;[ACTION_NAME_2]&apos; と &apos;[ACTION_NAME_3]&apos; は削除されません。
-
-これらの能力をこの役割に許可しない場合は、すぐに削除してください!
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
<notification name="EjectGroupMemberWarning">
[AVATAR_NAME] をグループから追放しようとしています。
<usetemplate ignoretext="グループからの参加者の追放を確認します" name="okcancelignore" notext="取り消し" yestext="追放"/>
@@ -1630,14 +1614,6 @@ http://secondlife.com/download から最新バージョンをダウンロード
グループを抜けることができません。グループの最後のオーナーであるため、グループを抜けることができません。最初に、別のメンバーをオーナーの役割に割り当ててください。
<usetemplate name="okbutton" yestext="OK"/>
</notification>
- <notification name="GroupDepartError">
- グループを抜けることができません: [reason]。
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
- <notification name="GroupDepart">
- グループ [group_name] を抜けました。
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
<notification name="ConfirmKick">
本当に住人全員をグリッドから追い出しますか?
<usetemplate name="okcancelbuttons" notext="キャンセル" yestext="住人全員を追い出す"/>
@@ -1792,6 +1768,10 @@ http://wiki.secondlife.com/wiki/Setting_your_display_name を参照してくだ
このまま &lt;nolink&gt;[LOCATION]&lt;/nolink&gt; にテレポートしますか?
<usetemplate ignoretext="ランドマークにテレポートしたいかどうかの確認" name="okcancelignore" notext="キャンセル" yestext="テレポート"/>
</notification>
+ <notification name="TeleportViaSLAPP">
+ このまま &lt;nolink&gt;[LOCATION]&lt;/nolink&gt; にテレポートしますか?
+ <usetemplate ignoretext="SLAPP でテレポートすることを確認" name="okcancelignore" notext="取り消し" yestext="テレポート"/>
+ </notification>
<notification name="TeleportToPick">
[PICK] にテレポートしますか?
<usetemplate ignoretext="ピックの場所にテレポートしたいかどうかの確認" name="okcancelignore" notext="キャンセル" yestext="テレポート"/>
@@ -2003,6 +1983,9 @@ http://wiki.secondlife.com/wiki/Setting_your_display_name を参照してくだ
新しい不動産マネージャーの追加に関する問題:
いずれかの不動産のマネージャーリストが満杯になっています。
</notification>
+ <notification name="ProblemAddingEstateBanManager">
+ 不動産所有者または管理者を禁止リストに追加できません。
+ </notification>
<notification name="ProblemAddingEstateGeneric">
不動産リストの追加に関する問題:
いずれかの不動産のリストが満杯になっています。
@@ -2524,12 +2507,6 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
<notification name="SystemMessage">
[MESSAGE]
</notification>
- <notification name="FlickrConnect">
- [MESSAGE]
- </notification>
- <notification name="TwitterConnect">
- [MESSAGE]
- </notification>
<notification name="PaymentReceived">
[MESSAGE]
</notification>
@@ -3102,9 +3079,9 @@ M キーを押して変更します。
&lt;nolink&gt;[ITEMS]&lt;/nolink&gt;
-次の住人と共有しますか?
+次の住人と共有:
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="取り消し" yestext="OK"/>
</notification>
<notification name="ShareFolderConfirmation">
@@ -3116,7 +3093,7 @@ M キーを押して変更します。
次の住人と共有:
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="取り消し" yestext="Ok"/>
</notification>
<notification name="ItemsShared">
@@ -3755,6 +3732,9 @@ M キーを押して変更します。
<notification name="LinkFailedTooMuchPhysics">
オブジェクトが使用している物理リソースが多すぎたため、ダイナミックスが無効にされました。
</notification>
+ <notification name="EstateManagerFailedllTeleportHome">
+ [SLURL] のオブジェクト &apos;[OBJECT_NAME]&apos; で不動産マネージャーのホームをテレポートできません。
+ </notification>
<notification name="TeleportedHomeByObjectOnParcel">
区画 &apos;[PARCEL_NAME]&apos; のオブジェクト &apos;[OBJECT_NAME]&apos; によって、あなたはホームにテレポートされました。
</notification>
@@ -3945,13 +3925,18 @@ M キーを押して変更します。
選択範囲のリース区画の数が少ないため、参加できません。
</notification>
<notification name="CantDivideLandMultipleParcelsSelected">
- 土地を分割できません。\n区画が複数選択されています。\nもっと小さい土地を選択してみてください。
+ 土地を分割できません。
+複数の区画が選択されました。
+小さい区画を選択してください。
</notification>
<notification name="CantDivideLandCantFindParcel">
- 土地を分解できません。\n区画が見つかりません。\n「Help」&gt;「Reprt Bug...」でレポートを行ってください。
+ 土地を分割できません。
+区画が見つかりません。
+「ヘルプ」 -&gt; 「バグの報告」で報告してください。
</notification>
<notification name="CantDivideLandWholeParcelSelected">
- 土地を分割できません。区画全体を選択します。\n小さい土地を選択してみてください。
+ 土地を分割できません。区画全体が選択されています。
+小さい区画を選択してください。
</notification>
<notification name="LandHasBeenDivided">
土地が分割されています。
@@ -4091,8 +4076,8 @@ M キーを押して変更します。
ファイルを移動できません。以前のパスがリストアされました。
<usetemplate ignoretext="ファイルを移動できません。以前のパスがリストアされました。" name="okignore" yestext="OK"/>
</notification>
- <notification name="DefaultObjectPermissions">
- 次の理由により、デフォルト権限を保存するときに問題がありました: [REASON]。後でデフォルト権限を設定してください。
+ <notification name="ChatHistoryIsBusyAlert">
+ チャット履歴ファイルが前の操作でビジーです。2、3 分経ってからもう一度試すか、別の人とのチャットを選択してください。
<usetemplate name="okbutton" yestext="OK"/>
</notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml
index 7aa1aec6d0..ebcb36d950 100755
--- a/indra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/ja/panel_group_info_sidetray.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="グループインベントリ" name="GroupInfo">
<panel.string name="default_needs_apply_text">
保存していない変更があります
@@ -20,7 +20,7 @@
<layout_panel name="group_accordions">
<accordion name="groups_accordion">
<accordion_tab name="group_general_tab" title="一般"/>
- <accordion_tab name="group_roles_tab" title="役割"/>
+ <accordion_tab name="group_roles_tab" title="役割 &amp; メンバー"/>
<accordion_tab name="group_notices_tab" title="通知"/>
<accordion_tab name="group_land_tab" title="土地・資産"/>
</accordion>
diff --git a/indra/newview/skins/default/xui/ja/panel_group_roles.xml b/indra/newview/skins/default/xui/ja/panel_group_roles.xml
index 76e454b842..0e231b5b4f 100755
--- a/indra/newview/skins/default/xui/ja/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/ja/panel_group_roles.xml
@@ -21,6 +21,7 @@ Ctrl キーを押しながらメンバー名をクリックすると
<name_list.columns label="メンバー" name="name"/>
<name_list.columns label="寄付" name="donated"/>
<name_list.columns label="ステータス" name="online"/>
+ <name_list.columns label="職名" name="title"/>
</name_list>
<button label="招待" name="member_invite"/>
<button label="追放" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_region_debug.xml b/indra/newview/skins/default/xui/ja/panel_region_debug.xml
index 169da27ce5..908af3d66a 100755
--- a/indra/newview/skins/default/xui/ja/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/ja/panel_region_debug.xml
@@ -7,11 +7,8 @@
未知
</text>
<check_box label="スクリプト無効化" name="disable_scripts_check" tool_tip="この地域のスクリプトをすべて無効にします"/>
- <button label="?" name="disable_scripts_help"/>
<check_box label="衝突を無効化" name="disable_collisions_check" tool_tip="この地域の非アバター衝突を無効にします"/>
- <button label="?" name="disable_collisions_help"/>
<check_box label="物理作用を無効化" name="disable_physics_check" tool_tip="この地域の物理作用をすべて無効にします"/>
- <button label="?" name="disable_physics_help"/>
<button label="適用" name="apply_btn"/>
<text name="objret_text_lbl" width="120">
オブジェクトの返却
@@ -31,10 +28,8 @@
<check_box label="この不動産に属するすべてのリージョンのもの" name="return_estate_wide" tool_tip="この不動産に含まれているすべての地域のオブジェクトを返却します"/>
<button label="返却" name="return_btn"/>
<button label="上部コライダー取得" name="top_colliders_btn" tool_tip="衝突する可能性が最も高いオブジェクトのリスト"/>
- <button label="?" name="top_colliders_help"/>
- <button label="上部スクリプト取得" name="top_scripts_btn" tool_tip="スクリプトの実行に最も時間を費やしているオブジェクトのリスト"/>
- <button label="?" name="top_scripts_help"/>
<button label="地域再起動" name="restart_btn" tool_tip="2分間のカウントダウン後、地域を再起動します"/>
- <button label="?" name="restart_help"/>
+ <button label="上部スクリプト取得" name="top_scripts_btn" tool_tip="スクリプトの実行に最も時間を費やしているオブジェクトのリスト"/>
<button label="再起動をキャンセル" name="cancel_restart_btn" tool_tip="リージョンの再起動をキャンセル"/>
+ <button label="地域デバッグコンソール" name="region_debug_console_btn" tool_tip="地域デバッグコンソールを開く"/>
</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_region_general.xml b/indra/newview/skins/default/xui/ja/panel_region_general.xml
index 65148cf1ee..d23007dc6b 100755
--- a/indra/newview/skins/default/xui/ja/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/ja/panel_region_general.xml
@@ -20,12 +20,12 @@
</text>
<check_box label="地形編集をブロック" name="block_terraform_check"/>
<check_box label="飛行をブロック" name="block_fly_check"/>
+ <check_box label="区画の飛行をブロック" name="block_fly_over_check" tool_tip="アクセス チェックを上方向に拡大し、区画を超える飛行を防ぎます"/>
<check_box label="ダメージを許可" name="allow_damage_check"/>
<check_box label="プッシュを制限" name="restrict_pushobject"/>
<check_box label="土地の再販を許可" name="allow_land_resell_check"/>
<check_box label="土地の統合・分割を許可" name="allow_parcel_changes_check"/>
<check_box label="土地の検索表示をブロック" name="block_parcel_search_check" tool_tip="検索結果で、この地域と区画を表示するかどうかの設定です"/>
- <check_box label="メッシュオブジェクトを許可" name="mesh_rez_enabled_check" tool_tip="このリージョンでメッシュオブジェクトの Rez を許可する"/>
<spinner label="アバター数上限" name="agent_limit_spin"/>
<spinner label="物体ボーナス" name="object_bonus_spin"/>
<text label="成人指定" name="access_text">
diff --git a/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml b/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml
index 32e84ce542..5aa0e86a5b 100755
--- a/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/ja/sidepanel_inventory.xml
@@ -28,12 +28,12 @@
<button label="プロフィール" name="info_btn" tool_tip="オブジェクトのプロフィールを表示する"/>
</layout_panel>
<layout_panel name="share_btn_lp">
- <button label="共有" name="share_btn" tool_tip="インベントリのアイテムを共有する"/>
+ <button label="共有" name="share_btn" tool_tip="「持ち物」のアイテムを共有する"/>
</layout_panel>
<layout_panel name="shop_btn_lp">
- <button label="店" name="shop_btn" tool_tip="マーケットプレイスのサイトを開く"/>
+ <button label="ショッピング" name="shop_btn" tool_tip="マーケットプレイスのサイトを開く"/>
<button label="装着" name="wear_btn" tool_tip="選択したアウトフィットを着用する"/>
- <button label="プレイ" name="play_btn"/>
+ <button label="再生" name="play_btn"/>
<button label="テレポート" name="teleport_btn" tool_tip="該当するエリアにテレポートする"/>
</layout_panel>
</layout_stack>
diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml
index f86c3a33b8..d046e11571 100755
--- a/indra/newview/skins/default/xui/ja/strings.xml
+++ b/indra/newview/skins/default/xui/ja/strings.xml
@@ -37,6 +37,44 @@
<string name="StartupRequireDriverUpdate">
グラフィックを初期化できませんでした。グラフィックドライバを更新してください。
</string>
+ <string name="AboutHeader">
+ [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]
+ </string>
+ <string name="AboutCompiler">
+ コンパイラー [COMPILER] [COMPILER_VERSION] バージョン
+ </string>
+ <string name="AboutPosition">
+ あなたの現在地は、[POSITION_LOCAL_0,number,1]、[POSITION_LOCAL_1,number,1]、[POSITION_LOCAL_2,number,1] の [REGION] です。位置は &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; です。([HOSTIP])
+SLURL:&lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(グローバル座標 [POSITION_0,number,1]、[POSITION_1,number,1]、[POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+ </string>
+ <string name="AboutSystem">
+ CPU:[CPU]
+メモリ:[MEMORY_MB] MB
+OS バージョン:[OS_VERSION]
+グラフィックカード製造元:[GRAPHICS_CARD_VENDOR]
+グラフィックカード:[GRAPHICS_CARD]
+ </string>
+ <string name="AboutDriver">
+ Windows グラフィックドライババージョン:[GRAPHICS_DRIVER_VERSION]
+ </string>
+ <string name="AboutLibs">
+ OpenGL バージョン:[OPENGL_VERSION]
+
+libcurl バージョン:[LIBCURL_VERSION]
+J2C デコーダバージョン:[J2C_VERSION]
+オーディオドライババージョン:[AUDIO_DRIVER_VERSION]
+Qt Webkit バージョン:[QT_WEBKIT_VERSION]
+ボイスサーバーバージョン:[VOICE_VERSION]
+ </string>
+ <string name="AboutTraffic">
+ パケットロス:[PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+ </string>
+ <string name="ErrorFetchingServerReleaseNotesURL">
+ サーバーのリリースノートの URL を取得中にエラーが発生しました。
+ </string>
<string name="ProgressRestoring">
復元中です...
</string>
@@ -1374,6 +1412,18 @@ support@secondlife.com にお問い合わせください。
<string name="InventoryOutboxNoItems">
[[MARKETPLACE_DASHBOARD_URL] マーケットプレイス]に販売するアイテムを一覧するには、フォルダをこのエリアにドラッグし、「マーケットプレイスに送信」をクリックします。
</string>
+ <string name="InventoryOutboxInitializingTitle">
+ マーケットプレイスの初期化。
+ </string>
+ <string name="InventoryOutboxInitializing">
+ [[MARKETPLACE_CREATE_STORE_URL] マーケットプレイス ストア] のアカウントにアクセスしています。
+ </string>
+ <string name="InventoryOutboxErrorTitle">
+ マーケットプレイス エラー。
+ </string>
+ <string name="InventoryOutboxError">
+ [[MARKETPLACE_CREATE_STORE_URL] マーケットプレイス ストア] がエラーを返しています。
+ </string>
<string name="Marketplace Error None">
エラーなし
</string>
@@ -1804,6 +1854,9 @@ support@secondlife.com にお問い合わせください。
<string name="CompileQueueDownloadedCompiling">
ダウンロード完了、コンパイル中
</string>
+ <string name="CompileQueueServiceUnavailable">
+ スクリプト コンパイル サービスを利用できません
+ </string>
<string name="CompileQueueScriptNotFound">
サーバー上にスクリプトが見つかりません。
</string>
diff --git a/indra/newview/skins/default/xui/pl/floater_lagmeter.xml b/indra/newview/skins/default/xui/pl/floater_lagmeter.xml
new file mode 100644
index 0000000000..8038550bcb
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="POMIAR LAGÓW">
+ <floater.string name="max_title_msg">
+ Pomiar lagów
+ </floater.string>
+ <floater.string name="max_width_px">
+ 360
+ </floater.string>
+ <floater.string name="min_title_msg">
+ Lag
+ </floater.string>
+ <floater.string name="min_width_px">
+ 90
+ </floater.string>
+ <floater.string name="client_text_msg">
+ Klient
+ </floater.string>
+ <floater.string name="client_frame_rate_critical_fps">
+ 10
+ </floater.string>
+ <floater.string name="client_frame_rate_warning_fps">
+ 15
+ </floater.string>
+ <floater.string name="client_frame_time_window_bg_msg">
+ W normie, okno w tle
+ </floater.string>
+ <floater.string name="client_frame_time_critical_msg">
+ Ilość klatek na sekundę klienta poniżej [CLIENT_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="client_frame_time_warning_msg">
+ Ilość klatek na sekundę pomiędzy [CLIENT_FRAME_RATE_CRITICAL] i [CLIENT_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="client_frame_time_normal_msg">
+ W normie
+ </floater.string>
+ <floater.string name="client_draw_distance_cause_msg">
+ Przyczyna: dystans rysowania jest za wysoki
+ </floater.string>
+ <floater.string name="client_texture_loading_cause_msg">
+ Przyczyna: ładowanie obrazu
+ </floater.string>
+ <floater.string name="client_texture_memory_cause_msg">
+ Przyczyna: za dużo obrazów w pamięci
+ </floater.string>
+ <floater.string name="client_complex_objects_cause_msg">
+ Przyczyna: za dużo złożonych obiektów
+ </floater.string>
+ <floater.string name="network_text_msg">
+ Sieć
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_pct">
+ 10
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_pct">
+ 5
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_msg">
+ Utrata pakietów przekracza [NETWORK_PACKET_LOSS_CRITICAL]%
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_msg">
+ Utrata pakietów przekracza [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]%
+ </floater.string>
+ <floater.string name="network_performance_normal_msg">
+ W normie
+ </floater.string>
+ <floater.string name="network_ping_critical_ms">
+ 600
+ </floater.string>
+ <floater.string name="network_ping_warning_ms">
+ 300
+ </floater.string>
+ <floater.string name="network_ping_critical_msg">
+ Fatalny ping - [NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_ping_warning_msg">
+ Wolny ping - [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_packet_loss_cause_msg">
+ Złe połączenie lub przepustowość.
+ </floater.string>
+ <floater.string name="network_ping_cause_msg">
+ Złe połączenie lub aplikacja współdzieląca pliki.
+ </floater.string>
+ <floater.string name="server_text_msg">
+ Serwer
+ </floater.string>
+ <floater.string name="server_frame_rate_critical_fps">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_rate_warning_fps">
+ 30
+ </floater.string>
+ <floater.string name="server_single_process_max_time_ms">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_time_critical_msg">
+ Ilość klatek na sekundę poniżej [SERVER_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="server_frame_time_warning_msg">
+ Ilość klatek na sekundę pomiędzy [SERVER_FRAME_RATE_CRITICAL] i [SERVER_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="server_frame_time_normal_msg">
+ W normie
+ </floater.string>
+ <floater.string name="server_physics_cause_msg">
+ Przyczyna: za dużo obiektów fizycznych
+ </floater.string>
+ <floater.string name="server_scripts_cause_msg">
+ Przyczyna: za dużo obieków skryptowanych
+ </floater.string>
+ <floater.string name="server_net_cause_msg">
+ Przyczyna: za duży ruch w sieci
+ </floater.string>
+ <floater.string name="server_agent_cause_msg">
+ Przyczyna: za dużo poruszających się awatarów w regionie
+ </floater.string>
+ <floater.string name="server_images_cause_msg">
+ Przyczyna: za dużo kalkulacji obrazu
+ </floater.string>
+ <floater.string name="server_generic_cause_msg">
+ Przyczyna: symulator ładuje się zbyt powoli
+ </floater.string>
+ <floater.string name="smaller_label">
+ &gt;&gt;
+ </floater.string>
+ <floater.string name="bigger_label">
+ &lt;&lt;
+ </floater.string>
+ <button label="" label_selected="" name="client_lagmeter" tool_tip="Status lagów klienta"/>
+ <text name="client">
+ Klient
+ </text>
+ <text name="client_text">
+ W normie
+ </text>
+ <button label="" label_selected="" name="network_lagmeter" tool_tip="Network lag status"/>
+ <text name="network">
+ Sieć
+ </text>
+ <text name="network_text">
+ W normie
+ </text>
+ <button label="" label_selected="" name="server_lagmeter" tool_tip="Server lag status"/>
+ <text name="server">
+ Serwer
+ </text>
+ <text name="server_text">
+ W normie
+ </text>
+ <button label="&gt;&gt;" name="minimize" tool_tip="Złącz rozmiar pliku xml"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_lagmeter.xml b/indra/newview/skins/default/xui/pt/floater_lagmeter.xml
new file mode 100644
index 0000000000..9932318293
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_lagmeter.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="LAG - Índice">
+ <floater.string name="max_title_msg">
+ Medidor de Atraso
+ </floater.string>
+ <floater.string name="max_width_px">
+ 360
+ </floater.string>
+ <floater.string name="min_title_msg">
+ Atraso
+ </floater.string>
+ <floater.string name="min_width_px">
+ 90
+ </floater.string>
+ <floater.string name="client_text_msg">
+ Cliente
+ </floater.string>
+ <floater.string name="client_frame_rate_critical_fps">
+ 10
+ </floater.string>
+ <floater.string name="client_frame_rate_warning_fps">
+ 15
+ </floater.string>
+ <floater.string name="client_frame_time_window_bg_msg">
+ Normal, janela por baixo
+ </floater.string>
+ <floater.string name="client_frame_time_critical_msg">
+ Taxa de quadros do Cliente abaixo de [CLIENT_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="client_frame_time_warning_msg">
+ Taxa de quadros do Cliente entre [CLIENT_FRAME_RATE_CRITICAL] e [CLIENT_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="client_frame_time_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="client_draw_distance_cause_msg">
+ Causa possível: Distância de desenho ajustada muito alta
+ </floater.string>
+ <floater.string name="client_texture_loading_cause_msg">
+ Causa possível: Carregamento de Imagens
+ </floater.string>
+ <floater.string name="client_texture_memory_cause_msg">
+ Causa possível: Muitas imagens na memória
+ </floater.string>
+ <floater.string name="client_complex_objects_cause_msg">
+ Causa possível: Muitos objetos complexos na cena
+ </floater.string>
+ <floater.string name="network_text_msg">
+ Rede
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_pct">
+ 10
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_pct">
+ 5
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_msg">
+ Conexão está caindo para cerca de [NETWORK_PACKET_LOSS_CRITICAL]% de pacotes
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_msg">
+ Conexão está caindo [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% de pacotes
+ </floater.string>
+ <floater.string name="network_performance_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="network_ping_critical_ms">
+ 600
+ </floater.string>
+ <floater.string name="network_ping_warning_ms">
+ 300
+ </floater.string>
+ <floater.string name="network_ping_critical_msg">
+ Tempo de conexão de ping é cerca de [NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_ping_warning_msg">
+ Tempo de conexão de ping é [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_packet_loss_cause_msg">
+ Possível conexão ruim ou &apos;Largura de Banda&apos; escolhida muito alta.
+ </floater.string>
+ <floater.string name="network_ping_cause_msg">
+ Possível conexão ruim ou aplicativos compartilhando arquivos.
+ </floater.string>
+ <floater.string name="server_text_msg">
+ Servidor
+ </floater.string>
+ <floater.string name="server_frame_rate_critical_fps">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_rate_warning_fps">
+ 30
+ </floater.string>
+ <floater.string name="server_single_process_max_time_ms">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_time_critical_msg">
+ Taxa de quadros abaixo de [SERVER_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="server_frame_time_warning_msg">
+ Taxa de quadros entre [SERVER_FRAME_RATE_CRITICAL] e [SERVER_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="server_frame_time_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="server_physics_cause_msg">
+ Causa possível: Muitos objetos físicos
+ </floater.string>
+ <floater.string name="server_scripts_cause_msg">
+ Causa possível: Muitos objetos com scripts
+ </floater.string>
+ <floater.string name="server_net_cause_msg">
+ Causa possível: Muito tráfego na rede
+ </floater.string>
+ <floater.string name="server_agent_cause_msg">
+ Causa possível: Muitas pessoas se movendo na região
+ </floater.string>
+ <floater.string name="server_images_cause_msg">
+ Causa possível: Muitos cálculos de imagem
+ </floater.string>
+ <floater.string name="server_generic_cause_msg">
+ Causa possível: Carga no simulador muito pesada
+ </floater.string>
+ <floater.string name="smaller_label">
+ &gt;&gt;
+ </floater.string>
+ <floater.string name="bigger_label">
+ &lt;&lt;
+ </floater.string>
+ <button label="" label_selected="" name="client_lagmeter" tool_tip="Status de atraso no Cliente"/>
+ <text name="client">
+ Cliente
+ </text>
+ <text font="SansSerifSmall" name="client_text">
+ Normal
+ </text>
+ <text left="30" name="client_lag_cause" right="-10"/>
+ <button label="" label_selected="" name="network_lagmeter" tool_tip="Status de atraso na rede"/>
+ <text name="network">
+ Rede
+ </text>
+ <text font="SansSerifSmall" name="network_text">
+ Normal
+ </text>
+ <text left="30" name="network_lag_cause" right="-10"/>
+ <button label="" label_selected="" name="server_lagmeter" tool_tip="Status de atraso no servidor"/>
+ <text name="server">
+ Servidor
+ </text>
+ <text font="SansSerifSmall" name="server_text">
+ Normal
+ </text>
+ <text left="30" name="server_lag_cause" right="-32"/>
+ <button label="&gt;&gt;" name="minimize" tool_tip="Alternar o tamanho da janela"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_region_restarting.xml b/indra/newview/skins/default/xui/pt/floater_region_restarting.xml
new file mode 100644
index 0000000000..7fd13c0d75
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="REINICIANDO REGIÃO">
+ <string name="RegionName">
+ A região na qual você está ([NAME]) está prestes a ser reiniciada.
+
+Se permanecer aqui, você será desconectado.
+ </string>
+ <string name="RestartSeconds">
+ Segundos até o reinício
+[SECONDS]
+ </string>
+ <panel name="layout_panel_1">
+ <text name="region_name">
+ A região na qual você está (-Nome mais longo da região-) está prestes a ser reiniciada.
+
+Se permanecer aqui, você será desconectado.
+ </text>
+ <text name="restart_seconds">
+ Segundos até o reinício
+ 32767
+ </text>
+ </panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/pt/floater_scene_load_stats.xml
new file mode 100644
index 0000000000..027e1ef311
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="ESTATÍSTICAS DE CARREGAMENTO DE CENA">
+ <button label="Pausar" name="playpause"/>
+ <scroll_container name="statistics_scroll">
+ <container_view name="statistics_view">
+ <stat_view label="Básico" name="basic">
+ <stat_bar label="Diferença de frame em pixels" name="frame difference"/>
+ <stat_bar label="Dados de UDP recebidos" name="bandwidth"/>
+ <stat_bar label="Bandwidth" name="packet_loss"/>
+ </stat_view>
+ <stat_view label="Avançado" name="advanced">
+ <stat_view label="Render" name="render">
+ <stat_bar label="Total Objects" name="objs"/>
+ <stat_bar label="New Objects" name="newobjs"/>
+ <stat_bar label="Taxa de acertos do cache do objeto" name="object_cache_hits"/>
+ </stat_view>
+ <stat_view label="Textura" name="texture">
+ <stat_bar label="Taxa de acertos do cache" name="texture_cache_hits"/>
+ <stat_bar label="Latência de leitura do cache" name="texture_cache_read_latency"/>
+ <stat_bar label="Contagem" name="numimagesstat"/>
+ <stat_bar label="Raw Count" name="numrawimagesstat"/>
+ </stat_view>
+ <stat_view label="Network" name="network">
+ <stat_bar label="Packets In" name="packetsinstat"/>
+ <stat_bar label="Packets Out" name="packetsoutstat"/>
+ <stat_bar label="Objetos" name="objectdatareceived"/>
+ <stat_bar label="Textura" name="texturedatareceived"/>
+ <stat_bar label="Asset" name="assetudpdatareceived"/>
+ <stat_bar label="Layers" name="layersdatareceived"/>
+ <stat_bar label="Actual In" name="messagedatain"/>
+ <stat_bar label="Actual Out" name="messagedataout"/>
+ <stat_bar label="Operações pendentes do VFS" name="vfspendingoperations"/>
+ </stat_view>
+ </stat_view>
+ <stat_view label="Simulator" name="sim">
+ <stat_bar label="Objetos" name="simobjects"/>
+ <stat_bar label="Active Objects" name="simactiveobjects"/>
+ <stat_bar label="Active Scripts" name="simactivescripts"/>
+ <stat_bar label="Packets In" name="siminpps"/>
+ <stat_bar label="Packets Out" name="simoutpps"/>
+ <stat_bar label="Pending Downloads" name="simpendingdownloads"/>
+ <stat_bar label="Pending Uploads" name="simpendinguploads"/>
+ <stat_bar label="Total Unacked Bytes" name="simtotalunackedbytes"/>
+ <stat_view label="Time (ms)" name="simperf">
+ <stat_bar label="Total Frame Time" name="simframemsec"/>
+ <stat_bar label="Net Time" name="simnetmsec"/>
+ <stat_bar label="Physics Time" name="simsimphysicsmsec"/>
+ <stat_bar label="Simulation Time" name="simsimothermsec"/>
+ <stat_bar label="Agent Time" name="simagentmsec"/>
+ <stat_bar label="Images Time" name="simimagesmsec"/>
+ <stat_bar label="Script Time" name="simscriptmsec"/>
+ <stat_bar label="Tempo restante" name="simsparemsec"/>
+ <stat_view label="Detalhes de tempo (ms)" name="timedetails">
+ <stat_bar label="Etapa física" name="simsimphysicsstepmsec"/>
+ <stat_bar label="Atualizar formas físicas" name="simsimphysicsshapeupdatemsec"/>
+ <stat_bar label="Física - outros" name="simsimphysicsothermsec"/>
+ <stat_bar label="Tempo de espera" name="simsleepmsec"/>
+ <stat_bar label="Bombear ES" name="simpumpiomsec"/>
+ </stat_view>
+ </stat_view>
+ </stat_view>
+ </container_view>
+ </scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_stats.xml b/indra/newview/skins/default/xui/pt/floater_stats.xml
index e117ea640f..ef3307f54a 100755
--- a/indra/newview/skins/default/xui/pt/floater_stats.xml
+++ b/indra/newview/skins/default/xui/pt/floater_stats.xml
@@ -4,18 +4,20 @@
<container_view name="statistics_view">
<stat_view label="Básico" name="basic">
<stat_bar label="FPS" name="fps"/>
- <stat_bar label="Bandwidth" name="bandwidth"/>
+ <stat_bar label="Dados de UDP recebidos" name="bandwidth"/>
<stat_bar label="Bandwidth" name="packet_loss"/>
<stat_bar label="Ping Sim" name="ping"/>
</stat_view>
<stat_view label="Avançado" name="advanced">
<stat_view label="Render" name="render">
- <stat_bar label="KTris desenhados por quadro" name="ktrisframe"/>
- <stat_bar label="KTris desenhados por segundo" name="ktrissec"/>
- <stat_bar label="Objetos totais" name="totalobjs"/>
- <stat_bar label="Objetos em cache" name="cachedobjs"/>
+ <stat_bar label="KTris por quadro" name="ktrisframe"/>
+ <stat_bar label="KTris por segundo" name="ktrissec"/>
+ <stat_bar label="Total Objects" name="objs"/>
<stat_bar label="New Objects" name="newobjs"/>
<stat_bar label="Taxa de acertos do cache do objeto" name="object_cache_hits"/>
+ <stat_bar label="Consultas de oclusão realizadas" name="occlusion_queries"/>
+ <stat_bar label="Objetos ocultos" name="occluded"/>
+ <stat_bar label="Objeto não oculto" name="unoccluded"/>
</stat_view>
<stat_view label="Texture" name="texture">
<stat_bar label="Taxa de acertos do cache" name="texture_cache_hits"/>
@@ -27,9 +29,32 @@
<stat_bar label="Raw Mem" name="rawmemstat"/>
<stat_bar label="Bound Mem" name="glboundmemstat"/>
</stat_view>
+ <stat_view label="Uso de memória" name="memory">
+ <stat_bar label="LLTrace" name="LLTrace"/>
+ <stat_bar label="Interface" name="LLView"/>
+ <stat_bar label="Fontes" name="LLFontFreetype"/>
+ <stat_bar label="Inventário" name="LLInventoryObject"/>
+ <stat_bar label="Objetos do visualizador" name="LLViewerObject"/>
+ <stat_bar label="Dados do grupo de octrees" name="LLViewerOctreeGroup"/>
+ <stat_bar label="Dados da octree" name="LLViewerOctreeEntry"/>
+ <stat_bar label="Cache de objetos do visualizador" name="LLVOCacheEntry"/>
+ <stat_bar label="Drawables" name="LLDrawable"/>
+ <stat_bar label="Dados do rosto" name="LLFace"/>
+ <stat_bar label="Informações de desenho" name="LLDrawInfo"/>
+ <stat_bar label="Dados de textura" name="LLTexture"/>
+ <stat_bar label="Dados de imagem" name="LLImage"/>
+ <stat_bar label="Dados de imagem do GL" name="LLImageGL"/>
+ <stat_bar label="Buffers do Vertex" name="LLVertexBuffer"/>
+ </stat_view>
<stat_view label="Rede" name="network">
<stat_bar label="Packets In" name="packetsinstat"/>
<stat_bar label="Packets Out" name="packetsoutstat"/>
+ <stat_bar label="Objetos" name="objectdatareceived"/>
+ <stat_bar label="Textura" name="texturedatareceived"/>
+ <stat_bar label="Asset" name="assetudpdatareceived"/>
+ <stat_bar label="Layers" name="layersdatareceived"/>
+ <stat_bar label="Actual In" name="messagedatain"/>
+ <stat_bar label="Actual Out" name="messagedataout"/>
<stat_bar label="Operações pendentes do VFS" name="vfspendingoperations"/>
</stat_view>
</stat_view>
@@ -48,7 +73,8 @@
<stat_bar label="Etapas de silhueta ignoradas" name="simsimskippedsilhouettesteps"/>
<stat_bar label="Personagens atualizados" name="simsimpctsteppedcharacters"/>
</stat_view>
- <stat_view label="Time (ms)" name="simperf">
+ <stat_bar label="Total de dados não reconhecidos" name="simtotalunackedbytes"/>
+ <stat_view label="Hora" name="simperf">
<stat_bar label="Total Frame Time" name="simframemsec"/>
<stat_bar label="Net Time" name="simnetmsec"/>
<stat_bar label="Physics Time" name="simsimphysicsmsec"/>
@@ -57,7 +83,7 @@
<stat_bar label="Images Time" name="simimagesmsec"/>
<stat_bar label="Script Time" name="simscriptmsec"/>
<stat_bar label="Tempo restante" name="simsparemsec"/>
- <stat_view label="Detalhes de tempo (ms)" name="timedetails">
+ <stat_view label="Detalhes de hora" name="timedetails">
<stat_bar label="Etapa física" name="simsimphysicsstepmsec"/>
<stat_bar label="Atualizar formas físicas" name="simsimphysicsshapeupdatemsec"/>
<stat_bar label="Física - outros" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml b/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml
index beba969b7e..f6211790a8 100755
--- a/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
<menu name="Avatar Icon Menu">
<menu_item_call label="Ver perfil" name="Show Profile"/>
<menu_item_call label="Enviar MI..." name="Send IM"/>
+ <menu_item_call label="Solicitar teletransporte" name="Request Teleport"/>
<menu_item_call label="Adicionar amigo..." name="Add Friend"/>
<menu_item_call label="Remover amigo..." name="Remove Friend"/>
</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_inventory.xml b/indra/newview/skins/default/xui/pt/menu_inventory.xml
index a3a648eb34..636b356c8b 100755
--- a/indra/newview/skins/default/xui/pt/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/pt/menu_inventory.xml
@@ -70,6 +70,7 @@
<menu_item_call label="Executar som" name="Sound Play"/>
<menu_item_call label="Copiar SLurl" name="url_copy"/>
<menu_item_call label="Sobre o marco" name="About Landmark"/>
+ <menu_item_call label="Mostrar no mapa" name="show_on_map"/>
<menu_item_call label="Executar animação" name="Animation Play"/>
<menu_item_call label="Executar áudio" name="Animation Audition"/>
<menu_item_call label="Mandar MI" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_login.xml b/indra/newview/skins/default/xui/pt/menu_login.xml
index cd840f3137..29dae6292a 100755
--- a/indra/newview/skins/default/xui/pt/menu_login.xml
+++ b/indra/newview/skins/default/xui/pt/menu_login.xml
@@ -5,7 +5,15 @@
<menu_item_call label="Sair do [APP_NAME]" name="Quit"/>
</menu>
<menu label="Ajuda" name="Help">
- <menu_item_call label="Ajuda do [SECOND_LIFE]" name="Second Life Help"/>
+ <menu_item_call label="Como..." name="How To"/>
+ <menu_item_call label="Início rápido" name="Quickstart"/>
+ <menu_item_call label="Base de conhecimento" name="Knowledge Base"/>
+ <menu_item_call label="Wiki" name="Wiki"/>
+ <menu_item_call label="Fóruns da comunidade" name="Community Forums"/>
+ <menu_item_call label="Portal de suporte" name="Support portal"/>
+ <menu_item_call label="Notícias do [SECOND_LIFE]" name="Second Life News"/>
+ <menu_item_call label="Blogs do [SECOND_LIFE]" name="Second Life Blogs"/>
+ <menu_item_call label="Relatar bug" name="Report Bug"/>
<menu_item_call label="Sobre [APP_NAME]" name="About Second Life"/>
</menu>
<menu_item_check label="Exibir menu de depuração" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml
index ec1e7a0950..3a2b3a8847 100755
--- a/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
<context_menu name="Teleport History Item Context Menu">
<menu_item_call label="Teletransportar" name="Teleport"/>
<menu_item_call label="Mais informações" name="More Information"/>
- <menu_item_call label="Copiar" name="CopyToClipboard"/>
+ <menu_item_call label="Copiar SLurl" name="CopyToClipboard"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_viewer.xml b/indra/newview/skins/default/xui/pt/menu_viewer.xml
index 90fe77cd4c..d106c47c64 100755
--- a/indra/newview/skins/default/xui/pt/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/pt/menu_viewer.xml
@@ -36,9 +36,6 @@
<menu_item_check label="Bate-papo local..." name="Nearby Chat"/>
<menu_item_check label="Falar" name="Speak"/>
<menu_item_check label="Registro de conversas..." name="Conversation Log..."/>
- <menu_item_call label="Facebook..." name="Facebook"/>
- <menu_item_call label="Twitter..." name="Twitter"/>
- <menu_item_call label="Flickr..." name="Flickr"/>
<menu label="Distorção de voz" name="VoiceMorphing">
<menu_item_check label="Não distorcer voz" name="NoVoiceMorphing"/>
<menu_item_check label="Visualizar..." name="Preview"/>
@@ -153,8 +150,7 @@
<menu_item_check label="Encaixar em grade" name="Snap to Grid"/>
<menu_item_call label="Encaixar objeto XY em grade" name="Snap Object XY to Grid"/>
<menu_item_call label="Usar seleção em grade" name="Use Selection for Grid"/>
- <menu_item_call label="Opções de grade..." name="Grid Options"/>
- <menu_item_call label="Definir permissões padrão..." name="Set default permissions"/>
+ <menu_item_call label="Opções de grade" name="Grid Options"/>
</menu>
<menu label="Upload" name="Upload">
<menu_item_call label="Imagem (L$[COST])..." name="Upload Image"/>
@@ -162,6 +158,7 @@
<menu_item_call label="Animação (L$[COST])..." name="Upload Animation"/>
<menu_item_call label="Modelar..." name="Upload Model"/>
<menu_item_call label="Volume (L$[COST] por arquivo)..." name="Bulk Upload"/>
+ <menu_item_call label="Autorizações de upload padrão" name="perm prefs"/>
</menu>
<menu_item_call label="Desfazer" name="Undo"/>
<menu_item_call label="Repetir" name="Redo"/>
@@ -189,6 +186,7 @@
<menu label="Ferramentas de desempenho" name="Performance Tools">
<menu_item_call label="Medidor de lag" name="Lag Meter"/>
<menu_item_check label="Barra de estatísticas" name="Statistics Bar"/>
+ <menu_item_call label="Estatísticas de carregamento de cena" name="Scene Load Statistics"/>
<menu_item_check label="Mostrar peso do desenho para avatares" name="Avatar Rendering Cost"/>
</menu>
<menu label="Realces e visibilidade" name="Highlighting and Visibility">
@@ -250,6 +248,7 @@
<menu_item_check label="Tempos" name="Fast Timers"/>
<menu_item_check label="Memória" name="Memory"/>
<menu_item_check label="Estatísticas da cena" name="Scene Statistics"/>
+ <menu_item_check label="Monitor de carregamento de cena" name="Scene Loading Monitor"/>
<menu_item_call label="Painel de depuração de obtenção de textura" name="Texture Fetch Debug Console"/>
<menu_item_call label="Region Info to Debug Console" name="Region Info to Debug Console"/>
<menu_item_check label="Câmera:" name="Camera"/>
@@ -281,6 +280,7 @@
<menu_item_check label="Taxa de quadros aleatória" name="Randomize Framerate"/>
<menu_item_check label="Frame Test" name="Frame Test"/>
<menu_item_call label="Perfil do quadro" name="Frame Profile"/>
+ <menu_item_call label="Benchmark" name="Benchmark"/>
</menu>
<menu label="Render Metadata" name="Render Metadata">
<menu_item_check label="Normais" name="Normals"/>
@@ -288,7 +288,7 @@
<menu_item_check label="Tipo de atualização" name="Update Type"/>
<menu_item_check label="Dados LOD" name="LOD Info"/>
<menu_item_check label="Fila de construção" name="Build Queue"/>
- <menu_item_check label="Partículas" name="Particles"/>
+ <menu_item_check label="Junções" name="Joints"/>
<menu_item_check label="Vetores de vento" name="Wind Vectors"/>
<menu_item_check label="Renderizar complexidade" name="rendercomplexity"/>
<menu_item_check label="Bytes do anexo" name="attachment bytes"/>
@@ -314,6 +314,7 @@
<menu_item_check label="Render Attached Lights" name="Render Attached Lights"/>
<menu_item_check label="Render Attached Particles" name="Render Attached Particles"/>
<menu_item_check label="Objetos iridescentes" name="Hover Glow Objects"/>
+ <menu_item_call label="Limpar cache imediatamente" name="Cache Clear"/>
</menu>
<menu label="Rede" name="Network">
<menu_item_check label="Pausar avatar" name="AgentPause"/>
diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml
index deb6acd94f..4e6b0765cb 100755
--- a/indra/newview/skins/default/xui/pt/notifications.xml
+++ b/indra/newview/skins/default/xui/pt/notifications.xml
@@ -113,15 +113,15 @@ Consulte o [[MARKETPLACE_IMPORTS_URL] log de erros] para mais informações.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="OutboxImportFailed">
- Falha de transferência
+ Falha na transferência com o erro &apos;[ERROR_CODE]&apos;
-Nenhuma pasta enviada para o Mercado devido a um erro do sistema ou da rede. Tente novamente mais tarde.
+Nenhuma pasta foi enviada ao Marketplace devido a um erro do sistema ou da rede. Tente novamente mais tarde.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="OutboxInitFailed">
- Falha na inicialização do Mercado
+ Falha na inicialização do Marketplace com o erro &apos;[ERROR_CODE]&apos;
-Falha na inicialização do mercado devido a um erro do sistema ou da rede. Tente novamente mais tarde.
+Ocorreu uma falha na inicialização do Marketplace devido a um erro do sistema ou da rede. Tente novamente mais tarde.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="CompileQueueSaveText">
@@ -209,22 +209,6 @@ Qualquer membro numa função com esta habilidade, pode atribuir a sí mesmo --
Adicionar esta habilidade a &apos;[ROLE_NAME]&apos;?
<usetemplate name="okcancelbuttons" notext="Não" yestext="Sim"/>
</notification>
- <notification name="AssignBanAbilityWarning">
- Você está prestes a adicionar a função &apos;[ACTION_NAME]&apos; ao cargo &apos;[ROLE_NAME]&apos;.
-
- *AVISO*
-Qualquer membro em um cargo com essa função também terá as funções &apos;[ACTION_NAME_2]&apos; e &apos;[ACTION_NAME_3]&apos;
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
- <notification name="RemoveBanAbilityWarning">
- Você está removendo a função &apos;[ACTION_NAME]&apos; do cargo &apos;[ROLE_NAME]&apos;.
-
- *AVISO*
-Remover essa função NÃO removerá as funções &apos;[ACTION_NAME_2]&apos; e &apos;[ACTION_NAME_3]&apos;.
-
-Se você não quiser que essas funções sejam concedidas a esse cargo, desative-as imediatamente.
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
<notification name="EjectGroupMemberWarning">
Você está prestes a expulsar [AVATAR_NAME] do grupo.
<usetemplate ignoretext="Confirmar expulsão de um participante do grupo" name="okcancelignore" notext="Cancelar" yestext="Expulsar"/>
@@ -1586,14 +1570,6 @@ consulte a informação [[INFO_URL] sobre essa atualização]
Não foi possível deixar o grupo. Você não pode deixar o grupo pois é o último proprietário dele. Primeiramente, atribua outro membro à função de proprietário.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
- <notification name="GroupDepartError">
- Não foi possível deixar o grupo: [reason].
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
- <notification name="GroupDepart">
- Você deixou o grupo [group_name].
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
<notification name="ConfirmKick">
Tem CERTEZA de que deseja expulsar todos os residentes do grid?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Chutar todos"/>
@@ -1746,6 +1722,10 @@ Por favor volte mais tarde.
Tem certeza de quer ser teletransportado para &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
<usetemplate ignoretext="Confirmar se eu quero ser teletransportado para marcos" name="okcancelignore" notext="Cancelar" yestext="Teletransportar"/>
</notification>
+ <notification name="TeleportViaSLAPP">
+ Tem certeza de quer ser teletransportado para &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
+ <usetemplate ignoretext="Confirmo que desejo me teleportar via SLAPP" name="okcancelignore" notext="Cancelar" yestext="Teletransportar"/>
+ </notification>
<notification name="TeleportToPick">
Teletransportar para [PICK]?
<usetemplate ignoretext="Confirmar se eu quero ser teletransportado para Destaques" name="okcancelignore" notext="Cancelar" yestext="Teletransportar"/>
@@ -1956,6 +1936,9 @@ Isto mudará milhares de regiões e fará o spaceserver soluçar.
<notification name="ProblemAddingEstateManager">
Problemas em adicionar um novo gerente da propriedade. Uma ou mais propriedades podem ter uma lista de gerentes cheia.
</notification>
+ <notification name="ProblemAddingEstateBanManager">
+ Não é possível adicionar proprietários ou gerentes de terreno à lista de bloqueio.
+ </notification>
<notification name="ProblemAddingEstateGeneric">
Problemas em adicionar a esta lista de propriedades. Uma ou mais propriedades podem ter uma lista cheia.
</notification>
@@ -2468,12 +2451,6 @@ Selecione só um objeto.
<notification name="SystemMessage">
[MESSAGE]
</notification>
- <notification name="FlickrConnect">
- [MESSAGE]
- </notification>
- <notification name="TwitterConnect">
- [MESSAGE]
- </notification>
<notification name="PaymentReceived">
[MESSAGE]
</notification>
@@ -3042,19 +3019,25 @@ Mais detalhes no log.
Não foi possível obter o recurso &apos;[CAPABILITY]&apos; da região.
</notification>
<notification name="ShareItemsConfirmation">
- Tem certeza de que quer compartilhar os itens abaixo?
+ Tem certeza de que deseja compartilhar os itens abaixo?
&lt;nolink&gt;[ITEMS]&lt;/nolink&gt;
Com os seguintes residentes:
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
</notification>
<notification name="ShareFolderConfirmation">
- Apenas uma pasta pode ser compartilhada por vez.
+ É possível compartilhar apenas uma pasta de cada vez.
-Tem certeza de que quer compartilhar os itens abaixo?
+Tem certeza de que deseja compartilhar os itens abaixo?
+
+&lt;nolink&gt;[ITEMS]&lt;/nolink&gt;
+
+Com os seguintes residentes:
+
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
</notification>
<notification name="ItemsShared">
@@ -3697,6 +3680,9 @@ Tente novamente em instantes.
<notification name="LinkFailedTooMuchPhysics">
O objeto usa muitos recursos físicos – sua dinâmica foi desativada.
</notification>
+ <notification name="EstateManagerFailedllTeleportHome">
+ O objeto &apos;[OBJECT_NAME]&apos; em [SLURL] não pode teleportar gerentes de terreno de volta para casa.
+ </notification>
<notification name="TeleportedHomeByObjectOnParcel">
Você foi teletransportado para seu início pelo objeto &apos;[OBJECT_NAME]&apos; no lote &apos;[PARCEL_NAME]&apos;
</notification>
@@ -3887,13 +3873,18 @@ Tente novamente em instantes.
Não há lotes alugados suficientes na seleção para reunir.
</notification>
<notification name="CantDivideLandMultipleParcelsSelected">
- Não é possível dividir o terreno.\nHá mais de um lote selecionado.\nTente selecionar um pedaço menor de terreno.
+ Não é possível dividir o terreno.
+Mais de um lote foi selecionado.
+Tente selecionar uma quantidade menor de terreno.
</notification>
<notification name="CantDivideLandCantFindParcel">
- Não é possível dividir o terreno.\nNão é possível encontrar o lote.\nComunique isso em Ajuda -&gt; Relatar bug...
+ Não é possível dividir o terreno.
+Não é possível encontrar o lote.
+Reporte em Ajuda -&gt; Relatar bug...
</notification>
<notification name="CantDivideLandWholeParcelSelected">
- Não é possível dividir o terreno. O lote inteiro está selecionado.\nTente selecionar um pedaço menor do terreno.
+ Não é possível dividir o terreno. Todo o lote foi selecionado.
+Tente selecionar uma quantidade menor de terreno.
</notification>
<notification name="LandHasBeenDivided">
O terreno foi dividido.
@@ -4033,8 +4024,8 @@ Tente novamente em instantes.
Não foi possível mover arquivos. Caminho anterior restaurado.
<usetemplate ignoretext="Não foi possível mover arquivos. Caminho anterior restaurado." name="okignore" yestext="OK"/>
</notification>
- <notification name="DefaultObjectPermissions">
- Ocorreu um problema ao salvar as permissões padrão devido ao seguinte motivo: [REASON]. Tente definir as permissões padrão mais tarde.
+ <notification name="ChatHistoryIsBusyAlert">
+ O arquivo de histórico de bate-papo está ocupado com uma operação anterior. Tente novamente em alguns minutos ou selecione outra pessoa para bater papo.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml
index 30c825723b..7d8531a482 100755
--- a/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
<layout_panel name="group_accordions">
<accordion name="groups_accordion">
<accordion_tab name="group_general_tab" title="Geral"/>
- <accordion_tab name="group_roles_tab" title="Cargos"/>
+ <accordion_tab name="group_roles_tab" title="Funções e membros"/>
<accordion_tab name="group_notices_tab" title="Avisos"/>
<accordion_tab name="group_land_tab" title="Terrenos/Bens"/>
</accordion>
diff --git a/indra/newview/skins/default/xui/pt/panel_group_roles.xml b/indra/newview/skins/default/xui/pt/panel_group_roles.xml
index 4af2041c0c..162c4743ec 100755
--- a/indra/newview/skins/default/xui/pt/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/pt/panel_group_roles.xml
@@ -19,6 +19,7 @@
<name_list.columns label="Membro" name="name"/>
<name_list.columns label="Doações" name="donated"/>
<name_list.columns label="Status" name="online"/>
+ <name_list.columns label="Título" name="title"/>
</name_list>
<button label="Convidar" name="member_invite"/>
<button label="Ejetar" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_region_debug.xml b/indra/newview/skins/default/xui/pt/panel_region_debug.xml
index be15d40d74..9070563fd0 100755
--- a/indra/newview/skins/default/xui/pt/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/pt/panel_region_debug.xml
@@ -7,11 +7,8 @@
desconhecido
</text>
<check_box label="Desativar scripts" name="disable_scripts_check" tool_tip="Desativar todos os scripts nesta região"/>
- <button label="?" name="disable_scripts_help"/>
<check_box label="Desativar colisões" name="disable_collisions_check" tool_tip="Desabilitar colisões de não-avatares nessa região"/>
- <button label="?" name="disable_collisions_help"/>
<check_box label="Desativar física" name="disable_physics_check" tool_tip="Desativar toda a físíca nesta região"/>
- <button label="?" name="disable_physics_help"/>
<button label="Aplicar" name="apply_btn"/>
<text name="objret_text_lbl" width="130">
Devolver objeto
@@ -31,10 +28,8 @@
<check_box label="Em todas as regiões desta propriedade" name="return_estate_wide" tool_tip="Devolver objetos em todas as regiões que constituem esta propriedade"/>
<button label="Devolver" name="return_btn"/>
<button label="Principais colidentes..." name="top_colliders_btn" tool_tip="Lista dos objetos com maior potencial de colisão" width="280"/>
- <button label="?" left="297" name="top_colliders_help"/>
- <button label="Principais scripts..." name="top_scripts_btn" tool_tip="Lista de objetos que mais passam tempo executando scripts" width="280"/>
- <button label="?" left="297" name="top_scripts_help"/>
<button label="Reiniciar a região" name="restart_btn" tool_tip="Após 2 minutos de contagem regressiva, reiniciar a região"/>
- <button label="?" name="restart_help"/>
+ <button label="Principais scripts..." name="top_scripts_btn" tool_tip="Lista de objetos que mais passam tempo executando scripts" width="280"/>
<button label="Cancelar reinício" name="cancel_restart_btn" tool_tip="Cancelar reinício da região"/>
+ <button label="Console de depuração de região" name="region_debug_console_btn" tool_tip="Abrir console de depuração de região"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_region_general.xml b/indra/newview/skins/default/xui/pt/panel_region_general.xml
index 4be1cd11c0..a0d4579a04 100755
--- a/indra/newview/skins/default/xui/pt/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/pt/panel_region_general.xml
@@ -20,12 +20,12 @@
</text>
<check_box label="Bloquear terraplenagem" name="block_terraform_check"/>
<check_box label="Bloquear voos" name="block_fly_check"/>
+ <check_box label="Bloquear sobrevoo no terreno" name="block_fly_over_check" tool_tip="Estender verificações de acesso para cima para evitar que voem sobre um terreno"/>
<check_box label="Permitir dano" name="allow_damage_check"/>
<check_box label="Restringir empurrões" name="restrict_pushobject"/>
<check_box label="Permitir revenda do terreno" name="allow_land_resell_check"/>
<check_box label="Permitir junção/divisão do terreno" name="allow_parcel_changes_check"/>
<check_box label="Bloquear exibição do terreno na busca" name="block_parcel_search_check" tool_tip="Permitir que as pessoas vejam esta região e seus lotes nos resultados de busca"/>
- <check_box label="Permitir objetos mesh" name="mesh_rez_enabled_check" tool_tip="Permitir que que outras pessoas renderizem objectos mesh nessa região"/>
<spinner label="Limite do agente" name="agent_limit_spin"/>
<spinner label="Bônus de objetos" name="object_bonus_spin"/>
<text label="Maturidade" name="access_text">
diff --git a/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml b/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml
index c44345323f..4747d14101 100755
--- a/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml
@@ -33,7 +33,7 @@
<layout_panel name="shop_btn_lp">
<button label="Comprar" name="shop_btn" tool_tip="Abrir página do Marketplace"/>
<button label="Vestir" name="wear_btn" tool_tip="Vestir visual selecionado"/>
- <button label="Tocar" name="play_btn"/>
+ <button label="Jogar" name="play_btn"/>
<button label="Teletransportar" name="teleport_btn" tool_tip="Teletransportar para a área selecionada"/>
</layout_panel>
</layout_stack>
diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml
index 5414baaff2..577143b0dc 100755
--- a/indra/newview/skins/default/xui/pt/strings.xml
+++ b/indra/newview/skins/default/xui/pt/strings.xml
@@ -28,6 +28,45 @@
<string name="StartupRequireDriverUpdate">
Falha na inicialização dos gráficos. Atualize seu driver gráfico!
</string>
+ <string name="AboutHeader">
+ [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [Notas da versão]]
+ </string>
+ <string name="AboutCompiler">
+ Construído com [COMPILER] versão [COMPILER_VERSION]
+ </string>
+ <string name="AboutPosition">
+ Você está em [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] em [REGION] localizado em &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
+SLURL: &lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(coordenadas globais [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+ </string>
+ <string name="AboutSystem">
+ CPU: [CPU]
+Memória: [MEMORY_MB] MBs
+Versão OS: [OS_VERSION]
+Placa de vídeo: [GRAPHICS_CARD_VENDOR]
+Placa gráfica: [GRAPHICS_CARD]
+ </string>
+ <string name="AboutDriver">
+ Versão do driver de vídeo Windows: [GRAPHICS_CARD_VENDOR]
+ </string>
+ <string name="AboutLibs">
+ Versão OpenGL: [OPENGL_VERSION]
+
+Versão libcurl: [LIBCURL_VERSION]
+Versão J2C Decoder: [J2C_VERSION]
+Versão do driver de áudio: [AUDIO_DRIVER_VERSION]
+Versão Qt Webkit: [QT_WEBKIT_VERSION]
+Versão do servidor de voz: [VOICE_VERSION]
+ </string>
+ <string name="AboutTraffic">
+ Packets Lost: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+ </string>
+ <string name="ErrorFetchingServerReleaseNotesURL">
+ Erro ao obter URL de notas de versão do servidor.
+ </string>
<string name="ProgressRestoring">
Restaurando...
</string>
@@ -1320,6 +1359,18 @@ Pessoas com contas gratuitas não poderão acessar o Second Life no momento para
<string name="InventoryOutboxNoItems">
Arraste as pastas para estas áreas e então clique em &quot;Enviar para Mercado&quot; para listar os itens para venda no [[MARKETPLACE_DASHBOARD_URL] Mercado].
</string>
+ <string name="InventoryOutboxInitializingTitle">
+ Inicializando o Marketplace.
+ </string>
+ <string name="InventoryOutboxInitializing">
+ Estamos acessando sua conta na [loja [MARKETPLACE_CREATE_STORE_URL] do Marketplace].
+ </string>
+ <string name="InventoryOutboxErrorTitle">
+ Erros do Marketplace.
+ </string>
+ <string name="InventoryOutboxError">
+ A loja [[MARKETPLACE_CREATE_STORE_URL] no Marketplace] está retornando erros.
+ </string>
<string name="Marketplace Error None">
Sem erros
</string>
@@ -1744,6 +1795,9 @@ Pessoas com contas gratuitas não poderão acessar o Second Life no momento para
<string name="CompileQueueDownloadedCompiling">
Baixado, agora compilando
</string>
+ <string name="CompileQueueServiceUnavailable">
+ Serviço de compilação de scripts não disponível
+ </string>
<string name="CompileQueueScriptNotFound">
Script não encontrado no servidor.
</string>
diff --git a/indra/newview/skins/default/xui/ru/floater_lagmeter.xml b/indra/newview/skins/default/xui/ru/floater_lagmeter.xml
new file mode 100644
index 0000000000..c420006a03
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="УРОВЕНЬ ЛАГОВ">
+ <floater.string name="max_title_msg">
+ Уровень лагов
+ </floater.string>
+ <floater.string name="max_width_px">
+ 360
+ </floater.string>
+ <floater.string name="min_title_msg">
+ Лаг
+ </floater.string>
+ <floater.string name="min_width_px">
+ 90
+ </floater.string>
+ <floater.string name="client_text_msg">
+ Клиент
+ </floater.string>
+ <floater.string name="client_frame_rate_critical_fps">
+ 10
+ </floater.string>
+ <floater.string name="client_frame_rate_warning_fps">
+ 15
+ </floater.string>
+ <floater.string name="client_frame_time_window_bg_msg">
+ Нормально, окно в фоне
+ </floater.string>
+ <floater.string name="client_frame_time_critical_msg">
+ Частота кадров клиента ниже [CLIENT_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="client_frame_time_warning_msg">
+ Частота кадров клиента от [CLIENT_FRAME_RATE_CRITICAL] до [CLIENT_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="client_frame_time_normal_msg">
+ Нормально
+ </floater.string>
+ <floater.string name="client_draw_distance_cause_msg">
+ Возможная причина: дальность отрисовки слишком велика
+ </floater.string>
+ <floater.string name="client_texture_loading_cause_msg">
+ Возможная причина: загрузка изображений
+ </floater.string>
+ <floater.string name="client_texture_memory_cause_msg">
+ Возможная причина: слишком много изображений в памяти
+ </floater.string>
+ <floater.string name="client_complex_objects_cause_msg">
+ Возможная причина: слишком много сложных объектов в сцене
+ </floater.string>
+ <floater.string name="network_text_msg">
+ Сеть
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_pct">
+ 10
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_pct">
+ 5
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_msg">
+ Сеть теряет более [NETWORK_PACKET_LOSS_CRITICAL]% пакетов
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_msg">
+ Сеть теряет [NETWORK_PACKET_LOSS_WARNING]–[NETWORK_PACKET_LOSS_CRITICAL]% пакетов
+ </floater.string>
+ <floater.string name="network_performance_normal_msg">
+ Нормально
+ </floater.string>
+ <floater.string name="network_ping_critical_ms">
+ 600
+ </floater.string>
+ <floater.string name="network_ping_warning_ms">
+ 300
+ </floater.string>
+ <floater.string name="network_ping_critical_msg">
+ Пинг соединения более [NETWORK_PING_CRITICAL] мс
+ </floater.string>
+ <floater.string name="network_ping_warning_msg">
+ Пинг соединения [NETWORK_PING_WARNING]–[NETWORK_PING_CRITICAL] мс
+ </floater.string>
+ <floater.string name="network_packet_loss_cause_msg">
+ Возможно, плохое соединение, или параметр «Ширина канала» слишком велик.
+ </floater.string>
+ <floater.string name="network_ping_cause_msg">
+ Возможно, плохое соединение или есть работающие файлообменные программы.
+ </floater.string>
+ <floater.string name="server_text_msg">
+ Сервер
+ </floater.string>
+ <floater.string name="server_frame_rate_critical_fps">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_rate_warning_fps">
+ 30
+ </floater.string>
+ <floater.string name="server_single_process_max_time_ms">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_time_critical_msg">
+ Частота кадров сервера ниже [SERVER_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="server_frame_time_warning_msg">
+ Частота кадров сервера [SERVER_FRAME_RATE_CRITICAL]–[SERVER_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="server_frame_time_normal_msg">
+ Нормально
+ </floater.string>
+ <floater.string name="server_physics_cause_msg">
+ Возможная причина: слишком много физических объектов
+ </floater.string>
+ <floater.string name="server_scripts_cause_msg">
+ Возможная причина: слишком много скриптовых объектов
+ </floater.string>
+ <floater.string name="server_net_cause_msg">
+ Возможная причина: слишком большой сетевой трафик
+ </floater.string>
+ <floater.string name="server_agent_cause_msg">
+ Возможная причина: слишком много людей в регионе
+ </floater.string>
+ <floater.string name="server_images_cause_msg">
+ Возможная причина: слишком много изображений
+ </floater.string>
+ <floater.string name="server_generic_cause_msg">
+ Возможная причина: сервер сильно загружен
+ </floater.string>
+ <floater.string name="smaller_label">
+ &gt;&gt;
+ </floater.string>
+ <floater.string name="bigger_label">
+ &lt;&lt;
+ </floater.string>
+ <button name="client_lagmeter" tool_tip="Уровень лагов клиента"/>
+ <text name="client">
+ Клиент
+ </text>
+ <text name="client_text">
+ Нормально
+ </text>
+ <button name="network_lagmeter" tool_tip="Уровень лагов сети"/>
+ <text name="network">
+ Сеть
+ </text>
+ <text name="network_text">
+ Нормально
+ </text>
+ <button name="server_lagmeter" tool_tip="Уровень лагов сервера"/>
+ <text name="server">
+ Сервер
+ </text>
+ <text name="server_text">
+ Нормально
+ </text>
+ <button label="&gt;&gt;" name="minimize" tool_tip="Переключение размера"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_region_restarting.xml b/indra/newview/skins/default/xui/ru/floater_region_restarting.xml
new file mode 100644
index 0000000000..1b4c0e33dc
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="ПЕРЕЗАПУСК РЕГИОНА">
+ <string name="RegionName">
+ Регион, в котором вы находитесь ([NAME]), будет перезапущен.
+
+Если вы останетесь в этом регионе, вы выйдете из системы.
+ </string>
+ <string name="RestartSeconds">
+ Секунд до перезапуска
+[SECONDS]
+ </string>
+ <panel name="layout_panel_1">
+ <text name="region_name">
+ Регион, в котором вы находитесь (-длинное название региона-), будет перезапущен.
+
+Если вы останетесь в этом регионе, вы выйдете из системы.
+ </text>
+ <text name="restart_seconds">
+ Секунд до перезапуска
+ 32767
+ </text>
+ </panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/ru/floater_scene_load_stats.xml
new file mode 100644
index 0000000000..a101e62627
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="СТАТИСТИКА ЗАГРУЗКИ СЦЕН">
+ <button label="Пауза" name="playpause"/>
+ <scroll_container name="statistics_scroll">
+ <container_view name="statistics_view">
+ <stat_view label="Основной" name="basic">
+ <stat_bar label="Разница в пикселах на кадр" name="frame difference"/>
+ <stat_bar label="Получены данные UDP" name="bandwidth"/>
+ <stat_bar label="Потери пакетов" name="packet_loss"/>
+ </stat_view>
+ <stat_view label="Расширенный" name="advanced">
+ <stat_view label="Отрисовка" name="render">
+ <stat_bar label="Всего объектов" name="objs"/>
+ <stat_bar label="Новых объектов" name="newobjs"/>
+ <stat_bar label="Частота попаданий в кэш объектов" name="object_cache_hits"/>
+ </stat_view>
+ <stat_view label="Текстура" name="texture">
+ <stat_bar label="Частота попаданий в кэш" name="texture_cache_hits"/>
+ <stat_bar label="Задержка чтения кэша" name="texture_cache_read_latency"/>
+ <stat_bar label="Кол-во" name="numimagesstat"/>
+ <stat_bar label="Необраб. изображений" name="numrawimagesstat"/>
+ </stat_view>
+ <stat_view label="Сеть" name="network">
+ <stat_bar label="Входящие пакеты" name="packetsinstat"/>
+ <stat_bar label="Исходящие пакеты" name="packetsoutstat"/>
+ <stat_bar label="Объекты" name="objectdatareceived"/>
+ <stat_bar label="Текстура" name="texturedatareceived"/>
+ <stat_bar label="Актив" name="assetudpdatareceived"/>
+ <stat_bar label="Слои" name="layersdatareceived"/>
+ <stat_bar label="Действительный ввод" name="messagedatain"/>
+ <stat_bar label="Действительный вывод" name="messagedataout"/>
+ <stat_bar label="Ожидающие операции VFS" name="vfspendingoperations"/>
+ </stat_view>
+ </stat_view>
+ <stat_view label="Симулятор" name="sim">
+ <stat_bar label="Объекты" name="simobjects"/>
+ <stat_bar label="Активные объекты" name="simactiveobjects"/>
+ <stat_bar label="Активные скрипты" name="simactivescripts"/>
+ <stat_bar label="Входящие пакеты" name="siminpps"/>
+ <stat_bar label="Исходящие пакеты" name="simoutpps"/>
+ <stat_bar label="Отложенные загрузки" name="simpendingdownloads"/>
+ <stat_bar label="Отложенные передачи" name="simpendinguploads"/>
+ <stat_bar label="Общий нераспакованный объем (байт)" name="simtotalunackedbytes"/>
+ <stat_view label="Время (мс)" name="simperf">
+ <stat_bar label="Общее время кадра" name="simframemsec"/>
+ <stat_bar label="Чистое время" name="simnetmsec"/>
+ <stat_bar label="Время на физику" name="simsimphysicsmsec"/>
+ <stat_bar label="Время на симуляцию" name="simsimothermsec"/>
+ <stat_bar label="Время на клиент" name="simagentmsec"/>
+ <stat_bar label="Время на изображения" name="simimagesmsec"/>
+ <stat_bar label="Время на скрипт" name="simscriptmsec"/>
+ <stat_bar label="Резервное время" name="simsparemsec"/>
+ <stat_view label="Данные времени (мс)" name="timedetails">
+ <stat_bar label="Шаг физики" name="simsimphysicsstepmsec"/>
+ <stat_bar label="Обновить физ. формы" name="simsimphysicsshapeupdatemsec"/>
+ <stat_bar label="Физика - прочее" name="simsimphysicsothermsec"/>
+ <stat_bar label="Время сна" name="simsleepmsec"/>
+ <stat_bar label="Время ввода/вывода" name="simpumpiomsec"/>
+ </stat_view>
+ </stat_view>
+ </stat_view>
+ </container_view>
+ </scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_stats.xml b/indra/newview/skins/default/xui/ru/floater_stats.xml
index b8dddd3a63..33a14adca9 100755
--- a/indra/newview/skins/default/xui/ru/floater_stats.xml
+++ b/indra/newview/skins/default/xui/ru/floater_stats.xml
@@ -4,7 +4,7 @@
<container_view name="statistics_view">
<stat_view label="Базовая" name="basic">
<stat_bar label="Кадров/с" name="fps"/>
- <stat_bar label="Ширина канала" name="bandwidth"/>
+ <stat_bar label="Получены данные UDP" name="bandwidth"/>
<stat_bar label="Потери пакетов" name="packet_loss"/>
<stat_bar label="Пинг" name="ping"/>
</stat_view>
@@ -12,10 +12,12 @@
<stat_view label="Отрисовка" name="render">
<stat_bar label="Треугольников на кадр" name="ktrisframe"/>
<stat_bar label="Треугольников в секунду" name="ktrissec"/>
- <stat_bar label="Всего объектов" name="totalobjs"/>
- <stat_bar label="Кэшированных объектов" name="cachedobjs"/>
+ <stat_bar label="Всего объектов" name="objs"/>
<stat_bar label="Новых объектов" name="newobjs"/>
<stat_bar label="Частота попаданий в кэш объектов" name="object_cache_hits"/>
+ <stat_bar label="Выполненные запросы на смыкание" name="occlusion_queries"/>
+ <stat_bar label="Объекты сомкнуты" name="occluded"/>
+ <stat_bar label="Объект разомкнут" name="unoccluded"/>
</stat_view>
<stat_view label="Текстура" name="texture">
<stat_bar label="Частота попаданий в кэш" name="texture_cache_hits"/>
@@ -27,9 +29,32 @@
<stat_bar label="Неформатированная память" name="rawmemstat"/>
<stat_bar label="Ограничение памяти" name="glboundmemstat"/>
</stat_view>
+ <stat_view label="Использование памяти" name="memory">
+ <stat_bar label="LLTrace" name="LLTrace"/>
+ <stat_bar label="Интерфейс пользователя" name="LLView"/>
+ <stat_bar label="Шрифты" name="LLFontFreetype"/>
+ <stat_bar label="Инвентарь" name="LLInventoryObject"/>
+ <stat_bar label="Объекты клиента" name="LLViewerObject"/>
+ <stat_bar label="Данные группы октадеревьев" name="LLViewerOctreeGroup"/>
+ <stat_bar label="Данные октадерева" name="LLViewerOctreeEntry"/>
+ <stat_bar label="Кэш объектов клиента" name="LLVOCacheEntry"/>
+ <stat_bar label="Рисуемые предметы" name="LLDrawable"/>
+ <stat_bar label="Данные лица" name="LLFace"/>
+ <stat_bar label="Информация отрисовки" name="LLDrawInfo"/>
+ <stat_bar label="Данные текстуры" name="LLTexture"/>
+ <stat_bar label="Данные изображения" name="LLImage"/>
+ <stat_bar label="Данные изображения GL" name="LLImageGL"/>
+ <stat_bar label="Вершинные буферы" name="LLVertexBuffer"/>
+ </stat_view>
<stat_view label="Сеть" name="network">
<stat_bar label="Входящие пакеты" name="packetsinstat"/>
<stat_bar label="Исходящие пакеты" name="packetsoutstat"/>
+ <stat_bar label="Объекты" name="objectdatareceived"/>
+ <stat_bar label="Текстура" name="texturedatareceived"/>
+ <stat_bar label="Актив" name="assetudpdatareceived"/>
+ <stat_bar label="Слои" name="layersdatareceived"/>
+ <stat_bar label="Действительный ввод" name="messagedatain"/>
+ <stat_bar label="Действительный вывод" name="messagedataout"/>
<stat_bar label="Ожидающие операции VFS" name="vfspendingoperations"/>
</stat_view>
</stat_view>
@@ -59,8 +84,8 @@
<stat_bar label="Исходящие пакеты" name="simoutpps"/>
<stat_bar label="Отложенные загрузки" name="simpendingdownloads"/>
<stat_bar label="Отложенные передачи" name="simpendinguploads"/>
- <stat_bar label="Общий нераспакованный объем (байт)" name="simtotalunackedbytes"/>
- <stat_view label="Время (мс)" name="simperf">
+ <stat_bar label="Общий неподтвержденный объем" name="simtotalunackedbytes"/>
+ <stat_view label="Время" name="simperf">
<stat_bar label="Общее время кадра" name="simframemsec"/>
<stat_bar label="Чистое время" name="simnetmsec"/>
<stat_bar label="Время на физику" name="simsimphysicsmsec"/>
@@ -69,7 +94,7 @@
<stat_bar label="Время на изображения" name="simimagesmsec"/>
<stat_bar label="Время на скрипт" name="simscriptmsec"/>
<stat_bar label="Резервное время" name="simsparemsec"/>
- <stat_view label="Данные времени (мс)" name="timedetails">
+ <stat_view label="Данные времени" name="timedetails">
<stat_bar label="Шаг физики" name="simsimphysicsstepmsec"/>
<stat_bar label="Обновить физ. формы" name="simsimphysicsshapeupdatemsec"/>
<stat_bar label="Физика - прочее" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/ru/menu_avatar_icon.xml b/indra/newview/skins/default/xui/ru/menu_avatar_icon.xml
index ac2b4be003..049001e8c3 100755
--- a/indra/newview/skins/default/xui/ru/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/ru/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
<menu name="Avatar Icon Menu">
<menu_item_call label="Открыть профиль" name="Show Profile"/>
<menu_item_call label="Отправить сообщение..." name="Send IM"/>
+ <menu_item_call label="Запрос телепортации" name="Request Teleport"/>
<menu_item_call label="Добавить в друзья..." name="Add Friend"/>
<menu_item_call label="Удалить из друзей..." name="Remove Friend"/>
</menu>
diff --git a/indra/newview/skins/default/xui/ru/menu_inventory.xml b/indra/newview/skins/default/xui/ru/menu_inventory.xml
index 37ee19fc1d..308549c254 100755
--- a/indra/newview/skins/default/xui/ru/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/ru/menu_inventory.xml
@@ -70,6 +70,7 @@
<menu_item_call label="Воспроизвести" name="Sound Play"/>
<menu_item_call label="Копировать URL SL" name="url_copy"/>
<menu_item_call label="О закладке" name="About Landmark"/>
+ <menu_item_call label="Показать на карте" name="show_on_map"/>
<menu_item_call label="Проиграть для всех" name="Animation Play"/>
<menu_item_call label="Проиграть для себя" name="Animation Audition"/>
<menu_item_call label="Отправить IM-сообщение" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/ru/menu_login.xml b/indra/newview/skins/default/xui/ru/menu_login.xml
index 835c4e186e..885f6195b6 100755
--- a/indra/newview/skins/default/xui/ru/menu_login.xml
+++ b/indra/newview/skins/default/xui/ru/menu_login.xml
@@ -5,7 +5,15 @@
<menu_item_call label="Выход из [APP_NAME]" name="Quit"/>
</menu>
<menu label="Справка" name="Help">
- <menu_item_call label="Справка [SECOND_LIFE]" name="Second Life Help"/>
+ <menu_item_call label="Инструкции..." name="How To"/>
+ <menu_item_call label="Краткое руководство" name="Quickstart"/>
+ <menu_item_call label="База знаний" name="Knowledge Base"/>
+ <menu_item_call label="Wiki" name="Wiki"/>
+ <menu_item_call label="Форумы сообщества" name="Community Forums"/>
+ <menu_item_call label="Портал поддержки" name="Support portal"/>
+ <menu_item_call label="Новости [SECOND_LIFE]" name="Second Life News"/>
+ <menu_item_call label="Блоги [SECOND_LIFE]" name="Second Life Blogs"/>
+ <menu_item_call label="Сообщить об ошибке" name="Report Bug"/>
<menu_item_call label="О [APP_NAME]" name="About Second Life"/>
</menu>
<menu_item_check label="Показать меню отладки" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/ru/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/ru/menu_teleport_history_item.xml
index 6a22fd00dc..f495d27bf3 100755
--- a/indra/newview/skins/default/xui/ru/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/ru/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
<context_menu name="Teleport History Item Context Menu">
<menu_item_call label="Телепорт" name="Teleport"/>
<menu_item_call label="Информация" name="More Information"/>
- <menu_item_call label="Копировать в буфер обмена" name="CopyToClipboard"/>
+ <menu_item_call label="Копировать URL SL" name="CopyToClipboard"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/ru/menu_viewer.xml b/indra/newview/skins/default/xui/ru/menu_viewer.xml
index 61cd2c47d8..fad1ea51e0 100755
--- a/indra/newview/skins/default/xui/ru/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/ru/menu_viewer.xml
@@ -180,6 +180,7 @@
<menu label="Производительность" name="Performance Tools">
<menu_item_call label="Запаздывание" name="Lag Meter"/>
<menu_item_check label="Статистика" name="Statistics Bar"/>
+ <menu_item_call label="Статистика загрузки сцен" name="Scene Load Statistics"/>
<menu_item_check label="Показать вес отрисовки для аватаров" name="Avatar Rendering Cost"/>
</menu>
<menu label="Подсветка и видимость" name="Highlighting and Visibility">
@@ -242,6 +243,7 @@
<menu_item_check label="Оперативные таймеры" name="Fast Timers"/>
<menu_item_check label="Память" name="Memory"/>
<menu_item_check label="Статистика по сцене" name="Scene Statistics"/>
+ <menu_item_check label="Монитор загрузки сцен" name="Scene Loading Monitor"/>
<menu_item_call label="Консоль отладки извлечения текстур" name="Texture Fetch Debug Console"/>
<menu_item_call label="Данные о регионе на консоль отладки" name="Region Info to Debug Console"/>
<menu_item_call label="Данны о группе на консоль отладки" name="Group Info to Debug Console"/>
@@ -278,6 +280,7 @@
<menu_item_check label="Периодическое замедление кадров" name="Periodic Slow Frame"/>
<menu_item_check label="Тест кадров" name="Frame Test"/>
<menu_item_call label="Профиль кадра" name="Frame Profile"/>
+ <menu_item_call label="Тест" name="Benchmark"/>
</menu>
<menu label="Визуализировать метаданные" name="Render Metadata">
<menu_item_check label="Рамки" name="Bounding Boxes"/>
@@ -297,6 +300,7 @@
<menu_item_check label="Освещение" name="Lights"/>
<menu_item_check label="Частицы" name="Particles"/>
<menu_item_check label="Каркас столкновений" name="Collision Skeleton"/>
+ <menu_item_check label="Суставы" name="Joints"/>
<menu_item_check label="Лучи" name="Raycast"/>
<menu_item_check label="Направления ветра" name="Wind Vectors"/>
<menu_item_check label="Сложность визуализации" name="rendercomplexity"/>
@@ -329,6 +333,7 @@
<menu_item_check label="Визуализация присоединенных источников света" name="Render Attached Lights"/>
<menu_item_check label="Визуализация присоединенных частиц" name="Render Attached Particles"/>
<menu_item_check label="Парящие светящиеся объекты" name="Hover Glow Objects"/>
+ <menu_item_call label="Немедленно очистить кэш" name="Cache Clear"/>
</menu>
<menu label="Сеть" name="Network">
<menu_item_check label="Приостановить клиент" name="AgentPause"/>
diff --git a/indra/newview/skins/default/xui/ru/notifications.xml b/indra/newview/skins/default/xui/ru/notifications.xml
index 4169613f02..336a97f35a 100755
--- a/indra/newview/skins/default/xui/ru/notifications.xml
+++ b/indra/newview/skins/default/xui/ru/notifications.xml
@@ -114,13 +114,13 @@
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="OutboxImportFailed">
- Ошибка при передаче
+ Не удалось передать, ошибка: «[ERROR_CODE]»
Папки не отправлены в торговый центр из-за ошибки системы или сети. Повторите попытку позже.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="OutboxInitFailed">
- Ошибка инициализации торгового центра
+ Не удалось инициализировать торговый центр, ошибка: «[ERROR_CODE]»
Не удалось инициализировать торговый центр из-за ошибки системы или сети. Повторите попытку позже.
<usetemplate name="okbutton" yestext="OK"/>
@@ -210,22 +210,6 @@
Добавить эту способность к роли «[ROLE_NAME]»?
<usetemplate name="okcancelbuttons" notext="Нет" yestext="Да"/>
</notification>
- <notification name="AssignBanAbilityWarning">
- Вы собираетесь добавить способность «[ACTION_NAME]» к роли «[ROLE_NAME]».
-
- *ПРЕДУПРЕЖДЕНИЕ*
-Любой участник в роли с этой способностью также получает способности «[ACTION_NAME_2]» и «[ACTION_NAME_3]»
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
- <notification name="RemoveBanAbilityWarning">
- Вы удаляете способность «[ACTION_NAME]» для роли «[ROLE_NAME]».
-
- *ПРЕДУПРЕЖДЕНИЕ*
-При удалении этой способности НЕ БУДУТ удалены способности «[ACTION_NAME_2]» и «[ACTION_NAME_3]».
-
-Если вам больше не нужны эти способности для данной роли, немедленно отключите их!
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
<notification name="EjectGroupMemberWarning">
Вы собираетесь исключить [AVATAR_NAME] из группы.
<usetemplate ignoretext="Подтвердите исключение участника из группы" name="okcancelignore" notext="Отмена" yestext="Выкинуть"/>
@@ -1595,14 +1579,6 @@ http://secondlife.com/download.
Невозможно покинуть группу. Вы не можете покинуть группу, так как вы ее последний владелец. Сначала назначьте владельцем другого участника.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
- <notification name="GroupDepartError">
- Невозможно покинуть группу: [reason].
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
- <notification name="GroupDepart">
- Вы покинули группу [group_name].
- <usetemplate name="okbutton" yestext="OK"/>
- </notification>
<notification name="ConfirmKick">
Вы ДЕЙСТВИТЕЛЬНО хотите выбросить всех жителей с сетки?
<usetemplate name="okcancelbuttons" notext="Отмена" yestext="Выбросить всех жителей"/>
@@ -1755,6 +1731,10 @@ http://secondlife.com/download.
Вы действительно хотите телепортироваться в &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
<usetemplate ignoretext="Подтверждать телепортацию на закладку" name="okcancelignore" notext="Отмена" yestext="Телепортация"/>
</notification>
+ <notification name="TeleportViaSLAPP">
+ Вы действительно хотите телепортироваться в &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
+ <usetemplate ignoretext="Подтверждать телепортацию через SLAPP" name="okcancelignore" notext="Отмена" yestext="Телепортация"/>
+ </notification>
<notification name="TeleportToPick">
Телепортироваться в [PICK]?
<usetemplate ignoretext="Подтверждать телепортацию на место в подборке" name="okcancelignore" notext="Отмена" yestext="Телепортация"/>
@@ -1964,6 +1944,9 @@ http://secondlife.com/download.
<notification name="ProblemAddingEstateManager">
Проблема при добавлении нового менеджера землевладения. Возможно, в одном или нескольких землевладениях список менеджеров уже заполнен.
</notification>
+ <notification name="ProblemAddingEstateBanManager">
+ Невозможно добавить землевладельца или менеджера в список запрета доступа.
+ </notification>
<notification name="ProblemAddingEstateGeneric">
Проблема при добавлении в этот список землевладения. Возможно, в одном или нескольких землевладениях список уже заполнен.
</notification>
@@ -2477,12 +2460,6 @@ http://secondlife.com/download.
<notification name="SystemMessage">
[MESSAGE]
</notification>
- <notification name="FlickrConnect">
- [MESSAGE]
- </notification>
- <notification name="TwitterConnect">
- [MESSAGE]
- </notification>
<notification name="PaymentReceived">
[MESSAGE]
</notification>
@@ -3059,7 +3036,7 @@ http://secondlife.com/download.
Со следующими жителями:
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="Отмена" yestext="OK"/>
</notification>
<notification name="ShareFolderConfirmation">
@@ -3071,7 +3048,7 @@ http://secondlife.com/download.
Со следующими жителями:
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="Отмена" yestext="ОК"/>
</notification>
<notification name="ItemsShared">
@@ -3715,6 +3692,9 @@ http://secondlife.com/download.
<notification name="LinkFailedTooMuchPhysics">
Объект использует слишком много ресурсов физики -- динамическое поведение отключено.
</notification>
+ <notification name="EstateManagerFailedllTeleportHome">
+ Объект «[OBJECT_NAME]» по адресу [SLURL] не может телепортировать менеджеров землевладений домой.
+ </notification>
<notification name="TeleportedHomeByObjectOnParcel">
Вы были телепортированы домой объектом «[OBJECT_NAME]» на участке «[PARCEL_NAME]»
</notification>
@@ -3905,13 +3885,18 @@ http://secondlife.com/download.
Выбрано недостаточно арендуемых участков для вступления.
</notification>
<notification name="CantDivideLandMultipleParcelsSelected">
- Нельзя разделить землю.\nВыбрано больше одного участка.\nВыберите меньшую территорию.
+ Невозможно разделить землю.
+Выбрано несколько участков.
+Попробуйте выбрать область поменьше.
</notification>
<notification name="CantDivideLandCantFindParcel">
- Нельзя разделить землю.\nНе удалось найти участок.\nСообщите об этой неполадке: Справка -&gt; Сообщить об ошибке...
+ Невозможно разделить землю.
+Не удается найти участок.
+Сообщите об этом: Справка -&gt; Сообщить об ошибке...
</notification>
<notification name="CantDivideLandWholeParcelSelected">
- Невозможно разделить землю. Выбран весь участок.\nПопробуйте выбрать территорию поменьше.
+ Невозможно разделить землю. Выбран весь участок.
+Попробуйте выбрать область поменьше.
</notification>
<notification name="LandHasBeenDivided">
Земля разделена.
@@ -4051,8 +4036,8 @@ http://secondlife.com/download.
Невозможно переместить файлы. Восстановлен прежний путь.
<usetemplate ignoretext="Невозможно переместить файлы. Восстановлен прежний путь." name="okignore" yestext="OK"/>
</notification>
- <notification name="DefaultObjectPermissions">
- Ошибка при сохранении стандартных разрешений по следующей причине: [REASON]. Попробуйте задать стандартные разрешения через некоторое время.
+ <notification name="ChatHistoryIsBusyAlert">
+ Файл журнала чата занят предыдущей операцией. Повторите попытку через несколько минут или выберите чат с другим лицом.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/ru/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/ru/panel_group_info_sidetray.xml
index d8cf1b4756..16aaa71268 100755
--- a/indra/newview/skins/default/xui/ru/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/ru/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
<layout_panel name="group_accordions">
<accordion name="groups_accordion">
<accordion_tab name="group_general_tab" title="Общие"/>
- <accordion_tab name="group_roles_tab" title="Роли"/>
+ <accordion_tab name="group_roles_tab" title="Роли и участники"/>
<accordion_tab name="group_notices_tab" title="Уведомления"/>
<accordion_tab name="group_land_tab" title="Земля/активы"/>
</accordion>
diff --git a/indra/newview/skins/default/xui/ru/panel_group_roles.xml b/indra/newview/skins/default/xui/ru/panel_group_roles.xml
index 078a8713e0..88af469fbd 100755
--- a/indra/newview/skins/default/xui/ru/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/ru/panel_group_roles.xml
@@ -21,6 +21,7 @@
<name_list.columns label="Участник" name="name"/>
<name_list.columns label="Вклад" name="donated"/>
<name_list.columns label="Статус" name="online"/>
+ <name_list.columns label="Роль" name="title"/>
</name_list>
<button label="Пригласить" name="member_invite"/>
<button label="Выкинуть" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/ru/panel_region_debug.xml b/indra/newview/skins/default/xui/ru/panel_region_debug.xml
index 4be1e781fa..d294a9e22e 100755
--- a/indra/newview/skins/default/xui/ru/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/ru/panel_region_debug.xml
@@ -28,7 +28,8 @@
<check_box label="С каждого региона этого землевладения" name="return_estate_wide" tool_tip="Возвращаются объекты со всех регионов, образующих это землевладение"/>
<button label="Возврат" name="return_btn"/>
<button label="Самые активные участники столкновений..." name="top_colliders_btn" tool_tip="Список объектов, для которых столкновения наиболее вероятны"/>
- <button label="Список лучших скриптов..." name="top_scripts_btn" tool_tip="Объекты, в которых скрипты выполняются дольше всего"/>
<button label="Перезагрузить регион" name="restart_btn" tool_tip="Отсчитать 2 минуты и перезагрузить регион"/>
+ <button label="Список лучших скриптов..." name="top_scripts_btn" tool_tip="Объекты, в которых скрипты выполняются дольше всего"/>
<button label="Отменить перезапуск" name="cancel_restart_btn" tool_tip="Отменить перезапуск региона"/>
+ <button label="Консоль отладки региона" name="region_debug_console_btn" tool_tip="Открыть консоль отладки региона"/>
</panel>
diff --git a/indra/newview/skins/default/xui/ru/panel_region_general.xml b/indra/newview/skins/default/xui/ru/panel_region_general.xml
index 8559be6c9e..8b4a127d7e 100755
--- a/indra/newview/skins/default/xui/ru/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/ru/panel_region_general.xml
@@ -20,12 +20,12 @@
</text>
<check_box label="Запретить терраформирование" name="block_terraform_check"/>
<check_box label="Запретить полеты" name="block_fly_check"/>
+ <check_box label="Запретить пролет над участком" name="block_fly_over_check" tool_tip="Поднять проверку доступа вверх для предотвращения пролета над участком"/>
<check_box label="Разрешить повреждения" name="allow_damage_check"/>
<check_box label="Запретить толкание" name="restrict_pushobject"/>
<check_box label="Разрешить перепродажу земли" name="allow_land_resell_check"/>
<check_box label="Разрешить объединение/разделение земли" name="allow_parcel_changes_check"/>
<check_box label="Не показывать землю в поиске" name="block_parcel_search_check" tool_tip="Отображать регион и его участки в результатах поиска"/>
- <check_box label="Разрешить меши-объекты" name="mesh_rez_enabled_check" tool_tip="Разрешить жителям выкладывать меши в этом регионе"/>
<spinner label="Лимит агентов" name="agent_limit_spin"/>
<spinner label="Льгота для объекта" name="object_bonus_spin"/>
<text label="Дозволенность" name="access_text">
diff --git a/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml b/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml
index 1741f63074..725b680050 100755
--- a/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/ru/sidepanel_inventory.xml
@@ -28,13 +28,13 @@
<button label="Профиль" name="info_btn" tool_tip="Показать профиль объекта"/>
</layout_panel>
<layout_panel name="share_btn_lp">
- <button label="Поделиться" name="share_btn" tool_tip="Поделиться вещью из инвентаря"/>
+ <button label="Поделиться" name="share_btn" tool_tip="Поделиться объектом из инвентаря"/>
</layout_panel>
<layout_panel name="shop_btn_lp">
- <button label="Торговый центр" name="shop_btn" tool_tip="Открыть страницу торгового центра"/>
+ <button label="Купить" name="shop_btn" tool_tip="Открыть страницу торгового центра"/>
<button label="Надеть" name="wear_btn" tool_tip="Надеть выбранный костюм"/>
- <button label="Проиграть" name="play_btn"/>
- <button label="Телепорт" name="teleport_btn" tool_tip="Телепортироваться в выбранную область"/>
+ <button label="Играть" name="play_btn"/>
+ <button label="Телепортация" name="teleport_btn" tool_tip="Телепортироваться в выбранную область"/>
</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 a28d4e7bf8..b7daab33a9 100755
--- a/indra/newview/skins/default/xui/ru/strings.xml
+++ b/indra/newview/skins/default/xui/ru/strings.xml
@@ -37,6 +37,45 @@
<string name="StartupRequireDriverUpdate">
Ошибка инициализации графики. Обновите графический драйвер!
</string>
+ <string name="AboutHeader">
+ [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]
+ </string>
+ <string name="AboutCompiler">
+ Использован компилятор [COMPILER], версия [COMPILER_VERSION]
+ </string>
+ <string name="AboutPosition">
+ Вы в точке [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] в регионе «[REGION]», расположенном на &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
+SLURL: &lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(глобальные координаты [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+ </string>
+ <string name="AboutSystem">
+ ЦП: [CPU]
+Память: [MEMORY_MB] МБ
+Версия ОС: [OS_VERSION]
+Производитель графической платы: [GRAPHICS_CARD_VENDOR]
+Графическая плата: [GRAPHICS_CARD]
+ </string>
+ <string name="AboutDriver">
+ Версия графического драйвера Windows: [GRAPHICS_DRIVER_VERSION]
+ </string>
+ <string name="AboutLibs">
+ Версия OpenGL: [OPENGL_VERSION]
+
+Версия libcurl: [LIBCURL_VERSION]
+Версия декодера J2C: [J2C_VERSION]
+Версия драйвера звука: [AUDIO_DRIVER_VERSION]
+Версия Qt Webkit: [QT_WEBKIT_VERSION]
+Версия голосового сервера: [VOICE_VERSION]
+ </string>
+ <string name="AboutTraffic">
+ Потеряно пакетов: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+ </string>
+ <string name="ErrorFetchingServerReleaseNotesURL">
+ Ошибка при получении URL-адреса заметок о выпуске сервера.
+ </string>
<string name="ProgressRestoring">
Восстановление...
</string>
@@ -1371,6 +1410,18 @@ support@secondlife.com.
<string name="InventoryOutboxNoItems">
Перетащите папки в эту область и щелкните «Отправить в торговый центр», чтобы выставить их на продажу в [[MARKETPLACE_DASHBOARD_URL] Торговом центре].
</string>
+ <string name="InventoryOutboxInitializingTitle">
+ Инициализация Торгового центра.
+ </string>
+ <string name="InventoryOutboxInitializing">
+ Мы обращаемся к вашему аккаунту в [[MARKETPLACE_CREATE_STORE_URL] магазине].
+ </string>
+ <string name="InventoryOutboxErrorTitle">
+ Ошибки торгового центра.
+ </string>
+ <string name="InventoryOutboxError">
+ [[MARKETPLACE_CREATE_STORE_URL] Магазин] возвращает ошибки.
+ </string>
<string name="Marketplace Error None">
Ошибок нет
</string>
@@ -1801,6 +1852,9 @@ support@secondlife.com.
<string name="CompileQueueDownloadedCompiling">
Загружено, компилируется
</string>
+ <string name="CompileQueueServiceUnavailable">
+ Служба компилирования скриптов недоступна
+ </string>
<string name="CompileQueueScriptNotFound">
Скрипт не найден на сервере.
</string>
diff --git a/indra/newview/skins/default/xui/tr/floater_lagmeter.xml b/indra/newview/skins/default/xui/tr/floater_lagmeter.xml
new file mode 100644
index 0000000000..736c50be90
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="GECİKME ÖLÇER">
+ <floater.string name="max_title_msg">
+ Gecikme Ölçer
+ </floater.string>
+ <floater.string name="max_width_px">
+ 360
+ </floater.string>
+ <floater.string name="min_title_msg">
+ Gecikme
+ </floater.string>
+ <floater.string name="min_width_px">
+ 90
+ </floater.string>
+ <floater.string name="client_text_msg">
+ İstemci
+ </floater.string>
+ <floater.string name="client_frame_rate_critical_fps">
+ 10
+ </floater.string>
+ <floater.string name="client_frame_rate_warning_fps">
+ 15
+ </floater.string>
+ <floater.string name="client_frame_time_window_bg_msg">
+ Normal, pencere alt zeminde
+ </floater.string>
+ <floater.string name="client_frame_time_critical_msg">
+ İstemci kare hızı [CLIENT_FRAME_RATE_CRITICAL] altında
+ </floater.string>
+ <floater.string name="client_frame_time_warning_msg">
+ İstemci kare hızı [CLIENT_FRAME_RATE_CRITICAL] ile [CLIENT_FRAME_RATE_WARNING] arasınad
+ </floater.string>
+ <floater.string name="client_frame_time_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="client_draw_distance_cause_msg">
+ Muhtemel neden: Çizme mesafesi çok yüksek
+ </floater.string>
+ <floater.string name="client_texture_loading_cause_msg">
+ Muhtemel neden: Görüntüler yükleniyor
+ </floater.string>
+ <floater.string name="client_texture_memory_cause_msg">
+ Muhtemel neden: Bellekte çok fazla görüntü
+ </floater.string>
+ <floater.string name="client_complex_objects_cause_msg">
+ Muhtemel neden: Sahnede çok fazla karmaşık nesne
+ </floater.string>
+ <floater.string name="network_text_msg">
+ Ağ
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_pct">
+ 10
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_pct">
+ 5
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_msg">
+ Bağlantı paketlerin % [NETWORK_PACKET_LOSS_CRITICAL]&apos;sinden fazlasını bırakıyor
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_msg">
+ Bağlantı paketlerin % [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]&apos;sini bırakıyor
+ </floater.string>
+ <floater.string name="network_performance_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="network_ping_critical_ms">
+ 600
+ </floater.string>
+ <floater.string name="network_ping_warning_ms">
+ 300
+ </floater.string>
+ <floater.string name="network_ping_critical_msg">
+ Bağlantı ping süresi [NETWORK_PING_CRITICAL] ms.den fazla
+ </floater.string>
+ <floater.string name="network_ping_warning_msg">
+ Bağlantı ping süresi [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_packet_loss_cause_msg">
+ Muhtemel yetersiz bağlantı veya &apos;Bant Genişliği&apos; tercihi çok yüksek.
+ </floater.string>
+ <floater.string name="network_ping_cause_msg">
+ Muhtemel yetersiz bağlantı veya dosya paylaşım uygulaması.
+ </floater.string>
+ <floater.string name="server_text_msg">
+ Sunucu
+ </floater.string>
+ <floater.string name="server_frame_rate_critical_fps">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_rate_warning_fps">
+ 30
+ </floater.string>
+ <floater.string name="server_single_process_max_time_ms">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_time_critical_msg">
+ Simülatör kare hızı [SERVER_FRAME_RATE_CRITICAL] altında
+ </floater.string>
+ <floater.string name="server_frame_time_warning_msg">
+ Simülatör kare hızı [SERVER_FRAME_RATE_CRITICAL] ve [SERVER_FRAME_RATE_WARNING] arasında
+ </floater.string>
+ <floater.string name="server_frame_time_normal_msg">
+ Normal
+ </floater.string>
+ <floater.string name="server_physics_cause_msg">
+ Muhtemel Neden: Çok fazla fiziki nesne
+ </floater.string>
+ <floater.string name="server_scripts_cause_msg">
+ Muhtemel Neden: Çok fazla komut dosyalı nesne
+ </floater.string>
+ <floater.string name="server_net_cause_msg">
+ Muhtemel Neden: Çok fazla ağ trafiği
+ </floater.string>
+ <floater.string name="server_agent_cause_msg">
+ Muhtemel Neden: Bölgede hareket eden çok fazla insan var
+ </floater.string>
+ <floater.string name="server_images_cause_msg">
+ Muhtemel Neden: Çok fazla görüntü hesabı
+ </floater.string>
+ <floater.string name="server_generic_cause_msg">
+ Muhtemel Neden: Simülatör yükü çok ağır
+ </floater.string>
+ <floater.string name="smaller_label">
+ &gt;&gt;
+ </floater.string>
+ <floater.string name="bigger_label">
+ &lt;&lt;
+ </floater.string>
+ <button name="client_lagmeter" tool_tip="İstemci gecikme durumu"/>
+ <text name="client">
+ İstemci
+ </text>
+ <text name="client_text">
+ Normal
+ </text>
+ <button name="network_lagmeter" tool_tip="Ağ gecikme durumu"/>
+ <text name="network">
+ Ağ
+ </text>
+ <text name="network_text">
+ Normal
+ </text>
+ <button name="server_lagmeter" tool_tip="Sunucu gecikme durumu"/>
+ <text name="server">
+ Sunucu
+ </text>
+ <text name="server_text">
+ Normal
+ </text>
+ <button label="&gt;&gt;" name="minimize" tool_tip="Gezdirici büyüklüğünü değiştir"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_region_restarting.xml b/indra/newview/skins/default/xui/tr/floater_region_restarting.xml
new file mode 100644
index 0000000000..1f9ead8bdd
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="BÖLGEYİ YENİDEN BAŞLAT">
+ <string name="RegionName">
+ Şu anda içinde bulunduğunuz bölge ([NAME]) yeniden başlatılmak üzere.
+
+Bu bölgede kalmaya devam ederseniz oturumunuz sonlandırılacak.
+ </string>
+ <string name="RestartSeconds">
+ Yeniden başlatma için kalan süre
+[SECONDS]
+ </string>
+ <panel name="layout_panel_1">
+ <text name="region_name">
+ Şu anda içinde bulunduğunuz bölge (-Bölgenin uzun adı-) yeniden başlatılmak üzere.
+
+Bu bölgede kalmaya devam ederseniz oturumunuz sonlandırılacak.
+ </text>
+ <text name="restart_seconds">
+ Yeniden başlatma için kalan süre
+ 32767
+ </text>
+ </panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/tr/floater_scene_load_stats.xml
new file mode 100644
index 0000000000..ae0a94595d
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="SAHNE YÜKLEME İSTATİSTİKLERİ">
+ <button label="Duraklat" name="playpause"/>
+ <scroll_container name="statistics_scroll">
+ <container_view name="statistics_view">
+ <stat_view label="Temel" name="basic">
+ <stat_bar label="Çerçeve Piksel Farkı" name="frame difference"/>
+ <stat_bar label="UDP Verileri Alındı" name="bandwidth"/>
+ <stat_bar label="Paket Kaybı" name="packet_loss"/>
+ </stat_view>
+ <stat_view label="Gelişmiş" name="advanced">
+ <stat_view label="İşle" name="render">
+ <stat_bar label="Toplam Nesne" name="objs"/>
+ <stat_bar label="Yeni Nesne" name="newobjs"/>
+ <stat_bar label="Nesne Önbellek İsabet Oranı" name="object_cache_hits"/>
+ </stat_view>
+ <stat_view label="Doku" name="texture">
+ <stat_bar label="Önbellek İsabet Oranı" name="texture_cache_hits"/>
+ <stat_bar label="Önbellek Okuma Gecikme Süresi" name="texture_cache_read_latency"/>
+ <stat_bar label="Sayım" name="numimagesstat"/>
+ <stat_bar label="Ham Sayım" name="numrawimagesstat"/>
+ </stat_view>
+ <stat_view label="Ağ" name="network">
+ <stat_bar label="Gelen Paketler" name="packetsinstat"/>
+ <stat_bar label="Giden Paketler" name="packetsoutstat"/>
+ <stat_bar label="Nesneler" name="objectdatareceived"/>
+ <stat_bar label="Doku" name="texturedatareceived"/>
+ <stat_bar label="Varlık" name="assetudpdatareceived"/>
+ <stat_bar label="Katmanlar" name="layersdatareceived"/>
+ <stat_bar label="Gerçekte Gelen" name="messagedatain"/>
+ <stat_bar label="Gerçekte Giden" name="messagedataout"/>
+ <stat_bar label="VFS Bekleyen İşlemler" name="vfspendingoperations"/>
+ </stat_view>
+ </stat_view>
+ <stat_view label="Simülatör" name="sim">
+ <stat_bar label="Nesneler" name="simobjects"/>
+ <stat_bar label="Etkin Nesneler" name="simactiveobjects"/>
+ <stat_bar label="Etkin Komut Dosyaları" name="simactivescripts"/>
+ <stat_bar label="Gelen Paketler" name="siminpps"/>
+ <stat_bar label="Giden Paketler" name="simoutpps"/>
+ <stat_bar label="Bekleyen Karşıdan Yüklemeler" name="simpendingdownloads"/>
+ <stat_bar label="Bekleyen Karşıya Yüklemeler" name="simpendinguploads"/>
+ <stat_bar label="Toplam Bildirilmiş Bayt" name="simtotalunackedbytes"/>
+ <stat_view label="Zaman (ms)" name="simperf">
+ <stat_bar label="Toplam Çerçeve Süresi" name="simframemsec"/>
+ <stat_bar label="Net Süre" name="simnetmsec"/>
+ <stat_bar label="Fizik Süresi" name="simsimphysicsmsec"/>
+ <stat_bar label="Simülasyon Süresi" name="simsimothermsec"/>
+ <stat_bar label="Aracı Süresi" name="simagentmsec"/>
+ <stat_bar label="Görüntü Süresi" name="simimagesmsec"/>
+ <stat_bar label="Komut Dosyası Süresi" name="simscriptmsec"/>
+ <stat_bar label="Yedek Zaman" name="simsparemsec"/>
+ <stat_view label="Zaman Ayrıntıları (ms)" name="timedetails">
+ <stat_bar label="Fizik Adımı" name="simsimphysicsstepmsec"/>
+ <stat_bar label="Fizik Şekillerini Güncelle" name="simsimphysicsshapeupdatemsec"/>
+ <stat_bar label="Fizik Diğer" name="simsimphysicsothermsec"/>
+ <stat_bar label="Uyku Zamanı" name="simsleepmsec"/>
+ <stat_bar label="Pompa Giriş Çıkış" name="simpumpiomsec"/>
+ </stat_view>
+ </stat_view>
+ </stat_view>
+ </container_view>
+ </scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_stats.xml b/indra/newview/skins/default/xui/tr/floater_stats.xml
index 03f25f788f..2c0c33737f 100755
--- a/indra/newview/skins/default/xui/tr/floater_stats.xml
+++ b/indra/newview/skins/default/xui/tr/floater_stats.xml
@@ -4,18 +4,20 @@
<container_view name="statistics_view">
<stat_view label="Temel" name="basic">
<stat_bar label="FPS" name="fps"/>
- <stat_bar label="Bant genişliği" name="bandwidth"/>
+ <stat_bar label="UDP Verileri Alındı" name="bandwidth"/>
<stat_bar label="Paket Kaybı" name="packet_loss"/>
<stat_bar label="Sim Pingi" name="ping"/>
</stat_view>
<stat_view label="Gelişmiş" name="advanced">
<stat_view label="İşle" name="render">
- <stat_bar label="Çerçeve Başına Çizilen Üçgenler" name="ktrisframe"/>
- <stat_bar label="Saniyede Bir Çizilen Üçgenler" name="ktrissec"/>
- <stat_bar label="Toplam Nesne" name="totalobjs"/>
- <stat_bar label="Önbelleğe Alınan Nesne" name="cachedobjs"/>
+ <stat_bar label="Çerçeve Başına Üçgenler" name="ktrisframe"/>
+ <stat_bar label="Saniye Başına Üçgenler" name="ktrissec"/>
+ <stat_bar label="Toplam Nesne" name="objs"/>
<stat_bar label="Yeni Nesne" name="newobjs"/>
<stat_bar label="Nesne Önbellek İsabet Oranı" name="object_cache_hits"/>
+ <stat_bar label="Gerçekleştirilen Gölgeleme Sorguları" name="occlusion_queries"/>
+ <stat_bar label="Gölgelenen Nesneler" name="occluded"/>
+ <stat_bar label="Gölgelenmeye Nesneler" name="unoccluded"/>
</stat_view>
<stat_view label="Doku" name="texture">
<stat_bar label="Önbellek İsabet Oranı" name="texture_cache_hits"/>
@@ -27,9 +29,32 @@
<stat_bar label="Ham Bellek" name="rawmemstat"/>
<stat_bar label="Bağlı Doku Belleği" name="glboundmemstat"/>
</stat_view>
+ <stat_view label="Bellek Kullanımı" name="memory">
+ <stat_bar label="LLTrace" name="LLTrace"/>
+ <stat_bar label="KA" name="LLView"/>
+ <stat_bar label="Fontlar" name="LLFontFreetype"/>
+ <stat_bar label="Envanter" name="LLInventoryObject"/>
+ <stat_bar label="Görüntüleyici Nesneleri" name="LLViewerObject"/>
+ <stat_bar label="Gölgeleme Ağacı Grup Verileri" name="LLViewerOctreeGroup"/>
+ <stat_bar label="Gölgeleme Ağacı Verileri" name="LLViewerOctreeEntry"/>
+ <stat_bar label="Görüntüleyici Nesne Önbelleği" name="LLVOCacheEntry"/>
+ <stat_bar label="Çizilebilir nesneler" name="LLDrawable"/>
+ <stat_bar label="Yüz Verileri" name="LLFace"/>
+ <stat_bar label="Çizim Bilgileri" name="LLDrawInfo"/>
+ <stat_bar label="Doku Verileri" name="LLTexture"/>
+ <stat_bar label="Görüntü Verileri" name="LLImage"/>
+ <stat_bar label="GL Görüntü Verileri" name="LLImageGL"/>
+ <stat_bar label="Vertex Tamponları" name="LLVertexBuffer"/>
+ </stat_view>
<stat_view label="Ağ" name="network">
<stat_bar label="Gelen Paketler" name="packetsinstat"/>
<stat_bar label="Giden Paketler" name="packetsoutstat"/>
+ <stat_bar label="Nesneler" name="objectdatareceived"/>
+ <stat_bar label="Doku" name="texturedatareceived"/>
+ <stat_bar label="Varlık" name="assetudpdatareceived"/>
+ <stat_bar label="Katmanlar" name="layersdatareceived"/>
+ <stat_bar label="Gerçekte Gelen" name="messagedatain"/>
+ <stat_bar label="Gerçekte Giden" name="messagedataout"/>
<stat_bar label="VFS Bekleyen İşlemler" name="vfspendingoperations"/>
</stat_view>
</stat_view>
@@ -59,8 +84,8 @@
<stat_bar label="Giden Paketler" name="simoutpps"/>
<stat_bar label="Bekleyen Karşıdan Yüklemeler" name="simpendingdownloads"/>
<stat_bar label="Bekleyen Karşıya Yüklemeler" name="simpendinguploads"/>
- <stat_bar label="Toplam Bildirilmiş Bayt" name="simtotalunackedbytes"/>
- <stat_view label="Zaman (ms)" name="simperf">
+ <stat_bar label="Toplam Bildirilmiş Veriler" name="simtotalunackedbytes"/>
+ <stat_view label="Süre" name="simperf">
<stat_bar label="Toplam Çerçeve Süresi" name="simframemsec"/>
<stat_bar label="Net Süre" name="simnetmsec"/>
<stat_bar label="Fizik Süresi" name="simsimphysicsmsec"/>
@@ -69,7 +94,7 @@
<stat_bar label="Görüntü Süresi" name="simimagesmsec"/>
<stat_bar label="Komut Dosyası Süresi" name="simscriptmsec"/>
<stat_bar label="Yedek Zaman" name="simsparemsec"/>
- <stat_view label="Zaman Ayrıntıları (ms)" name="timedetails">
+ <stat_view label="Zaman Ayrıntıları" name="timedetails">
<stat_bar label="Fizik Adımı" name="simsimphysicsstepmsec"/>
<stat_bar label="Fizik Şekillerini Güncelle" name="simsimphysicsshapeupdatemsec"/>
<stat_bar label="Fizik Diğer" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/tr/menu_avatar_icon.xml b/indra/newview/skins/default/xui/tr/menu_avatar_icon.xml
index d3ef490735..dc3724cfc8 100755
--- a/indra/newview/skins/default/xui/tr/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/tr/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
<menu name="Avatar Icon Menu">
<menu_item_call label="Profili Göster" name="Show Profile"/>
<menu_item_call label="Aİ Gönder..." name="Send IM"/>
+ <menu_item_call label="Işınlanma Talep Et" name="Request Teleport"/>
<menu_item_call label="Arkadaş Ekle..." name="Add Friend"/>
<menu_item_call label="Arkadaşı Çıkar..." name="Remove Friend"/>
</menu>
diff --git a/indra/newview/skins/default/xui/tr/menu_inventory.xml b/indra/newview/skins/default/xui/tr/menu_inventory.xml
index 51049427af..7239c4be06 100755
--- a/indra/newview/skins/default/xui/tr/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/tr/menu_inventory.xml
@@ -70,6 +70,7 @@
<menu_item_call label="Oyna" name="Sound Play"/>
<menu_item_call label="SLurl&apos;i Kopyala" name="url_copy"/>
<menu_item_call label="Yer İmi Hakkında" name="About Landmark"/>
+ <menu_item_call label="Haritada Göster" name="show_on_map"/>
<menu_item_call label="SL Dünyasında Oynat" name="Animation Play"/>
<menu_item_call label="Yerel Olarak Oynat" name="Animation Audition"/>
<menu_item_call label="Anlık İleti Gönder" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/tr/menu_login.xml b/indra/newview/skins/default/xui/tr/menu_login.xml
index 79c95407e8..ecd29370a5 100755
--- a/indra/newview/skins/default/xui/tr/menu_login.xml
+++ b/indra/newview/skins/default/xui/tr/menu_login.xml
@@ -5,7 +5,15 @@
<menu_item_call label="[APP_NAME]&apos;den Çık" name="Quit"/>
</menu>
<menu label="Yardım" name="Help">
- <menu_item_call label="[SECOND_LIFE] Yardımı" name="Second Life Help"/>
+ <menu_item_call label="Nasıl yapılır..." name="How To"/>
+ <menu_item_call label="Hızlı Başlangıç" name="Quickstart"/>
+ <menu_item_call label="Bilgi Bankası" name="Knowledge Base"/>
+ <menu_item_call label="Wiki" name="Wiki"/>
+ <menu_item_call label="Topluluk Forumları" name="Community Forums"/>
+ <menu_item_call label="Destek porteli" name="Support portal"/>
+ <menu_item_call label="[SECOND_LIFE] Haberler" name="Second Life News"/>
+ <menu_item_call label="[SECOND_LIFE] Bloklar" name="Second Life Blogs"/>
+ <menu_item_call label="Hata Bildir" name="Report Bug"/>
<menu_item_call label="[APP_NAME] Hakkında" name="About Second Life"/>
</menu>
<menu_item_check label="Hata Ayıklama Menüsünü Göster" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/tr/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/tr/menu_teleport_history_item.xml
index 93984162e7..d7ff807c3d 100755
--- a/indra/newview/skins/default/xui/tr/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/tr/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
<context_menu name="Teleport History Item Context Menu">
<menu_item_call label="Işınla" name="Teleport"/>
<menu_item_call label="Ek Bilgi" name="More Information"/>
- <menu_item_call label="Panoya Kopyala" name="CopyToClipboard"/>
+ <menu_item_call label="SLurl&apos;i Kopyala" name="CopyToClipboard"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/tr/menu_viewer.xml b/indra/newview/skins/default/xui/tr/menu_viewer.xml
index 41052236a6..23e2903e03 100755
--- a/indra/newview/skins/default/xui/tr/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/tr/menu_viewer.xml
@@ -187,6 +187,7 @@
<menu label="Performans Araçları" name="Performance Tools">
<menu_item_call label="Gecikme Ölçer" name="Lag Meter"/>
<menu_item_check label="İstatistik Çubuğu" name="Statistics Bar"/>
+ <menu_item_call label="Sahne Yükleme İstatistikleri" name="Scene Load Statistics"/>
<menu_item_check label="Avatarlar İçin Çizim Ağırlığını Göster" name="Avatar Rendering Cost"/>
</menu>
<menu label="Vurgulama ve Görünürlük" name="Highlighting and Visibility">
@@ -249,6 +250,7 @@
<menu_item_check label="Hızlı Zamanlayıcılar" name="Fast Timers"/>
<menu_item_check label="Bellek" name="Memory"/>
<menu_item_check label="Sahne İstatistikleri" name="Scene Statistics"/>
+ <menu_item_check label="Sahne Yükleme Ekranı" name="Scene Loading Monitor"/>
<menu_item_call label="Doku Alınması Hata Ayıklama Konsolu" name="Texture Fetch Debug Console"/>
<menu_item_call label="Hata Ayıklama Konsoluna giden Bölge Bilgisi" name="Region Info to Debug Console"/>
<menu_item_call label="Hata Ayıklama Konsoluna giden Grup Bilgisi" name="Group Info to Debug Console"/>
@@ -285,6 +287,7 @@
<menu_item_check label="Düzenli Yavaş Çerçeve" name="Periodic Slow Frame"/>
<menu_item_check label="Çerçeve Testi" name="Frame Test"/>
<menu_item_call label="Çerçeve Profili..." name="Frame Profile"/>
+ <menu_item_call label="Değerlendirme" name="Benchmark"/>
</menu>
<menu label="Meta Verileri İşle" name="Render Metadata">
<menu_item_check label="Sınırlama Kutuları" name="Bounding Boxes"/>
@@ -304,6 +307,7 @@
<menu_item_check label="Işıklar" name="Lights"/>
<menu_item_check label="Parçacıklar" name="Particles"/>
<menu_item_check label="Çarpışma İskeleti" name="Collision Skeleton"/>
+ <menu_item_check label="Eklemler" name="Joints"/>
<menu_item_check label="Işın Yayını" name="Raycast"/>
<menu_item_check label="Rüzgar Vektörleri" name="Wind Vectors"/>
<menu_item_check label="İşleme Karmaşıklığı" name="rendercomplexity"/>
@@ -336,6 +340,7 @@
<menu_item_check label="Eklenmiş Işıkları İşle" name="Render Attached Lights"/>
<menu_item_check label="Eklenmiş Parçacıkları İşle" name="Render Attached Particles"/>
<menu_item_check label="Parıldayan Nesneler Üzerine Gel" name="Hover Glow Objects"/>
+ <menu_item_call label="Önbelleği Hemen Temizle" name="Cache Clear"/>
</menu>
<menu label="Ağ" name="Network">
<menu_item_check label="Aracıyı Durdur" name="AgentPause"/>
diff --git a/indra/newview/skins/default/xui/tr/notifications.xml b/indra/newview/skins/default/xui/tr/notifications.xml
index 93b4496cf7..a58abca3ac 100755
--- a/indra/newview/skins/default/xui/tr/notifications.xml
+++ b/indra/newview/skins/default/xui/tr/notifications.xml
@@ -114,13 +114,13 @@ Daha fazla bilgi için bkz. [[MARKETPLACE_IMPORTS_URL] hata günlüğü].
<usetemplate name="okbutton" yestext="Tamam"/>
</notification>
<notification name="OutboxImportFailed">
- Aktarım başarılamadı
+ Aktarım &apos;[ERROR_CODE]&apos; hatası nedeniyle başarısız oldu
Bir sistem veya ağ hatası nedeniyle Pazaryerine hiçbir klasör gönderilemedi. Daha sonra tekrar deneyin.
<usetemplate name="okbutton" yestext="Tamam"/>
</notification>
<notification name="OutboxInitFailed">
- Pazaryeri başlatılamadı.
+ Pazaryeri başlatılması &apos;[ERROR_CODE]&apos; hatası nedeniyle başarısız oldu
Bir sistem veya ağ hatası nedeniyle Pazaryeri başlatılamadı. Daha sonra tekrar deneyin.
<usetemplate name="okbutton" yestext="Tamam"/>
@@ -210,22 +210,6 @@ Bu Yetenek &apos;[ROLE_NAME]&apos; rolüne eklensin mi?
Bu Yetenek &apos;[ROLE_NAME]&apos; rolüne eklensin mi?
<usetemplate name="okcancelbuttons" notext="Hayır" yestext="Evet"/>
</notification>
- <notification name="AssignBanAbilityWarning">
- &quot;[ROLE_NAME]&quot; rolüne &quot;[ACTION_NAME]&quot; yeteneğini eklemek üzeresiniz.
-
- *UYARI*
-Bu Yeteneğe sahip bir Roldeki Üyeler &quot;[ACTION_NAME_2]&quot; ve &quot;[ACTION_NAME_3]&quot; yeteneklerine de sahip olacak.
- <usetemplate name="okbutton" yestext="Tamam"/>
- </notification>
- <notification name="RemoveBanAbilityWarning">
- &quot;[ROLE_NAME]&quot; rolünden &quot;[ACTION_NAME]&quot; yeteneğini kaldırıyorsunuz.
-
- *UYARI*
-Bu yeteneğin kaldırılması &quot;[ACTION_NAME_2]&quot; ve &quot;[ACTION_NAME_3]&quot; yeteneklerini kaldırmaz.
-
-Bu yeteneklerin artık bu rolde bulunmasını istemiyorsanız, onları hemen devre dışı bırakın!
- <usetemplate name="okbutton" yestext="Tamam"/>
- </notification>
<notification name="EjectGroupMemberWarning">
Gruptan [AVATAR_NAME] adlı üyeyi çıkarmak üzeresiniz.
<usetemplate ignoretext="Gruptan bir katılımcının çıkarılmasını doğrulayın" name="okcancelignore" notext="İptal" yestext="Çıkar"/>
@@ -1595,14 +1579,6 @@ Gruptan ayrılmak istiyor musunuz?
Gruptan ayrılınamıyor. Gruptan ayrılamazsınız çünkü grubun son sahibisiniz. Lütfen önce sahip rolüne başka bir üye atayın.
<usetemplate name="okbutton" yestext="Tamam"/>
</notification>
- <notification name="GroupDepartError">
- Gruptan ayrılma işlemi yapılamıyor: [reason].
- <usetemplate name="okbutton" yestext="Tamam"/>
- </notification>
- <notification name="GroupDepart">
- [group_name] grubundan ayrıldınız.
- <usetemplate name="okbutton" yestext="Tamam"/>
- </notification>
<notification name="ConfirmKick">
Tüm Sakinleri GERÇEKTEN ağ dışına çıkarmak istiyor musunuz?
<usetemplate name="okcancelbuttons" notext="İptal Et" yestext="Tüm Sakinleri Çıkar"/>
@@ -1755,6 +1731,10 @@ Lütfen daha sonra tekrar deneyin.
&lt;nolink&gt;[LOCATION]&lt;/nolink&gt; konumuna ışınlanmak istediğinize emin misiniz?
<usetemplate ignoretext="Bir yer imine ışınlanma istediğimde doğrulama iste" name="okcancelignore" notext="İptal Et" yestext="Işınla"/>
</notification>
+ <notification name="TeleportViaSLAPP">
+ &lt;nolink&gt;[LOCATION]&lt;/nolink&gt; konumuna ışınlanmak istediğinize emin misiniz?
+ <usetemplate ignoretext="SLAPP ile ışınlanma istediğimde doğrulama iste" name="okcancelignore" notext="İptal" yestext="Işınla"/>
+ </notification>
<notification name="TeleportToPick">
[PICK] konumuna ışınlanılsın mı?
<usetemplate ignoretext="Seçme sekmesindeki bir konuma ışınlanma istediğimde doğrulama iste" name="okcancelignore" notext="İptal Et" yestext="Işınla"/>
@@ -1964,6 +1944,9 @@ Binlerce bölgeyi değiştirecek ve alan sunucusunu kesintiye uğratacaktır.
<notification name="ProblemAddingEstateManager">
Yeni bir gayrimenkul yöneticisi eklenirken problem oluştu. Bir veya birden fazla gayrimenkulün yönetici listesi dolu olabilir.
</notification>
+ <notification name="ProblemAddingEstateBanManager">
+ Gayri menkul sahibi ya da yöneticisi yasaklı listesine eklenemedi.
+ </notification>
<notification name="ProblemAddingEstateGeneric">
Bu gayrimenkul listesine eklenirken problem oluştu. Bir veya birden fazla gayrimenkulün listesi dolu olabilir.
</notification>
@@ -2477,12 +2460,6 @@ Daha küçük bir arazi parçası seçmeyi deneyin.
<notification name="SystemMessage">
[MESSAGE]
</notification>
- <notification name="FlickrConnect">
- [MESSAGE]
- </notification>
- <notification name="TwitterConnect">
- [MESSAGE]
- </notification>
<notification name="PaymentReceived">
[MESSAGE]
</notification>
@@ -3057,9 +3034,9 @@ Ayrıntılar için günlük dosyasına bakın.
&lt;nolink&gt;[ITEMS]&lt;/nolink&gt;
-Paylaşmanın yapılacağı Sakinler:
+Paylaşmanın yapılacağı Second Life Sakinleri:
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="İptal" yestext="Tamam"/>
</notification>
<notification name="ShareFolderConfirmation">
@@ -3071,7 +3048,7 @@ Aşağıdaki öğeleri paylaşmak istediğinize emin misiniz?
Paylaşmanın yapılacağı Second Life Sakinleri:
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="İptal" yestext="Tamam"/>
</notification>
<notification name="ItemsShared">
@@ -3709,6 +3686,9 @@ Lütfen bir dakika sonra tekrar deneyin.
<notification name="LinkFailedTooMuchPhysics">
Nesne çok fazla fizik kaynağı kullanıyor -- dinamikleri devre dışı bırakıldı.
</notification>
+ <notification name="EstateManagerFailedllTeleportHome">
+ [SLURL] adresindeki &apos;[OBJECT_NAME]&apos; nesnesi gayri menkul yöneticilerini ana konuma ışınlayamıyor.
+ </notification>
<notification name="TeleportedHomeByObjectOnParcel">
&apos;[PARCEL_NAME]&apos; parseli üzerindeki &apos;[OBJECT_NAME]&apos; nesnesi tarafından ana konuma ışınlandınız
</notification>
@@ -3899,13 +3879,18 @@ Lütfen bir dakika sonra tekrar deneyin.
Seçimde birleştirilecek yeterli sayıda lease edilmiş parsel yok.
</notification>
<notification name="CantDivideLandMultipleParcelsSelected">
- Arazi bölünemedi.\nBirden fazla parsel seçili durumda.\nDaha küçük bir arazi parçası seçmeyi deneyin.
+ Arazi bölünemiyor.
+Birden fazla parsel seçili.
+Daha küçük bir arazi parçası seçmeyi deneyin.
</notification>
<notification name="CantDivideLandCantFindParcel">
- Arazi bölünemiyor.\nParsel bulunamıyor.\nLütfen Yardım -&gt; Hata Bildir ile bildirin...
+ Arazi bölünemiyor.
+Parsel bulunamıyor.
+Lütfen Yardım -&gt; Hata Bildir... sekmesinden hatayı bildirin
</notification>
<notification name="CantDivideLandWholeParcelSelected">
- Arazi bölünemiyor. Tüm parsel seçilidir.\nDaha küçük bir arazi parçası seçmeyi deneyin.
+ Arazi bölünemiyor. Tüm parsel seçili.
+Daha küçük bir arazi parçası seçmeyi deneyin.
</notification>
<notification name="LandHasBeenDivided">
Arazi bölündü.
@@ -4045,8 +4030,8 @@ Lütfen bir dakika sonra tekrar deneyin.
Dosyalar taşınamıyor. Önceki yol geri yüklendi.
<usetemplate ignoretext="Dosyalar taşınamıyor. Önceki yol geri yüklendi." name="okignore" yestext="Tamam"/>
</notification>
- <notification name="DefaultObjectPermissions">
- Aşağıdaki nedenden dolayı, varsayılan izinler kaydedilirken bir sorun oluştu: [REASON]. Varsayılan izinleri ayarlamayı lütfen daha sonra tekrar deneyin.
+ <notification name="ChatHistoryIsBusyAlert">
+ Sohbet geçmişi dosyası önceki işlemi gerçekleştirmekle meşgul. Lütfen bir kaç dakika sonra tekrar deneyin veya başka bir kişiyle sohbet etmeyi deneyin.
<usetemplate name="okbutton" yestext="Tamam"/>
</notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/tr/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/tr/panel_group_info_sidetray.xml
index 32f39da490..e4697eaa21 100755
--- a/indra/newview/skins/default/xui/tr/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/tr/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
<layout_panel name="group_accordions">
<accordion name="groups_accordion">
<accordion_tab name="group_general_tab" title="Genel"/>
- <accordion_tab name="group_roles_tab" title="Roller"/>
+ <accordion_tab name="group_roles_tab" title="Roller ve Üyeler"/>
<accordion_tab name="group_notices_tab" title="Bildirimler"/>
<accordion_tab name="group_land_tab" title="Arazi/Varlıklar"/>
</accordion>
diff --git a/indra/newview/skins/default/xui/tr/panel_group_roles.xml b/indra/newview/skins/default/xui/tr/panel_group_roles.xml
index aa754b0004..59a48bbdc2 100755
--- a/indra/newview/skins/default/xui/tr/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/tr/panel_group_roles.xml
@@ -20,6 +20,7 @@ Ctrl tuşuna basıp adlarına tıklayarak birden fazla Üye seçebilirsiniz.
<name_list.columns label="Üye" name="name"/>
<name_list.columns label="Bağış" name="donated"/>
<name_list.columns label="Durum" name="online"/>
+ <name_list.columns label="Ünvan" name="title"/>
</name_list>
<button label="Davet Et" name="member_invite"/>
<button label="Çıkar" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/tr/panel_region_debug.xml b/indra/newview/skins/default/xui/tr/panel_region_debug.xml
index 834ece563f..74a0a1569e 100755
--- a/indra/newview/skins/default/xui/tr/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/tr/panel_region_debug.xml
@@ -28,7 +28,8 @@
<check_box label="Bu gayrimenkulu oluşturan bölgelerin tümünde" name="return_estate_wide" tool_tip="Bu gayrimenkulu oluşturan bölgelerin tümündeki nesneler iade edilsin"/>
<button label="İade Et" name="return_btn"/>
<button label="En Çok Çarpışanlar..." name="top_colliders_btn" tool_tip="En çok potansiyel çarpışma yaşayan nesnelerin listesi"/>
- <button label="En Çok Komut Dsy. Çalştr...." name="top_scripts_btn" tool_tip="Komut dosyalarını çalıştırırken en çok zaman harcayan nesnelerin listesi"/>
<button label="Bölgeyi Yeniden Başlat" name="restart_btn" tool_tip="2 dakikalık bir geri sayımdan sonra bölgeyi yeniden başlat"/>
+ <button label="En Çok Komut Dsy. Çalştr...." name="top_scripts_btn" tool_tip="Komut dosyalarını çalıştırırken en çok zaman harcayan nesnelerin listesi"/>
<button label="Yeniden Başlatmayı İptal Et" name="cancel_restart_btn" tool_tip="Bölge yeniden başlatmasını iptal et"/>
+ <button label="Bölge Hata Ayıklama Konsolu" name="region_debug_console_btn" tool_tip="Açık Bölge Hata Ayıklama Konsolu"/>
</panel>
diff --git a/indra/newview/skins/default/xui/tr/panel_region_general.xml b/indra/newview/skins/default/xui/tr/panel_region_general.xml
index 37da0f2cca..e6abef883d 100755
--- a/indra/newview/skins/default/xui/tr/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/tr/panel_region_general.xml
@@ -20,12 +20,12 @@
</text>
<check_box label="Yer Şekillendirmeyi Engelle" name="block_terraform_check"/>
<check_box label="Uçmayı Engelle" name="block_fly_check"/>
+ <check_box label="Parselin Üzerinde Uçmayı Engelle" name="block_fly_over_check" tool_tip="Bir parselin üzerinden uçulmasını engellemek için onay işaretlerini yukarı doğru genişletin"/>
<check_box label="Hasara İzin Ver" name="allow_damage_check"/>
<check_box label="İtmeyi Kısıtla" name="restrict_pushobject"/>
<check_box label="Arazinin Tekrar Satışına İzin Ver" name="allow_land_resell_check"/>
<check_box label="Arazinin Birleşmesine/Bölünmesine İzin Ver" name="allow_parcel_changes_check"/>
<check_box label="Aramada Arazinin Gösterilmesini Engelle" name="block_parcel_search_check" tool_tip="Arama sonuçlarında bu bölge ve parselleri görünsün"/>
- <check_box label="Örgü Nesnelere İzin Ver" name="mesh_rez_enabled_check" tool_tip="Bu bölgede insanların örgü nesneleri oluşturmasına izin verilsin"/>
<spinner label="Aracı Limiti" name="agent_limit_spin"/>
<spinner label="Nesne Bonusu" name="object_bonus_spin"/>
<text label="Erişkinlik" name="access_text">
diff --git a/indra/newview/skins/default/xui/tr/strings.xml b/indra/newview/skins/default/xui/tr/strings.xml
index c162bb32e8..c4fc76fe29 100755
--- a/indra/newview/skins/default/xui/tr/strings.xml
+++ b/indra/newview/skins/default/xui/tr/strings.xml
@@ -37,6 +37,45 @@
<string name="StartupRequireDriverUpdate">
Grafik başlatma başarılamadı. Lütfen grafik sürücünüzü güncelleştirin!
</string>
+ <string name="AboutHeader">
+ [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [Sürüm Notları]]
+ </string>
+ <string name="AboutCompiler">
+ [COMPILER] [COMPILER_VERSION] sürümü ile oluşturuldu
+ </string>
+ <string name="AboutPosition">
+ &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP]) üzerinde bulunan [REGION] içerisinde [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1] konumundasınız
+SLURL: &lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(küresel koordinatlar [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+ </string>
+ <string name="AboutSystem">
+ CPU: [CPU]
+Bellek: [MEMORY_MB] MB
+İşl. Sis. Sürümü: [OS_VERSION]
+Grafik Kartı Üreticisi: [GRAPHICS_CARD_VENDOR]
+Grafik Kartı: [GRAPHICS_CARD]
+ </string>
+ <string name="AboutDriver">
+ Windows Grafik Sürücüsü Sürümü: [GRAPHICS_DRIVER_VERSION]
+ </string>
+ <string name="AboutLibs">
+ OpenGL Sürümü: [OPENGL_VERSION]
+
+libcurl Sürümü: [LIBCURL_VERSION]
+J2C Kod Çözücü Sürümü: [J2C_VERSION]
+Ses Sürücüsü Sürümü: [AUDIO_DRIVER_VERSION]
+Qt Web Kit Sürümü: [QT_WEBKIT_VERSION]
+Ses Sunucusu Sürümü: [VOICE_VERSION]
+ </string>
+ <string name="AboutTraffic">
+ Kaybolan Paketler: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+ </string>
+ <string name="ErrorFetchingServerReleaseNotesURL">
+ Sunucu sürümü notları URL&apos;si alınırken hata oluştu.
+ </string>
<string name="ProgressRestoring">
Geri yükleniyor...
</string>
@@ -1371,6 +1410,18 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin.
<string name="InventoryOutboxNoItems">
Bu alana klasörleri sürükleyin ve bunları [[MARKETPLACE_DASHBOARD_URL] Pazaryerinde] satılık olarak duyurmak için &quot;Pazaryerine Gönder&quot; üzerine tıklayın.
</string>
+ <string name="InventoryOutboxInitializingTitle">
+ Pazaryeri Başlatılıyor.
+ </string>
+ <string name="InventoryOutboxInitializing">
+ [[MARKETPLACE_CREATE_STORE_URL] Mağazası] üzerindeki hesabınıza erişiyoruz.
+ </string>
+ <string name="InventoryOutboxErrorTitle">
+ Pazaryeri Hataları
+ </string>
+ <string name="InventoryOutboxError">
+ [[MARKETPLACE_CREATE_STORE_URL] Mağazası] hata döndürüyor.
+ </string>
<string name="Marketplace Error None">
Hata yok
</string>
@@ -1801,6 +1852,9 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin.
<string name="CompileQueueDownloadedCompiling">
Karşıdan yüklendi, şimdi derleniyor
</string>
+ <string name="CompileQueueServiceUnavailable">
+ Komut dosyası derleme hizmeti kullanılamıyor
+ </string>
<string name="CompileQueueScriptNotFound">
Komut dosyası sunucuda bulunamadı.
</string>
diff --git a/indra/newview/skins/default/xui/zh/floater_lagmeter.xml b/indra/newview/skins/default/xui/zh/floater_lagmeter.xml
new file mode 100644
index 0000000000..6e58e7332f
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/floater_lagmeter.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_lagmeter" title="LAG 測量器">
+ <floater.string name="max_title_msg">
+ Lag 測量器
+ </floater.string>
+ <floater.string name="max_width_px">
+ 360
+ </floater.string>
+ <floater.string name="min_title_msg">
+ Lag
+ </floater.string>
+ <floater.string name="min_width_px">
+ 90
+ </floater.string>
+ <floater.string name="client_text_msg">
+ 客戶端
+ </floater.string>
+ <floater.string name="client_frame_rate_critical_fps">
+ 10
+ </floater.string>
+ <floater.string name="client_frame_rate_warning_fps">
+ 15
+ </floater.string>
+ <floater.string name="client_frame_time_window_bg_msg">
+ Normal, window in background
+ </floater.string>
+ <floater.string name="client_frame_time_critical_msg">
+ Client frame rate below [CLIENT_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="client_frame_time_warning_msg">
+ Client frame rate between [CLIENT_FRAME_RATE_CRITICAL] and [CLIENT_FRAME_RATE_WARNING]
+ </floater.string>
+ <floater.string name="client_frame_time_normal_msg">
+ 正常
+ </floater.string>
+ <floater.string name="client_draw_distance_cause_msg">
+ Possible cause: Draw distance set too high
+ </floater.string>
+ <floater.string name="client_texture_loading_cause_msg">
+ Possible cause: Images loading
+ </floater.string>
+ <floater.string name="client_texture_memory_cause_msg">
+ Possible cause: Too many images in memory
+ </floater.string>
+ <floater.string name="client_complex_objects_cause_msg">
+ Possible cause: Too many complex objects in scene
+ </floater.string>
+ <floater.string name="network_text_msg">
+ 網路
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_pct">
+ 10
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_pct">
+ 5
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_msg">
+ Connection is dropping over [NETWORK_PACKET_LOSS_CRITICAL]% of packets
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_msg">
+ Connection is dropping [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% of packets
+ </floater.string>
+ <floater.string name="network_performance_normal_msg">
+ 正常
+ </floater.string>
+ <floater.string name="network_ping_critical_ms">
+ 600
+ </floater.string>
+ <floater.string name="network_ping_warning_ms">
+ 300
+ </floater.string>
+ <floater.string name="network_ping_critical_msg">
+ Connection ping time is over [NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_ping_warning_msg">
+ Connection ping time is [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
+ </floater.string>
+ <floater.string name="network_packet_loss_cause_msg">
+ Possible bad connection or &apos;Bandwidth&apos; pref too high.
+ </floater.string>
+ <floater.string name="network_ping_cause_msg">
+ Possible bad connection or file-sharing app.
+ </floater.string>
+ <floater.string name="server_text_msg">
+ 伺服器
+ </floater.string>
+ <floater.string name="server_frame_rate_critical_fps">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_rate_warning_fps">
+ 30
+ </floater.string>
+ <floater.string name="server_single_process_max_time_ms">
+ 20
+ </floater.string>
+ <floater.string name="server_frame_time_critical_msg">
+ 模擬器 framerate 低於 [SERVER_FRAME_RATE_CRITICAL]
+ </floater.string>
+ <floater.string name="server_frame_time_warning_msg">
+ 模擬器 framerate 介於 [SERVER_FRAME_RATE_CRITICAL] 與 [SERVER_FRAME_RATE_WARNING] 之間
+ </floater.string>
+ <floater.string name="server_frame_time_normal_msg">
+ 正常
+ </floater.string>
+ <floater.string name="server_physics_cause_msg">
+ 可能原因:太多物理物件
+ </floater.string>
+ <floater.string name="server_scripts_cause_msg">
+ 可能原因:太多腳本物件
+ </floater.string>
+ <floater.string name="server_net_cause_msg">
+ 可能原因:太多網路流量
+ </floater.string>
+ <floater.string name="server_agent_cause_msg">
+ 可能原因:地區有太多移動的人
+ </floater.string>
+ <floater.string name="server_images_cause_msg">
+ 可能原因:太多圖像計算
+ </floater.string>
+ <floater.string name="server_generic_cause_msg">
+ 可能原因:模擬器負載過重
+ </floater.string>
+ <floater.string name="smaller_label">
+ &gt;&gt;
+ </floater.string>
+ <floater.string name="bigger_label">
+ &lt;&lt;
+ </floater.string>
+ <button name="client_lagmeter" tool_tip="客戶端 lag 狀態"/>
+ <text name="client">
+ 客戶端
+ </text>
+ <text name="client_text">
+ 正常
+ </text>
+ <button name="network_lagmeter" tool_tip="網路 lag 狀態"/>
+ <text name="network">
+ 網路
+ </text>
+ <text name="network_text">
+ 正常
+ </text>
+ <button name="server_lagmeter" tool_tip="伺服器 lag 狀態"/>
+ <text name="server">
+ 伺服器
+ </text>
+ <text name="server_text">
+ 正常
+ </text>
+ <button label="&gt;&gt;" name="minimize" tool_tip="切換浮動視窗尺寸"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/zh/floater_region_restarting.xml b/indra/newview/skins/default/xui/zh/floater_region_restarting.xml
new file mode 100644
index 0000000000..afac7da203
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/floater_region_restarting.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="region_restarting" title="地區重新啟動中">
+ <string name="RegionName">
+ 你所在的地區([NAME])即將重新啟動。
+
+如果你繼續留在這地區,你將會被登出。
+ </string>
+ <string name="RestartSeconds">
+ 重新啟動倒數秒數:
+[SECONDS]
+ </string>
+ <panel name="layout_panel_1">
+ <text name="region_name">
+ 你所在的地區(-最長地區名-)即將重新啟動。
+
+如果你繼續留在這地區,你將會被登出。
+ </text>
+ <text name="restart_seconds">
+ 重新啟動倒數秒數:
+ 32767
+ </text>
+ </panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/zh/floater_scene_load_stats.xml b/indra/newview/skins/default/xui/zh/floater_scene_load_stats.xml
new file mode 100644
index 0000000000..1a5c20abeb
--- /dev/null
+++ b/indra/newview/skins/default/xui/zh/floater_scene_load_stats.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Scene Load Statistics" title="場景負載統計資料">
+ <button label="暫停" name="playpause"/>
+ <scroll_container name="statistics_scroll">
+ <container_view name="statistics_view">
+ <stat_view label="基本" name="basic">
+ <stat_bar label="幀像素差" name="frame difference"/>
+ <stat_bar label="已收到UDP資料" name="bandwidth"/>
+ <stat_bar label="封包損失" name="packet_loss"/>
+ </stat_view>
+ <stat_view label="進階" name="advanced">
+ <stat_view label="呈像" name="render">
+ <stat_bar label="物件總計" name="objs"/>
+ <stat_bar label="新物件" name="newobjs"/>
+ <stat_bar label="物件快取讀取率" name="object_cache_hits"/>
+ </stat_view>
+ <stat_view label="材質" name="texture">
+ <stat_bar label="快取讀取率" name="texture_cache_hits"/>
+ <stat_bar label="快取讀取延遲" name="texture_cache_read_latency"/>
+ <stat_bar label="計數" name="numimagesstat"/>
+ <stat_bar label="原始計數" name="numrawimagesstat"/>
+ </stat_view>
+ <stat_view label="網路" name="network">
+ <stat_bar label="進入封包" name="packetsinstat"/>
+ <stat_bar label="出去封包" name="packetsoutstat"/>
+ <stat_bar label="物件" name="objectdatareceived"/>
+ <stat_bar label="材質" name="texturedatareceived"/>
+ <stat_bar label="資產" name="assetudpdatareceived"/>
+ <stat_bar label="層次" name="layersdatareceived"/>
+ <stat_bar label="實入" name="messagedatain"/>
+ <stat_bar label="實出" name="messagedataout"/>
+ <stat_bar label="VFS 待行作業" name="vfspendingoperations"/>
+ </stat_view>
+ </stat_view>
+ <stat_view label="模擬器" name="sim">
+ <stat_bar label="物件" name="simobjects"/>
+ <stat_bar label="使用中物件" name="simactiveobjects"/>
+ <stat_bar label="使用中腳本" name="simactivescripts"/>
+ <stat_bar label="進入封包" name="siminpps"/>
+ <stat_bar label="出去封包" name="simoutpps"/>
+ <stat_bar label="擱置下載" name="simpendingdownloads"/>
+ <stat_bar label="擱置上傳" name="simpendinguploads"/>
+ <stat_bar label="未承認的總位元組數" name="simtotalunackedbytes"/>
+ <stat_view label="時間(毫秒)" name="simperf">
+ <stat_bar label="總幀時間" name="simframemsec"/>
+ <stat_bar label="淨時間" name="simnetmsec"/>
+ <stat_bar label="物理時間" name="simsimphysicsmsec"/>
+ <stat_bar label="模擬時間" name="simsimothermsec"/>
+ <stat_bar label="用戶時間" name="simagentmsec"/>
+ <stat_bar label="圖像時間" name="simimagesmsec"/>
+ <stat_bar label="腳本時間" name="simscriptmsec"/>
+ <stat_bar label="閒置時間" name="simsparemsec"/>
+ <stat_view label="時間細節(毫秒)" name="timedetails">
+ <stat_bar label="物理步驟" name="simsimphysicsstepmsec"/>
+ <stat_bar label="更新物理形狀" name="simsimphysicsshapeupdatemsec"/>
+ <stat_bar label="物理(其他)" name="simsimphysicsothermsec"/>
+ <stat_bar label="睡眠時間" name="simsleepmsec"/>
+ <stat_bar label="基礎網路輸出入" name="simpumpiomsec"/>
+ </stat_view>
+ </stat_view>
+ </stat_view>
+ </container_view>
+ </scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/zh/floater_stats.xml b/indra/newview/skins/default/xui/zh/floater_stats.xml
index 36c810a7b9..282e61e73d 100755
--- a/indra/newview/skins/default/xui/zh/floater_stats.xml
+++ b/indra/newview/skins/default/xui/zh/floater_stats.xml
@@ -4,18 +4,20 @@
<container_view name="statistics_view">
<stat_view label="基本" name="basic">
<stat_bar label="每秒幀數" name="fps"/>
- <stat_bar label="頻寬" name="bandwidth"/>
+ <stat_bar label="已收到UDP資料" name="bandwidth"/>
<stat_bar label="封包損失" name="packet_loss"/>
<stat_bar label="探詢模擬器有無反應" name="ping"/>
</stat_view>
<stat_view label="進階" name="advanced">
<stat_view label="呈像" name="render">
- <stat_bar label="繪出的 KTris(每幀)" name="ktrisframe"/>
- <stat_bar label="繪出的 KTris(每秒)" name="ktrissec"/>
- <stat_bar label="物件總計" name="totalobjs"/>
- <stat_bar label="存入快取的物件" name="cachedobjs"/>
+ <stat_bar label="KTris(每幀)" name="ktrisframe"/>
+ <stat_bar label="KTris(每秒)" name="ktrissec"/>
+ <stat_bar label="物件總計" name="objs"/>
<stat_bar label="新物件" name="newobjs"/>
<stat_bar label="物件快取讀取率" name="object_cache_hits"/>
+ <stat_bar label="已執行遮蔽查詢" name="occlusion_queries"/>
+ <stat_bar label="物件已遮蔽" name="occluded"/>
+ <stat_bar label="物件已解除遮蔽" name="unoccluded"/>
</stat_view>
<stat_view label="材質" name="texture">
<stat_bar label="快取讀取率" name="texture_cache_hits"/>
@@ -27,9 +29,32 @@
<stat_bar label="原始記憶" name="rawmemstat"/>
<stat_bar label="界限記憶" name="glboundmemstat"/>
</stat_view>
+ <stat_view label="記憶體使用狀況" name="memory">
+ <stat_bar label="LLTrace" name="LLTrace"/>
+ <stat_bar label="使用者界面" name="LLView"/>
+ <stat_bar label="字型" name="LLFontFreetype"/>
+ <stat_bar label="收納區" name="LLInventoryObject"/>
+ <stat_bar label="Viewer物件" name="LLViewerObject"/>
+ <stat_bar label="八叉樹群資料" name="LLViewerOctreeGroup"/>
+ <stat_bar label="八叉樹資料" name="LLViewerOctreeEntry"/>
+ <stat_bar label="Viewer物件快取" name="LLVOCacheEntry"/>
+ <stat_bar label="可繪物件" name="LLDrawable"/>
+ <stat_bar label="臉部資料" name="LLFace"/>
+ <stat_bar label="描繪資訊" name="LLDrawInfo"/>
+ <stat_bar label="材質資料" name="LLTexture"/>
+ <stat_bar label="圖像資料" name="LLImage"/>
+ <stat_bar label="GL圖像資料" name="LLImageGL"/>
+ <stat_bar label="頂點緩衝" name="LLVertexBuffer"/>
+ </stat_view>
<stat_view label="網路" name="network">
<stat_bar label="進入封包" name="packetsinstat"/>
<stat_bar label="出去封包" name="packetsoutstat"/>
+ <stat_bar label="物件" name="objectdatareceived"/>
+ <stat_bar label="材質" name="texturedatareceived"/>
+ <stat_bar label="資產" name="assetudpdatareceived"/>
+ <stat_bar label="層次" name="layersdatareceived"/>
+ <stat_bar label="實入" name="messagedatain"/>
+ <stat_bar label="實出" name="messagedataout"/>
<stat_bar label="VFS 待行作業" name="vfspendingoperations"/>
</stat_view>
</stat_view>
@@ -59,8 +84,8 @@
<stat_bar label="出去封包" name="simoutpps"/>
<stat_bar label="擱置下載" name="simpendingdownloads"/>
<stat_bar label="擱置上傳" name="simpendinguploads"/>
- <stat_bar label="未承認的總位元組數" name="simtotalunackedbytes"/>
- <stat_view label="時間(毫秒)" name="simperf">
+ <stat_bar label="未承認的總資料" name="simtotalunackedbytes"/>
+ <stat_view label="時間" name="simperf">
<stat_bar label="總禎時間" name="simframemsec"/>
<stat_bar label="淨時間" name="simnetmsec"/>
<stat_bar label="物理時間" name="simsimphysicsmsec"/>
@@ -69,7 +94,7 @@
<stat_bar label="圖像時間" name="simimagesmsec"/>
<stat_bar label="腳本時間" name="simscriptmsec"/>
<stat_bar label="閒置時間" name="simsparemsec"/>
- <stat_view label="時間細節(毫秒)" name="timedetails">
+ <stat_view label="時間細節" name="timedetails">
<stat_bar label="物理步驟" name="simsimphysicsstepmsec"/>
<stat_bar label="更新物理形狀" name="simsimphysicsshapeupdatemsec"/>
<stat_bar label="物理(其他)" name="simsimphysicsothermsec"/>
diff --git a/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml b/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml
index ef0986a13b..cefb395256 100755
--- a/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml
+++ b/indra/newview/skins/default/xui/zh/menu_avatar_icon.xml
@@ -2,6 +2,7 @@
<menu name="Avatar Icon Menu">
<menu_item_call label="察看檔案" name="Show Profile"/>
<menu_item_call label="送出 IM..." name="Send IM"/>
+ <menu_item_call label="要求瞬間傳送" name="Request Teleport"/>
<menu_item_call label="加為朋友..." name="Add Friend"/>
<menu_item_call label="移除朋友..." name="Remove Friend"/>
</menu>
diff --git a/indra/newview/skins/default/xui/zh/menu_inventory.xml b/indra/newview/skins/default/xui/zh/menu_inventory.xml
index 7f745ffaa7..478f987035 100755
--- a/indra/newview/skins/default/xui/zh/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/zh/menu_inventory.xml
@@ -70,6 +70,7 @@
<menu_item_call label="播放" name="Sound Play"/>
<menu_item_call label="覆製 SLurl" name="url_copy"/>
<menu_item_call label="添加地標" name="About Landmark"/>
+ <menu_item_call label="顯示在地圖上" name="show_on_map"/>
<menu_item_call label="在虛擬世界播放" name="Animation Play"/>
<menu_item_call label="在本地播放" name="Animation Audition"/>
<menu_item_call label="送出即時訊息" name="Send Instant Message"/>
diff --git a/indra/newview/skins/default/xui/zh/menu_login.xml b/indra/newview/skins/default/xui/zh/menu_login.xml
index 1d3d771efb..4a1e2f4364 100755
--- a/indra/newview/skins/default/xui/zh/menu_login.xml
+++ b/indra/newview/skins/default/xui/zh/menu_login.xml
@@ -5,7 +5,15 @@
<menu_item_call label="退出 [APP_NAME]" name="Quit"/>
</menu>
<menu label="幫助" name="Help">
- <menu_item_call label="[SECOND_LIFE] 幫助" name="Second Life Help"/>
+ <menu_item_call label="簡易教學…" name="How To"/>
+ <menu_item_call label="快速上手" name="Quickstart"/>
+ <menu_item_call label="知識庫" name="Knowledge Base"/>
+ <menu_item_call label="維基" name="Wiki"/>
+ <menu_item_call label="社群論壇" name="Community Forums"/>
+ <menu_item_call label="支援入口" name="Support portal"/>
+ <menu_item_call label="[SECOND_LIFE] 最新消息" name="Second Life News"/>
+ <menu_item_call label="[SECOND_LIFE] 部落格" name="Second Life Blogs"/>
+ <menu_item_call label="回報錯誤" name="Report Bug"/>
<menu_item_call label="關於 [APP_NAME]" name="About Second Life"/>
</menu>
<menu_item_check label="顯示除錯選單" name="Show Debug Menu"/>
diff --git a/indra/newview/skins/default/xui/zh/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/zh/menu_teleport_history_item.xml
index c636e108ad..bf60983896 100755
--- a/indra/newview/skins/default/xui/zh/menu_teleport_history_item.xml
+++ b/indra/newview/skins/default/xui/zh/menu_teleport_history_item.xml
@@ -2,5 +2,5 @@
<context_menu name="Teleport History Item Context Menu">
<menu_item_call label="瞬間傳送" name="Teleport"/>
<menu_item_call label="更多資訊" name="More Information"/>
- <menu_item_call label="覆製到剪貼簿" name="CopyToClipboard"/>
+ <menu_item_call label="覆製 SLurl" name="CopyToClipboard"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/zh/menu_viewer.xml b/indra/newview/skins/default/xui/zh/menu_viewer.xml
index d859c4603b..46d46e901c 100755
--- a/indra/newview/skins/default/xui/zh/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/zh/menu_viewer.xml
@@ -187,6 +187,7 @@
<menu label="效能工具" name="Performance Tools">
<menu_item_call label="Lag 測量器" name="Lag Meter"/>
<menu_item_check label="統計列" name="Statistics Bar"/>
+ <menu_item_call label="場景負載統計資料" name="Scene Load Statistics"/>
<menu_item_check label="顯示化身的繪製重量" name="Avatar Rendering Cost"/>
</menu>
<menu label="高亮顯示與可見度" name="Highlighting and Visibility">
@@ -249,6 +250,7 @@
<menu_item_check label="快速碼錶" name="Fast Timers"/>
<menu_item_check label="記憶體" name="Memory"/>
<menu_item_check label="場景統計資料" name="Scene Statistics"/>
+ <menu_item_check label="場景載入監控器" name="Scene Loading Monitor"/>
<menu_item_call label="材質擷取除錯控制台" name="Texture Fetch Debug Console"/>
<menu_item_call label="地區資訊傳至除錯控制台" name="Region Info to Debug Console"/>
<menu_item_call label="群組資訊至除錯控制台" name="Group Info to Debug Console"/>
@@ -285,6 +287,7 @@
<menu_item_check label="定期出現慢幀率" name="Periodic Slow Frame"/>
<menu_item_check label="畫面測試" name="Frame Test"/>
<menu_item_call label="幀特性" name="Frame Profile"/>
+ <menu_item_call label="標竿測試" name="Benchmark"/>
</menu>
<menu label="呈像的元資料" name="Render Metadata">
<menu_item_check label="外框箱" name="Bounding Boxes"/>
@@ -304,6 +307,7 @@
<menu_item_check label="燈光" name="Lights"/>
<menu_item_check label="粒子效果" name="Particles"/>
<menu_item_check label="碰撞骨架" name="Collision Skeleton"/>
+ <menu_item_check label="接點" name="Joints"/>
<menu_item_check label="光線投射" name="Raycast"/>
<menu_item_check label="風力向量" name="Wind Vectors"/>
<menu_item_check label="繪出複雜度" name="rendercomplexity"/>
@@ -336,6 +340,7 @@
<menu_item_check label="使附著燈光呈像" name="Render Attached Lights"/>
<menu_item_check label="使附著例子效果呈像" name="Render Attached Particles"/>
<menu_item_check label="停懸發光物件" name="Hover Glow Objects"/>
+ <menu_item_call label="立即清除快取" name="Cache Clear"/>
</menu>
<menu label="網路" name="Network">
<menu_item_check label="暫停用戶" name="AgentPause"/>
diff --git a/indra/newview/skins/default/xui/zh/notifications.xml b/indra/newview/skins/default/xui/zh/notifications.xml
index 3da5c15b56..46cbaa60b1 100755
--- a/indra/newview/skins/default/xui/zh/notifications.xml
+++ b/indra/newview/skins/default/xui/zh/notifications.xml
@@ -114,15 +114,15 @@
<usetemplate name="okbutton" yestext="確定"/>
</notification>
<notification name="OutboxImportFailed">
- 轉移失敗
+ 傳送失敗,錯誤碼 &apos;[ERROR_CODE]&apos;
未將任何資料夾送往第二人生購物市集,系統或網路出錯。 請稍候再試一次。
<usetemplate name="okbutton" yestext="確定"/>
</notification>
<notification name="OutboxInitFailed">
- 第二人生購物市集初始化失敗
+ 購物市集初始化失敗,錯誤碼 &apos;[ERROR_CODE]&apos;
-第二人生購物市集初始化失敗,系統或網路出錯。 請稍候再試一次。
+購物市集初始化失敗,系統或網路出錯。 請稍候再試一次。
<usetemplate name="okbutton" yestext="確定"/>
</notification>
<notification name="CompileQueueSaveText">
@@ -210,22 +210,6 @@
你仍要新增這項能力給「[ROLE_NAME]」?
<usetemplate name="okcancelbuttons" notext="否" yestext="是"/>
</notification>
- <notification name="AssignBanAbilityWarning">
- 你即將把「[ACTION_NAME]」能力增加給「[ROLE_NAME]」角色。
-
- *警告*
-任何擔任帶有此能力的角色的成員,將連帶得到「[ACTION_NAME_2]」和「[ACTION_NAME_3]」能力。
- <usetemplate name="okbutton" yestext="確定"/>
- </notification>
- <notification name="RemoveBanAbilityWarning">
- 你即將剝除「[ROLE_NAME]」角色的「[ACTION_NAME]」能力。
-
- *警告*
-剝除這個能力,將不連帶剝除「[ACTION_NAME_2]」和「[ACTION_NAME_3]」能力。
-
-如果你不希望讓這個角色繼續擁有這些能力,請立即取消它們!
- <usetemplate name="okbutton" yestext="確定"/>
- </notification>
<notification name="EjectGroupMemberWarning">
你即將把 [AVATAR_NAME] 踢出群組。
<usetemplate ignoretext="確定將某人踢出群組" name="okcancelignore" notext="取消" yestext="踢出"/>
@@ -1585,14 +1569,6 @@ SHA1 指紋:[MD5_DIGEST]
無法離開群組。 你是此群組僅存的所有人,不得離開群組。 請先把所有人職銜指派給另一人。
<usetemplate name="okbutton" yestext="確定"/>
</notification>
- <notification name="GroupDepartError">
- 無法離開群組:[reason]。
- <usetemplate name="okbutton" yestext="確定"/>
- </notification>
- <notification name="GroupDepart">
- 你已經離開[group_name]群組。
- <usetemplate name="okbutton" yestext="確定"/>
- </notification>
<notification name="ConfirmKick">
你確定要踢出這網格內的全部居民?
<usetemplate name="okcancelbuttons" notext="取消" yestext="踢出全部居民"/>
@@ -1746,6 +1722,10 @@ SHA1 指紋:[MD5_DIGEST]
你確定要瞬間傳送到&lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
<usetemplate ignoretext="確認我要瞬間傳送到某個地標" name="okcancelignore" notext="取消" yestext="瞬間傳送"/>
</notification>
+ <notification name="TeleportViaSLAPP">
+ 你確定要瞬間傳送到&lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
+ <usetemplate ignoretext="確認我要透過SLAPP瞬間傳送" name="okcancelignore" notext="取消" yestext="瞬間傳送"/>
+ </notification>
<notification name="TeleportToPick">
瞬間傳送到 [PICK]?
<usetemplate ignoretext="確認我要瞬間傳送到精選地點的所在位置" name="okcancelignore" notext="取消" yestext="瞬間傳送"/>
@@ -1955,6 +1935,9 @@ SHA1 指紋:[MD5_DIGEST]
<notification name="ProblemAddingEstateManager">
新增領地管理人時出問題。 其中一個領地的管理人清單可能已經額滿。
</notification>
+ <notification name="ProblemAddingEstateBanManager">
+ 無法把領地所有人或管理員加入領地的封鎖名單中。
+ </notification>
<notification name="ProblemAddingEstateGeneric">
新增到這個領地清單時出問題。 其中一個領地的清單可能已滿。
</notification>
@@ -2467,12 +2450,6 @@ SHA1 指紋:[MD5_DIGEST]
<notification name="SystemMessage">
[MESSAGE]
</notification>
- <notification name="FlickrConnect">
- [MESSAGE]
- </notification>
- <notification name="TwitterConnect">
- [MESSAGE]
- </notification>
<notification name="PaymentReceived">
[MESSAGE]
</notification>
@@ -3049,7 +3026,7 @@ SHA1 指紋:[MD5_DIGEST]
居民:
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="取消" yestext="確定"/>
</notification>
<notification name="ShareFolderConfirmation">
@@ -3061,7 +3038,7 @@ SHA1 指紋:[MD5_DIGEST]
居民:
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
<usetemplate name="okcancelbuttons" notext="取消" yestext="確定"/>
</notification>
<notification name="ItemsShared">
@@ -3706,6 +3683,9 @@ SHA1 指紋:[MD5_DIGEST]
<notification name="LinkFailedTooMuchPhysics">
物件使用了過多物理資源,其動態特性已被停用。
</notification>
+ <notification name="EstateManagerFailedllTeleportHome">
+ 位於[SLURL]的物件&apos;[OBJECT_NAME]&apos;無法將領地管理員瞬間傳送回家。
+ </notification>
<notification name="TeleportedHomeByObjectOnParcel">
你已被 &apos;[PARCEL_NAME]&apos; 地段的物件 &apos;[OBJECT_NAME]&apos; 成功瞬間傳送回家
</notification>
@@ -3896,13 +3876,18 @@ SHA1 指紋:[MD5_DIGEST]
未選取足夠租用地段,無法合併。
</notification>
<notification name="CantDivideLandMultipleParcelsSelected">
- 無法分割土地,\n因為你選取了多個地段,\n請縮小所選土地。
+ 無法分割土地。
+選取了超過一個地段。
+請試著縮小所選的土地。
</notification>
<notification name="CantDivideLandCantFindParcel">
- 無法分割土地。\n找不到地段。\n請到「幫助 &gt; 回報錯誤……」回報問題
+ 無法分割土地。
+找不到地段。
+請到「幫助-&gt;回報錯誤」回報問題
</notification>
<notification name="CantDivideLandWholeParcelSelected">
- 無法分割土地。 選取了整個地段。\n請試著縮小所選的土地。
+ 無法分割土地。 選擇了整個地段。
+請試著縮小所選的土地。
</notification>
<notification name="LandHasBeenDivided">
土地分割成功。
@@ -4042,8 +4027,8 @@ SHA1 指紋:[MD5_DIGEST]
無法移動檔案。 已恢復前一個路徑。
<usetemplate ignoretext="無法移動檔案。 已恢復前一個路徑。" name="okignore" yestext="確定"/>
</notification>
- <notification name="DefaultObjectPermissions">
- 儲存預設權限時出問題,原因:[REASON]。 請稍後再嘗試儲存預設權限。
+ <notification name="ChatHistoryIsBusyAlert">
+ 聊天紀錄檔案還在處理前一個動作。 請稍候再試,或請換一個聊天對象。
<usetemplate name="okbutton" yestext="確定"/>
</notification>
</notifications>
diff --git a/indra/newview/skins/default/xui/zh/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/zh/panel_group_info_sidetray.xml
index f979a4c53e..43e3507961 100755
--- a/indra/newview/skins/default/xui/zh/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/zh/panel_group_info_sidetray.xml
@@ -20,7 +20,7 @@
<layout_panel name="group_accordions">
<accordion name="groups_accordion">
<accordion_tab name="group_general_tab" title="基本資料"/>
- <accordion_tab name="group_roles_tab" title="角色"/>
+ <accordion_tab name="group_roles_tab" title="角色與成員"/>
<accordion_tab name="group_notices_tab" title="通知"/>
<accordion_tab name="group_land_tab" title="土地 / 資產"/>
</accordion>
diff --git a/indra/newview/skins/default/xui/zh/panel_group_roles.xml b/indra/newview/skins/default/xui/zh/panel_group_roles.xml
index 0a176ebaa0..b4b32c204a 100755
--- a/indra/newview/skins/default/xui/zh/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/zh/panel_group_roles.xml
@@ -21,6 +21,7 @@
<name_list.columns label="成員" name="name"/>
<name_list.columns label="捐款" name="donated"/>
<name_list.columns label="狀態" name="online"/>
+ <name_list.columns label="頭銜" name="title"/>
</name_list>
<button label="邀請" name="member_invite"/>
<button label="踢出" name="member_eject"/>
diff --git a/indra/newview/skins/default/xui/zh/panel_region_debug.xml b/indra/newview/skins/default/xui/zh/panel_region_debug.xml
index e5d5e6eaf7..0bb59a7b14 100755
--- a/indra/newview/skins/default/xui/zh/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/zh/panel_region_debug.xml
@@ -28,7 +28,8 @@
<check_box label="於這個領地內的每一個地區" name="return_estate_wide" tool_tip="退回這個領地內全部地區中標記為他的物件"/>
<button label="退回" name="return_btn"/>
<button label="取得最常碰撞的物件..." name="top_colliders_btn" tool_tip="條列出目前運作中最常碰撞的物件清單"/>
- <button label="取得最耗能腳本..." name="top_scripts_btn" tool_tip="條列���目前運作中最耗能的腳本清單"/>
<button label="地區重新啟動" name="restart_btn" tool_tip="給予兩分鐘倒數計時並重新啟動"/>
+ <button label="取得最耗能腳本..." name="top_scripts_btn" tool_tip="條列���目前運作中最耗能的腳本清單"/>
<button label="取消重新啟動" name="cancel_restart_btn" tool_tip="取消地區重新啟動"/>
+ <button label="地區除錯控制台" name="region_debug_console_btn" tool_tip="開啟地區除錯控制台"/>
</panel>
diff --git a/indra/newview/skins/default/xui/zh/panel_region_general.xml b/indra/newview/skins/default/xui/zh/panel_region_general.xml
index f6b2c46354..0ce3b659b2 100755
--- a/indra/newview/skins/default/xui/zh/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/zh/panel_region_general.xml
@@ -20,12 +20,12 @@
</text>
<check_box label="阻止土地變形" name="block_terraform_check"/>
<check_box label="阻止飛行" name="block_fly_check"/>
+ <check_box label="禁止飛越地段" name="block_fly_over_check" tool_tip="將出入管制往上空擴大,一併禁止飛越地段"/>
<check_box label="允許傷害" name="allow_damage_check"/>
<check_box label="限制推撞" name="restrict_pushobject"/>
<check_box label="允許土地轉售" name="allow_land_resell_check"/>
<check_box label="允許土地 合併/分割" name="allow_parcel_changes_check"/>
<check_box label="阻擋土地顯示於搜尋中" name="block_parcel_search_check" tool_tip="讓其他人可以在搜尋結果中看到這個地區與其中的地段"/>
- <check_box label="允許網面物件" name="mesh_rez_enabled_check" tool_tip="允許大家在此地區產生網面物件"/>
<spinner label="人數上限" name="agent_limit_spin"/>
<spinner label="物件紅利" name="object_bonus_spin"/>
<text label="分級" name="access_text">
diff --git a/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml b/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml
index 4034a7154f..54ea7cab22 100755
--- a/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/zh/sidepanel_inventory.xml
@@ -25,15 +25,15 @@
<panel name="button_panel">
<layout_stack name="button_panel_ls">
<layout_panel name="info_btn_lp">
- <button label="檔案" name="info_btn" tool_tip="顯示物件檔案"/>
+ <button label="檔案" name="info_btn" tool_tip="顯示物件簡介"/>
</layout_panel>
<layout_panel name="share_btn_lp">
<button label="分享" name="share_btn" tool_tip="分享一個收納區物品"/>
</layout_panel>
<layout_panel name="shop_btn_lp">
- <button label="購物" name="shop_btn" tool_tip="開啟 Marketplace 購物市集網頁"/>
+ <button label="購物" name="shop_btn" tool_tip="開啟購物市集網頁"/>
<button label="穿上" name="wear_btn" tool_tip="穿上所選擇的裝扮"/>
- <button label="播放" name="play_btn"/>
+ <button label="遊戲" name="play_btn"/>
<button label="瞬間傳送" name="teleport_btn" tool_tip="瞬間傳送到所選的區域"/>
</layout_panel>
</layout_stack>
diff --git a/indra/newview/skins/default/xui/zh/strings.xml b/indra/newview/skins/default/xui/zh/strings.xml
index 5d85baa0fd..ad2c331ee4 100755
--- a/indra/newview/skins/default/xui/zh/strings.xml
+++ b/indra/newview/skins/default/xui/zh/strings.xml
@@ -37,6 +37,45 @@
<string name="StartupRequireDriverUpdate">
顯像初始化失敗。 請更新你的顯像卡驅動程式!
</string>
+ <string name="AboutHeader">
+ [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])
+[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]
+ </string>
+ <string name="AboutCompiler">
+ 以 [COMPILER_VERSION] 版本 [COMPILER] 建置
+ </string>
+ <string name="AboutPosition">
+ 你的方位是 [POSITION_LOCAL_0,number,1], [POSITION_LOCAL_1,number,1], [POSITION_LOCAL_2,number,1],地區名:[REGION],主機:&lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
+第二人生URL:&lt;nolink&gt;[SLURL]&lt;/nolink&gt;
+(全域坐標:[POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1])
+[SERVER_VERSION]
+[SERVER_RELEASE_NOTES_URL]
+ </string>
+ <string name="AboutSystem">
+ CPU:[CPU]
+記憶體:[MEMORY_MB] MB
+作業系統版本:[OS_VERSION]
+顯示卡供應商:[GRAPHICS_CARD_VENDOR]
+顯示卡:[GRAPHICS_CARD]
+ </string>
+ <string name="AboutDriver">
+ Windows 顯示驅動程式版本:[GRAPHICS_DRIVER_VERSION]
+ </string>
+ <string name="AboutLibs">
+ OpenGL 版本:[OPENGL_VERSION]
+
+libcurl 版本: [LIBCURL_VERSION]
+J2C 解碼器版本: [J2C_VERSION]
+音效驅動程式版本: [AUDIO_DRIVER_VERSION]
+Qt Webkit 版本: [QT_WEBKIT_VERSION]
+語音伺服器版本: [VOICE_VERSION]
+ </string>
+ <string name="AboutTraffic">
+ 封包丟失:[PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+ </string>
+ <string name="ErrorFetchingServerReleaseNotesURL">
+ 擷取伺服器版本說明 URL 時出錯。
+ </string>
<string name="ProgressRestoring">
回存中...
</string>
@@ -1366,6 +1405,18 @@ http://secondlife.com/viewer-access-faq
<string name="InventoryOutboxNoItems">
將資料夾拖曳到這個區域,再點按「送往第二人生購物市集」,即可在[[MARKETPLACE_DASHBOARD_URL]第二人生購物市集]登列出售。
</string>
+ <string name="InventoryOutboxInitializingTitle">
+ 正在初始化購物市集。
+ </string>
+ <string name="InventoryOutboxInitializing">
+ 我們正在求取你的[[MARKETPLACE_CREATE_STORE_URL] 購物市集商店]帳戶。
+ </string>
+ <string name="InventoryOutboxErrorTitle">
+ 購物市集出錯。
+ </string>
+ <string name="InventoryOutboxError">
+ [[MARKETPLACE_CREATE_STORE_URL] 購物市集商店]正傳回錯誤。
+ </string>
<string name="Marketplace Error None">
零錯誤
</string>
@@ -1393,6 +1444,9 @@ http://secondlife.com/viewer-access-faq
<string name="Open landmarks">
開啟地標
</string>
+ <string name="Unconstrained">
+ 不受限
+ </string>
<string name="no_transfer" value="(禁止轉讓)"/>
<string name="no_modify" value="(禁止修改)"/>
<string name="no_copy" value="(禁止複製)"/>
@@ -1793,6 +1847,9 @@ http://secondlife.com/viewer-access-faq
<string name="CompileQueueDownloadedCompiling">
已下載,正在編譯中
</string>
+ <string name="CompileQueueServiceUnavailable">
+ 腳本編譯服務無法使用
+ </string>
<string name="CompileQueueScriptNotFound">
伺服器上未發現腳本。
</string>