summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/cmake/LLPathingLib.cmake5
-rw-r--r--indra/llaudio/llaudioengine.cpp23
-rw-r--r--indra/llaudio/llaudioengine.h1
-rw-r--r--indra/llcommon/llqueuedthread.cpp4
-rw-r--r--indra/llcommon/llqueuedthread.h4
-rw-r--r--indra/llcommon/llsys.cpp18
-rw-r--r--indra/llcommon/llversionviewer.h2
-rw-r--r--indra/llcommon/llworkerthread.cpp2
-rw-r--r--indra/llcommon/llworkerthread.h2
-rw-r--r--indra/llimage/llimageworker.cpp2
-rw-r--r--indra/llimage/llimageworker.h2
-rw-r--r--indra/llmath/lloctree.h36
-rw-r--r--indra/llmath/llvolume.cpp85
-rw-r--r--indra/llmessage/llcurl.cpp6
-rw-r--r--indra/llmessage/llcurl.h2
-rw-r--r--indra/llmessage/llurlrequest.cpp6
-rw-r--r--indra/llrender/llglslshader.cpp2
-rw-r--r--indra/llrender/llglslshader.h1
-rw-r--r--indra/llrender/llrendertarget.cpp3
-rw-r--r--indra/llrender/llshadermgr.cpp20
-rw-r--r--indra/llui/lltoolbar.cpp9
-rw-r--r--indra/llui/lltoolbar.h1
-rw-r--r--indra/llui/llview.cpp11
-rw-r--r--indra/llwindow/llwindowwin32.cpp31
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/alphaSkinnedV.glsl3
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/cofF.glsl7
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/dofCombineF.glsl2
-rw-r--r--indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl40
-rw-r--r--indra/newview/llappviewer.cpp8
-rw-r--r--indra/newview/llavatariconctrl.cpp3
-rw-r--r--indra/newview/lldrawpoolbump.cpp79
-rw-r--r--indra/newview/llfloaterimagepreview.cpp11
-rw-r--r--indra/newview/llfloaterpathfindingconsole.cpp26
-rw-r--r--indra/newview/llfloaterpathfindingconsole.h10
-rw-r--r--indra/newview/llfloaterpathfindinglinksets.cpp883
-rw-r--r--indra/newview/llfloaterpathfindinglinksets.h124
-rw-r--r--indra/newview/llinventorymodel.h1
-rw-r--r--indra/newview/llnavmeshstation.cpp350
-rw-r--r--indra/newview/llnavmeshstation.h187
-rw-r--r--indra/newview/llspatialpartition.cpp58
-rw-r--r--indra/newview/llspatialpartition.h2
-rw-r--r--indra/newview/lltexturecache.cpp2
-rw-r--r--indra/newview/lltexturecache.h2
-rw-r--r--indra/newview/lltexturefetch.cpp2
-rw-r--r--indra/newview/lltexturefetch.h2
-rw-r--r--indra/newview/llviewerdisplay.cpp2
-rw-r--r--indra/newview/llviewerregion.cpp3
-rw-r--r--indra/newview/llviewerregion.h3
-rw-r--r--indra/newview/llviewershadermgr.cpp5
-rw-r--r--indra/newview/llviewertexture.cpp54
-rw-r--r--indra/newview/llviewertexturelist.cpp3
-rw-r--r--indra/newview/llviewerwindow.cpp3
-rw-r--r--indra/newview/pipeline.cpp707
-rw-r--r--indra/newview/skins/default/xui/de/floater_about.xml48
-rw-r--r--indra/newview/skins/default/xui/de/floater_about_land.xml17
-rw-r--r--indra/newview/skins/default/xui/de/floater_avatar.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_buy_currency.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_camera.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_hardware_settings.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_model_preview.xml5
-rw-r--r--indra/newview/skins/default/xui/de/floater_model_wizard.xml3
-rw-r--r--indra/newview/skins/default/xui/de/floater_moveview.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_snapshot.xml122
-rw-r--r--indra/newview/skins/default/xui/de/floater_toybox.xml3
-rw-r--r--indra/newview/skins/default/xui/de/floater_translation_settings.xml58
-rw-r--r--indra/newview/skins/default/xui/de/floater_voice_controls.xml8
-rw-r--r--indra/newview/skins/default/xui/de/menu_toolbars.xml3
-rw-r--r--indra/newview/skins/default/xui/de/menu_viewer.xml58
-rw-r--r--indra/newview/skins/default/xui/de/notifications.xml34
-rw-r--r--indra/newview/skins/default/xui/de/panel_edit_skin.xml6
-rw-r--r--indra/newview/skins/default/xui/de/panel_postcard_message.xml21
-rw-r--r--indra/newview/skins/default/xui/de/panel_postcard_settings.xml23
-rw-r--r--indra/newview/skins/default/xui/de/panel_preferences_chat.xml27
-rw-r--r--indra/newview/skins/default/xui/de/panel_preferences_setup.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_snapshot_inventory.xml21
-rw-r--r--indra/newview/skins/default/xui/de/panel_snapshot_local.xml39
-rw-r--r--indra/newview/skins/default/xui/de/panel_snapshot_options.xml7
-rw-r--r--indra/newview/skins/default/xui/de/panel_snapshot_postcard.xml17
-rw-r--r--indra/newview/skins/default/xui/de/panel_snapshot_profile.xml28
-rw-r--r--indra/newview/skins/default/xui/de/strings.xml61
-rw-r--r--indra/newview/skins/default/xui/de/teleport_strings.xml4
-rw-r--r--indra/newview/skins/default/xui/en/floater_model_wizard.xml32
-rw-r--r--indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml46
-rw-r--r--indra/newview/skins/default/xui/es/floater_about.xml48
-rw-r--r--indra/newview/skins/default/xui/es/floater_about_land.xml17
-rw-r--r--indra/newview/skins/default/xui/es/floater_avatar.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_camera.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_hardware_settings.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_model_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/es/floater_model_wizard.xml3
-rw-r--r--indra/newview/skins/default/xui/es/floater_moveview.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_snapshot.xml122
-rw-r--r--indra/newview/skins/default/xui/es/floater_toybox.xml3
-rw-r--r--indra/newview/skins/default/xui/es/floater_translation_settings.xml58
-rw-r--r--indra/newview/skins/default/xui/es/floater_voice_controls.xml8
-rw-r--r--indra/newview/skins/default/xui/es/menu_toolbars.xml3
-rw-r--r--indra/newview/skins/default/xui/es/menu_viewer.xml58
-rw-r--r--indra/newview/skins/default/xui/es/notifications.xml38
-rw-r--r--indra/newview/skins/default/xui/es/panel_edit_skin.xml6
-rw-r--r--indra/newview/skins/default/xui/es/panel_nearby_chat.xml2
-rw-r--r--indra/newview/skins/default/xui/es/panel_postcard_message.xml21
-rw-r--r--indra/newview/skins/default/xui/es/panel_postcard_settings.xml23
-rw-r--r--indra/newview/skins/default/xui/es/panel_preferences_chat.xml27
-rw-r--r--indra/newview/skins/default/xui/es/panel_preferences_setup.xml2
-rw-r--r--indra/newview/skins/default/xui/es/panel_snapshot_inventory.xml21
-rw-r--r--indra/newview/skins/default/xui/es/panel_snapshot_local.xml39
-rw-r--r--indra/newview/skins/default/xui/es/panel_snapshot_options.xml7
-rw-r--r--indra/newview/skins/default/xui/es/panel_snapshot_postcard.xml17
-rw-r--r--indra/newview/skins/default/xui/es/panel_snapshot_profile.xml28
-rw-r--r--indra/newview/skins/default/xui/es/strings.xml61
-rw-r--r--indra/newview/skins/default/xui/es/teleport_strings.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/floater_about.xml48
-rw-r--r--indra/newview/skins/default/xui/fr/floater_about_land.xml17
-rw-r--r--indra/newview/skins/default/xui/fr/floater_avatar.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/floater_buy_currency.xml8
-rw-r--r--indra/newview/skins/default/xui/fr/floater_camera.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/floater_hardware_settings.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/floater_model_preview.xml5
-rw-r--r--indra/newview/skins/default/xui/fr/floater_model_wizard.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/floater_moveview.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/floater_snapshot.xml122
-rw-r--r--indra/newview/skins/default/xui/fr/floater_toybox.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/floater_translation_settings.xml58
-rw-r--r--indra/newview/skins/default/xui/fr/floater_voice_controls.xml8
-rw-r--r--indra/newview/skins/default/xui/fr/menu_toolbars.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/menu_viewer.xml60
-rw-r--r--indra/newview/skins/default/xui/fr/notifications.xml42
-rw-r--r--indra/newview/skins/default/xui/fr/panel_edit_skin.xml6
-rw-r--r--indra/newview/skins/default/xui/fr/panel_nearby_chat.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_postcard_message.xml21
-rw-r--r--indra/newview/skins/default/xui/fr/panel_postcard_settings.xml23
-rw-r--r--indra/newview/skins/default/xui/fr/panel_preferences_chat.xml27
-rw-r--r--indra/newview/skins/default/xui/fr/panel_preferences_setup.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_snapshot_inventory.xml21
-rw-r--r--indra/newview/skins/default/xui/fr/panel_snapshot_local.xml39
-rw-r--r--indra/newview/skins/default/xui/fr/panel_snapshot_options.xml7
-rw-r--r--indra/newview/skins/default/xui/fr/panel_snapshot_postcard.xml17
-rw-r--r--indra/newview/skins/default/xui/fr/panel_snapshot_profile.xml28
-rw-r--r--indra/newview/skins/default/xui/fr/strings.xml61
-rw-r--r--indra/newview/skins/default/xui/fr/teleport_strings.xml4
-rw-r--r--indra/newview/skins/default/xui/it/floater_about.xml48
-rw-r--r--indra/newview/skins/default/xui/it/floater_about_land.xml17
-rw-r--r--indra/newview/skins/default/xui/it/floater_avatar.xml2
-rw-r--r--indra/newview/skins/default/xui/it/floater_buy_currency.xml2
-rw-r--r--indra/newview/skins/default/xui/it/floater_camera.xml2
-rw-r--r--indra/newview/skins/default/xui/it/floater_hardware_settings.xml2
-rw-r--r--indra/newview/skins/default/xui/it/floater_model_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/it/floater_model_wizard.xml3
-rw-r--r--indra/newview/skins/default/xui/it/floater_moveview.xml2
-rw-r--r--indra/newview/skins/default/xui/it/floater_snapshot.xml122
-rw-r--r--indra/newview/skins/default/xui/it/floater_toybox.xml3
-rw-r--r--indra/newview/skins/default/xui/it/floater_translation_settings.xml58
-rw-r--r--indra/newview/skins/default/xui/it/floater_voice_controls.xml8
-rw-r--r--indra/newview/skins/default/xui/it/menu_toolbars.xml3
-rw-r--r--indra/newview/skins/default/xui/it/menu_viewer.xml66
-rw-r--r--indra/newview/skins/default/xui/it/notifications.xml46
-rw-r--r--indra/newview/skins/default/xui/it/panel_edit_skin.xml6
-rw-r--r--indra/newview/skins/default/xui/it/panel_postcard_message.xml21
-rw-r--r--indra/newview/skins/default/xui/it/panel_postcard_settings.xml23
-rw-r--r--indra/newview/skins/default/xui/it/panel_preferences_chat.xml27
-rw-r--r--indra/newview/skins/default/xui/it/panel_preferences_setup.xml2
-rw-r--r--indra/newview/skins/default/xui/it/panel_snapshot_inventory.xml21
-rw-r--r--indra/newview/skins/default/xui/it/panel_snapshot_local.xml39
-rw-r--r--indra/newview/skins/default/xui/it/panel_snapshot_options.xml7
-rw-r--r--indra/newview/skins/default/xui/it/panel_snapshot_postcard.xml17
-rw-r--r--indra/newview/skins/default/xui/it/panel_snapshot_profile.xml28
-rw-r--r--indra/newview/skins/default/xui/it/strings.xml61
-rw-r--r--indra/newview/skins/default/xui/it/teleport_strings.xml4
-rw-r--r--indra/newview/skins/default/xui/ja/floater_about.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/floater_about_land.xml17
-rw-r--r--indra/newview/skins/default/xui/ja/floater_avatar.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/floater_buy_currency.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/floater_camera.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/floater_hardware_settings.xml4
-rw-r--r--indra/newview/skins/default/xui/ja/floater_model_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/ja/floater_model_wizard.xml3
-rw-r--r--indra/newview/skins/default/xui/ja/floater_moveview.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/floater_snapshot.xml122
-rw-r--r--indra/newview/skins/default/xui/ja/floater_toybox.xml3
-rw-r--r--indra/newview/skins/default/xui/ja/floater_translation_settings.xml58
-rw-r--r--indra/newview/skins/default/xui/ja/floater_voice_controls.xml4
-rw-r--r--indra/newview/skins/default/xui/ja/menu_toolbars.xml3
-rw-r--r--indra/newview/skins/default/xui/ja/menu_viewer.xml56
-rw-r--r--indra/newview/skins/default/xui/ja/notifications.xml40
-rw-r--r--indra/newview/skins/default/xui/ja/panel_edit_skin.xml6
-rw-r--r--indra/newview/skins/default/xui/ja/panel_postcard_message.xml21
-rw-r--r--indra/newview/skins/default/xui/ja/panel_postcard_settings.xml23
-rw-r--r--indra/newview/skins/default/xui/ja/panel_preferences_chat.xml27
-rw-r--r--indra/newview/skins/default/xui/ja/panel_preferences_general.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/panel_preferences_setup.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/panel_snapshot_inventory.xml21
-rw-r--r--indra/newview/skins/default/xui/ja/panel_snapshot_local.xml39
-rw-r--r--indra/newview/skins/default/xui/ja/panel_snapshot_options.xml7
-rw-r--r--indra/newview/skins/default/xui/ja/panel_snapshot_postcard.xml17
-rw-r--r--indra/newview/skins/default/xui/ja/panel_snapshot_profile.xml28
-rw-r--r--indra/newview/skins/default/xui/ja/strings.xml61
-rw-r--r--indra/newview/skins/default/xui/ja/teleport_strings.xml4
-rw-r--r--indra/newview/skins/default/xui/pt/floater_about.xml30
-rw-r--r--indra/newview/skins/default/xui/pt/floater_about_land.xml17
-rw-r--r--indra/newview/skins/default/xui/pt/floater_avatar.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_buy_currency.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_camera.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_hardware_settings.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_model_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/pt/floater_model_wizard.xml3
-rw-r--r--indra/newview/skins/default/xui/pt/floater_moveview.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_snapshot.xml122
-rw-r--r--indra/newview/skins/default/xui/pt/floater_toybox.xml3
-rw-r--r--indra/newview/skins/default/xui/pt/floater_translation_settings.xml58
-rw-r--r--indra/newview/skins/default/xui/pt/floater_voice_controls.xml8
-rw-r--r--indra/newview/skins/default/xui/pt/menu_toolbars.xml3
-rw-r--r--indra/newview/skins/default/xui/pt/menu_viewer.xml86
-rw-r--r--indra/newview/skins/default/xui/pt/notifications.xml40
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_skin.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/panel_postcard_message.xml21
-rw-r--r--indra/newview/skins/default/xui/pt/panel_postcard_settings.xml23
-rw-r--r--indra/newview/skins/default/xui/pt/panel_preferences_chat.xml27
-rw-r--r--indra/newview/skins/default/xui/pt/panel_preferences_setup.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/panel_snapshot_inventory.xml21
-rw-r--r--indra/newview/skins/default/xui/pt/panel_snapshot_local.xml39
-rw-r--r--indra/newview/skins/default/xui/pt/panel_snapshot_options.xml7
-rw-r--r--indra/newview/skins/default/xui/pt/panel_snapshot_postcard.xml17
-rw-r--r--indra/newview/skins/default/xui/pt/panel_snapshot_profile.xml28
-rw-r--r--indra/newview/skins/default/xui/pt/strings.xml61
-rw-r--r--indra/newview/skins/default/xui/pt/teleport_strings.xml4
-rw-r--r--indra/newview/skins/default/xui/ru/floater_about.xml46
-rw-r--r--indra/newview/skins/default/xui/ru/floater_about_land.xml17
-rw-r--r--indra/newview/skins/default/xui/ru/floater_avatar.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_buy_currency.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_camera.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_hardware_settings.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_model_preview.xml5
-rw-r--r--indra/newview/skins/default/xui/ru/floater_model_wizard.xml3
-rw-r--r--indra/newview/skins/default/xui/ru/floater_moveview.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_snapshot.xml121
-rw-r--r--indra/newview/skins/default/xui/ru/floater_toybox.xml3
-rw-r--r--indra/newview/skins/default/xui/ru/floater_translation_settings.xml58
-rw-r--r--indra/newview/skins/default/xui/ru/floater_voice_controls.xml8
-rw-r--r--indra/newview/skins/default/xui/ru/menu_toolbars.xml3
-rw-r--r--indra/newview/skins/default/xui/ru/menu_viewer.xml54
-rw-r--r--indra/newview/skins/default/xui/ru/notifications.xml38
-rw-r--r--indra/newview/skins/default/xui/ru/panel_edit_skin.xml6
-rw-r--r--indra/newview/skins/default/xui/ru/panel_nearby_chat.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/panel_postcard_message.xml21
-rw-r--r--indra/newview/skins/default/xui/ru/panel_postcard_settings.xml23
-rw-r--r--indra/newview/skins/default/xui/ru/panel_preferences_chat.xml26
-rw-r--r--indra/newview/skins/default/xui/ru/panel_preferences_general.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/panel_preferences_setup.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/panel_snapshot_inventory.xml21
-rw-r--r--indra/newview/skins/default/xui/ru/panel_snapshot_local.xml39
-rw-r--r--indra/newview/skins/default/xui/ru/panel_snapshot_options.xml7
-rw-r--r--indra/newview/skins/default/xui/ru/panel_snapshot_postcard.xml17
-rw-r--r--indra/newview/skins/default/xui/ru/panel_snapshot_profile.xml28
-rw-r--r--indra/newview/skins/default/xui/ru/strings.xml59
-rw-r--r--indra/newview/skins/default/xui/ru/teleport_strings.xml4
-rw-r--r--indra/newview/skins/default/xui/tr/floater_about.xml48
-rw-r--r--indra/newview/skins/default/xui/tr/floater_about_land.xml17
-rw-r--r--indra/newview/skins/default/xui/tr/floater_avatar.xml2
-rw-r--r--indra/newview/skins/default/xui/tr/floater_buy_currency.xml2
-rw-r--r--indra/newview/skins/default/xui/tr/floater_camera.xml2
-rw-r--r--indra/newview/skins/default/xui/tr/floater_hardware_settings.xml4
-rw-r--r--indra/newview/skins/default/xui/tr/floater_model_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/tr/floater_model_wizard.xml3
-rw-r--r--indra/newview/skins/default/xui/tr/floater_moveview.xml2
-rw-r--r--indra/newview/skins/default/xui/tr/floater_snapshot.xml121
-rw-r--r--indra/newview/skins/default/xui/tr/floater_toybox.xml3
-rw-r--r--indra/newview/skins/default/xui/tr/floater_translation_settings.xml58
-rw-r--r--indra/newview/skins/default/xui/tr/floater_voice_controls.xml8
-rw-r--r--indra/newview/skins/default/xui/tr/menu_toolbars.xml3
-rw-r--r--indra/newview/skins/default/xui/tr/menu_viewer.xml58
-rw-r--r--indra/newview/skins/default/xui/tr/notifications.xml38
-rw-r--r--indra/newview/skins/default/xui/tr/panel_edit_skin.xml6
-rw-r--r--indra/newview/skins/default/xui/tr/panel_postcard_message.xml21
-rw-r--r--indra/newview/skins/default/xui/tr/panel_postcard_settings.xml23
-rw-r--r--indra/newview/skins/default/xui/tr/panel_preferences_chat.xml26
-rw-r--r--indra/newview/skins/default/xui/tr/panel_preferences_setup.xml2
-rw-r--r--indra/newview/skins/default/xui/tr/panel_snapshot_inventory.xml21
-rw-r--r--indra/newview/skins/default/xui/tr/panel_snapshot_local.xml39
-rw-r--r--indra/newview/skins/default/xui/tr/panel_snapshot_options.xml7
-rw-r--r--indra/newview/skins/default/xui/tr/panel_snapshot_postcard.xml17
-rw-r--r--indra/newview/skins/default/xui/tr/panel_snapshot_profile.xml28
-rw-r--r--indra/newview/skins/default/xui/tr/strings.xml61
-rw-r--r--indra/newview/skins/default/xui/tr/teleport_strings.xml4
283 files changed, 5458 insertions, 2488 deletions
diff --git a/indra/cmake/LLPathingLib.cmake b/indra/cmake/LLPathingLib.cmake
index c108b33e8c..8e622d83db 100644
--- a/indra/cmake/LLPathingLib.cmake
+++ b/indra/cmake/LLPathingLib.cmake
@@ -16,3 +16,8 @@ set(LLPATHING_LIBRARIES
debug ${LL_PATHING_DEBUG_LIB}
optimized ${LL_PATHING_RELEASE_LIB}
)
+
+if (LINUX)
+ list(INSERT LLPATHING_LIBRARIES 0 -Wl,--start-group)
+ list(APPEND LLPATHING_LIBRARIES -Wl,--end-group)
+endif (LINUX)
diff --git a/indra/llaudio/llaudioengine.cpp b/indra/llaudio/llaudioengine.cpp
index 5e540ad8c5..5fa28cb902 100644
--- a/indra/llaudio/llaudioengine.cpp
+++ b/indra/llaudio/llaudioengine.cpp
@@ -1264,6 +1264,7 @@ LLAudioSource::LLAudioSource(const LLUUID& id, const LLUUID& owner_id, const F32
mSyncSlave(false),
mQueueSounds(false),
mPlayedOnce(false),
+ mCorrupted(false),
mType(type),
mChannelp(NULL),
mCurrentDatap(NULL),
@@ -1296,16 +1297,25 @@ void LLAudioSource::setChannel(LLAudioChannel *channelp)
void LLAudioSource::update()
{
+ if(mCorrupted)
+ {
+ return ; //no need to update
+ }
+
if (!getCurrentBuffer())
{
if (getCurrentData())
{
// Hack - try and load the sound. Will do this as a callback
// on decode later.
- if (getCurrentData()->load())
+ if (getCurrentData()->load() && getCurrentData()->getBuffer())
{
play(getCurrentData()->getID());
- }
+ }
+ else
+ {
+ mCorrupted = true ;
+ }
}
}
}
@@ -1421,6 +1431,11 @@ bool LLAudioSource::play(const LLUUID &audio_uuid)
bool LLAudioSource::isDone() const
{
+ if(mCorrupted)
+ {
+ return true ;
+ }
+
const F32 MAX_AGE = 60.f;
const F32 MAX_UNPLAYED_AGE = 15.f;
const F32 MAX_MUTED_AGE = 11.f;
@@ -1736,7 +1751,7 @@ LLAudioData::LLAudioData(const LLUUID &uuid) :
}
}
-
+//return false when the audio file is corrupted.
bool LLAudioData::load()
{
// For now, just assume we're going to use one buffer per audiodata.
@@ -1752,7 +1767,7 @@ bool LLAudioData::load()
{
// No free buffers, abort.
llinfos << "Not able to allocate a new audio buffer, aborting." << llendl;
- return false;
+ return true;
}
std::string uuid_str;
diff --git a/indra/llaudio/llaudioengine.h b/indra/llaudio/llaudioengine.h
index 30d2490635..a47ee7ca7c 100644
--- a/indra/llaudio/llaudioengine.h
+++ b/indra/llaudio/llaudioengine.h
@@ -334,6 +334,7 @@ protected:
bool mSyncSlave;
bool mQueueSounds;
bool mPlayedOnce;
+ bool mCorrupted;
S32 mType;
LLVector3d mPositionGlobal;
LLVector3 mVelocity;
diff --git a/indra/llcommon/llqueuedthread.cpp b/indra/llcommon/llqueuedthread.cpp
index 5dee7a3541..1738c16dea 100644
--- a/indra/llcommon/llqueuedthread.cpp
+++ b/indra/llcommon/llqueuedthread.cpp
@@ -109,7 +109,7 @@ void LLQueuedThread::shutdown()
// MAIN THREAD
// virtual
-S32 LLQueuedThread::update(U32 max_time_ms)
+S32 LLQueuedThread::update(F32 max_time_ms)
{
if (!mStarted)
{
@@ -122,7 +122,7 @@ S32 LLQueuedThread::update(U32 max_time_ms)
return updateQueue(max_time_ms);
}
-S32 LLQueuedThread::updateQueue(U32 max_time_ms)
+S32 LLQueuedThread::updateQueue(F32 max_time_ms)
{
F64 max_time = (F64)max_time_ms * .001;
LLTimer timer;
diff --git a/indra/llcommon/llqueuedthread.h b/indra/llcommon/llqueuedthread.h
index 499d13a792..d3704b0fe2 100644
--- a/indra/llcommon/llqueuedthread.h
+++ b/indra/llcommon/llqueuedthread.h
@@ -173,8 +173,8 @@ protected:
public:
bool waitForResult(handle_t handle, bool auto_complete = true);
- virtual S32 update(U32 max_time_ms);
- S32 updateQueue(U32 max_time_ms);
+ virtual S32 update(F32 max_time_ms);
+ S32 updateQueue(F32 max_time_ms);
void waitOnPending();
void printQueueStats();
diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp
index 19075afa68..6073bcd0a6 100644
--- a/indra/llcommon/llsys.cpp
+++ b/indra/llcommon/llsys.cpp
@@ -1364,11 +1364,21 @@ BOOL gzip_file(const std::string& srcfile, const std::string& dstfile)
src = LLFile::fopen(srcfile, "rb"); /* Flawfinder: ignore */
if (! src) goto err;
- do
+ while ((bytes = (S32)fread(buffer, sizeof(U8), COMPRESS_BUFFER_SIZE, src)) > 0)
{
- bytes = (S32)fread(buffer, sizeof(U8), COMPRESS_BUFFER_SIZE,src);
- gzwrite(dst, buffer, bytes);
- } while(feof(src) == 0);
+ if (gzwrite(dst, buffer, bytes) <= 0)
+ {
+ llwarns << "gzwrite failed: " << gzerror(dst, NULL) << llendl;
+ goto err;
+ }
+ }
+
+ if (ferror(src))
+ {
+ llwarns << "Error reading " << srcfile << llendl;
+ goto err;
+ }
+
gzclose(dst);
dst = NULL;
#if LL_WINDOWS
diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h
index 7bba3d298f..99ab053b25 100644
--- a/indra/llcommon/llversionviewer.h
+++ b/indra/llcommon/llversionviewer.h
@@ -29,7 +29,7 @@
const S32 LL_VERSION_MAJOR = 3;
const S32 LL_VERSION_MINOR = 2;
-const S32 LL_VERSION_PATCH = 7;
+const S32 LL_VERSION_PATCH = 8;
const S32 LL_VERSION_BUILD = 0;
const char * const LL_CHANNEL = "Second Life Developer";
diff --git a/indra/llcommon/llworkerthread.cpp b/indra/llcommon/llworkerthread.cpp
index 4988bdf570..3d05a30ac2 100644
--- a/indra/llcommon/llworkerthread.cpp
+++ b/indra/llcommon/llworkerthread.cpp
@@ -81,7 +81,7 @@ void LLWorkerThread::clearDeleteList()
}
// virtual
-S32 LLWorkerThread::update(U32 max_time_ms)
+S32 LLWorkerThread::update(F32 max_time_ms)
{
S32 res = LLQueuedThread::update(max_time_ms);
// Delete scheduled workers
diff --git a/indra/llcommon/llworkerthread.h b/indra/llcommon/llworkerthread.h
index 78a4781d15..be46394d6e 100644
--- a/indra/llcommon/llworkerthread.h
+++ b/indra/llcommon/llworkerthread.h
@@ -86,7 +86,7 @@ public:
LLWorkerThread(const std::string& name, bool threaded = true, bool should_pause = false);
~LLWorkerThread();
- /*virtual*/ S32 update(U32 max_time_ms);
+ /*virtual*/ S32 update(F32 max_time_ms);
handle_t addWorkRequest(LLWorkerClass* workerclass, S32 param, U32 priority = PRIORITY_NORMAL);
diff --git a/indra/llimage/llimageworker.cpp b/indra/llimage/llimageworker.cpp
index 28dc3bd313..ad2eb0f69c 100644
--- a/indra/llimage/llimageworker.cpp
+++ b/indra/llimage/llimageworker.cpp
@@ -46,7 +46,7 @@ LLImageDecodeThread::~LLImageDecodeThread()
// MAIN THREAD
// virtual
-S32 LLImageDecodeThread::update(U32 max_time_ms)
+S32 LLImageDecodeThread::update(F32 max_time_ms)
{
LLMutexLock lock(mCreationMutex);
for (creation_list_t::iterator iter = mCreationList.begin();
diff --git a/indra/llimage/llimageworker.h b/indra/llimage/llimageworker.h
index c684222fa5..1bfb0ddfd3 100644
--- a/indra/llimage/llimageworker.h
+++ b/indra/llimage/llimageworker.h
@@ -78,7 +78,7 @@ public:
handle_t decodeImage(LLImageFormatted* image,
U32 priority, S32 discard, BOOL needs_aux,
Responder* responder);
- S32 update(U32 max_time_ms);
+ S32 update(F32 max_time_ms);
// Used by unit tests to check the consistency of the thread instance
S32 tut_size();
diff --git a/indra/llmath/lloctree.h b/indra/llmath/lloctree.h
index 3c1ae45d68..1b11e83b4a 100644
--- a/indra/llmath/lloctree.h
+++ b/indra/llmath/lloctree.h
@@ -80,8 +80,8 @@ public:
typedef LLOctreeTraveler<T> oct_traveler;
typedef LLTreeTraveler<T> tree_traveler;
typedef typename std::set<LLPointer<T> > element_list;
- typedef typename std::set<LLPointer<T> >::iterator element_iter;
- typedef typename std::set<LLPointer<T> >::const_iterator const_element_iter;
+ typedef typename element_list::iterator element_iter;
+ typedef typename element_list::const_iterator const_element_iter;
typedef typename std::vector<LLTreeListener<T>*>::iterator tree_listener_iter;
typedef typename std::vector<LLOctreeNode<T>* > child_list;
typedef LLTreeNode<T> BaseType;
@@ -114,6 +114,8 @@ public:
mOctant = ((oct_node*) mParent)->getOctant(mCenter);
}
+ mElementCount = 0;
+
clearChildren();
}
@@ -219,11 +221,11 @@ public:
void accept(oct_traveler* visitor) { visitor->visit(this); }
virtual bool isLeaf() const { return mChild.empty(); }
- U32 getElementCount() const { return mData.size(); }
+ U32 getElementCount() const { return mElementCount; }
element_list& getData() { return mData; }
const element_list& getData() const { return mData; }
- U32 getChildCount() const { return mChild.size(); }
+ U32 getChildCount() const { return mChildCount; }
oct_node* getChild(U32 index) { return mChild[index]; }
const oct_node* getChild(U32 index) const { return mChild[index]; }
child_list& getChildren() { return mChild; }
@@ -300,17 +302,13 @@ public:
if ((getElementCount() < gOctreeMaxCapacity && contains(data->getBinRadius()) ||
(data->getBinRadius() > getSize()[0] && parent && parent->getElementCount() >= gOctreeMaxCapacity)))
{ //it belongs here
-#if LL_OCTREE_PARANOIA_CHECK
//if this is a redundant insertion, error out (should never happen)
- if (mData.find(data) != mData.end())
- {
- llwarns << "Redundant octree insertion detected. " << data << llendl;
- return false;
- }
-#endif
+ llassert(mData.find(data) == mData.end());
mData.insert(data);
BaseType::insert(data);
+
+ mElementCount = mData.size();
return true;
}
else
@@ -346,6 +344,8 @@ public:
{
mData.insert(data);
BaseType::insert(data);
+
+ mElementCount = mData.size();
return true;
}
@@ -399,6 +399,7 @@ public:
if (mData.find(data) != mData.end())
{ //we have data
mData.erase(data);
+ mElementCount = mData.size();
notifyRemoval(data);
checkAlive();
return true;
@@ -436,6 +437,7 @@ public:
if (mData.find(data) != mData.end())
{
mData.erase(data);
+ mElementCount = mData.size();
notifyRemoval(data);
llwarns << "FOUND!" << llendl;
checkAlive();
@@ -452,7 +454,7 @@ public:
void clearChildren()
{
mChild.clear();
-
+ mChildCount = 0;
U32* foo = (U32*) mChildMap;
foo[0] = foo[1] = 0xFFFFFFFF;
}
@@ -512,9 +514,10 @@ public:
}
#endif
- mChildMap[child->getOctant()] = (U8) mChild.size();
+ mChildMap[child->getOctant()] = mChildCount;
mChild.push_back(child);
+ ++mChildCount;
child->setParent(this);
if (!silent)
@@ -534,21 +537,20 @@ public:
oct_listener* listener = getOctListener(i);
listener->handleChildRemoval(this, getChild(index));
}
-
-
if (destroy)
{
mChild[index]->destroy();
delete mChild[index];
}
mChild.erase(mChild.begin() + index);
+ --mChildCount;
//rebuild child map
U32* foo = (U32*) mChildMap;
foo[0] = foo[1] = 0xFFFFFFFF;
- for (U32 i = 0; i < mChild.size(); ++i)
+ for (U32 i = 0; i < mChildCount; ++i)
{
mChildMap[mChild[i]->getOctant()] = i;
}
@@ -601,8 +603,10 @@ protected:
child_list mChild;
U8 mChildMap[8];
+ U32 mChildCount;
element_list mData;
+ U32 mElementCount;
};
diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp
index da0fa32963..0c6cf1dfae 100644
--- a/indra/llmath/llvolume.cpp
+++ b/indra/llmath/llvolume.cpp
@@ -4617,18 +4617,83 @@ S32 LLVolume::lineSegmentIntersect(const LLVector4a& start, const LLVector4a& en
genBinormals(i);
}
- if (!face.mOctree)
- {
- face.createOctree();
- }
-
- //LLVector4a* p = (LLVector4a*) face.mPositions;
+ if (isUnique())
+ { //don't bother with an octree for flexi volumes
+ U32 tri_count = face.mNumIndices/3;
+
+ for (U32 j = 0; j < tri_count; ++j)
+ {
+ U16 idx0 = face.mIndices[j*3+0];
+ U16 idx1 = face.mIndices[j*3+1];
+ U16 idx2 = face.mIndices[j*3+2];
- LLOctreeTriangleRayIntersect intersect(start, dir, &face, &closest_t, intersection, tex_coord, normal, bi_normal);
- intersect.traverse(face.mOctree);
- if (intersect.mHitFace)
+ const LLVector4a& v0 = face.mPositions[idx0];
+ const LLVector4a& v1 = face.mPositions[idx1];
+ const LLVector4a& v2 = face.mPositions[idx2];
+
+ F32 a,b,t;
+
+ if (LLTriangleRayIntersect(v0, v1, v2,
+ start, dir, a, b, t))
+ {
+ if ((t >= 0.f) && // if hit is after start
+ (t <= 1.f) && // and before end
+ (t < closest_t)) // and this hit is closer
+ {
+ closest_t = t;
+ hit_face = i;
+
+ if (intersection != NULL)
+ {
+ LLVector4a intersect = dir;
+ intersect.mul(closest_t);
+ intersect.add(start);
+ intersection->set(intersect.getF32ptr());
+ }
+
+
+ if (tex_coord != NULL)
+ {
+ LLVector2* tc = (LLVector2*) face.mTexCoords;
+ *tex_coord = ((1.f - a - b) * tc[idx0] +
+ a * tc[idx1] +
+ b * tc[idx2]);
+
+ }
+
+ if (normal!= NULL)
+ {
+ LLVector4* norm = (LLVector4*) face.mNormals;
+
+ *normal = ((1.f - a - b) * LLVector3(norm[idx0]) +
+ a * LLVector3(norm[idx1]) +
+ b * LLVector3(norm[idx2]));
+ }
+
+ if (bi_normal != NULL)
+ {
+ LLVector4* binormal = (LLVector4*) face.mBinormals;
+ *bi_normal = ((1.f - a - b) * LLVector3(binormal[idx0]) +
+ a * LLVector3(binormal[idx1]) +
+ b * LLVector3(binormal[idx2]));
+ }
+ }
+ }
+ }
+ }
+ else
{
- hit_face = i;
+ if (!face.mOctree)
+ {
+ face.createOctree();
+ }
+
+ LLOctreeTriangleRayIntersect intersect(start, dir, &face, &closest_t, intersection, tex_coord, normal, bi_normal);
+ intersect.traverse(face.mOctree);
+ if (intersect.mHitFace)
+ {
+ hit_face = i;
+ }
}
}
}
diff --git a/indra/llmessage/llcurl.cpp b/indra/llmessage/llcurl.cpp
index f569630766..e17380fdf5 100644
--- a/indra/llmessage/llcurl.cpp
+++ b/indra/llmessage/llcurl.cpp
@@ -675,6 +675,10 @@ bool LLCurl::Multi::doPerform()
call_count++)
{
LLMutexLock lock(mMutexp) ;
+
+ //WARNING: curl_multi_perform will block for many hundreds of milliseconds
+ // NEVER call this from the main thread, and NEVER allow the main thread to
+ // wait on a mutex held by this thread while curl_multi_perform is executing
CURLMcode code = curl_multi_perform(mCurlMultiHandle, &q);
if (CURLM_CALL_MULTI_PERFORM != code || q == 0)
{
@@ -873,7 +877,7 @@ LLCurlThread::~LLCurlThread()
LLCurl::Multi::sMultiInitMutexp = NULL ;
}
-S32 LLCurlThread::update(U32 max_time_ms)
+S32 LLCurlThread::update(F32 max_time_ms)
{
return LLQueuedThread::update(max_time_ms);
}
diff --git a/indra/llmessage/llcurl.h b/indra/llmessage/llcurl.h
index 705cdcbbcc..9c2c215c7a 100644
--- a/indra/llmessage/llcurl.h
+++ b/indra/llmessage/llcurl.h
@@ -349,7 +349,7 @@ public:
LLCurlThread(bool threaded = true) ;
virtual ~LLCurlThread() ;
- S32 update(U32 max_time_ms);
+ S32 update(F32 max_time_ms);
void addMulti(LLCurl::Multi* multi) ;
void killMulti(LLCurl::Multi* multi) ;
diff --git a/indra/llmessage/llurlrequest.cpp b/indra/llmessage/llurlrequest.cpp
index a3a2b2b1b8..261e57e79e 100644
--- a/indra/llmessage/llurlrequest.cpp
+++ b/indra/llmessage/llurlrequest.cpp
@@ -64,7 +64,7 @@ public:
~LLURLRequestDetail();
std::string mURL;
LLCurlEasyRequest* mCurlRequest;
- LLBufferArray* mResponseBuffer;
+ LLIOPipe::buffer_ptr_t mResponseBuffer;
LLChannelDescriptors mChannels;
U8* mLastRead;
U32 mBodyLimit;
@@ -75,7 +75,6 @@ public:
LLURLRequestDetail::LLURLRequestDetail() :
mCurlRequest(NULL),
- mResponseBuffer(NULL),
mLastRead(NULL),
mBodyLimit(0),
mByteAccumulator(0),
@@ -90,7 +89,6 @@ LLURLRequestDetail::~LLURLRequestDetail()
{
LLMemType m1(LLMemType::MTYPE_IO_URL_REQUEST);
delete mCurlRequest;
- mResponseBuffer = NULL;
mLastRead = NULL;
}
@@ -326,7 +324,7 @@ LLIOPipe::EStatus LLURLRequest::process_impl(
// *FIX: bit of a hack, but it should work. The configure and
// callback method expect this information to be ready.
- mDetail->mResponseBuffer = buffer.get();
+ mDetail->mResponseBuffer = buffer;
mDetail->mChannels = channels;
if(!configure())
{
diff --git a/indra/llrender/llglslshader.cpp b/indra/llrender/llglslshader.cpp
index 5a6f3d8292..6b2852670a 100644
--- a/indra/llrender/llglslshader.cpp
+++ b/indra/llrender/llglslshader.cpp
@@ -66,7 +66,7 @@ BOOL shouldChange(const LLVector4& v1, const LLVector4& v2)
LLShaderFeatures::LLShaderFeatures()
: calculatesLighting(false), isShiny(false), isFullbright(false), hasWaterFog(false),
hasTransport(false), hasSkinning(false), hasObjectSkinning(false), hasAtmospherics(false), isSpecular(false),
-hasGamma(false), hasLighting(false), calculatesAtmospherics(false), mIndexedTextureChannels(0), disableTextureIndex(false),
+hasGamma(false), hasLighting(false), isAlphaLighting(false), calculatesAtmospherics(false), mIndexedTextureChannels(0), disableTextureIndex(false),
hasAlphaMask(false)
{
}
diff --git a/indra/llrender/llglslshader.h b/indra/llrender/llglslshader.h
index 2a6c050eac..00b4b0dbd4 100644
--- a/indra/llrender/llglslshader.h
+++ b/indra/llrender/llglslshader.h
@@ -36,6 +36,7 @@ public:
bool calculatesLighting;
bool calculatesAtmospherics;
bool hasLighting; // implies no transport (it's possible to have neither though)
+ bool isAlphaLighting; // indicates lighting shaders need not be linked in (lighting performed directly in alpha shader to match deferred lighting functions)
bool isShiny;
bool isFullbright; // implies no lighting
bool isSpecular;
diff --git a/indra/llrender/llrendertarget.cpp b/indra/llrender/llrendertarget.cpp
index 1aa12614ea..ef2a7395da 100644
--- a/indra/llrender/llrendertarget.cpp
+++ b/indra/llrender/llrendertarget.cpp
@@ -457,7 +457,8 @@ void LLRenderTarget::copyContents(LLRenderTarget& source, S32 srcX0, S32 srcY0,
gGL.flush();
if (!source.mFBO || !mFBO)
{
- llerrs << "Cannot copy framebuffer contents for non FBO render targets." << llendl;
+ llwarns << "Cannot copy framebuffer contents for non FBO render targets." << llendl;
+ return;
}
diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp
index ac9dc9544d..1a03aeebb7 100644
--- a/indra/llrender/llshadermgr.cpp
+++ b/indra/llrender/llshadermgr.cpp
@@ -107,10 +107,13 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)
{
return FALSE;
}
-
- if (!shader->attachObject("lighting/sumLightsSpecularV.glsl"))
+
+ if (!features->isAlphaLighting)
{
- return FALSE;
+ if (!shader->attachObject("lighting/sumLightsSpecularV.glsl"))
+ {
+ return FALSE;
+ }
}
if (!shader->attachObject("lighting/lightSpecularV.glsl"))
@@ -125,9 +128,12 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)
return FALSE;
}
- if (!shader->attachObject("lighting/sumLightsV.glsl"))
+ if (!features->isAlphaLighting)
{
- return FALSE;
+ if (!shader->attachObject("lighting/sumLightsV.glsl"))
+ {
+ return FALSE;
+ }
}
if (!shader->attachObject("lighting/lightV.glsl"))
@@ -296,7 +302,7 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)
}
shader->mFeatures.mIndexedTextureChannels = llmax(LLGLSLShader::sIndexedTextureChannels-1, 1);
}
- }
+ }
}
// NOTE order of shader object attaching is VERY IMPORTANT!!!
@@ -579,7 +585,7 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade
text[count++] = strdup("#define ATTRIBUTE attribute\n");
text[count++] = strdup("#define VARYING varying\n");
}
- else if (version < 3.f)
+ else if (version < 3.3f)
{
//set version to 1.20
text[count++] = strdup("#version 120\n");
diff --git a/indra/llui/lltoolbar.cpp b/indra/llui/lltoolbar.cpp
index 7f96c1373c..9b31a6449d 100644
--- a/indra/llui/lltoolbar.cpp
+++ b/indra/llui/lltoolbar.cpp
@@ -151,14 +151,20 @@ void LLToolBar::createContextMenu()
if (menu)
{
menu->setBackgroundColor(LLUIColorTable::instance().getColor("MenuPopupBgColor"));
-
mPopupMenuHandle = menu->getHandle();
+ mRemoveButtonHandle = menu->getChild<LLView>("Remove button")->getHandle();
}
else
{
llwarns << "Unable to load toolbars context menu." << llendl;
}
}
+
+ if (mRemoveButtonHandle.get())
+ {
+ // Disable/Enable the "Remove button" menu item depending on whether or not a button was clicked
+ mRemoveButtonHandle.get()->setEnabled(mRightMouseTargetButton != NULL);
+ }
}
void LLToolBar::initFromParams(const LLToolBar::Params& p)
@@ -401,6 +407,7 @@ BOOL LLToolBar::handleRightMouseDown(S32 x, S32 y, MASK mask)
{
// Determine which button the mouse was over during the click in case the context menu action
// is intended to affect the button.
+ mRightMouseTargetButton = NULL;
BOOST_FOREACH(LLToolBarButton* button, mButtons)
{
LLRect button_rect;
diff --git a/indra/llui/lltoolbar.h b/indra/llui/lltoolbar.h
index 51fe23ddd1..a50c60282c 100644
--- a/indra/llui/lltoolbar.h
+++ b/indra/llui/lltoolbar.h
@@ -271,6 +271,7 @@ private:
LLLayoutStack* mCenteringStack;
LLPanel* mButtonPanel;
LLHandle<class LLContextMenu> mPopupMenuHandle;
+ LLHandle<class LLView> mRemoveButtonHandle;
LLToolBarButton* mRightMouseTargetButton;
diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp
index 542f57ee5f..004681325f 100644
--- a/indra/llui/llview.cpp
+++ b/indra/llui/llview.cpp
@@ -282,9 +282,6 @@ void LLView::moveChildToBackOfTabGroup(LLUICtrl* child)
// virtual
bool LLView::addChild(LLView* child, S32 tab_group)
{
- // NOTE: Changed this to not crash in release mode
- llassert(mInDraw == false);
-
if (!child)
{
return false;
@@ -334,10 +331,11 @@ bool LLView::addChildInBack(LLView* child, S32 tab_group)
// remove the specified child from the view, and set it's parent to NULL.
void LLView::removeChild(LLView* child)
{
- llassert_always(mInDraw == false);
//llassert_always(sDepth == 0); // Avoid re-ordering while drawing; it can cause subtle iterator bugs
if (child->mParentView == this)
{
+ // if we are removing an item we are currently iterating over, that would be bad
+ llassert(child->mInDraw == false);
mChildList.remove( child );
child->mParentView = NULL;
if (child->isCtrl())
@@ -1086,7 +1084,6 @@ void LLView::draw()
void LLView::drawChildren()
{
- mInDraw = true;
if (!mChildList.empty())
{
LLView* rootp = LLUI::getRootView();
@@ -1105,7 +1102,10 @@ void LLView::drawChildren()
LLUI::pushMatrix();
{
LLUI::translate((F32)viewp->getRect().mLeft, (F32)viewp->getRect().mBottom, 0.f);
+ // flag the fact we are in draw here, in case overridden draw() method attempts to remove this widget
+ viewp->mInDraw = true;
viewp->draw();
+ viewp->mInDraw = false;
if (sDebugRects)
{
@@ -1125,7 +1125,6 @@ void LLView::drawChildren()
}
--sDepth;
}
- mInDraw = false;
}
void LLView::dirtyRect()
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp
index 52c27b6736..954b9f2b15 100644
--- a/indra/llwindow/llwindowwin32.cpp
+++ b/indra/llwindow/llwindowwin32.cpp
@@ -1083,6 +1083,37 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
return FALSE;
}
+ // (EXP-1765) dump pixel data to see if there is a pattern that leads to unreproducible crash
+ LL_INFOS("Window") << "--- begin pixel format dump ---" << llendl ;
+ LL_INFOS("Window") << "pixel_format is " << pixel_format << llendl ;
+ LL_INFOS("Window") << "pfd.nSize: " << pfd.nSize << llendl ;
+ LL_INFOS("Window") << "pfd.nVersion: " << pfd.nVersion << llendl ;
+ LL_INFOS("Window") << "pfd.dwFlags: 0x" << std::hex << pfd.dwFlags << std::dec << llendl ;
+ LL_INFOS("Window") << "pfd.iPixelType: " << (int)pfd.iPixelType << llendl ;
+ LL_INFOS("Window") << "pfd.cColorBits: " << (int)pfd.cColorBits << llendl ;
+ LL_INFOS("Window") << "pfd.cRedBits: " << (int)pfd.cRedBits << llendl ;
+ LL_INFOS("Window") << "pfd.cRedShift: " << (int)pfd.cRedShift << llendl ;
+ LL_INFOS("Window") << "pfd.cGreenBits: " << (int)pfd.cGreenBits << llendl ;
+ LL_INFOS("Window") << "pfd.cGreenShift: " << (int)pfd.cGreenShift << llendl ;
+ LL_INFOS("Window") << "pfd.cBlueBits: " << (int)pfd.cBlueBits << llendl ;
+ LL_INFOS("Window") << "pfd.cBlueShift: " << (int)pfd.cBlueShift << llendl ;
+ LL_INFOS("Window") << "pfd.cAlphaBits: " << (int)pfd.cAlphaBits << llendl ;
+ LL_INFOS("Window") << "pfd.cAlphaShift: " << (int)pfd.cAlphaShift << llendl ;
+ LL_INFOS("Window") << "pfd.cAccumBits: " << (int)pfd.cAccumBits << llendl ;
+ LL_INFOS("Window") << "pfd.cAccumRedBits: " << (int)pfd.cAccumRedBits << llendl ;
+ LL_INFOS("Window") << "pfd.cAccumGreenBits: " << (int)pfd.cAccumGreenBits << llendl ;
+ LL_INFOS("Window") << "pfd.cAccumBlueBits: " << (int)pfd.cAccumBlueBits << llendl ;
+ LL_INFOS("Window") << "pfd.cAccumAlphaBits: " << (int)pfd.cAccumAlphaBits << llendl ;
+ LL_INFOS("Window") << "pfd.cDepthBits: " << (int)pfd.cDepthBits << llendl ;
+ LL_INFOS("Window") << "pfd.cStencilBits: " << (int)pfd.cStencilBits << llendl ;
+ LL_INFOS("Window") << "pfd.cAuxBuffers: " << (int)pfd.cAuxBuffers << llendl ;
+ LL_INFOS("Window") << "pfd.iLayerType: " << (int)pfd.iLayerType << llendl ;
+ LL_INFOS("Window") << "pfd.bReserved: " << (int)pfd.bReserved << llendl ;
+ LL_INFOS("Window") << "pfd.dwLayerMask: " << pfd.dwLayerMask << llendl ;
+ LL_INFOS("Window") << "pfd.dwVisibleMask: " << pfd.dwVisibleMask << llendl ;
+ LL_INFOS("Window") << "pfd.dwDamageMask: " << pfd.dwDamageMask << llendl ;
+ LL_INFOS("Window") << "--- end pixel format dump ---" << llendl ;
+
if (pfd.cColorBits < 32)
{
close();
diff --git a/indra/newview/app_settings/shaders/class1/deferred/alphaSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/deferred/alphaSkinnedV.glsl
index b09441f7eb..0170ad4b55 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/alphaSkinnedV.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/alphaSkinnedV.glsl
@@ -30,7 +30,6 @@ ATTRIBUTE vec3 normal;
ATTRIBUTE vec4 diffuse_color;
ATTRIBUTE vec2 texcoord0;
-vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol);
mat4 getObjectSkinnedTransform();
void calcAtmospherics(vec3 inPositionEye);
@@ -38,8 +37,6 @@ float calcDirectionalLight(vec3 n, vec3 l);
vec3 atmosAmbient(vec3 light);
vec3 atmosAffectDirectionalLight(float lightIntensity);
-vec3 scaleDownLight(vec3 light);
-vec3 scaleUpLight(vec3 light);
VARYING vec3 vary_position;
VARYING vec3 vary_ambient;
diff --git a/indra/newview/app_settings/shaders/class1/deferred/cofF.glsl b/indra/newview/app_settings/shaders/class1/deferred/cofF.glsl
index 88fe3c3dee..e612efba61 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/cofF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/cofF.glsl
@@ -57,7 +57,7 @@ float getDepth(vec2 pos_screen)
float calc_cof(float depth)
{
- float sc = abs(depth-focal_distance)/-depth*blur_constant;
+ float sc = (depth-focal_distance)/-depth*blur_constant;
sc /= magnification;
@@ -79,9 +79,10 @@ void main()
vec4 diff = texture2DRect(diffuseRect, vary_fragcoord.xy);
float sc = calc_cof(depth);
- sc = min(abs(sc), max_cof);
+ sc = min(sc, max_cof);
+ sc = max(sc, -max_cof);
vec4 bloom = texture2D(bloomMap, vary_fragcoord.xy/screen_res);
gl_FragColor.rgb = diff.rgb + bloom.rgb;
- gl_FragColor.a = sc/max_cof;
+ gl_FragColor.a = sc/max_cof*0.5+0.5;
}
diff --git a/indra/newview/app_settings/shaders/class1/deferred/dofCombineF.glsl b/indra/newview/app_settings/shaders/class1/deferred/dofCombineF.glsl
index 21453aefaa..01e3505359 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/dofCombineF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/dofCombineF.glsl
@@ -48,7 +48,7 @@ void main()
vec4 diff = texture2DRect(lightMap, vary_fragcoord.xy);
- float a = min(diff.a * max_cof*res_scale*res_scale, 1.0);
+ float a = min(abs(diff.a*2.0-1.0) * max_cof*res_scale*res_scale, 1.0);
if (a > 0.25 && a < 0.75)
{ //help out the transition a bit
diff --git a/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl b/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl
index 4603d99c5e..18d451bf87 100644
--- a/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl
+++ b/indra/newview/app_settings/shaders/class1/deferred/postDeferredF.glsl
@@ -42,7 +42,7 @@ void dofSample(inout vec4 diff, inout float w, float min_sc, vec2 tc)
{
vec4 s = texture2DRect(diffuseRect, tc);
- float sc = s.a*max_cof;
+ float sc = abs(s.a*2.0-1.0)*max_cof;
if (sc > min_sc) //sampled pixel is more "out of focus" than current sample radius
{
@@ -57,6 +57,20 @@ void dofSample(inout vec4 diff, inout float w, float min_sc, vec2 tc)
}
}
+void dofSampleNear(inout vec4 diff, inout float w, float min_sc, vec2 tc)
+{
+ vec4 s = texture2DRect(diffuseRect, tc);
+
+ float wg = 0.25;
+
+ // de-weight dull areas to make highlights 'pop'
+ wg += s.r+s.g+s.b;
+
+ diff += wg*s;
+
+ w += wg;
+}
+
void main()
{
vec2 tc = vary_fragcoord.xy;
@@ -66,12 +80,30 @@ void main()
{
float w = 1.0;
- float sc = diff.a*max_cof;
-
+ float sc = (diff.a*2.0-1.0)*max_cof;
+
float PI = 3.14159265358979323846264;
// sample quite uniformly spaced points within a circle, for a circular 'bokeh'
+ if (sc > 0.5)
+ {
+ while (sc > 0.5)
+ {
+ int its = int(max(1.0,(sc*3.7)));
+ for (int i=0; i<its; ++i)
+ {
+ float ang = sc+i*2*PI/its; // sc is added for rotary perturbance
+ float samp_x = sc*sin(ang);
+ float samp_y = sc*cos(ang);
+ // you could test sample coords against an interesting non-circular aperture shape here, if desired.
+ dofSampleNear(diff, w, sc, vary_fragcoord.xy + vec2(samp_x,samp_y));
+ }
+ sc -= 1.0;
+ }
+ }
+ else if (sc < -0.5)
{
+ sc = abs(sc);
while (sc > 0.5)
{
int its = int(max(1.0,(sc*3.7)));
@@ -86,7 +118,7 @@ void main()
sc -= 1.0;
}
}
-
+
diff /= w;
}
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 0861fe85a8..40136adbc9 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -1346,17 +1346,19 @@ bool LLAppViewer::mainLoop()
{
S32 work_pending = 0;
S32 io_pending = 0;
+ F32 max_time = llmin(gFrameIntervalSeconds*10.f, 1.f);
+
{
LLFastTimer ftm(FTM_TEXTURE_CACHE);
- work_pending += LLAppViewer::getTextureCache()->update(1); // unpauses the texture cache thread
+ work_pending += LLAppViewer::getTextureCache()->update(max_time); // unpauses the texture cache thread
}
{
LLFastTimer ftm(FTM_DECODE);
- work_pending += LLAppViewer::getImageDecodeThread()->update(1); // unpauses the image thread
+ work_pending += LLAppViewer::getImageDecodeThread()->update(max_time); // unpauses the image thread
}
{
LLFastTimer ftm(FTM_DECODE);
- work_pending += LLAppViewer::getTextureFetch()->update(1); // unpauses the texture fetch thread
+ work_pending += LLAppViewer::getTextureFetch()->update(max_time); // unpauses the texture fetch thread
}
{
diff --git a/indra/newview/llavatariconctrl.cpp b/indra/newview/llavatariconctrl.cpp
index 42e7decec1..b539ac38ed 100644
--- a/indra/newview/llavatariconctrl.cpp
+++ b/indra/newview/llavatariconctrl.cpp
@@ -75,6 +75,9 @@ void LLAvatarIconIDCache::load ()
LLUUID icon_id;
LLDate date;
+ if (line.length()<=uuid_len*2)
+ continue; // short line, bail out to prevent substr calls throwing exception.
+
std::string avatar_id_str = line.substr(0,uuid_len);
std::string icon_id_str = line.substr(uuid_len,uuid_len);
diff --git a/indra/newview/lldrawpoolbump.cpp b/indra/newview/lldrawpoolbump.cpp
index b696b90d84..b58efe62ab 100644
--- a/indra/newview/lldrawpoolbump.cpp
+++ b/indra/newview/lldrawpoolbump.cpp
@@ -1036,51 +1036,48 @@ LLViewerTexture* LLBumpImageList::getBrightnessDarknessImage(LLViewerFetchedText
llassert( (bump_code == BE_BRIGHTNESS) || (bump_code == BE_DARKNESS) );
LLViewerTexture* bump = NULL;
- const F32 BRIGHTNESS_DARKNESS_PIXEL_AREA_THRESHOLD = 1000;
- if( src_image->getMaxVirtualSize() > BRIGHTNESS_DARKNESS_PIXEL_AREA_THRESHOLD )
- {
- bump_image_map_t* entries_list = NULL;
- void (*callback_func)( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* aux_src, S32 discard_level, BOOL final, void* userdata ) = NULL;
+
+ bump_image_map_t* entries_list = NULL;
+ void (*callback_func)( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* aux_src, S32 discard_level, BOOL final, void* userdata ) = NULL;
- switch( bump_code )
- {
- case BE_BRIGHTNESS:
- entries_list = &mBrightnessEntries;
- callback_func = LLBumpImageList::onSourceBrightnessLoaded;
- break;
- case BE_DARKNESS:
- entries_list = &mDarknessEntries;
- callback_func = LLBumpImageList::onSourceDarknessLoaded;
- break;
- default:
- llassert(0);
- return NULL;
- }
+ switch( bump_code )
+ {
+ case BE_BRIGHTNESS:
+ entries_list = &mBrightnessEntries;
+ callback_func = LLBumpImageList::onSourceBrightnessLoaded;
+ break;
+ case BE_DARKNESS:
+ entries_list = &mDarknessEntries;
+ callback_func = LLBumpImageList::onSourceDarknessLoaded;
+ break;
+ default:
+ llassert(0);
+ return NULL;
+ }
- bump_image_map_t::iterator iter = entries_list->find(src_image->getID());
- if (iter != entries_list->end() && iter->second.notNull())
- {
- bump = iter->second;
- }
- else
- {
- LLPointer<LLImageRaw> raw = new LLImageRaw(1,1,1);
- raw->clear(0x77, 0x77, 0xFF, 0xFF);
+ bump_image_map_t::iterator iter = entries_list->find(src_image->getID());
+ if (iter != entries_list->end() && iter->second.notNull())
+ {
+ bump = iter->second;
+ }
+ else
+ {
+ LLPointer<LLImageRaw> raw = new LLImageRaw(1,1,1);
+ raw->clear(0x77, 0x77, 0xFF, 0xFF);
- (*entries_list)[src_image->getID()] = LLViewerTextureManager::getLocalTexture( raw.get(), TRUE);
- bump = (*entries_list)[src_image->getID()]; // In case callback was called immediately and replaced the image
- }
+ (*entries_list)[src_image->getID()] = LLViewerTextureManager::getLocalTexture( raw.get(), TRUE);
+ bump = (*entries_list)[src_image->getID()]; // In case callback was called immediately and replaced the image
+ }
- if (!src_image->hasCallbacks())
- { //if image has no callbacks but resolutions don't match, trigger raw image loaded callback again
- if (src_image->getWidth() != bump->getWidth() ||
- src_image->getHeight() != bump->getHeight())// ||
- //(LLPipeline::sRenderDeferred && bump->getComponents() != 4))
- {
- src_image->setBoostLevel(LLViewerTexture::BOOST_BUMP) ;
- src_image->setLoadedCallback( callback_func, 0, TRUE, FALSE, new LLUUID(src_image->getID()), NULL );
- src_image->forceToSaveRawImage(0) ;
- }
+ if (!src_image->hasCallbacks())
+ { //if image has no callbacks but resolutions don't match, trigger raw image loaded callback again
+ if (src_image->getWidth() != bump->getWidth() ||
+ src_image->getHeight() != bump->getHeight())// ||
+ //(LLPipeline::sRenderDeferred && bump->getComponents() != 4))
+ {
+ src_image->setBoostLevel(LLViewerTexture::BOOST_BUMP) ;
+ src_image->setLoadedCallback( callback_func, 0, TRUE, FALSE, new LLUUID(src_image->getID()), NULL );
+ src_image->forceToSaveRawImage(0) ;
}
}
diff --git a/indra/newview/llfloaterimagepreview.cpp b/indra/newview/llfloaterimagepreview.cpp
index 69de15d9ea..92ee8ddac6 100644
--- a/indra/newview/llfloaterimagepreview.cpp
+++ b/indra/newview/llfloaterimagepreview.cpp
@@ -63,6 +63,7 @@
const S32 PREVIEW_BORDER_WIDTH = 2;
const S32 PREVIEW_RESIZE_HANDLE_SIZE = S32(RESIZE_HANDLE_WIDTH * OO_SQRT2) + PREVIEW_BORDER_WIDTH;
const S32 PREVIEW_HPAD = PREVIEW_RESIZE_HANDLE_SIZE;
+const S32 PREVIEW_VPAD = -24; // yuk, hard coded
const S32 PREF_BUTTON_HEIGHT = 16 + 7 + 16;
const S32 PREVIEW_TEXTURE_HEIGHT = 320;
@@ -99,7 +100,7 @@ BOOL LLFloaterImagePreview::postBuild()
childSetCommitCallback("clothing_type_combo", onPreviewTypeCommit, this);
mPreviewRect.set(PREVIEW_HPAD,
- PREVIEW_TEXTURE_HEIGHT,
+ PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD,
getRect().getWidth() - PREVIEW_HPAD,
PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
mPreviewImageRect.set(0.f, 1.f, 1.f, 0.f);
@@ -271,13 +272,13 @@ void LLFloaterImagePreview::draw()
gGL.begin( LLRender::QUADS );
{
gGL.texCoord2f(mPreviewImageRect.mLeft, mPreviewImageRect.mTop);
- gGL.vertex2i(PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT);
+ gGL.vertex2i(PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
gGL.texCoord2f(mPreviewImageRect.mLeft, mPreviewImageRect.mBottom);
gGL.vertex2i(PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
gGL.texCoord2f(mPreviewImageRect.mRight, mPreviewImageRect.mBottom);
gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
gGL.texCoord2f(mPreviewImageRect.mRight, mPreviewImageRect.mTop);
- gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT);
+ gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
}
gGL.end();
@@ -303,13 +304,13 @@ void LLFloaterImagePreview::draw()
gGL.begin( LLRender::QUADS );
{
gGL.texCoord2f(0.f, 1.f);
- gGL.vertex2i(PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT);
+ gGL.vertex2i(PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
gGL.texCoord2f(0.f, 0.f);
gGL.vertex2i(PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
gGL.texCoord2f(1.f, 0.f);
gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
gGL.texCoord2f(1.f, 1.f);
- gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT);
+ gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
}
gGL.end();
diff --git a/indra/newview/llfloaterpathfindingconsole.cpp b/indra/newview/llfloaterpathfindingconsole.cpp
index 3bf316fdf6..269bef22fe 100644
--- a/indra/newview/llfloaterpathfindingconsole.cpp
+++ b/indra/newview/llfloaterpathfindingconsole.cpp
@@ -60,12 +60,12 @@
BOOL LLFloaterPathfindingConsole::postBuild()
{
childSetAction("view_and_edit_linksets", boost::bind(&LLFloaterPathfindingConsole::onViewEditLinksetClicked, this));
- childSetAction("rebuild_navmesh", boost::bind(&LLFloaterPathfindingConsole::onRebuildNavmeshClicked, this));
- childSetAction("refresh_navmesh", boost::bind(&LLFloaterPathfindingConsole::onRefreshNavmeshClicked, this));
+ childSetAction("rebuild_navmesh", boost::bind(&LLFloaterPathfindingConsole::onRebuildNavMeshClicked, this));
+ childSetAction("refresh_navmesh", boost::bind(&LLFloaterPathfindingConsole::onRefreshNavMeshClicked, this));
- mShowNavmeshCheckBox = findChild<LLCheckBoxCtrl>("show_navmesh_overlay");
- llassert(mShowNavmeshCheckBox != NULL);
- mShowNavmeshCheckBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onShowNavmeshToggle, this));
+ mShowNavMeshCheckBox = findChild<LLCheckBoxCtrl>("show_navmesh_overlay");
+ llassert(mShowNavMeshCheckBox != NULL);
+ mShowNavMeshCheckBox->setCommitCallback(boost::bind(&LLFloaterPathfindingConsole::onShowNavMeshToggle, this));
mShowExcludeVolumesCheckBox = findChild<LLCheckBoxCtrl>("show_exclusion_volumes");
llassert(mShowExcludeVolumesCheckBox != NULL);
@@ -305,7 +305,7 @@ void LLFloaterPathfindingConsole::setTerrainMaterialD(F32 pTerrainMaterial)
LLFloaterPathfindingConsole::LLFloaterPathfindingConsole(const LLSD& pSeed)
: LLFloater(pSeed),
- mShowNavmeshCheckBox(NULL),
+ mShowNavMeshCheckBox(NULL),
mShowExcludeVolumesCheckBox(NULL),
mShowPathCheckBox(NULL),
mShowWaterPlaneCheckBox(NULL),
@@ -317,7 +317,7 @@ LLFloaterPathfindingConsole::LLFloaterPathfindingConsole(const LLSD& pSeed)
mTerrainMaterialB(NULL),
mTerrainMaterialC(NULL),
mTerrainMaterialD(NULL),
- mNavmeshDownloadObserver()
+ mNavMeshDownloadObserver()
{
}
@@ -350,7 +350,7 @@ void LLFloaterPathfindingConsole::onOpen(const LLSD& pKey)
{
llinfos<<"Region has required caps of type ["<<capability<<"]"<<llendl;
LLNavMeshStation::getInstance()->setNavMeshDownloadURL( url );
- LLNavMeshStation::getInstance()->downloadNavMeshSrc( mNavmeshDownloadObserver.getObserverHandle() );
+ LLNavMeshStation::getInstance()->downloadNavMeshSrc( mNavMeshDownloadObserver.getObserverHandle() );
}
else
{
@@ -359,9 +359,9 @@ void LLFloaterPathfindingConsole::onOpen(const LLSD& pKey)
}
}
-void LLFloaterPathfindingConsole::onShowNavmeshToggle()
+void LLFloaterPathfindingConsole::onShowNavMeshToggle()
{
- BOOL checkBoxValue = mShowNavmeshCheckBox->get();
+ BOOL checkBoxValue = mShowNavMeshCheckBox->get();
LLPathingLib *llPathingLibInstance = LLPathingLib::getInstance();
if (llPathingLibInstance != NULL)
@@ -370,7 +370,7 @@ void LLFloaterPathfindingConsole::onShowNavmeshToggle()
}
else
{
- mShowNavmeshCheckBox->set(FALSE);
+ mShowNavMeshCheckBox->set(FALSE);
llwarns << "cannot find LLPathingLib instance" << llendl;
}
}
@@ -497,12 +497,12 @@ void LLFloaterPathfindingConsole::onViewEditLinksetClicked()
LLFloaterPathfindingLinksets::openLinksetsEditor();
}
-void LLFloaterPathfindingConsole::onRebuildNavmeshClicked()
+void LLFloaterPathfindingConsole::onRebuildNavMeshClicked()
{
llwarns << "functionality has not yet been implemented to handle rebuilding of the navmesh" << llendl;
}
-void LLFloaterPathfindingConsole::onRefreshNavmeshClicked()
+void LLFloaterPathfindingConsole::onRefreshNavMeshClicked()
{
llwarns << "functionality has not yet been implemented to handle refreshing of the navmesh" << llendl;
}
diff --git a/indra/newview/llfloaterpathfindingconsole.h b/indra/newview/llfloaterpathfindingconsole.h
index 9f9774b66b..c01ae286eb 100644
--- a/indra/newview/llfloaterpathfindingconsole.h
+++ b/indra/newview/llfloaterpathfindingconsole.h
@@ -107,7 +107,7 @@ private:
virtual void onOpen(const LLSD& pKey);
- void onShowNavmeshToggle();
+ void onShowNavMeshToggle();
void onShowExcludeVolumesToggle();
void onShowPathToggle();
void onShowWaterPlaneToggle();
@@ -116,14 +116,14 @@ private:
void onCharacterWidthSet();
void onCharacterTypeSwitch();
void onViewEditLinksetClicked();
- void onRebuildNavmeshClicked();
- void onRefreshNavmeshClicked();
+ void onRebuildNavMeshClicked();
+ void onRefreshNavMeshClicked();
void onTerrainMaterialASet();
void onTerrainMaterialBSet();
void onTerrainMaterialCSet();
void onTerrainMaterialDSet();
- LLCheckBoxCtrl *mShowNavmeshCheckBox;
+ LLCheckBoxCtrl *mShowNavMeshCheckBox;
LLCheckBoxCtrl *mShowExcludeVolumesCheckBox;
LLCheckBoxCtrl *mShowPathCheckBox;
LLCheckBoxCtrl *mShowWaterPlaneCheckBox;
@@ -136,7 +136,7 @@ private:
LLLineEditor *mTerrainMaterialC;
LLLineEditor *mTerrainMaterialD;
- LLNavMeshDownloadObserver mNavmeshDownloadObserver;
+ LLNavMeshDownloadObserver mNavMeshDownloadObserver;
//Container that is populated and subsequently submitted to the LLPathingSystem for processing
LLPathingLib::PathingPacket mPathData;
diff --git a/indra/newview/llfloaterpathfindinglinksets.cpp b/indra/newview/llfloaterpathfindinglinksets.cpp
index 87f667154a..e24703aca6 100644
--- a/indra/newview/llfloaterpathfindinglinksets.cpp
+++ b/indra/newview/llfloaterpathfindinglinksets.cpp
@@ -30,33 +30,58 @@
#include "llfloaterpathfindinglinksets.h"
#include "llsd.h"
#include "v3math.h"
+#include "lltextvalidate.h"
#include "llagent.h"
#include "llfloater.h"
#include "llfloaterreg.h"
+#include "lltextbase.h"
+#include "lllineeditor.h"
+#include "llscrolllistitem.h"
#include "llscrolllistctrl.h"
+#include "llcheckboxctrl.h"
+#include "llbutton.h"
#include "llresmgr.h"
#include "llviewerregion.h"
#include "llhttpclient.h"
-#include "lltextbase.h"
#include "lluuid.h"
//---------------------------------------------------------------------------
-// NavmeshDataGetResponder
+// NavMeshDataGetResponder
//---------------------------------------------------------------------------
-class NavmeshDataGetResponder : public LLHTTPClient::Responder
+class NavMeshDataGetResponder : public LLHTTPClient::Responder
{
public:
- NavmeshDataGetResponder(const std::string& pNavmeshDataGetURL, LLFloaterPathfindingLinksets *pLinksetsFloater);
- virtual ~NavmeshDataGetResponder();
+ NavMeshDataGetResponder(const std::string& pNavMeshDataGetURL, LLFloaterPathfindingLinksets *pLinksetsFloater);
+ virtual ~NavMeshDataGetResponder();
virtual void result(const LLSD& pContent);
virtual void error(U32 pStatus, const std::string& pReason);
private:
- NavmeshDataGetResponder(const NavmeshDataGetResponder& pOther);
+ NavMeshDataGetResponder(const NavMeshDataGetResponder& pOther);
- std::string mNavmeshDataGetURL;
+ std::string mNavMeshDataGetURL;
+ LLFloaterPathfindingLinksets *mLinksetsFloater;
+};
+
+//---------------------------------------------------------------------------
+// NavMeshDataPutResponder
+//---------------------------------------------------------------------------
+
+class NavMeshDataPutResponder : public LLHTTPClient::Responder
+{
+public:
+ NavMeshDataPutResponder(const std::string& pNavMeshDataPutURL, LLFloaterPathfindingLinksets *pLinksetsFloater);
+ virtual ~NavMeshDataPutResponder();
+
+ virtual void result(const LLSD& pContent);
+ virtual void error(U32 pStatus, const std::string& pReason);
+
+private:
+ NavMeshDataPutResponder(const NavMeshDataPutResponder& pOther);
+
+ std::string mNavMeshDataPutURL;
LLFloaterPathfindingLinksets *mLinksetsFloater;
};
@@ -64,7 +89,7 @@ private:
// PathfindingLinkset
//---------------------------------------------------------------------------
-PathfindingLinkset::PathfindingLinkset(const std::string &pUUID, const LLSD& pNavmeshItem)
+PathfindingLinkset::PathfindingLinkset(const std::string &pUUID, const LLSD& pNavMeshItem)
: mUUID(pUUID),
mName(),
mDescription(),
@@ -73,55 +98,55 @@ PathfindingLinkset::PathfindingLinkset(const std::string &pUUID, const LLSD& pNa
mIsFixed(false),
mIsWalkable(false),
mIsPhantom(false),
- mA(0.0f),
- mB(0.0f),
- mC(0.0f),
- mD(0.0f)
+ mA(0),
+ mB(0),
+ mC(0),
+ mD(0)
{
- llassert(pNavmeshItem.has("name"));
- llassert(pNavmeshItem.get("name").isString());
- mName = pNavmeshItem.get("name").asString();
-
- llassert(pNavmeshItem.has("description"));
- llassert(pNavmeshItem.get("description").isString());
- mDescription = pNavmeshItem.get("description").asString();
-
- llassert(pNavmeshItem.has("landimpact"));
- llassert(pNavmeshItem.get("landimpact").isInteger());
- llassert(pNavmeshItem.get("landimpact").asInteger() >= 0);
- mLandImpact = pNavmeshItem.get("landimpact").asInteger();
-
- llassert(pNavmeshItem.has("fixed"));
- llassert(pNavmeshItem.get("fixed").isBoolean());
- mIsFixed = pNavmeshItem.get("fixed").asBoolean();
-
- llassert(pNavmeshItem.has("walkable"));
- llassert(pNavmeshItem.get("walkable").isBoolean());
- mIsWalkable = pNavmeshItem.get("walkable").asBoolean();
-
- llassert(pNavmeshItem.has("phantom"));
- //llassert(pNavmeshItem.get("phantom").isBoolean()); XXX stinson 01/10/2012: this should be a boolean but is not
- mIsPhantom = pNavmeshItem.get("phantom").asBoolean();
-
- llassert(pNavmeshItem.has("A"));
- llassert(pNavmeshItem.get("A").isReal());
- mA = pNavmeshItem.get("A").asReal();
-
- llassert(pNavmeshItem.has("B"));
- llassert(pNavmeshItem.get("B").isReal());
- mB = pNavmeshItem.get("B").asReal();
-
- llassert(pNavmeshItem.has("C"));
- llassert(pNavmeshItem.get("C").isReal());
- mC = pNavmeshItem.get("C").asReal();
-
- llassert(pNavmeshItem.has("D"));
- llassert(pNavmeshItem.get("D").isReal());
- mD = pNavmeshItem.get("D").asReal();
-
- llassert(pNavmeshItem.has("position"));
- llassert(pNavmeshItem.get("position").isArray());
- mLocation.setValue(pNavmeshItem.get("position"));
+ llassert(pNavMeshItem.has("name"));
+ llassert(pNavMeshItem.get("name").isString());
+ mName = pNavMeshItem.get("name").asString();
+
+ llassert(pNavMeshItem.has("description"));
+ llassert(pNavMeshItem.get("description").isString());
+ mDescription = pNavMeshItem.get("description").asString();
+
+ llassert(pNavMeshItem.has("landimpact"));
+ llassert(pNavMeshItem.get("landimpact").isInteger());
+ llassert(pNavMeshItem.get("landimpact").asInteger() >= 0);
+ mLandImpact = pNavMeshItem.get("landimpact").asInteger();
+
+ llassert(pNavMeshItem.has("permanent"));
+ llassert(pNavMeshItem.get("permanent").isBoolean());
+ mIsFixed = pNavMeshItem.get("permanent").asBoolean();
+
+ llassert(pNavMeshItem.has("walkable"));
+ llassert(pNavMeshItem.get("walkable").isBoolean());
+ mIsWalkable = pNavMeshItem.get("walkable").asBoolean();
+
+ llassert(pNavMeshItem.has("phantom"));
+ //llassert(pNavMeshItem.get("phantom").isBoolean()); XXX stinson 01/10/2012: this should be a boolean but is not
+ mIsPhantom = pNavMeshItem.get("phantom").asBoolean();
+
+ llassert(pNavMeshItem.has("A"));
+ llassert(pNavMeshItem.get("A").isReal());
+ mA = llround(pNavMeshItem.get("A").asReal() * 100.0f);
+
+ llassert(pNavMeshItem.has("B"));
+ llassert(pNavMeshItem.get("B").isReal());
+ mB = llround(pNavMeshItem.get("B").asReal() * 100.0f);
+
+ llassert(pNavMeshItem.has("C"));
+ llassert(pNavMeshItem.get("C").isReal());
+ mC = llround(pNavMeshItem.get("C").asReal() * 100.0f);
+
+ llassert(pNavMeshItem.has("D"));
+ llassert(pNavMeshItem.get("D").isReal());
+ mD = llround(pNavMeshItem.get("D").asReal() * 100.0f);
+
+ llassert(pNavMeshItem.has("position"));
+ llassert(pNavMeshItem.get("position").isArray());
+ mLocation.setValue(pNavMeshItem.get("position"));
}
PathfindingLinkset::PathfindingLinkset(const PathfindingLinkset& pOther)
@@ -217,72 +242,158 @@ void PathfindingLinkset::setPhantom(BOOL pIsPhantom)
mIsPhantom = pIsPhantom;
}
-F32 PathfindingLinkset::getA() const
+S32 PathfindingLinkset::getA() const
{
return mA;
}
-void PathfindingLinkset::setA(F32 pA)
+void PathfindingLinkset::setA(S32 pA)
{
mA = pA;
}
-F32 PathfindingLinkset::getB() const
+S32 PathfindingLinkset::getB() const
{
return mB;
}
-void PathfindingLinkset::setB(F32 pB)
+void PathfindingLinkset::setB(S32 pB)
{
mB = pB;
}
-F32 PathfindingLinkset::getC() const
+S32 PathfindingLinkset::getC() const
{
return mC;
}
-void PathfindingLinkset::setC(F32 pC)
+void PathfindingLinkset::setC(S32 pC)
{
mC = pC;
}
-F32 PathfindingLinkset::getD() const
+S32 PathfindingLinkset::getD() const
{
return mD;
}
-void PathfindingLinkset::setD(F32 pD)
+void PathfindingLinkset::setD(S32 pD)
{
mD = pD;
}
//---------------------------------------------------------------------------
+// FilterString
+//---------------------------------------------------------------------------
+
+FilterString::FilterString()
+ : mFilter(),
+ mUpperFilter()
+{
+}
+
+FilterString::FilterString(const std::string& pFilter)
+ : mFilter(pFilter),
+ mUpperFilter()
+{
+ LLStringUtil::trim(mFilter);
+ mUpperFilter = mFilter;
+ if (!mUpperFilter.empty())
+ {
+ LLStringUtil::toUpper(mUpperFilter);
+ }
+}
+
+FilterString::FilterString(const FilterString& pOther)
+ : mFilter(pOther.mFilter),
+ mUpperFilter(pOther.mUpperFilter)
+{
+}
+
+FilterString::~FilterString()
+{
+}
+
+const std::string& FilterString::get() const
+{
+ return mFilter;
+}
+
+bool FilterString::set(const std::string& pFilter)
+{
+ std::string newFilter(pFilter);
+ LLStringUtil::trim(newFilter);
+ bool didFilterChange = (mFilter.compare(newFilter) != 0);
+ if (didFilterChange)
+ {
+ mFilter = newFilter;
+ mUpperFilter = newFilter;
+ LLStringUtil::toUpper(mUpperFilter);
+ }
+
+ return didFilterChange;
+}
+
+void FilterString::clear()
+{
+ mFilter.clear();
+ mUpperFilter.clear();
+}
+
+bool FilterString::isActive() const
+{
+ return !mFilter.empty();
+}
+
+bool FilterString::doesMatch(const std::string& pTestString) const
+{
+ bool doesMatch = true;
+
+ if (isActive())
+ {
+ std::string upperTestString(pTestString);
+ LLStringUtil::toUpper(upperTestString);
+ doesMatch = (upperTestString.find(mUpperFilter) != std::string::npos);
+ }
+
+ return doesMatch;
+}
+
+//---------------------------------------------------------------------------
// PathfindingLinksets
//---------------------------------------------------------------------------
PathfindingLinksets::PathfindingLinksets()
: mAllLinksets(),
mFilteredLinksets(),
- mIsFilterDirty(false),
- mNameFilter()
+ mIsFiltersDirty(false),
+ mNameFilter(),
+ mDescriptionFilter(),
+ mIsFixedFilter(false),
+ mIsWalkableFilter(false)
{
}
-PathfindingLinksets::PathfindingLinksets(const LLSD& pNavmeshData)
+PathfindingLinksets::PathfindingLinksets(const LLSD& pNavMeshData)
: mAllLinksets(),
mFilteredLinksets(),
- mIsFilterDirty(false),
- mNameFilter()
+ mIsFiltersDirty(false),
+ mNameFilter(),
+ mDescriptionFilter(),
+ mIsFixedFilter(false),
+ mIsWalkableFilter(false)
{
- parseNavmeshData(pNavmeshData);
+ parseNavMeshData(pNavMeshData);
}
PathfindingLinksets::PathfindingLinksets(const PathfindingLinksets& pOther)
: mAllLinksets(pOther.mAllLinksets),
mFilteredLinksets(pOther.mFilteredLinksets),
- mIsFilterDirty(pOther.mIsFilterDirty),
- mNameFilter(pOther.mNameFilter)
+ mIsFiltersDirty(pOther.mIsFiltersDirty),
+ mNameFilter(pOther.mNameFilter),
+ mDescriptionFilter(pOther.mDescriptionFilter),
+ mIsFixedFilter(pOther.mIsFixedFilter),
+ mIsWalkableFilter(pOther.mIsWalkableFilter)
{
}
@@ -291,12 +402,12 @@ PathfindingLinksets::~PathfindingLinksets()
clearLinksets();
}
-void PathfindingLinksets::parseNavmeshData(const LLSD& pNavmeshData)
+void PathfindingLinksets::parseNavMeshData(const LLSD& pNavMeshData)
{
clearLinksets();
- for (LLSD::map_const_iterator linksetIter = pNavmeshData.beginMap();
- linksetIter != pNavmeshData.endMap(); ++linksetIter)
+ for (LLSD::map_const_iterator linksetIter = pNavMeshData.beginMap();
+ linksetIter != pNavMeshData.endMap(); ++linksetIter)
{
const std::string& uuid(linksetIter->first);
const LLSD& linksetData = linksetIter->second;
@@ -305,14 +416,14 @@ void PathfindingLinksets::parseNavmeshData(const LLSD& pNavmeshData)
mAllLinksets.insert(std::pair<std::string, PathfindingLinkset>(uuid, linkset));
}
- mIsFilterDirty = true;
+ mIsFiltersDirty = true;
}
void PathfindingLinksets::clearLinksets()
{
mAllLinksets.clear();
mFilteredLinksets.clear();
- mIsFilterDirty = false;
+ mIsFiltersDirty = false;
}
const PathfindingLinksets::PathfindingLinksetMap& PathfindingLinksets::getAllLinksets() const
@@ -322,28 +433,97 @@ const PathfindingLinksets::PathfindingLinksetMap& PathfindingLinksets::getAllLin
const PathfindingLinksets::PathfindingLinksetMap& PathfindingLinksets::getFilteredLinksets()
{
-#if 0
- if (!isFilterActive())
+ if (!isFiltersActive())
{
return mAllLinksets;
}
else
{
- if (mIsFilterDirty)
- {
- mFilteredLinksets.clear();
- for (PathfindingLinksetMap::const_iterator linksetIter = mAllLinksets.begin();
- linksetIter != mAllLinksets.end(); ++linksetIter)
- {
+ applyFilters();
+ return mFilteredLinksets;
+ }
+}
- }
- mIsFilterDirty = false;
+BOOL PathfindingLinksets::isFiltersActive() const
+{
+ return (mNameFilter.isActive() || mDescriptionFilter.isActive() || mIsFixedFilter || mIsWalkableFilter);
+}
+
+void PathfindingLinksets::setNameFilter(const std::string& pNameFilter)
+{
+ mIsFiltersDirty = (mNameFilter.set(pNameFilter) || mIsFiltersDirty);
+}
+
+const std::string& PathfindingLinksets::getNameFilter() const
+{
+ return mNameFilter.get();
+}
+
+void PathfindingLinksets::setDescriptionFilter(const std::string& pDescriptionFilter)
+{
+ mIsFiltersDirty = (mDescriptionFilter.set(pDescriptionFilter) || mIsFiltersDirty);
+}
+
+const std::string& PathfindingLinksets::getDescriptionFilter() const
+{
+ return mDescriptionFilter.get();
+}
+
+void PathfindingLinksets::setFixedFilter(BOOL pFixedFilter)
+{
+ mIsFiltersDirty = (mIsFiltersDirty || (mIsFixedFilter == pFixedFilter));
+ mIsFixedFilter = pFixedFilter;
+}
+
+BOOL PathfindingLinksets::isFixedFilter() const
+{
+ return mIsFixedFilter;
+}
+
+void PathfindingLinksets::setWalkableFilter(BOOL pWalkableFilter)
+{
+ mIsFiltersDirty = (mIsFiltersDirty || (mIsWalkableFilter == pWalkableFilter));
+ mIsWalkableFilter = pWalkableFilter;
+}
+
+BOOL PathfindingLinksets::isWalkableFilter() const
+{
+ return mIsWalkableFilter;
+}
+
+void PathfindingLinksets::clearFilters()
+{
+ mNameFilter.clear();
+ mDescriptionFilter.clear();
+ mIsFixedFilter = false;
+ mIsWalkableFilter = false;
+ mIsFiltersDirty = false;
+}
+
+void PathfindingLinksets::applyFilters()
+{
+ mFilteredLinksets.clear();
+
+ for (PathfindingLinksetMap::const_iterator linksetIter = mAllLinksets.begin();
+ linksetIter != mAllLinksets.end(); ++linksetIter)
+ {
+ const std::string& uuid(linksetIter->first);
+ const PathfindingLinkset& linkset(linksetIter->second);
+ if (doesMatchFilters(linkset))
+ {
+ mFilteredLinksets.insert(std::pair<std::string, PathfindingLinkset>(uuid, linkset));
}
- return mFilteredLinksets;
}
-#else
- return mAllLinksets;
-#endif
+
+ mIsFiltersDirty = false;
+}
+
+BOOL PathfindingLinksets::doesMatchFilters(const PathfindingLinkset& pLinkset) const
+{
+ return ((!mIsFixedFilter || pLinkset.isFixed()) &&
+ (!mIsWalkableFilter || pLinkset.isWalkable()) &&
+ (!mNameFilter.isActive() || mNameFilter.doesMatch(pLinkset.getName())) &&
+ (!mDescriptionFilter.isActive() || mDescriptionFilter.doesMatch(pLinkset.getDescription())));
}
//---------------------------------------------------------------------------
@@ -352,6 +532,8 @@ const PathfindingLinksets::PathfindingLinksetMap& PathfindingLinksets::getFilter
BOOL LLFloaterPathfindingLinksets::postBuild()
{
+ childSetAction("apply_filters", boost::bind(&LLFloaterPathfindingLinksets::onApplyFiltersClicked, this));
+ childSetAction("clear_filters", boost::bind(&LLFloaterPathfindingLinksets::onClearFiltersClicked, this));
childSetAction("refresh_linksets_list", boost::bind(&LLFloaterPathfindingLinksets::onRefreshLinksetsClicked, this));
childSetAction("select_all_linksets", boost::bind(&LLFloaterPathfindingLinksets::onSelectAllLinksetsClicked, this));
childSetAction("select_none_linksets", boost::bind(&LLFloaterPathfindingLinksets::onSelectNoneLinksetsClicked, this));
@@ -364,6 +546,71 @@ BOOL LLFloaterPathfindingLinksets::postBuild()
mLinksetsStatus = findChild<LLTextBase>("linksets_status");
llassert(mLinksetsStatus != NULL);
+ mFilterByName = findChild<LLLineEditor>("filter_by_name");
+ llassert(mFilterByName != NULL);
+ mFilterByName->setCommitCallback(boost::bind(&LLFloaterPathfindingLinksets::onApplyFiltersClicked, this));
+ mFilterByName->setSelectAllonFocusReceived(true);
+ mFilterByName->setCommitOnFocusLost(true);
+
+ mFilterByDescription = findChild<LLLineEditor>("filter_by_description");
+ llassert(mFilterByDescription != NULL);
+ mFilterByDescription->setCommitCallback(boost::bind(&LLFloaterPathfindingLinksets::onApplyFiltersClicked, this));
+ mFilterByDescription->setSelectAllonFocusReceived(true);
+ mFilterByDescription->setCommitOnFocusLost(true);
+
+ mFilterByFixed = findChild<LLCheckBoxCtrl>("filter_by_fixed");
+ llassert(mFilterByFixed != NULL);
+ mFilterByFixed->setCommitCallback(boost::bind(&LLFloaterPathfindingLinksets::onApplyFiltersClicked, this));
+
+ mFilterByWalkable = findChild<LLCheckBoxCtrl>("filter_by_walkable");
+ llassert(mFilterByWalkable != NULL);
+ mFilterByWalkable->setCommitCallback(boost::bind(&LLFloaterPathfindingLinksets::onApplyFiltersClicked, this));
+
+ mEditFixed = findChild<LLCheckBoxCtrl>("edit_fixed_value");
+ llassert(mEditFixed != NULL);
+
+ mEditWalkable = findChild<LLCheckBoxCtrl>("edit_walkable_value");
+ llassert(mEditWalkable != NULL);
+
+ mEditPhantom = findChild<LLCheckBoxCtrl>("edit_phantom_value");
+ llassert(mEditPhantom != NULL);
+
+ mLabelWalkabilityCoefficients = findChild<LLTextBase>("walkability_coefficients_label");
+ llassert(mLabelWalkabilityCoefficients != NULL);
+
+ mLabelEditA = findChild<LLTextBase>("edit_a_label");
+ llassert(mLabelEditA != NULL);
+
+ mLabelEditB = findChild<LLTextBase>("edit_b_label");
+ llassert(mLabelEditB != NULL);
+
+ mLabelEditC = findChild<LLTextBase>("edit_c_label");
+ llassert(mLabelEditC != NULL);
+
+ mLabelEditD = findChild<LLTextBase>("edit_d_label");
+ llassert(mLabelEditD != NULL);
+
+ mEditA = findChild<LLLineEditor>("edit_a_value");
+ llassert(mEditA != NULL);
+ mEditA->setPrevalidate(LLTextValidate::validatePositiveS32);
+
+ mEditB = findChild<LLLineEditor>("edit_b_value");
+ llassert(mEditB != NULL);
+ mEditB->setPrevalidate(LLTextValidate::validatePositiveS32);
+
+ mEditC = findChild<LLLineEditor>("edit_c_value");
+ llassert(mEditC != NULL);
+ mEditC->setPrevalidate(LLTextValidate::validatePositiveS32);
+
+ mEditD = findChild<LLLineEditor>("edit_d_value");
+ llassert(mEditD != NULL);
+ mEditD->setPrevalidate(LLTextValidate::validatePositiveS32);
+
+ mApplyEdits = findChild<LLButton>("apply_edit_values");
+ llassert(mApplyEdits != NULL);
+ mApplyEdits->setCommitCallback(boost::bind(&LLFloaterPathfindingLinksets::onApplyChangesClicked, this));
+
+ setEnableEditFields(false);
setFetchState(kFetchInitial);
return LLFloater::postBuild();
@@ -371,7 +618,7 @@ BOOL LLFloaterPathfindingLinksets::postBuild()
void LLFloaterPathfindingLinksets::onOpen(const LLSD& pKey)
{
- sendNavmeshDataGetRequest();
+ sendNavMeshDataGetRequest();
}
void LLFloaterPathfindingLinksets::openLinksetsEditor()
@@ -390,8 +637,8 @@ BOOL LLFloaterPathfindingLinksets::isFetchInProgress() const
switch (getFetchState())
{
case kFetchStarting :
- case kFetchInProgress :
- case kFetchInProgress_MultiRequested :
+ case kFetchRequestSent :
+ case kFetchRequestSent_MultiRequested :
case kFetchReceived :
retVal = true;
break;
@@ -408,7 +655,24 @@ LLFloaterPathfindingLinksets::LLFloaterPathfindingLinksets(const LLSD& pSeed)
mPathfindingLinksets(),
mFetchState(kFetchInitial),
mLinksetsScrollList(NULL),
- mLinksetsStatus(NULL)
+ mLinksetsStatus(NULL),
+ mFilterByName(NULL),
+ mFilterByDescription(NULL),
+ mFilterByFixed(NULL),
+ mFilterByWalkable(NULL),
+ mEditFixed(NULL),
+ mEditWalkable(NULL),
+ mEditPhantom(NULL),
+ mLabelWalkabilityCoefficients(NULL),
+ mLabelEditA(NULL),
+ mLabelEditB(NULL),
+ mLabelEditC(NULL),
+ mLabelEditD(NULL),
+ mEditA(NULL),
+ mEditB(NULL),
+ mEditC(NULL),
+ mEditD(NULL),
+ mApplyEdits(NULL)
{
}
@@ -416,44 +680,201 @@ LLFloaterPathfindingLinksets::~LLFloaterPathfindingLinksets()
{
}
-void LLFloaterPathfindingLinksets::sendNavmeshDataGetRequest()
+void LLFloaterPathfindingLinksets::sendNavMeshDataGetRequest()
{
if (isFetchInProgress())
{
- if (getFetchState() == kFetchInProgress)
+ if (getFetchState() == kFetchRequestSent)
{
- setFetchState(kFetchInProgress_MultiRequested);
+ setFetchState(kFetchRequestSent_MultiRequested);
}
}
else
{
setFetchState(kFetchStarting);
- clearLinksetsList();
+ mPathfindingLinksets.clearLinksets();
+ updateLinksetsList();
- LLViewerRegion* region = gAgent.getRegion();
- if (region != NULL)
+ std::string navMeshDataURL = getCapabilityURL();
+ if (navMeshDataURL.empty())
{
- std::string navmeshDataURL = region->getCapability("ObjectNavmesh");
- if (navmeshDataURL.empty())
- {
- setFetchState(kFetchComplete);
- llwarns << "cannot query navmesh data from current region '" << region->getName() << "'" << llendl;
- }
- else
- {
- setFetchState(kFetchInProgress);
- LLHTTPClient::get(navmeshDataURL, new NavmeshDataGetResponder(navmeshDataURL, this));
- }
+ setFetchState(kFetchComplete);
+ llwarns << "cannot query object navmesh properties from current region '" << getRegionName() << "'" << llendl;
}
+ else
+ {
+ setFetchState(kFetchRequestSent);
+ LLHTTPClient::get(navMeshDataURL, new NavMeshDataGetResponder(navMeshDataURL, this));
+ }
+ }
+}
+
+void LLFloaterPathfindingLinksets::sendNavMeshDataPutRequest(const LLSD& pPostData)
+{
+ std::string navMeshDataURL = getCapabilityURL();
+ if (navMeshDataURL.empty())
+ {
+ llwarns << "cannot put object navmesh properties for current region '" << getRegionName() << "'" << llendl;
+ }
+ else
+ {
+ LLHTTPClient::put(navMeshDataURL, pPostData, new NavMeshDataPutResponder(navMeshDataURL, this));
}
}
-void LLFloaterPathfindingLinksets::handleNavmeshDataGetReply(const LLSD& pNavmeshData)
+void LLFloaterPathfindingLinksets::handleNavMeshDataGetReply(const LLSD& pNavMeshData)
{
setFetchState(kFetchReceived);
- clearLinksetsList();
+ mPathfindingLinksets.parseNavMeshData(pNavMeshData);
+ updateLinksetsList();
+ setFetchState(kFetchComplete);
+}
+
+void LLFloaterPathfindingLinksets::handleNavMeshDataGetError(const std::string& pURL, const std::string& pErrorReason)
+{
+ setFetchState(kFetchError);
+ mPathfindingLinksets.clearLinksets();
+ updateLinksetsList();
+ llwarns << "Error fetching object navmesh properties from URL '" << pURL << "' because " << pErrorReason << llendl;
+}
+
+void LLFloaterPathfindingLinksets::handleNavMeshDataPutReply(const LLSD& pModifiedData)
+{
+ setFetchState(kFetchReceived);
+ mPathfindingLinksets.parseNavMeshData(pModifiedData);
+ updateLinksetsList();
+ setFetchState(kFetchComplete);
+}
+
+void LLFloaterPathfindingLinksets::handleNavMeshDataPutError(const std::string& pURL, const std::string& pErrorReason)
+{
+ setFetchState(kFetchError);
+ mPathfindingLinksets.clearLinksets();
+ updateLinksetsList();
+ llwarns << "Error putting object navmesh properties to URL '" << pURL << "' because " << pErrorReason << llendl;
+}
+
+std::string LLFloaterPathfindingLinksets::getRegionName() const
+{
+ std::string regionName("");
+
+ LLViewerRegion* region = gAgent.getRegion();
+ if (region != NULL)
+ {
+ regionName = region->getName();
+ }
+
+ return regionName;
+}
+
+std::string LLFloaterPathfindingLinksets::getCapabilityURL() const
+{
+#ifdef XXX_STINSON_REGION_CAP_RENAME
+ std::string navMeshDataURL("");
+
+ LLViewerRegion* region = gAgent.getRegion();
+ if (region != NULL)
+ {
+ navMeshDataURL = region->getCapability("ObjectNavMeshProperties");
+ if (navMeshDataURL.empty())
+ {
+ navMeshDataURL = region->getCapability("ObjectNavmesh");
+ }
+ }
+
+ return navMeshDataURL;
+#else // XXX_STINSON_REGION_CAP_RENAME
+ std::string navMeshDataURL("");
+
+ LLViewerRegion* region = gAgent.getRegion();
+ if (region != NULL)
+ {
+ navMeshDataURL = region->getCapability("ObjectNavMeshProperties");
+ }
+
+ return navMeshDataURL;
+#endif // XXX_STINSON_REGION_CAP_RENAME
+}
+
+void LLFloaterPathfindingLinksets::setFetchState(EFetchState pFetchState)
+{
+ mFetchState = pFetchState;
+ updateLinksetsStatusMessage();
+}
+
+void LLFloaterPathfindingLinksets::onApplyFiltersClicked()
+{
+ applyFilters();
+}
- mPathfindingLinksets.parseNavmeshData(pNavmeshData);
+void LLFloaterPathfindingLinksets::onClearFiltersClicked()
+{
+ clearFilters();
+}
+
+void LLFloaterPathfindingLinksets::onLinksetsSelectionChange()
+{
+ updateLinksetsStatusMessage();
+ updateEditFields();
+}
+
+void LLFloaterPathfindingLinksets::onRefreshLinksetsClicked()
+{
+ sendNavMeshDataGetRequest();
+}
+
+void LLFloaterPathfindingLinksets::onSelectAllLinksetsClicked()
+{
+ selectAllLinksets();
+}
+
+void LLFloaterPathfindingLinksets::onSelectNoneLinksetsClicked()
+{
+ selectNoneLinksets();
+}
+
+void LLFloaterPathfindingLinksets::onApplyChangesClicked()
+{
+ applyEditFields();
+}
+
+void LLFloaterPathfindingLinksets::applyFilters()
+{
+ mPathfindingLinksets.setNameFilter(mFilterByName->getText());
+ mPathfindingLinksets.setDescriptionFilter(mFilterByDescription->getText());
+ mPathfindingLinksets.setFixedFilter(mFilterByFixed->get());
+ mPathfindingLinksets.setWalkableFilter(mFilterByWalkable->get());
+ updateLinksetsList();
+}
+
+void LLFloaterPathfindingLinksets::clearFilters()
+{
+ mPathfindingLinksets.clearFilters();
+ mFilterByName->setText(LLStringExplicit(mPathfindingLinksets.getNameFilter()));
+ mFilterByDescription->setText(LLStringExplicit(mPathfindingLinksets.getDescriptionFilter()));
+ mFilterByFixed->set(mPathfindingLinksets.isFixedFilter());
+ mFilterByWalkable->set(mPathfindingLinksets.isWalkableFilter());
+ updateLinksetsList();
+}
+
+void LLFloaterPathfindingLinksets::updateLinksetsList()
+{
+ std::vector<LLScrollListItem*> selectedItems = mLinksetsScrollList->getAllSelected();
+ int numSelectedItems = selectedItems.size();
+ uuid_vec_t selectedUUIDs;
+ if (numSelectedItems > 0)
+ {
+ selectedUUIDs.reserve(selectedItems.size());
+ for (std::vector<LLScrollListItem*>::const_iterator itemIter = selectedItems.begin();
+ itemIter != selectedItems.end(); ++itemIter)
+ {
+ const LLScrollListItem *listItem = *itemIter;
+ selectedUUIDs.push_back(listItem->getUUID());
+ }
+ }
+
+ mLinksetsScrollList->deleteAllItems();
+ updateLinksetsStatusMessage();
const LLVector3& avatarPosition = gAgent.getPositionAgent();
const PathfindingLinksets::PathfindingLinksetMap& linksetMap = mPathfindingLinksets.getFilteredLinksets();
@@ -494,19 +915,19 @@ void LLFloaterPathfindingLinksets::handleNavmeshDataGetReply(const LLSD& pNavmes
columns[6]["font"] = "SANSSERIF";
columns[7]["column"] = "a_percent";
- columns[7]["value"] = llformat("%2.0f", linkset.getA());
+ columns[7]["value"] = llformat("%3d", linkset.getA());
columns[7]["font"] = "SANSSERIF";
columns[8]["column"] = "b_percent";
- columns[8]["value"] = llformat("%2.0f", linkset.getB());
+ columns[8]["value"] = llformat("%3d", linkset.getB());
columns[8]["font"] = "SANSSERIF";
columns[9]["column"] = "c_percent";
- columns[9]["value"] = llformat("%2.0f", linkset.getC());
+ columns[9]["value"] = llformat("%3d", linkset.getC());
columns[9]["font"] = "SANSSERIF";
columns[10]["column"] = "d_percent";
- columns[10]["value"] = llformat("%2.0f", linkset.getD());
+ columns[10]["value"] = llformat("%3d", linkset.getD());
columns[10]["font"] = "SANSSERIF";
LLSD element;
@@ -516,46 +937,7 @@ void LLFloaterPathfindingLinksets::handleNavmeshDataGetReply(const LLSD& pNavmes
mLinksetsScrollList->addElement(element);
}
- setFetchState(kFetchComplete);
-}
-
-void LLFloaterPathfindingLinksets::handleNavmeshDataGetError(const std::string& pURL, const std::string& pErrorReason)
-{
- setFetchState(kFetchError);
- clearLinksetsList();
- llwarns << "Error fetching navmesh data from URL '" << pURL << "' because " << pErrorReason << llendl;
-}
-
-void LLFloaterPathfindingLinksets::setFetchState(EFetchState pFetchState)
-{
- mFetchState = pFetchState;
- updateLinksetsStatusMessage();
-}
-
-void LLFloaterPathfindingLinksets::onLinksetsSelectionChange()
-{
- updateLinksetsStatusMessage();
-}
-
-void LLFloaterPathfindingLinksets::onRefreshLinksetsClicked()
-{
- sendNavmeshDataGetRequest();
-}
-
-void LLFloaterPathfindingLinksets::onSelectAllLinksetsClicked()
-{
- selectAllLinksets();
-}
-
-void LLFloaterPathfindingLinksets::onSelectNoneLinksetsClicked()
-{
- selectNoneLinksets();
-}
-
-void LLFloaterPathfindingLinksets::clearLinksetsList()
-{
- mPathfindingLinksets.clearLinksets();
- mLinksetsScrollList->deleteAllItems();
+ mLinksetsScrollList->selectMultiple(selectedUUIDs);
updateLinksetsStatusMessage();
}
@@ -581,10 +963,10 @@ void LLFloaterPathfindingLinksets::updateLinksetsStatusMessage()
case kFetchStarting :
statusText = getString("linksets_fetching_starting");
break;
- case kFetchInProgress :
+ case kFetchRequestSent :
statusText = getString("linksets_fetching_inprogress");
break;
- case kFetchInProgress_MultiRequested :
+ case kFetchRequestSent_MultiRequested :
statusText = getString("linksets_fetching_inprogress_multi_request");
break;
case kFetchReceived :
@@ -626,23 +1008,188 @@ void LLFloaterPathfindingLinksets::updateLinksetsStatusMessage()
mLinksetsStatus->setText((LLStringExplicit)statusText, styleParams);
}
-NavmeshDataGetResponder::NavmeshDataGetResponder(const std::string& pNavmeshDataGetURL, LLFloaterPathfindingLinksets *pLinksetsFloater)
- : mNavmeshDataGetURL(pNavmeshDataGetURL),
+void LLFloaterPathfindingLinksets::updateEditFields()
+{
+ std::vector<LLScrollListItem*> selectedItems = mLinksetsScrollList->getAllSelected();
+ if (selectedItems.empty())
+ {
+ mEditFixed->clear();
+ mEditWalkable->clear();
+ mEditPhantom->clear();
+ mEditA->clear();
+ mEditB->clear();
+ mEditC->clear();
+ mEditD->clear();
+
+ setEnableEditFields(false);
+ }
+ else
+ {
+ LLScrollListItem *firstItem = selectedItems.front();
+
+ const PathfindingLinksets::PathfindingLinksetMap &linksetsMap = mPathfindingLinksets.getAllLinksets();
+ PathfindingLinksets::PathfindingLinksetMap::const_iterator linksetIter = linksetsMap.find(firstItem->getUUID().asString());
+ const PathfindingLinkset &linkset(linksetIter->second);
+
+ mEditFixed->set(linkset.isFixed());
+ mEditWalkable->set(linkset.isWalkable());
+ mEditPhantom->set(linkset.isPhantom());
+ mEditA->setValue(LLSD(linkset.getA()));
+ mEditB->setValue(LLSD(linkset.getB()));
+ mEditC->setValue(LLSD(linkset.getC()));
+ mEditD->setValue(LLSD(linkset.getD()));
+
+ setEnableEditFields(true);
+ }
+}
+
+void LLFloaterPathfindingLinksets::applyEditFields()
+{
+ std::vector<LLScrollListItem*> selectedItems = mLinksetsScrollList->getAllSelected();
+ if (!selectedItems.empty())
+ {
+ BOOL isFixedBool = mEditFixed->getValue();
+ BOOL isWalkableBool = mEditWalkable->getValue();
+ BOOL isPhantomBool = mEditPhantom->getValue();
+ const std::string &aString = mEditA->getText();
+ const std::string &bString = mEditB->getText();
+ const std::string &cString = mEditC->getText();
+ const std::string &dString = mEditD->getText();
+ S32 aValue = static_cast<S32>(atoi(aString.c_str()));
+ S32 bValue = static_cast<S32>(atoi(bString.c_str()));
+ S32 cValue = static_cast<S32>(atoi(cString.c_str()));
+ S32 dValue = static_cast<S32>(atoi(dString.c_str()));
+
+ LLSD isFixed = (bool)isFixedBool;
+ LLSD isWalkable = (bool)isWalkableBool;
+ LLSD isPhantom = (bool)isPhantomBool;
+ LLSD a = static_cast<F32>(aValue) / 100.0f;
+ LLSD b = static_cast<F32>(bValue) / 100.0f;
+ LLSD c = static_cast<F32>(cValue) / 100.0f;
+ LLSD d = static_cast<F32>(dValue) / 100.0f;
+
+ const PathfindingLinksets::PathfindingLinksetMap &linksetsMap = mPathfindingLinksets.getAllLinksets();
+
+ LLSD editData;
+ for (std::vector<LLScrollListItem*>::const_iterator itemIter = selectedItems.begin();
+ itemIter != selectedItems.end(); ++itemIter)
+ {
+ const LLScrollListItem *listItem = *itemIter;
+ LLUUID uuid = listItem->getUUID();
+
+ const PathfindingLinksets::PathfindingLinksetMap::const_iterator linksetIter = linksetsMap.find(uuid.asString());
+ const PathfindingLinkset &linkset = linksetIter->second;
+
+ LLSD itemData;
+ if (linkset.isFixed() != isFixedBool)
+ {
+ itemData["permanent"] = isFixed;
+ }
+ if (linkset.isWalkable() != isWalkableBool)
+ {
+ itemData["walkable"] = isWalkable;
+ }
+ if (linkset.isPhantom() != isPhantomBool)
+ {
+ itemData["phantom"] = isPhantom;
+ }
+ if (linkset.getA() != aValue)
+ {
+ itemData["A"] = a;
+ }
+ if (linkset.getB() != bValue)
+ {
+ itemData["B"] = b;
+ }
+ if (linkset.getC() != cValue)
+ {
+ itemData["C"] = c;
+ }
+ if (linkset.getD() != dValue)
+ {
+ itemData["D"] = d;
+ }
+
+ if (!itemData.isUndefined())
+ {
+ editData[uuid.asString()] = itemData;
+ }
+ }
+
+ if (editData.isUndefined())
+ {
+ llwarns << "No PUT data specified" << llendl;
+ }
+ else
+ {
+ sendNavMeshDataPutRequest(editData);
+ }
+ }
+}
+
+void LLFloaterPathfindingLinksets::setEnableEditFields(BOOL pEnabled)
+{
+ mEditFixed->setEnabled(pEnabled);
+ mEditWalkable->setEnabled(pEnabled);
+ mEditPhantom->setEnabled(pEnabled);
+ mLabelWalkabilityCoefficients->setEnabled(pEnabled);
+ mLabelEditA->setEnabled(pEnabled);
+ mLabelEditB->setEnabled(pEnabled);
+ mLabelEditC->setEnabled(pEnabled);
+ mLabelEditD->setEnabled(pEnabled);
+ mEditA->setEnabled(pEnabled);
+ mEditB->setEnabled(pEnabled);
+ mEditC->setEnabled(pEnabled);
+ mEditD->setEnabled(pEnabled);
+ mApplyEdits->setEnabled(pEnabled);
+}
+
+//---------------------------------------------------------------------------
+// NavMeshDataGetResponder
+//---------------------------------------------------------------------------
+
+NavMeshDataGetResponder::NavMeshDataGetResponder(const std::string& pNavMeshDataGetURL, LLFloaterPathfindingLinksets *pLinksetsFloater)
+ : mNavMeshDataGetURL(pNavMeshDataGetURL),
+ mLinksetsFloater(pLinksetsFloater)
+{
+}
+
+NavMeshDataGetResponder::~NavMeshDataGetResponder()
+{
+ mLinksetsFloater = NULL;
+}
+
+void NavMeshDataGetResponder::result(const LLSD& pContent)
+{
+ mLinksetsFloater->handleNavMeshDataGetReply(pContent);
+}
+
+void NavMeshDataGetResponder::error(U32 status, const std::string& reason)
+{
+ mLinksetsFloater->handleNavMeshDataGetError(mNavMeshDataGetURL, reason);
+}
+
+//---------------------------------------------------------------------------
+// NavMeshDataPutResponder
+//---------------------------------------------------------------------------
+
+NavMeshDataPutResponder::NavMeshDataPutResponder(const std::string& pNavMeshDataPutURL, LLFloaterPathfindingLinksets *pLinksetsFloater)
+ : mNavMeshDataPutURL(pNavMeshDataPutURL),
mLinksetsFloater(pLinksetsFloater)
{
}
-NavmeshDataGetResponder::~NavmeshDataGetResponder()
+NavMeshDataPutResponder::~NavMeshDataPutResponder()
{
mLinksetsFloater = NULL;
}
-void NavmeshDataGetResponder::result(const LLSD& pContent)
+void NavMeshDataPutResponder::result(const LLSD& pContent)
{
- mLinksetsFloater->handleNavmeshDataGetReply(pContent);
+ mLinksetsFloater->handleNavMeshDataPutReply(pContent);
}
-void NavmeshDataGetResponder::error(U32 status, const std::string& reason)
+void NavMeshDataPutResponder::error(U32 status, const std::string& reason)
{
- mLinksetsFloater->handleNavmeshDataGetError(mNavmeshDataGetURL, reason);
+ mLinksetsFloater->handleNavMeshDataPutError(mNavMeshDataPutURL, reason);
}
diff --git a/indra/newview/llfloaterpathfindinglinksets.h b/indra/newview/llfloaterpathfindinglinksets.h
index 693721429f..b1fd771219 100644
--- a/indra/newview/llfloaterpathfindinglinksets.h
+++ b/indra/newview/llfloaterpathfindinglinksets.h
@@ -35,11 +35,14 @@
class LLTextBase;
class LLScrollListCtrl;
+class LLLineEditor;
+class LLCheckBoxCtrl;
+class LLButton;
class PathfindingLinkset
{
public:
- PathfindingLinkset(const std::string &pUUID, const LLSD &pNavmeshItem);
+ PathfindingLinkset(const std::string &pUUID, const LLSD &pNavMeshItem);
PathfindingLinkset(const PathfindingLinkset& pOther);
virtual ~PathfindingLinkset();
@@ -60,17 +63,17 @@ public:
BOOL isPhantom() const;
void setPhantom(BOOL pIsPhantom);
- F32 getA() const;
- void setA(F32 pA);
+ S32 getA() const;
+ void setA(S32 pA);
- F32 getB() const;
- void setB(F32 pB);
+ S32 getB() const;
+ void setB(S32 pB);
- F32 getC() const;
- void setC(F32 pC);
+ S32 getC() const;
+ void setC(S32 pC);
- F32 getD() const;
- void setD(F32 pD);
+ S32 getD() const;
+ void setD(S32 pD);
protected:
@@ -83,10 +86,32 @@ private:
BOOL mIsFixed;
BOOL mIsWalkable;
BOOL mIsPhantom;
- F32 mA;
- F32 mB;
- F32 mC;
- F32 mD;
+ S32 mA;
+ S32 mB;
+ S32 mC;
+ S32 mD;
+};
+
+class FilterString
+{
+public:
+ FilterString();
+ FilterString(const std::string& pFilter);
+ FilterString(const FilterString& pOther);
+ virtual ~FilterString();
+
+ const std::string& get() const;
+ bool set(const std::string& pFilter);
+ void clear();
+
+ bool isActive() const;
+ bool doesMatch(const std::string& pTestString) const;
+
+protected:
+
+private:
+ std::string mFilter;
+ std::string mUpperFilter;
};
class PathfindingLinksets
@@ -95,19 +120,26 @@ public:
typedef std::map<std::string, PathfindingLinkset> PathfindingLinksetMap;
PathfindingLinksets();
- PathfindingLinksets(const LLSD& pNavmeshData);
+ PathfindingLinksets(const LLSD& pNavMeshData);
PathfindingLinksets(const PathfindingLinksets& pOther);
virtual ~PathfindingLinksets();
- void parseNavmeshData(const LLSD& pNavmeshData);
+ void parseNavMeshData(const LLSD& pNavMeshData);
void clearLinksets();
const PathfindingLinksetMap& getAllLinksets() const;
const PathfindingLinksetMap& getFilteredLinksets();
- BOOL isFilterActive() const;
- void setNameFilter(const std::string& pNameFilter);
- void clearFilters();
+ BOOL isFiltersActive() const;
+ void setNameFilter(const std::string& pNameFilter);
+ const std::string& getNameFilter() const;
+ void setDescriptionFilter(const std::string& pDescriptionFilter);
+ const std::string& getDescriptionFilter() const;
+ void setFixedFilter(BOOL pFixedFilter);
+ BOOL isFixedFilter() const;
+ void setWalkableFilter(BOOL pWalkableFilter);
+ BOOL isWalkableFilter() const;
+ void clearFilters();
protected:
@@ -115,25 +147,30 @@ private:
PathfindingLinksetMap mAllLinksets;
PathfindingLinksetMap mFilteredLinksets;
- bool mIsFilterDirty;
- std::string mNameFilter;
+ bool mIsFiltersDirty;
+ FilterString mNameFilter;
+ FilterString mDescriptionFilter;
+ BOOL mIsFixedFilter;
+ BOOL mIsWalkableFilter;
void applyFilters();
+ BOOL doesMatchFilters(const PathfindingLinkset& pLinkset) const;
};
class LLFloaterPathfindingLinksets
: public LLFloater
{
friend class LLFloaterReg;
- friend class NavmeshDataGetResponder;
+ friend class NavMeshDataGetResponder;
+ friend class NavMeshDataPutResponder;
public:
typedef enum
{
kFetchInitial,
kFetchStarting,
- kFetchInProgress,
- kFetchInProgress_MultiRequested,
+ kFetchRequestSent,
+ kFetchRequestSent_MultiRequested,
kFetchReceived,
kFetchError,
kFetchComplete
@@ -154,28 +191,61 @@ private:
EFetchState mFetchState;
LLScrollListCtrl *mLinksetsScrollList;
LLTextBase *mLinksetsStatus;
+ LLLineEditor *mFilterByName;
+ LLLineEditor *mFilterByDescription;
+ LLCheckBoxCtrl *mFilterByFixed;
+ LLCheckBoxCtrl *mFilterByWalkable;
+ LLCheckBoxCtrl *mEditFixed;
+ LLCheckBoxCtrl *mEditWalkable;
+ LLCheckBoxCtrl *mEditPhantom;
+ LLTextBase *mLabelWalkabilityCoefficients;
+ LLTextBase *mLabelEditA;
+ LLTextBase *mLabelEditB;
+ LLTextBase *mLabelEditC;
+ LLTextBase *mLabelEditD;
+ LLLineEditor *mEditA;
+ LLLineEditor *mEditB;
+ LLLineEditor *mEditC;
+ LLLineEditor *mEditD;
+ LLButton *mApplyEdits;
// Does its own instance management, so clients not allowed
// to allocate or destroy.
LLFloaterPathfindingLinksets(const LLSD& pSeed);
virtual ~LLFloaterPathfindingLinksets();
- void sendNavmeshDataGetRequest();
- void handleNavmeshDataGetReply(const LLSD& pNavmeshData);
- void handleNavmeshDataGetError(const std::string& pURL, const std::string& pErrorReason);
+ void sendNavMeshDataGetRequest();
+ void sendNavMeshDataPutRequest(const LLSD& pPostData);
+ void handleNavMeshDataGetReply(const LLSD& pNavMeshData);
+ void handleNavMeshDataGetError(const std::string& pURL, const std::string& pErrorReason);
+ void handleNavMeshDataPutReply(const LLSD& pModifiedData);
+ void handleNavMeshDataPutError(const std::string& pURL, const std::string& pErrorReason);
+
+ std::string getRegionName() const;
+ std::string getCapabilityURL() const;
void setFetchState(EFetchState pFetchState);
+ void onApplyFiltersClicked();
+ void onClearFiltersClicked();
void onLinksetsSelectionChange();
void onRefreshLinksetsClicked();
void onSelectAllLinksetsClicked();
void onSelectNoneLinksetsClicked();
+ void onApplyChangesClicked();
- void clearLinksetsList();
+ void applyFilters();
+ void clearFilters();
+
+ void updateLinksetsList();
void selectAllLinksets();
void selectNoneLinksets();
void updateLinksetsStatusMessage();
+
+ void updateEditFields();
+ void applyEditFields();
+ void setEnableEditFields(BOOL pEnabled);
};
#endif // LL_LLFLOATERPATHFINDINGLINKSETS_H
diff --git a/indra/newview/llinventorymodel.h b/indra/newview/llinventorymodel.h
index 0a564d353a..19d1e4e01f 100644
--- a/indra/newview/llinventorymodel.h
+++ b/indra/newview/llinventorymodel.h
@@ -64,6 +64,7 @@ class LLInventoryCollectFunctor;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class LLInventoryModel
{
+ LOG_CLASS(LLInventoryModel);
public:
friend class LLInventoryModelFetchDescendentsResponder;
diff --git a/indra/newview/llnavmeshstation.cpp b/indra/newview/llnavmeshstation.cpp
index 24c4979298..bb08f00f40 100644
--- a/indra/newview/llnavmeshstation.cpp
+++ b/indra/newview/llnavmeshstation.cpp
@@ -1,175 +1,175 @@
-/**
- * @file llnavmeshstation.cpp
- * @brief
- *
- * $LicenseInfo:firstyear=2005&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 "llnavmeshstation.h"
-#include "llcurl.h"
-#include "llpathinglib.h"
-#include "llagent.h"
-#include "llviewerregion.h"
-#include "llsdutil.h"
-//===============================================================================
-LLNavMeshStation::LLNavMeshStation()
-{
-}
-//===============================================================================
-class LLNavMeshUploadResponder : public LLCurl::Responder
-{
-public:
- LLNavMeshUploadResponder( const LLHandle<LLNavMeshObserver>& observer_handle )
- : mObserverHandle( observer_handle )
- {
- }
-
- void clearPendingRequests ( void )
- {
- }
-
- void error( U32 statusNum, const std::string& reason )
- {
- statusNum;
- llwarns << "Transport error "<<reason<<llendl;
- }
-
- void result( const LLSD& content )
- {
- llinfos<<"Content received"<<llendl;
- //TODO# some sanity checking
- if ( content.has("error") )
- {
- llwarns << "Error on fetched data"<< llendl;
- }
- else
- {
- LLNavMeshObserver* pObserver = mObserverHandle.get();
- if ( pObserver )
- {
- llinfos<<"Do something immensely important w/content"<<llendl;
- //pObserver->execute();
- }
- }
- }
-
-private:
- //Observer handle
- LLHandle<LLNavMeshObserver> mObserverHandle;
-};
-//===============================================================================
-class LLNavMeshDownloadResponder : public LLCurl::Responder
-{
-public:
- LLNavMeshDownloadResponder( const LLHandle<LLNavMeshDownloadObserver>& observer_handle )
- : mObserverHandle( observer_handle )
- {
- }
-
- void clearPendingRequests ( void )
- {
- }
-
- void error( U32 statusNum, const std::string& reason )
- {
- statusNum;
- llwarns << "Transport error "<<reason<<llendl;
- }
-
- void result( const LLSD& content )
- {
- llinfos<<"Content received"<<llendl;
- //TODO# some sanity checking
- if ( content.has("error") )
- {
- llwarns << "Error on fetched data"<< llendl;
- llinfos<<"LLsd buffer on error"<<ll_pretty_print_sd(content)<<llendl;
- }
- else
- {
- LLNavMeshDownloadObserver* pObserver = mObserverHandle.get();
- if ( pObserver )
- {
-
- if ( content.has("navmesh_data") )
- {
- LLSD::Binary& stuff = content["navmesh_data"].asBinary();
- LLPathingLib::getInstance()->extractNavMeshSrcFromLLSD( stuff );
- }
- else
- {
- llwarns<<"no mesh data "<<llendl;
- }
- }
- }
-}
-
-private:
- //Observer handle
- LLHandle<LLNavMeshDownloadObserver> mObserverHandle;
-};
-
-//===============================================================================
-bool LLNavMeshStation::postNavMeshToServer( LLSD& data, const LLHandle<LLNavMeshObserver>& observerHandle )
-{
- mCurlRequest = new LLCurlRequest();
-
- if ( mNavMeshUploadURL.empty() )
- {
- llinfos << "Unable to upload navmesh because of missing URL" << llendl;
- }
- else
- {
- LLCurlRequest::headers_t headers;
- mCurlRequest->post( mNavMeshUploadURL, headers, data,
- new LLNavMeshUploadResponder(/*this, data,*/ observerHandle ) );
- do
- {
- mCurlRequest->process();
- //sleep for 10ms to prevent eating a whole core
- apr_sleep(10000);
- } while ( mCurlRequest->getQueued() > 0 );
- }
-
- delete mCurlRequest;
-
- mCurlRequest = NULL;
-
- return true;
-}
-//===============================================================================
-void LLNavMeshStation::downloadNavMeshSrc( const LLHandle<LLNavMeshDownloadObserver>& observerHandle )
-{
- if ( mNavMeshDownloadURL.empty() )
- {
- llinfos << "Unable to upload navmesh because of missing URL" << llendl;
- }
- else
- {
- LLSD data;
- data["agent_id"] = gAgent.getID();
- data["region_id"] = gAgent.getRegion()->getRegionID();
- LLHTTPClient::post(mNavMeshDownloadURL, data, new LLNavMeshDownloadResponder( observerHandle ) );
- }
-}
-//=============================================================================== \ No newline at end of file
+/**
+ * @file llnavmeshstation.cpp
+ * @brief
+ *
+ * $LicenseInfo:firstyear=2005&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 "llnavmeshstation.h"
+#include "llcurl.h"
+#include "llpathinglib.h"
+#include "llagent.h"
+#include "llviewerregion.h"
+#include "llsdutil.h"
+//===============================================================================
+LLNavMeshStation::LLNavMeshStation()
+{
+}
+//===============================================================================
+class LLNavMeshUploadResponder : public LLCurl::Responder
+{
+public:
+ LLNavMeshUploadResponder( const LLHandle<LLNavMeshObserver>& observer_handle )
+ : mObserverHandle( observer_handle )
+ {
+ }
+
+ void clearPendingRequests ( void )
+ {
+ }
+
+ void error( U32 statusNum, const std::string& reason )
+ {
+ //statusNum;
+ llwarns << "Transport error "<<reason<<llendl;
+ }
+
+ void result( const LLSD& content )
+ {
+ llinfos<<"Content received"<<llendl;
+ //TODO# some sanity checking
+ if ( content.has("error") )
+ {
+ llwarns << "Error on fetched data"<< llendl;
+ }
+ else
+ {
+ LLNavMeshObserver* pObserver = mObserverHandle.get();
+ if ( pObserver )
+ {
+ llinfos<<"Do something immensely important w/content"<<llendl;
+ //pObserver->execute();
+ }
+ }
+ }
+
+private:
+ //Observer handle
+ LLHandle<LLNavMeshObserver> mObserverHandle;
+};
+//===============================================================================
+class LLNavMeshDownloadResponder : public LLCurl::Responder
+{
+public:
+ LLNavMeshDownloadResponder( const LLHandle<LLNavMeshDownloadObserver>& observer_handle )
+ : mObserverHandle( observer_handle )
+ {
+ }
+
+ void clearPendingRequests ( void )
+ {
+ }
+
+ void error( U32 statusNum, const std::string& reason )
+ {
+ //statusNum;
+ llwarns << "Transport error "<<reason<<llendl;
+ }
+
+ void result( const LLSD& content )
+ {
+ llinfos<<"Content received"<<llendl;
+ //TODO# some sanity checking
+ if ( content.has("error") )
+ {
+ llwarns << "Error on fetched data"<< llendl;
+ llinfos<<"LLsd buffer on error"<<ll_pretty_print_sd(content)<<llendl;
+ }
+ else
+ {
+ LLNavMeshDownloadObserver* pObserver = mObserverHandle.get();
+ if ( pObserver )
+ {
+
+ if ( content.has("navmesh_data") )
+ {
+ const LLSD::Binary& stuff = content["navmesh_data"].asBinary();
+ LLPathingLib::getInstance()->extractNavMeshSrcFromLLSD( stuff );
+ }
+ else
+ {
+ llwarns<<"no mesh data "<<llendl;
+ }
+ }
+ }
+}
+
+private:
+ //Observer handle
+ LLHandle<LLNavMeshDownloadObserver> mObserverHandle;
+};
+
+//===============================================================================
+bool LLNavMeshStation::postNavMeshToServer( LLSD& data, const LLHandle<LLNavMeshObserver>& observerHandle )
+{
+ mCurlRequest = new LLCurlRequest();
+
+ if ( mNavMeshUploadURL.empty() )
+ {
+ llinfos << "Unable to upload navmesh because of missing URL" << llendl;
+ }
+ else
+ {
+ LLCurlRequest::headers_t headers;
+ mCurlRequest->post( mNavMeshUploadURL, headers, data,
+ new LLNavMeshUploadResponder(/*this, data,*/ observerHandle ) );
+ do
+ {
+ mCurlRequest->process();
+ //sleep for 10ms to prevent eating a whole core
+ apr_sleep(10000);
+ } while ( mCurlRequest->getQueued() > 0 );
+ }
+
+ delete mCurlRequest;
+
+ mCurlRequest = NULL;
+
+ return true;
+}
+//===============================================================================
+void LLNavMeshStation::downloadNavMeshSrc( const LLHandle<LLNavMeshDownloadObserver>& observerHandle )
+{
+ if ( mNavMeshDownloadURL.empty() )
+ {
+ llinfos << "Unable to upload navmesh because of missing URL" << llendl;
+ }
+ else
+ {
+ LLSD data;
+ data["agent_id"] = gAgent.getID();
+ data["region_id"] = gAgent.getRegion()->getRegionID();
+ LLHTTPClient::post(mNavMeshDownloadURL, data, new LLNavMeshDownloadResponder( observerHandle ) );
+ }
+}
+//===============================================================================
diff --git a/indra/newview/llnavmeshstation.h b/indra/newview/llnavmeshstation.h
index 5436694b41..10d35786b8 100644
--- a/indra/newview/llnavmeshstation.h
+++ b/indra/newview/llnavmeshstation.h
@@ -1,93 +1,94 @@
-/**
- * @file llnavmeshstation.h
- * @brief Client-side navmesh support
- *
- * $LicenseInfo:firstyear=2001&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 LL_NAV_MESH_STATION_H
-#define LL_NAV_MESH_STATION_H
-
-//===============================================================================
-#include "llhandle.h"
-//===============================================================================
-class LLCurlRequest;
-class LLMessageSystem;
-//===============================================================================
-class LLNavMeshObserver
-{
-public:
- //Ctor
- LLNavMeshObserver() { mObserverHandle.bind(this); }
- //Dtor
- virtual ~LLNavMeshObserver() {}
- //Accessor for the observers handle
- const LLHandle<LLNavMeshObserver>& getObserverHandle() const { return mObserverHandle; }
-
-protected:
- LLRootHandle<LLNavMeshObserver> mObserverHandle;
-};
-//===============================================================================
-//prep#TODO# determine if a name change is needed?
-class LLNavMeshDownloadObserver
-{
-public:
- //Ctor
- LLNavMeshDownloadObserver() { mObserverHandle.bind(this); }
- //Dtor
- virtual ~LLNavMeshDownloadObserver() {}
- //Accessor for the observers handle
- const LLHandle<LLNavMeshDownloadObserver>& getObserverHandle() const { return mObserverHandle; }
-
-protected:
- LLRootHandle<LLNavMeshDownloadObserver> mObserverHandle;
-};
-//===============================================================================
-class LLNavMeshStation : public LLSingleton<LLNavMeshStation>
-{
-public:
- //Ctor
- LLNavMeshStation();
- //Facilitates the posting of a prepopulated llsd block to an existing url
- bool postNavMeshToServer( LLSD& data, const LLHandle<LLNavMeshObserver>& observerHandle );
- //Setter for the navmesh upload url
- void setNavMeshUploadURL( std::string& url ) { mNavMeshUploadURL = url; }
- //Setter for the navmesh download url
- void setNavMeshDownloadURL( std::string& url ) { mNavMeshDownloadURL = url; }
- //Callback to handle the requested src data for this regions navmesh src
- static void processNavMeshSrc( LLMessageSystem* msg, void** );
- //Initiate download of the navmesh source from the server
- void downloadNavMeshSrc( const LLHandle<LLNavMeshDownloadObserver>& observerHandle );
-
-protected:
- //Curl object to facilitate posts to server
- LLCurlRequest* mCurlRequest;
- //Maximum time in seconds to execute an uploading request.
- S32 mMeshUploadTimeOut ;
- //URL used for uploading viewer generated navmesh
- std::string mNavMeshUploadURL;
- //URL used for download the src data for a navmesh
- std::string mNavMeshDownloadURL;
-
-};
-//===============================================================================
-#endif LL_NAV_MESH_STATION_H \ No newline at end of file
+/**
+ * @file llnavmeshstation.h
+ * @brief Client-side navmesh support
+ *
+ * $LicenseInfo:firstyear=2001&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 LL_NAV_MESH_STATION_H
+#define LL_NAV_MESH_STATION_H
+
+//===============================================================================
+#include "llhandle.h"
+//===============================================================================
+class LLCurlRequest;
+class LLMessageSystem;
+//===============================================================================
+class LLNavMeshObserver
+{
+public:
+ //Ctor
+ LLNavMeshObserver() { mObserverHandle.bind(this); }
+ //Dtor
+ virtual ~LLNavMeshObserver() {}
+ //Accessor for the observers handle
+ const LLHandle<LLNavMeshObserver>& getObserverHandle() const { return mObserverHandle; }
+
+protected:
+ LLRootHandle<LLNavMeshObserver> mObserverHandle;
+};
+//===============================================================================
+//prep#TODO# determine if a name change is needed?
+class LLNavMeshDownloadObserver
+{
+public:
+ //Ctor
+ LLNavMeshDownloadObserver() { mObserverHandle.bind(this); }
+ //Dtor
+ virtual ~LLNavMeshDownloadObserver() {}
+ //Accessor for the observers handle
+ const LLHandle<LLNavMeshDownloadObserver>& getObserverHandle() const { return mObserverHandle; }
+
+protected:
+ LLRootHandle<LLNavMeshDownloadObserver> mObserverHandle;
+};
+//===============================================================================
+class LLNavMeshStation : public LLSingleton<LLNavMeshStation>
+{
+public:
+ //Ctor
+ LLNavMeshStation();
+ //Facilitates the posting of a prepopulated llsd block to an existing url
+ bool postNavMeshToServer( LLSD& data, const LLHandle<LLNavMeshObserver>& observerHandle );
+ //Setter for the navmesh upload url
+ void setNavMeshUploadURL( std::string& url ) { mNavMeshUploadURL = url; }
+ //Setter for the navmesh download url
+ void setNavMeshDownloadURL( std::string& url ) { mNavMeshDownloadURL = url; }
+ //Callback to handle the requested src data for this regions navmesh src
+ static void processNavMeshSrc( LLMessageSystem* msg, void** );
+ //Initiate download of the navmesh source from the server
+ void downloadNavMeshSrc( const LLHandle<LLNavMeshDownloadObserver>& observerHandle );
+
+protected:
+ //Curl object to facilitate posts to server
+ LLCurlRequest* mCurlRequest;
+ //Maximum time in seconds to execute an uploading request.
+ S32 mMeshUploadTimeOut ;
+ //URL used for uploading viewer generated navmesh
+ std::string mNavMeshUploadURL;
+ //URL used for download the src data for a navmesh
+ std::string mNavMeshDownloadURL;
+
+};
+//===============================================================================
+#endif //LL_NAV_MESH_STATION_H
+
diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp
index 99af27a63c..7d8f7b6df0 100644
--- a/indra/newview/llspatialpartition.cpp
+++ b/indra/newview/llspatialpartition.cpp
@@ -28,6 +28,10 @@
#include "llspatialpartition.h"
+#include "llappviewer.h"
+#include "lltexturecache.h"
+#include "lltexturefetch.h"
+#include "llimageworker.h"
#include "llviewerwindow.h"
#include "llviewerobjectlist.h"
#include "llvovolume.h"
@@ -1222,6 +1226,7 @@ LLSpatialGroup::LLSpatialGroup(OctreeNode* node, LLSpatialPartition* part) :
for (U32 i = 0; i < LLViewerCamera::NUM_CAMERAS; i++)
{
mOcclusionQuery[i] = 0;
+ mOcclusionIssued[i] = 0;
mOcclusionState[i] = parent ? SG_STATE_INHERIT_MASK & parent->mOcclusionState[i] : 0;
mVisible[i] = 0;
}
@@ -1544,6 +1549,8 @@ BOOL LLSpatialGroup::rebound()
}
static LLFastTimer::DeclareTimer FTM_OCCLUSION_READBACK("Readback Occlusion");
+static LLFastTimer::DeclareTimer FTM_OCCLUSION_WAIT("Wait");
+
void LLSpatialGroup::checkOcclusion()
{
if (LLPipeline::sUseOcclusion > 1)
@@ -1561,6 +1568,22 @@ void LLSpatialGroup::checkOcclusion()
if (mOcclusionQuery[LLViewerCamera::sCurCameraID])
{
glGetQueryObjectuivARB(mOcclusionQuery[LLViewerCamera::sCurCameraID], GL_QUERY_RESULT_AVAILABLE_ARB, &available);
+
+ if (mOcclusionIssued[LLViewerCamera::sCurCameraID] < gFrameCount)
+ { //query was issued last frame, wait until it's available
+ S32 max_loop = 1024;
+ LLFastTimer t(FTM_OCCLUSION_WAIT);
+ while (!available && max_loop-- > 0)
+ {
+ F32 max_time = llmin(gFrameIntervalSeconds*10.f, 1.f);
+ //do some usefu work while we wait
+ LLAppViewer::getTextureCache()->update(max_time); // unpauses the texture cache thread
+ LLAppViewer::getImageDecodeThread()->update(max_time); // unpauses the image thread
+ LLAppViewer::getTextureFetch()->update(max_time); // unpauses the texture fetch thread
+
+ glGetQueryObjectuivARB(mOcclusionQuery[LLViewerCamera::sCurCameraID], GL_QUERY_RESULT_AVAILABLE_ARB, &available);
+ }
+ }
}
else
{
@@ -1680,14 +1703,17 @@ void LLSpatialGroup::doOcclusion(LLCamera* camera)
{
LLFastTimer t(FTM_PUSH_OCCLUSION_VERTS);
+ //store which frame this query was issued on
+ mOcclusionIssued[LLViewerCamera::sCurCameraID] = gFrameCount;
+
{
LLFastTimer t(FTM_OCCLUSION_BEGIN_QUERY);
- glBeginQueryARB(mode, mOcclusionQuery[LLViewerCamera::sCurCameraID]);
+ glBeginQueryARB(mode, mOcclusionQuery[LLViewerCamera::sCurCameraID]);
}
{
LLFastTimer t(FTM_OCCLUSION_SET_BUFFER);
- mOcclusionVerts->setBuffer(LLVertexBuffer::MAP_VERTEX);
+ mOcclusionVerts->setBuffer(LLVertexBuffer::MAP_VERTEX);
}
if (!use_depth_clamp && mSpatialPartition->mDrawableType == LLDrawPool::POOL_VOIDWATER)
@@ -1722,10 +1748,10 @@ void LLSpatialGroup::doOcclusion(LLCamera* camera)
{
LLFastTimer t(FTM_OCCLUSION_END_QUERY);
- glEndQueryARB(mode);
+ glEndQueryARB(mode);
+ }
}
}
- }
{
LLFastTimer t(FTM_SET_OCCLUSION_STATE);
@@ -3316,7 +3342,7 @@ void renderPhysicsShape(LLDrawable* drawable, LLVOVolume* volume)
LLVertexBuffer::unbind();
llassert(!LLGLSLShader::sNoFixedFunction || LLGLSLShader::sCurBoundShader != 0);
-
+
LLVertexBuffer::drawElements(LLRender::TRIANGLES, phys_volume->mHullPoints, NULL, phys_volume->mNumHullIndices, phys_volume->mHullIndices);
gGL.diffuseColor4fv(color.mV);
@@ -3750,10 +3776,6 @@ void renderRaycast(LLDrawable* drawablep)
for (S32 i = 0; i < volume->getNumVolumeFaces(); ++i)
{
const LLVolumeFace& face = volume->getVolumeFace(i);
- if (!face.mOctree)
- {
- ((LLVolumeFace*) &face)->createOctree();
- }
gGL.pushMatrix();
gGL.translatef(trans.mV[0], trans.mV[1], trans.mV[2]);
@@ -3777,9 +3799,6 @@ void renderRaycast(LLDrawable* drawablep)
LLVector4a dir;
dir.setSub(enda, starta);
- F32 t = 1.f;
-
- LLRenderOctreeRaycast render(starta, dir, &t);
gGL.flush();
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
@@ -3792,7 +3811,20 @@ void renderRaycast(LLDrawable* drawablep)
glDrawElements(GL_TRIANGLES, face.mNumIndices, GL_UNSIGNED_SHORT, face.mIndices);
}
+ if (!volume->isUnique())
+ {
+ F32 t = 1.f;
+
+ if (!face.mOctree)
+ {
+ ((LLVolumeFace*) &face)->createOctree();
+ }
+
+ LLRenderOctreeRaycast render(starta, dir, &t);
+
render.traverse(face.mOctree);
+ }
+
gGL.popMatrix();
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
}
@@ -3942,7 +3974,7 @@ public:
for (LLSpatialGroup::OctreeNode::const_element_iter i = branch->getData().begin(); i != branch->getData().end(); ++i)
{
LLDrawable* drawable = *i;
-
+
if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_BBOXES))
{
renderBoundingBox(drawable);
diff --git a/indra/newview/llspatialpartition.h b/indra/newview/llspatialpartition.h
index f0c8a372ee..899547ae4d 100644
--- a/indra/newview/llspatialpartition.h
+++ b/indra/newview/llspatialpartition.h
@@ -396,6 +396,8 @@ protected:
U32 mState;
U32 mOcclusionState[LLViewerCamera::NUM_CAMERAS];
+ U32 mOcclusionIssued[LLViewerCamera::NUM_CAMERAS];
+
S32 mLODHash;
static S32 sLODSeed;
diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp
index e7a176f4f9..8632890bbb 100644
--- a/indra/newview/lltexturecache.cpp
+++ b/indra/newview/lltexturecache.cpp
@@ -760,7 +760,7 @@ LLTextureCache::~LLTextureCache()
//////////////////////////////////////////////////////////////////////////////
//virtual
-S32 LLTextureCache::update(U32 max_time_ms)
+S32 LLTextureCache::update(F32 max_time_ms)
{
static LLFrameTimer timer ;
static const F32 MAX_TIME_INTERVAL = 300.f ; //seconds.
diff --git a/indra/newview/lltexturecache.h b/indra/newview/lltexturecache.h
index 64e3a2658c..dd0cc9b4bd 100644
--- a/indra/newview/lltexturecache.h
+++ b/indra/newview/lltexturecache.h
@@ -101,7 +101,7 @@ public:
LLTextureCache(bool threaded);
~LLTextureCache();
- /*virtual*/ S32 update(U32 max_time_ms);
+ /*virtual*/ S32 update(F32 max_time_ms);
void purgeCache(ELLPath location);
void setReadOnly(BOOL read_only) ;
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index 56dfb61c4f..f18aa8b4e6 100644
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -2204,7 +2204,7 @@ void LLTextureFetch::commonUpdate()
// MAIN THREAD
//virtual
-S32 LLTextureFetch::update(U32 max_time_ms)
+S32 LLTextureFetch::update(F32 max_time_ms)
{
static LLCachedControl<F32> band_width(gSavedSettings,"ThrottleBandwidthKBPS");
diff --git a/indra/newview/lltexturefetch.h b/indra/newview/lltexturefetch.h
index d101da1f4b..35df7d816f 100644
--- a/indra/newview/lltexturefetch.h
+++ b/indra/newview/lltexturefetch.h
@@ -55,7 +55,7 @@ public:
class TFRequest;
- /*virtual*/ S32 update(U32 max_time_ms);
+ /*virtual*/ S32 update(F32 max_time_ms);
void shutDownTextureCacheThread() ; //called in the main thread after the TextureCacheThread shuts down.
void shutDownImageDecodeThread() ; //called in the main thread after the ImageDecodeThread shuts down.
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp
index 85896c74dd..8549306ffb 100644
--- a/indra/newview/llviewerdisplay.cpp
+++ b/indra/newview/llviewerdisplay.cpp
@@ -912,7 +912,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
{
allowPathToBeDrawn = true;
}
- //Navmesh
+ //NavMesh
if ( LLPathingLib::getInstance()->getRenderNavMeshState() )
{
glClearColor(0.0f, 0.0f, 0.0f, 0.5f);
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index 18d23af971..978580498e 100644
--- a/indra/newview/llviewerregion.cpp
+++ b/indra/newview/llviewerregion.cpp
@@ -1522,7 +1522,10 @@ void LLViewerRegionImpl::buildCapabilityNames(LLSD& capabilityNames)
capabilityNames.append("MeshUploadFlag");
capabilityNames.append("NavMeshUpload");
capabilityNames.append("NewFileAgentInventory");
+#ifdef XXX_STINSON_REGION_CAP_RENAME
capabilityNames.append("ObjectNavmesh");
+#endif // XXX_STINSON_REGION_CAP_RENAME
+ capabilityNames.append("ObjectNavMeshProperties");
capabilityNames.append("ParcelPropertiesUpdate");
capabilityNames.append("ParcelMediaURLFilterList");
capabilityNames.append("ParcelNavigateMedia");
diff --git a/indra/newview/llviewerregion.h b/indra/newview/llviewerregion.h
index c483c6ef52..59b7234f43 100644
--- a/indra/newview/llviewerregion.h
+++ b/indra/newview/llviewerregion.h
@@ -44,6 +44,9 @@
#include "m4math.h" // LLMatrix4
#include "llhttpclient.h"
+// This definition is a reminder to remove the extra call to check for both capability names for the ObjectNavMeshProperties service
+#define XXX_STINSON_REGION_CAP_RENAME
+
// Surface id's
#define LAND 1
#define WATER 2
diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp
index bddc07b395..5de363e03c 100644
--- a/indra/newview/llviewershadermgr.cpp
+++ b/indra/newview/llviewershadermgr.cpp
@@ -1103,11 +1103,12 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()
{
gDeferredSkinnedAlphaProgram.mName = "Deferred Skinned Alpha Shader";
gDeferredSkinnedAlphaProgram.mFeatures.hasObjectSkinning = true;
- gDeferredSkinnedAlphaProgram.mFeatures.calculatesLighting = true;
gDeferredSkinnedAlphaProgram.mFeatures.calculatesAtmospherics = true;
gDeferredSkinnedAlphaProgram.mFeatures.hasGamma = true;
gDeferredSkinnedAlphaProgram.mFeatures.hasAtmospherics = true;
+ gDeferredSkinnedAlphaProgram.mFeatures.calculatesLighting = true;
gDeferredSkinnedAlphaProgram.mFeatures.hasLighting = true;
+ gDeferredSkinnedAlphaProgram.mFeatures.isAlphaLighting = true;
gDeferredSkinnedAlphaProgram.mFeatures.disableTextureIndex = true;
gDeferredSkinnedAlphaProgram.mShaderFiles.clear();
gDeferredSkinnedAlphaProgram.mShaderFiles.push_back(make_pair("deferred/alphaSkinnedV.glsl", GL_VERTEX_SHADER_ARB));
@@ -1235,6 +1236,7 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()
gDeferredAlphaProgram.mFeatures.hasGamma = true;
gDeferredAlphaProgram.mFeatures.hasAtmospherics = true;
gDeferredAlphaProgram.mFeatures.hasLighting = true;
+ gDeferredAlphaProgram.mFeatures.isAlphaLighting = true;
gDeferredAlphaProgram.mFeatures.disableTextureIndex = true; //hack to disable auto-setup of texture channels
if (mVertexShaderLevel[SHADER_DEFERRED] < 1)
{
@@ -1398,6 +1400,7 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()
gDeferredAvatarAlphaProgram.mFeatures.hasGamma = true;
gDeferredAvatarAlphaProgram.mFeatures.hasAtmospherics = true;
gDeferredAvatarAlphaProgram.mFeatures.hasLighting = true;
+ gDeferredAvatarAlphaProgram.mFeatures.isAlphaLighting = true;
gDeferredAvatarAlphaProgram.mFeatures.disableTextureIndex = true;
gDeferredAvatarAlphaProgram.mShaderFiles.clear();
gDeferredAvatarAlphaProgram.mShaderFiles.push_back(make_pair("deferred/avatarAlphaV.glsl", GL_VERTEX_SHADER_ARB));
diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index f4bbc2b067..61236edc86 100644
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -417,11 +417,24 @@ const S32 min_non_tex_system_mem = (128<<20); // 128 MB
F32 texmem_lower_bound_scale = 0.85f;
F32 texmem_middle_bound_scale = 0.925f;
+static LLFastTimer::DeclareTimer FTM_TEXTURE_MEMORY_CHECK("Memory Check");
+
//static
bool LLViewerTexture::isMemoryForTextureLow()
{
- const static S32 MIN_FREE_TEXTURE_MEMORY = 5 ; //MB
- const static S32 MIN_FREE_MAIN_MEMORy = 100 ; //MB
+ const F32 WAIT_TIME = 1.0f ; //second
+ static LLFrameTimer timer ;
+
+ if(timer.getElapsedTimeF32() < WAIT_TIME) //call this once per second.
+ {
+ return false;
+ }
+ timer.reset() ;
+
+ LLFastTimer t(FTM_TEXTURE_MEMORY_CHECK);
+
+ const S32 MIN_FREE_TEXTURE_MEMORY = 5 ; //MB
+ const S32 MIN_FREE_MAIN_MEMORy = 100 ; //MB
bool low_mem = false ;
if (gGLManager.mHasATIMemInfo)
@@ -433,6 +446,15 @@ bool LLViewerTexture::isMemoryForTextureLow()
{
low_mem = true ;
}
+
+ if(!low_mem) //check main memory, only works for windows.
+ {
+ LLMemory::updateMemoryInfo() ;
+ if(LLMemory::getAvailableMemKB() / 1024 < MIN_FREE_MAIN_MEMORy)
+ {
+ low_mem = true ;
+ }
+ }
}
#if 0 //ignore nVidia cards
else if (gGLManager.mHasNVXMemInfo)
@@ -445,20 +467,14 @@ bool LLViewerTexture::isMemoryForTextureLow()
low_mem = true ;
}
}
-#endif
-
- if(!low_mem) //check main memory, only works for windows.
- {
- LLMemory::updateMemoryInfo() ;
- if(LLMemory::getAvailableMemKB() / 1024 < MIN_FREE_MAIN_MEMORy)
- {
- low_mem = true ;
- }
- }
+#endif
return low_mem ;
}
+static LLFastTimer::DeclareTimer FTM_TEXTURE_UPDATE_MEDIA("Media");
+static LLFastTimer::DeclareTimer FTM_TEXTURE_UPDATE_TEST("Test");
+
//static
void LLViewerTexture::updateClass(const F32 velocity, const F32 angular_velocity)
{
@@ -467,9 +483,14 @@ void LLViewerTexture::updateClass(const F32 velocity, const F32 angular_velocity
LLTexturePipelineTester* tester = (LLTexturePipelineTester*)LLMetricPerformanceTesterBasic::getTester(sTesterName);
if (tester)
{
+ LLFastTimer t(FTM_TEXTURE_UPDATE_TEST);
tester->update() ;
}
- LLViewerMediaTexture::updateClass() ;
+
+ {
+ LLFastTimer t(FTM_TEXTURE_UPDATE_MEDIA);
+ LLViewerMediaTexture::updateClass() ;
+ }
sBoundTextureMemoryInBytes = LLImageGL::sBoundTextureMemoryInBytes;//in bytes
sTotalTextureMemoryInBytes = LLImageGL::sGlobalTextureMemoryInBytes;//in bytes
@@ -3142,8 +3163,13 @@ void LLViewerLODTexture::processTextureStats()
S32 current_discard = getDiscardLevel();
if (sDesiredDiscardBias > 0.0f && mBoostLevel < LLViewerTexture::BOOST_SCULPTED && current_discard >= 0)
{
+ if(desired_discard_bias_max <= sDesiredDiscardBias && !mForceToSaveRawImage)
+ {
+ //needs to release texture memory urgently
+ scaleDown() ;
+ }
// Limit the amount of GL memory bound each frame
- if ( BYTES_TO_MEGA_BYTES(sBoundTextureMemoryInBytes) > sMaxBoundTextureMemInMegaBytes * texmem_middle_bound_scale &&
+ else if ( BYTES_TO_MEGA_BYTES(sBoundTextureMemoryInBytes) > sMaxBoundTextureMemInMegaBytes * texmem_middle_bound_scale &&
(!getBoundRecently() || mDesiredDiscardLevel >= mCachedRawDiscardLevel))
{
scaleDown() ;
diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp
index cddf7dcfea..089f45ca89 100644
--- a/indra/newview/llviewertexturelist.cpp
+++ b/indra/newview/llviewertexturelist.cpp
@@ -534,6 +534,7 @@ void LLViewerTextureList::removeImageFromList(LLViewerFetchedTexture *image)
S32 count = mImageList.erase(image) ;
if(count != 1)
{
+ llinfos << image->getID() << llendl ;
llerrs << "Error happens when remove image from mImageList: " << count << llendl ;
}
@@ -919,6 +920,8 @@ void LLViewerTextureList::decodeAllImages(F32 max_time)
image_list.push_back(imagep);
imagep->setInImageList(FALSE) ;
}
+
+ llassert_always(image_list.size() == mImageList.size()) ;
mImageList.clear();
for (std::vector<LLPointer<LLViewerFetchedTexture> >::iterator iter = image_list.begin();
iter != image_list.end(); ++iter)
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 53ac206576..9212368971 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -1233,7 +1233,8 @@ void LLViewerWindow::handleMouseMove(LLWindow *window, LLCoordGL pos, MASK mask
mWindow->showCursorFromMouseMove();
- if (gAwayTimer.getElapsedTimeF32() > LLAgent::MIN_AFK_TIME)
+ if (gAwayTimer.getElapsedTimeF32() > LLAgent::MIN_AFK_TIME
+ && !gDisconnected)
{
gAgent.clearAFK();
}
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index f90c525f11..d8c6e61430 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -818,7 +818,7 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
{
S32 shadow_detail = RenderShadowDetail;
BOOL ssao = RenderDeferredSSAO;
-
+
//allocate deferred rendering color buffers
if (!mDeferredScreen.allocate(resX, resY, GL_RGBA, TRUE, TRUE, LLTexUnit::TT_RECT_TEXTURE, FALSE, samples)) return false;
if (!mDeferredDepth.allocate(resX, resY, 0, TRUE, FALSE, LLTexUnit::TT_RECT_TEXTURE, FALSE, samples)) return false;
@@ -833,7 +833,7 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
{
mFXAABuffer.release();
}
-
+
if (shadow_detail > 0 || ssao || RenderDepthOfField || samples > 0)
{ //only need mDeferredLight for shadows OR ssao OR dof OR fxaa
if (!mDeferredLight.allocate(resX, resY, GL_RGBA, FALSE, FALSE, LLTexUnit::TT_RECT_TEXTURE, FALSE)) return false;
@@ -841,7 +841,7 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
else
{
mDeferredLight.release();
- }
+ }
F32 scale = RenderShadowResolutionScale;
@@ -890,7 +890,7 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
mScreen.release();
mDeferredScreen.release(); //make sure to release any render targets that share a depth buffer with mDeferredScreen first
mDeferredDepth.release();
-
+
if (!mScreen.allocate(resX, resY, GL_RGBA, TRUE, TRUE, LLTexUnit::TT_RECT_TEXTURE, FALSE)) return false;
}
@@ -911,7 +911,7 @@ void LLPipeline::updateRenderDeferred()
{
BOOL deferred = ((RenderDeferred &&
LLRenderTarget::sUseFBO &&
- LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") &&
+ LLFeatureManager::getInstance()->isFeatureAvailable("RenderDeferred") &&
VertexShaderEnable &&
RenderAvatarVP &&
WindLightUseAtmosShaders) ? TRUE : FALSE) &&
@@ -1061,9 +1061,9 @@ void LLPipeline::releaseScreenBuffers()
mDeferredScreen.release();
mDeferredDepth.release();
mDeferredLight.release();
-
- mHighlight.release();
+ mHighlight.release();
+
for (U32 i = 0; i < 6; i++)
{
mShadow[i].release();
@@ -2998,7 +2998,7 @@ void LLPipeline::stateSort(LLCamera& camera, LLCullResult &result)
}
}
}
-
+
postSort(camera);
}
@@ -3796,7 +3796,7 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
//
//
stop_glerror();
-
+
LLAppViewer::instance()->pingMainloopTimeout("Pipeline:RenderDrawPools");
for (pool_set_t::iterator iter = mPools.begin(); iter != mPools.end(); ++iter)
@@ -3929,7 +3929,7 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
renderDebug();
LLVertexBuffer::unbind();
-
+
if (!LLPipeline::sReflectionRender && !LLPipeline::sRenderDeferred)
{
if (gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI))
@@ -4640,7 +4640,7 @@ void LLPipeline::renderDebug()
if (LLGLSLShader::sNoFixedFunction)
{
gUIProgram.unbind();
-}
+ }
}
void LLPipeline::rebuildPools()
@@ -5189,12 +5189,12 @@ void LLPipeline::calcNearbyLights(LLCamera& camera)
void LLPipeline::setupHWLights(LLDrawPool* pool)
{
assertInitialized();
-
+
// Ambient
if (!LLGLSLShader::sNoFixedFunction)
{
gGL.syncMatrices();
- LLColor4 ambient = gSky.getTotalAmbientColor();
+ LLColor4 ambient = gSky.getTotalAmbientColor();
gGL.setAmbientLightColor(ambient);
}
@@ -5377,7 +5377,7 @@ void LLPipeline::setupHWLights(LLDrawPool* pool)
// Init GL state
if (!LLGLSLShader::sNoFixedFunction)
{
- glDisable(GL_LIGHTING);
+ glDisable(GL_LIGHTING);
}
for (S32 i = 0; i < 8; ++i)
@@ -5402,8 +5402,8 @@ void LLPipeline::enableLights(U32 mask)
{
if (!LLGLSLShader::sNoFixedFunction)
{
- glEnable(GL_LIGHTING);
- }
+ glEnable(GL_LIGHTING);
+ }
}
if (mask)
{
@@ -5428,8 +5428,8 @@ void LLPipeline::enableLights(U32 mask)
{
if (!LLGLSLShader::sNoFixedFunction)
{
- glDisable(GL_LIGHTING);
- }
+ glDisable(GL_LIGHTING);
+ }
}
mLightMask = mask;
stop_glerror();
@@ -5486,7 +5486,7 @@ void LLPipeline::enableLightsPreview()
if (!LLGLSLShader::sNoFixedFunction)
{
- glEnable(GL_LIGHTING);
+ glEnable(GL_LIGHTING);
}
LLColor4 ambient = PreviewAmbientColor;
@@ -6218,7 +6218,7 @@ void LLPipeline::resetVertexBuffers()
LLPathingLib::getInstance()->cleanupVBOManger();
}
LLVertexBuffer::cleanupClass();
-
+
//delete all name pool caches
LLGLNamePool::cleanupPools();
@@ -6338,17 +6338,10 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
}
- U32 res_mod = RenderResolutionDivisor;
-
LLVector2 tc1(0,0);
LLVector2 tc2((F32) mScreen.getWidth()*2,
(F32) mScreen.getHeight()*2);
- if (res_mod > 1)
- {
- tc2 /= (F32) res_mod;
- }
-
LLFastTimer ftm(FTM_RENDER_BLOOM);
gGL.color4f(1,1,1,1);
LLGLDepthTest depth(GL_FALSE);
@@ -6504,12 +6497,12 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)
bool dof_enabled = !LLViewerCamera::getInstance()->cameraUnderWater() &&
!LLToolMgr::getInstance()->inBuildMode() &&
RenderDepthOfField;
-
-
+
+
bool multisample = RenderFSAASamples > 1 && mFXAABuffer.isComplete();
gViewerWindow->setup3DViewport();
-
+
if (dof_enabled)
{
LLGLSLShader* shader = &gDeferredPostProgram;
@@ -6545,8 +6538,8 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)
else if (gAgentCamera.cameraMouselook())
{ //focus on point under mouselook crosshairs
gViewerWindow->cursorIntersect(-1, -1, 512.f, NULL, -1, FALSE,
- NULL,
- &focus_point);
+ NULL,
+ &focus_point);
}
else
{
@@ -6628,7 +6621,7 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)
if (channel > -1)
{
mScreen.bindTexture(0, channel);
- }
+ }
shader->uniform1f(LLShaderMgr::DOF_FOCAL_DISTANCE, -subject_distance/1000.f);
shader->uniform1f(LLShaderMgr::DOF_BLUR_CONSTANT, blur_constant);
@@ -6661,8 +6654,8 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)
shader = &gDeferredPostProgram;
bindDeferredShader(*shader);
S32 channel = shader->enableTexture(LLShaderMgr::DEFERRED_DIFFUSE, mDeferredLight.getUsage());
- if (channel > -1)
- {
+ if (channel > -1)
+ {
mDeferredLight.bindTexture(0, channel);
}
@@ -6707,35 +6700,35 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)
S32 channel = shader->enableTexture(LLShaderMgr::DEFERRED_DIFFUSE, mScreen.getUsage());
if (channel > -1)
{
- mScreen.bindTexture(0, channel);
+ mScreen.bindTexture(0, channel);
gGL.getTexUnit(channel)->setTextureFilteringOption(LLTexUnit::TFO_BILINEAR);
- }
+ }
shader->uniform1f(LLShaderMgr::DOF_MAX_COF, CameraMaxCoF);
shader->uniform1f(LLShaderMgr::DOF_RES_SCALE, CameraDoFResScale);
- gGL.begin(LLRender::TRIANGLE_STRIP);
- gGL.texCoord2f(tc1.mV[0], tc1.mV[1]);
- gGL.vertex2f(-1,-1);
+ gGL.begin(LLRender::TRIANGLE_STRIP);
+ gGL.texCoord2f(tc1.mV[0], tc1.mV[1]);
+ gGL.vertex2f(-1,-1);
- gGL.texCoord2f(tc1.mV[0], tc2.mV[1]);
- gGL.vertex2f(-1,3);
+ gGL.texCoord2f(tc1.mV[0], tc2.mV[1]);
+ gGL.vertex2f(-1,3);
- gGL.texCoord2f(tc2.mV[0], tc1.mV[1]);
- gGL.vertex2f(3,-1);
+ gGL.texCoord2f(tc2.mV[0], tc1.mV[1]);
+ gGL.vertex2f(3,-1);
- gGL.end();
+ gGL.end();
- unbindDeferredShader(*shader);
+ unbindDeferredShader(*shader);
if (multisample)
{
mDeferredLight.flush();
}
- }
+ }
}
- else
- {
+ else
+ {
if (multisample)
{
mDeferredLight.bindTarget();
@@ -6813,6 +6806,12 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)
gGL.getTexUnit(channel)->setTextureFilteringOption(LLTexUnit::TFO_BILINEAR);
}
+ gGLViewport[0] = gViewerWindow->getWorldViewRectRaw().mLeft;
+ gGLViewport[1] = gViewerWindow->getWorldViewRectRaw().mBottom;
+ gGLViewport[2] = gViewerWindow->getWorldViewRectRaw().getWidth();
+ gGLViewport[3] = gViewerWindow->getWorldViewRectRaw().getHeight();
+ glViewport(gGLViewport[0], gGLViewport[1], gGLViewport[2], gGLViewport[3]);
+
F32 scale_x = (F32) width/mFXAABuffer.getWidth();
F32 scale_y = (F32) height/mFXAABuffer.getHeight();
shader->uniform2f(LLShaderMgr::FXAA_TC_SCALE, scale_x, scale_y);
@@ -6832,11 +6831,6 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)
}
else
{
- if (res_mod > 1)
- {
- tc2 /= (F32) res_mod;
- }
-
U32 mask = LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0 | LLVertexBuffer::MAP_TEXCOORD1;
LLPointer<LLVertexBuffer> buff = new LLVertexBuffer(mask, 0);
buff->allocateBuffer(3,0,TRUE);
@@ -6937,7 +6931,7 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)
{
gSplatTextureRectProgram.unbind();
}
- }
+ }
if (LLRenderTarget::sUseFBO)
@@ -6945,7 +6939,7 @@ void LLPipeline::renderBloom(BOOL for_snapshot, F32 zoom_factor, int subfield)
LLRenderTarget::copyContentsToFramebuffer(mScreen, 0, 0, mScreen.getWidth(), mScreen.getHeight(),
0, 0, mScreen.getWidth(), mScreen.getHeight(), GL_DEPTH_BUFFER_BIT, GL_NEAREST);
}
-
+
gGL.matrixMode(LLRender::MM_PROJECTION);
gGL.popMatrix();
@@ -6994,8 +6988,8 @@ void LLPipeline::bindDeferredShader(LLGLSLShader& shader, U32 light_index, U32 n
}
channel = shader.enableTexture(LLShaderMgr::DEFERRED_DEPTH, mDeferredDepth.getUsage());
- if (channel > -1)
- {
+ if (channel > -1)
+ {
gGL.getTexUnit(channel)->bind(&mDeferredDepth, TRUE);
stop_glerror();
@@ -7033,13 +7027,13 @@ void LLPipeline::bindDeferredShader(LLGLSLShader& shader, U32 light_index, U32 n
if (channel > -1)
{
if (light_index > 0)
- {
+ {
mScreen.bindTexture(0, channel);
- }
+ }
else
- {
+ {
mDeferredLight.bindTexture(0, channel);
- }
+ }
gGL.getTexUnit(channel)->setTextureFilteringOption(LLTexUnit::TFO_POINT);
}
@@ -7113,7 +7107,7 @@ void LLPipeline::bindDeferredShader(LLGLSLShader& shader, U32 light_index, U32 n
cube_map->enable(channel);
cube_map->bind();
F32* m = gGLModelView;
-
+
F32 mat[] = { m[0], m[1], m[2],
m[4], m[5], m[6],
m[8], m[9], m[10] };
@@ -7364,11 +7358,11 @@ void LLPipeline::renderDeferredLighting()
//mScreen.copyContents(mDeferredScreen, 0, 0, mDeferredScreen.getWidth(), mDeferredScreen.getHeight(),
// 0, 0, mScreen.getWidth(), mScreen.getHeight(), GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT, GL_NEAREST);
- mScreen.bindTarget();
- // clear color buffer here - zeroing alpha (glow) is important or it will accumulate against sky
- glClearColor(0,0,0,0);
- mScreen.clear(GL_COLOR_BUFFER_BIT);
-
+ mScreen.bindTarget();
+ // clear color buffer here - zeroing alpha (glow) is important or it will accumulate against sky
+ glClearColor(0,0,0,0);
+ mScreen.clear(GL_COLOR_BUFFER_BIT);
+
if (RenderDeferredAtmospheric)
{ //apply sunlight contribution
LLFastTimer ftm(FTM_ATMOSPHERICS);
@@ -7388,7 +7382,7 @@ void LLPipeline::renderDeferredLighting()
mDeferredVB->setBuffer(LLVertexBuffer::MAP_VERTEX);
mDeferredVB->drawArrays(LLRender::TRIANGLES, 0, 3);
-
+
gGL.popMatrix();
gGL.matrixMode(LLRender::MM_MODELVIEW);
gGL.popMatrix();
@@ -7415,7 +7409,7 @@ void LLPipeline::renderDeferredLighting()
}
BOOL render_local = RenderLocalLights;
-
+
if (render_local)
{
gGL.setSceneBlendType(LLRender::BT_ADD);
@@ -7463,7 +7457,6 @@ void LLPipeline::renderDeferredLighting()
F32 s = volume->getLightRadius()*1.5f;
LLColor3 col = volume->getLightColor();
- col *= volume->getLightIntensity();
if (col.magVecSquared() < 0.001f)
{
@@ -7577,7 +7570,6 @@ void LLPipeline::renderDeferredLighting()
setupSpotLight(gDeferredSpotLightProgram, drawablep);
LLColor3 col = volume->getLightColor();
- col *= volume->getLightIntensity();
//vertex positions are encoded so the 3 bits of their vertex index
//correspond to their axis facing, with bit position 3,2,1 matching
@@ -7593,7 +7585,7 @@ void LLPipeline::renderDeferredLighting()
v[5].set(c[0]+s,c[1]-s,c[2]+s); // 5 - 0101
v[6].set(c[0]+s,c[1]+s,c[2]-s); // 6 - 0110
v[7].set(c[0]+s,c[1]+s,c[2]+s); // 7 - 0111
-
+
gDeferredSpotLightProgram.uniform3fv(LLShaderMgr::LIGHT_CENTER, 1, tc.v);
gDeferredSpotLightProgram.uniform1f(LLShaderMgr::LIGHT_SIZE, s*s);
gDeferredSpotLightProgram.uniform3fv(LLShaderMgr::DIFFUSE_COLOR, 1, col.mV);
@@ -7655,7 +7647,7 @@ void LLPipeline::renderDeferredLighting()
gDeferredMultiLightProgram.uniform4fv(LLShaderMgr::MULTI_LIGHT_COL, count, (GLfloat*) col);
gDeferredMultiLightProgram.uniform1f(LLShaderMgr::MULTI_LIGHT_FAR_Z, far_z);
far_z = 0.f;
- count = 0;
+ count = 0;
mDeferredVB->drawArrays(LLRender::TRIANGLES, 0, 3);
}
}
@@ -7687,7 +7679,6 @@ void LLPipeline::renderDeferredLighting()
setupSpotLight(gDeferredMultiSpotLightProgram, drawablep);
LLColor3 col = volume->getLightColor();
- col *= volume->getLightIntensity();
gDeferredMultiSpotLightProgram.uniform3fv(LLShaderMgr::LIGHT_CENTER, 1, tc.v);
gDeferredMultiSpotLightProgram.uniform1f(LLShaderMgr::LIGHT_SIZE, s*s);
@@ -7706,7 +7697,7 @@ void LLPipeline::renderDeferredLighting()
}
gGL.setColorMask(true, true);
- }
+ }
{ //render non-deferred geometry (alpha, fullbright, glow)
LLGLDisable blend(GL_BLEND);
@@ -7958,7 +7949,7 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in)
{
skip_avatar_update = TRUE;
}
-
+
if (!skip_avatar_update)
{
gAgentAvatarp->updateAttachmentVisibility(CAMERA_MODE_THIRD_PERSON);
@@ -8316,9 +8307,9 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera
}
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
-
+
stop_glerror();
-
+
//glCullFace(GL_FRONT);
LLVertexBuffer::unbind();
@@ -8845,8 +8836,8 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
{ //sun diffuse is totally black, shadows don't matter
LLGLDepthTest depth(GL_TRUE);
- for (S32 j = 0; j < 4; j++)
- {
+ for (S32 j = 0; j < 4; j++)
+ {
mShadow[j].bindTarget();
mShadow[j].clear();
mShadow[j].flush();
@@ -8856,379 +8847,379 @@ void LLPipeline::generateSunShadow(LLCamera& camera)
{
for (S32 j = 0; j < 4; j++)
{
- if (!hasRenderDebugMask(RENDER_DEBUG_SHADOW_FRUSTA))
- {
- mShadowFrustPoints[j].clear();
- }
+ if (!hasRenderDebugMask(RENDER_DEBUG_SHADOW_FRUSTA))
+ {
+ mShadowFrustPoints[j].clear();
+ }
- LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_SHADOW0+j;
+ LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_SHADOW0+j;
- //restore render matrices
- glh_set_current_modelview(saved_view);
- glh_set_current_projection(saved_proj);
+ //restore render matrices
+ glh_set_current_modelview(saved_view);
+ glh_set_current_projection(saved_proj);
- LLVector3 eye = camera.getOrigin();
+ LLVector3 eye = camera.getOrigin();
- //camera used for shadow cull/render
- LLCamera shadow_cam;
+ //camera used for shadow cull/render
+ LLCamera shadow_cam;
- //create world space camera frustum for this split
- shadow_cam = camera;
- shadow_cam.setFar(16.f);
+ //create world space camera frustum for this split
+ shadow_cam = camera;
+ shadow_cam.setFar(16.f);
- LLViewerCamera::updateFrustumPlanes(shadow_cam, FALSE, FALSE, TRUE);
+ LLViewerCamera::updateFrustumPlanes(shadow_cam, FALSE, FALSE, TRUE);
- LLVector3* frust = shadow_cam.mAgentFrustum;
+ LLVector3* frust = shadow_cam.mAgentFrustum;
- LLVector3 pn = shadow_cam.getAtAxis();
+ LLVector3 pn = shadow_cam.getAtAxis();
- LLVector3 min, max;
+ LLVector3 min, max;
- //construct 8 corners of split frustum section
- for (U32 i = 0; i < 4; i++)
- {
- LLVector3 delta = frust[i+4]-eye;
- delta += (frust[i+4]-frust[(i+2)%4+4])*0.05f;
- delta.normVec();
- F32 dp = delta*pn;
- frust[i] = eye + (delta*dist[j]*0.95f)/dp;
- frust[i+4] = eye + (delta*dist[j+1]*1.05f)/dp;
- }
+ //construct 8 corners of split frustum section
+ for (U32 i = 0; i < 4; i++)
+ {
+ LLVector3 delta = frust[i+4]-eye;
+ delta += (frust[i+4]-frust[(i+2)%4+4])*0.05f;
+ delta.normVec();
+ F32 dp = delta*pn;
+ frust[i] = eye + (delta*dist[j]*0.95f)/dp;
+ frust[i+4] = eye + (delta*dist[j+1]*1.05f)/dp;
+ }
- shadow_cam.calcAgentFrustumPlanes(frust);
- shadow_cam.mFrustumCornerDist = 0.f;
+ shadow_cam.calcAgentFrustumPlanes(frust);
+ shadow_cam.mFrustumCornerDist = 0.f;
- if (!gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_SHADOW_FRUSTA))
- {
- mShadowCamera[j] = shadow_cam;
- }
-
- std::vector<LLVector3> fp;
-
- if (!gPipeline.getVisiblePointCloud(shadow_cam, min, max, fp, lightDir))
- {
- //no possible shadow receivers
if (!gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_SHADOW_FRUSTA))
{
- mShadowExtents[j][0] = LLVector3();
- mShadowExtents[j][1] = LLVector3();
- mShadowCamera[j+4] = shadow_cam;
- }
-
- mShadow[j].bindTarget();
- {
- LLGLDepthTest depth(GL_TRUE);
- mShadow[j].clear();
+ mShadowCamera[j] = shadow_cam;
}
- mShadow[j].flush();
- mShadowError.mV[j] = 0.f;
- mShadowFOV.mV[j] = 0.f;
+ std::vector<LLVector3> fp;
- continue;
- }
-
- if (!gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_SHADOW_FRUSTA))
- {
- mShadowExtents[j][0] = min;
- mShadowExtents[j][1] = max;
- mShadowFrustPoints[j] = fp;
- }
-
+ if (!gPipeline.getVisiblePointCloud(shadow_cam, min, max, fp, lightDir))
+ {
+ //no possible shadow receivers
+ if (!gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_SHADOW_FRUSTA))
+ {
+ mShadowExtents[j][0] = LLVector3();
+ mShadowExtents[j][1] = LLVector3();
+ mShadowCamera[j+4] = shadow_cam;
+ }
- //find a good origin for shadow projection
- LLVector3 origin;
+ mShadow[j].bindTarget();
+ {
+ LLGLDepthTest depth(GL_TRUE);
+ mShadow[j].clear();
+ }
+ mShadow[j].flush();
- //get a temporary view projection
- view[j] = look(camera.getOrigin(), lightDir, -up);
+ mShadowError.mV[j] = 0.f;
+ mShadowFOV.mV[j] = 0.f;
- std::vector<LLVector3> wpf;
+ continue;
+ }
- for (U32 i = 0; i < fp.size(); i++)
- {
- glh::vec3f p = glh::vec3f(fp[i].mV);
- view[j].mult_matrix_vec(p);
- wpf.push_back(LLVector3(p.v));
- }
+ if (!gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_SHADOW_FRUSTA))
+ {
+ mShadowExtents[j][0] = min;
+ mShadowExtents[j][1] = max;
+ mShadowFrustPoints[j] = fp;
+ }
+
- min = wpf[0];
- max = wpf[0];
+ //find a good origin for shadow projection
+ LLVector3 origin;
- for (U32 i = 0; i < fp.size(); ++i)
- { //get AABB in camera space
- update_min_max(min, max, wpf[i]);
- }
-
- // Construct a perspective transform with perspective along y-axis that contains
- // points in wpf
- //Known:
- // - far clip plane
- // - near clip plane
- // - points in frustum
- //Find:
- // - origin
-
- //get some "interesting" points of reference
- LLVector3 center = (min+max)*0.5f;
- LLVector3 size = (max-min)*0.5f;
- LLVector3 near_center = center;
- near_center.mV[1] += size.mV[1]*2.f;
-
-
- //put all points in wpf in quadrant 0, reletive to center of min/max
- //get the best fit line using least squares
- F32 bfm = 0.f;
- F32 bfb = 0.f;
+ //get a temporary view projection
+ view[j] = look(camera.getOrigin(), lightDir, -up);
- for (U32 i = 0; i < wpf.size(); ++i)
- {
- wpf[i] -= center;
- wpf[i].mV[0] = fabsf(wpf[i].mV[0]);
- wpf[i].mV[2] = fabsf(wpf[i].mV[2]);
- }
+ std::vector<LLVector3> wpf;
- if (!wpf.empty())
- {
- F32 sx = 0.f;
- F32 sx2 = 0.f;
- F32 sy = 0.f;
- F32 sxy = 0.f;
-
- for (U32 i = 0; i < wpf.size(); ++i)
- {
- sx += wpf[i].mV[0];
- sx2 += wpf[i].mV[0]*wpf[i].mV[0];
- sy += wpf[i].mV[1];
- sxy += wpf[i].mV[0]*wpf[i].mV[1];
+ for (U32 i = 0; i < fp.size(); i++)
+ {
+ glh::vec3f p = glh::vec3f(fp[i].mV);
+ view[j].mult_matrix_vec(p);
+ wpf.push_back(LLVector3(p.v));
}
- bfm = (sy*sx-wpf.size()*sxy)/(sx*sx-wpf.size()*sx2);
- bfb = (sx*sxy-sy*sx2)/(sx*sx-bfm*sx2);
- }
-
- {
- // best fit line is y=bfm*x+bfb
-
- //find point that is furthest to the right of line
- F32 off_x = -1.f;
- LLVector3 lp;
+ min = wpf[0];
+ max = wpf[0];
- for (U32 i = 0; i < wpf.size(); ++i)
- {
- //y = bfm*x+bfb
- //x = (y-bfb)/bfm
- F32 lx = (wpf[i].mV[1]-bfb)/bfm;
-
- lx = wpf[i].mV[0]-lx;
-
- if (off_x < lx)
- {
- off_x = lx;
- lp = wpf[i];
- }
+ for (U32 i = 0; i < fp.size(); ++i)
+ { //get AABB in camera space
+ update_min_max(min, max, wpf[i]);
}
- //get line with slope bfm through lp
- // bfb = y-bfm*x
- bfb = lp.mV[1]-bfm*lp.mV[0];
+ // Construct a perspective transform with perspective along y-axis that contains
+ // points in wpf
+ //Known:
+ // - far clip plane
+ // - near clip plane
+ // - points in frustum
+ //Find:
+ // - origin
- //calculate error
- mShadowError.mV[j] = 0.f;
+ //get some "interesting" points of reference
+ LLVector3 center = (min+max)*0.5f;
+ LLVector3 size = (max-min)*0.5f;
+ LLVector3 near_center = center;
+ near_center.mV[1] += size.mV[1]*2.f;
+
+
+ //put all points in wpf in quadrant 0, reletive to center of min/max
+ //get the best fit line using least squares
+ F32 bfm = 0.f;
+ F32 bfb = 0.f;
for (U32 i = 0; i < wpf.size(); ++i)
{
- F32 lx = (wpf[i].mV[1]-bfb)/bfm;
- mShadowError.mV[j] += fabsf(wpf[i].mV[0]-lx);
+ wpf[i] -= center;
+ wpf[i].mV[0] = fabsf(wpf[i].mV[0]);
+ wpf[i].mV[2] = fabsf(wpf[i].mV[2]);
}
- mShadowError.mV[j] /= wpf.size();
- mShadowError.mV[j] /= size.mV[0];
+ if (!wpf.empty())
+ {
+ F32 sx = 0.f;
+ F32 sx2 = 0.f;
+ F32 sy = 0.f;
+ F32 sxy = 0.f;
+
+ for (U32 i = 0; i < wpf.size(); ++i)
+ {
+ sx += wpf[i].mV[0];
+ sx2 += wpf[i].mV[0]*wpf[i].mV[0];
+ sy += wpf[i].mV[1];
+ sxy += wpf[i].mV[0]*wpf[i].mV[1];
+ }
- if (mShadowError.mV[j] > RenderShadowErrorCutoff)
- { //just use ortho projection
- mShadowFOV.mV[j] = -1.f;
- origin.clearVec();
- proj[j] = gl_ortho(min.mV[0], max.mV[0],
- min.mV[1], max.mV[1],
- -max.mV[2], -min.mV[2]);
+ bfm = (sy*sx-wpf.size()*sxy)/(sx*sx-wpf.size()*sx2);
+ bfb = (sx*sxy-sy*sx2)/(sx*sx-bfm*sx2);
}
- else
+
{
- //origin is where line x = 0;
- origin.setVec(0,bfb,0);
-
- F32 fovz = 1.f;
- F32 fovx = 1.f;
-
- LLVector3 zp;
- LLVector3 xp;
+ // best fit line is y=bfm*x+bfb
+
+ //find point that is furthest to the right of line
+ F32 off_x = -1.f;
+ LLVector3 lp;
for (U32 i = 0; i < wpf.size(); ++i)
{
- LLVector3 atz = wpf[i]-origin;
- atz.mV[0] = 0.f;
- atz.normVec();
- if (fovz > -atz.mV[1])
- {
- zp = wpf[i];
- fovz = -atz.mV[1];
- }
-
- LLVector3 atx = wpf[i]-origin;
- atx.mV[2] = 0.f;
- atx.normVec();
- if (fovx > -atx.mV[1])
+ //y = bfm*x+bfb
+ //x = (y-bfb)/bfm
+ F32 lx = (wpf[i].mV[1]-bfb)/bfm;
+
+ lx = wpf[i].mV[0]-lx;
+
+ if (off_x < lx)
{
- fovx = -atx.mV[1];
- xp = wpf[i];
+ off_x = lx;
+ lp = wpf[i];
}
}
- fovx = acos(fovx);
- fovz = acos(fovz);
+ //get line with slope bfm through lp
+ // bfb = y-bfm*x
+ bfb = lp.mV[1]-bfm*lp.mV[0];
- F32 cutoff = llmin((F32) RenderShadowFOVCutoff, 1.4f);
-
- mShadowFOV.mV[j] = fovx;
-
- if (fovx < cutoff && fovz > cutoff)
+ //calculate error
+ mShadowError.mV[j] = 0.f;
+
+ for (U32 i = 0; i < wpf.size(); ++i)
{
- //x is a good fit, but z is too big, move away from zp enough so that fovz matches cutoff
- F32 d = zp.mV[2]/tan(cutoff);
- F32 ny = zp.mV[1] + fabsf(d);
+ F32 lx = (wpf[i].mV[1]-bfb)/bfm;
+ mShadowError.mV[j] += fabsf(wpf[i].mV[0]-lx);
+ }
- origin.mV[1] = ny;
+ mShadowError.mV[j] /= wpf.size();
+ mShadowError.mV[j] /= size.mV[0];
- fovz = 1.f;
- fovx = 1.f;
+ if (mShadowError.mV[j] > RenderShadowErrorCutoff)
+ { //just use ortho projection
+ mShadowFOV.mV[j] = -1.f;
+ origin.clearVec();
+ proj[j] = gl_ortho(min.mV[0], max.mV[0],
+ min.mV[1], max.mV[1],
+ -max.mV[2], -min.mV[2]);
+ }
+ else
+ {
+ //origin is where line x = 0;
+ origin.setVec(0,bfb,0);
+
+ F32 fovz = 1.f;
+ F32 fovx = 1.f;
+
+ LLVector3 zp;
+ LLVector3 xp;
for (U32 i = 0; i < wpf.size(); ++i)
{
LLVector3 atz = wpf[i]-origin;
atz.mV[0] = 0.f;
atz.normVec();
- fovz = llmin(fovz, -atz.mV[1]);
-
+ if (fovz > -atz.mV[1])
+ {
+ zp = wpf[i];
+ fovz = -atz.mV[1];
+ }
+
LLVector3 atx = wpf[i]-origin;
atx.mV[2] = 0.f;
atx.normVec();
- fovx = llmin(fovx, -atx.mV[1]);
+ if (fovx > -atx.mV[1])
+ {
+ fovx = -atx.mV[1];
+ xp = wpf[i];
+ }
}
fovx = acos(fovx);
fovz = acos(fovz);
- mShadowFOV.mV[j] = cutoff;
- }
+ F32 cutoff = llmin((F32) RenderShadowFOVCutoff, 1.4f);
+
+ mShadowFOV.mV[j] = fovx;
+
+ if (fovx < cutoff && fovz > cutoff)
+ {
+ //x is a good fit, but z is too big, move away from zp enough so that fovz matches cutoff
+ F32 d = zp.mV[2]/tan(cutoff);
+ F32 ny = zp.mV[1] + fabsf(d);
+
+ origin.mV[1] = ny;
+
+ fovz = 1.f;
+ fovx = 1.f;
+
+ for (U32 i = 0; i < wpf.size(); ++i)
+ {
+ LLVector3 atz = wpf[i]-origin;
+ atz.mV[0] = 0.f;
+ atz.normVec();
+ fovz = llmin(fovz, -atz.mV[1]);
+
+ LLVector3 atx = wpf[i]-origin;
+ atx.mV[2] = 0.f;
+ atx.normVec();
+ fovx = llmin(fovx, -atx.mV[1]);
+ }
+
+ fovx = acos(fovx);
+ fovz = acos(fovz);
+
+ mShadowFOV.mV[j] = cutoff;
+ }
- origin += center;
+ origin += center;
- F32 ynear = -(max.mV[1]-origin.mV[1]);
- F32 yfar = -(min.mV[1]-origin.mV[1]);
+ F32 ynear = -(max.mV[1]-origin.mV[1]);
+ F32 yfar = -(min.mV[1]-origin.mV[1]);
- if (ynear < 0.1f) //keep a sensible near clip plane
- {
- F32 diff = 0.1f-ynear;
- origin.mV[1] += diff;
- ynear += diff;
- yfar += diff;
- }
+ if (ynear < 0.1f) //keep a sensible near clip plane
+ {
+ F32 diff = 0.1f-ynear;
+ origin.mV[1] += diff;
+ ynear += diff;
+ yfar += diff;
+ }
- if (fovx > cutoff)
- { //just use ortho projection
- origin.clearVec();
- mShadowError.mV[j] = -1.f;
- proj[j] = gl_ortho(min.mV[0], max.mV[0],
- min.mV[1], max.mV[1],
- -max.mV[2], -min.mV[2]);
- }
- else
- {
- //get perspective projection
- view[j] = view[j].inverse();
+ if (fovx > cutoff)
+ { //just use ortho projection
+ origin.clearVec();
+ mShadowError.mV[j] = -1.f;
+ proj[j] = gl_ortho(min.mV[0], max.mV[0],
+ min.mV[1], max.mV[1],
+ -max.mV[2], -min.mV[2]);
+ }
+ else
+ {
+ //get perspective projection
+ view[j] = view[j].inverse();
- glh::vec3f origin_agent(origin.mV);
+ glh::vec3f origin_agent(origin.mV);
- //translate view to origin
- view[j].mult_matrix_vec(origin_agent);
+ //translate view to origin
+ view[j].mult_matrix_vec(origin_agent);
- eye = LLVector3(origin_agent.v);
+ eye = LLVector3(origin_agent.v);
- if (!hasRenderDebugMask(LLPipeline::RENDER_DEBUG_SHADOW_FRUSTA))
- {
- mShadowFrustOrigin[j] = eye;
- }
+ if (!hasRenderDebugMask(LLPipeline::RENDER_DEBUG_SHADOW_FRUSTA))
+ {
+ mShadowFrustOrigin[j] = eye;
+ }
- view[j] = look(LLVector3(origin_agent.v), lightDir, -up);
+ view[j] = look(LLVector3(origin_agent.v), lightDir, -up);
- F32 fx = 1.f/tanf(fovx);
- F32 fz = 1.f/tanf(fovz);
+ F32 fx = 1.f/tanf(fovx);
+ F32 fz = 1.f/tanf(fovz);
- proj[j] = glh::matrix4f(-fx, 0, 0, 0,
- 0, (yfar+ynear)/(ynear-yfar), 0, (2.f*yfar*ynear)/(ynear-yfar),
- 0, 0, -fz, 0,
- 0, -1.f, 0, 0);
+ proj[j] = glh::matrix4f(-fx, 0, 0, 0,
+ 0, (yfar+ynear)/(ynear-yfar), 0, (2.f*yfar*ynear)/(ynear-yfar),
+ 0, 0, -fz, 0,
+ 0, -1.f, 0, 0);
+ }
}
}
- }
- //shadow_cam.setFar(128.f);
- shadow_cam.setOriginAndLookAt(eye, up, center);
+ //shadow_cam.setFar(128.f);
+ shadow_cam.setOriginAndLookAt(eye, up, center);
- shadow_cam.setOrigin(0,0,0);
+ shadow_cam.setOrigin(0,0,0);
- glh_set_current_modelview(view[j]);
- glh_set_current_projection(proj[j]);
+ glh_set_current_modelview(view[j]);
+ glh_set_current_projection(proj[j]);
- LLViewerCamera::updateFrustumPlanes(shadow_cam, FALSE, FALSE, TRUE);
+ LLViewerCamera::updateFrustumPlanes(shadow_cam, FALSE, FALSE, TRUE);
- //shadow_cam.ignoreAgentFrustumPlane(LLCamera::AGENT_PLANE_NEAR);
- shadow_cam.getAgentPlane(LLCamera::AGENT_PLANE_NEAR).set(shadow_near_clip);
+ //shadow_cam.ignoreAgentFrustumPlane(LLCamera::AGENT_PLANE_NEAR);
+ shadow_cam.getAgentPlane(LLCamera::AGENT_PLANE_NEAR).set(shadow_near_clip);
- //translate and scale to from [-1, 1] to [0, 1]
- glh::matrix4f trans(0.5f, 0.f, 0.f, 0.5f,
- 0.f, 0.5f, 0.f, 0.5f,
- 0.f, 0.f, 0.5f, 0.5f,
- 0.f, 0.f, 0.f, 1.f);
+ //translate and scale to from [-1, 1] to [0, 1]
+ glh::matrix4f trans(0.5f, 0.f, 0.f, 0.5f,
+ 0.f, 0.5f, 0.f, 0.5f,
+ 0.f, 0.f, 0.5f, 0.5f,
+ 0.f, 0.f, 0.f, 1.f);
- glh_set_current_modelview(view[j]);
- glh_set_current_projection(proj[j]);
+ glh_set_current_modelview(view[j]);
+ glh_set_current_projection(proj[j]);
- for (U32 i = 0; i < 16; i++)
- {
- gGLLastModelView[i] = mShadowModelview[j].m[i];
- gGLLastProjection[i] = mShadowProjection[j].m[i];
- }
+ for (U32 i = 0; i < 16; i++)
+ {
+ gGLLastModelView[i] = mShadowModelview[j].m[i];
+ gGLLastProjection[i] = mShadowProjection[j].m[i];
+ }
- mShadowModelview[j] = view[j];
- mShadowProjection[j] = proj[j];
+ mShadowModelview[j] = view[j];
+ mShadowProjection[j] = proj[j];
- mSunShadowMatrix[j] = trans*proj[j]*view[j]*inv_view;
+ mSunShadowMatrix[j] = trans*proj[j]*view[j]*inv_view;
- stop_glerror();
+ stop_glerror();
- mShadow[j].bindTarget();
- mShadow[j].getViewport(gGLViewport);
- mShadow[j].clear();
+ mShadow[j].bindTarget();
+ mShadow[j].getViewport(gGLViewport);
+ mShadow[j].clear();
- {
- static LLCullResult result[4];
+ {
+ static LLCullResult result[4];
- //LLGLEnable enable(GL_DEPTH_CLAMP_NV);
- renderShadow(view[j], proj[j], shadow_cam, result[j], TRUE);
- }
+ //LLGLEnable enable(GL_DEPTH_CLAMP_NV);
+ renderShadow(view[j], proj[j], shadow_cam, result[j], TRUE);
+ }
- mShadow[j].flush();
+ mShadow[j].flush();
- if (!gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_SHADOW_FRUSTA))
- {
- LLViewerCamera::updateFrustumPlanes(shadow_cam, FALSE, FALSE, TRUE);
- mShadowCamera[j+4] = shadow_cam;
+ if (!gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_SHADOW_FRUSTA))
+ {
+ LLViewerCamera::updateFrustumPlanes(shadow_cam, FALSE, FALSE, TRUE);
+ mShadowCamera[j+4] = shadow_cam;
+ }
}
}
- }
//hack to disable projector shadows
@@ -9630,7 +9621,7 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar)
if (LLGLSLShader::sNoFixedFunction)
{
gUIProgram.unbind();
- }
+ }
gGL.popMatrix();
gGL.matrixMode(LLRender::MM_MODELVIEW);
diff --git a/indra/newview/skins/default/xui/de/floater_about.xml b/indra/newview/skins/default/xui/de/floater_about.xml
index 145cc1e30b..b4c28daac9 100644
--- a/indra/newview/skins/default/xui/de/floater_about.xml
+++ b/indra/newview/skins/default/xui/de/floater_about.xml
@@ -67,32 +67,34 @@ Voice-Serverversion: [VOICE_VERSION]
<panel label="Lizenzen" name="licenses_panel">
<text_editor name="credits_editor">
3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion.
-APR Copyright (C) 2000-2004 The Apache Software Foundation.
-Collada DOM Copyright 2005 Sony Computer Entertainment Inc.
-cURL Copyright (C) 1996-2002, Daniel Stenberg (daniel@haxx.se).
-DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
-expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
-FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
-GL Copyright (C) 1999-2004 Brian Paul.
-GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University sowie David Luebke, Brenden Schubert, University of Virginia.
-google-perftools Copyright (c) 2005, Google Inc.
-Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
-jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW).
-jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
-ogg/vorbis Copyright (C) 2001, Xiphophorus.
-OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
-PCRE Copyright (c) 1997-2008 University of Cambridge.
-SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga.
-SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com).
-xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
-zlib Copyright (C) 1995-2002 Jean-loup Gailly und Mark Adler.
-google-perftools Copyright (c) 2005, Google Inc.
+ APR Copyright (C) 2000-2004 The Apache Software Foundation.
+ Collada DOM Copyright 2005 Sony Computer Entertainment Inc.
+ cURL Copyright (C) 1996-2002, Daniel Stenberg (daniel@haxx.se).
+ DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
+ expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
+ FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
+ GL Copyright (C) 1999-2004 Brian Paul.
+ GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University sowie David Luebke, Brenden Schubert, University of Virginia.
+ google-perftools Copyright (c) 2005, Google Inc.
+ Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
+ jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW).
+ jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
+ ogg/vorbis Copyright (C) 2001, Xiphophorus.
+ OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
+ PCRE Copyright (c) 1997-2008 University of Cambridge.
+ SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga.
+ SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com).
+ xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
+ zlib Copyright (C) 1995-2002 Jean-loup Gailly und Mark Adler.
+ google-perftools Copyright (c) 2005, Google Inc.
-Second Life Viewer verwendet Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (und Lizenzgeber). Alle Rechte vorbehalten. Details siehe www.havok.com.
+ Second Life Viewer verwendet Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (und Lizenzgeber). Alle Rechte vorbehalten. Details siehe www.havok.com.
-Alle Rechte vorbehalten. Details siehe licenses.txt.
+ Diese Software enthält von der NVIDIA Corporation bereitgestellten Quellcode.
-Audiocodierung für Voice-Chat: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
+ Alle Rechte vorbehalten. Details siehe licenses.txt.
+
+ Audiocodierung für Voice-Chat: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
</text_editor>
</panel>
</tab_container>
diff --git a/indra/newview/skins/default/xui/de/floater_about_land.xml b/indra/newview/skins/default/xui/de/floater_about_land.xml
index 3cf3a16247..b893ab79e5 100644
--- a/indra/newview/skins/default/xui/de/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/de/floater_about_land.xml
@@ -130,7 +130,7 @@
Traffic:
</text>
<text name="DwellText">
- 0
+ Laden...
</text>
<button label="Land kaufen" label_selected="Land kaufen..." name="Buy Land..."/>
<button label="Linden-Verkauf" label_selected="Linden-Verkauf..." name="Linden Sale..." tool_tip="Land muss Eigentum und auf Inhalt gesetzt sein und nicht zur Auktion stehen."/>
@@ -310,13 +310,15 @@ Nur große Parzellen können in der Suche aufgeführt werden.
Kein Stoßen (regional)
</panel.string>
<panel.string name="see_avs_text">
- Auf dieser Parzelle Einwohner sehen und mit ihnen chatten
+ Avatare auf anderen Parzellen können
</panel.string>
<text name="allow_label">
Anderen Einwohnern gestatten:
</text>
- <check_box label="Terrain bearbeiten" name="edit land check" tool_tip="Falls aktiviert, kann jeder Ihr Land terraformen. Am besten ist es, wenn Sie diese Option deaktiviert lassen. Sie können Ihr eigenes Land jederzeit bearbeiten."/>
- <check_box label="Fliegen" name="check fly" tool_tip="Falls aktiviert, können Einwohner auf Ihrem Land fliegen. Falls nicht aktiviert, können Einwohner lediglich auf Ihr Land fliegen und dort landen (dann jedoch nicht wieder weiterfliegen) oder über Ihr Land hinweg fliegen."/>
+ <text name="allow_label0">
+ Fliegen:
+ </text>
+ <check_box label="Jeder" name="check fly" tool_tip="Falls aktiviert, können Einwohner auf Ihrem Land fliegen. Falls nicht aktiviert, können Einwohner lediglich auf Ihr Land fliegen und dort landen (dann jedoch nicht wieder weiterfliegen) oder über Ihr Land hinweg fliegen."/>
<text name="allow_label2">
Bauen:
</text>
@@ -332,9 +334,6 @@ Nur große Parzellen können in der Suche aufgeführt werden.
</text>
<check_box label="Jeder" name="check other scripts"/>
<check_box label="Gruppe" name="check group scripts"/>
- <text name="land_options_label">
- Landoptionen:
- </text>
<check_box label="Sicher (kein Schaden)" name="check safe" tool_tip="Falls aktiviert, wird Land auf Option „Sicher“ eingestellt, Kampfschäden sind deaktiviert. Ansonsten sind Kampfschäden aktiviert."/>
<check_box label="Kein Stoßen" name="PushRestrictCheck" tool_tip="Verhindert Stoßen durch Skripte. Durch Aktivieren dieser Option verhindern Sie störendes Verhalten auf Ihrem Land."/>
<check_box label="Ort in Suche anzeigen (30 L$/Woche)" name="ShowDirectoryCheck" tool_tip="Diese Parzelle in Suchergebnissen anzeigen."/>
@@ -375,9 +374,9 @@ Nur große Parzellen können in der Suche aufgeführt werden.
</text>
<texture_picker label="" name="snapshot_ctrl" tool_tip="Klicken Sie hier, um ein Bild auszuwählen"/>
<text name="allow_label5">
- Einwohnern auf anderen Parzellen Folgendes gestatten:
+ Avatare auf dieser Parzelle sehen und mit ihnen chatten
</text>
- <check_box label="Avatare sehen" name="SeeAvatarsCheck" tool_tip="Gestattet sowohl Einwohnern auf anderen Parzellen, Einwohner auf dieser Parzelle zu sehen und mit ihnen zu chatten, als auch Ihnen, diese Einwohner auf anderen Parzellen zu sehen und mit ihnen zu chatten."/>
+ <check_box label="Avatare sehen" name="SeeAvatarsCheck" tool_tip="Gestattet sowohl Avataren auf anderen Parzellen, Avatare auf dieser Parzelle zu sehen und mit ihnen zu chatten, als auch Ihnen, diese Avatare auf anderen Parzellen zu sehen und mit ihnen zu chatten."/>
<text name="landing_point">
Landepunkt: [LANDING]
</text>
diff --git a/indra/newview/skins/default/xui/de/floater_avatar.xml b/indra/newview/skins/default/xui/de/floater_avatar.xml
index 1470c4bcd6..ba0dd54d96 100644
--- a/indra/newview/skins/default/xui/de/floater_avatar.xml
+++ b/indra/newview/skins/default/xui/de/floater_avatar.xml
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Avatar" title="AVATAR-AUSWAHL"/>
+<floater name="Avatar" title="AVATAR AUSWÄHLEN"/>
diff --git a/indra/newview/skins/default/xui/de/floater_buy_currency.xml b/indra/newview/skins/default/xui/de/floater_buy_currency.xml
index e766b622f7..65926c088c 100644
--- a/indra/newview/skins/default/xui/de/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/de/floater_buy_currency.xml
@@ -46,7 +46,7 @@
[AMT] L$
</text>
<text name="currency_links">
- [http://www.secondlife.com/my/account/payment_method_management.php?lang=de-DE Zahlungsart] | [http://www.secondlife.com/my/account/currency.php?lang=de-DE Währung]
+ [http://www.secondlife.com/my/account/payment_method_management.php Zahlungsart] | [http://www.secondlife.com/my/account/currency.php Währung]
</text>
<text name="exchange_rate_note">
Geben Sie den Betrag erneut ein, um die aktuellste Umtauschrate anzuzeigen.
diff --git a/indra/newview/skins/default/xui/de/floater_camera.xml b/indra/newview/skins/default/xui/de/floater_camera.xml
index 7e9ebdb643..163ef87d8c 100644
--- a/indra/newview/skins/default/xui/de/floater_camera.xml
+++ b/indra/newview/skins/default/xui/de/floater_camera.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="camera_floater" title="ANSICHT">
+<floater name="camera_floater" title="KAMERASTEUERUNGEN">
<floater.string name="rotate_tooltip">
Kamera um Fokus drehen
</floater.string>
diff --git a/indra/newview/skins/default/xui/de/floater_hardware_settings.xml b/indra/newview/skins/default/xui/de/floater_hardware_settings.xml
index 9644bbbaea..ca081aafae 100644
--- a/indra/newview/skins/default/xui/de/floater_hardware_settings.xml
+++ b/indra/newview/skins/default/xui/de/floater_hardware_settings.xml
@@ -4,7 +4,7 @@
Filtern:
</text>
<check_box label="Anisotropische Filterung (langsamer, wenn aktiviert)" name="ani"/>
- <text name="Antialiasing:">
+ <text name="antialiasing label">
Antialiasing:
</text>
<combo_box label="Antialiasing" name="fsaa">
diff --git a/indra/newview/skins/default/xui/de/floater_model_preview.xml b/indra/newview/skins/default/xui/de/floater_model_preview.xml
index 7f6cd9944f..4af8d67686 100644
--- a/indra/newview/skins/default/xui/de/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/de/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
Fehler: Fehler beim DAE-Parsen – Details siehe Protokoll.
</string>
+ <string name="status_material_mismatch">
+ Fehler: Das Material des Modells ist keine Teilmenge des Referenzmodells.
+ </string>
<string name="status_reading_file">
Laden...
</string>
@@ -137,7 +140,7 @@
</panel>
<panel name="physics analysis">
<text name="method_label">
- Schritt 2: Analyse
+ Schritt 2: Analysieren
</text>
<text name="analysis_method_label">
Methode:
diff --git a/indra/newview/skins/default/xui/de/floater_model_wizard.xml b/indra/newview/skins/default/xui/de/floater_model_wizard.xml
index 354a505901..a90f36f202 100644
--- a/indra/newview/skins/default/xui/de/floater_model_wizard.xml
+++ b/indra/newview/skins/default/xui/de/floater_model_wizard.xml
@@ -20,6 +20,9 @@
Hochzuladende Modelldatei auswählen
</text>
<button label="Durchsuchen..." label_selected="Durchsuchen..." name="browse"/>
+ <text name="Model types">
+ Second Life unterstützt COLLADA-Dateien (.dae).
+ </text>
<text name="dimensions">
X Y Z
</text>
diff --git a/indra/newview/skins/default/xui/de/floater_moveview.xml b/indra/newview/skins/default/xui/de/floater_moveview.xml
index e8cc77c038..c1c8271310 100644
--- a/indra/newview/skins/default/xui/de/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/de/floater_moveview.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="move_floater" title="BEWEGEN">
+<floater name="move_floater" title="GEHEN / RENNEN / FLIEGEN">
<string name="walk_forward_tooltip">
Vorwärts gehen (Nach-oben-Pfeil oder W drücken)
</string>
diff --git a/indra/newview/skins/default/xui/de/floater_snapshot.xml b/indra/newview/skins/default/xui/de/floater_snapshot.xml
index ae68c71a80..798461c007 100644
--- a/indra/newview/skins/default/xui/de/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/de/floater_snapshot.xml
@@ -3,73 +3,63 @@
<floater.string name="unknown">
unbekannt
</floater.string>
- <radio_group label="Fototyp" name="snapshot_type_radio">
- <radio_item label="E-Mail" name="postcard"/>
- <radio_item label="Mein Inventar ([AMOUNT] L$)" name="texture"/>
- <radio_item label="Auf meinem Computer speichern" name="local"/>
- </radio_group>
+ <string name="postcard_progress_str">
+ E-Mail senden
+ </string>
+ <string name="profile_progress_str">
+ Posten
+ </string>
+ <string name="inventory_progress_str">
+ Speichern im Inventar
+ </string>
+ <string name="local_progress_str">
+ Speichern auf Computer
+ </string>
+ <string name="profile_succeeded_str">
+ Bild hochgeladen
+ </string>
+ <string name="postcard_succeeded_str">
+ E-Mail gesendet!
+ </string>
+ <string name="inventory_succeeded_str">
+ Im Inventar gespeichert!
+ </string>
+ <string name="local_succeeded_str">
+ Auf Computer gespeichert!
+ </string>
+ <string name="profile_failed_str">
+ Fehler beim Hochladen des Bilds in Ihr Profil.
+ </string>
+ <string name="postcard_failed_str">
+ Fehler beim Senden der E-Mail.
+ </string>
+ <string name="inventory_failed_str">
+ Fehler beim Speichern im Inventar.
+ </string>
+ <string name="local_failed_str">
+ Fehler beim Speichern auf dem Computer.
+ </string>
+ <button name="advanced_options_btn" tool_tip="Erweiterte Optionen"/>
+ <text name="image_res_text">
+ [WIDTH] x [HEIGHT] px
+ </text>
<text name="file_size_label">
[SIZE] KB
</text>
- <button label="Foto aktualisieren" name="new_snapshot_btn"/>
- <button label="Senden" name="send_btn"/>
- <button label="Speichern ([AMOUNT] L$)" name="upload_btn"/>
- <flyout_button label="Speichern" name="save_btn" tool_tip="Bild als Datei speichern">
- <flyout_button.item label="Speichern" name="save_item"/>
- <flyout_button.item label="Speichern unter..." name="saveas_item"/>
- </flyout_button>
- <button label="Mehr" name="more_btn" tool_tip="Erweiterte Optionen"/>
- <button label="Weniger" name="less_btn" tool_tip="Erweiterte Optionen"/>
- <button label="Abbrechen" name="discard_btn"/>
- <text name="type_label2">
- Größe
- </text>
- <text name="format_label">
- Format
- </text>
- <combo_box label="Auflösung" name="postcard_size_combo">
- <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/>
- <combo_box.item label="640x480" name="640x480"/>
- <combo_box.item label="800x600" name="800x600"/>
- <combo_box.item label="1024x768" name="1024x768"/>
- <combo_box.item label="Benutzerdefiniert" name="Custom"/>
- </combo_box>
- <combo_box label="Auflösung" name="texture_size_combo">
- <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/>
- <combo_box.item label="Klein (128x128)" name="Small(128x128)"/>
- <combo_box.item label="Mittel (256x256)" name="Medium(256x256)"/>
- <combo_box.item label="Groß (512x512)" name="Large(512x512)"/>
- <combo_box.item label="Benutzerdefiniert" name="Custom"/>
- </combo_box>
- <combo_box label="Auflösung" name="local_size_combo">
- <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/>
- <combo_box.item label="320x240" name="320x240"/>
- <combo_box.item label="640x480" name="640x480"/>
- <combo_box.item label="800x600" name="800x600"/>
- <combo_box.item label="1024x768" name="1024x768"/>
- <combo_box.item label="1280x1024" name="1280x1024"/>
- <combo_box.item label="1600x1200" name="1600x1200"/>
- <combo_box.item label="Benutzerdefiniert" name="Custom"/>
- </combo_box>
- <combo_box label="Format" name="local_format_combo">
- <combo_box.item label="PNG" name="PNG"/>
- <combo_box.item label="JPEG" name="JPEG"/>
- <combo_box.item label="BMP" name="BMP"/>
- </combo_box>
- <spinner label="Breite" name="snapshot_width"/>
- <spinner label="Größe" name="snapshot_height"/>
- <check_box label="Seitenverhältnis beibehalten" name="keep_aspect_check"/>
- <slider label="Bildqualität" name="image_quality_slider"/>
- <text name="layer_type_label">
- Aufnehmen:
- </text>
- <combo_box label="Bildlayer" name="layer_types">
- <combo_box.item label="Farben" name="Colors"/>
- <combo_box.item label="Tiefe" name="Depth"/>
- </combo_box>
- <check_box label="Schnittstelle" name="ui_check"/>
- <check_box label="HUDs" name="hud_check"/>
- <check_box label="Nach dem Speichern offen lassen" name="keep_open_check"/>
- <check_box label="Frame einfrieren (Vollbild)" name="freeze_frame_check"/>
- <check_box label="Automatisch aktualisieren" name="auto_snapshot_check"/>
+ <panel name="advanced_options_panel">
+ <text name="advanced_options_label">
+ ERWEITERTE OPTIONEN
+ </text>
+ <text name="layer_type_label">
+ Aufnahme:
+ </text>
+ <combo_box label="Bildebenen" name="layer_types">
+ <combo_box.item label="Farben" name="Colors"/>
+ <combo_box.item label="Tiefe" name="Depth"/>
+ </combo_box>
+ <check_box label="Schnittstelle" name="ui_check"/>
+ <check_box label="HUDs" name="hud_check"/>
+ <check_box label="Standbild (Vollbild)" name="freeze_frame_check"/>
+ <check_box label="Automatisch aktualisieren" name="auto_snapshot_check"/>
+ </panel>
</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_toybox.xml b/indra/newview/skins/default/xui/de/floater_toybox.xml
index 23ec9c2e58..90e50804d6 100644
--- a/indra/newview/skins/default/xui/de/floater_toybox.xml
+++ b/indra/newview/skins/default/xui/de/floater_toybox.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Toybox" title="SYMBOLLEISTEN ANPASSEN">
+<floater name="Toybox" title="SYMBOLLEISTENSCHALTFLÄCHEN">
<text name="toybox label 1">
Sie können Schaltflächen durch Ziehen zu Symbolleisten hinzufügen oder daraus entfernen.
</text>
<text name="toybox label 2">
Je nach Einstellung erscheinen Schaltflächen wie dargestellt oder nur als Symbol.
</text>
+ <button label="Alle Symbolleisten leeren" label_selected="Alle Symbolleisten leeren" name="btn_clear_all"/>
<button label="Standards wiederherstellen" label_selected="Standards wiederherstellen" name="btn_restore_defaults"/>
</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_translation_settings.xml b/indra/newview/skins/default/xui/de/floater_translation_settings.xml
new file mode 100644
index 0000000000..3d5d1d46a8
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/floater_translation_settings.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_translation_settings" title="ÜBERSETZUNGSEINSTELLUNGEN FÜR CHATS">
+ <string name="bing_api_key_not_verified">
+ Bing-AppID nicht verifiziert. Versuchen Sie es erneut.
+ </string>
+ <string name="google_api_key_not_verified">
+ Google-API-Schlüssel nicht verifiziert. Versuchen Sie es erneut.
+ </string>
+ <string name="bing_api_key_verified">
+ Bing-AppID verifiziert.
+ </string>
+ <string name="google_api_key_verified">
+ Google-API-Schlüssel verifiziert.
+ </string>
+ <check_box label="Maschinenübersetzung beim Chatten aktivieren" name="translate_chat_checkbox"/>
+ <text name="translate_language_label">
+ Chat übersetzen in:
+ </text>
+ <combo_box name="translate_language_combo">
+ <combo_box.item label="Systemstandard" name="System Default Language"/>
+ <combo_box.item label="English (Englisch)" name="English"/>
+ <combo_box.item label="Dansk (Dänisch)" name="Danish"/>
+ <combo_box.item label="Deutsch" name="German"/>
+ <combo_box.item label="Español (Spanisch)" name="Spanish"/>
+ <combo_box.item label="Français (Französisch)" name="French"/>
+ <combo_box.item label="Italiano (Italienisch)" name="Italian"/>
+ <combo_box.item label="Magyar (Ungarisch)" name="Hungarian"/>
+ <combo_box.item label="Nederlands (Holländisch)" name="Dutch"/>
+ <combo_box.item label="Polski (Polnisch)" name="Polish"/>
+ <combo_box.item label="Português (Portugiesisch)" name="Portugese"/>
+ <combo_box.item label="Русский (Russisch)" name="Russian"/>
+ <combo_box.item label="Türkçe (Türkisch)" name="Turkish"/>
+ <combo_box.item label="Українська (Ukrainisch)" name="Ukrainian"/>
+ <combo_box.item label="中文 (正體) (Chinesisch)" name="Chinese"/>
+ <combo_box.item label="日本語 (Japanisch)" name="Japanese"/>
+ <combo_box.item label="한국어 (Koreanisch)" name="Korean"/>
+ </combo_box>
+ <text name="tip">
+ Übersetzungsservice auswählen:
+ </text>
+ <radio_group name="translation_service_rg">
+ <radio_item initial_value="bing" label="Bing Translator" name="bing"/>
+ <radio_item initial_value="google" label="Google Translate" name="google"/>
+ </radio_group>
+ <text name="bing_api_key_label">
+ Bing-[http://www.bing.com/developers/createapp.aspx AppID]:
+ </text>
+ <button label="Verifizieren" name="verify_bing_api_key_btn"/>
+ <text name="google_api_key_label">
+ Google-[http://code.google.com/apis/language/translate/v2/getting_started.html#auth API-Schlüssel]:
+ </text>
+ <button label="Verifizieren" name="verify_google_api_key_btn"/>
+ <text name="google_links_text">
+ [http://code.google.com/apis/language/translate/v2/pricing.html Pricing] | [https://code.google.com/apis/console Statistik]
+ </text>
+ <button label="OK" name="ok_btn"/>
+ <button label="Abbrechen" name="cancel_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_voice_controls.xml b/indra/newview/skins/default/xui/de/floater_voice_controls.xml
index 18d53841b8..5efda4136e 100644
--- a/indra/newview/skins/default/xui/de/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/de/floater_voice_controls.xml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_voice_controls" title="SPRACHSTEUERUNGEN">
<string name="title_nearby">
- Stimme in der Nähe
+ VOICE-EINSTELLUNGEN
</string>
<string name="title_group">
- Gruppengespräch mit [GROUP]
+ GRUPPENGESPRÄCH MIT [GROUP]
</string>
<string name="title_adhoc">
- Konferenzgespräch
+ KONFERENZGESPRÄCH
</string>
<string name="title_peer_2_peer">
- Gespräch mit [NAME]
+ GESPRÄCH MIT [NAME]
</string>
<string name="no_one_near">
Es ist niemand in der Nähe, der Voice aktiviert hat.
diff --git a/indra/newview/skins/default/xui/de/menu_toolbars.xml b/indra/newview/skins/default/xui/de/menu_toolbars.xml
index cfeae3deca..3fb48e26b2 100644
--- a/indra/newview/skins/default/xui/de/menu_toolbars.xml
+++ b/indra/newview/skins/default/xui/de/menu_toolbars.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Toolbars Popup">
- <menu_item_call label="Schaltflächen auswählen..." name="Chose Buttons"/>
+ <menu_item_call label="Diese Schaltfläche entfernen" name="Remove button"/>
+ <menu_item_call label="Symbolleistenschaltflächen..." name="Choose Buttons"/>
<menu_item_check label="Symbole und Beschriftungen" name="icons_with_text"/>
<menu_item_check label="Nur Symbole" name="icons_only"/>
</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 90b2cfbc41..a81874bee9 100644
--- a/indra/newview/skins/default/xui/de/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/de/menu_viewer.xml
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu_bar name="Main Menu">
<menu label="Ich" name="Me">
- <menu_item_call label="Dashboard..." name="Manage My Account">
- <menu_item_call.on_click name="ManageMyAccount_url" parameter="WebLaunchJoinNow,http://secondlife.com/account/index.php?lang=de"/>
- </menu_item_call>
<menu_item_call label="Profil..." name="Profile"/>
<menu_item_call label="Aussehen..." name="ChangeOutfit"/>
+ <menu_item_call label="Avatar auswählen..." name="Avatar Picker"/>
<menu_item_check label="Inventar..." name="Inventory"/>
- <menu_item_check label="Gesten..." name="Gestures"/>
- <menu_item_check label="Stimme..." name="ShowVoice"/>
+ <menu_item_call label="Neues Inventarfenster" name="NewInventoryWindow"/>
+ <menu_item_call label="Orte..." name="Places"/>
+ <menu_item_call label="Auswahlen..." name="Picks"/>
+ <menu_item_call label="Kamerasteuerungen..." name="Camera Controls"/>
<menu label="Bewegung" name="Movement">
<menu_item_call label="Hinsetzen" name="Sit Down Here"/>
<menu_item_check label="Fliegen" name="Fly"/>
@@ -22,34 +22,39 @@
<menu_item_call label="Admin-Status anfordern" name="Request Admin Options"/>
<menu_item_call label="Admin-Status verlassen" name="Leave Admin Options"/>
<menu_item_call label="L$ kaufen" name="Buy and Sell L$"/>
+ <menu_item_call label="Kontoübersicht..." name="Manage My Account">
+ <menu_item_call.on_click name="ManageMyAccount_url" parameter="WebLaunchJoinNow,http://secondlife.com/account/index.php?lang=de"/>
+ </menu_item_call>
<menu_item_call label="Einstellungen..." name="Preferences"/>
- <menu_item_call label="Symbolleisten..." name="Toolbars"/>
+ <menu_item_call label="Symbolleistenschaltflächen..." name="Toolbars"/>
<menu_item_call label="Alle Steuerelemente ausblenden" name="Hide UI"/>
<menu_item_call label="[APP_NAME] schließen" name="Quit"/>
</menu>
<menu label="Unterhalten" name="Communicate">
- <menu_item_call label="Meine Freunde" name="My Friends"/>
- <menu_item_call label="Meine Gruppen" name="My Groups"/>
- <menu_item_check label="Chat in der Nähe" name="Nearby Chat"/>
+ <menu_item_check label="Chat..." name="Nearby Chat"/>
+ <menu_item_check label="Sprechen" name="Speak"/>
+ <menu_item_check label="Voice-Einstellungen..." name="Nearby Voice"/>
+ <menu_item_check label="Voice-Morphing..." name="ShowVoice"/>
+ <menu_item_check label="Gesten..." name="Gestures"/>
+ <menu_item_call label="Freunde" name="My Friends"/>
+ <menu_item_call label="Gruppen" name="My Groups"/>
<menu_item_call label="Leute in der Nähe" name="Active Speakers"/>
- <menu_item_check label="Stimme in der Nähe" name="Nearby Voice"/>
</menu>
<menu label="Welt" name="World">
- <menu_item_check label="Minikarte" name="Mini-Map"/>
+ <menu_item_call label="Landmarke für diesen Ort setzen" name="Create Landmark Here"/>
+ <menu_item_call label="Ziele..." name="Destinations"/>
<menu_item_check label="Karte" name="World Map"/>
+ <menu_item_check label="Minikarte" name="Mini-Map"/>
<menu_item_check label="Suchen" name="Search"/>
+ <menu_item_call label="Nach Hause teleportieren" name="Teleport Home"/>
+ <menu_item_call label="Hier als Zuhause wählen" name="Set Home to Here"/>
<menu_item_call label="Foto" name="Take Snapshot"/>
- <menu_item_call label="Landmarke für diesen Ort setzen" name="Create Landmark Here"/>
- <menu label="Ortsprofil" name="Land">
- <menu_item_call label="Ortsprofil" name="Place Profile"/>
- <menu_item_call label="Land-Info" name="About Land"/>
- <menu_item_call label="Region/Grundbesitz" name="Region/Estate"/>
- </menu>
+ <menu_item_call label="Ortsprofil" name="Place Profile"/>
+ <menu_item_call label="Landinformationen" name="About Land"/>
+ <menu_item_call label="Region/Grundbesitz" name="Region/Estate"/>
+ <menu_item_call label="Mein Landbesitz..." name="My Land"/>
<menu_item_call label="Dieses Land kaufen" name="Buy Land"/>
- <menu_item_call label="Mein Land" name="My Land"/>
<menu label="Anzeigen" name="LandShow">
- <menu_item_check label="Bewegungssteuerung" name="Movement Controls"/>
- <menu_item_check label="Ansichtsteuerung" name="Camera Controls"/>
<menu_item_check label="Bannlinien" name="Ban Lines"/>
<menu_item_check label="Strahlen" name="beacons"/>
<menu_item_check label="Grundstücksgrenzen" name="Property Lines"/>
@@ -58,16 +63,15 @@
<menu_item_check label="Parzelleneigenschaften" name="Parcel Properties"/>
<menu_item_check label="Menü „Erweitert“" name="Show Advanced Menu"/>
</menu>
- <menu_item_call label="Teleport nach Hause" name="Teleport Home"/>
- <menu_item_call label="Hier als Zuhause wählen" name="Set Home to Here"/>
<menu label="Sonne" name="Environment Settings">
<menu_item_call label="Sonnenaufgang" name="Sunrise"/>
<menu_item_call label="Mittag" name="Noon"/>
<menu_item_call label="Sonnenuntergang" name="Sunset"/>
<menu_item_call label="Mitternacht" name="Midnight"/>
+ <menu_item_call label="Regionseinstellungen verwenden" name="Use Region Settings"/>
</menu>
- <menu label="Umgebungs-Editor" name="Enviroment Editor">
- <menu_item_call label="Umgebungseinstellungen..." name="Enviroment Settings"/>
+ <menu label="Umwelt-Editor" name="Environment Editor">
+ <menu_item_call label="Umwelt-Einstellungen..." name="Environment Settings"/>
<menu label="Wasser-Voreinstellungen" name="Water Presets">
<menu_item_call label="Neue Voreinstellung..." name="new_water_preset"/>
<menu_item_call label="Voreinstellung bearbeiten..." name="edit_water_preset"/>
@@ -146,6 +150,7 @@
<menu_item_call label="Wiederholen" name="Redo"/>
</menu>
<menu label="Hilfe" name="Help">
+ <menu_item_call label="Anweisungen..." name="How To"/>
<menu_item_call label="[SECOND_LIFE]-Hilfe" name="Second Life Help"/>
<menu_item_call label="Missbrauch melden" name="Report Abuse"/>
<menu_item_call label="Fehler melden" name="Report Bug"/>
@@ -200,11 +205,10 @@
<menu_item_check label="Plugin Read Thread verwenden" name="Use Plugin Read Thread"/>
<menu_item_call label="Gruppen-Cache löschen" name="ClearGroupCache"/>
<menu_item_check label="Weiche Mausbewegung" name="Mouse Smoothing"/>
+ <menu_item_call label="Tasten freigeben" name="Release Keys"/>
<menu label="Tastaturkürzel" name="Shortcuts">
<menu_item_call label="Bild ([COST] L$)..." name="Upload Image"/>
<menu_item_check label="Suchen" name="Search"/>
- <menu_item_call label="Tasten freigeben" name="Release Keys"/>
- <menu_item_call label="UI-Größe auf Standard setzen" name="Set UI Size to Default"/>
<menu_item_check label="Erweitert-Menü anzeigen - veraltetet" name="Show Advanced Menu - legacy shortcut"/>
<menu_item_call label="Fenster schließen" name="Close Window"/>
<menu_item_call label="Alle Fenster schließen" name="Close All Windows"/>
@@ -290,6 +294,7 @@
<menu_item_check label="Lichter" name="Lights"/>
<menu_item_check label="Gelenkpunkte" name="Collision Skeleton"/>
<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"/>
<menu_item_check label="Formen" name="Sculpt"/>
</menu>
@@ -302,7 +307,6 @@
<menu_item_check label="Licht und Schatten" name="Lighting and Shadows"/>
<menu_item_check label="Schatten von Sonne-/Mond-Projektoren" name="Shadows from Sun/Moon/Projectors"/>
<menu_item_check label="SSAO und Schattenglättung" name="SSAO and Shadow Smoothing"/>
- <menu_item_check label="Globale Beleuchtung (experimentell)" name="Global Illumination"/>
<menu_item_check label="Fehler in GL beseitigen" name="Debug GL"/>
<menu_item_check label="Fehler in Pipeline beseitigen" name="Debug Pipeline"/>
<menu_item_check label="Automatische Alpha-Masken (aufgeschoben)" name="Automatic Alpha Masks (deferred)"/>
diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml
index a5fcd3e0b4..a34b938a7a 100644
--- a/indra/newview/skins/default/xui/de/notifications.xml
+++ b/indra/newview/skins/default/xui/de/notifications.xml
@@ -1124,8 +1124,13 @@ Der Gruppe „[GROUP_NAME]“ [AREA] m² an Land schenken?
<notification name="DisplaySetToSafe">
Es wurden sichere Anzeige-Einstellungen gewählt, da die Option -safe verwendet wurde.
</notification>
- <notification name="DisplaySetToRecommended">
- Es wurden die für Ihre Systemkonfiguration empfohlenen Anzeige-Einstellungen gewählt.
+ <notification name="DisplaySetToRecommendedGPUChange">
+ Die Anzeigeeinstellungen wurden auf die empfohlenen Werte gesetzt, da Ihre Grafikkarte geändert wurde
+von „[LAST_GPU]“
+in „[THIS_GPU]“
+ </notification>
+ <notification name="DisplaySetToRecommendedFeatureChange">
+ Aufgrund einer Änderung des Rendersubsystems wurden die Anzeigeeinstellungen auf die empfohlenen Werte gesetzt.
</notification>
<notification name="ErrorMessage">
[ERROR_MESSAGE]
@@ -1926,7 +1931,13 @@ Inventarobjekt(e) verschieben?
<usetemplate ignoretext="Bestätigen, bevor Sitzung beendet wird" name="okcancelignore" notext="Nicht beenden" yestext="Beenden"/>
</notification>
<notification name="ConfirmRestoreToybox">
- Möchten Sie wirklich Ihre Standardschaltflächen und -symbolleisten wiederherstellen?
+ Durch diese Aktion werden Ihre Standardschaltflächen und -symbolleisten wiederhergestellt.
+
+Diese Aktion kann nicht rückgängig gemacht werden.
+ <usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
+ </notification>
+ <notification name="ConfirmClearAllToybox">
+ Durch diese Aktion werden alle Schaltflächen zurück in die Toolbox gestellt; die Symbolleisten sind leer.
Diese Aktion kann nicht rückgängig gemacht werden.
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
@@ -2250,14 +2261,16 @@ Wählen Sie ein einzelnes Objekt aus.
Ihre Visitenkarte wurde abgelehnt.
</notification>
<notification name="TeleportToLandmark">
- Sie können an Positionen wie „[NAME]“ teleportieren, wenn Sie rechts in Ihrem Bildschirm die Tafel „Orte“ öffnen und dann die Registerkarte „Meine Landmarken“ auswählen.
-Klicken Sie auf eine Landmarke, um diese auszuwählen. Klicken Sie anschließend auf unten in der Registerkarte auf „Teleportieren“.
-(Sie können auch auf die Landmarke doppelt klicken oder mit rechts auf die Landmarke klicken und dann „Teleportieren“ auswählen).
+ Um zu Orten wie „[NAME]“ zu teleportieren, klicken Sie zuerst auf die Schaltfläche „Orte“
+ und dann im eingeblendeten Fenster auf die Registerkarte „Landmarken“. Klicken Sie auf
+ die gewünschte Landmarke und dann unten im Fenster auf „Teleportieren“.
+ (Sie können auch auf die Landmarke doppelklicken bzw. sie mit der rechten Maustaste ankklicken und dann
+ „Teleportieren“ wählen.)
</notification>
<notification name="TeleportToPerson">
- Sie können Einwohner wie „[NAME]“ kontaktieren, wenn Sie die Tafel „Leute“ auf der rechten Seite Ihres Bildschirms öffnen.
-Wählen Sie den Einwohner aus der Liste aus und klicken Sie unten auf „IM“.
-(Sie können auch auf den Namen doppelt klicken oder mit rechts auf den Namen klicken und dann „IM“ auswählen).
+ Um Einwohner wie „[NAME]“ zu kontaktieren, klicken Sie auf die Schaltfläche „Leute“, wählen Sie eingeblendeten Fenster einen Einwohner aus
+ und klicken Sie unten im Fenster auf „IM“.
+ (Sie können auch auf den Namen doppelklicken bzw. ihn mit der rechten Maustaste anklicken und dann „IM“ wählen.)
</notification>
<notification name="CantSelectLandFromMultipleRegions">
Land kann nicht über Servergrenzen hinweg ausgewählt werden.
@@ -2278,6 +2291,9 @@ Wählen Sie eine kleinere Landfläche.
<notification name="PaymentSent">
[MESSAGE]
</notification>
+ <notification name="PaymentFailure">
+ [MESSAGE]
+ </notification>
<notification name="EventNotification">
Event-Benachrichtigung:
diff --git a/indra/newview/skins/default/xui/de/panel_edit_skin.xml b/indra/newview/skins/default/xui/de/panel_edit_skin.xml
index f167f45e98..60f6919485 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_skin.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="edit_skin_panel">
<panel name="avatar_skin_color_panel">
- <texture_picker label="Kopftattoo" name="Head Tattoos" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
- <texture_picker label="Obere Tattoos" name="Upper Tattoos" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
- <texture_picker label="Untere Tattoos" name="Lower Tattoos" tool_tip="Zum Auswählen eines Bildes hier klicken"/>
+ <texture_picker label="Kopf" name="Head" tool_tip="Klicken, um ein Bild zu wählen"/>
+ <texture_picker label="Oberkörper" name="Upper Body" tool_tip="Klicken, um ein Bild zu wählen"/>
+ <texture_picker label="Unterkörper" name="Lower Body" tool_tip="Klicken, um ein Bild zu wählen"/>
</panel>
<panel name="accordion_panel">
<accordion name="wearable_accordion">
diff --git a/indra/newview/skins/default/xui/de/panel_postcard_message.xml b/indra/newview/skins/default/xui/de/panel_postcard_message.xml
new file mode 100644
index 0000000000..6eeef8af71
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_postcard_message.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_message">
+ <text name="to_label">
+ An:
+ </text>
+ <text name="name_label">
+ Von:
+ </text>
+ <text name="subject_label">
+ Betreff:
+ </text>
+ <line_editor label="Betreff hier eingeben." name="subject_form"/>
+ <text name="msg_label">
+ Nachricht:
+ </text>
+ <text_editor name="msg_form">
+ Nachricht hier eingeben.
+ </text_editor>
+ <button label="Abbrechen" name="cancel_btn"/>
+ <button label="Senden" name="send_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_postcard_settings.xml b/indra/newview/skins/default/xui/de/panel_postcard_settings.xml
new file mode 100644
index 0000000000..c1a1c0cc46
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_postcard_settings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_settings">
+ <combo_box label="Auflösung" name="postcard_size_combo">
+ <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="Benutzerdefiniert" name="Custom"/>
+ </combo_box>
+ <layout_stack name="postcard_image_params_ls">
+ <layout_panel name="postcard_image_size_lp">
+ <spinner label="Breite" name="postcard_snapshot_width"/>
+ <spinner label="Höhe" name="postcard_snapshot_height"/>
+ <check_box label="Seitenverhältnis beibehalten" name="postcard_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="postcard_image_format_quality_lp">
+ <slider label="Bildqualität" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml
index 04f6c27330..746a561e6c 100644
--- a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml
@@ -29,30 +29,5 @@
<check_box label="IM-Chats" name="EnableIMChatPopups" tool_tip="Markieren, um Popups zu sehen, wenn Instant Message eintrifft"/>
<spinner label="Lebenszeit von Toasts für Chat in der Nähe:" name="nearby_toasts_lifetime"/>
<spinner label="Ein-/Ausblenddauer von Toasts für Chat in der Nähe:" name="nearby_toasts_fadingtime"/>
- <check_box name="translate_chat_checkbox"/>
- <text name="translate_chb_label">
- Beim Chatten Maschinenübersetzung verwenden
- </text>
- <text name="translate_language_text">
- Chat übersetzen in:
- </text>
- <combo_box name="translate_language_combobox" width="200">
- <combo_box.item label="Systemstandard" name="System Default Language"/>
- <combo_box.item label="English (Englisch)" name="English"/>
- <combo_box.item label="Dansk (Dänisch)" name="Danish"/>
- <combo_box.item label="Deutsch" name="German"/>
- <combo_box.item label="Español (Spanisch)" name="Spanish"/>
- <combo_box.item label="Français (Französisch)" name="French"/>
- <combo_box.item label="Italiano (Italienisch)" name="Italian"/>
- <combo_box.item label="Magyar (Ungarisch)" name="Hungarian"/>
- <combo_box.item label="Nederlands (Holländisch)" name="Dutch"/>
- <combo_box.item label="Polski (Polnisch)" name="Polish"/>
- <combo_box.item label="Português (Portugiesisch)" name="Portugese"/>
- <combo_box.item label="Русский (Russisch)" name="Russian"/>
- <combo_box.item label="Türkçe (Türkisch)" name="Turkish"/>
- <combo_box.item label="Українська (Ukrainisch)" name="Ukrainian"/>
- <combo_box.item label="中文 (正體) (Chinesisch)" name="Chinese"/>
- <combo_box.item label="日本語 (Japanisch)" name="Japanese"/>
- <combo_box.item label="한국어 (Koreanisch)" name="Korean"/>
- </combo_box>
+ <button label="Übersetzungseinstellungen für Chats" name="ok_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_preferences_setup.xml b/indra/newview/skins/default/xui/de/panel_preferences_setup.xml
index 8b18bf8659..8c7ea688d7 100644
--- a/indra/newview/skins/default/xui/de/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/de/panel_preferences_setup.xml
@@ -15,7 +15,7 @@
Web:
</text>
<radio_group name="use_external_browser">
- <radio_item label="Meinen Browser verwenden (IE, Firefox, Safari)" name="external" tool_tip="Standard Webbrowser des Systems verwenden, um die Hilfe, Weblinks usw. anzuzeigen. Bei Vollbildmodus nicht empfohlen." value="1"/>
+ <radio_item label="Meinen Browser verwenden (IE, Firefox, Safari)" name="external" tool_tip="Standard Webbrowser des Systems verwenden, um die Hilfe, Weblinks usw. anzuzeigen. Bei Vollbildmodus nicht empfohlen." value="true"/>
<radio_item label="Integrierten Browser verwenden" name="internal" tool_tip="Integrierten Webbrowser verwenden, um die Hilfe, Weblinks usw. anzuzeigen. Dieser Browser öffnet als neues Fenster innerhalb von [APP_NAME]." value=""/>
</radio_group>
<check_box initial_value="true" label="Plugins aktivieren" name="browser_plugins_enabled"/>
diff --git a/indra/newview/skins/default/xui/de/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/de/panel_snapshot_inventory.xml
new file mode 100644
index 0000000000..10827ce6f2
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_snapshot_inventory.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_inventory">
+ <text name="title">
+ In meinem Inventar speichern
+ </text>
+ <text name="hint_lbl">
+ Das Speichern eines Bilds in Ihrem Inventar kostet [UPLOAD_COST] L$. Um das Bild als Textur zu speichern, wählen Sie eines der quadratischen Formate aus.
+ </text>
+ <combo_box label="Auflösung" name="texture_size_combo">
+ <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/>
+ <combo_box.item label="Klein (128x128)" name="Small(128x128)"/>
+ <combo_box.item label="Mittel (256x256)" name="Medium(256x256)"/>
+ <combo_box.item label="Groß (512x512)" name="Large(512x512)"/>
+ <combo_box.item label="Benutzerdefiniert" name="Custom"/>
+ </combo_box>
+ <spinner label="Breite" name="inventory_snapshot_width"/>
+ <spinner label="Höhe" name="inventory_snapshot_height"/>
+ <check_box label="Seitenverhältnis beibehalten" name="inventory_keep_aspect_check"/>
+ <button label="Abbrechen" name="cancel_btn"/>
+ <button label="Speichern" name="save_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_snapshot_local.xml b/indra/newview/skins/default/xui/de/panel_snapshot_local.xml
new file mode 100644
index 0000000000..3aeae80388
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_snapshot_local.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_local">
+ <text name="title">
+ Auf meinem Computer speichern
+ </text>
+ <combo_box label="Auflösung" name="local_size_combo">
+ <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/>
+ <combo_box.item label="320x240" name="320x240"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="1280x1024" name="1280x1024"/>
+ <combo_box.item label="1600x1200" name="1600x1200"/>
+ <combo_box.item label="Benutzerdefiniert" name="Custom"/>
+ </combo_box>
+ <layout_stack name="local_image_params_ls">
+ <layout_panel name="local_image_size_lp">
+ <spinner label="Breite" name="local_snapshot_width"/>
+ <spinner label="Höhe" name="local_snapshot_height"/>
+ <check_box label="Seitenverhältnis beibehalten" name="local_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="local_image_format_quality_lp">
+ <combo_box label="Format" name="local_format_combo">
+ <combo_box.item label="PNG (verlustfrei)" name="PNG"/>
+ <combo_box.item label="JPEG" name="JPEG"/>
+ <combo_box.item label="BMP (verlustfrei)" name="BMP"/>
+ </combo_box>
+ <slider label="Bildqualität" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+ <button label="Abbrechen" name="cancel_btn"/>
+ <flyout_button label="Speichern" name="save_btn" tool_tip="Bild als Datei speichern">
+ <flyout_button.item label="Speichern" name="save_item"/>
+ <flyout_button.item label="Speichern unter..." name="saveas_item"/>
+ </flyout_button>
+</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_snapshot_options.xml b/indra/newview/skins/default/xui/de/panel_snapshot_options.xml
new file mode 100644
index 0000000000..e1d8a5dc6d
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_snapshot_options.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_options">
+ <button label="In meinem Profil posten" name="save_to_profile_btn"/>
+ <button label="E-Mail" name="save_to_email_btn"/>
+ <button label="In meinem Inventar speichern ([AMOUNT] L$)" name="save_to_inventory_btn"/>
+ <button label="Auf meinem Computer speichern" name="save_to_computer_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_snapshot_postcard.xml b/indra/newview/skins/default/xui/de/panel_snapshot_postcard.xml
new file mode 100644
index 0000000000..c9afe86d7f
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_snapshot_postcard.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_postcard">
+ <string name="default_subject">
+ Postkarte aus [SECOND_LIFE].
+ </string>
+ <string name="default_message">
+ Sehen Sie mal!
+ </string>
+ <string name="upload_message">
+ Senden...
+ </string>
+ <text name="title">
+ E-Mail
+ </text>
+ <button label="Nachricht" name="message_btn"/>
+ <button label="Einstellungen" name="settings_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_snapshot_profile.xml b/indra/newview/skins/default/xui/de/panel_snapshot_profile.xml
new file mode 100644
index 0000000000..8d1c52dea8
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_snapshot_profile.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_profile">
+ <text name="title">
+ In meinem Profil posten
+ </text>
+ <combo_box label="Auflösung" name="profile_size_combo">
+ <combo_box.item label="Aktuelles Fenster" name="CurrentWindow"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="Benutzerdefiniert" name="Custom"/>
+ </combo_box>
+ <layout_stack name="profile_image_params_ls">
+ <layout_panel name="profile_image_size_lp">
+ <spinner label="Breite" name="profile_snapshot_width"/>
+ <spinner label="Höhe" name="profile_snapshot_height"/>
+ <check_box label="Seitenverhältnis beibehalten" name="profile_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="profile_image_metadata_lp">
+ <text name="caption_label">
+ Bildunterschrift:
+ </text>
+ <check_box initial_value="true" label="Ort einschließen" name="add_location_cb"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="Abbrechen" name="cancel_btn"/>
+ <button label="Posten" name="post_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml
index 2929556d43..14e9fcdb7f 100644
--- a/indra/newview/skins/default/xui/de/strings.xml
+++ b/indra/newview/skins/default/xui/de/strings.xml
@@ -1214,7 +1214,7 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
Sie haben keine Kopie dieser Textur in Ihrem Inventar.
</string>
<string name="InventoryInboxNoItems">
- Objekte, die auf dem Marktplatz gekauft wurden, werden hierher geliefert.
+ Wenn Sie einen Artikel kaufen oder anderweitig erhalten, erscheint er hier, damit Sie ihn in einen Ordner in Ihrem Inventar ziehen bzw. löschen können, wenn Sie ihn nicht behalten möchten.
</string>
<string name="MarketplaceURL">
http://marketplace.[DOMAIN_NAME]
@@ -1412,6 +1412,9 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
<string name="no_attachments">
Keine Anhänge getragen
</string>
+ <string name="Attachments remain">
+ Anhänge (noch [COUNT] Positionen frei)
+ </string>
<string name="Buy">
Kaufen
</string>
@@ -1538,6 +1541,12 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden.
<string name="Right Pec">
Rechts
</string>
+ <string name="Neck">
+ Hals
+ </string>
+ <string name="Avatar Center">
+ Avatar-Mitte
+ </string>
<string name="Invalid Attachment">
Ungültige Stelle für Anhang
</string>
@@ -4030,6 +4039,18 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich bitte an [SUPPORT_
<string name="you_paid_ldollars_no_name">
Sie haben [REASON] [AMOUNT] L$ bezahlt.
</string>
+ <string name="you_paid_failure_ldollars">
+ Sie haben [NAME] [AMOUNT] L$ [REASON] nicht bezahlt.
+ </string>
+ <string name="you_paid_failure_ldollars_no_info">
+ Sie haben [AMOUNT] L$ nicht bezahlt.
+ </string>
+ <string name="you_paid_failure_ldollars_no_reason">
+ Sie haben [NAME] [AMOUNT] L$ nicht bezahlt.
+ </string>
+ <string name="you_paid_failure_ldollars_no_name">
+ Sie haben [AMOUNT] L$ [REASON] nicht bezahlt.
+ </string>
<string name="for item">
für [ITEM]
</string>
@@ -4440,6 +4461,12 @@ Setzen Sie den Editorpfad in Anführungszeichen
<string name="ExternalEditorFailedToRun">
Externer Editor konnte nicht ausgeführt werden.
</string>
+ <string name="TranslationFailed">
+ Übersetzung fehlgeschlagen: [REASON]
+ </string>
+ <string name="TranslationResponseParseError">
+ Fehler beim Parsen der Übersetzungsantwort.
+ </string>
<string name="Esc">
Esc
</string>
@@ -4810,7 +4837,7 @@ Setzen Sie den Editorpfad in Anführungszeichen
Minikarte
</string>
<string name="Command_Move_Label">
- Bewegen
+ Gehen / Rennen / Fliegen
</string>
<string name="Command_People_Label">
Leute
@@ -4837,10 +4864,10 @@ Setzen Sie den Editorpfad in Anführungszeichen
Sprechen
</string>
<string name="Command_View_Label">
- Ansicht
+ Kamerasteuerungen
</string>
<string name="Command_Voice_Label">
- Stimme in der Nähe
+ Voice-Einstellungen
</string>
<string name="Command_AboutLand_Tooltip">
Informationen zu dem von Ihnen besuchten Land
@@ -4912,7 +4939,16 @@ Setzen Sie den Editorpfad in Anführungszeichen
Kamerawinkel ändern
</string>
<string name="Command_Voice_Tooltip">
- Leute in der Nähe mit Sprechfähigkeit
+ Lautstärkeregler für Anrufe und Leute in Ihrer Nähe in SL
+ </string>
+ <string name="Toolbar_Bottom_Tooltip">
+ gegenwärtig in der unteren Symbolleiste
+ </string>
+ <string name="Toolbar_Left_Tooltip">
+ gegenwärtig in der linken Symbolleiste
+ </string>
+ <string name="Toolbar_Right_Tooltip">
+ gegenwärtig in der rechten Symbolleiste
</string>
<string name="Retain%">
% zurückbehalten
@@ -4938,4 +4974,19 @@ Setzen Sie den Editorpfad in Anführungszeichen
<string name="Normal">
Normal
</string>
+ <string name="snapshot_quality_very_low">
+ Sehr niedrig
+ </string>
+ <string name="snapshot_quality_low">
+ Niedrig
+ </string>
+ <string name="snapshot_quality_medium">
+ Mittel
+ </string>
+ <string name="snapshot_quality_high">
+ Hoch
+ </string>
+ <string name="snapshot_quality_very_high">
+ Sehr hoch
+ </string>
</strings>
diff --git a/indra/newview/skins/default/xui/de/teleport_strings.xml b/indra/newview/skins/default/xui/de/teleport_strings.xml
index bbfc830688..9cf381bacc 100644
--- a/indra/newview/skins/default/xui/de/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/de/teleport_strings.xml
@@ -21,8 +21,8 @@ Wenn der Teleport dann immer noch nicht funktioniert, melden Sie sich bitte ab u
Versuchen Sie es später noch einmal.
</message>
<message name="NoHelpIslandTP">
- Sie können nicht zurück nach Welcome Island teleportieren.
-Gehen Sie zu „Welcome Island Public“ und wiederholen sie das Tutorial.
+ Sie können nicht zurück nach Welcome Island teleportieren.
+Gehen Sie zu „Welcome Island Public“, um das Tutorial zu wiederholen.
</message>
<message name="noaccess_tport">
Sie haben leider keinen Zugang zu diesem Teleport-Ziel.
diff --git a/indra/newview/skins/default/xui/en/floater_model_wizard.xml b/indra/newview/skins/default/xui/en/floater_model_wizard.xml
index 9c0af7d9ba..62b8c5f96e 100644
--- a/indra/newview/skins/default/xui/en/floater_model_wizard.xml
+++ b/indra/newview/skins/default/xui/en/floater_model_wizard.xml
@@ -108,7 +108,7 @@
height="22"
top_pad="15"
width="505"
- name="header_panel"
+ name="choose_file_header_panel"
bg_opaque_color="DkGray2"
background_visible="true"
background_opaque="true"
@@ -117,7 +117,7 @@
width="200"
left="10"
top="3"
- name="header_text"
+ name="choose_file_header_text"
text_color="White"
height="10"
font="SansSerifBig"
@@ -130,7 +130,7 @@
left="15"
height="310"
width="505"
- name="content"
+ name="choose_file_content"
bg_opaque_color="DkGray2"
background_visible="true"
background_opaque="true">
@@ -287,7 +287,7 @@
<panel
height="22"
top_pad="15"
- name="header_panel"
+ name="optimize_header_panel"
width="505"
bg_opaque_color="DkGray2"
background_visible="true"
@@ -296,7 +296,7 @@
<text
width="200"
left="10"
- name="header_text"
+ name="optimize_header_text"
top="3"
text_color="White"
height="10"
@@ -311,7 +311,7 @@
height="20"
font="SansSerifSmall"
layout="topleft"
- name="description"
+ name="optimize_description"
word_wrap="true"
left_delta="5">
We have optimized the model for performance. Adjust it further if you wish.
@@ -322,7 +322,7 @@
left="15"
height="270"
width="505"
- name="content"
+ name="optimize_content"
bg_opaque_color="DkGray2"
background_visible="true"
background_opaque="true">
@@ -497,7 +497,7 @@ Higher prim weight</text>
<panel
height="22"
top_pad="15"
- name="header_panel"
+ name="physics_header_panel"
width="505"
bg_opaque_color="DkGray2"
background_visible="true"
@@ -506,7 +506,7 @@ Higher prim weight</text>
<text
width="200"
left="10"
- name="header_text"
+ name="physics_header_text"
top="3"
height="10"
font="SansSerifBig"
@@ -521,7 +521,7 @@ Higher prim weight</text>
height="50"
font="SansSerifSmall"
layout="topleft"
- name="description"
+ name="physics_description"
word_wrap="true"
left_delta="5">
We will create a shape for the outer hull of the model. Adjust the shape's detail level as needed for the intended purpose of your model.
@@ -531,7 +531,7 @@ Higher prim weight</text>
left="15"
height="270"
width="505"
- name="content"
+ name="physics_content"
bg_opaque_color="DkGray2"
background_visible="true"
background_opaque="true">
@@ -635,7 +635,7 @@ Buildings</text>
<panel
height="22"
top_pad="15"
- name="header_panel"
+ name="review_header_panel"
width="505"
bg_opaque_color="DkGray2"
background_visible="true"
@@ -644,7 +644,7 @@ Buildings</text>
<text
width="200"
left="10"
- name="header_text"
+ name="review_header_text"
text_color="White"
top="3"
height="10"
@@ -658,7 +658,7 @@ Buildings</text>
left="15"
height="310"
width="505"
- name="content"
+ name="review_content"
bg_opaque_color="DkGray2"
background_visible="true"
background_opaque="true">
@@ -706,7 +706,7 @@ Buildings</text>
<panel
height="22"
top_pad="15"
- name="header_panel"
+ name="upload_header_panel"
width="505"
bg_opaque_color="DkGray2"
background_visible="true"
@@ -715,7 +715,7 @@ Buildings</text>
<text
width="200"
left="10"
- name="header_text"
+ name="upload_header_text"
top="3"
text_color="White"
height="10"
diff --git a/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml b/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml
index 2ae2795cb5..6f14315ead 100644
--- a/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml
+++ b/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml
@@ -62,7 +62,7 @@
left_delta="93"
top="11"
max_length_bytes="10"
- name="estate"
+ name="filter_by_name"
width="115" />
<text
height="13"
@@ -87,7 +87,7 @@
left_delta="131"
top="11"
max_length_bytes="10"
- name="estate"
+ name="filter_by_description"
width="115" />
<check_box
height="19"
@@ -95,7 +95,7 @@
layout="topleft"
left="591"
top="14"
- name="DisplayNavmeshOverlay"
+ name="filter_by_fixed"
width="90" />
<check_box
height="19"
@@ -103,14 +103,14 @@
layout="topleft"
left="671"
top="14"
- name="DisplayNavmeshOverlay"
+ name="filter_by_walkable"
width="90" />
<button
follows="right|top"
height="21"
label="Apply"
layout="topleft"
- name="linksets"
+ name="apply_filters"
top="11"
left="769"
width="73"/>
@@ -119,7 +119,7 @@
height="21"
label="Clear"
layout="topleft"
- name="linksets"
+ name="clear_filters"
top="11"
left="851"
width="73"/>
@@ -246,14 +246,14 @@
height="19"
label="Fixed"
layout="topleft"
- name="DisplayNavmeshOverlay"
+ name="edit_fixed_value"
top_pad="10"
width="90" />
<check_box
height="19"
label="Walkable"
layout="topleft"
- name="DisplayNavmeshOverlay"
+ name="edit_walkable_value"
top_pad="5"
left="38"
width="90" />
@@ -263,6 +263,8 @@
use_ellipses="false"
type="string"
text_color="LabelTextColor"
+ text_readonly_color="LabelDisabledColor"
+ name="walkability_coefficients_label"
length="1"
follows="left|top"
layout="topleft"
@@ -277,6 +279,8 @@
use_ellipses="false"
type="string"
text_color="LabelTextColor"
+ text_readonly_color="LabelDisabledColor"
+ name="edit_a_label"
length="1"
follows="left|top"
layout="topleft"
@@ -291,8 +295,8 @@
height="20"
layout="topleft"
left_delta="14"
- max_length_bytes="10"
- name="estate"
+ max_length_chars="3"
+ name="edit_a_value"
width="45" />
<text
height="13"
@@ -300,6 +304,8 @@
use_ellipses="false"
type="string"
text_color="LabelTextColor"
+ text_readonly_color="LabelDisabledColor"
+ name="edit_b_label"
length="1"
follows="left|top"
layout="topleft"
@@ -315,8 +321,8 @@
height="20"
layout="topleft"
left_delta="14"
- max_length_bytes="10"
- name="estate"
+ max_length_chars="3"
+ name="edit_b_value"
width="45" />
<text
height="13"
@@ -324,6 +330,8 @@
use_ellipses="false"
type="string"
text_color="LabelTextColor"
+ text_readonly_color="LabelDisabledColor"
+ name="edit_c_label"
length="1"
follows="left|top"
layout="topleft"
@@ -339,8 +347,8 @@
height="20"
layout="topleft"
left_delta="14"
- max_length_bytes="10"
- name="estate"
+ max_length_chars="3"
+ name="edit_c_value"
width="45" />
<text
height="13"
@@ -348,6 +356,8 @@
use_ellipses="false"
type="string"
text_color="LabelTextColor"
+ text_readonly_color="LabelDisabledColor"
+ name="edit_d_label"
length="1"
follows="left|top"
layout="topleft"
@@ -363,14 +373,14 @@
height="20"
layout="topleft"
left_delta="14"
- max_length_bytes="10"
- name="estate"
+ max_length_chars="3"
+ name="edit_d_value"
width="45" />
<check_box
height="19"
label="Phantom"
layout="topleft"
- name="DisplayNavmeshOverlay"
+ name="edit_phantom_value"
top="271"
left="559"
width="90" />
@@ -379,7 +389,7 @@
height="21"
label="Apply changes"
layout="topleft"
- name="linksets"
+ name="apply_edit_values"
top="270"
left="735"
width="134"/>
diff --git a/indra/newview/skins/default/xui/es/floater_about.xml b/indra/newview/skins/default/xui/es/floater_about.xml
index b7c9cc27ac..307b61133f 100644
--- a/indra/newview/skins/default/xui/es/floater_about.xml
+++ b/indra/newview/skins/default/xui/es/floater_about.xml
@@ -67,32 +67,34 @@ Versión del servidor de voz: [VOICE_VERSION]
<panel label="Licencias" name="licenses_panel">
<text_editor name="credits_editor">
3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
-APR Copyright (C) 2000-2004 The Apache Software Foundation
-Collada DOM Copyright 2005 Sony Computer Entertainment Inc.
-cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
-DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
-expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
-FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
-GL Copyright (C) 1999-2004 Brian Paul.
-GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University y David Luebke, Brenden Schubert, University of Virginia.
-google-perftools Copyright (c) 2005, Google Inc.
-Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
-jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
-jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
-ogg/vorbis Copyright (C) 2001, Xiphophorus
-OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
-PCRE Copyright (c) 1997-2008 University of Cambridge
-SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
-SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
-xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
-zlib Copyright (C) 1995-2002 Jean-loup Gailly y Mark Adler.
-google-perftools Copyright (c) 2005, Google Inc.
+ APR Copyright (C) 2000-2004 The Apache Software Foundation
+ Collada DOM Copyright 2005 Sony Computer Entertainment Inc.
+ cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
+ DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
+ expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
+ FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
+ GL Copyright (C) 1999-2004 Brian Paul.
+ GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University and David Luebke, Brenden Schubert, University of Virginia.
+ google-perftools Copyright (c) 2005, Google Inc.
+ Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
+ jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
+ jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
+ ogg/vorbis Copyright (C) 2001, Xiphophorus
+ OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
+ PCRE Copyright (c) 1997-2008 University of Cambridge
+ SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
+ SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
+ zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler.
+ google-perftools Copyright (c) 2005, Google Inc.
-El visor de Second Life utiliza Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (y los propietarios de las licencias). Reservados todos los derechos. Consulta www.havok.com si deseas obtener más información.
+ El visor de Second Life usa Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (y sus licenciadores). Reservados todos los derechos. Vea los detalles en www.havok.com.
-Reservados todos los derechos. Consulta las licencias en .txt si deseas obtener más información.
+ Este software contiene código fuente suministrado por NVIDIA Corporation.
-Codificación de sonido del chat de voz: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
+ Reservados todos los derechos. Consulte los detalles en licenses.txt.
+
+ Codificación del audio del chat de voz: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
</text_editor>
</panel>
</tab_container>
diff --git a/indra/newview/skins/default/xui/es/floater_about_land.xml b/indra/newview/skins/default/xui/es/floater_about_land.xml
index b6391e28a0..6b8a1ff906 100644
--- a/indra/newview/skins/default/xui/es/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/es/floater_about_land.xml
@@ -130,7 +130,7 @@ Vaya al menú Mundo &gt; Acerca del terreno o seleccione otra parcela para ver s
Tráfico:
</text>
<text name="DwellText">
- 0
+ Cargando...
</text>
<button label="Comprar terreno" left="130" name="Buy Land..." width="125"/>
<button label="Venta Linden" name="Linden Sale..." tool_tip="El terreno debe estar en propiedad, con contenido, y no estar en subasta."/>
@@ -309,13 +309,15 @@ Sólo las parcelas más grandes pueden listarse en la búsqueda.
Sin &apos;empujones&apos; (prevalece lo marcado en la región)
</panel.string>
<panel.string name="see_avs_text">
- Ver a los residentes de esta parcela y chatear con ellos
+ Los avatares de otras parcelas pueden ver
</panel.string>
<text name="allow_label">
Permitir a otros Residentes:
</text>
- <check_box label="Editar el terreno" name="edit land check" tool_tip="Si se marca, cualquiera podrá modificar su terreno. Mejor dejarlo desmarcado, pues usted siempre puede modificar su terreno."/>
- <check_box label="Volar" name="check fly" tool_tip="Si se marca, los residentes podrán volar en su terreno. Si no, sólo podrán volar al cruzarlo o hasta que aterricen en él."/>
+ <text name="allow_label0">
+ Volar:
+ </text>
+ <check_box label="Todos" name="check fly" tool_tip="Si se marca, los residentes podrán volar en su terreno. Si no, sólo podrán volar al cruzarlo o hasta que aterricen en él."/>
<text name="allow_label2">
Crear objetos:
</text>
@@ -331,9 +333,6 @@ Sólo las parcelas más grandes pueden listarse en la búsqueda.
</text>
<check_box label="Todos los residentes" name="check other scripts"/>
<check_box label="El grupo" name="check group scripts"/>
- <text name="land_options_label">
- Opciones del terreno:
- </text>
<check_box label="Seguro (sin daño)" name="check safe" tool_tip="Si se marca, convierte el terreno en &apos;seguro&apos;, desactivando el daño en combate. Si no, se activa el daño en combate."/>
<check_box label="Sin &apos;empujones&apos;" name="PushRestrictCheck" tool_tip="Previene scripts que empujen. Marcando esta opción prevendrá que en su terreno haya comportamientos destructivos."/>
<check_box label="Mostrar el sitio en la búsqueda (30 L$/semana)" name="ShowDirectoryCheck" tool_tip="Let people see this parcel in search results"/>
@@ -374,9 +373,9 @@ Sólo las parcelas más grandes pueden listarse en la búsqueda.
</text>
<texture_picker label="" name="snapshot_ctrl" tool_tip="Pulse para elegir una imagen"/>
<text name="allow_label5">
- Permitir a los residentes de otras parcelas:
+ a los avatares de esta parcela y chatear con ellos
</text>
- <check_box label="Ver los avatares" name="SeeAvatarsCheck" tool_tip="Permite que los residentes de otras parcelas vean a los residentes de ésta y chateen con ellos, y también que tú puedas verles y chatear con ellos."/>
+ <check_box label="Ver los avatares" name="SeeAvatarsCheck" tool_tip="Permite que los avatares de otras parcelas vean a los avatares de ésta y chateen con ellos, y también que tú puedas verles y chatear con ellos."/>
<text name="landing_point">
Punto de llegada: [LANDING]
</text>
diff --git a/indra/newview/skins/default/xui/es/floater_avatar.xml b/indra/newview/skins/default/xui/es/floater_avatar.xml
index 7c87fbe01c..21d202309f 100644
--- a/indra/newview/skins/default/xui/es/floater_avatar.xml
+++ b/indra/newview/skins/default/xui/es/floater_avatar.xml
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Avatar" title="SELECTOR DE AVATAR"/>
+<floater name="Avatar" title="ELIGE UN AVATAR"/>
diff --git a/indra/newview/skins/default/xui/es/floater_camera.xml b/indra/newview/skins/default/xui/es/floater_camera.xml
index f8911f3a4a..b0704ab788 100644
--- a/indra/newview/skins/default/xui/es/floater_camera.xml
+++ b/indra/newview/skins/default/xui/es/floater_camera.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="camera_floater" title="VER">
+<floater name="camera_floater" title="CONTROLES DE LA CÁMARA">
<floater.string name="rotate_tooltip">
Girar la cámara alrededor de lo enfocado
</floater.string>
diff --git a/indra/newview/skins/default/xui/es/floater_hardware_settings.xml b/indra/newview/skins/default/xui/es/floater_hardware_settings.xml
index 0150241d9a..b96076836b 100644
--- a/indra/newview/skins/default/xui/es/floater_hardware_settings.xml
+++ b/indra/newview/skins/default/xui/es/floater_hardware_settings.xml
@@ -4,7 +4,7 @@
Filtrado:
</text>
<check_box label="Filtrado anisotrópico (más lento si se activa)" name="ani"/>
- <text name="Antialiasing:">
+ <text name="antialiasing label">
Antialiasing:
</text>
<combo_box label="Antialiasing" name="fsaa" width="94">
diff --git a/indra/newview/skins/default/xui/es/floater_model_preview.xml b/indra/newview/skins/default/xui/es/floater_model_preview.xml
index 3e77453612..ab3ba5aed7 100644
--- a/indra/newview/skins/default/xui/es/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/es/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
Error: Problema de análisis de DAE - consulta los datos en el registro.
</string>
+ <string name="status_material_mismatch">
+ Error: el material del modelo no es un subconjunto del modelo de referencia.
+ </string>
<string name="status_reading_file">
Cargando...
</string>
diff --git a/indra/newview/skins/default/xui/es/floater_model_wizard.xml b/indra/newview/skins/default/xui/es/floater_model_wizard.xml
index c4eb5e955a..e27db5a1c4 100644
--- a/indra/newview/skins/default/xui/es/floater_model_wizard.xml
+++ b/indra/newview/skins/default/xui/es/floater_model_wizard.xml
@@ -20,6 +20,9 @@
Elige el archivo de modelo que deseas subir
</text>
<button label="Buscar..." label_selected="Buscar..." name="browse"/>
+ <text name="Model types">
+ ‎Second Life admite los archivos COLLADA (.dae)
+ </text>
<text name="dimensions">
X Y Z
</text>
diff --git a/indra/newview/skins/default/xui/es/floater_moveview.xml b/indra/newview/skins/default/xui/es/floater_moveview.xml
index b29fe04848..0e7b950bd3 100644
--- a/indra/newview/skins/default/xui/es/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/es/floater_moveview.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="move_floater" title="MOVERME">
+<floater name="move_floater" title="CAMINAR / CORRER / VOLAR">
<string name="walk_forward_tooltip">
Caminar hacia adelante (cursor arriba o W)
</string>
diff --git a/indra/newview/skins/default/xui/es/floater_snapshot.xml b/indra/newview/skins/default/xui/es/floater_snapshot.xml
index eafc623ea9..23078b3a55 100644
--- a/indra/newview/skins/default/xui/es/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/es/floater_snapshot.xml
@@ -3,73 +3,63 @@
<floater.string name="unknown">
desconocido
</floater.string>
- <radio_group label="Tipo de foto" name="snapshot_type_radio">
- <radio_item label="Correo-e" name="postcard"/>
- <radio_item label="Mi inventario ([AMOUNT] L$)" name="texture"/>
- <radio_item label="Guardar en mi ordenador" name="local"/>
- </radio_group>
+ <string name="postcard_progress_str">
+ Enviando el correo electrónico
+ </string>
+ <string name="profile_progress_str">
+ Publicando
+ </string>
+ <string name="inventory_progress_str">
+ Guardando en el inventario
+ </string>
+ <string name="local_progress_str">
+ Guardando en el equipo
+ </string>
+ <string name="profile_succeeded_str">
+ Imagen subida
+ </string>
+ <string name="postcard_succeeded_str">
+ Correo electrónico enviado
+ </string>
+ <string name="inventory_succeeded_str">
+ ¡Guardado en el inventario!
+ </string>
+ <string name="local_succeeded_str">
+ ¡Guardado en el equipo!
+ </string>
+ <string name="profile_failed_str">
+ Error al subir la imagen a los comentarios de tu perfil.
+ </string>
+ <string name="postcard_failed_str">
+ Error al enviar el correo electrónico.
+ </string>
+ <string name="inventory_failed_str">
+ Error al guardar en el inventario.
+ </string>
+ <string name="local_failed_str">
+ Error al guardar en el equipo.
+ </string>
+ <button name="advanced_options_btn" tool_tip="Opciones avanzadas"/>
+ <text name="image_res_text">
+ [WIDTH] x [HEIGHT] px
+ </text>
<text name="file_size_label">
[SIZE] kB
</text>
- <button label="Actualizar la foto" name="new_snapshot_btn"/>
- <button label="Enviar" name="send_btn"/>
- <button label="Ahorro ([AMOUNT] L$)" name="upload_btn"/>
- <flyout_button label="Guardar" name="save_btn" tool_tip="Guardar la imagen en un archivo">
- <flyout_button.item label="Guardar" name="save_item"/>
- <flyout_button.item label="Guardar como..." name="saveas_item"/>
- </flyout_button>
- <button label="Más" name="more_btn" tool_tip="Opciones avanzadas"/>
- <button label="Menos" name="less_btn" tool_tip="Opciones avanzadas"/>
- <button label="Cancelar" name="discard_btn"/>
- <text name="type_label2">
- Tamaño
- </text>
- <text name="format_label">
- Formato
- </text>
- <combo_box label="Resolución" name="postcard_size_combo">
- <combo_box.item label="Ventana actual" name="CurrentWindow"/>
- <combo_box.item label="640x480" name="640x480"/>
- <combo_box.item label="800x600" name="800x600"/>
- <combo_box.item label="1024x768" name="1024x768"/>
- <combo_box.item label="Personalizado" name="Custom"/>
- </combo_box>
- <combo_box label="Resolución" name="texture_size_combo">
- <combo_box.item label="Ventana actual" name="CurrentWindow"/>
- <combo_box.item label="Pequeña (128x128)" name="Small(128x128)"/>
- <combo_box.item label="Mediana (256x256)" name="Medium(256x256)"/>
- <combo_box.item label="Grande (512x512)" name="Large(512x512)"/>
- <combo_box.item label="Personalizado" name="Custom"/>
- </combo_box>
- <combo_box label="Resolución" name="local_size_combo">
- <combo_box.item label="Ventana actual" name="CurrentWindow"/>
- <combo_box.item label="320x240" name="320x240"/>
- <combo_box.item label="640x480" name="640x480"/>
- <combo_box.item label="800x600" name="800x600"/>
- <combo_box.item label="1024x768" name="1024x768"/>
- <combo_box.item label="1280x1024" name="1280x1024"/>
- <combo_box.item label="1600x1200" name="1600x1200"/>
- <combo_box.item label="Personalizado" name="Custom"/>
- </combo_box>
- <combo_box label="Formato" name="local_format_combo">
- <combo_box.item label="PNG" name="PNG"/>
- <combo_box.item label="JPEG" name="JPEG"/>
- <combo_box.item label="BMP" name="BMP"/>
- </combo_box>
- <spinner label="Ancho" name="snapshot_width"/>
- <spinner label="Altura" name="snapshot_height"/>
- <check_box label="Mantener las proporciones" name="keep_aspect_check"/>
- <slider label="Calidad de la imagen" name="image_quality_slider"/>
- <text name="layer_type_label">
- Captura:
- </text>
- <combo_box label="Capas de imagen" name="layer_types">
- <combo_box.item label="Colores" name="Colors"/>
- <combo_box.item label="Profundidad" name="Depth"/>
- </combo_box>
- <check_box label="Interfaz" name="ui_check"/>
- <check_box label="HUDs" name="hud_check"/>
- <check_box label="Mantener abierto después de guardar" name="keep_open_check"/>
- <check_box label="Congelar la toma (pantalla completa)" name="freeze_frame_check"/>
- <check_box label="Actualizar automáticamente" name="auto_snapshot_check"/>
+ <panel name="advanced_options_panel">
+ <text name="advanced_options_label">
+ OPCIONES AVANZADAS
+ </text>
+ <text name="layer_type_label">
+ Captura:
+ </text>
+ <combo_box label="Capas de imagen" name="layer_types">
+ <combo_box.item label="Colores" name="Colors"/>
+ <combo_box.item label="Profundidad" name="Depth"/>
+ </combo_box>
+ <check_box label="Interfaz" name="ui_check"/>
+ <check_box label="HUDs" name="hud_check"/>
+ <check_box label="Congelar la toma (pantalla completa)" name="freeze_frame_check"/>
+ <check_box label="Actualizar automáticamente" name="auto_snapshot_check"/>
+ </panel>
</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_toybox.xml b/indra/newview/skins/default/xui/es/floater_toybox.xml
index b36a05a6e4..7275b0546b 100644
--- a/indra/newview/skins/default/xui/es/floater_toybox.xml
+++ b/indra/newview/skins/default/xui/es/floater_toybox.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Toybox" title="PERSONALIZAR BARRAS DE HERRAMIENTAS">
+<floater name="Toybox" title="BOTONES DE LA BARRA DE HERRAMIENTAS">
<text name="toybox label 1">
Puedes agregar o quitar botones arrastrándolos a las barras de herramientas o desde ellas.
</text>
<text name="toybox label 2">
Los botones aparecerán como se muestra o solo como iconos, según la configuración de cada barra de herramientas.
</text>
+ <button label="Quitar todas las barras de herramientas" label_selected="Quitar todas las barras de herramientas" name="btn_clear_all"/>
<button label="Restaurar valores predeterminados" label_selected="Restaurar valores predeterminados" name="btn_restore_defaults"/>
</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_translation_settings.xml b/indra/newview/skins/default/xui/es/floater_translation_settings.xml
new file mode 100644
index 0000000000..765c9a05a2
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_translation_settings.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_translation_settings" title="CONFIGURACIÓN DE LA TRADUCCIÓN DEL CHAT">
+ <string name="bing_api_key_not_verified">
+ appID de Bing no se ha confirmado. Vuelve a intentarlo.
+ </string>
+ <string name="google_api_key_not_verified">
+ La clave de API de Google no se ha confirmado. Vuelve a intentarlo.
+ </string>
+ <string name="bing_api_key_verified">
+ appID de Bing se ha confirmado.
+ </string>
+ <string name="google_api_key_verified">
+ La clave de API de Google se ha confirmado.
+ </string>
+ <check_box label="Activar la traducción automática durante el chat" name="translate_chat_checkbox"/>
+ <text name="translate_language_label">
+ Traducir el chat al:
+ </text>
+ <combo_box name="translate_language_combo">
+ <combo_box.item label="Predeterminado del sistema" name="System Default Language"/>
+ <combo_box.item label="Inglés" name="English"/>
+ <combo_box.item label="Dansk (danés)" name="Danish"/>
+ <combo_box.item label="Deutsch (alemán)" name="German"/>
+ <combo_box.item label="Español (español)" name="Spanish"/>
+ <combo_box.item label="Français (francés)" name="French"/>
+ <combo_box.item label="Italiano (italiano)" name="Italian"/>
+ <combo_box.item label="Magyar (húngaro)" name="Hungarian"/>
+ <combo_box.item label="Nederlands (neerlandés)" name="Dutch"/>
+ <combo_box.item label="Polski (polaco)" name="Polish"/>
+ <combo_box.item label="Português (portugués)" name="Portugese"/>
+ <combo_box.item label="Русский (ruso)" name="Russian"/>
+ <combo_box.item label="Türkçe (turco)" name="Turkish"/>
+ <combo_box.item label="Українська (ucraniano)" name="Ukrainian"/>
+ <combo_box.item label="中文 (正體) (Chino)" name="Chinese"/>
+ <combo_box.item label="日本語 (japonés)" name="Japanese"/>
+ <combo_box.item label="한국어 (coreano)" name="Korean"/>
+ </combo_box>
+ <text name="tip">
+ Elige el servicio de traducción:
+ </text>
+ <radio_group name="translation_service_rg">
+ <radio_item initial_value="bing" label="Bing Translator" name="bing"/>
+ <radio_item initial_value="google" label="Traductor de Google" name="google"/>
+ </radio_group>
+ <text name="bing_api_key_label">
+ [http://www.bing.com/developers/createapp.aspx AppID] de Bing:
+ </text>
+ <button label="Verificar" name="verify_bing_api_key_btn"/>
+ <text name="google_api_key_label">
+ [http://code.google.com/apis/language/translate/v2/getting_started.html#auth Clave de API] de Google:
+ </text>
+ <button label="Verificar" name="verify_google_api_key_btn"/>
+ <text name="google_links_text">
+ [http://code.google.com/apis/language/translate/v2/pricing.html Precios] | [https://code.google.com/apis/console Estadísticas]
+ </text>
+ <button label="OK" name="ok_btn"/>
+ <button label="Cancelar" name="cancel_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_voice_controls.xml b/indra/newview/skins/default/xui/es/floater_voice_controls.xml
index cefec2a7a1..eff21239be 100644
--- a/indra/newview/skins/default/xui/es/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/es/floater_voice_controls.xml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_voice_controls" title="CONTROLES DE LA VOZ">
<string name="title_nearby">
- Chat de voz
+ CONFIGURACIÓN DE VOZ
</string>
<string name="title_group">
- Multiconferencia de voz con [GROUP]
+ MULTICONFERENCIA DE VOZ CON [GROUP]
</string>
<string name="title_adhoc">
- Multiconferencia de voz
+ MULTICONFERENCIA DE VOZ
</string>
<string name="title_peer_2_peer">
- Llamada: [NAME]
+ LLAMADA A [NAME]
</string>
<string name="no_one_near">
Nadie cercano tiene activada la voz
diff --git a/indra/newview/skins/default/xui/es/menu_toolbars.xml b/indra/newview/skins/default/xui/es/menu_toolbars.xml
index f8ed1c54ca..63f3dc43bd 100644
--- a/indra/newview/skins/default/xui/es/menu_toolbars.xml
+++ b/indra/newview/skins/default/xui/es/menu_toolbars.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Toolbars Popup">
- <menu_item_call label="Elegir botones..." name="Chose Buttons"/>
+ <menu_item_call label="Quitar este botón" name="Remove button"/>
+ <menu_item_call label="Botones de la barra de herramientas..." name="Choose Buttons"/>
<menu_item_check label="Iconos y etiquetas" name="icons_with_text"/>
<menu_item_check label="Solo iconos" name="icons_only"/>
</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 f5cc2b9389..4762e3f4a4 100644
--- a/indra/newview/skins/default/xui/es/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/es/menu_viewer.xml
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu_bar name="Main Menu">
<menu label="Yo" name="Me">
- <menu_item_call label="Panel de control..." name="Manage My Account">
- <menu_item_call.on_click name="ManageMyAccount_url" parameter="WebLaunchJoinNow,http://secondlife.com/account/index.php?lang=es"/>
- </menu_item_call>
<menu_item_call label="Perfil..." name="Profile"/>
<menu_item_call label="Apariencia" name="ChangeOutfit"/>
+ <menu_item_call label="Elige un avatar..." name="Avatar Picker"/>
<menu_item_check label="Inventario..." name="Inventory"/>
- <menu_item_check label="Gestos..." name="Gestures"/>
- <menu_item_check label="Voz..." name="ShowVoice"/>
+ <menu_item_call label="Nueva ventana del inventario" name="NewInventoryWindow"/>
+ <menu_item_call label="Lugares..." name="Places"/>
+ <menu_item_call label="Destacados..." name="Picks"/>
+ <menu_item_call label="Controles de la cámara..." name="Camera Controls"/>
<menu label="Movimiento" name="Movement">
<menu_item_call label="Sentarte" name="Sit Down Here"/>
<menu_item_check label="Volar" name="Fly"/>
@@ -22,34 +22,39 @@
<menu_item_call label="Solicitar estatus de Administrador" name="Request Admin Options"/>
<menu_item_call label="Dejar el estatus de Administrador" name="Leave Admin Options"/>
<menu_item_call label="Comprar L$" name="Buy and Sell L$"/>
+ <menu_item_call label="Panel de control de la cuenta..." name="Manage My Account">
+ <menu_item_call.on_click name="ManageMyAccount_url" parameter="WebLaunchJoinNow,http://secondlife.com/account/index.php?lang=es"/>
+ </menu_item_call>
<menu_item_call label="Preferencias..." name="Preferences"/>
- <menu_item_call label="Barras de herramientas..." name="Toolbars"/>
+ <menu_item_call label="Botones de la barra de herramientas..." name="Toolbars"/>
<menu_item_call label="Ocultar todos los controles" name="Hide UI"/>
<menu_item_call label="Salir de [APP_NAME]" name="Quit"/>
</menu>
<menu label="Comunicarme" name="Communicate">
- <menu_item_call label="Mis amigos" name="My Friends"/>
- <menu_item_call label="Mis grupos" name="My Groups"/>
- <menu_item_check label="Chat" name="Nearby Chat"/>
+ <menu_item_check label="Chat..." name="Nearby Chat"/>
+ <menu_item_check label="Hablar" name="Speak"/>
+ <menu_item_check label="Configuración de voz..." name="Nearby Voice"/>
+ <menu_item_check label="Transformación de voz..." name="ShowVoice"/>
+ <menu_item_check label="Gestos..." name="Gestures"/>
+ <menu_item_call label="Amigos" name="My Friends"/>
+ <menu_item_call label="Grupos" name="My Groups"/>
<menu_item_call label="Gente cerca" name="Active Speakers"/>
- <menu_item_check label="Chat de voz" name="Nearby Voice"/>
</menu>
<menu label="Mundo" name="World">
- <menu_item_check label="Minimapa" name="Mini-Map"/>
+ <menu_item_call label="Crear un hito de este sitio" name="Create Landmark Here"/>
+ <menu_item_call label="Destinos..." name="Destinations"/>
<menu_item_check label="Mapa del mundo" name="World Map"/>
+ <menu_item_check label="Minimapa" name="Mini-Map"/>
<menu_item_check label="Buscar" name="Search"/>
+ <menu_item_call label="Teleportar a la Base" name="Teleport Home"/>
+ <menu_item_call label="Fijar mi Base aquí" name="Set Home to Here"/>
<menu_item_call label="Foto" name="Take Snapshot"/>
- <menu_item_call label="Crear un hito de este sitio" name="Create Landmark Here"/>
- <menu label="Perfil del lugar" name="Land">
- <menu_item_call label="Perfil del lugar" name="Place Profile"/>
- <menu_item_call label="Acerca del terreno" name="About Land"/>
- <menu_item_call label="Región/Estado" name="Region/Estate"/>
- </menu>
+ <menu_item_call label="Perfil del lugar" name="Place Profile"/>
+ <menu_item_call label="Acerca del terreno" name="About Land"/>
+ <menu_item_call label="Región/Estado" name="Region/Estate"/>
+ <menu_item_call label="Mis terrenos..." name="My Land"/>
<menu_item_call label="Comprar este terreno" name="Buy Land"/>
- <menu_item_call label="Mi terreno" name="My Land"/>
<menu label="Mostrar" name="LandShow">
- <menu_item_check label="Controles del movimiento" name="Movement Controls"/>
- <menu_item_check label="Controles de la cámara" name="Camera Controls"/>
<menu_item_check label="Líneas de prohibición" name="Ban Lines"/>
<menu_item_check label="Balizas" name="beacons"/>
<menu_item_check label="Límites de las parcelas" name="Property Lines"/>
@@ -58,16 +63,15 @@
<menu_item_check label="Propiedades de la parcela" name="Parcel Properties"/>
<menu_item_check label="Menú Avanzado" name="Show Advanced Menu"/>
</menu>
- <menu_item_call label="Teleportar a la Base" name="Teleport Home"/>
- <menu_item_call label="Fijar mi Base aquí" name="Set Home to Here"/>
<menu label="Sol" name="Environment Settings">
<menu_item_call label="Amanecer" name="Sunrise"/>
<menu_item_call label="Mediodía" name="Noon"/>
<menu_item_call label="Atardecer" name="Sunset"/>
<menu_item_call label="Medianoche" name="Midnight"/>
+ <menu_item_call label="Usar configuración de región" name="Use Region Settings"/>
</menu>
- <menu label="Editor de entorno" name="Enviroment Editor">
- <menu_item_call label="Configuración de entorno..." name="Enviroment Settings"/>
+ <menu label="Editor de entorno" name="Environment Editor">
+ <menu_item_call label="Configuración del entorno..." name="Environment Settings"/>
<menu label="Agua predefinida" name="Water Presets">
<menu_item_call label="Nuevo predefinido..." name="new_water_preset"/>
<menu_item_call label="Editar predefinido..." name="edit_water_preset"/>
@@ -146,6 +150,7 @@
<menu_item_call label="Rehacer" name="Redo"/>
</menu>
<menu label="Ayuda" name="Help">
+ <menu_item_call label="Cómo..." name="How To"/>
<menu_item_call label="Ayuda de [SECOND_LIFE]" name="Second Life Help"/>
<menu_item_call label="Denunciar una infracción" name="Report Abuse"/>
<menu_item_call label="Informar de un fallo" name="Report Bug"/>
@@ -199,11 +204,10 @@
<menu_item_check label="Usar Plugin Read Thread" name="Use Plugin Read Thread"/>
<menu_item_call label="Vaciar la caché de grupo" name="ClearGroupCache"/>
<menu_item_check label="Vista subjetiva suavizada" name="Mouse Smoothing"/>
+ <menu_item_call label="Recuperar las teclas" name="Release Keys"/>
<menu label="Atajos de teclado" name="Shortcuts">
<menu_item_call label="Imagen ([COST] L$)..." name="Upload Image"/>
<menu_item_check label="Buscar" name="Search"/>
- <menu_item_call label="Recuperar las teclas" name="Release Keys"/>
- <menu_item_call label="Interfaz en el tamaño predeterminado" name="Set UI Size to Default"/>
<menu_item_check label="Mostrar el menú Avanzado - acceso directo antiguo" name="Show Advanced Menu - legacy shortcut"/>
<menu_item_call label="Cerrar la ventana" name="Close Window"/>
<menu_item_call label="Cerrar todas las ventanas" name="Close All Windows"/>
@@ -272,6 +276,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="Vectores de viento" name="Wind Vectors"/>
<menu_item_check label="Complejidad del renderizado" name="rendercomplexity"/>
<menu_item_check label="Esculpir" name="Sculpt"/>
</menu>
@@ -281,7 +286,6 @@
<menu_item_check label="Luces y sombras" name="Lighting and Shadows"/>
<menu_item_check label="Sombras del sol/la luna/proyectores" name="Shadows from Sun/Moon/Projectors"/>
<menu_item_check label="SSAO y sombras suavizadas" name="SSAO and Shadow Smoothing"/>
- <menu_item_check label="Iluminación global (experimental)" name="Global Illumination"/>
<menu_item_check label="Capas alfa automáticas (deferidas)" name="Automatic Alpha Masks (deferred)"/>
<menu_item_check label="Capas alfa automáticas (no deferidas)" name="Automatic Alpha Masks (non-deferred)"/>
<menu_item_check label="Animation Textures" name="Animation Textures"/>
diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml
index 0de56f9b6d..e0a20683c5 100644
--- a/indra/newview/skins/default/xui/es/notifications.xml
+++ b/indra/newview/skins/default/xui/es/notifications.xml
@@ -1114,8 +1114,13 @@ El precio de compra del terreno no se le devolverá al propietario. Si se vende
<notification name="DisplaySetToSafe">
Las configuraciones que se muestran se han fijado en los niveles guardados, pues especificaste la opción de guardarlos.
</notification>
- <notification name="DisplaySetToRecommended">
- Las configuraciones que se muestran se han fijado en los niveles recomendados para la configuración de tu sistema.
+ <notification name="DisplaySetToRecommendedGPUChange">
+ La configuración de pantalla se ha establecido en los niveles recomendados porque tu tarjeta de gráficos ha cambiado
+de &apos;[LAST_GPU]&apos;
+a &apos;[THIS_GPU]&apos;
+ </notification>
+ <notification name="DisplaySetToRecommendedFeatureChange">
+ La configuración de pantalla se ha establecido en los niveles recomendados a causa de un cambio en el subsistema de renderizado.
</notification>
<notification name="ErrorMessage">
[ERROR_MESSAGE]
@@ -1920,7 +1925,13 @@ Dado que estos objetos tienen scripts, moverlos a tu inventario puede provocar u
<usetemplate ignoretext="Confirmar antes de salir" name="okcancelignore" notext="No salir" yestext="Salir"/>
</notification>
<notification name="ConfirmRestoreToybox">
- ¿Estás seguro de que quieres restaurar los botones y barras de herramientas predeterminados?
+ Esta acción restaurará los botones y barras de herramientas predeterminados.
+
+Esta acción no se puede deshacer.
+ <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
+ </notification>
+ <notification name="ConfirmClearAllToybox">
+ Esta acción volverá a colocar todos los botones a la caja de herramientas y las barras de herramientas aparecerán vacías.
Esta acción no se puede deshacer.
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
@@ -2244,14 +2255,16 @@ Por favor, selecciona un sólo objeto.
Se ha rehusado tu tarjeta de visita.
</notification>
<notification name="TeleportToLandmark">
- Puedes teleportarte a lugares como &apos;[NAME]&apos; abriendo el panel Lugares -a la derecha de tu pantalla- y seleccionando la sección Hitos.
-Pulsa en un hito para seleccionarlo, y, luego, pulsa &apos;Teleportar&apos; en la parte inferior del panel.
-(También puedes pulsar dos veces en el hito o pulsarlo con el botón derecho del ratón y elegir &apos;Teleportar&apos;.)
+ Para teleportarte a lugares como &apos;[NAME]&apos;, pulsa el botón &quot;Lugares&quot;,
+ y selecciona la pestaña Hitos en la ventana que se abre. Pulsa en un
+ hito para seleccionarlo y luego pulsa &apos;Teleportar&apos; en la parte inferior de la ventana.
+ (También puedes pulsar dos veces en el hito o pulsarlo con el botón derecho del ratón y
+ elegir &apos;Teleportar&apos;.)
</notification>
<notification name="TeleportToPerson">
- Puedes contactar con un Residente como &apos;[NAME]&apos; abriendo el panel Gente en el lado derecho de tu pantalla.
-Elige al Residente de la lista y pulsa &apos;MI&apos; en la parte inferior del panel.
-(También puedes pulsar dos veces en su nombre o pulsarlo con el botón derecho y elegir &apos;MI&apos;).
+ Para ponerte en contacto con Residentes como &apos;[NAME]&apos;, pulsa el botón &quot;Gente&quot;, selecciona un Residente en la ventana que se abre y después pulsa en &apos;MI&apos; en
+ la parte inferior de la ventana.
+ (También puedes pulsar dos veces en su nombre o pulsarlo con el botón derecho y elegir &apos;MI&apos;).
</notification>
<notification name="CantSelectLandFromMultipleRegions">
No puedes seleccionar un terreno que cruce las fronteras entre servidores.
@@ -2272,6 +2285,9 @@ Inténtalo seleccionando un trozo más pequeño de terreno.
<notification name="PaymentSent">
[MESSAGE]
</notification>
+ <notification name="PaymentFailure">
+ [MESSAGE]
+ </notification>
<notification name="EventNotification">
Notificación de un evento:
@@ -2526,10 +2542,10 @@ Por favor, vuelve a intentarlo en unos momentos.
</form>
</notification>
<notification name="FriendshipAccepted">
- &lt;nolink&gt;[NAME]&lt;/nolink&gt; ha aceptado tu oferta de amistad.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; ha aceptado tu ofrecimiento de amistad.
</notification>
<notification name="FriendshipDeclined">
- &lt;nolink&gt;[NAME]&lt;/nolink&gt; ha rehusado tu oferta de amistad.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; ha rechazado tu ofrecimiento de amistad.
</notification>
<notification name="FriendshipAcceptedByMe">
Aceptado el ofrecimiento de amistad.
diff --git a/indra/newview/skins/default/xui/es/panel_edit_skin.xml b/indra/newview/skins/default/xui/es/panel_edit_skin.xml
index 501ecfb4de..8d895a6152 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_skin.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="edit_skin_panel">
<panel name="avatar_skin_color_panel">
- <texture_picker label="Tatuajes de la cabeza" name="Head Tattoos" tool_tip="Pulsa para elegir una imagen"/>
- <texture_picker label="Tatuajes superiores" name="Upper Tattoos" tool_tip="Pulsa para elegir una imagen"/>
- <texture_picker label="Tatuajes inferiores" name="Lower Tattoos" tool_tip="Pulsa para elegir una imagen"/>
+ <texture_picker label="Cabeza" name="Head" tool_tip="Pulsa para elegir una imagen"/>
+ <texture_picker label="Parte superior del cuerpo" name="Upper Body" tool_tip="Pulsa para elegir una imagen"/>
+ <texture_picker label="Parte inferior del cuerpo" name="Lower Body" tool_tip="Pulsa para elegir una imagen"/>
</panel>
<panel name="accordion_panel">
<accordion name="wearable_accordion">
diff --git a/indra/newview/skins/default/xui/es/panel_nearby_chat.xml b/indra/newview/skins/default/xui/es/panel_nearby_chat.xml
index 5a852a6711..4220ab3c9f 100644
--- a/indra/newview/skins/default/xui/es/panel_nearby_chat.xml
+++ b/indra/newview/skins/default/xui/es/panel_nearby_chat.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="nearby_chat">
- <check_box label="Traducir chat" name="translate_chat_checkbox"/>
+ <check_box label="Traducir el chat" name="translate_chat_checkbox"/>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_postcard_message.xml b/indra/newview/skins/default/xui/es/panel_postcard_message.xml
new file mode 100644
index 0000000000..7316d91f5c
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_postcard_message.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_message">
+ <text name="to_label">
+ Hasta:
+ </text>
+ <text name="name_label">
+ Desde:
+ </text>
+ <text name="subject_label">
+ Asunto:
+ </text>
+ <line_editor label="Escribe aquí el asunto." name="subject_form"/>
+ <text name="msg_label">
+ Mensaje:
+ </text>
+ <text_editor name="msg_form">
+ Escribe aquí tu mensaje.
+ </text_editor>
+ <button label="Cancelar" name="cancel_btn"/>
+ <button label="Enviar" name="send_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_postcard_settings.xml b/indra/newview/skins/default/xui/es/panel_postcard_settings.xml
new file mode 100644
index 0000000000..3931319447
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_postcard_settings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_settings">
+ <combo_box label="Resolución" name="postcard_size_combo">
+ <combo_box.item label="Ventana actual" name="CurrentWindow"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="Personalizado" name="Custom"/>
+ </combo_box>
+ <layout_stack name="postcard_image_params_ls">
+ <layout_panel name="postcard_image_size_lp">
+ <spinner label="Ancho" name="postcard_snapshot_width"/>
+ <spinner label="Altura" name="postcard_snapshot_height"/>
+ <check_box label="Mantener las proporciones" name="postcard_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="postcard_image_format_quality_lp">
+ <slider label="Calidad de la imagen" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_preferences_chat.xml b/indra/newview/skins/default/xui/es/panel_preferences_chat.xml
index e822585566..aea9b9ce4a 100644
--- a/indra/newview/skins/default/xui/es/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/es/panel_preferences_chat.xml
@@ -29,30 +29,5 @@
<check_box label="Chats de MI" name="EnableIMChatPopups" tool_tip="Activa esta casilla para ver una ventana emergente cada vez que recibas un mensaje instantáneo"/>
<spinner label="Duración de los interlocutores favoritos:" name="nearby_toasts_lifetime"/>
<spinner label="Tiempo de los otros interlocutores:" name="nearby_toasts_fadingtime"/>
- <check_box name="translate_chat_checkbox"/>
- <text name="translate_chb_label">
- Usar en el chat el traductor automático
- </text>
- <text name="translate_language_text">
- Traducir el chat al:
- </text>
- <combo_box name="translate_language_combobox">
- <combo_box.item label="Predeterminado del sistema" name="System Default Language"/>
- <combo_box.item label="English (inglés)" name="English"/>
- <combo_box.item label="Dansk (danés)" name="Danish"/>
- <combo_box.item label="Deutsch (alemán)" name="German"/>
- <combo_box.item label="Español" name="Spanish"/>
- <combo_box.item label="Français (francés)" name="French"/>
- <combo_box.item label="Italiano (italiano)" name="Italian"/>
- <combo_box.item label="Magyar (húngaro)" name="Hungarian"/>
- <combo_box.item label="Nederlands (neerlandés)" name="Dutch"/>
- <combo_box.item label="Polski (polaco)" name="Polish"/>
- <combo_box.item label="Português (portugués)" name="Portugese"/>
- <combo_box.item label="Русский (ruso)" name="Russian"/>
- <combo_box.item label="Türkçe (turco)" name="Turkish"/>
- <combo_box.item label="Українська (ucraniano)" name="Ukrainian"/>
- <combo_box.item label="中文 (正體) (Chino)" name="Chinese"/>
- <combo_box.item label="日本語 (japonés)" name="Japanese"/>
- <combo_box.item label="한국어 (coreano)" name="Korean"/>
- </combo_box>
+ <button label="Configuración de la traducción del chat" name="ok_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_preferences_setup.xml b/indra/newview/skins/default/xui/es/panel_preferences_setup.xml
index 3de18654b5..81a29dae5a 100644
--- a/indra/newview/skins/default/xui/es/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/es/panel_preferences_setup.xml
@@ -15,7 +15,7 @@
Web:
</text>
<radio_group name="use_external_browser">
- <radio_item label="Usar mi navegador (IE, Firefox, Safari)" name="external" tool_tip="Usa tu navegador por defecto para ayuda, enlaces web, etc. No es aconsejable si estás a pantalla completa." value="1"/>
+ <radio_item label="Usar mi navegador (IE, Firefox, Safari)" name="external" tool_tip="Usa tu navegador por defecto para ayuda, enlaces web, etc. No es aconsejable si estás a pantalla completa." value="true"/>
<radio_item label="Usar el navegador incorporado" name="internal" tool_tip="Usa el navegador incorporado para ayuda, enlaces web, etc. Este navegador se abre en una nueva ventana dentro de [APP_NAME]." value=""/>
</radio_group>
<check_box initial_value="true" label="Activar plugins" name="browser_plugins_enabled"/>
diff --git a/indra/newview/skins/default/xui/es/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/es/panel_snapshot_inventory.xml
new file mode 100644
index 0000000000..12c74b5cd1
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_snapshot_inventory.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_inventory">
+ <text name="title">
+ Guardar en mi inventario
+ </text>
+ <text name="hint_lbl">
+ Guardar una imagen en el inventario cuesta [UPLOAD_COST] L$. Para guardar una imagen como una textura, selecciona uno de los formatos cuadrados.
+ </text>
+ <combo_box label="Resolución" name="texture_size_combo">
+ <combo_box.item label="Ventana actual" name="CurrentWindow"/>
+ <combo_box.item label="Pequeña (128x128)" name="Small(128x128)"/>
+ <combo_box.item label="Mediana (256x256)" name="Medium(256x256)"/>
+ <combo_box.item label="Grande (512x512)" name="Large(512x512)"/>
+ <combo_box.item label="Personalizado" name="Custom"/>
+ </combo_box>
+ <spinner label="Ancho" name="inventory_snapshot_width"/>
+ <spinner label="Altura" name="inventory_snapshot_height"/>
+ <check_box label="Mantener las proporciones" name="inventory_keep_aspect_check"/>
+ <button label="Cancelar" name="cancel_btn"/>
+ <button label="Guardar" name="save_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_snapshot_local.xml b/indra/newview/skins/default/xui/es/panel_snapshot_local.xml
new file mode 100644
index 0000000000..08c45d2e76
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_snapshot_local.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_local">
+ <text name="title">
+ Guardar en mi ordenador
+ </text>
+ <combo_box label="Resolución" name="local_size_combo">
+ <combo_box.item label="Ventana actual" name="CurrentWindow"/>
+ <combo_box.item label="320x240" name="320x240"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="1280x1024" name="1280x1024"/>
+ <combo_box.item label="1600x1200" name="1600x1200"/>
+ <combo_box.item label="Personalizado" name="Custom"/>
+ </combo_box>
+ <layout_stack name="local_image_params_ls">
+ <layout_panel name="local_image_size_lp">
+ <spinner label="Ancho" name="local_snapshot_width"/>
+ <spinner label="Altura" name="local_snapshot_height"/>
+ <check_box label="Mantener las proporciones" name="local_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="local_image_format_quality_lp">
+ <combo_box label="Formato" name="local_format_combo">
+ <combo_box.item label="PNG (sin pérdida)" name="PNG"/>
+ <combo_box.item label="JPEG" name="JPEG"/>
+ <combo_box.item label="BMP (sin pérdida)" name="BMP"/>
+ </combo_box>
+ <slider label="Calidad de la imagen" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+ <button label="Cancelar" name="cancel_btn"/>
+ <flyout_button label="Guardar" name="save_btn" tool_tip="Guardar la imagen en un archivo">
+ <flyout_button.item label="Guardar" name="save_item"/>
+ <flyout_button.item label="Guardar como..." name="saveas_item"/>
+ </flyout_button>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_snapshot_options.xml b/indra/newview/skins/default/xui/es/panel_snapshot_options.xml
new file mode 100644
index 0000000000..2b2584f66c
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_snapshot_options.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_options">
+ <button label="Publicar en los comentarios de Mi perfil" name="save_to_profile_btn"/>
+ <button label="Correo-e" name="save_to_email_btn"/>
+ <button label="Guardar en Mi inventario ([AMOUNT] L$)" name="save_to_inventory_btn"/>
+ <button label="Guardar en mi ordenador" name="save_to_computer_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_snapshot_postcard.xml b/indra/newview/skins/default/xui/es/panel_snapshot_postcard.xml
new file mode 100644
index 0000000000..649d547ba0
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_snapshot_postcard.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_postcard">
+ <string name="default_subject">
+ Postal desde [SECOND_LIFE].
+ </string>
+ <string name="default_message">
+ ¡Mira esto!
+ </string>
+ <string name="upload_message">
+ Enviando...
+ </string>
+ <text name="title">
+ Correo-e
+ </text>
+ <button label="Mensaje" name="message_btn"/>
+ <button label="Ajustes" name="settings_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_snapshot_profile.xml b/indra/newview/skins/default/xui/es/panel_snapshot_profile.xml
new file mode 100644
index 0000000000..6a0bc22d68
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_snapshot_profile.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_profile">
+ <text name="title">
+ Publicar en los comentarios de Mi perfil
+ </text>
+ <combo_box label="Resolución" name="profile_size_combo">
+ <combo_box.item label="Ventana actual" name="CurrentWindow"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="Personalizado" name="Custom"/>
+ </combo_box>
+ <layout_stack name="profile_image_params_ls">
+ <layout_panel name="profile_image_size_lp">
+ <spinner label="Ancho" name="profile_snapshot_width"/>
+ <spinner label="Altura" name="profile_snapshot_height"/>
+ <check_box label="Mantener las proporciones" name="profile_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="profile_image_metadata_lp">
+ <text name="caption_label">
+ Título:
+ </text>
+ <check_box initial_value="true" label="Incluir ubicación" name="add_location_cb"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="Cancelar" name="cancel_btn"/>
+ <button label="Publicar" name="post_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml
index e3ea4baa6c..2a6f32f84f 100644
--- a/indra/newview/skins/default/xui/es/strings.xml
+++ b/indra/newview/skins/default/xui/es/strings.xml
@@ -1199,7 +1199,7 @@ Intenta iniciar sesión de nuevo en unos instantes.
No tienes en tu inventario una copia de esta textura
</string>
<string name="InventoryInboxNoItems">
- Aquí se entregarán los objetos comprados en el mercado.
+ Cuando compres un objeto o lo recibas por otra vía, aparecerá aquí, para que puedas arrastrarlo a una carpeta de tu inventario o eliminarlo si no deseas conservarlo.
</string>
<string name="MarketplaceURL">
http://marketplace.[DOMAIN_NAME]
@@ -1391,6 +1391,9 @@ Intenta iniciar sesión de nuevo en unos instantes.
<string name="no_attachments">
No tienes puestos anexos
</string>
+ <string name="Attachments remain">
+ Anexos (quedan [COUNT] ranuras)
+ </string>
<string name="Buy">
Comprar
</string>
@@ -1517,6 +1520,12 @@ Intenta iniciar sesión de nuevo en unos instantes.
<string name="Right Pec">
Pecho derecho
</string>
+ <string name="Neck">
+ Cuello
+ </string>
+ <string name="Avatar Center">
+ Centro del avatar
+ </string>
<string name="Invalid Attachment">
Punto de colocación no válido
</string>
@@ -3943,6 +3952,18 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="you_paid_ldollars_no_name">
Has pagado [AMOUNT] L$ por [REASON].
</string>
+ <string name="you_paid_failure_ldollars">
+ No has pagado a [NAME] [AMOUNT] L$ [REASON].
+ </string>
+ <string name="you_paid_failure_ldollars_no_info">
+ No has pagado [AMOUNT] L$.
+ </string>
+ <string name="you_paid_failure_ldollars_no_reason">
+ No has pagado a [NAME] [AMOUNT] L$.
+ </string>
+ <string name="you_paid_failure_ldollars_no_name">
+ No has pagado [AMOUNT] L$ [REASON].
+ </string>
<string name="for item">
para [ITEM]
</string>
@@ -4353,6 +4374,12 @@ Inténtalo incluyendo la ruta de acceso al editor entre comillas
<string name="ExternalEditorFailedToRun">
Error al ejecutar el editor externo.
</string>
+ <string name="TranslationFailed">
+ Error al traducir: [REASON]
+ </string>
+ <string name="TranslationResponseParseError">
+ Error al analizar la respuesta de la traducción.
+ </string>
<string name="Esc">
Esc
</string>
@@ -4723,7 +4750,7 @@ Inténtalo incluyendo la ruta de acceso al editor entre comillas
Minimapa
</string>
<string name="Command_Move_Label">
- Moverme
+ Caminar / Correr / Volar
</string>
<string name="Command_People_Label">
Gente
@@ -4750,10 +4777,10 @@ Inténtalo incluyendo la ruta de acceso al editor entre comillas
Hablar
</string>
<string name="Command_View_Label">
- Visión
+ Controles de la cámara
</string>
<string name="Command_Voice_Label">
- Chat de voz
+ Configuración de voz
</string>
<string name="Command_AboutLand_Tooltip">
Información sobre el terreno que vas a visitar
@@ -4825,7 +4852,16 @@ Inténtalo incluyendo la ruta de acceso al editor entre comillas
Cambiando el ángulo de la cámara
</string>
<string name="Command_Voice_Tooltip">
- Personas próximas con capacidad de voz
+ Controles de volumen para las llamadas y la gente que se encuentre cerca de ti en el mundo virtual
+ </string>
+ <string name="Toolbar_Bottom_Tooltip">
+ actualmente en tu barra de herramientas inferior
+ </string>
+ <string name="Toolbar_Left_Tooltip">
+ actualmente en tu barra de herramientas izquierda
+ </string>
+ <string name="Toolbar_Right_Tooltip">
+ actualmente en tu barra de herramientas derecha
</string>
<string name="Retain%">
% retención
@@ -4851,4 +4887,19 @@ Inténtalo incluyendo la ruta de acceso al editor entre comillas
<string name="Normal">
Normal
</string>
+ <string name="snapshot_quality_very_low">
+ Muy bajo
+ </string>
+ <string name="snapshot_quality_low">
+ Bajo
+ </string>
+ <string name="snapshot_quality_medium">
+ Medio
+ </string>
+ <string name="snapshot_quality_high">
+ Alto
+ </string>
+ <string name="snapshot_quality_very_high">
+ Muy alto
+ </string>
</strings>
diff --git a/indra/newview/skins/default/xui/es/teleport_strings.xml b/indra/newview/skins/default/xui/es/teleport_strings.xml
index e785a7ac40..a23d9c43d0 100644
--- a/indra/newview/skins/default/xui/es/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/es/teleport_strings.xml
@@ -20,8 +20,8 @@ Si sigues recibiendo este mensaje, por favor, acude al [SUPPORT_SITE].
Vuelva a intentarlo en un momento.
</message>
<message name="NoHelpIslandTP">
- No puede teleportarse de vuelta a la Welcome Island (&apos;Isla de Ayuda&apos;).
-Vaya a la &apos;Welcome Island Public&apos; (&apos;Isla Pública de Ayuda&apos;) para repetir el tutorial.
+ No te puedes volver a teleportar a la isla de bienvenida.
+Para repetir el tutorial, visita la isla de bienvenida pública.
</message>
<message name="noaccess_tport">
Lo sentimos, pero no tienes acceso al destino de este teleporte.
diff --git a/indra/newview/skins/default/xui/fr/floater_about.xml b/indra/newview/skins/default/xui/fr/floater_about.xml
index 4d02513a53..4409949584 100644
--- a/indra/newview/skins/default/xui/fr/floater_about.xml
+++ b/indra/newview/skins/default/xui/fr/floater_about.xml
@@ -67,32 +67,34 @@ Version serveur vocal : [VOICE_VERSION]
<panel label="Licences" name="licenses_panel">
<text_editor name="credits_editor">
3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
-APR Copyright (C) 2000-2004 The Apache Software Foundation
-Collada DOM Copyright 2005 Sony Computer Entertainment Inc.
-cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
-DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
-expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
-FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
-GL Copyright (C) 1999-2004 Brian Paul.
-GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University et David Luebke, Brenden Schubert, University of Virginia.
-google-perftools Copyright (c) 2005, Google Inc.
-Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
-jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
-jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
-ogg/vorbis Copyright (C) 2001, Xiphophorus
-OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
-PCRE Copyright (c) 1997-2008 University of Cambridge
-SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
-SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
-xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
-zlib Copyright (C) 1995-2002 Jean-loup Gailly et Mark Adler.
-google-perftools Copyright (c) 2005, Google Inc.
+ APR Copyright (C) 2000-2004 The Apache Software Foundation
+ Collada DOM Copyright 2005 Sony Computer Entertainment Inc.
+ cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
+ DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
+ expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
+ FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
+ GL Copyright (C) 1999-2004 Brian Paul.
+ GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University et David Luebke, Brenden Schubert, University of Virginia.
+ google-perftools Copyright (c) 2005, Google Inc.
+ Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
+ jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
+ jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
+ ogg/vorbis Copyright (C) 2001, Xiphophorus
+ OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
+ PCRE Copyright (c) 1997-2008 University of Cambridge
+ SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
+ SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
+ zlib Copyright (C) 1995-2002 Jean-loup Gailly et Mark Adler.
+ google-perftools Copyright (c) 2005, Google Inc.
-Le client Second Life utilise Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (et ses concédants de licence). Tous droits réservés. Pour plus de détails, consultez le site Web www.havok.com.
+ Le client Second Life utilise Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (et ses concédants de licence). Tous droits réservés. Pour plus de détails, consultez le site Web www.havok.com.
-Tous droits réservés. Voir licenses.txt pour plus d&apos;informations.
+ Ce logiciel contient du code source fourni par NVIDIA Corporation.
-Codage audio du chat vocal : Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
+ Tous droits réservés. Voir licenses.txt pour plus d&apos;informations.
+
+ Codage audio du chat vocal : Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
</text_editor>
</panel>
</tab_container>
diff --git a/indra/newview/skins/default/xui/fr/floater_about_land.xml b/indra/newview/skins/default/xui/fr/floater_about_land.xml
index 9771c3f7fd..b554a0a892 100644
--- a/indra/newview/skins/default/xui/fr/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/fr/floater_about_land.xml
@@ -132,7 +132,7 @@
Trafic :
</text>
<text name="DwellText">
- 0
+ Chargement...
</text>
<button label="Acheter du terrain" label_selected="Acheter le terrain..." left_delta="60" name="Buy Land..." width="125"/>
<button label="Vente Linden" label_selected="Vente Linden..." name="Linden Sale..." tool_tip="Le terrain doit être la propriété d&apos;un résident, avoir un contenu défini et ne pas être aux enchères."/>
@@ -313,13 +313,15 @@ Seules les parcelles de grande taille peuvent apparaître dans la recherche.
Pas de bousculades (les règles de la région priment)
</panel.string>
<panel.string name="see_avs_text">
- Voir et chatter avec les résidents sur cette parcelle
+ Les avatars sur les autres parcelles peuvent voir
</panel.string>
<text name="allow_label">
Autoriser les autres résidents à :
</text>
- <check_box label="Modifier le terrain" name="edit land check" tool_tip="Si cette option est cochée, n&apos;importe qui peut terraformer votre terrain. Il vaut mieux ne pas cocher cette option pour toujours pouvoir modifer votre propre terrain."/>
- <check_box label="Voler" name="check fly" tool_tip="Si cette option est cochée, les résidents peuvent voler sur votre terrain. Si elle n&apos;est pas cochée, ils ne pourront voler que lorsqu&apos;ils arrivent et passent au dessus de votre terrain."/>
+ <text name="allow_label0">
+ Voler :
+ </text>
+ <check_box label="Tous" name="check fly" tool_tip="Si cette option est cochée, les résidents peuvent voler sur votre terrain. Si elle n&apos;est pas cochée, ils ne pourront voler que lorsqu&apos;ils arrivent et passent au dessus de votre terrain."/>
<text name="allow_label2">
Construire :
</text>
@@ -335,9 +337,6 @@ Seules les parcelles de grande taille peuvent apparaître dans la recherche.
</text>
<check_box label="Tous" name="check other scripts"/>
<check_box label="Groupe" name="check group scripts"/>
- <text name="land_options_label">
- Options du terrain :
- </text>
<check_box label="Sécurisé (pas de dégâts)" name="check safe" tool_tip="Si cette option est cochée, le terrain est sécurisé et il n&apos;y pas de risques de dommages causés par des combats. Si elle est décochée, des dommages causés par les combats peuvent avoir lieu."/>
<check_box label="Pas de bousculades" name="PushRestrictCheck" tool_tip="Empêche l&apos;utilisation de scripts causant des bousculades. Cette option est utile pour empêcher les comportements abusifs sur votre terrain."/>
<check_box label="Afficher le lieu dans la recherche (30 L$/semaine)" name="ShowDirectoryCheck" tool_tip="Afficher la parcelle dans les résultats de recherche"/>
@@ -378,9 +377,9 @@ Seules les parcelles de grande taille peuvent apparaître dans la recherche.
</text>
<texture_picker label="" name="snapshot_ctrl" tool_tip="Cliquez pour sélectionner une image"/>
<text name="allow_label5">
- Autoriser les résidents sur les autres parcelles à :
+ et chatter avec les avatars sur cette parcelle
</text>
- <check_box label="Voir les avatars" name="SeeAvatarsCheck" tool_tip="Permettre aux résidents présents sur d&apos;autres parcelles de voir et chatter avec les résidents présents sur cette parcelle et vous permettre de les voir et de chatter avec eux."/>
+ <check_box label="Voir les avatars" name="SeeAvatarsCheck" tool_tip="Permettre aux avatars présents sur d&apos;autres parcelles de voir et chatter avec les avatars présents sur cette parcelle et à vous de les voir et de chatter avec eux."/>
<text name="landing_point">
Lieu d&apos;arrivée : [LANDING]
</text>
diff --git a/indra/newview/skins/default/xui/fr/floater_avatar.xml b/indra/newview/skins/default/xui/fr/floater_avatar.xml
index cfbac66c0e..7cbb50a3d6 100644
--- a/indra/newview/skins/default/xui/fr/floater_avatar.xml
+++ b/indra/newview/skins/default/xui/fr/floater_avatar.xml
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Avatar" title="CHOIX D&apos;AVATAR"/>
+<floater name="Avatar" title="CHOISIR UN AVATAR"/>
diff --git a/indra/newview/skins/default/xui/fr/floater_buy_currency.xml b/indra/newview/skins/default/xui/fr/floater_buy_currency.xml
index d9e8e8821d..148a5a35d2 100644
--- a/indra/newview/skins/default/xui/fr/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/fr/floater_buy_currency.xml
@@ -22,10 +22,10 @@ le Lindex...
<text name="currency_action">
Je veux acheter
</text>
- <text name="currency_label" left="308">
+ <text left="308" name="currency_label">
L$
</text>
- <line_editor label="L$" name="currency_amt" width="65" left_pad="-85">
+ <line_editor label="L$" left_pad="-85" name="currency_amt" width="65">
1234
</line_editor>
<text name="buying_label">
@@ -47,13 +47,13 @@ le Lindex...
[AMT] L$
</text>
<text name="currency_links">
- [http://www.secondlife.com/my/account/payment_method_management.php?lang=fr-FR mode de paiement] | [http://www.secondlife.com/my/account/currency.php?lang=fr-FR devise]
+ [http://www.secondlife.com/my/account/payment_method_management.php mode de paiement] | [http://www.secondlife.com/my/account/currency.php devise]
</text>
<text name="exchange_rate_note">
Saisissez à nouveau le montant pour voir le taux de change actuel.
</text>
<text name="purchase_warning_repurchase">
- Confirmer cet achat n'achète que des L$, pas l'objet.
+ Confirmer cet achat n&apos;achète que des L$, pas l&apos;objet.
</text>
<text bottom_delta="16" name="purchase_warning_notenough">
Vous n&apos;achetez pas assez de L$. Veuillez augmenter le montant.
diff --git a/indra/newview/skins/default/xui/fr/floater_camera.xml b/indra/newview/skins/default/xui/fr/floater_camera.xml
index 77d3c2cfe4..f2b0ee8af3 100644
--- a/indra/newview/skins/default/xui/fr/floater_camera.xml
+++ b/indra/newview/skins/default/xui/fr/floater_camera.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="camera_floater" title="AFFICHER">
+<floater name="camera_floater" title="PARAMÈTRES DE LA CAMÉRA">
<floater.string name="rotate_tooltip">
Faire tourner la caméra autour du point central
</floater.string>
diff --git a/indra/newview/skins/default/xui/fr/floater_hardware_settings.xml b/indra/newview/skins/default/xui/fr/floater_hardware_settings.xml
index 8ad301823b..2bc76e0c63 100644
--- a/indra/newview/skins/default/xui/fr/floater_hardware_settings.xml
+++ b/indra/newview/skins/default/xui/fr/floater_hardware_settings.xml
@@ -4,7 +4,7 @@
Filtres :
</text>
<check_box label="Filtre anisotrope (plus lent si activé)" name="ani"/>
- <text name="Antialiasing:">
+ <text name="antialiasing label">
Anti-aliasing :
</text>
<combo_box label="Anti-aliasing" name="fsaa" width="84">
diff --git a/indra/newview/skins/default/xui/fr/floater_model_preview.xml b/indra/newview/skins/default/xui/fr/floater_model_preview.xml
index a26deb1aef..a3b50351ae 100644
--- a/indra/newview/skins/default/xui/fr/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/fr/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
Erreur : Problème d&apos;analyse de fichier .dae ; reportez-vous au journal pour plus de détails.
</string>
+ <string name="status_material_mismatch">
+ Erreur : le matériau du modèle ne correspond pas à un sous-ensemble du modèle de référence.
+ </string>
<string name="status_reading_file">
Chargement...
</string>
@@ -137,7 +140,7 @@
</panel>
<panel name="physics analysis">
<text name="method_label">
- Étape 2 : Analyse
+ Étape 2 : Analyser
</text>
<text name="analysis_method_label">
Moyen :
diff --git a/indra/newview/skins/default/xui/fr/floater_model_wizard.xml b/indra/newview/skins/default/xui/fr/floater_model_wizard.xml
index cd2eb761ec..63feb1d403 100644
--- a/indra/newview/skins/default/xui/fr/floater_model_wizard.xml
+++ b/indra/newview/skins/default/xui/fr/floater_model_wizard.xml
@@ -20,6 +20,9 @@
Choisir un fichier de modèle à charger
</text>
<button label="Parcourir..." label_selected="Parcourir..." name="browse"/>
+ <text name="Model types">
+ Second Life prend en charge les fichiers COLLADA (.dae).
+ </text>
<text name="dimensions">
X Y Z
</text>
diff --git a/indra/newview/skins/default/xui/fr/floater_moveview.xml b/indra/newview/skins/default/xui/fr/floater_moveview.xml
index 0b0ec51846..853af2afdf 100644
--- a/indra/newview/skins/default/xui/fr/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/fr/floater_moveview.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="move_floater" title="BOUGER">
+<floater name="move_floater" title="MARCHER / COURIR / VOLER">
<string name="walk_forward_tooltip">
Marcher en avant (appuyer sur la flèche vers le haut ou W)
</string>
diff --git a/indra/newview/skins/default/xui/fr/floater_snapshot.xml b/indra/newview/skins/default/xui/fr/floater_snapshot.xml
index 365ff77ff9..9244051edc 100644
--- a/indra/newview/skins/default/xui/fr/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/fr/floater_snapshot.xml
@@ -3,73 +3,63 @@
<floater.string name="unknown">
inconnu
</floater.string>
- <radio_group label="Type de photo" name="snapshot_type_radio">
- <radio_item label="E-mail" name="postcard"/>
- <radio_item label="Mon inventaire ([AMOUNT] L$)" name="texture"/>
- <radio_item label="Enregistrer sur mon ordinateur" name="local"/>
- </radio_group>
+ <string name="postcard_progress_str">
+ Envoi par e-mail
+ </string>
+ <string name="profile_progress_str">
+ Publication
+ </string>
+ <string name="inventory_progress_str">
+ Enregistrement dans l&apos;inventaire
+ </string>
+ <string name="local_progress_str">
+ Enregistrement sur l&apos;ordinateur
+ </string>
+ <string name="profile_succeeded_str">
+ Image chargée
+ </string>
+ <string name="postcard_succeeded_str">
+ Envoi par e-mail effectué !
+ </string>
+ <string name="inventory_succeeded_str">
+ Enregistrement dans l&apos;inventaire effectué !
+ </string>
+ <string name="local_succeeded_str">
+ Enregistrement sur l&apos;ordinateur effectué !
+ </string>
+ <string name="profile_failed_str">
+ Échec de chargement de l&apos;image sur le flux de votre profil.
+ </string>
+ <string name="postcard_failed_str">
+ Échec d&apos;envoi par e-mail.
+ </string>
+ <string name="inventory_failed_str">
+ Échec d&apos;enregistrement dans l&apos;inventaire.
+ </string>
+ <string name="local_failed_str">
+ Échec d&apos;enregistrement sur l&apos;ordinateur.
+ </string>
+ <button name="advanced_options_btn" tool_tip="Options avancées"/>
+ <text name="image_res_text">
+ [WIDTH] x [HEIGHT] px
+ </text>
<text name="file_size_label">
[SIZE] Ko
</text>
- <button label="Rafraîchir" name="new_snapshot_btn"/>
- <button label="Envoyer" name="send_btn"/>
- <button label="Enreg. ([AMOUNT] L$)" name="upload_btn"/>
- <flyout_button label="Enregistrer" name="save_btn" tool_tip="Enregistrer l&apos;image sous forme de fichier">
- <flyout_button.item label="Enregistrer" name="save_item"/>
- <flyout_button.item label="Enregistrer sous..." name="saveas_item"/>
- </flyout_button>
- <button label="Plus" name="more_btn" tool_tip="Options avancées"/>
- <button label="Moins" name="less_btn" tool_tip="Options avancées"/>
- <button label="Annuler" name="discard_btn"/>
- <text name="type_label2">
- Taille
- </text>
- <text name="format_label">
- Format
- </text>
- <combo_box label="Résolution" name="postcard_size_combo">
- <combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/>
- <combo_box.item label="640 x 480" name="640x480"/>
- <combo_box.item label="800 x 600" name="800x600"/>
- <combo_box.item label="1 024 x 768" name="1024x768"/>
- <combo_box.item label="Personnalisée" name="Custom"/>
- </combo_box>
- <combo_box label="Résolution" name="texture_size_combo">
- <combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/>
- <combo_box.item label="Petite (128 x 128)" name="Small(128x128)"/>
- <combo_box.item label="Moyenne (256 x 256)" name="Medium(256x256)"/>
- <combo_box.item label="Grande (512 x 512)" name="Large(512x512)"/>
- <combo_box.item label="Personnalisée" name="Custom"/>
- </combo_box>
- <combo_box label="Résolution" name="local_size_combo">
- <combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/>
- <combo_box.item label="320 x 240" name="320x240"/>
- <combo_box.item label="640 x 480" name="640x480"/>
- <combo_box.item label="800 x 600" name="800x600"/>
- <combo_box.item label="1 024 x 768" name="1024x768"/>
- <combo_box.item label="1 280 x 1 024" name="1280x1024"/>
- <combo_box.item label="1 600 x 1 200" name="1600x1200"/>
- <combo_box.item label="Personnalisée" name="Custom"/>
- </combo_box>
- <combo_box label="Format" name="local_format_combo">
- <combo_box.item label="PNG" name="PNG"/>
- <combo_box.item label="JPEG" name="JPEG"/>
- <combo_box.item label="BMP" name="BMP"/>
- </combo_box>
- <spinner label="Larg." name="snapshot_width"/>
- <spinner label="Haut." name="snapshot_height"/>
- <check_box label="Contraindre les proportions" name="keep_aspect_check"/>
- <slider label="Qualité de l&apos;image" name="image_quality_slider"/>
- <text name="layer_type_label">
- Capturer :
- </text>
- <combo_box label="Couches d&apos;images" name="layer_types">
- <combo_box.item label="Couleurs" name="Colors"/>
- <combo_box.item label="Profondeur" name="Depth"/>
- </combo_box>
- <check_box label="Interface" name="ui_check"/>
- <check_box label="HUD" name="hud_check"/>
- <check_box label="Garder ouvert après enregistrement" name="keep_open_check"/>
- <check_box label="Arrêt sur image (plein écran)" name="freeze_frame_check"/>
- <check_box label="Actualisation automatique" name="auto_snapshot_check"/>
+ <panel name="advanced_options_panel">
+ <text name="advanced_options_label">
+ OPTIONS AVANCÉES
+ </text>
+ <text name="layer_type_label">
+ Capturer :
+ </text>
+ <combo_box label="Couches d&apos;images" name="layer_types">
+ <combo_box.item label="Couleurs" name="Colors"/>
+ <combo_box.item label="Profondeur" name="Depth"/>
+ </combo_box>
+ <check_box label="Interface" name="ui_check"/>
+ <check_box label="HUD" name="hud_check"/>
+ <check_box label="Arrêt sur image (plein écran)" name="freeze_frame_check"/>
+ <check_box label="Actualisation automatique" name="auto_snapshot_check"/>
+ </panel>
</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_toybox.xml b/indra/newview/skins/default/xui/fr/floater_toybox.xml
index 33aea6bb2d..f99d3d30b5 100644
--- a/indra/newview/skins/default/xui/fr/floater_toybox.xml
+++ b/indra/newview/skins/default/xui/fr/floater_toybox.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Toybox" title="PERSONNALISER LES BARRES D&apos;OUTILS">
+<floater name="Toybox" title="BOUTONS DES BARRES D&apos;OUTILS">
<text name="toybox label 1">
Ajouter ou supprimer des boutons : les faire glisser vers ou depuis les barres d&apos;outils.
</text>
<text name="toybox label 2">
Ils s&apos;afficheront comme indiqué ou comme des icônes, selon les paramètres de barre d&apos;outils.
</text>
+ <button label="Effacer tout" label_selected="Effacer tout" name="btn_clear_all"/>
<button label="Valeurs par défaut" label_selected="Valeurs par défaut" name="btn_restore_defaults"/>
</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_translation_settings.xml b/indra/newview/skins/default/xui/fr/floater_translation_settings.xml
new file mode 100644
index 0000000000..c7582f110f
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/floater_translation_settings.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_translation_settings" title="TRADUCTION AUTOMATIQUE">
+ <string name="bing_api_key_not_verified">
+ ID d&apos;application Bing non vérifié. Veuillez réessayer.
+ </string>
+ <string name="google_api_key_not_verified">
+ Clé d&apos;API Google non vérifiée. Veuillez réessayer.
+ </string>
+ <string name="bing_api_key_verified">
+ ID d&apos;application Bing vérifié.
+ </string>
+ <string name="google_api_key_verified">
+ Clé d&apos;API Google vérifiée.
+ </string>
+ <check_box label="Activer la traduction automatique lors des chats" name="translate_chat_checkbox"/>
+ <text name="translate_language_label">
+ Traduire les chats en :
+ </text>
+ <combo_box name="translate_language_combo">
+ <combo_box.item label="Langue système par défaut" name="System Default Language"/>
+ <combo_box.item label="English (Anglais)" name="English"/>
+ <combo_box.item label="Dansk (Danois)" name="Danish"/>
+ <combo_box.item label="Deutsch (Allemand)" name="German"/>
+ <combo_box.item label="Español (Espagnol)" name="Spanish"/>
+ <combo_box.item label="Français" name="French"/>
+ <combo_box.item label="Italiano (Italien)" name="Italian"/>
+ <combo_box.item label="Magyar (Hongrois)" name="Hungarian"/>
+ <combo_box.item label="Nederlands (Néerlandais)" name="Dutch"/>
+ <combo_box.item label="Polski (Polonais)" name="Polish"/>
+ <combo_box.item label="Português (Portugais)" name="Portugese"/>
+ <combo_box.item label="Русский (Russe)" name="Russian"/>
+ <combo_box.item label="Türkçe (Turc)" name="Turkish"/>
+ <combo_box.item label="Українська (Ukrainien)" name="Ukrainian"/>
+ <combo_box.item label="中文 (正體) (Chinois)" name="Chinese"/>
+ <combo_box.item label="日本語 (Japonais)" name="Japanese"/>
+ <combo_box.item label="한국어 (Coréen)" name="Korean"/>
+ </combo_box>
+ <text name="tip">
+ Choisir le service à utiliser :
+ </text>
+ <radio_group name="translation_service_rg">
+ <radio_item initial_value="bing" label="Bing Translator" name="bing"/>
+ <radio_item initial_value="google" label="Google Translate" name="google"/>
+ </radio_group>
+ <text name="bing_api_key_label">
+ [http://www.bing.com/developers/createapp.aspx ID d&apos;application] Bing :
+ </text>
+ <button label="Vérifier" name="verify_bing_api_key_btn"/>
+ <text name="google_api_key_label">
+ [http://code.google.com/apis/language/translate/v2/getting_started.html#auth Clé d&apos;API] Google :
+ </text>
+ <button label="Vérifier" name="verify_google_api_key_btn"/>
+ <text name="google_links_text">
+ [http://code.google.com/apis/language/translate/v2/pricing.html Tarification] | [https://code.google.com/apis/console Statistiques]
+ </text>
+ <button label="OK" name="ok_btn"/>
+ <button label="Annuler" name="cancel_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_voice_controls.xml b/indra/newview/skins/default/xui/fr/floater_voice_controls.xml
index 2b2bb8bbe3..fc4de4a5a6 100644
--- a/indra/newview/skins/default/xui/fr/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/fr/floater_voice_controls.xml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_voice_controls" title="CONTROLES DE LA VOIX">
<string name="title_nearby">
- Chat près de vous
+ PARAMÈTRES VOCAUX
</string>
<string name="title_group">
- Appel de groupe avec [GROUP]
+ APPEL DE GROUPE AVEC [GROUP]
</string>
<string name="title_adhoc">
- Téléconférence
+ CONFÉRENCE
</string>
<string name="title_peer_2_peer">
- Appel avec [NAME]
+ APPEL AVEC [NAME]
</string>
<string name="no_one_near">
Il n&apos;y a personne près de vous avec le chat vocal activé
diff --git a/indra/newview/skins/default/xui/fr/menu_toolbars.xml b/indra/newview/skins/default/xui/fr/menu_toolbars.xml
index d3e9f92770..f74d206d56 100644
--- a/indra/newview/skins/default/xui/fr/menu_toolbars.xml
+++ b/indra/newview/skins/default/xui/fr/menu_toolbars.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Toolbars Popup">
- <menu_item_call label="Choisir les boutons..." name="Chose Buttons"/>
+ <menu_item_call label="Supprimer ce bouton" name="Remove button"/>
+ <menu_item_call label="Boutons des barres d&apos;outils..." name="Choose Buttons"/>
<menu_item_check label="Icônes et libellés" name="icons_with_text"/>
<menu_item_check label="Icônes uniquement" name="icons_only"/>
</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 d3b48639e0..9303815c30 100644
--- a/indra/newview/skins/default/xui/fr/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/fr/menu_viewer.xml
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu_bar name="Main Menu">
<menu label="Moi" name="Me">
- <menu_item_call label="Page d&apos;accueil..." name="Manage My Account">
- <menu_item_call.on_click name="ManageMyAccount_url" parameter="WebLaunchJoinNow,http://secondlife.com/account/index.php?lang=fr"/>
- </menu_item_call>
<menu_item_call label="Profil..." name="Profile"/>
<menu_item_call label="Apparence..." name="ChangeOutfit"/>
+ <menu_item_call label="Choisir un avatar..." name="Avatar Picker"/>
<menu_item_check label="Inventaire..." name="Inventory"/>
- <menu_item_check label="Gestes..." name="Gestures"/>
- <menu_item_check label="Chat vocal..." name="ShowVoice"/>
+ <menu_item_call label="Nouvelle fenêtre d&apos;inventaire" name="NewInventoryWindow"/>
+ <menu_item_call label="Endroits..." name="Places"/>
+ <menu_item_call label="Favoris..." name="Picks"/>
+ <menu_item_call label="Paramètres de la caméra..." name="Camera Controls"/>
<menu label="Déplacement" name="Movement">
<menu_item_call label="M&apos;asseoir" name="Sit Down Here"/>
<menu_item_check label="Voler" name="Fly"/>
@@ -22,34 +22,39 @@
<menu_item_call label="Demander le statut Admin" name="Request Admin Options"/>
<menu_item_call label="Quitter le statut Admin" name="Leave Admin Options"/>
<menu_item_call label="Acheter des L$" name="Buy and Sell L$"/>
+ <menu_item_call label="Page d&apos;accueil du compte..." name="Manage My Account">
+ <menu_item_call.on_click name="ManageMyAccount_url" parameter="WebLaunchJoinNow,http://secondlife.com/account/index.php?lang=fr"/>
+ </menu_item_call>
<menu_item_call label="Préférences..." name="Preferences"/>
- <menu_item_call label="Barres d&apos;outils..." name="Toolbars"/>
+ <menu_item_call label="Boutons des barres d&apos;outils..." name="Toolbars"/>
<menu_item_call label="Masquer tous les contrôles" name="Hide UI"/>
<menu_item_call label="Quitter [APP_NAME]" name="Quit"/>
</menu>
<menu label="Communiquer" name="Communicate">
- <menu_item_call label="Mes amis" name="My Friends"/>
- <menu_item_call label="Mes groupes" name="My Groups"/>
- <menu_item_check label="Chat près de moi" name="Nearby Chat"/>
- <menu_item_call label="Personnes près de moi" name="Active Speakers"/>
- <menu_item_check label="Chat vocal près de vous" name="Nearby Voice"/>
+ <menu_item_check label="Chat..." name="Nearby Chat"/>
+ <menu_item_check label="Parler" name="Speak"/>
+ <menu_item_check label="Paramètres vocaux..." name="Nearby Voice"/>
+ <menu_item_check label="Effet de voix..." name="ShowVoice"/>
+ <menu_item_check label="Gestes..." name="Gestures"/>
+ <menu_item_call label="Amis" name="My Friends"/>
+ <menu_item_call label="Groupes" name="My Groups"/>
+ <menu_item_call label="Personnes près de vous" name="Active Speakers"/>
</menu>
<menu label="Monde" name="World">
- <menu_item_check label="Mini-carte" name="Mini-Map"/>
+ <menu_item_call label="Créer un repère pour ce lieu" name="Create Landmark Here"/>
+ <menu_item_call label="Destinations..." name="Destinations"/>
<menu_item_check label="Carte du monde" name="World Map"/>
+ <menu_item_check label="Mini-carte" name="Mini-Map"/>
<menu_item_check label="Rechercher" name="Search"/>
+ <menu_item_call label="Me téléporter chez moi" name="Teleport Home"/>
+ <menu_item_call label="Définir le domicile ici" name="Set Home to Here"/>
<menu_item_call label="Photo" name="Take Snapshot"/>
- <menu_item_call label="Créer un repère pour ce lieu" name="Create Landmark Here"/>
- <menu label="Profil du lieu" name="Land">
- <menu_item_call label="Profil du lieu" name="Place Profile"/>
- <menu_item_call label="À propos du terrain" name="About Land"/>
- <menu_item_call label="Région/Domaine" name="Region/Estate"/>
- </menu>
+ <menu_item_call label="Profil du lieu" name="Place Profile"/>
+ <menu_item_call label="À propos du terrain" name="About Land"/>
+ <menu_item_call label="Région/Domaine" name="Region/Estate"/>
+ <menu_item_call label="Mes terrains..." name="My Land"/>
<menu_item_call label="Acheter ce terrain" name="Buy Land"/>
- <menu_item_call label="Mes terrains" name="My Land"/>
<menu label="Afficher" name="LandShow">
- <menu_item_check label="Contrôles de mouvement" name="Movement Controls"/>
- <menu_item_check label="Contrôles d’affichage" name="Camera Controls"/>
<menu_item_check label="Lignes d&apos;interdiction" name="Ban Lines"/>
<menu_item_check label="Balises" name="beacons"/>
<menu_item_check label="Limites du terrain" name="Property Lines"/>
@@ -58,16 +63,15 @@
<menu_item_check label="Propriétés de la parcelle" name="Parcel Properties"/>
<menu_item_check label="Menu Avancé" name="Show Advanced Menu"/>
</menu>
- <menu_item_call label="Me téléporter chez moi" name="Teleport Home"/>
- <menu_item_call label="Définir le domicile ici" name="Set Home to Here"/>
<menu label="Luminosité" name="Environment Settings">
<menu_item_call label="Aube" name="Sunrise"/>
<menu_item_call label="Milieu de journée" name="Noon"/>
<menu_item_call label="Coucher de soleil" name="Sunset"/>
<menu_item_call label="Minuit" name="Midnight"/>
+ <menu_item_call label="Utiliser les réglages de la région" name="Use Region Settings"/>
</menu>
- <menu label="Éditeur d&apos;environnement" name="Enviroment Editor">
- <menu_item_call label="Paramètres d&apos;environnement..." name="Enviroment Settings"/>
+ <menu label="Éditeur d&apos;environnement" name="Environment Editor">
+ <menu_item_call label="Paramètres d&apos;environnement..." name="Environment Settings"/>
<menu label="Préréglages de l&apos;eau" name="Water Presets">
<menu_item_call label="Nouveau préréglage..." name="new_water_preset"/>
<menu_item_call label="Modifier un préréglage..." name="edit_water_preset"/>
@@ -146,6 +150,7 @@
<menu_item_call label="Refaire" name="Redo"/>
</menu>
<menu label="Aide" name="Help">
+ <menu_item_call label="Aide rapide..." name="How To"/>
<menu_item_call label="Aide de [SECOND_LIFE]" name="Second Life Help"/>
<menu_item_call label="Signaler une infraction" name="Report Abuse"/>
<menu_item_call label="Signaler un bug" name="Report Bug"/>
@@ -200,11 +205,10 @@
<menu_item_check label="Utiliser le thread de lecture de plug-in" name="Use Plugin Read Thread"/>
<menu_item_call label="Effacer le cache du groupe" name="ClearGroupCache"/>
<menu_item_check label="Effet de lissage de la souris" name="Mouse Smoothing"/>
+ <menu_item_call label="Libérer les touches" name="Release Keys"/>
<menu label="Raccourcis" name="Shortcuts">
<menu_item_call label="Image ([COST] L$)..." name="Upload Image"/>
<menu_item_check label="Rechercher" name="Search"/>
- <menu_item_call label="Relâcher les touches" name="Release Keys"/>
- <menu_item_call label="Taille de l&apos;interface par défaut" name="Set UI Size to Default"/>
<menu_item_check label="Afficher le menu Avancé - raccourci existant" name="Show Advanced Menu - legacy shortcut"/>
<menu_item_call label="Fermer la fenêtre" name="Close Window"/>
<menu_item_call label="Fermer toutes les fenêtres" name="Close All Windows"/>
@@ -290,6 +294,7 @@
<menu_item_check label="Lumières" name="Lights"/>
<menu_item_check label="Squelette de collision" name="Collision Skeleton"/>
<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"/>
<menu_item_check label="Sculpture" name="Sculpt"/>
</menu>
@@ -302,7 +307,6 @@
<menu_item_check label="Éclairage et ombres" name="Lighting and Shadows"/>
<menu_item_check label="Ombres du soleil/de la lune/des projecteurs" name="Shadows from Sun/Moon/Projectors"/>
<menu_item_check label="SSAO et lissage des ombres" name="SSAO and Shadow Smoothing"/>
- <menu_item_check label="Illumination globale (expérimental)" name="Global Illumination"/>
<menu_item_check label="Débogage GL" name="Debug GL"/>
<menu_item_check label="Débogage pipeline" name="Debug Pipeline"/>
<menu_item_check label="Masques alpha automatiques (différés)" name="Automatic Alpha Masks (deferred)"/>
diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml
index be6f1f8c31..2f9bf23bc4 100644
--- a/indra/newview/skins/default/xui/fr/notifications.xml
+++ b/indra/newview/skins/default/xui/fr/notifications.xml
@@ -980,7 +980,7 @@ Proposer à [NAME] de devenir votre ami(e) ?
</form>
</notification>
<notification name="RemoveFromFriends">
- Voulez-vous supprimer &lt;nolink&gt;[NAME]&lt;/nolink&gt; de votre liste d&apos;amis ?
+ Voulez-vous supprimer &lt;nolink&gt;[NAME]&lt;/nolink&gt; de votre liste d&apos;amis ?
<usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>
</notification>
<notification name="RemoveMultipleFromFriends">
@@ -1105,8 +1105,13 @@ Céder ces [AREA] m² de terrain au groupe [GROUP_NAME] ?
<notification name="DisplaySetToSafe">
Les paramètres d&apos;affichage sont au niveau le plus sûr, comme vous l&apos;aviez indiqué.
</notification>
- <notification name="DisplaySetToRecommended">
- Vos paramètres d&apos;affichage ont été réglés avec une marge de sécurité en fonction de votre configuration système.
+ <notification name="DisplaySetToRecommendedGPUChange">
+ Les paramètres d&apos;affichage ont été modifiés selon les niveaux recommandés car votre carte graphique
+[LAST_GPU] a été remplacée
+par une carte [THIS_GPU].
+ </notification>
+ <notification name="DisplaySetToRecommendedFeatureChange">
+ Les paramètres d&apos;affichage ont été modifiés selon les niveaux recommandés en raison d&apos;un changement relatif au sous-système de rendu.
</notification>
<notification name="ErrorMessage">
[ERROR_MESSAGE]
@@ -1910,9 +1915,15 @@ Déplacer les objets de l&apos;inventaire ?
<usetemplate ignoretext="Confirmer avant de quitter" name="okcancelignore" notext="Ne pas quitter" yestext="Quitter"/>
</notification>
<notification name="ConfirmRestoreToybox">
- Etes-vous certain de vouloir restaurer vos boutons et barres d&apos;outils par défaut ?
+ Cette action rétablira vos boutons et barres d&apos;outils par défaut.
+
+Vous ne pouvez pas l&apos;annuler.
+ <usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>
+ </notification>
+ <notification name="ConfirmClearAllToybox">
+ Cette action replacera tous les boutons dans la boîte à outils de sorte que vos barres d&apos;outils seront vides.
-Vous ne pouvez pas annuler cette action.
+Vous ne pouvez pas l&apos;annuler.
<usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>
</notification>
<notification name="DeleteItems">
@@ -2236,14 +2247,16 @@ Veuillez sélectionner un seul objet.
Votre carte de visite a été refusée.
</notification>
<notification name="TeleportToLandmark">
- Vous pouvez vous téléporter vers des endroits comme [NAME] en ouvrant le panneau Lieux sur le côté droit de votre écran, puis en sélectionnant l&apos;onglet Repères.
-Cliquez sur le repère de votre choix pour le sélectionner, puis sur Téléporter en bas du panneau.
-(Vous pouvez aussi double-cliquer sur le repère ou cliquer dessus avec le bouton droit de la souris et sélectionner Téléporter.)
+ Pour vous téléporter vers un lieu tel que [NAME], cliquez sur le bouton Endroits,
+ puis sélectionnez l&apos;onglet Repères dans la fenêtre qui s&apos;ouvre. Cliquez sur n&apos;importe quel
+ repère pour le sélectionner, puis sur Téléportation en bas de la fenêtre.
+ (Vous pouvez aussi double-cliquer sur le repère ou cliquer-droit dessus et
+ choisir Téléportation).
</notification>
<notification name="TeleportToPerson">
- Vous pouvez contacter des résidents comme [NAME] en ouvrant le panneau Résidents sur le côté droit de votre écran.
-Sélectionnez le résident de votre choix dans la liste, puis cliquez sur IM en bas du panneau.
-(Vous pouvez aussi double-cliquer sur le nom du résident dans la liste ou cliquer dessus avec le bouton droit de la souris et sélectionner IM.)
+ Pour contacter un résident tel que [NAME], cliquez sur le bouton Personnes, sélectionnez le résident dans la fenêtre qui s&apos;ouvre, puis cliquez sur IM en
+ bas de la fenêtre.
+ (Vous pouvez aussi double-cliquer sur le nom du résident dans la liste ou cliquer-droit dessus et choisir IM.)
</notification>
<notification name="CantSelectLandFromMultipleRegions">
Vous ne pouvez pas sélectionner de terrain en dehors des limites du serveur.
@@ -2264,6 +2277,9 @@ Veuillez sélectionner un terrain plus petit.
<notification name="PaymentSent">
[MESSAGE]
</notification>
+ <notification name="PaymentFailure">
+ [MESSAGE]
+ </notification>
<notification name="EventNotification">
Avis d&apos;événement :
@@ -2798,7 +2814,7 @@ Voir le fichier journal pour plus de détails.
avec les résidents suivants :
[RESIDENTS] ?
- <usetemplate name="okcancelbuttons" notext="Annuler" yestext="Ok"/>
+ <usetemplate name="okcancelbuttons" notext="Annuler" yestext="OK"/>
</notification>
<notification name="ItemsShared">
Articles partagés.
@@ -2888,7 +2904,7 @@ Les résidents rejoignant l&apos;appel ultérieurement seront également
ignorés, même si vous quittez l&apos;appel.
Ignorer les autres ?
- <usetemplate ignoretext="Confirmer avant d&apos;ignorer les autres lors d&apos;un appel de groupe" name="okcancelignore" notext="Annuler" yestext="Ok"/>
+ <usetemplate ignoretext="Confirmer avant d&apos;ignorer les autres lors d&apos;un appel de groupe" name="okcancelignore" notext="Annuler" yestext="OK"/>
</notification>
<notification label="Chat" name="HintChat">
Pour participer à la conversation, saisissez du texte dans le champ de chat situé en dessous.
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_skin.xml b/indra/newview/skins/default/xui/fr/panel_edit_skin.xml
index 9640adcdf8..f5f2738319 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_skin.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="edit_skin_panel">
<panel name="avatar_skin_color_panel">
- <texture_picker label="Tatouage tête" name="Head Tattoos" tool_tip="Cliquez pour sélectionner une image" width="76"/>
- <texture_picker label="Tatouage haut" name="Upper Tattoos" tool_tip="Cliquez pour sélectionner une image" width="80"/>
- <texture_picker label="Tatouage bas" name="Lower Tattoos" tool_tip="Cliquez pour sélectionner une image"/>
+ <texture_picker label="Tête" name="Head" tool_tip="Cliquer pour sélectionner une image."/>
+ <texture_picker label="Haut du corps" name="Upper Body" tool_tip="Cliquer pour sélectionner une image."/>
+ <texture_picker label="Bas du corps" name="Lower Body" tool_tip="Cliquer pour sélectionner une image."/>
</panel>
<panel name="accordion_panel">
<accordion name="wearable_accordion">
diff --git a/indra/newview/skins/default/xui/fr/panel_nearby_chat.xml b/indra/newview/skins/default/xui/fr/panel_nearby_chat.xml
index 31cb3308e3..00bd6e81ae 100644
--- a/indra/newview/skins/default/xui/fr/panel_nearby_chat.xml
+++ b/indra/newview/skins/default/xui/fr/panel_nearby_chat.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="nearby_chat">
- <check_box label="Traduction du chat" name="translate_chat_checkbox"/>
+ <check_box label="Traduire le chat" name="translate_chat_checkbox"/>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_postcard_message.xml b/indra/newview/skins/default/xui/fr/panel_postcard_message.xml
new file mode 100644
index 0000000000..0f8397cfb4
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_postcard_message.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_message">
+ <text name="to_label">
+ À :
+ </text>
+ <text name="name_label">
+ De :
+ </text>
+ <text name="subject_label">
+ Objet :
+ </text>
+ <line_editor label="Saisir ici votre objet" name="subject_form"/>
+ <text name="msg_label">
+ Message :
+ </text>
+ <text_editor name="msg_form">
+ Saisir ici votre message
+ </text_editor>
+ <button label="Annuler" name="cancel_btn"/>
+ <button label="Envoyer" name="send_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_postcard_settings.xml b/indra/newview/skins/default/xui/fr/panel_postcard_settings.xml
new file mode 100644
index 0000000000..6f4e9c23f9
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_postcard_settings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_settings">
+ <combo_box label="Résolution" name="postcard_size_combo">
+ <combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/>
+ <combo_box.item label="640 x 480" name="640x480"/>
+ <combo_box.item label="800 x 600" name="800x600"/>
+ <combo_box.item label="1 024 x 768" name="1024x768"/>
+ <combo_box.item label="Personnalisée" name="Custom"/>
+ </combo_box>
+ <layout_stack name="postcard_image_params_ls">
+ <layout_panel name="postcard_image_size_lp">
+ <spinner label="Largeur" name="postcard_snapshot_width"/>
+ <spinner label="Hauteur" name="postcard_snapshot_height"/>
+ <check_box label="Conserver les proportions" name="postcard_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="postcard_image_format_quality_lp">
+ <slider label="Qualité de l&apos;image" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml b/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml
index fa026d8106..76ed237451 100644
--- a/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml
@@ -29,30 +29,5 @@
<check_box label="Chats IM" name="EnableIMChatPopups" tool_tip="Cocher cette case pour qu&apos;un popup s&apos;affiche à réception d&apos;un message instantané."/>
<spinner label="Durée de vie du popup Chat près de moi :" name="nearby_toasts_lifetime"/>
<spinner label="Disparition progressive du popup Chat près de moi :" name="nearby_toasts_fadingtime"/>
- <check_box name="translate_chat_checkbox"/>
- <text name="translate_chb_label">
- Utiliser la traduction automatique lors des chats
- </text>
- <text name="translate_language_text">
- Traduire le chat en :
- </text>
- <combo_box name="translate_language_combobox">
- <combo_box.item label="Choix par défaut" name="System Default Language"/>
- <combo_box.item label="English (Anglais)" name="English"/>
- <combo_box.item label="Dansk (Danois)" name="Danish"/>
- <combo_box.item label="Deutsch (Allemand)" name="German"/>
- <combo_box.item label="Español (Espagnol)" name="Spanish"/>
- <combo_box.item label="Français" name="French"/>
- <combo_box.item label="Italiano (Italien)" name="Italian"/>
- <combo_box.item label="Magyar (Hongrois)" name="Hungarian"/>
- <combo_box.item label="Nederlands (Néerlandais)" name="Dutch"/>
- <combo_box.item label="Polski (Polonais)" name="Polish"/>
- <combo_box.item label="Português (Portugais)" name="Portugese"/>
- <combo_box.item label="Русский (Russe)" name="Russian"/>
- <combo_box.item label="Türkçe (Turc)" name="Turkish"/>
- <combo_box.item label="Українська (Ukrainien)" name="Ukrainian"/>
- <combo_box.item label="中文 (正體) (Chinois)" name="Chinese"/>
- <combo_box.item label="日本語 (Japonais)" name="Japanese"/>
- <combo_box.item label="한국어 (Coréen)" name="Korean"/>
- </combo_box>
+ <button label="Traduction automatique" name="ok_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_setup.xml b/indra/newview/skins/default/xui/fr/panel_preferences_setup.xml
index 82780c27c5..83303950dc 100644
--- a/indra/newview/skins/default/xui/fr/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/fr/panel_preferences_setup.xml
@@ -15,7 +15,7 @@
Web :
</text>
<radio_group name="use_external_browser">
- <radio_item label="Utiliser mon navigateur (IE, Firefox, Safari)" name="external" tool_tip="Utiliser le navigateur web système par défaut pour l&apos;aide, les liens etc. Non recommandé en mode plein écran." value="1"/>
+ <radio_item label="Utiliser mon navigateur (IE, Firefox, Safari)" name="external" tool_tip="Utiliser le navigateur web système par défaut pour l&apos;aide, les liens etc. Non recommandé en mode plein écran." value="true"/>
<radio_item label="Utiliser le navigateur intégré" name="internal" tool_tip="Utilisez le navigateur intégré pour obtenir de l&apos;aide, ouvrir des liens, etc. Ce navigateur s&apos;ouvre dans [APP_NAME]." value=""/>
</radio_group>
<check_box initial_value="true" label="Activer les plugins" name="browser_plugins_enabled"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/fr/panel_snapshot_inventory.xml
new file mode 100644
index 0000000000..4454d2475e
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_snapshot_inventory.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_inventory">
+ <text name="title">
+ Enregistrer dans mon inventaire
+ </text>
+ <text name="hint_lbl">
+ L&apos;enregistrement d&apos;une image dans votre inventaire coûte [UPLOAD_COST] L$. Pour enregistrer votre image sous forme de texture, sélectionnez l&apos;un des formats carrés.
+ </text>
+ <combo_box label="Résolution" name="texture_size_combo">
+ <combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/>
+ <combo_box.item label="Petite (128 x 128)" name="Small(128x128)"/>
+ <combo_box.item label="Moyenne (256 x 256)" name="Medium(256x256)"/>
+ <combo_box.item label="Grande (512 x 512)" name="Large(512x512)"/>
+ <combo_box.item label="Personnalisée" name="Custom"/>
+ </combo_box>
+ <spinner label="Largeur" name="inventory_snapshot_width"/>
+ <spinner label="Hauteur" name="inventory_snapshot_height"/>
+ <check_box label="Conserver les proportions" name="inventory_keep_aspect_check"/>
+ <button label="Annuler" name="cancel_btn"/>
+ <button label="Enregistrer" name="save_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_snapshot_local.xml b/indra/newview/skins/default/xui/fr/panel_snapshot_local.xml
new file mode 100644
index 0000000000..41264521fd
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_snapshot_local.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_local">
+ <text name="title">
+ Enregistrer sur mon ordinateur
+ </text>
+ <combo_box label="Résolution" name="local_size_combo">
+ <combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/>
+ <combo_box.item label="320 x 240" name="320x240"/>
+ <combo_box.item label="640 x 480" name="640x480"/>
+ <combo_box.item label="800 x 600" name="800x600"/>
+ <combo_box.item label="1 024 x 768" name="1024x768"/>
+ <combo_box.item label="1 280 x 1 024" name="1280x1024"/>
+ <combo_box.item label="1 600 x 1 200" name="1600x1200"/>
+ <combo_box.item label="Personnalisée" name="Custom"/>
+ </combo_box>
+ <layout_stack name="local_image_params_ls">
+ <layout_panel name="local_image_size_lp">
+ <spinner label="Largeur" name="local_snapshot_width"/>
+ <spinner label="Hauteur" name="local_snapshot_height"/>
+ <check_box label="Conserver les proportions" name="local_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="local_image_format_quality_lp">
+ <combo_box label="Format" name="local_format_combo">
+ <combo_box.item label="PNG (sans perte)" name="PNG"/>
+ <combo_box.item label="JPEG" name="JPEG"/>
+ <combo_box.item label="BMP (sans perte)" name="BMP"/>
+ </combo_box>
+ <slider label="Qualité de l&apos;image" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+ <button label="Annuler" name="cancel_btn"/>
+ <flyout_button label="Enregistrer" name="save_btn" tool_tip="Enregistrer l&apos;image dans un fichier.">
+ <flyout_button.item label="Enregistrer" name="save_item"/>
+ <flyout_button.item label="Enregistrer sous..." name="saveas_item"/>
+ </flyout_button>
+</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_snapshot_options.xml b/indra/newview/skins/default/xui/fr/panel_snapshot_options.xml
new file mode 100644
index 0000000000..db3fcbeac9
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_snapshot_options.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_options">
+ <button label="Publier sur le flux de mon profil" name="save_to_profile_btn"/>
+ <button label="Envoyer par e-mail" name="save_to_email_btn"/>
+ <button label="Enregistrer dans mon inventaire ([AMOUNT] L$)" name="save_to_inventory_btn"/>
+ <button label="Enregistrer sur mon ordinateur" name="save_to_computer_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_snapshot_postcard.xml b/indra/newview/skins/default/xui/fr/panel_snapshot_postcard.xml
new file mode 100644
index 0000000000..bb23b52850
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_snapshot_postcard.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_postcard">
+ <string name="default_subject">
+ Carte postale de [SECOND_LIFE].
+ </string>
+ <string name="default_message">
+ Ouvrez-moi !
+ </string>
+ <string name="upload_message">
+ Envoi en cours...
+ </string>
+ <text name="title">
+ Envoyer par e-mail
+ </text>
+ <button label="Message" name="message_btn"/>
+ <button label="Paramètres" name="settings_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_snapshot_profile.xml b/indra/newview/skins/default/xui/fr/panel_snapshot_profile.xml
new file mode 100644
index 0000000000..427ffe2113
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_snapshot_profile.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_profile">
+ <text name="title">
+ Publier sur le flux de mon profil
+ </text>
+ <combo_box label="Résolution" name="profile_size_combo">
+ <combo_box.item label="Fenêtre actuelle" name="CurrentWindow"/>
+ <combo_box.item label="640 x 480" name="640x480"/>
+ <combo_box.item label="800 x 600" name="800x600"/>
+ <combo_box.item label="1 024 x 768" name="1024x768"/>
+ <combo_box.item label="Personnalisée" name="Custom"/>
+ </combo_box>
+ <layout_stack name="profile_image_params_ls">
+ <layout_panel name="profile_image_size_lp">
+ <spinner label="Largeur" name="profile_snapshot_width"/>
+ <spinner label="Hauteur" name="profile_snapshot_height"/>
+ <check_box label="Conserver les proportions" name="profile_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="profile_image_metadata_lp">
+ <text name="caption_label">
+ Légende :
+ </text>
+ <check_box initial_value="true" label="Inclure l&apos;endroit" name="add_location_cb"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="Annuler" name="cancel_btn"/>
+ <button label="Publier" name="post_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml
index f9f3366f63..d959a96565 100644
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -1214,7 +1214,7 @@ Veuillez réessayer de vous connecter dans une minute.
Vous n&apos;avez pas de copie de cette texture dans votre inventaire
</string>
<string name="InventoryInboxNoItems">
- Ici seront livrés les articles achetés sur la Place du marché.
+ Lorsque vous achetez ou recevez un article, il s&apos;affiche ici. Vous pouvez alors le faire glisser vers un dossier de votre inventaire ou le supprimer si vous ne souhaitez pas le conserver.
</string>
<string name="MarketplaceURL">
http://marketplace.[DOMAIN_NAME]
@@ -1412,6 +1412,9 @@ Veuillez réessayer de vous connecter dans une minute.
<string name="no_attachments">
Aucun élément attaché porté
</string>
+ <string name="Attachments remain">
+ Éléments attachés ([COUNT] emplacements restants)
+ </string>
<string name="Buy">
Acheter
</string>
@@ -1538,6 +1541,12 @@ Veuillez réessayer de vous connecter dans une minute.
<string name="Right Pec">
Pectoral droit
</string>
+ <string name="Neck">
+ Cou
+ </string>
+ <string name="Avatar Center">
+ Centre de l&apos;avatar
+ </string>
<string name="Invalid Attachment">
Point d&apos;attache non valide
</string>
@@ -4030,6 +4039,18 @@ Si ce message persiste, veuillez aller sur la page [SUPPORT_SITE].
<string name="you_paid_ldollars_no_name">
Vous avez payé à [AMOUNT] L$ [REASON].
</string>
+ <string name="you_paid_failure_ldollars">
+ Votre paiement de [AMOUNT] L$ à [NAME] [REASON] a échoué.
+ </string>
+ <string name="you_paid_failure_ldollars_no_info">
+ Votre paiement de [AMOUNT] L$ a échoué.
+ </string>
+ <string name="you_paid_failure_ldollars_no_reason">
+ Votre paiement de [AMOUNT] L$ à [NAME] a échoué.
+ </string>
+ <string name="you_paid_failure_ldollars_no_name">
+ Votre paiement de [AMOUNT] L$ [REASON] a échoué.
+ </string>
<string name="for item">
pour l&apos;article suivant : [ITEM]
</string>
@@ -4440,6 +4461,12 @@ Essayez avec le chemin d&apos;accès à l&apos;éditeur entre guillemets doubles
<string name="ExternalEditorFailedToRun">
Échec d&apos;exécution de l&apos;éditeur externe.
</string>
+ <string name="TranslationFailed">
+ Échec de traduction : [REASON]
+ </string>
+ <string name="TranslationResponseParseError">
+ Erreur lors de l&apos;analyse de la réponse relative à la traduction.
+ </string>
<string name="Esc">
Échap
</string>
@@ -4810,7 +4837,7 @@ Essayez avec le chemin d&apos;accès à l&apos;éditeur entre guillemets doubles
Mini-carte
</string>
<string name="Command_Move_Label">
- Bouger
+ Marcher / Courir / Voler
</string>
<string name="Command_People_Label">
Personnes
@@ -4837,10 +4864,10 @@ Essayez avec le chemin d&apos;accès à l&apos;éditeur entre guillemets doubles
Parler
</string>
<string name="Command_View_Label">
- Affichage
+ Paramètres de la caméra
</string>
<string name="Command_Voice_Label">
- Chat près de vous
+ Paramètres vocaux
</string>
<string name="Command_AboutLand_Tooltip">
Information sur le terrain que vous visitez
@@ -4912,7 +4939,16 @@ Essayez avec le chemin d&apos;accès à l&apos;éditeur entre guillemets doubles
Changer l&apos;angle de la caméra
</string>
<string name="Command_Voice_Tooltip">
- Personnes près de vous avec le chat vocal
+ Commandes de réglage du volume des appels et des personnes près de vous dans Second Life.
+ </string>
+ <string name="Toolbar_Bottom_Tooltip">
+ actuellement dans la barre d&apos;outils du bas
+ </string>
+ <string name="Toolbar_Left_Tooltip">
+ actuellement dans la barre d&apos;outils de gauche
+ </string>
+ <string name="Toolbar_Right_Tooltip">
+ actuellement dans la barre d&apos;outils de droite
</string>
<string name="Retain%">
Garder%
@@ -4938,4 +4974,19 @@ Essayez avec le chemin d&apos;accès à l&apos;éditeur entre guillemets doubles
<string name="Normal">
Normal
</string>
+ <string name="snapshot_quality_very_low">
+ Très faible
+ </string>
+ <string name="snapshot_quality_low">
+ Faible
+ </string>
+ <string name="snapshot_quality_medium">
+ Moyenne
+ </string>
+ <string name="snapshot_quality_high">
+ Élevée
+ </string>
+ <string name="snapshot_quality_very_high">
+ Très élevée
+ </string>
</strings>
diff --git a/indra/newview/skins/default/xui/fr/teleport_strings.xml b/indra/newview/skins/default/xui/fr/teleport_strings.xml
index 401b272c81..d0c74ff353 100644
--- a/indra/newview/skins/default/xui/fr/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/fr/teleport_strings.xml
@@ -21,8 +21,8 @@ Si vous ne parvenez toujours pas à être téléporté, déconnectez-vous puis r
Veuillez réessayer dans un moment.
</message>
<message name="NoHelpIslandTP">
- Vous ne pouvez pas retourner sur Welcome Island.
-Pour répéter le didacticiel, veuillez aller sur Welcome Island Public.
+ Vous ne pouvez pas vous téléporter à nouveau vers Welcome Island.
+Pour recommencer le didacticiel, accédez à Welcome Island Public.
</message>
<message name="noaccess_tport">
Désolé, vous n&apos;avez pas accès à cette destination.
diff --git a/indra/newview/skins/default/xui/it/floater_about.xml b/indra/newview/skins/default/xui/it/floater_about.xml
index 68d073a766..39114b7bf7 100644
--- a/indra/newview/skins/default/xui/it/floater_about.xml
+++ b/indra/newview/skins/default/xui/it/floater_about.xml
@@ -67,32 +67,34 @@ Versione Server voice: [VOICE_VERSION]
<panel label="Licenze" name="licenses_panel">
<text_editor name="credits_editor">
3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
-APR Copyright (C) 2000-2004 The Apache Software Foundation
-Collada DOM Copyright 2005 Sony Computer Entertainment Inc.
-cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
-DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
-expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
-FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
-GL Copyright (C) 1999-2004 Brian Paul.
-GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University and David Luebke, Brenden Schubert, University of Virginia.
-google-perftools Copyright (c) 2005, Google Inc.
-Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
-jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
-jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
-ogg/vorbis Copyright (C) 2001, Xiphophorus
-OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
-PCRE Copyright (c) 1997-2008 University of Cambridge
-SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
-SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
-xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
-zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler.
-google-perftools Copyright (c) 2005, Google Inc.
+ APR Copyright (C) 2000-2004 The Apache Software Foundation
+ Collada DOM Copyright 2005 Sony Computer Entertainment Inc.
+ cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
+ DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
+ expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
+ FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
+ GL Copyright (C) 1999-2004 Brian Paul.
+ GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University and David Luebke, Brenden Schubert, University of Virginia.
+ google-perftools Copyright (c) 2005, Google Inc.
+ Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
+ jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
+ jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
+ ogg/vorbis Copyright (C) 2001, Xiphophorus
+ OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
+ PCRE Copyright (c) 1997-2008 University of Cambridge
+ SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
+ SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
+ zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler.
+ google-perftools Copyright (c) 2005, Google Inc.
-Il Viewer Second Life utilizza Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (e licenziatari). Tutti i diritti riservati. Per informazioni dettagliate, vedere www.havok.com.
+ Il Viewer Second Life utilizza Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (e licenziatari). Tutti i diritti riservati. Per informazioni dettagliate, vedere www.havok.com.
-Tutti i diritti riservati. Per informazioni dettagliate, vedere licenses.txt.
+ Questo software contiene codice sorgente fornito da NVIDIA Corporation.
-Codifica audio chat vocale: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
+ Tutti i diritti riservati. Per informazioni dettagliate, vedere licenses.txt.
+
+ Codifica audio chat vocale: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
</text_editor>
</panel>
</tab_container>
diff --git a/indra/newview/skins/default/xui/it/floater_about_land.xml b/indra/newview/skins/default/xui/it/floater_about_land.xml
index b6bfb4aadf..528cf185fc 100644
--- a/indra/newview/skins/default/xui/it/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/it/floater_about_land.xml
@@ -133,7 +133,7 @@ Vai al menu Mondo &gt; Informazioni sul terreno oppure seleziona un altro appezz
Traffico:
</text>
<text name="DwellText" width="140">
- 0
+ Caricamento in corso...
</text>
<button label="Acquista il terreno..." label_selected="Acquista il terreno..." left="130" name="Buy Land..." width="125"/>
<button label="Vendita Linden" name="Linden Sale..." tool_tip="La terra deve essere di proprietà, con contenuto impostato, e non già messa all&apos;asta."/>
@@ -314,13 +314,15 @@ Solamente terreni più grandi possono essere abilitati nella ricerca.
Nessuna spinta (Impostazione regionale)
</panel.string>
<panel.string name="see_avs_text">
- Vedi i residenti in questo lotto e chatta con loro
+ Gli avatar in altri lotti possono vedere
</panel.string>
<text name="allow_label">
Permetti ad altri residenti di:
</text>
- <check_box label="Modificare il terreno" name="edit land check" tool_tip="Se spuntata, chiunque può terraformare il tuo terreno. È preferibile lasciare questa opzione non spuntata, dato che sarai comunque in grado di modificare il tuo terreno."/>
- <check_box label="Permetti il volo" name="check fly" tool_tip="Se spuntato, gli altri residenti potranno volare sul tuo terreno. Se non spuntato, potranno solamente arrivare in volo o sorvolare il terreno."/>
+ <text name="allow_label0">
+ Vola:
+ </text>
+ <check_box label="Tutti" name="check fly" tool_tip="Se spuntato, gli altri residenti potranno volare sul tuo terreno. Se non spuntato, potranno solamente arrivare in volo o sorvolare il terreno."/>
<text name="allow_label2">
Creare oggetti:
</text>
@@ -336,9 +338,6 @@ Solamente terreni più grandi possono essere abilitati nella ricerca.
</text>
<check_box label="Tutti i residenti" name="check other scripts"/>
<check_box label="Gruppo" name="check group scripts"/>
- <text name="land_options_label">
- Opzioni per il terreno:
- </text>
<check_box label="Sicuro (senza danno)" name="check safe" tool_tip="Se spuntato, imposta il terreno su &apos;sicuro&apos;, disabilitando i danni da combattimento. Se non spuntato, viene abilitato il combattimento con danni."/>
<check_box label="Nessuna spinta" name="PushRestrictCheck" tool_tip="Previeni i colpi. Selezionare questa opzione può essere utile per prevenire comportamenti dannosi sul tuo terreno."/>
<check_box label="Mostra luogo nella ricerca (30 L$/settimana)" name="ShowDirectoryCheck" tool_tip="Consenti che il lotto sia visto nei risultati di ricerca"/>
@@ -379,9 +378,9 @@ Solamente terreni più grandi possono essere abilitati nella ricerca.
</text>
<texture_picker label="" name="snapshot_ctrl" tool_tip="Clicca per scegliere una immagine"/>
<text name="allow_label5">
- Permetti ai residenti in altri lotti di:
+ e chattare con avatar in questo lotto
</text>
- <check_box label="Vedi avatar" name="SeeAvatarsCheck" tool_tip="Consente ai residenti in altri lotti di vedere i residenti in questo lotto e chattare con loro, e ti consente di vederli e chattare con loro."/>
+ <check_box label="Vedi avatar" name="SeeAvatarsCheck" tool_tip="Consente ad avatar in altri lotti di vedere e chattare con avatar in questo lotto e viceversa."/>
<text name="landing_point">
Punto di atterraggio: [LANDING]
</text>
diff --git a/indra/newview/skins/default/xui/it/floater_avatar.xml b/indra/newview/skins/default/xui/it/floater_avatar.xml
index 1587c347a5..d7445cfb2b 100644
--- a/indra/newview/skins/default/xui/it/floater_avatar.xml
+++ b/indra/newview/skins/default/xui/it/floater_avatar.xml
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Avatar" title="SCELTA AVATAR"/>
+<floater name="Avatar" title="SELEZIONA UN AVATAR"/>
diff --git a/indra/newview/skins/default/xui/it/floater_buy_currency.xml b/indra/newview/skins/default/xui/it/floater_buy_currency.xml
index d985ad2b3c..743969f557 100644
--- a/indra/newview/skins/default/xui/it/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/it/floater_buy_currency.xml
@@ -46,7 +46,7 @@
[AMT]L$
</text>
<text name="currency_links">
- [http://www.secondlife.com/my/account/payment_method_management.php payment method] | [http://www.secondlife.com/my/account/currency.php currency]
+ [http://www.secondlife.com/my/account/payment_method_management.php metodo di pagamento] | [http://www.secondlife.com/my/account/currency.php valuta]
</text>
<text name="exchange_rate_note">
Riscrivi l&apos;importo per vedere l&apos;ultimo tasso al cambio.
diff --git a/indra/newview/skins/default/xui/it/floater_camera.xml b/indra/newview/skins/default/xui/it/floater_camera.xml
index 7e6ca4307e..be03857bc9 100644
--- a/indra/newview/skins/default/xui/it/floater_camera.xml
+++ b/indra/newview/skins/default/xui/it/floater_camera.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="camera_floater" title="VISTA">
+<floater name="camera_floater" title="CONTROLLI FOTOCAMERA">
<floater.string name="rotate_tooltip">
Ruota la telecamera Intorno all&apos;Inquadratura
</floater.string>
diff --git a/indra/newview/skins/default/xui/it/floater_hardware_settings.xml b/indra/newview/skins/default/xui/it/floater_hardware_settings.xml
index 561f8dbf34..5d3ae04a4d 100644
--- a/indra/newview/skins/default/xui/it/floater_hardware_settings.xml
+++ b/indra/newview/skins/default/xui/it/floater_hardware_settings.xml
@@ -4,7 +4,7 @@
Filtraggio:
</text>
<check_box label="Filtraggio Anisotropico (rallenta se attivato)" name="ani"/>
- <text name="Antialiasing:">
+ <text name="antialiasing label">
Antialiasing:
</text>
<combo_box label="Antialiasing" name="fsaa" width="94">
diff --git a/indra/newview/skins/default/xui/it/floater_model_preview.xml b/indra/newview/skins/default/xui/it/floater_model_preview.xml
index 03102f5f81..ca36fd2def 100644
--- a/indra/newview/skins/default/xui/it/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/it/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
Errore: Errore elaborazione Dae - vedere il registro per informazioni dettagliate.
</string>
+ <string name="status_material_mismatch">
+ Errore: il materiale del modello non è un sottoinsieme del modello di riferimento.
+ </string>
<string name="status_reading_file">
Caricamento in corso...
</string>
diff --git a/indra/newview/skins/default/xui/it/floater_model_wizard.xml b/indra/newview/skins/default/xui/it/floater_model_wizard.xml
index e6d0a7c4bc..7c1b13c18f 100644
--- a/indra/newview/skins/default/xui/it/floater_model_wizard.xml
+++ b/indra/newview/skins/default/xui/it/floater_model_wizard.xml
@@ -20,6 +20,9 @@
Scegli il file del modello da caricare
</text>
<button label="Sfoglia..." label_selected="Sfoglia..." name="browse"/>
+ <text name="Model types">
+ Second Life supporta file COLLADA (.dae)
+ </text>
<text name="dimensions">
X Y Z
</text>
diff --git a/indra/newview/skins/default/xui/it/floater_moveview.xml b/indra/newview/skins/default/xui/it/floater_moveview.xml
index 6e820a335c..1237bd06a9 100644
--- a/indra/newview/skins/default/xui/it/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/it/floater_moveview.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="move_floater" title="SPOSTA">
+<floater name="move_floater" title="CAMMINA / CORRI / VOLA">
<string name="walk_forward_tooltip">
Cammina in avanti (premi freccia su o W)
</string>
diff --git a/indra/newview/skins/default/xui/it/floater_snapshot.xml b/indra/newview/skins/default/xui/it/floater_snapshot.xml
index f1c5cc4caf..bff6081bdf 100644
--- a/indra/newview/skins/default/xui/it/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/it/floater_snapshot.xml
@@ -3,73 +3,63 @@
<floater.string name="unknown">
sconosciuto
</floater.string>
- <radio_group label="Tipo di fotografia" name="snapshot_type_radio">
- <radio_item label="E-mail" name="postcard"/>
- <radio_item label="Il mio inventario (L$[AMOUNT])" name="texture"/>
- <radio_item label="Salva sul mio computer" name="local"/>
- </radio_group>
+ <string name="postcard_progress_str">
+ Invio e-mail in corso
+ </string>
+ <string name="profile_progress_str">
+ Caricamento post
+ </string>
+ <string name="inventory_progress_str">
+ Salva nell&apos;inventario
+ </string>
+ <string name="local_progress_str">
+ Salvataggio sul computer in corso
+ </string>
+ <string name="profile_succeeded_str">
+ Immagine caricata
+ </string>
+ <string name="postcard_succeeded_str">
+ E-mail inviata.
+ </string>
+ <string name="inventory_succeeded_str">
+ Salvato nell&apos;inventario.
+ </string>
+ <string name="local_succeeded_str">
+ Salvato sul computer.
+ </string>
+ <string name="profile_failed_str">
+ Caricamento immagine sul feed del profilo non riuscito.
+ </string>
+ <string name="postcard_failed_str">
+ Invio e-mail non riuscito.
+ </string>
+ <string name="inventory_failed_str">
+ Non salvato nell&apos;inventario.
+ </string>
+ <string name="local_failed_str">
+ Non salvato sul computer.
+ </string>
+ <button name="advanced_options_btn" tool_tip="Opzioni Avanzate"/>
+ <text name="image_res_text">
+ [WIDTH] x [HEIGHT] px
+ </text>
<text name="file_size_label">
[SIZE] KB
</text>
- <button label="Aggiorna la fotografia" name="new_snapshot_btn"/>
- <button label="Invia" name="send_btn"/>
- <button label="Salva ([AMOUNT] L$)" name="upload_btn"/>
- <flyout_button label="Salva" name="save_btn" tool_tip="Salva immagine come file">
- <flyout_button.item label="Salva" name="save_item"/>
- <flyout_button.item label="Salva con nome..." name="saveas_item"/>
- </flyout_button>
- <button label="Altro" name="more_btn" tool_tip="Opzioni Avanzate"/>
- <button label="Meno" name="less_btn" tool_tip="Opzioni Avanzate"/>
- <button label="Annulla" name="discard_btn"/>
- <text name="type_label2">
- Dimensioni
- </text>
- <text name="format_label">
- Formato
- </text>
- <combo_box label="Risoluzione" name="postcard_size_combo">
- <combo_box.item label="Finestra attuale" name="CurrentWindow"/>
- <combo_box.item label="640x480" name="640x480"/>
- <combo_box.item label="800x600" name="800x600"/>
- <combo_box.item label="1024x768" name="1024x768"/>
- <combo_box.item label="Personalizza" name="Custom"/>
- </combo_box>
- <combo_box label="Risoluzione" name="texture_size_combo">
- <combo_box.item label="Finestra attuale" name="CurrentWindow"/>
- <combo_box.item label="Piccola (128x128)" name="Small(128x128)"/>
- <combo_box.item label="Media (256x256)" name="Medium(256x256)"/>
- <combo_box.item label="Grande (512x512)" name="Large(512x512)"/>
- <combo_box.item label="Personalizza" name="Custom"/>
- </combo_box>
- <combo_box label="Risoluzione" name="local_size_combo">
- <combo_box.item label="Finestra attuale" name="CurrentWindow"/>
- <combo_box.item label="320x240" name="320x240"/>
- <combo_box.item label="640x480" name="640x480"/>
- <combo_box.item label="800x600" name="800x600"/>
- <combo_box.item label="1024x768" name="1024x768"/>
- <combo_box.item label="1280x1024" name="1280x1024"/>
- <combo_box.item label="1600x1200" name="1600x1200"/>
- <combo_box.item label="Personalizza" name="Custom"/>
- </combo_box>
- <combo_box label="Formato" name="local_format_combo">
- <combo_box.item label="PNG" name="PNG"/>
- <combo_box.item label="JPEG" name="JPEG"/>
- <combo_box.item label="BMP" name="BMP"/>
- </combo_box>
- <spinner label="Larghezza" name="snapshot_width"/>
- <spinner label="Altezza" name="snapshot_height"/>
- <check_box label="Mantieni le proporzioni" name="keep_aspect_check"/>
- <slider label="Qualità dell&apos;immagine" name="image_quality_slider"/>
- <text name="layer_type_label">
- Cattura:
- </text>
- <combo_box label="Layer dell&apos;immagine" name="layer_types">
- <combo_box.item label="Colori" name="Colors"/>
- <combo_box.item label="Profondità" name="Depth"/>
- </combo_box>
- <check_box label="Interfaccia" name="ui_check"/>
- <check_box label="HUD" name="hud_check"/>
- <check_box label="Tieni aperta dopo il salvataggio" name="keep_open_check"/>
- <check_box label="Congela il frame (tutto schermo)" name="freeze_frame_check"/>
- <check_box label="Aggiornamento automatico" name="auto_snapshot_check"/>
+ <panel name="advanced_options_panel">
+ <text name="advanced_options_label">
+ OPZIONI AVANZATE
+ </text>
+ <text name="layer_type_label">
+ Cattura:
+ </text>
+ <combo_box label="Layer dell&apos;immagine" name="layer_types">
+ <combo_box.item label="Colori" name="Colors"/>
+ <combo_box.item label="Profondità" name="Depth"/>
+ </combo_box>
+ <check_box label="Interfaccia" name="ui_check"/>
+ <check_box label="HUD" name="hud_check"/>
+ <check_box label="Congela il frame (tutto schermo)" name="freeze_frame_check"/>
+ <check_box label="Aggiornamento automatico" name="auto_snapshot_check"/>
+ </panel>
</floater>
diff --git a/indra/newview/skins/default/xui/it/floater_toybox.xml b/indra/newview/skins/default/xui/it/floater_toybox.xml
index c8d5f1ed7c..269e2831d0 100644
--- a/indra/newview/skins/default/xui/it/floater_toybox.xml
+++ b/indra/newview/skins/default/xui/it/floater_toybox.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Toybox" title="PERSONALIZZA BARRE STRUMENTI">
+<floater name="Toybox" title="PULSANTI BARRA STRUMENTI">
<text name="toybox label 1">
Aggiungere o rimuovere pulsanti trascinandoli dentro o fuori dalle barre strumenti.
</text>
<text name="toybox label 2">
I pulsanti verranno visualizzati come mostrato o solo come icone, a seconda delle impostazioni della singola barra degli strumenti.
</text>
+ <button label="Cancella tutte le barre strumenti" label_selected="Cancella tutte le barre strumenti" name="btn_clear_all"/>
<button label="Ripristina predefiniti" label_selected="Ripristina predefiniti" name="btn_restore_defaults"/>
</floater>
diff --git a/indra/newview/skins/default/xui/it/floater_translation_settings.xml b/indra/newview/skins/default/xui/it/floater_translation_settings.xml
new file mode 100644
index 0000000000..a0a34da723
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/floater_translation_settings.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_translation_settings" title="IMPOSTAZIONI TRADUZIONE CHAT">
+ <string name="bing_api_key_not_verified">
+ appID Bing non verificato. Riprova.
+ </string>
+ <string name="google_api_key_not_verified">
+ Chiave API Google non verificata. Riprova.
+ </string>
+ <string name="bing_api_key_verified">
+ appID Bing verificato.
+ </string>
+ <string name="google_api_key_verified">
+ Chiave API Google verificata.
+ </string>
+ <check_box label="Usa la traduzione meccanica durante le chat" name="translate_chat_checkbox"/>
+ <text name="translate_language_label">
+ Traduci chat in:
+ </text>
+ <combo_box name="translate_language_combo">
+ <combo_box.item label="Predefinito di sistema" name="System Default Language"/>
+ <combo_box.item label="English (Inglese)" name="English"/>
+ <combo_box.item label="Dansk (Danese)" name="Danish"/>
+ <combo_box.item label="Deutsch (Tedesco)" name="German"/>
+ <combo_box.item label="Español (Spagnolo)" name="Spanish"/>
+ <combo_box.item label="Français (Francese)" name="French"/>
+ <combo_box.item label="Italiano" name="Italian"/>
+ <combo_box.item label="Magyar (Ungherese)" name="Hungarian"/>
+ <combo_box.item label="Nederlands (Olandese)" name="Dutch"/>
+ <combo_box.item label="Polski (Polacco)" name="Polish"/>
+ <combo_box.item label="Português (Portoghese)" name="Portugese"/>
+ <combo_box.item label="Русский (Russo)" name="Russian"/>
+ <combo_box.item label="Türkçe (Turco)" name="Turkish"/>
+ <combo_box.item label="Українська (Ucraino)" name="Ukrainian"/>
+ <combo_box.item label="中文 (正體) (Cinese)" name="Chinese"/>
+ <combo_box.item label="日本語 (Giapponese)" name="Japanese"/>
+ <combo_box.item label="한국어 (Coreano)" name="Korean"/>
+ </combo_box>
+ <text name="tip">
+ Seleziona il servizio di traduzione:
+ </text>
+ <radio_group name="translation_service_rg">
+ <radio_item initial_value="bing" label="Bing Translator" name="bing"/>
+ <radio_item initial_value="google" label="Google Translate" name="google"/>
+ </radio_group>
+ <text name="bing_api_key_label">
+ Bing [http://www.bing.com/developers/createapp.aspx AppID]:
+ </text>
+ <button label="Verifica" name="verify_bing_api_key_btn"/>
+ <text name="google_api_key_label">
+ Google [http://code.google.com/apis/language/translate/v2/getting_started.html#auth API key]:
+ </text>
+ <button label="Verifica" name="verify_google_api_key_btn"/>
+ <text name="google_links_text">
+ [http://code.google.com/apis/language/translate/v2/pricing.html Prezzi] | [https://code.google.com/apis/console Statistiche]
+ </text>
+ <button label="OK" name="ok_btn"/>
+ <button label="Annulla" name="cancel_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/it/floater_voice_controls.xml b/indra/newview/skins/default/xui/it/floater_voice_controls.xml
index d0ac815b8b..77973eef1e 100644
--- a/indra/newview/skins/default/xui/it/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/it/floater_voice_controls.xml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_voice_controls" title="CONTROLLI VOCE">
<string name="title_nearby">
- Voce vicina
+ IMPOSTAZIONI VOCE
</string>
<string name="title_group">
- Chiamata di gruppo con [GROUP]
+ CHIAMATA DI GRUPPO CON [GROUP]
</string>
<string name="title_adhoc">
- Chiamata in conferenza
+ CHIAMATA IN CONFERENZA
</string>
<string name="title_peer_2_peer">
- Chiamata con [NAME]
+ CHIAMATA CON [NAME]
</string>
<string name="no_one_near">
Nessuno nei dintorni ha attivato la funzione voce
diff --git a/indra/newview/skins/default/xui/it/menu_toolbars.xml b/indra/newview/skins/default/xui/it/menu_toolbars.xml
index 784ecd262c..604ca763d1 100644
--- a/indra/newview/skins/default/xui/it/menu_toolbars.xml
+++ b/indra/newview/skins/default/xui/it/menu_toolbars.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Toolbars Popup">
- <menu_item_call label="Seleziona pulsanti..." name="Chose Buttons"/>
+ <menu_item_call label="Rimuovi questo pulsante" name="Remove button"/>
+ <menu_item_call label="Pulsanti barra strumenti..." name="Choose Buttons"/>
<menu_item_check label="Icone ed etichette" name="icons_with_text"/>
<menu_item_check label="Solo icone" name="icons_only"/>
</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 8792a0fc19..5140d2b1ec 100644
--- a/indra/newview/skins/default/xui/it/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/it/menu_viewer.xml
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu_bar name="Main Menu">
<menu label="Io" name="Me">
- <menu_item_call label="Dashboard..." name="Manage My Account">
- <menu_item_call.on_click name="ManageMyAccount_url" parameter="WebLaunchJoinNow,http://secondlife.com/account/index.php?lang=it"/>
- </menu_item_call>
<menu_item_call label="Profilo..." name="Profile"/>
<menu_item_call label="Aspetto fisico..." name="ChangeOutfit"/>
+ <menu_item_call label="Scegli un avatar..." name="Avatar Picker"/>
<menu_item_check label="Inventario..." name="Inventory"/>
- <menu_item_check label="Gesture..." name="Gestures"/>
- <menu_item_check label="Voce..." name="ShowVoice"/>
+ <menu_item_call label="Nuova finestra inventario" name="NewInventoryWindow"/>
+ <menu_item_call label="Luoghi..." name="Places"/>
+ <menu_item_call label="Preferiti..." name="Picks"/>
+ <menu_item_call label="Controlli fotocamera..." name="Camera Controls"/>
<menu label="Spostamento" name="Movement">
<menu_item_call label="Siedi" name="Sit Down Here"/>
<menu_item_check label="Vola" name="Fly"/>
@@ -22,34 +22,39 @@
<menu_item_call label="Richiedi diritti Admin" name="Request Admin Options"/>
<menu_item_call label="Lascia stato Admin" name="Leave Admin Options"/>
<menu_item_call label="Compra L$" name="Buy and Sell L$"/>
+ <menu_item_call label="Dashboard dell&apos;account..." name="Manage My Account">
+ <menu_item_call.on_click name="ManageMyAccount_url" parameter="WebLaunchJoinNow,http://secondlife.com/account/index.php?lang=it"/>
+ </menu_item_call>
<menu_item_call label="Preferenze..." name="Preferences"/>
- <menu_item_call label="Barre strumenti..." name="Toolbars"/>
+ <menu_item_call label="Pulsanti barra strumenti..." name="Toolbars"/>
<menu_item_call label="Nascondi tutti i controlli" name="Hide UI"/>
<menu_item_call label="Esci da [APP_NAME]" name="Quit"/>
</menu>
<menu label="Comunica" name="Communicate">
- <menu_item_call label="I miei amici..." name="My Friends"/>
- <menu_item_call label="I miei gruppi" name="My Groups"/>
- <menu_item_check label="Chat nei dintorni" name="Nearby Chat"/>
+ <menu_item_check label="Chat..." name="Nearby Chat"/>
+ <menu_item_check label="Parla" name="Speak"/>
+ <menu_item_check label="Impostazioni voce..." name="Nearby Voice"/>
+ <menu_item_check label="Manipolazione voce..." name="ShowVoice"/>
+ <menu_item_check label="Gesture..." name="Gestures"/>
+ <menu_item_call label="Amici" name="My Friends"/>
+ <menu_item_call label="Gruppi" name="My Groups"/>
<menu_item_call label="Persone vicine" name="Active Speakers"/>
- <menu_item_check label="Voce nei dintorni" name="Nearby Voice"/>
</menu>
<menu label="Mondo" name="World">
+ <menu_item_call label="Crea punto di riferimento per questo luogo" name="Create Landmark Here"/>
+ <menu_item_call label="Destinazioni..." name="Destinations"/>
+ <menu_item_check label="Mappamondo" name="World Map"/>
<menu_item_check label="Mini mappa" name="Mini-Map"/>
- <menu_item_check label="Mappa del mondo" name="World Map"/>
<menu_item_check label="Cerca" name="Search"/>
+ <menu_item_call label="Teleport a Casa" name="Teleport Home"/>
+ <menu_item_call label="Imposta come Casa mia" name="Set Home to Here"/>
<menu_item_call label="Istantanea" name="Take Snapshot"/>
- <menu_item_call label="Crea punto di riferimento per questo luogo" name="Create Landmark Here"/>
- <menu label="Profilo del luogo" name="Land">
- <menu_item_call label="Profilo del luogo" name="Place Profile"/>
- <menu_item_call label="Informazioni sui terreni" name="About Land"/>
- <menu_item_call label="Regione/proprietà immobiliare" name="Region/Estate"/>
- </menu>
+ <menu_item_call label="Profilo del luogo" name="Place Profile"/>
+ <menu_item_call label="Informazioni sul terreno" name="About Land"/>
+ <menu_item_call label="Regione/proprietà immobiliare" name="Region/Estate"/>
+ <menu_item_call label="Terreni posseduti..." name="My Land"/>
<menu_item_call label="Acquista questo terreno" name="Buy Land"/>
- <menu_item_call label="Il mio terreno" name="My Land"/>
<menu label="Mostra" name="LandShow">
- <menu_item_check label="Comandi del movimento" name="Movement Controls"/>
- <menu_item_check label="Comandi visualizzazione" name="Camera Controls"/>
<menu_item_check label="Linee di divieto" name="Ban Lines"/>
<menu_item_check label="Marcatori" name="beacons"/>
<menu_item_check label="Linee di confine" name="Property Lines"/>
@@ -58,29 +63,28 @@
<menu_item_check label="Proprietà del lotto" name="Parcel Properties"/>
<menu_item_check label="Menu Avanzato" name="Show Advanced Menu"/>
</menu>
- <menu_item_call label="Teleport a Casa" name="Teleport Home"/>
- <menu_item_call label="Imposta come Casa mia" name="Set Home to Here"/>
<menu label="Sole" name="Environment Settings">
<menu_item_call label="Alba" name="Sunrise"/>
<menu_item_call label="Mezzogiorno" name="Noon"/>
<menu_item_call label="Tramonto" name="Sunset"/>
<menu_item_call label="Mezzanotte" name="Midnight"/>
+ <menu_item_call label="Usa impostazioni regione" name="Use Region Settings"/>
</menu>
- <menu label="Editor ambiente" name="Enviroment Editor">
- <menu_item_call label="Impostazioni ambiente..." name="Enviroment Settings"/>
+ <menu label="Editor ambiente" name="Environment Editor">
+ <menu_item_call label="Impostazioni ambiente..." name="Environment Settings"/>
<menu label="Valori predefiniti acqua" name="Water Presets">
<menu_item_call label="Nuovo valore predefinito..." name="new_water_preset"/>
- <menu_item_call label="Modifica valori predefiniti..." name="edit_water_preset"/>
+ <menu_item_call label="Modifica valore predefinito..." name="edit_water_preset"/>
<menu_item_call label="Cancella valore predefinito..." name="delete_water_preset"/>
</menu>
<menu label="Valori predefiniti cielo" name="Sky Presets">
<menu_item_call label="Nuovo valore predefinito..." name="new_sky_preset"/>
- <menu_item_call label="Modifica valori predefiniti..." name="edit_sky_preset"/>
+ <menu_item_call label="Modifica valore predefinito..." name="edit_sky_preset"/>
<menu_item_call label="Cancella valore predefinito..." name="delete_sky_preset"/>
</menu>
- <menu label="Valori predefiniti giornata" name="Day Presets">
+ <menu label="Valori predefiniti giorno" name="Day Presets">
<menu_item_call label="Nuovo valore predefinito..." name="new_day_preset"/>
- <menu_item_call label="Modifica valori predefiniti..." name="edit_day_preset"/>
+ <menu_item_call label="Modifica valore predefinito..." name="edit_day_preset"/>
<menu_item_call label="Cancella valore predefinito..." name="delete_day_preset"/>
</menu>
</menu>
@@ -146,6 +150,7 @@
<menu_item_call label="Ripeti" name="Redo"/>
</menu>
<menu label="Aiuto" name="Help">
+ <menu_item_call label="Istruzioni..." name="How To"/>
<menu_item_call label="Aiuto di [SECOND_LIFE]" name="Second Life Help"/>
<menu_item_call label="Segnala abuso" name="Report Abuse"/>
<menu_item_call label="Segnala bug" name="Report Bug"/>
@@ -199,11 +204,10 @@
<menu_item_check label="Usa thread lettura plugin" name="Use Plugin Read Thread"/>
<menu_item_call label="Pulisci cache di gruppo" name="ClearGroupCache"/>
<menu_item_check label="Fluidità mouse" name="Mouse Smoothing"/>
+ <menu_item_call label="Rilascia tasti" name="Release Keys"/>
<menu label="Scorciatoie" name="Shortcuts">
<menu_item_call label="Immagine ([COST]L$)..." name="Upload Image"/>
<menu_item_check label="Cerca" name="Search"/>
- <menu_item_call label="Rilascia tasti" name="Release Keys"/>
- <menu_item_call label="Imposta dimensioni dell&apos;interfaccia sui valori predefiniti" name="Set UI Size to Default"/>
<menu_item_check label="Mostra menu Avanzato - tasti di scelta rapida esistenti" name="Show Advanced Menu - legacy shortcut"/>
<menu_item_call label="Chiudi finestra" name="Close Window"/>
<menu_item_call label="Chiudi tutte le finestre" name="Close All Windows"/>
@@ -272,6 +276,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="Vettori vento" name="Wind Vectors"/>
<menu_item_check label="Complessità rendering" name="rendercomplexity"/>
<menu_item_check label="Scolpisci" name="Sculpt"/>
</menu>
@@ -281,7 +286,6 @@
<menu_item_check label="Luci e ombre" name="Lighting and Shadows"/>
<menu_item_check label="Ombra dal sole, dalla luna e dai proiettori" name="Shadows from Sun/Moon/Projectors"/>
<menu_item_check label="SSAO e ombre fluide" name="SSAO and Shadow Smoothing"/>
- <menu_item_check label="Illuminazione globale (sperimentale)" name="Global Illumination"/>
<menu_item_check label="Maschera alfa automatica (differita)" name="Automatic Alpha Masks (deferred)"/>
<menu_item_check label="Maschera alfa automatica (non differita)" name="Automatic Alpha Masks (non-deferred)"/>
<menu_item_check label="Texture delle animazioni" name="Animation Textures"/>
diff --git a/indra/newview/skins/default/xui/it/notifications.xml b/indra/newview/skins/default/xui/it/notifications.xml
index fce027da0c..fcc515186d 100644
--- a/indra/newview/skins/default/xui/it/notifications.xml
+++ b/indra/newview/skins/default/xui/it/notifications.xml
@@ -1110,8 +1110,13 @@ Cedere questi [AREA] m² di terreno al gruppo &apos;[GROUP_NAME]&apos;?
<notification name="DisplaySetToSafe">
Le impostazioni dello schermo sono state impostate a valori di sicurezza perchè hai specificato l&apos;opzione -safe.
</notification>
- <notification name="DisplaySetToRecommended">
- Le impostazioni dello schermo sono state impostate a valori ottimali basati sulla tua configurazione di sistema.
+ <notification name="DisplaySetToRecommendedGPUChange">
+ Le impostazioni di visualizzazione sono ai livelli consigliati a causa di un cambiamento nella scheda grafica
+da &apos;[LAST_GPU]&apos;
+a &apos;[THIS_GPU]&apos;
+ </notification>
+ <notification name="DisplaySetToRecommendedFeatureChange">
+ Le impostazioni di visualizzazione sono ai livelli consigliati a causa di un cambiamento nel sottosistema di rendering.
</notification>
<notification name="ErrorMessage">
[ERROR_MESSAGE]
@@ -1916,7 +1921,13 @@ Trasferisci gli elementi nell&apos;inventario?
<usetemplate ignoretext="Conferma prima di uscire" name="okcancelignore" notext="Non uscire" yestext="Esci"/>
</notification>
<notification name="ConfirmRestoreToybox">
- Passare ai pulsanti e alle barre strumenti predefinite?
+ Questa azione ripristina pulsanti e barre degli strumenti predefinite.
+
+Questa azione non può essere ripristinata
+ <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/>
+ </notification>
+ <notification name="ConfirmClearAllToybox">
+ Questa azione riporterà tutti i pulsanti nella casella strumenti. Le barre degli strumenti saranno vuote.
Questa azione non può essere ripristinata
<usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/>
@@ -2125,10 +2136,10 @@ Verrà avviato il browser Web.
Oggetto: [SUBJECT], Messaggio: [MESSAGE]
</notification>
<notification name="FriendOnline">
- &lt;nolink&gt;[NAME]&lt;/nolink&gt; è Online
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; è online
</notification>
<notification name="FriendOffline">
- &lt;nolink&gt;[NAME]&lt;/nolink&gt; è Offline
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; è offline
</notification>
<notification name="AddSelfFriend">
Anche se sei molto simpatico, non puoi aggiungere te stesso all&apos;elenco degli amici.
@@ -2241,14 +2252,16 @@ Seleziona solo un oggetto.
Il tuo biglietto da visita non è stato accettato.
</notification>
<notification name="TeleportToLandmark">
- Puoi teleportarti alle ubicazioni come &apos;[NAME]&apos; aprendo il pannello Luoghi sul lato destro dello schermo, quindi selezionare la scheda Punti di riferimento.
-Clicca su un punto di riferimento per selezionarlo, quindi clicca su Teleport sul lato inferiore del pannello.
-(Puoi anche fare doppio clic sul punto di riferimento oppure cliccare su di esso con il tasto destro del mouse e scegliere Teleport.)
+ Per teleportarti a luoghi come &apos;[NAME]&apos;, clicca sul pulsante &quot;Luoghi&quot;,
+ quindi seleziona la scheda Punti di riferimento nel pannello che viene aperto. Clicca su qualsiasi
+ unto di riferimento per selezionarlo, quindi clicca su Teleport sul lato inferiore del pannello.
+ (Puoi anche fare doppio clic sul punto di riferimento oppure cliccare su di esso con il tasto destro del mouse e
+ scegliere Teleport.)
</notification>
<notification name="TeleportToPerson">
- Puoi contattare il residente &apos;[NAME]&apos; aprendo il pannello Persone nel lato destro del tuo schermo.
-Seleziona il residente dall&apos;elenco, clicca su &apos;IM&apos; in basso nel pannello.
-(Puoi anche fare doppio clic sul nome nell&apos;elenco oppure fare clic con il pulsante destro del mouse e selezionare &apos;IM&apos;).
+ Per contattare Residenti come &apos;[NAME]&apos;, clicca sul pulsante &quot;Persone&quot;, seleziona un Residente nel pannello che viene aperto, quindi clicca su &apos;IM&apos; in
+ basso nel pannello.
+ (Puoi anche fare doppio clic sul nome nell&apos;elenco oppure fare clic con il pulsante destro del mouse e selezionare &apos;IM&apos;).
</notification>
<notification name="CantSelectLandFromMultipleRegions">
Non è possibile selezionare il terreno attraverso i confini del server.
@@ -2269,6 +2282,9 @@ Prova a selezionare una parte di terreno più piccola.
<notification name="PaymentSent">
[MESSAGE]
</notification>
+ <notification name="PaymentFailure">
+ [MESSAGE]
+ </notification>
<notification name="EventNotification">
Notifica eventi:
@@ -2520,10 +2536,10 @@ Riprova tra qualche istante.
</form>
</notification>
<notification name="FriendshipAccepted">
- &lt;nolink&gt;[NAME]&lt;/nolink&gt; ha accettato la tua offerta di amicizia.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; ha accettato la tua richiesta di amicizia.
</notification>
<notification name="FriendshipDeclined">
- &lt;nolink&gt;[NAME]&lt;/nolink&gt; ha rifiutato la tua offerta di amicizia.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; ha rifiutato la tua richiesta di amicizia.
</notification>
<notification name="FriendshipAcceptedByMe">
Offerta di amicizia accettata.
@@ -2800,7 +2816,7 @@ Per informazioni dettagliate, vedi il file del registro.
Con i seguenti residenti?
[RESIDENTS]
- <usetemplate name="okcancelbuttons" notext="Annulla" yestext="Ok"/>
+ <usetemplate name="okcancelbuttons" notext="Annulla" yestext="OK"/>
</notification>
<notification name="ItemsShared">
Gli oggetti sono stati condivisi.
@@ -2890,7 +2906,7 @@ In questo modo verrà disattivato l&apos;audio anche di tutti i residenti che si
uniscono alla chiamata in un secondo momento, anche dopo che tu ti fossi scollegato.
Disattiva audio di tutti?
- <usetemplate ignoretext="Conferma prima di disattivare l&apos;audio di tutti i partecipanti alla chiamata di gruppo" name="okcancelignore" notext="Annulla" yestext="Ok"/>
+ <usetemplate ignoretext="Conferma prima di disattivare l&apos;audio di tutti i partecipanti alla chiamata di gruppo" name="okcancelignore" notext="Annulla" yestext="OK"/>
</notification>
<notification label="Chat" name="HintChat">
Per partecipare alla conversazione, digita nel campo chat in basso.
diff --git a/indra/newview/skins/default/xui/it/panel_edit_skin.xml b/indra/newview/skins/default/xui/it/panel_edit_skin.xml
index a15489b333..466eff2708 100644
--- a/indra/newview/skins/default/xui/it/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/it/panel_edit_skin.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="edit_skin_panel">
<panel name="avatar_skin_color_panel">
- <texture_picker label="Tatuaggi testa" name="Head Tattoos" tool_tip="Clicca per scegliere una fotografia"/>
- <texture_picker label="Tatuaggi superiori" name="Upper Tattoos" tool_tip="Clicca per scegliere una fotografia"/>
- <texture_picker label="Tatuaggi inferiori" name="Lower Tattoos" tool_tip="Clicca per scegliere una fotografia"/>
+ <texture_picker label="Testa" name="Head" tool_tip="Clicca per scegliere una fotografia"/>
+ <texture_picker label="Parte superiore del corpo" name="Upper Body" tool_tip="Clicca per scegliere una fotografia"/>
+ <texture_picker label="Parte inferiore del corpo" name="Lower Body" tool_tip="Clicca per scegliere una fotografia"/>
</panel>
<panel name="accordion_panel">
<accordion name="wearable_accordion">
diff --git a/indra/newview/skins/default/xui/it/panel_postcard_message.xml b/indra/newview/skins/default/xui/it/panel_postcard_message.xml
new file mode 100644
index 0000000000..c720f4822d
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_postcard_message.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_message">
+ <text name="to_label">
+ A:
+ </text>
+ <text name="name_label">
+ Da:
+ </text>
+ <text name="subject_label">
+ Oggetto:
+ </text>
+ <line_editor label="Digita qui l&apos;oggetto." name="subject_form"/>
+ <text name="msg_label">
+ Messaggio:
+ </text>
+ <text_editor name="msg_form">
+ Digita qui il messaggio.
+ </text_editor>
+ <button label="Annulla" name="cancel_btn"/>
+ <button label="Invia" name="send_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_postcard_settings.xml b/indra/newview/skins/default/xui/it/panel_postcard_settings.xml
new file mode 100644
index 0000000000..6a586c4415
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_postcard_settings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_settings">
+ <combo_box label="Risoluzione" name="postcard_size_combo">
+ <combo_box.item label="Finestra attuale" name="CurrentWindow"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="Personalizza" name="Custom"/>
+ </combo_box>
+ <layout_stack name="postcard_image_params_ls">
+ <layout_panel name="postcard_image_size_lp">
+ <spinner label="Larghezza" name="postcard_snapshot_width"/>
+ <spinner label="Altezza" name="postcard_snapshot_height"/>
+ <check_box label="Mantieni le proporzioni" name="postcard_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="postcard_image_format_quality_lp">
+ <slider label="Qualità dell&apos;immagine" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_preferences_chat.xml b/indra/newview/skins/default/xui/it/panel_preferences_chat.xml
index 1a0a1d8434..7f5992b584 100644
--- a/indra/newview/skins/default/xui/it/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/it/panel_preferences_chat.xml
@@ -29,30 +29,5 @@
<check_box label="Chat IM" name="EnableIMChatPopups" tool_tip="Seleziona per vedere una finestra popup quando arriva un messaggio IM"/>
<spinner label="Durata chat vicine:" name="nearby_toasts_lifetime"/>
<spinner label="Durata dissolvenza chat vicine:" name="nearby_toasts_fadingtime"/>
- <check_box label="Use machine translation while chatting" name="translate_chat_checkbox"/>
- <text name="translate_chb_label">
- Usa la traduzione meccanica durante le chat
- </text>
- <text name="translate_language_text" width="110">
- Traduci chat in:
- </text>
- <combo_box name="translate_language_combobox" width="146">
- <combo_box.item label="Default di sistema" name="System Default Language"/>
- <combo_box.item label="English (Inglese)" name="English"/>
- <combo_box.item label="Dansk (Danese)" name="Danish"/>
- <combo_box.item label="Deutsch (Tedesco)" name="German"/>
- <combo_box.item label="Español (Spagnolo)" name="Spanish"/>
- <combo_box.item label="Français (Francese)" name="French"/>
- <combo_box.item label="Italiano" name="Italian"/>
- <combo_box.item label="Magyar (Ungherese)" name="Hungarian"/>
- <combo_box.item label="Nederlands (Olandese)" name="Dutch"/>
- <combo_box.item label="Polski (Polacco)" name="Polish"/>
- <combo_box.item label="Português (Portoghese)" name="Portugese"/>
- <combo_box.item label="Русский (Russo)" name="Russian"/>
- <combo_box.item label="Türkçe (Turco)" name="Turkish"/>
- <combo_box.item label="Українська (Ucraino)" name="Ukrainian"/>
- <combo_box.item label="中文 (正體) (Cinese)" name="Chinese"/>
- <combo_box.item label="日本語 (Giapponese)" name="Japanese"/>
- <combo_box.item label="한국어 (Coreano)" name="Korean"/>
- </combo_box>
+ <button label="Impostazioni traduzione chat" name="ok_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_preferences_setup.xml b/indra/newview/skins/default/xui/it/panel_preferences_setup.xml
index bf78432110..0189d47f45 100644
--- a/indra/newview/skins/default/xui/it/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/it/panel_preferences_setup.xml
@@ -15,7 +15,7 @@
Web:
</text>
<radio_group name="use_external_browser">
- <radio_item label="Usa il mio browser (IE, Firefox, Safari)" name="external" tool_tip="Utilizza il browser Web predefinito di sistema per l&apos;aiuto, per i link Web e così via. Sconsigliato durante l&apos;esecuzione a tutto schermo." value="1"/>
+ <radio_item label="Usa il mio browser (IE, Firefox, Safari)" name="external" tool_tip="Utilizza il browser Web predefinito di sistema per l&apos;aiuto, per i link Web e così via. Sconsigliato durante l&apos;esecuzione a tutto schermo." value="true"/>
<radio_item label="Utilizza il browser Web integrato" name="internal" tool_tip="Utilizza il browser Web integrato per l&apos;aiuto, per i link Web e così via. Questo browser si apre in una nuova finestra in [APP_NAME]." value=""/>
</radio_group>
<check_box initial_value="true" label="Abilita plugin" name="browser_plugins_enabled"/>
diff --git a/indra/newview/skins/default/xui/it/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/it/panel_snapshot_inventory.xml
new file mode 100644
index 0000000000..c9245029b7
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_snapshot_inventory.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_inventory">
+ <text name="title">
+ Salva nell&apos;inventario
+ </text>
+ <text name="hint_lbl">
+ Salvare un&apos;immagine nell&apos;inventario costa L$[UPLOAD_COST]. Per salvare l&apos;immagine come texture, selezionare uno dei formati quadrati.
+ </text>
+ <combo_box label="Risoluzione" name="texture_size_combo">
+ <combo_box.item label="Finestra attuale" name="CurrentWindow"/>
+ <combo_box.item label="Piccola (128x128)" name="Small(128x128)"/>
+ <combo_box.item label="Media (256x256)" name="Medium(256x256)"/>
+ <combo_box.item label="Grande (512x512)" name="Large(512x512)"/>
+ <combo_box.item label="Personalizza" name="Custom"/>
+ </combo_box>
+ <spinner label="Larghezza" name="inventory_snapshot_width"/>
+ <spinner label="Altezza" name="inventory_snapshot_height"/>
+ <check_box label="Mantieni le proporzioni" name="inventory_keep_aspect_check"/>
+ <button label="Annulla" name="cancel_btn"/>
+ <button label="Salva" name="save_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_snapshot_local.xml b/indra/newview/skins/default/xui/it/panel_snapshot_local.xml
new file mode 100644
index 0000000000..4b725b68f9
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_snapshot_local.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_local">
+ <text name="title">
+ Salva sul mio computer
+ </text>
+ <combo_box label="Risoluzione" name="local_size_combo">
+ <combo_box.item label="Finestra attuale" name="CurrentWindow"/>
+ <combo_box.item label="320x240" name="320x240"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="1280x1024" name="1280x1024"/>
+ <combo_box.item label="1600x1200" name="1600x1200"/>
+ <combo_box.item label="Personalizza" name="Custom"/>
+ </combo_box>
+ <layout_stack name="local_image_params_ls">
+ <layout_panel name="local_image_size_lp">
+ <spinner label="Larghezza" name="local_snapshot_width"/>
+ <spinner label="Altezza" name="local_snapshot_height"/>
+ <check_box label="Mantieni le proporzioni" name="local_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="local_image_format_quality_lp">
+ <combo_box label="Formato" name="local_format_combo">
+ <combo_box.item label="PNG (senza perdite)" name="PNG"/>
+ <combo_box.item label="JPEG" name="JPEG"/>
+ <combo_box.item label="BMP (senza perdite)" name="BMP"/>
+ </combo_box>
+ <slider label="Qualità dell&apos;immagine" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+ <button label="Annulla" name="cancel_btn"/>
+ <flyout_button label="Salva" name="save_btn" tool_tip="Salva immagine come file">
+ <flyout_button.item label="Salva" name="save_item"/>
+ <flyout_button.item label="Salva con nome..." name="saveas_item"/>
+ </flyout_button>
+</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_snapshot_options.xml b/indra/newview/skins/default/xui/it/panel_snapshot_options.xml
new file mode 100644
index 0000000000..f2d42c5197
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_snapshot_options.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_options">
+ <button label="Invia post al feed del mio profilo" name="save_to_profile_btn"/>
+ <button label="E-mail" name="save_to_email_btn"/>
+ <button label="Salva nell&apos;inventario (L$[AMOUNT])" name="save_to_inventory_btn"/>
+ <button label="Salva sul mio computer" name="save_to_computer_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_snapshot_postcard.xml b/indra/newview/skins/default/xui/it/panel_snapshot_postcard.xml
new file mode 100644
index 0000000000..3703b97e6c
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_snapshot_postcard.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_postcard">
+ <string name="default_subject">
+ Cartolina da [SECOND_LIFE].
+ </string>
+ <string name="default_message">
+ Dai un&apos;occhiata!
+ </string>
+ <string name="upload_message">
+ Invio...
+ </string>
+ <text name="title">
+ E-mail
+ </text>
+ <button label="Messaggio" name="message_btn"/>
+ <button label="Impostazioni" name="settings_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_snapshot_profile.xml b/indra/newview/skins/default/xui/it/panel_snapshot_profile.xml
new file mode 100644
index 0000000000..2cdbf97049
--- /dev/null
+++ b/indra/newview/skins/default/xui/it/panel_snapshot_profile.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_profile">
+ <text name="title">
+ Invia post al feed del mio profilo
+ </text>
+ <combo_box label="Risoluzione" name="profile_size_combo">
+ <combo_box.item label="Finestra attuale" name="CurrentWindow"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="Personalizza" name="Custom"/>
+ </combo_box>
+ <layout_stack name="profile_image_params_ls">
+ <layout_panel name="profile_image_size_lp">
+ <spinner label="Larghezza" name="profile_snapshot_width"/>
+ <spinner label="Altezza" name="profile_snapshot_height"/>
+ <check_box label="Mantieni le proporzioni" name="profile_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="profile_image_metadata_lp">
+ <text name="caption_label">
+ Didascalia:
+ </text>
+ <check_box initial_value="true" label="Includi luogo" name="add_location_cb"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="Annulla" name="cancel_btn"/>
+ <button label="Post" name="post_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml
index 8f29233825..c81dd0f55d 100644
--- a/indra/newview/skins/default/xui/it/strings.xml
+++ b/indra/newview/skins/default/xui/it/strings.xml
@@ -1205,7 +1205,7 @@ Prova ad accedere nuovamente tra un minuto.
Non hai una copia di questa texture nel tuo inventario
</string>
<string name="InventoryInboxNoItems">
- Gli elementi acquistati attraverso il mercato verranno consegnati qui
+ Quando acquisti o ricevi un oggetto, verrà visualizzato qui per permetterti di trascinarlo in una cartella dell&apos;inventario o di cancellarlo se non desideri mantenerlo.
</string>
<string name="MarketplaceURL">
http://marketplace.[DOMAIN_NAME]/learn_more
@@ -1397,6 +1397,9 @@ Prova ad accedere nuovamente tra un minuto.
<string name="no_attachments">
Nessun allegato indossato
</string>
+ <string name="Attachments remain">
+ Allegati ([COUNT] spazi restanti)
+ </string>
<string name="Buy">
Acquista
</string>
@@ -1523,6 +1526,12 @@ Prova ad accedere nuovamente tra un minuto.
<string name="Right Pec">
Petto destro
</string>
+ <string name="Neck">
+ Collo
+ </string>
+ <string name="Avatar Center">
+ Centro avatar
+ </string>
<string name="Invalid Attachment">
Punto di collegamento non valido
</string>
@@ -3940,6 +3949,18 @@ Se il messaggio persiste, contatta [SUPPORT_SITE].
<string name="you_paid_ldollars_no_name">
Hai pagato L$ [AMOUNT] [REASON].
</string>
+ <string name="you_paid_failure_ldollars">
+ Non hai pagato [NAME] L$[AMOUNT] [REASON].
+ </string>
+ <string name="you_paid_failure_ldollars_no_info">
+ Non hai pagato L$ [AMOUNT].
+ </string>
+ <string name="you_paid_failure_ldollars_no_reason">
+ Non hai pagato [NAME] L$[AMOUNT].
+ </string>
+ <string name="you_paid_failure_ldollars_no_name">
+ Non hai pagato L$ [AMOUNT] [REASON].
+ </string>
<string name="for item">
per [ITEM]
</string>
@@ -4350,6 +4371,12 @@ Prova a racchiudere il percorso dell&apos;editor in doppie virgolette.
<string name="ExternalEditorFailedToRun">
L&apos;editor esterno non è stato avviato.
</string>
+ <string name="TranslationFailed">
+ Traduzione non riuscita: [REASON]
+ </string>
+ <string name="TranslationResponseParseError">
+ Errore di elaborazione della risposta della traduzione.
+ </string>
<string name="Esc">
Esc
</string>
@@ -4720,7 +4747,7 @@ Prova a racchiudere il percorso dell&apos;editor in doppie virgolette.
Mini mappa
</string>
<string name="Command_Move_Label">
- Movimento
+ Cammina / corri / vola
</string>
<string name="Command_People_Label">
Persone
@@ -4747,10 +4774,10 @@ Prova a racchiudere il percorso dell&apos;editor in doppie virgolette.
Parla
</string>
<string name="Command_View_Label">
- Visuale
+ Controlli fotocamera
</string>
<string name="Command_Voice_Label">
- Voce vicina
+ Impostazioni voce
</string>
<string name="Command_AboutLand_Tooltip">
Informazioni sul terreno che visiti
@@ -4822,7 +4849,16 @@ Prova a racchiudere il percorso dell&apos;editor in doppie virgolette.
Modifica angolo fotocamera
</string>
<string name="Command_Voice_Tooltip">
- Persona vicine con funzioni voce
+ I controlli per il volume per le chiamate e per le persone nelle vicinanze nel mondo virtuale
+ </string>
+ <string name="Toolbar_Bottom_Tooltip">
+ attualmente nella barra degli strumenti in basso
+ </string>
+ <string name="Toolbar_Left_Tooltip">
+ attualmente nella barra degli strumenti a sinistra
+ </string>
+ <string name="Toolbar_Right_Tooltip">
+ attualmente nella barra degli strumenti a destra
</string>
<string name="Retain%">
Mantieni%
@@ -4848,4 +4884,19 @@ Prova a racchiudere il percorso dell&apos;editor in doppie virgolette.
<string name="Normal">
Normale
</string>
+ <string name="snapshot_quality_very_low">
+ Molto basso
+ </string>
+ <string name="snapshot_quality_low">
+ Basso
+ </string>
+ <string name="snapshot_quality_medium">
+ Medio
+ </string>
+ <string name="snapshot_quality_high">
+ Alto
+ </string>
+ <string name="snapshot_quality_very_high">
+ Molto alto
+ </string>
</strings>
diff --git a/indra/newview/skins/default/xui/it/teleport_strings.xml b/indra/newview/skins/default/xui/it/teleport_strings.xml
index a0b324d8fb..f485212290 100644
--- a/indra/newview/skins/default/xui/it/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/it/teleport_strings.xml
@@ -19,8 +19,8 @@ Se si continua a visualizzare questo messaggio, consulta la pagina [SUPPORT_SITE
Spiacenti, il sistema non riesce a completare il teletrasporto. Riprova tra un attimo.
</message>
<message name="NoHelpIslandTP">
- Non è possibile per te ritornare all&apos;Welcome Island.
-Vai alla &apos;Welcome Island Public&apos; per ripetere il tutorial.
+ Non puoi teleportarti nuovamente a Welcome Island.
+Per ripetere l&apos;esercitazione, visita &apos;Welcome Island Public&apos;.
</message>
<message name="noaccess_tport">
Spiacenti, ma non hai accesso nel luogo di destinazione richiesto.
diff --git a/indra/newview/skins/default/xui/ja/floater_about.xml b/indra/newview/skins/default/xui/ja/floater_about.xml
index c628ade43e..3c7a210a22 100644
--- a/indra/newview/skins/default/xui/ja/floater_about.xml
+++ b/indra/newview/skins/default/xui/ja/floater_about.xml
@@ -90,6 +90,8 @@ google-perftools Copyright (c) 2005, Google Inc.
Second Life ビューワでは Havok (TM) Physics が使用されています。(c)Copyright 1999-2010 Havok.com Inc. (and its Licensors).無断複写・複製・転載を禁じます。詳細については www.havok.com をご参照ください。
+このソフトウェアには、NVIDIA Corporation によるソースコードが含まれます。
+
無断複写・複製・転載を禁じます。詳細については licenses.txt をご参照ください。
ボイスチャットのオーディオコーディング:Polycom(R) Siren14(TM) (ITU-T Rec.G.722.1 Annex C)
diff --git a/indra/newview/skins/default/xui/ja/floater_about_land.xml b/indra/newview/skins/default/xui/ja/floater_about_land.xml
index 3c88c902f8..816a6ff203 100644
--- a/indra/newview/skins/default/xui/ja/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/ja/floater_about_land.xml
@@ -130,7 +130,7 @@
交通量:
</text>
<text name="DwellText">
- 誤
+ ローディング...
</text>
<button label="土地の購入" label_selected="土地を購入..." left="130" name="Buy Land..." width="100"/>
<button label="リンデンセール" label_selected="Linden セール..." name="Linden Sale..." tool_tip="土地が所有されており、コンテンツが設定されている必要があります。オークションの対象になっていないことも必要条件です。"/>
@@ -311,13 +311,15 @@
プッシュ禁止 (地域設定優先)
</panel.string>
<panel.string name="see_avs_text">
- この区画にいる住人と会ってチャットする
+ 他の区画にいるアバターは、
</panel.string>
<text name="allow_label">
他の住人への許可:
</text>
- <check_box label="地形を編集" name="edit land check" tool_tip="チェックを入れると、他人があなたの土地の地形編集を行うことが可能となります。このオプションのチェックを外しておくことをおすすめします。外した状態であなたの土地の地形編集が可能です。"/>
- <check_box label="飛行" name="check fly" tool_tip="チェックを入れるとこの土地での飛行が可能となります。チェックを外すと土地に入る際と通り過ぎるときのみ飛行可能となります。"/>
+ <text name="allow_label0">
+ 飛行:
+ </text>
+ <check_box label="全員" name="check fly" tool_tip="チェックを入れるとこの土地での飛行が可能となります。チェックを外すと土地に入る際と通り過ぎるときのみ飛行可能となります。"/>
<text name="allow_label2">
制作:
</text>
@@ -333,9 +335,6 @@
</text>
<check_box label="全員" name="check other scripts"/>
<check_box label="グループ" name="check group scripts"/>
- <text name="land_options_label">
- 土地オプション:
- </text>
<check_box label="安全(ダメージなし)" name="check safe" tool_tip="チェックを入れるとこの土地でのダメージコンバットが無効になり、「安全」に設定されます。 チェックを外すとダメージコンバットが有効になります。"/>
<check_box label="プッシュ禁止" name="PushRestrictCheck" tool_tip="スクリプトによるプッシュを禁止します。 このオプションを選択することにより、あなたの土地での破壊的行動を防ぐことができます。"/>
<check_box label="検索に区画を表示(週 L$ 30)" name="ShowDirectoryCheck" tool_tip="この区画を検索結果に表示します"/>
@@ -376,9 +375,9 @@
</text>
<texture_picker label="" name="snapshot_ctrl" tool_tip="写真をクリックして選択"/>
<text name="allow_label5">
- 他の区画にいる住人への許可:
+ この区画にいるアバターに会ってチャットできます
</text>
- <check_box label="アバターを表示" name="SeeAvatarsCheck" tool_tip="他の区画の住人が、この区画にいる住人に会ってチャットすることを許可し、あなたもそれら住人に会ってチャットできるようにします。"/>
+ <check_box label="アバターを表示" name="SeeAvatarsCheck" tool_tip="他の区画のアバターが、この区画にいるアバターに会ってチャットすることを許可し、あなたもそれらアバターに会ってチャットできるようにします。"/>
<text name="landing_point">
着地点: [LANDING]
</text>
diff --git a/indra/newview/skins/default/xui/ja/floater_avatar.xml b/indra/newview/skins/default/xui/ja/floater_avatar.xml
index c4455282d2..d289580506 100644
--- a/indra/newview/skins/default/xui/ja/floater_avatar.xml
+++ b/indra/newview/skins/default/xui/ja/floater_avatar.xml
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Avatar" title="アバターピッカー"/>
+<floater name="Avatar" title="アバターを選択"/>
diff --git a/indra/newview/skins/default/xui/ja/floater_buy_currency.xml b/indra/newview/skins/default/xui/ja/floater_buy_currency.xml
index e447eefe0e..a472f163e3 100644
--- a/indra/newview/skins/default/xui/ja/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/ja/floater_buy_currency.xml
@@ -46,7 +46,7 @@
L$ [AMT]
</text>
<text name="currency_links">
- [http://www.secondlife.com/my/account/payment_method_management.php?lang=ja-JP 支払方法] | [http://www.secondlife.com/my/account/currency.php?lang=ja-JP 通貨]
+ [http://www.secondlife.com/my/account/payment_method_management.php 支払方法] | [http://www.secondlife.com/my/account/currency.php 通貨]
</text>
<text name="exchange_rate_note">
金額を再入力して最新換算レートを確認します。
diff --git a/indra/newview/skins/default/xui/ja/floater_camera.xml b/indra/newview/skins/default/xui/ja/floater_camera.xml
index 0661e17309..982e5ce42b 100644
--- a/indra/newview/skins/default/xui/ja/floater_camera.xml
+++ b/indra/newview/skins/default/xui/ja/floater_camera.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="camera_floater" title="表示">
+<floater name="camera_floater" title="カメラのコントロール">
<floater.string name="rotate_tooltip">
フォーカスを中心にカメラを回転
</floater.string>
diff --git a/indra/newview/skins/default/xui/ja/floater_hardware_settings.xml b/indra/newview/skins/default/xui/ja/floater_hardware_settings.xml
index ffafbaf3b6..1b6558a9eb 100644
--- a/indra/newview/skins/default/xui/ja/floater_hardware_settings.xml
+++ b/indra/newview/skins/default/xui/ja/floater_hardware_settings.xml
@@ -4,8 +4,8 @@
フィルタリング:
</text>
<check_box label="異方的フィルタリング(有効にすると速度が低下します)" name="ani"/>
- <text name="Antialiasing:">
- アンチエイリアシング:
+ <text name="antialiasing label">
+ アンチエイリアシング:
</text>
<combo_box label="アンチエイリアシング" name="fsaa">
<combo_box.item label="無効" name="FSAADisabled"/>
diff --git a/indra/newview/skins/default/xui/ja/floater_model_preview.xml b/indra/newview/skins/default/xui/ja/floater_model_preview.xml
index 157c68a570..c9ff0e29cb 100644
--- a/indra/newview/skins/default/xui/ja/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/ja/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
エラー:Dae に問題が見つかりました - 詳細についてはログをご参照ください。
</string>
+ <string name="status_material_mismatch">
+ エラー:モデルの材料は参考モデルのサブセットではありません。
+ </string>
<string name="status_reading_file">
ローディング...
</string>
diff --git a/indra/newview/skins/default/xui/ja/floater_model_wizard.xml b/indra/newview/skins/default/xui/ja/floater_model_wizard.xml
index 915b37557f..6aaa9a42a5 100644
--- a/indra/newview/skins/default/xui/ja/floater_model_wizard.xml
+++ b/indra/newview/skins/default/xui/ja/floater_model_wizard.xml
@@ -20,6 +20,9 @@
アップロードするモデルファイルの選択
</text>
<button label="参照" label_selected="参照" name="browse"/>
+ <text name="Model types">
+ Second Life は COLLADA (.dae) ファイルをサポートします。
+ </text>
<text name="dimensions">
X Y Z
</text>
diff --git a/indra/newview/skins/default/xui/ja/floater_moveview.xml b/indra/newview/skins/default/xui/ja/floater_moveview.xml
index 88c1905b8a..aed3b78a14 100644
--- a/indra/newview/skins/default/xui/ja/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/ja/floater_moveview.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="move_floater" title="移動">
+<floater name="move_floater" title="歩行 / 走行 / 飛行">
<string name="walk_forward_tooltip">
前に進む(上矢印か W を押す)
</string>
diff --git a/indra/newview/skins/default/xui/ja/floater_snapshot.xml b/indra/newview/skins/default/xui/ja/floater_snapshot.xml
index 05a10f9f6d..cf4732a68e 100644
--- a/indra/newview/skins/default/xui/ja/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/ja/floater_snapshot.xml
@@ -3,73 +3,63 @@
<floater.string name="unknown">
不明
</floater.string>
- <radio_group label="スナップショットの種類" name="snapshot_type_radio">
- <radio_item label="メール" name="postcard"/>
- <radio_item label="持ち物(L$[AMOUNT])" name="texture"/>
- <radio_item label="コンピューターに保存" name="local"/>
- </radio_group>
+ <string name="postcard_progress_str">
+ メールの送信
+ </string>
+ <string name="profile_progress_str">
+ 投稿
+ </string>
+ <string name="inventory_progress_str">
+ 持ち物に保存
+ </string>
+ <string name="local_progress_str">
+ コンピュータに保存
+ </string>
+ <string name="profile_succeeded_str">
+ 画像がアップロードされました
+ </string>
+ <string name="postcard_succeeded_str">
+ メールが送信されました
+ </string>
+ <string name="inventory_succeeded_str">
+ 持ち物に保存されました
+ </string>
+ <string name="local_succeeded_str">
+ コンピュータに保存されました
+ </string>
+ <string name="profile_failed_str">
+ プロフィールフィードに画像をアップロードできませんでした。
+ </string>
+ <string name="postcard_failed_str">
+ メールを送信できませんでした。
+ </string>
+ <string name="inventory_failed_str">
+ 持ち物に保存できませんでした。
+ </string>
+ <string name="local_failed_str">
+ コンピュータに保存できませんでした。
+ </string>
+ <button name="advanced_options_btn" tool_tip="詳しい設定"/>
+ <text name="image_res_text">
+ [WIDTH] x [HEIGHT] px
+ </text>
<text name="file_size_label">
[SIZE] キロバイト
</text>
- <button label="スナップショットを更新" name="new_snapshot_btn"/>
- <button label="送信" name="send_btn"/>
- <button label="保存(L$[AMOUNT])" name="upload_btn"/>
- <flyout_button label="保存" name="save_btn" tool_tip="画像をファイルに保存">
- <flyout_button.item label="保存" name="save_item"/>
- <flyout_button.item label="別名で保存..." name="saveas_item"/>
- </flyout_button>
- <button label="詳細" name="more_btn" tool_tip="詳しい設定"/>
- <button label="簡易" name="less_btn" tool_tip="詳しい設定"/>
- <button label="取り消し" name="discard_btn"/>
- <text name="type_label2">
- サイズ
- </text>
- <text name="format_label">
- 書式
- </text>
- <combo_box label="解像度" name="postcard_size_combo">
- <combo_box.item label="現在のウィンドウ" name="CurrentWindow"/>
- <combo_box.item label="640x480" name="640x480"/>
- <combo_box.item label="800x600" name="800x600"/>
- <combo_box.item label="1024x768" name="1024x768"/>
- <combo_box.item label="カスタム" name="Custom"/>
- </combo_box>
- <combo_box label="解像度" name="texture_size_combo">
- <combo_box.item label="現在のウィンドウ" name="CurrentWindow"/>
- <combo_box.item label="小(128x128)" name="Small(128x128)"/>
- <combo_box.item label="中(256x256)" name="Medium(256x256)"/>
- <combo_box.item label="大(512x512)" name="Large(512x512)"/>
- <combo_box.item label="カスタム" name="Custom"/>
- </combo_box>
- <combo_box label="解像度" name="local_size_combo">
- <combo_box.item label="現在のウィンドウ" name="CurrentWindow"/>
- <combo_box.item label="320x240" name="320x240"/>
- <combo_box.item label="640x480" name="640x480"/>
- <combo_box.item label="800x600" name="800x600"/>
- <combo_box.item label="1024x768" name="1024x768"/>
- <combo_box.item label="1280x1024" name="1280x1024"/>
- <combo_box.item label="1600x1200" name="1600x1200"/>
- <combo_box.item label="カスタム" name="Custom"/>
- </combo_box>
- <combo_box label="書式" name="local_format_combo">
- <combo_box.item label="PNG" name="PNG"/>
- <combo_box.item label="JPEG" name="JPEG"/>
- <combo_box.item label="BMP" name="BMP"/>
- </combo_box>
- <spinner label="幅" name="snapshot_width"/>
- <spinner label="高さ" name="snapshot_height"/>
- <check_box label="縦横比の固定" name="keep_aspect_check"/>
- <slider label="画質" name="image_quality_slider"/>
- <text name="layer_type_label">
- キャプチャ:
- </text>
- <combo_box label="画像レイヤー" name="layer_types">
- <combo_box.item label="色" name="Colors"/>
- <combo_box.item label="深度" name="Depth"/>
- </combo_box>
- <check_box label="インターフェース" name="ui_check"/>
- <check_box label="HUD" name="hud_check"/>
- <check_box label="保存後もこのまま" name="keep_open_check"/>
- <check_box label="画面全体を静止" name="freeze_frame_check"/>
- <check_box label="自動更新" name="auto_snapshot_check"/>
+ <panel name="advanced_options_panel">
+ <text name="advanced_options_label">
+ 詳しい設定
+ </text>
+ <text name="layer_type_label">
+ キャプチャ:
+ </text>
+ <combo_box label="画像レイヤー" name="layer_types">
+ <combo_box.item label="色" name="Colors"/>
+ <combo_box.item label="深度" name="Depth"/>
+ </combo_box>
+ <check_box label="インターフェース" name="ui_check"/>
+ <check_box label="HUD" name="hud_check"/>
+ <check_box label="画面全体を静止" name="freeze_frame_check"/>
+ <check_box label="自動更新" name="auto_snapshot_check"/>
+ </panel>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_toybox.xml b/indra/newview/skins/default/xui/ja/floater_toybox.xml
index d7056f806c..682352ec82 100644
--- a/indra/newview/skins/default/xui/ja/floater_toybox.xml
+++ b/indra/newview/skins/default/xui/ja/floater_toybox.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Toybox" title="ツールバーをカスタマイズ">
+<floater name="Toybox" title="ツールバーのボタン">
<text name="toybox label 1">
ボタンをツールバーに追加または削除するにはボタンをドラッグします。
</text>
<text name="toybox label 2">
各ツールバーの設定に応じて、ボタンは以下のように表示されたり、アイコンのみで表示されます。
</text>
+ <button label="ツールバーを全てクリア" label_selected="ツールバーを全てクリア" name="btn_clear_all"/>
<button label="デフォルト設定を復元" label_selected="デフォルト設定を復元" name="btn_restore_defaults"/>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_translation_settings.xml b/indra/newview/skins/default/xui/ja/floater_translation_settings.xml
new file mode 100644
index 0000000000..27143086ac
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/floater_translation_settings.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_translation_settings" title="チャットの翻訳設定">
+ <string name="bing_api_key_not_verified">
+ Bing appID を認証できませんでした。もう一度お試しください。
+ </string>
+ <string name="google_api_key_not_verified">
+ Google API キーを認証できませんでした。もう一度お試しください。
+ </string>
+ <string name="bing_api_key_verified">
+ Bing appID が認証されました。
+ </string>
+ <string name="google_api_key_verified">
+ Google API キーが認証されました。
+ </string>
+ <check_box label="チャット中の機械翻訳機能を有効にする" name="translate_chat_checkbox"/>
+ <text name="translate_language_label">
+ 翻訳する言語:
+ </text>
+ <combo_box name="translate_language_combo">
+ <combo_box.item label="システム標準" name="System Default Language"/>
+ <combo_box.item label="英語" name="English"/>
+ <combo_box.item label="Dansk(デンマーク語)" name="Danish"/>
+ <combo_box.item label="Deutsch(ドイツ語)" name="German"/>
+ <combo_box.item label="Español(スペイン語)" name="Spanish"/>
+ <combo_box.item label="Français(フランス語)" name="French"/>
+ <combo_box.item label="Italiano(イタリア語)" name="Italian"/>
+ <combo_box.item label="Magyar(ハンガリー語)" name="Hungarian"/>
+ <combo_box.item label="Nederlands(オランダ語)" name="Dutch"/>
+ <combo_box.item label="Polski(ポーランド語)" name="Polish"/>
+ <combo_box.item label="Português(ポルトガル語)" name="Portugese"/>
+ <combo_box.item label="Русский(ロシア語)" name="Russian"/>
+ <combo_box.item label="Türkçe(トルコ語)" name="Turkish"/>
+ <combo_box.item label="Українська (ウクライナ語)" name="Ukrainian"/>
+ <combo_box.item label="中文 (正體) (中国語)" name="Chinese"/>
+ <combo_box.item label="日本語(日本語)" name="Japanese"/>
+ <combo_box.item label="한국어(韓国語)" name="Korean"/>
+ </combo_box>
+ <text name="tip">
+ 翻訳サービスを選択してください:
+ </text>
+ <radio_group name="translation_service_rg">
+ <radio_item initial_value="bing" label="Bing Translator" name="bing"/>
+ <radio_item initial_value="google" label="Google Translate" name="google"/>
+ </radio_group>
+ <text name="bing_api_key_label">
+ Bing AppID [http://www.bing.com/developers/createapp.aspx AppID]:
+ </text>
+ <button label="認証" name="verify_bing_api_key_btn"/>
+ <text name="google_api_key_label">
+ Google API key [http://code.google.com/apis/language/translate/v2/getting_started.html#auth API key]:
+ </text>
+ <button label="認証" name="verify_google_api_key_btn"/>
+ <text name="google_links_text">
+ [http://code.google.com/apis/language/translate/v2/pricing.html 価格] | [https://code.google.com/apis/console 統計]
+ </text>
+ <button label="OK" name="ok_btn"/>
+ <button label="取り消し" name="cancel_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_voice_controls.xml b/indra/newview/skins/default/xui/ja/floater_voice_controls.xml
index f12648f208..f7d3fd11e0 100644
--- a/indra/newview/skins/default/xui/ja/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/ja/floater_voice_controls.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_voice_controls" title="ボイスコントロール">
<string name="title_nearby">
- 近くのボイス
+ ボイス設定
</string>
<string name="title_group">
[GROUP] とグループコール
@@ -10,7 +10,7 @@
コンファレンスコール
</string>
<string name="title_peer_2_peer">
- [NAME] でコール
+ [NAME] とコール
</string>
<string name="no_one_near">
近くにボイスを有効にしている人はいません。
diff --git a/indra/newview/skins/default/xui/ja/menu_toolbars.xml b/indra/newview/skins/default/xui/ja/menu_toolbars.xml
index e911ca4a13..d5363a5131 100644
--- a/indra/newview/skins/default/xui/ja/menu_toolbars.xml
+++ b/indra/newview/skins/default/xui/ja/menu_toolbars.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Toolbars Popup">
- <menu_item_call label="ボタンを選択..." name="Chose Buttons"/>
+ <menu_item_call label="このボタンを削除" name="Remove button"/>
+ <menu_item_call label="ツールバーのボタン..." name="Choose Buttons"/>
<menu_item_check label="アイコンとラベル" name="icons_with_text"/>
<menu_item_check label="アイコンのみ" name="icons_only"/>
</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 125e9bb226..ef3261f1d4 100644
--- a/indra/newview/skins/default/xui/ja/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/ja/menu_viewer.xml
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu_bar name="Main Menu">
<menu label="ミー" name="Me">
- <menu_item_call label="マイアカウント..." name="Manage My Account">
- <menu_item_call.on_click name="ManageMyAccount_url" parameter="WebLaunchJoinNow,http://secondlife.com/account/index.php?lang=ja"/>
- </menu_item_call>
<menu_item_call label="プロフィール..." name="Profile"/>
<menu_item_call label="容姿..." name="ChangeOutfit"/>
+ <menu_item_call label="アバターを選択..." name="Avatar Picker"/>
<menu_item_check label="持ち物..." name="Inventory"/>
- <menu_item_check label="ジェスチャー..." name="Gestures"/>
- <menu_item_check label="ボイス..." name="ShowVoice"/>
+ <menu_item_call label="新しい持ち物ウィンドウ" name="NewInventoryWindow"/>
+ <menu_item_call label="場所..." name="Places"/>
+ <menu_item_call label="ピック..." name="Picks"/>
+ <menu_item_call label="カメラコントロール..." name="Camera Controls"/>
<menu label="ムーブメント" name="Movement">
<menu_item_call label="座る" name="Sit Down Here"/>
<menu_item_check label="飛ぶ" name="Fly"/>
@@ -22,34 +22,39 @@
<menu_item_call label="管理者権限のリクエスト" name="Request Admin Options"/>
<menu_item_call label="管理者ステータス解除" name="Leave Admin Options"/>
<menu_item_call label="L$ の購入" name="Buy and Sell L$"/>
+ <menu_item_call label="マイアカウント..." name="Manage My Account">
+ <menu_item_call.on_click name="ManageMyAccount_url" parameter="WebLaunchJoinNow,http://secondlife.com/account/index.php?lang=ja"/>
+ </menu_item_call>
<menu_item_call label="環境設定..." name="Preferences"/>
- <menu_item_call label="ツールバー..." name="Toolbars"/>
+ <menu_item_call label="ツールバーのボタン..." name="Toolbars"/>
<menu_item_call label="全てのコントロールを非表示にする" name="Hide UI"/>
<menu_item_call label="[APP_NAME] を終了" name="Quit"/>
</menu>
<menu label="コミュニケーション" name="Communicate">
+ <menu_item_check label="チャット..." name="Nearby Chat"/>
+ <menu_item_check label="話す" name="Speak"/>
+ <menu_item_check label="ボイス設定..." name="Nearby Voice"/>
+ <menu_item_check label="ボイスモーフィング..." name="ShowVoice"/>
+ <menu_item_check label="ジェスチャー..." name="Gestures"/>
<menu_item_call label="フレンド" name="My Friends"/>
- <menu_item_call label="所属グループ" name="My Groups"/>
- <menu_item_check label="近くのチャット" name="Nearby Chat"/>
+ <menu_item_call label="グループ" name="My Groups"/>
<menu_item_call label="近くにいる人" name="Active Speakers"/>
- <menu_item_check label="近くのボイス" name="Nearby Voice"/>
</menu>
<menu label="世界" name="World">
- <menu_item_check label="ミニマップ" name="Mini-Map"/>
+ <menu_item_call label="現在地をランドマーク" name="Create Landmark Here"/>
+ <menu_item_call label="行き先..." name="Destinations"/>
<menu_item_check label="世界地図" name="World Map"/>
+ <menu_item_check label="ミニマップ" name="Mini-Map"/>
<menu_item_check label="検索" name="Search"/>
+ <menu_item_call label="ホームにテレポート" name="Teleport Home"/>
+ <menu_item_call label="現在地をホームに設定" name="Set Home to Here"/>
<menu_item_call label="スナップショット" name="Take Snapshot"/>
- <menu_item_call label="現在地をランドマーク" name="Create Landmark Here"/>
- <menu label="場所のプロフィール" name="Land">
- <menu_item_call label="場所のプロフィール" name="Place Profile"/>
- <menu_item_call label="土地情報" name="About Land"/>
- <menu_item_call label="地域 / 不動産" name="Region/Estate"/>
- </menu>
+ <menu_item_call label="場所のプロフィール" name="Place Profile"/>
+ <menu_item_call label="土地情報" name="About Land"/>
+ <menu_item_call label="地域 / 不動産" name="Region/Estate"/>
+ <menu_item_call label="保有地..." name="My Land"/>
<menu_item_call label="この土地を購入" name="Buy Land"/>
- <menu_item_call label="自分の土地" name="My Land"/>
<menu label="表示" name="LandShow">
- <menu_item_check label="移動コントロール" name="Movement Controls"/>
- <menu_item_check label="カメラコントロール" name="Camera Controls"/>
<menu_item_check label="立入禁止ライン" name="Ban Lines"/>
<menu_item_check label="ビーコン(標識)" name="beacons"/>
<menu_item_check label="プロパティ境界線" name="Property Lines"/>
@@ -58,16 +63,15 @@
<menu_item_check label="区画プロパティ" name="Parcel Properties"/>
<menu_item_check label="アドバンスメニュー" name="Show Advanced Menu"/>
</menu>
- <menu_item_call label="ホームにテレポート" name="Teleport Home"/>
- <menu_item_call label="現在地をホームに設定" name="Set Home to Here"/>
<menu label="太陽" name="Environment Settings">
<menu_item_call label="日の出" name="Sunrise"/>
<menu_item_call label="正午" name="Noon"/>
<menu_item_call label="日没" name="Sunset"/>
<menu_item_call label="深夜" name="Midnight"/>
+ <menu_item_call label="リージョンの設定を使用" name="Use Region Settings"/>
</menu>
- <menu label="自然環境エディター" name="Enviroment Editor">
- <menu_item_call label="環境の設定..." name="Enviroment Settings"/>
+ <menu label="自然環境エディター" name="Environment Editor">
+ <menu_item_call label="自然環境の設定..." name="Environment Settings"/>
<menu label="水の事前設定" name="Water Presets">
<menu_item_call label="新しい事前設定..." name="new_water_preset"/>
<menu_item_call label="事前設定を編集..." name="edit_water_preset"/>
@@ -146,6 +150,7 @@
<menu_item_call label="やり直し" name="Redo"/>
</menu>
<menu label="ヘルプ" name="Help">
+ <menu_item_call label="ハウツー..." name="How To"/>
<menu_item_call label="[SECOND_LIFE] ヘルプ" name="Second Life Help"/>
<menu_item_call label="嫌がらせを報告する" name="Report Abuse"/>
<menu_item_call label="バグを報告する" name="Report Bug"/>
@@ -200,11 +205,10 @@
<menu_item_check label="Use Plugin Read Thread" name="Use Plugin Read Thread"/>
<menu_item_call label="グループキャッシュのクリア" name="ClearGroupCache"/>
<menu_item_check label="マウスの平滑化" name="Mouse Smoothing"/>
+ <menu_item_call label="リリースキー" name="Release Keys"/>
<menu label="ショートカット" name="Shortcuts">
<menu_item_call label="画像 (L$ [COST] )..." name="Upload Image"/>
<menu_item_check label="検索" name="Search"/>
- <menu_item_call label="キーをリリース" name="Release Keys"/>
- <menu_item_call label="UI のサイズをデフォルトに設定する" name="Set UI Size to Default"/>
<menu_item_check label="アドバンスメニューを表示 - レガシーのショートカット" name="Show Advanced Menu - legacy shortcut"/>
<menu_item_call label="ウィンドウを閉じる" name="Close Window"/>
<menu_item_call label="全てのウィンドウを閉じる" name="Close All Windows"/>
@@ -290,6 +294,7 @@
<menu_item_check label="光" name="Lights"/>
<menu_item_check label="骨組みの衝突判定" name="Collision Skeleton"/>
<menu_item_check label="レイキャスト" name="Raycast"/>
+ <menu_item_check label="風のベクトル" name="Wind Vectors"/>
<menu_item_check label="描画の詳細度" name="rendercomplexity"/>
<menu_item_check label="スカルプト" name="Sculpt"/>
</menu>
@@ -302,7 +307,6 @@
<menu_item_check label="光と影" name="Lighting and Shadows"/>
<menu_item_check label="太陽・月・プロジェクタからの影" name="Shadows from Sun/Moon/Projectors"/>
<menu_item_check label="SSAO と影の平滑化" name="SSAO and Shadow Smoothing"/>
- <menu_item_check label="グローバルイルミネーション(試験段階)" name="Global Illumination"/>
<menu_item_check label="GL デバッグ" name="Debug GL"/>
<menu_item_check label="経路をデバッグ" name="Debug Pipeline"/>
<menu_item_check label="自動アルファマスク(遅延)" name="Automatic Alpha Masks (deferred)"/>
diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml
index 141f2c8071..20468c8c2a 100644
--- a/indra/newview/skins/default/xui/ja/notifications.xml
+++ b/indra/newview/skins/default/xui/ja/notifications.xml
@@ -1144,8 +1144,13 @@ L$ は返金されません。
-safe オプションを指定したので、
表示設定はセーフレベルに設定されています。
</notification>
- <notification name="DisplaySetToRecommended">
- 表示設定は、あなたのシステム構成に基づいて推奨されたレベルに設定されています。
+ <notification name="DisplaySetToRecommendedGPUChange">
+ グラフィックの変更により、画面設定は推奨レベルに設定されました。
+&apos;[LAST_GPU]&apos; から
+&apos;[THIS_GPU]&apos; まで
+ </notification>
+ <notification name="DisplaySetToRecommendedFeatureChange">
+ レンダリングサブシステムの変更により、画面設定は推奨レベルに設定されました。
</notification>
<notification name="ErrorMessage">
[ERROR_MESSAGE]
@@ -1954,7 +1959,13 @@ Adult 専用リージョンに入るには、住人のアカウントが年齢
<usetemplate ignoretext="終了時の確認" name="okcancelignore" notext="終了しない" yestext="終了"/>
</notification>
<notification name="ConfirmRestoreToybox">
- デフォルトのボタンとツールバーを復元しますか?
+ この操作を実行すると、デフォルト設定のボタンとツールバーが復元されます。
+
+この操作は元に戻せません。
+ <usetemplate name="okcancelbuttons" notext="取り消し" yestext="OK"/>
+ </notification>
+ <notification name="ConfirmClearAllToybox">
+ この操作により、全てのボタンはツールボックスに戻り、ツールバーは空になります。
この操作は元に戻せません。
<usetemplate name="okcancelbuttons" notext="取り消し" yestext="OK"/>
@@ -2167,10 +2178,10 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
件名: [SUBJECT]、メッセージ: [MESSAGE]
</notification>
<notification name="FriendOnline">
- &lt;nolink&gt;[NAME]&lt;/nolink&gt; はオンライン中です
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; はオンラインです
</notification>
<notification name="FriendOffline">
- &lt;nolink&gt;[NAME]&lt;/nolink&gt; はオフライン中です
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; はオフラインです
</notification>
<notification name="AddSelfFriend">
残念ながら自分自身をフレンド登録することはできません。
@@ -2284,13 +2295,15 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
コーリングカードが拒否されました。
</notification>
<notification name="TeleportToLandmark">
- 画面右の「場所」パネルを開いて、「ランドマーク」タブを選ぶと、[NAME] といった場所にテレポートできます。
-好きなランドマークをクリックして選び、次にパネル下の「テレポート」をクリックします。
-(ランドマークをダブルクリック、または右クリックして「テレポート」を選んでも同じです。)
+ [NAME] などの場所にテレポートするには、「場所」ボタンをクリックしてから、
+表示されたウィンドウで「ランドマーク」タブを選択します。ランドマークを
+いずれか 1 つ選択してから、ウィンドウ下部にある「テレポート」をクリックします。
+(この操作は、ランドマークをダブルクリックするか、右クリックして
+「テレポート」を選択して実行することもできます。)
</notification>
<notification name="TeleportToPerson">
- 画面右の「人」パネルを開いて、[NAME] といった住人に連絡を取ることができます。
-リストから住人を選択して、パネル下の「IM」をクリックします。
+ [NAME] のような住人に連絡をとるには、「人」ボタンをクリックし、表示されるウィンドウで「住人」を選択してから、
+ウィンドウ下部にある「IM」をクリックします。
(リストの名前をダブルクリック、または右クリックして「IM」を選んでも同じです。)
</notification>
<notification name="CantSelectLandFromMultipleRegions">
@@ -2312,6 +2325,9 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
<notification name="PaymentSent">
[MESSAGE]
</notification>
+ <notification name="PaymentFailure">
+ [MESSAGE]
+ </notification>
<notification name="EventNotification">
イベント通知:
@@ -2567,10 +2583,10 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
</form>
</notification>
<notification name="FriendshipAccepted">
- &lt;nolink&gt;[NAME]&lt;/nolink&gt;は、フレンド登録を受け入れました。
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; はあなたからの友人登録リクエストを受諾しました。
</notification>
<notification name="FriendshipDeclined">
- &lt;nolink&gt;[NAME]&lt;/nolink&gt;は、フレンド登録を断りました。
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; はあなたからの友人登録リクエストを拒否しました。
</notification>
<notification name="FriendshipAcceptedByMe">
フレンドの登録依頼が承認されました。
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_skin.xml b/indra/newview/skins/default/xui/ja/panel_edit_skin.xml
index 2c554dad94..7573132576 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_skin.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="edit_skin_panel">
<panel name="avatar_skin_color_panel">
- <texture_picker label="頭部のタトゥー" name="Head Tattoos" tool_tip="クリックして写真を選択"/>
- <texture_picker label="上部のタトゥー" name="Upper Tattoos" tool_tip="クリックして写真を選択"/>
- <texture_picker label="下部のタトゥー" name="Lower Tattoos" tool_tip="クリックして写真を選択"/>
+ <texture_picker label="頭" name="Head" tool_tip="クリックして写真を選択します"/>
+ <texture_picker label="上半身" name="Upper Body" tool_tip="クリックして写真を選択します"/>
+ <texture_picker label="下半身" name="Lower Body" tool_tip="クリックして写真を選択します"/>
</panel>
<panel name="accordion_panel">
<accordion name="wearable_accordion">
diff --git a/indra/newview/skins/default/xui/ja/panel_postcard_message.xml b/indra/newview/skins/default/xui/ja/panel_postcard_message.xml
new file mode 100644
index 0000000000..b7c3f48557
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_postcard_message.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_message">
+ <text name="to_label">
+ 終:
+ </text>
+ <text name="name_label">
+ 始:
+ </text>
+ <text name="subject_label">
+ 件名:
+ </text>
+ <line_editor label="件名をここに入力してください。" name="subject_form"/>
+ <text name="msg_label">
+ メッセージ:
+ </text>
+ <text_editor name="msg_form">
+ メッセージをここに入力してください。
+ </text_editor>
+ <button label="取り消し" name="cancel_btn"/>
+ <button label="送信" name="send_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_postcard_settings.xml b/indra/newview/skins/default/xui/ja/panel_postcard_settings.xml
new file mode 100644
index 0000000000..314aaef7fd
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_postcard_settings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_settings">
+ <combo_box label="解像度" name="postcard_size_combo">
+ <combo_box.item label="現在のウィンドウ" name="CurrentWindow"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="カスタム" name="Custom"/>
+ </combo_box>
+ <layout_stack name="postcard_image_params_ls">
+ <layout_panel name="postcard_image_size_lp">
+ <spinner label="幅" name="postcard_snapshot_width"/>
+ <spinner label="高さ" name="postcard_snapshot_height"/>
+ <check_box label="縦横比の固定" name="postcard_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="postcard_image_format_quality_lp">
+ <slider label="画質" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml b/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml
index 1502442a06..75bf28a3c8 100644
--- a/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml
@@ -29,30 +29,5 @@
<check_box label="IM チャット" name="EnableIMChatPopups" tool_tip="これを選択すると、インスタントメッセージを受信した際にポップアップが表示されます"/>
<spinner label="近くのチャットメッセージが表示される長さ:" name="nearby_toasts_lifetime"/>
<spinner label="近くのチャットメッセージが消えるまでの長さ:" name="nearby_toasts_fadingtime"/>
- <check_box label="Use machine translation while chatting" name="translate_chat_checkbox"/>
- <text name="translate_chb_label">
- チャット中に内容を機械翻訳する
- </text>
- <text name="translate_language_text">
- 翻訳する言語:
- </text>
- <combo_box name="translate_language_combobox">
- <combo_box.item label="システム標準" name="System Default Language"/>
- <combo_box.item label="English(英語)" name="English"/>
- <combo_box.item label="Dansk(デンマーク語)" name="Danish"/>
- <combo_box.item label="Deutsch(ドイツ語)" name="German"/>
- <combo_box.item label="Español(スペイン語)" name="Spanish"/>
- <combo_box.item label="Français(フランス語)" name="French"/>
- <combo_box.item label="Italiano(イタリア語)" name="Italian"/>
- <combo_box.item label="Magyar(ハンガリー語)" name="Hungarian"/>
- <combo_box.item label="Nederlands(オランダ語)" name="Dutch"/>
- <combo_box.item label="Polski(ポーランド語)" name="Polish"/>
- <combo_box.item label="Português(ポルトガル語)" name="Portugese"/>
- <combo_box.item label="Русский(ロシア語)" name="Russian"/>
- <combo_box.item label="Türkçe(トルコ語)" name="Turkish"/>
- <combo_box.item label="Українська(ウクライナ語)" name="Ukrainian"/>
- <combo_box.item label="中文 (正體) (Chinese)" name="Chinese"/>
- <combo_box.item label="日本語" name="Japanese"/>
- <combo_box.item label="한국어(韓国語)" name="Korean"/>
- </combo_box>
+ <button label="チャットの翻訳設定" name="ok_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_general.xml b/indra/newview/skins/default/xui/ja/panel_preferences_general.xml
index 1bafa52fbe..91e1514e49 100644
--- a/indra/newview/skins/default/xui/ja/panel_preferences_general.xml
+++ b/indra/newview/skins/default/xui/ja/panel_preferences_general.xml
@@ -16,7 +16,7 @@
<combo_box.item label="Русский (ロシア語) - ベータ" name="Russian"/>
<combo_box.item label="Türkçe (トルコ語) - ベータ" name="Turkish"/>
<combo_box.item label="日本語 – ベータ" name="(Japanese)"/>
- <combo_box.item label="正體中文 (中国語 - 繁体字) - ベータ" name="Traditional Chinese"/>
+ <combo_box.item label="正體中文(簡体字中国語)- ベータ版" name="Traditional Chinese"/>
</combo_box>
<text name="language_textbox2">
(再起動後に反映)
diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_setup.xml b/indra/newview/skins/default/xui/ja/panel_preferences_setup.xml
index 7877c0495f..d90a1632ab 100644
--- a/indra/newview/skins/default/xui/ja/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/ja/panel_preferences_setup.xml
@@ -15,7 +15,7 @@
Web:
</text>
<radio_group name="use_external_browser">
- <radio_item label="指定のブラウザ(IE や Firefox)を使用" name="external" tool_tip="デフォルトのシステム Web ブラウザでヘルプや Web リンク先などを見ます。全画面で起動中にはおすすめしません。" value="1"/>
+ <radio_item label="指定のブラウザ(IE や Firefox)を使用" name="external" tool_tip="デフォルトのシステム Web ブラウザでヘルプや Web リンク先などを見ます。全画面で起動中にはおすすめしません。" value="true"/>
<radio_item label="内蔵ブラウザを使用" name="internal" tool_tip="内蔵ブラウザでヘルプや Web リンクなどを見ます。[APP_NAME] 内に新しいウィンドウでこのブラウザが開きます。" value=""/>
</radio_group>
<check_box initial_value="true" label="プラグインを有効にする" name="browser_plugins_enabled"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/ja/panel_snapshot_inventory.xml
new file mode 100644
index 0000000000..46f2b0a3f9
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_snapshot_inventory.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_inventory">
+ <text name="title">
+ 「持ち物」に保存
+ </text>
+ <text name="hint_lbl">
+ 画像を持ち物に保存するには L$[UPLOAD_COST] の費用がかかります。画像をテクスチャとして保存するには平方形式の 1 つを選択してください。
+ </text>
+ <combo_box label="解像度" name="texture_size_combo">
+ <combo_box.item label="現在のウィンドウ" name="CurrentWindow"/>
+ <combo_box.item label="小(128x128)" name="Small(128x128)"/>
+ <combo_box.item label="中(256x256)" name="Medium(256x256)"/>
+ <combo_box.item label="大(512x512)" name="Large(512x512)"/>
+ <combo_box.item label="カスタム" name="Custom"/>
+ </combo_box>
+ <spinner label="幅" name="inventory_snapshot_width"/>
+ <spinner label="高さ" name="inventory_snapshot_height"/>
+ <check_box label="縦横比の固定" name="inventory_keep_aspect_check"/>
+ <button label="取り消し" name="cancel_btn"/>
+ <button label="保存" name="save_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_snapshot_local.xml b/indra/newview/skins/default/xui/ja/panel_snapshot_local.xml
new file mode 100644
index 0000000000..cb658fb6c9
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_snapshot_local.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_local">
+ <text name="title">
+ コンピューターに保存
+ </text>
+ <combo_box label="解像度" name="local_size_combo">
+ <combo_box.item label="現在のウィンドウ" name="CurrentWindow"/>
+ <combo_box.item label="320x240" name="320x240"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="1280x1024" name="1280x1024"/>
+ <combo_box.item label="1600x1200" name="1600x1200"/>
+ <combo_box.item label="カスタム" name="Custom"/>
+ </combo_box>
+ <layout_stack name="local_image_params_ls">
+ <layout_panel name="local_image_size_lp">
+ <spinner label="幅" name="local_snapshot_width"/>
+ <spinner label="高さ" name="local_snapshot_height"/>
+ <check_box label="縦横比の固定" name="local_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="local_image_format_quality_lp">
+ <combo_box label="書式" name="local_format_combo">
+ <combo_box.item label="PNG(可逆圧縮)" name="PNG"/>
+ <combo_box.item label="JPEG" name="JPEG"/>
+ <combo_box.item label="BMP(可逆圧縮)" name="BMP"/>
+ </combo_box>
+ <slider label="画質" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+ <button label="取り消し" name="cancel_btn"/>
+ <flyout_button label="保存" name="save_btn" tool_tip="画像をファイルに保存">
+ <flyout_button.item label="保存" name="save_item"/>
+ <flyout_button.item label="別名で保存..." name="saveas_item"/>
+ </flyout_button>
+</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_snapshot_options.xml b/indra/newview/skins/default/xui/ja/panel_snapshot_options.xml
new file mode 100644
index 0000000000..cd5b7590ad
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_snapshot_options.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_options">
+ <button label="プロフィールフィードに投稿する" name="save_to_profile_btn"/>
+ <button label="メール" name="save_to_email_btn"/>
+ <button label="持ち物に保存(L$[Amount])" name="save_to_inventory_btn"/>
+ <button label="コンピューターに保存" name="save_to_computer_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_snapshot_postcard.xml b/indra/newview/skins/default/xui/ja/panel_snapshot_postcard.xml
new file mode 100644
index 0000000000..1ddd723840
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_snapshot_postcard.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_postcard">
+ <string name="default_subject">
+ [SECOND_LIFE] からのポストカードです。
+ </string>
+ <string name="default_message">
+ ぜひご覧ください!
+ </string>
+ <string name="upload_message">
+ 送信中...
+ </string>
+ <text name="title">
+ メール
+ </text>
+ <button label="メッセージ" name="message_btn"/>
+ <button label="設定" name="settings_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_snapshot_profile.xml b/indra/newview/skins/default/xui/ja/panel_snapshot_profile.xml
new file mode 100644
index 0000000000..b860a6afe9
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_snapshot_profile.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_profile">
+ <text name="title">
+ プロフィールフィードに投稿する
+ </text>
+ <combo_box label="解像度" name="profile_size_combo">
+ <combo_box.item label="現在のウィンドウ" name="CurrentWindow"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="カスタム" name="Custom"/>
+ </combo_box>
+ <layout_stack name="profile_image_params_ls">
+ <layout_panel name="profile_image_size_lp">
+ <spinner label="幅" name="profile_snapshot_width"/>
+ <spinner label="高さ" name="profile_snapshot_height"/>
+ <check_box label="縦横比の固定" name="profile_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="profile_image_metadata_lp">
+ <text name="caption_label">
+ キャプション:
+ </text>
+ <check_box initial_value="true" label="場所を含む" name="add_location_cb"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="取り消し" name="cancel_btn"/>
+ <button label="投稿" name="post_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml
index f611b96502..c6b033ed95 100644
--- a/indra/newview/skins/default/xui/ja/strings.xml
+++ b/indra/newview/skins/default/xui/ja/strings.xml
@@ -1214,7 +1214,7 @@ support@secondlife.com にお問い合わせください。
「持ち物」内にこのテクスチャのコピーがありません
</string>
<string name="InventoryInboxNoItems">
- マーケットプレイスで購入した商品はここに配達されます。
+ 購入するなどして取得したアイテムや商品はここに表示され、持ち物のフォルダにドラッグして移動することもできれば、要らなくなった場合には削除することができます。
</string>
<string name="MarketplaceURL">
http://marketplace.[DOMAIN_NAME]
@@ -1412,6 +1412,9 @@ support@secondlife.com にお問い合わせください。
<string name="no_attachments">
着用しているアタッチメントはありません
</string>
+ <string name="Attachments remain">
+ アタッチメント(残りのスロット数:[COUNT])
+ </string>
<string name="Buy">
買う
</string>
@@ -1538,6 +1541,12 @@ support@secondlife.com にお問い合わせください。
<string name="Right Pec">
右胸筋
</string>
+ <string name="Neck">
+ 首
+ </string>
+ <string name="Avatar Center">
+ アバターの中央
+ </string>
<string name="Invalid Attachment">
装着先が正しくありません
</string>
@@ -4030,6 +4039,18 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
<string name="you_paid_ldollars_no_name">
L$ [AMOUNT] を支払いました:[REASON]
</string>
+ <string name="you_paid_failure_ldollars">
+ [NAME] に [REASON] の代金 L$ [AMOUNT] を支払えませんでした。
+ </string>
+ <string name="you_paid_failure_ldollars_no_info">
+ L$ [AMOUNT] を支払えませんでした。
+ </string>
+ <string name="you_paid_failure_ldollars_no_reason">
+ [NAME] に L$ [AMOUNT] を支払えませんでした。
+ </string>
+ <string name="you_paid_failure_ldollars_no_name">
+ [REASON] の 代金 L$ [AMOUNT] を支払えませんでした。
+ </string>
<string name="for item">
[ITEM] 向け
</string>
@@ -4440,6 +4461,12 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
<string name="ExternalEditorFailedToRun">
外部エディターを実行できませんでした。
</string>
+ <string name="TranslationFailed">
+ 翻訳できませんでした:[REASON]
+ </string>
+ <string name="TranslationResponseParseError">
+ 翻訳の応答にエラーが発生しました。
+ </string>
<string name="Esc">
Esc
</string>
@@ -4810,7 +4837,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
ミニマップ
</string>
<string name="Command_Move_Label">
- 移動
+ 歩行 / 走行 / 飛行
</string>
<string name="Command_People_Label">
@@ -4837,10 +4864,10 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
話す
</string>
<string name="Command_View_Label">
- 視界
+ カメラコントロール
</string>
<string name="Command_Voice_Label">
- 近くのボイス
+ ボイス設定
</string>
<string name="Command_AboutLand_Tooltip">
訪問先に関する情報
@@ -4912,7 +4939,16 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
カメラの角度を変更
</string>
<string name="Command_Voice_Tooltip">
- ボイスチャット機能を持つ近くの人
+ インワールドでのコールや近くにいる人の音量調整
+ </string>
+ <string name="Toolbar_Bottom_Tooltip">
+ 現在、下のツールバーにあります
+ </string>
+ <string name="Toolbar_Left_Tooltip">
+ 現在、左のツールバーにあります
+ </string>
+ <string name="Toolbar_Right_Tooltip">
+ 現在、右のツールバーにあります
</string>
<string name="Retain%">
維持率
@@ -4938,4 +4974,19 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
<string name="Normal">
普通
</string>
+ <string name="snapshot_quality_very_low">
+ 非常に低い
+ </string>
+ <string name="snapshot_quality_low">
+ 低
+ </string>
+ <string name="snapshot_quality_medium">
+ 中
+ </string>
+ <string name="snapshot_quality_high">
+ 高
+ </string>
+ <string name="snapshot_quality_very_high">
+ 非常に高い
+ </string>
</strings>
diff --git a/indra/newview/skins/default/xui/ja/teleport_strings.xml b/indra/newview/skins/default/xui/ja/teleport_strings.xml
index 04ea1c2438..6c69c7a231 100644
--- a/indra/newview/skins/default/xui/ja/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/ja/teleport_strings.xml
@@ -21,8 +21,8 @@
もう少し後でやり直してください。
</message>
<message name="NoHelpIslandTP">
- Welcome Islandには戻ることができません。
-「Welcome Island Public」に行き、
+ ウェルカムアイランドにテレポートで戻ることはできません。
+「Welcome Island Public」に行き再度チュートリアルを行ってください。
</message>
<message name="noaccess_tport">
残念ながら、そのテレポート目的地へのアクセスがありません。
diff --git a/indra/newview/skins/default/xui/pt/floater_about.xml b/indra/newview/skins/default/xui/pt/floater_about.xml
index c374264c4a..e843e56090 100644
--- a/indra/newview/skins/default/xui/pt/floater_about.xml
+++ b/indra/newview/skins/default/xui/pt/floater_about.xml
@@ -65,13 +65,35 @@ Versão do servidor de voz: [VOICE_VERSION]
</panel>
<panel label="Licenças" name="licenses_panel">
<text_editor name="credits_editor">
- 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion APR Copyright (C) 2000-2004 The Apache Software Foundation Collada DOM Copyright 2005 Sony Computer Entertainment Inc. cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se) DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc. expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd. FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org). GL Copyright (C) 1999-2004 Brian Paul. GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University and David Luebke, Brenden Schubert, University of Virginia. google-perftools Copyright (c) 2005, Google Inc. Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited. jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW) jpeglib Copyright (C) 1991-1998, Thomas G. Lane. ogg/vorbis Copyright (C) 2001, Xiphophorus OpenSSL Copyright (C) 1998-2002 The OpenSSL Project. PCRE Copyright (c) 1997-2008 University of Cambridge SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) xmlrpc-epi Copyright (C) 2000 Epinions, Inc. zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler. google-perftools Copyright (c) 2005, Google Inc.
+ 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
+ APR Copyright (C) 2000-2004 The Apache Software Foundation
+ Collada DOM Copyright 2005 Sony Computer Entertainment Inc.
+ cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
+ DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
+ expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
+ FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
+ GL Copyright (C) 1999-2004 Brian Paul.
+ GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University e David Luebke, Brenden Schubert, University of Virginia.
+ google-perftools Copyright (c) 2005, Google Inc.
+ Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
+ jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
+ jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
+ ogg/vorbis Copyright (C) 2001, Xiphophorus
+ OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
+ PCRE Copyright (c) 1997-2008 University of Cambridge
+ SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
+ SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
+ zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler.
+ google-perftools Copyright (c) 2005, Google Inc.
-O Second Life Viewer usa Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (e licenciadores). Todos os direitos reservados. Mais detalhes em www.havok.com
+ O Visualizador do Second Life usa Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (e seus Licenciantes). Todos os direitos reservados. Consulte www.havok.com para obter detalhes.
-Todos os direitos reservados. Mais detalhes em licenses.txt.
+ Este software contém código fonte fornecido pela NVIDIA Corporation.
-Codificação do áudio de bate-papo de voz: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
+ Todos os direitos reservados. Consulte licenses.txt para obter detalhes.
+
+ Codificação de áudio da conversa com voz: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
</text_editor>
</panel>
</tab_container>
diff --git a/indra/newview/skins/default/xui/pt/floater_about_land.xml b/indra/newview/skins/default/xui/pt/floater_about_land.xml
index cc09888994..30d4b0290c 100644
--- a/indra/newview/skins/default/xui/pt/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/pt/floater_about_land.xml
@@ -130,7 +130,7 @@ Vá para o menu Mundo &gt; Sobre o terreno ou selecione outro lote para mostrar
Tráfego:
</text>
<text name="DwellText">
- 0
+ Carregando...
</text>
<button label="Comprar terreno..." label_selected="Comprar terreno..." left="130" name="Buy Land..." width="125"/>
<button label="Venda Linden" name="Linden Sale..." tool_tip="O terreno precisa ser possuído, estar com o conteúdo configurado e não estar pronto para leilão."/>
@@ -309,13 +309,15 @@ Apenas lotes maiores podem ser listados na busca.
Proibido empurrar (regulamento da região)
</panel.string>
<panel.string name="see_avs_text">
- Veja e bata papo com os residentes deste terreno
+ Avatares em outros lotes podem ver
</panel.string>
<text name="allow_label">
Autorizar outros residentes a:
</text>
- <check_box label="Editar terreno" name="edit land check" tool_tip="Se ativado, qualquer um pode modificar o terreno. É melhor deixar esta opção desativada, uma vez que você sempre pode editar seu próprio terreno."/>
- <check_box label="Voar" name="check fly" tool_tip="Se ativado, residentes podem voar sobre seu terreno. Se desativado, eles podem voar apenas até chegar ou sobrevoar o seu terreno."/>
+ <text name="allow_label0">
+ Voar:
+ </text>
+ <check_box label="Todos" name="check fly" tool_tip="Se ativado, residentes podem voar sobre seu terreno. Se desativado, eles podem voar apenas até chegar ou sobrevoar o seu terreno."/>
<text name="allow_label2">
Criar objetos:
</text>
@@ -331,9 +333,6 @@ Apenas lotes maiores podem ser listados na busca.
</text>
<check_box label="Residentes" name="check other scripts"/>
<check_box label="Grupo" name="check group scripts"/>
- <text name="land_options_label">
- Opções do terreno:
- </text>
<check_box label="Seguro (sem danos)" name="check safe" tool_tip="Se ativado, ajusta o terreno para Seguro, impedindo lutas com danos. Se não ativado, lutas com danos é habilitado."/>
<check_box label="Proibido empurrar" name="PushRestrictCheck" tool_tip="Evita scripts que empurram. Ativar essa opção ajuda a prevenir comportamentos desordeiros no seu terreno."/>
<check_box label="Mostrar terreno nos resultados de busca (L$30/semana)" name="ShowDirectoryCheck" tool_tip="Permitir que as pessoas vejam este terreno nos resultados de busca"/>
@@ -374,9 +373,9 @@ Apenas lotes maiores podem ser listados na busca.
</text>
<texture_picker label="" name="snapshot_ctrl" tool_tip="Clique para escolher uma imagem"/>
<text name="allow_label5">
- Permitir que residentes de outros terrenos:
+ e bater papo com avatares neste lote
</text>
- <check_box label="Ver avatares" name="SeeAvatarsCheck" tool_tip="Permite que residentes de outros terrenos vejam e conversem com os residentes deste terreno e vice-versa."/>
+ <check_box label="Ver avatares" name="SeeAvatarsCheck" tool_tip="Permite que os avatares em outros lotes vejam e batam papo com avatares neste lote. Você poderá vê-los e conversar com eles."/>
<text name="landing_point">
Ponto de Aterrissagem: [LANDING]
</text>
diff --git a/indra/newview/skins/default/xui/pt/floater_avatar.xml b/indra/newview/skins/default/xui/pt/floater_avatar.xml
index f51b765105..168cdacae1 100644
--- a/indra/newview/skins/default/xui/pt/floater_avatar.xml
+++ b/indra/newview/skins/default/xui/pt/floater_avatar.xml
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Avatar" title="SELETOR DE AVATAR"/>
+<floater name="Avatar" title="ESCOLHA UM AVATAR"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_buy_currency.xml b/indra/newview/skins/default/xui/pt/floater_buy_currency.xml
index b5ba477fe5..2845a29e1d 100644
--- a/indra/newview/skins/default/xui/pt/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/pt/floater_buy_currency.xml
@@ -46,7 +46,7 @@
L$ [AMT]
</text>
<text name="currency_links">
- [http://www.secondlife.com/my/account/payment_method_management.php payment method] | [http://www.secondlife.com/my/account/currency.php currency]
+ [http://www.secondlife.com/my/account/payment_method_management.php método de pagamento] | [http://www.secondlife.com/my/account/currency.php moeda]
</text>
<text name="exchange_rate_note">
Digite o valor novamente para ver o câmbio atual.
diff --git a/indra/newview/skins/default/xui/pt/floater_camera.xml b/indra/newview/skins/default/xui/pt/floater_camera.xml
index 6b66d01781..9cda01c187 100644
--- a/indra/newview/skins/default/xui/pt/floater_camera.xml
+++ b/indra/newview/skins/default/xui/pt/floater_camera.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="camera_floater" title="EXIBIR">
+<floater name="camera_floater" title="CONTROLES DA CÂMERA">
<floater.string name="rotate_tooltip">
Girar a Câmera ao redor do Foco
</floater.string>
diff --git a/indra/newview/skins/default/xui/pt/floater_hardware_settings.xml b/indra/newview/skins/default/xui/pt/floater_hardware_settings.xml
index 8c95a3b548..1bc2bce768 100644
--- a/indra/newview/skins/default/xui/pt/floater_hardware_settings.xml
+++ b/indra/newview/skins/default/xui/pt/floater_hardware_settings.xml
@@ -4,7 +4,7 @@
Filtragem:
</text>
<check_box label="Filtragem Anisotrópica (mais lento quando habilitada)" name="ani"/>
- <text name="Antialiasing:">
+ <text name="antialiasing label">
Suavização:
</text>
<combo_box label="Suavização" name="fsaa" width="94">
diff --git a/indra/newview/skins/default/xui/pt/floater_model_preview.xml b/indra/newview/skins/default/xui/pt/floater_model_preview.xml
index 17abe72173..8960500831 100644
--- a/indra/newview/skins/default/xui/pt/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/pt/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
Erro: Problema ao analisar .dae - consulte log para obter detalhes.
</string>
+ <string name="status_material_mismatch">
+ Erro: o material do modelo não é um subconjunto do modelo de referência.
+ </string>
<string name="status_reading_file">
Carregando...
</string>
diff --git a/indra/newview/skins/default/xui/pt/floater_model_wizard.xml b/indra/newview/skins/default/xui/pt/floater_model_wizard.xml
index d9195adbf9..498058f933 100644
--- a/indra/newview/skins/default/xui/pt/floater_model_wizard.xml
+++ b/indra/newview/skins/default/xui/pt/floater_model_wizard.xml
@@ -20,6 +20,9 @@
Escolha o arquivo de modelo para upload
</text>
<button label="Procurar..." label_selected="Procurar..." name="browse"/>
+ <text name="Model types">
+ O Second Life oferece suporte a arquivos COLLADA (.dae)
+ </text>
<text name="dimensions">
X Y Z
</text>
diff --git a/indra/newview/skins/default/xui/pt/floater_moveview.xml b/indra/newview/skins/default/xui/pt/floater_moveview.xml
index 0cb6f9a98e..728357a400 100644
--- a/indra/newview/skins/default/xui/pt/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/pt/floater_moveview.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="move_floater" title="MOVER">
+<floater name="move_floater" title="ANDAR/CORRER/VOAR">
<string name="walk_forward_tooltip">
Andar para frente (flecha para cima ou W)
</string>
diff --git a/indra/newview/skins/default/xui/pt/floater_snapshot.xml b/indra/newview/skins/default/xui/pt/floater_snapshot.xml
index d62fe3dd20..4110e69068 100644
--- a/indra/newview/skins/default/xui/pt/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/pt/floater_snapshot.xml
@@ -3,73 +3,63 @@
<floater.string name="unknown">
desconhecido
</floater.string>
- <radio_group label="Tipo de foto" name="snapshot_type_radio">
- <radio_item label="Email" name="postcard"/>
- <radio_item label="Meu inventário (L$[AMOUNT])" name="texture"/>
- <radio_item label="Salvar no meu PC" name="local"/>
- </radio_group>
+ <string name="postcard_progress_str">
+ Enviando e-mail
+ </string>
+ <string name="profile_progress_str">
+ Postando
+ </string>
+ <string name="inventory_progress_str">
+ Salvando no inventário
+ </string>
+ <string name="local_progress_str">
+ Salvo no computador
+ </string>
+ <string name="profile_succeeded_str">
+ Imagem carregada
+ </string>
+ <string name="postcard_succeeded_str">
+ E-mail enviado!
+ </string>
+ <string name="inventory_succeeded_str">
+ Salvo no inventário!
+ </string>
+ <string name="local_succeeded_str">
+ Salvo no computador!
+ </string>
+ <string name="profile_failed_str">
+ Falha ao carregar a imagem no feed do seu perfil.
+ </string>
+ <string name="postcard_failed_str">
+ Falha ao enviar e-mail.
+ </string>
+ <string name="inventory_failed_str">
+ Falha ao salvar no inventário.
+ </string>
+ <string name="local_failed_str">
+ Falha ao salvar no computador.
+ </string>
+ <button name="advanced_options_btn" tool_tip="Opções avançadas"/>
+ <text name="image_res_text">
+ [WIDTH] x [HEIGHT] px
+ </text>
<text name="file_size_label">
[TAMANHO] KB
</text>
- <button label="Atualizar a foto" name="new_snapshot_btn"/>
- <button label="Enviar" name="send_btn"/>
- <button label="Economize (L$[AMOUNT])" name="upload_btn"/>
- <flyout_button label="Salvar" name="save_btn" tool_tip="Salvar imagem em um arquivo">
- <flyout_button.item label="Salvar" name="save_item"/>
- <flyout_button.item label="Salvar como..." name="saveas_item"/>
- </flyout_button>
- <button label="Mais" name="more_btn" tool_tip="Opções avançadas"/>
- <button label="Menos" name="less_btn" tool_tip="Opções avançadas"/>
- <button label="Cancelar" name="discard_btn"/>
- <text name="type_label2">
- Tamanho
- </text>
- <text name="format_label">
- Formato
- </text>
- <combo_box label="Resolução" name="postcard_size_combo">
- <combo_box.item label="Janela atual" name="CurrentWindow"/>
- <combo_box.item label="640x480" name="640x480"/>
- <combo_box.item label="800x600" name="800x600"/>
- <combo_box.item label="1024x768" name="1024x768"/>
- <combo_box.item label="Customizado" name="Custom"/>
- </combo_box>
- <combo_box label="Resolução" name="texture_size_combo">
- <combo_box.item label="Janela atual" name="CurrentWindow"/>
- <combo_box.item label="Pequeno (128x128)" name="Small(128x128)"/>
- <combo_box.item label="Médio (256x256)" name="Medium(256x256)"/>
- <combo_box.item label="Grande (512x512)" name="Large(512x512)"/>
- <combo_box.item label="Customizado" name="Custom"/>
- </combo_box>
- <combo_box label="Resolução" name="local_size_combo">
- <combo_box.item label="Janela atual" name="CurrentWindow"/>
- <combo_box.item label="320x240" name="320x240"/>
- <combo_box.item label="640x480" name="640x480"/>
- <combo_box.item label="800x600" name="800x600"/>
- <combo_box.item label="1024x768" name="1024x768"/>
- <combo_box.item label="1280x1024" name="1280x1024"/>
- <combo_box.item label="1600x1200" name="1600x1200"/>
- <combo_box.item label="Customizado" name="Custom"/>
- </combo_box>
- <combo_box label="Formato" name="local_format_combo">
- <combo_box.item label="PNG" name="PNG"/>
- <combo_box.item label="JPEG" name="JPEG"/>
- <combo_box.item label="BMP" name="BMP"/>
- </combo_box>
- <spinner label="Largura" name="snapshot_width"/>
- <spinner label="Altura" name="snapshot_height"/>
- <check_box label="Limitar proproções" name="keep_aspect_check"/>
- <slider label="Qualidade da imagem" name="image_quality_slider"/>
- <text name="layer_type_label">
- Capturar:
- </text>
- <combo_box label="Camadas da imagem" name="layer_types">
- <combo_box.item label="Cores" name="Colors"/>
- <combo_box.item label="Profundidade" name="Depth"/>
- </combo_box>
- <check_box label="Interface" name="ui_check"/>
- <check_box label="HUDs" name="hud_check"/>
- <check_box label="Deixar aberto depois de salvo" name="keep_open_check"/>
- <check_box label="Gerar quadro (tela inteira)" name="freeze_frame_check"/>
- <check_box label="Atualizar" name="auto_snapshot_check"/>
+ <panel name="advanced_options_panel">
+ <text name="advanced_options_label">
+ OPÇÕES AVANÇADAS
+ </text>
+ <text name="layer_type_label">
+ Capturar:
+ </text>
+ <combo_box label="Camadas da imagem" name="layer_types">
+ <combo_box.item label="Cores" name="Colors"/>
+ <combo_box.item label="Profundidade" name="Depth"/>
+ </combo_box>
+ <check_box label="Interface" name="ui_check"/>
+ <check_box label="HUDs" name="hud_check"/>
+ <check_box label="Gerar quadro (tela inteira)" name="freeze_frame_check"/>
+ <check_box label="Atualização automática" name="auto_snapshot_check"/>
+ </panel>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_toybox.xml b/indra/newview/skins/default/xui/pt/floater_toybox.xml
index 67076beb0f..3677c3b1f5 100644
--- a/indra/newview/skins/default/xui/pt/floater_toybox.xml
+++ b/indra/newview/skins/default/xui/pt/floater_toybox.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Toybox" title="PERSONALIZAR BARRAS DE FERRAMENTA">
+<floater name="Toybox" title="BOTÕES DA BARRA DE FERRAMENTAS">
<text name="toybox label 1">
Adicione ou remova botões arrastando-os para dentro ou para fora das barras de ferramentas.
</text>
<text name="toybox label 2">
Os botões aparecerão como mostrado ou somente como ícone, dependendo das configurações de cada barra de ferramentas.
</text>
+ <button label="Limpar todas as barras de ferramentas" label_selected="Limpar todas as barras de ferramentas" name="btn_clear_all"/>
<button label="Restaurar padrão" label_selected="Restaurar padrão" name="btn_restore_defaults"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_translation_settings.xml b/indra/newview/skins/default/xui/pt/floater_translation_settings.xml
new file mode 100644
index 0000000000..1955599a81
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_translation_settings.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_translation_settings" title="CONFIGURAÇÕES DE TRADUÇÃO DE BATE-PAPO">
+ <string name="bing_api_key_not_verified">
+ appID do Bing não verificada. Tente novamente.
+ </string>
+ <string name="google_api_key_not_verified">
+ Chave do API do Google não verificada. Tente novamente.
+ </string>
+ <string name="bing_api_key_verified">
+ appID do Bing verificada.
+ </string>
+ <string name="google_api_key_verified">
+ Chave do API do Google verificada.
+ </string>
+ <check_box label="Permitir a tradução de máquina durante o bate-papo" name="translate_chat_checkbox"/>
+ <text name="translate_language_label">
+ Traduzir bate-papo para:
+ </text>
+ <combo_box name="translate_language_combo">
+ <combo_box.item label="Padrão" name="System Default Language"/>
+ <combo_box.item label="Inglês" name="English"/>
+ <combo_box.item label="Dansk (Dinamarquês)" name="Danish"/>
+ <combo_box.item label="Deutsch (Alemão)" name="German"/>
+ <combo_box.item label="Español (Espanhol)" name="Spanish"/>
+ <combo_box.item label="Français (Francês)" name="French"/>
+ <combo_box.item label="Italiano (Italiano)" name="Italian"/>
+ <combo_box.item label="Magyar (Húngaro)" name="Hungarian"/>
+ <combo_box.item label="Nederlands (Holandês)" name="Dutch"/>
+ <combo_box.item label="Polski (Polonês)" name="Polish"/>
+ <combo_box.item label="Português (Português)" name="Portugese"/>
+ <combo_box.item label="Русский (Russo)" name="Russian"/>
+ <combo_box.item label="Türkçe (Turco)" name="Turkish"/>
+ <combo_box.item label="Українська (Ucraniano)" name="Ukrainian"/>
+ <combo_box.item label="中文 (简体) (Chinês)" name="Chinese"/>
+ <combo_box.item label="日本語 (Japonês)" name="Japanese"/>
+ <combo_box.item label="한국어 (Coreano)" name="Korean"/>
+ </combo_box>
+ <text name="tip">
+ Escolha o serviço de tradução:
+ </text>
+ <radio_group name="translation_service_rg">
+ <radio_item initial_value="bing" label="Bing Translator" name="bing"/>
+ <radio_item initial_value="google" label="Google Translate" name="google"/>
+ </radio_group>
+ <text name="bing_api_key_label">
+ [http://www.bing.com/developers/createapp.aspx AppID] do Bing:
+ </text>
+ <button label="Verificar" name="verify_bing_api_key_btn"/>
+ <text name="google_api_key_label">
+ [http://code.google.com/apis/language/translate/v2/getting_started.html#auth Chave API] do Google:
+ </text>
+ <button label="Verificar" name="verify_google_api_key_btn"/>
+ <text name="google_links_text">
+ [http://code.google.com/apis/language/translate/v2/pricing.html Preços] | [https://code.google.com/apis/console Estatísticas]
+ </text>
+ <button label="OK" name="ok_btn"/>
+ <button label="Cancelar" name="cancel_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_voice_controls.xml b/indra/newview/skins/default/xui/pt/floater_voice_controls.xml
index 6132479041..745a7d0e00 100644
--- a/indra/newview/skins/default/xui/pt/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/pt/floater_voice_controls.xml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_voice_controls" title="CONTROLES DE VOZ">
<string name="title_nearby">
- Voz próxima
+ CONFIGURAÇÕES DE VOZ
</string>
<string name="title_group">
- Ligação de grupo com [GROUP]
+ LIGAÇÃO DE GRUPO COM [GROUP]
</string>
<string name="title_adhoc">
- Teleconferência
+ TELECONFERÊNCIA
</string>
<string name="title_peer_2_peer">
- Ligação para [NAME]
+ LIGAÇÃO PARA [NAME]
</string>
<string name="no_one_near">
Ninguém por perto ativou a voz
diff --git a/indra/newview/skins/default/xui/pt/menu_toolbars.xml b/indra/newview/skins/default/xui/pt/menu_toolbars.xml
index f1e41aaea9..b58a1a6e4f 100644
--- a/indra/newview/skins/default/xui/pt/menu_toolbars.xml
+++ b/indra/newview/skins/default/xui/pt/menu_toolbars.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Toolbars Popup">
- <menu_item_call label="Escolher botões..." name="Chose Buttons"/>
+ <menu_item_call label="Remover este botão" name="Remove button"/>
+ <menu_item_call label="Botões da barra de ferramentas..." name="Choose Buttons"/>
<menu_item_check label="Ícones e rótulos" name="icons_with_text"/>
<menu_item_check label="Somente ícones" name="icons_only"/>
</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 5ff2d49ac1..119a3bdcfe 100644
--- a/indra/newview/skins/default/xui/pt/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/pt/menu_viewer.xml
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu_bar name="Main Menu">
<menu label="Eu" name="Me">
- <menu_item_call label="Painel..." name="Manage My Account">
- <menu_item_call.on_click name="ManageMyAccount_url" parameter="WebLaunchJoinNow,http://secondlife.com/account/index.php?lang=pt"/>
- </menu_item_call>
<menu_item_call label="Perfil..." name="Profile"/>
<menu_item_call label="Aparência..." name="ChangeOutfit"/>
+ <menu_item_call label="Selecione um avatar..." name="Avatar Picker"/>
<menu_item_check label="Inventário..." name="Inventory"/>
- <menu_item_check label="Gestos..." name="Gestures"/>
- <menu_item_check label="Voz..." name="ShowVoice"/>
+ <menu_item_call label="Nova janela de inventário" name="NewInventoryWindow"/>
+ <menu_item_call label="Lugares..." name="Places"/>
+ <menu_item_call label="Destaques..." name="Picks"/>
+ <menu_item_call label="Controles da câmera..." name="Camera Controls"/>
<menu label="Movimentos" name="Movement">
<menu_item_call label="Sentar" name="Sit Down Here"/>
<menu_item_check label="Voar" name="Fly"/>
@@ -22,34 +22,39 @@
<menu_item_call label="Request Admin Status" name="Request Admin Options"/>
<menu_item_call label="Sair do modo admin" name="Leave Admin Options"/>
<menu_item_call label="Comprar L$" name="Buy and Sell L$"/>
+ <menu_item_call label="Painel da conta..." name="Manage My Account">
+ <menu_item_call.on_click name="ManageMyAccount_url" parameter="WebLaunchJoinNow,http://secondlife.com/account/index.php?lang=pt"/>
+ </menu_item_call>
<menu_item_call label="Preferências..." name="Preferences"/>
- <menu_item_call label="Barras de ferramentas..." name="Toolbars"/>
+ <menu_item_call label="Botões da barra de ferramentas..." name="Toolbars"/>
<menu_item_call label="Ocultar todos os controles" name="Hide UI"/>
<menu_item_call label="Sair do [APP_NAME]" name="Quit"/>
</menu>
<menu label="Comunicar" name="Communicate">
- <menu_item_call label="Meus amigos" name="My Friends"/>
- <menu_item_call label="Meus grupos" name="My Groups"/>
- <menu_item_check label="Bate-papo local" name="Nearby Chat"/>
- <menu_item_call label="Pessoas por perto" name="Active Speakers"/>
- <menu_item_check label="Voz por perto" name="Nearby Voice"/>
+ <menu_item_check label="Bate-papo..." name="Nearby Chat"/>
+ <menu_item_check label="Falar" name="Speak"/>
+ <menu_item_check label="Configurações de voz..." name="Nearby Voice"/>
+ <menu_item_check label="Distorção de voz..." name="ShowVoice"/>
+ <menu_item_check label="Gestos..." name="Gestures"/>
+ <menu_item_call label="Amigos" name="My Friends"/>
+ <menu_item_call label="Grupos" name="My Groups"/>
+ <menu_item_call label="Pessoas próximas" name="Active Speakers"/>
</menu>
<menu label="Mundo" name="World">
- <menu_item_check label="Mini Mapa" name="Mini-Map"/>
+ <menu_item_call label="Criar marco deste lugar" name="Create Landmark Here"/>
+ <menu_item_call label="Destinos..." name="Destinations"/>
<menu_item_check label="Mapa-múndi" name="World Map"/>
+ <menu_item_check label="Mini Mapa" name="Mini-Map"/>
<menu_item_check label="Busca" name="Search"/>
+ <menu_item_call label="Teletransportar para início" name="Teleport Home"/>
+ <menu_item_call label="Definir como casa" name="Set Home to Here"/>
<menu_item_call label="Foto" name="Take Snapshot"/>
- <menu_item_call label="Criar marco deste lugar" name="Create Landmark Here"/>
- <menu label="Perfil da região" name="Land">
- <menu_item_call label="Perfil da região" name="Place Profile"/>
- <menu_item_call label="Sobre terrenos" name="About Land"/>
- <menu_item_call label="Região/Propriedade" name="Region/Estate"/>
- </menu>
+ <menu_item_call label="Perfil da região" name="Place Profile"/>
+ <menu_item_call label="Sobre terrenos" name="About Land"/>
+ <menu_item_call label="Região/Propriedade" name="Region/Estate"/>
+ <menu_item_call label="Meus terrenos..." name="My Land"/>
<menu_item_call label="Comprar este terreno" name="Buy Land"/>
- <menu_item_call label="Meus terrenos" name="My Land"/>
<menu label="Mostrar" name="LandShow">
- <menu_item_check label="Controles de movimento" name="Movement Controls"/>
- <menu_item_check label="Ver controles" name="Camera Controls"/>
<menu_item_check label="Limites" name="Ban Lines"/>
<menu_item_check label="Balizas" name="beacons"/>
<menu_item_check label="Limites do imóvel" name="Property Lines"/>
@@ -58,30 +63,29 @@
<menu_item_check label="Propriedades do lote" name="Parcel Properties"/>
<menu_item_check label="Menu avançado" name="Show Advanced Menu"/>
</menu>
- <menu_item_call label="Teletransportar para meu início" name="Teleport Home"/>
- <menu_item_call label="Definir como Início" name="Set Home to Here"/>
<menu label="Sol" name="Environment Settings">
<menu_item_call label="Amanhecer" name="Sunrise"/>
<menu_item_call label="Meio-dia" name="Noon"/>
<menu_item_call label="Pôr-do-Sol" name="Sunset"/>
<menu_item_call label="Meia-noite" name="Midnight"/>
- </menu>
- <menu label="Editor de ambientes" name="Enviroment Editor">
- <menu_item_call label="Configurações de ambiente..." name="Enviroment Settings"/>
- <menu label="Pré-configurações de água" name="Water Presets">
- <menu_item_call label="Nova pré-configuração..." name="new_water_preset"/>
- <menu_item_call label="Editar pré-configuração..." name="edit_water_preset"/>
- <menu_item_call label="Excluir pré-configuração..." name="delete_water_preset"/>
+ <menu_item_call label="Usar configurações da região" name="Use Region Settings"/>
+ </menu>
+ <menu label="Editor de ambientes" name="Environment Editor">
+ <menu_item_call label="Configurações do ambiente..." name="Environment Settings"/>
+ <menu label="Predefinições da água" name="Water Presets">
+ <menu_item_call label="Nova predefinição..." name="new_water_preset"/>
+ <menu_item_call label="Editar predefinição..." name="edit_water_preset"/>
+ <menu_item_call label="Excluir predefinição..." name="delete_water_preset"/>
</menu>
- <menu label="Pré-configurações de céu" name="Sky Presets">
- <menu_item_call label="Nova pré-configuração..." name="new_sky_preset"/>
- <menu_item_call label="Editar pré-configuração..." name="edit_sky_preset"/>
- <menu_item_call label="Excluir pré-configuração..." name="delete_sky_preset"/>
+ <menu label="Predefinições de céu" name="Sky Presets">
+ <menu_item_call label="Nova predefinição..." name="new_sky_preset"/>
+ <menu_item_call label="Editar predefinição..." name="edit_sky_preset"/>
+ <menu_item_call label="Excluir predefinição..." name="delete_sky_preset"/>
</menu>
- <menu label="Pré-configurações de dias" name="Day Presets">
- <menu_item_call label="Nova pré-configuração..." name="new_day_preset"/>
- <menu_item_call label="Editar pré-configuração..." name="edit_day_preset"/>
- <menu_item_call label="Excluir pré-configuração..." name="delete_day_preset"/>
+ <menu label="Predefinições do dia" name="Day Presets">
+ <menu_item_call label="Nova predefinição..." name="new_day_preset"/>
+ <menu_item_call label="Editar predefinição..." name="edit_day_preset"/>
+ <menu_item_call label="Excluir predefinição..." name="delete_day_preset"/>
</menu>
</menu>
</menu>
@@ -146,6 +150,7 @@
<menu_item_call label="Repetir" name="Redo"/>
</menu>
<menu label="Ajuda" name="Help">
+ <menu_item_call label="Como..." name="How To"/>
<menu_item_call label="[SECOND_LIFE] Ajuda" name="Second Life Help"/>
<menu_item_call label="Denunciar abuso" name="Report Abuse"/>
<menu_item_call label="Relatar bug" name="Report Bug"/>
@@ -199,11 +204,10 @@
<menu_item_check label="Usar plugin de leitura de threads" name="Use Plugin Read Thread"/>
<menu_item_call label="Limpar cache de grupo" name="ClearGroupCache"/>
<menu_item_check label="Smoothing de mouse" name="Mouse Smoothing"/>
+ <menu_item_call label="Liberar teclas" name="Release Keys"/>
<menu label="Atalhos" name="Shortcuts">
<menu_item_call label="Imagem (L$[COST])..." name="Upload Image"/>
<menu_item_check label="Busca" name="Search"/>
- <menu_item_call label="Soltar objeto" name="Release Keys"/>
- <menu_item_call label="Interface tamanho padrão" name="Set UI Size to Default"/>
<menu_item_check label="Mostrar menu avançado - atalho antigo" name="Show Advanced Menu - legacy shortcut"/>
<menu_item_call label="Fechar janela" name="Close Window"/>
<menu_item_call label="Fechar todas as janelas" name="Close All Windows"/>
@@ -272,6 +276,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="Vetores de vento" name="Wind Vectors"/>
<menu_item_check label="Renderizar complexidade" name="rendercomplexity"/>
<menu_item_check label="Esculpir" name="Sculpt"/>
</menu>
@@ -281,7 +286,6 @@
<menu_item_check label="Iluminação e sombras" name="Lighting and Shadows"/>
<menu_item_check label="Sombras da projeção do sol/lua" name="Shadows from Sun/Moon/Projectors"/>
<menu_item_check label="SSAO e sombra suave" name="SSAO and Shadow Smoothing"/>
- <menu_item_check label="Iluminação global (fase experimental)" name="Global Illumination"/>
<menu_item_check label="Máscaras alpha automáticas (adiadas)" name="Automatic Alpha Masks (deferred)"/>
<menu_item_check label="Máscaras alpha automáticas (sem adiar)" name="Automatic Alpha Masks (non-deferred)"/>
<menu_item_check label="Texturas de animação" name="Animation Textures"/>
diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml
index b53ebeb136..2c5ccd6e19 100644
--- a/indra/newview/skins/default/xui/pt/notifications.xml
+++ b/indra/newview/skins/default/xui/pt/notifications.xml
@@ -973,7 +973,7 @@ Oferecer amizade para [NAME]?
</form>
</notification>
<notification name="RemoveFromFriends">
- Remover &lt;nolink&gt;[NAME]&lt;/nolink&gt; da sua lista de amigos?
+ Deseja remover &lt;nolink&gt;[NAME]&lt;/nolink&gt; da sua lista de amigos?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Remover"/>
</notification>
<notification name="RemoveMultipleFromFriends">
@@ -1099,8 +1099,13 @@ Doar este terreno de [AREA] m² para o grupo &apos;[GROUP_NAME]&apos;?
<notification name="DisplaySetToSafe">
Configurações de display foram ajustadas para níveis de segurança porque você especificou -- opção de segurança.
</notification>
- <notification name="DisplaySetToRecommended">
- Configurações de display foram ajustadas para nível recomendado baseado na configuração do seu sistema.
+ <notification name="DisplaySetToRecommendedGPUChange">
+ As configurações de tela foram definidas nos níveis recomendados porque sua placa de vídeo foi alterada
+de &apos;[LAST_GPU]&apos;
+para &apos;[THIS_GPU]&apos;
+ </notification>
+ <notification name="DisplaySetToRecommendedFeatureChange">
+ As configurações de tela foram definidas nos níveis recomendados por causa de uma alteração no subsistema de renderização.
</notification>
<notification name="ErrorMessage">
[ERROR_MESSAGE]
@@ -1900,7 +1905,13 @@ Mover para o inventário o(s) item(s)?
<usetemplate ignoretext="Confirmar antes de sair" name="okcancelignore" notext="Não sair" yestext="Sair"/>
</notification>
<notification name="ConfirmRestoreToybox">
- Tem certeza que deseja restaurar seus botões e barras de ferramenta padrão?
+ Essa ação irá restaurar os botões e barras de ferramenta padrão.
+
+Não é possível desfazer essa ação.
+ <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
+ </notification>
+ <notification name="ConfirmClearAllToybox">
+ Essa ação fará com que todos os botões voltem para a caixa de ferramentas e suas barras de ferramentas ficarão vazias.
Não é possível desfazer essa ação.
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
@@ -2225,14 +2236,16 @@ Selecione só um objeto.
Seu cartão de visita foi negado.
</notification>
<notification name="TeleportToLandmark">
- Para se teletransportar para lugares como &apos;[NAME]&apos;, abra o painel &apos;Lugares&apos; à direita da tela e selecione a guia Marcos.
-Basta clicar em qualquer marco e depois clicar em &apos;Teletransportar&apos; na parte inferior da tela.
-(Também é possível clicar duas vezes no marco, ou clicar no marco com o botão direito e selecionar &apos;Teletransportar&apos;.)
+ Para se teletransportar para locais como &apos;[NAME]&apos;, clique no botão &quot;Lugares&quot;,
+ e selecione a guia Marcos na janela que é exibida. Clique em qualquer
+ marco para selecioná-lo e em seguida em &apos;Teletransportar&apos; na parte inferior da tela.
+ (Também é possível clicar duas vezes sobre o marco ou clicar com o botão direito do mouse sobre ele
+ e selecionar &apos;Teletransportar&apos;.)
</notification>
<notification name="TeleportToPerson">
- Para entrar em contato com residentes como &apos;&apos;[NAME]&apos;, abra o painel &apos;Pessoas&apos; à direita da tela.
-Selecione o residente da lista e clique em &apos;MI&apos; na parte de baixo do painel.
-(Também é possível clicar duas vezes no nome, ou clicar no nome com o botão direito e selecionar &apos;MI&apos;.)
+ Para entrar em contato com residentes como &apos;[NAME]&apos;, clique no botão &quot;Pessoas&quot;, selecione um residente na janela que é exibida e clique em &apos;MI&apos; na
+ parte inferior da janela.
+ (Também é possível clicar duas vezes no nome, ou clicar no nome com o botão direito e selecionar &apos;MI&apos;.)
</notification>
<notification name="CantSelectLandFromMultipleRegions">
Impossível selecionar terra nas fronteiras do servidor. Tente selecionar um pedaço menor de terra.
@@ -2252,6 +2265,9 @@ Selecione o residente da lista e clique em &apos;MI&apos; na parte de baixo do p
<notification name="PaymentSent">
[MESSAGE]
</notification>
+ <notification name="PaymentFailure">
+ [MESSAGE]
+ </notification>
<notification name="EventNotification">
Notificação de evento:
@@ -2501,10 +2517,10 @@ Cada um pode ver o status do outro (definição padrão).
</form>
</notification>
<notification name="FriendshipAccepted">
- &lt;nolink&gt;[NAME]&lt;/nolink&gt; aceitou seu convite de amizade.
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; aceitou sua oferta de amizade.
</notification>
<notification name="FriendshipDeclined">
- &lt;nolink&gt;[NAME]&lt;/nolink&gt; recusou seu convite de amizade
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; rejeitou sua oferta de amizade.
</notification>
<notification name="FriendshipAcceptedByMe">
Oferta de amizada aceita.
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_skin.xml b/indra/newview/skins/default/xui/pt/panel_edit_skin.xml
index f3d88123f2..d00aa2dc66 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_skin.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="edit_skin_panel">
<panel name="avatar_skin_color_panel">
- <texture_picker label="Tatuagens na cabeça" name="Head Tattoos" tool_tip="Selecionar imagem"/>
- <texture_picker label="Tatuagem parte de cima" name="Upper Tattoos" tool_tip="Selecionar imagem"/>
- <texture_picker label="Tatuagem de baixo" name="Lower Tattoos" tool_tip="Selecionar imagem"/>
+ <texture_picker label="Cabeça" name="Head" tool_tip="Selecionar imagem"/>
+ <texture_picker label="Cintura acima" name="Upper Body" tool_tip="Selecionar imagem"/>
+ <texture_picker label="Cintura para baixo" name="Lower Body" tool_tip="Selecionar imagem"/>
</panel>
<panel name="accordion_panel">
<accordion name="wearable_accordion">
diff --git a/indra/newview/skins/default/xui/pt/panel_postcard_message.xml b/indra/newview/skins/default/xui/pt/panel_postcard_message.xml
new file mode 100644
index 0000000000..9cde810430
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_postcard_message.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_message">
+ <text name="to_label">
+ Para:
+ </text>
+ <text name="name_label">
+ De:
+ </text>
+ <text name="subject_label">
+ Assunto:
+ </text>
+ <line_editor label="Digite aqui o assunto." name="subject_form"/>
+ <text name="msg_label">
+ Mensagem:
+ </text>
+ <text_editor name="msg_form">
+ Digite aqui a mensagem.
+ </text_editor>
+ <button label="Cancelar" name="cancel_btn"/>
+ <button label="Enviar" name="send_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_postcard_settings.xml b/indra/newview/skins/default/xui/pt/panel_postcard_settings.xml
new file mode 100644
index 0000000000..3088b9a996
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_postcard_settings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_settings">
+ <combo_box label="Resolução" name="postcard_size_combo">
+ <combo_box.item label="Janela atual" name="CurrentWindow"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="Customizado" name="Custom"/>
+ </combo_box>
+ <layout_stack name="postcard_image_params_ls">
+ <layout_panel name="postcard_image_size_lp">
+ <spinner label="Largura" name="postcard_snapshot_width"/>
+ <spinner label="Altura" name="postcard_snapshot_height"/>
+ <check_box label="Limitar proporções" name="postcard_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="postcard_image_format_quality_lp">
+ <slider label="Qualidade da imagem" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_chat.xml b/indra/newview/skins/default/xui/pt/panel_preferences_chat.xml
index f98659aa73..c5a4febb0e 100644
--- a/indra/newview/skins/default/xui/pt/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/pt/panel_preferences_chat.xml
@@ -29,30 +29,5 @@
<check_box label="Bate-papos de MI" name="EnableIMChatPopups" tool_tip="Exibir pop-up de mensagens instantâneas novas"/>
<spinner label="Transição de avisos de bate-papos por perto:" name="nearby_toasts_lifetime"/>
<spinner label="Transição de avisos de bate-papos por perto:" name="nearby_toasts_fadingtime"/>
- <check_box name="translate_chat_checkbox"/>
- <text name="translate_chb_label">
- Traduzir bate-papo automaticamente
- </text>
- <text name="translate_language_text">
- Traduzir bate-papo para:
- </text>
- <combo_box name="translate_language_combobox">
- <combo_box.item label="Padrão" name="System Default Language"/>
- <combo_box.item label="English (Inglês)" name="English"/>
- <combo_box.item label="Dansk (Dinamarquês)" name="Danish"/>
- <combo_box.item label="Deutsch (Alemão)" name="German"/>
- <combo_box.item label="Español (Espanhol)" name="Spanish"/>
- <combo_box.item label="Français (Francês)" name="French"/>
- <combo_box.item label="Italiano (Italiano)" name="Italian"/>
- <combo_box.item label="Magyar (Húngaro)" name="Hungarian"/>
- <combo_box.item label="Nederlands (Holandês)" name="Dutch"/>
- <combo_box.item label="Polski (Polonês)" name="Polish"/>
- <combo_box.item label="Português (Português)" name="Portugese"/>
- <combo_box.item label="Русский (Russo)" name="Russian"/>
- <combo_box.item label="Türkçe (Turco)" name="Turkish"/>
- <combo_box.item label="Українська (Ucraniano)" name="Ukrainian"/>
- <combo_box.item label="中文 (简体) (Chinês)" name="Chinese"/>
- <combo_box.item label="日本語 (Japonês)" name="Japanese"/>
- <combo_box.item label="한국어 (Coreano)" name="Korean"/>
- </combo_box>
+ <button label="Configurações de tradução de bate-papo" name="ok_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_setup.xml b/indra/newview/skins/default/xui/pt/panel_preferences_setup.xml
index 9259c0ed56..ebbd63138a 100644
--- a/indra/newview/skins/default/xui/pt/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/pt/panel_preferences_setup.xml
@@ -15,7 +15,7 @@
Web:
</text>
<radio_group name="use_external_browser">
- <radio_item label="Usar meu navegador (IE, Firefox, Safari)" name="external" tool_tip="Use o navegador incluso para consultar a ajuda, abrir links da web, etc. Uso em tela inteira não recomendado." value="1"/>
+ <radio_item label="Usar meu navegador (IE, Firefox, Safari)" name="external" tool_tip="Use o navegador incluso para consultar a ajuda, abrir links da web, etc. Uso em tela inteira não recomendado." value="true"/>
<radio_item label="Usar navegador incluso" name="internal" tool_tip="Use este navegador para consultar a ajuda, abrir links da web, etc. As janelas abrem dentro do [APP_NAME]." value=""/>
</radio_group>
<check_box initial_value="true" label="Habilitar plugins" name="browser_plugins_enabled"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/pt/panel_snapshot_inventory.xml
new file mode 100644
index 0000000000..3c4bb18687
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_snapshot_inventory.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_inventory">
+ <text name="title">
+ Salvar no meu inventário
+ </text>
+ <text name="hint_lbl">
+ Salvar uma imagem em seu inventário custa L$[UPLOAD_COST]. Para salvar sua imagem como uma textura, selecione um dos formatos quadrados.
+ </text>
+ <combo_box label="Resolução" name="texture_size_combo">
+ <combo_box.item label="Janela atual" name="CurrentWindow"/>
+ <combo_box.item label="Pequeno (128x128)" name="Small(128x128)"/>
+ <combo_box.item label="Médio (256x256)" name="Medium(256x256)"/>
+ <combo_box.item label="Grande (512x512)" name="Large(512x512)"/>
+ <combo_box.item label="Customizado" name="Custom"/>
+ </combo_box>
+ <spinner label="Largura" name="inventory_snapshot_width"/>
+ <spinner label="Altura" name="inventory_snapshot_height"/>
+ <check_box label="Limitar proporções" name="inventory_keep_aspect_check"/>
+ <button label="Cancelar" name="cancel_btn"/>
+ <button label="Salvar" name="save_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_snapshot_local.xml b/indra/newview/skins/default/xui/pt/panel_snapshot_local.xml
new file mode 100644
index 0000000000..36b5b0cbe6
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_snapshot_local.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_local">
+ <text name="title">
+ Salvar no meu PC
+ </text>
+ <combo_box label="Resolução" name="local_size_combo">
+ <combo_box.item label="Janela atual" name="CurrentWindow"/>
+ <combo_box.item label="320x240" name="320x240"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="1280x1024" name="1280x1024"/>
+ <combo_box.item label="1600x1200" name="1600x1200"/>
+ <combo_box.item label="Customizado" name="Custom"/>
+ </combo_box>
+ <layout_stack name="local_image_params_ls">
+ <layout_panel name="local_image_size_lp">
+ <spinner label="Largura" name="local_snapshot_width"/>
+ <spinner label="Altura" name="local_snapshot_height"/>
+ <check_box label="Limitar proporções" name="local_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="local_image_format_quality_lp">
+ <combo_box label="Formato" name="local_format_combo">
+ <combo_box.item label="PNG (sem perda)" name="PNG"/>
+ <combo_box.item label="JPEG" name="JPEG"/>
+ <combo_box.item label="BMP (sem perda)" name="BMP"/>
+ </combo_box>
+ <slider label="Qualidade da imagem" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+ <button label="Cancelar" name="cancel_btn"/>
+ <flyout_button label="Salvar" name="save_btn" tool_tip="Salvar imagem em um arquivo">
+ <flyout_button.item label="Salvar" name="save_item"/>
+ <flyout_button.item label="Salvar como..." name="saveas_item"/>
+ </flyout_button>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_snapshot_options.xml b/indra/newview/skins/default/xui/pt/panel_snapshot_options.xml
new file mode 100644
index 0000000000..7f1452e992
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_snapshot_options.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_options">
+ <button label="Postar no feed do meu perfil" name="save_to_profile_btn"/>
+ <button label="E-mail" name="save_to_email_btn"/>
+ <button label="Salvar em Meu inventário (L$[AMOUNT])" name="save_to_inventory_btn"/>
+ <button label="Salvar no meu PC" name="save_to_computer_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_snapshot_postcard.xml b/indra/newview/skins/default/xui/pt/panel_snapshot_postcard.xml
new file mode 100644
index 0000000000..12a648f600
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_snapshot_postcard.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_postcard">
+ <string name="default_subject">
+ Postal do [SECOND_LIFE].
+ </string>
+ <string name="default_message">
+ Confira!
+ </string>
+ <string name="upload_message">
+ Enviando...
+ </string>
+ <text name="title">
+ E-mail
+ </text>
+ <button label="Mensagem" name="message_btn"/>
+ <button label="Configurações" name="settings_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_snapshot_profile.xml b/indra/newview/skins/default/xui/pt/panel_snapshot_profile.xml
new file mode 100644
index 0000000000..095b8fc75d
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_snapshot_profile.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_profile">
+ <text name="title">
+ Postar no feed do meu perfil
+ </text>
+ <combo_box label="Resolução" name="profile_size_combo">
+ <combo_box.item label="Janela atual" name="CurrentWindow"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="Customizado" name="Custom"/>
+ </combo_box>
+ <layout_stack name="profile_image_params_ls">
+ <layout_panel name="profile_image_size_lp">
+ <spinner label="Largura" name="profile_snapshot_width"/>
+ <spinner label="Altura" name="profile_snapshot_height"/>
+ <check_box label="Limitar proporções" name="profile_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="profile_image_metadata_lp">
+ <text name="caption_label">
+ Legenda:
+ </text>
+ <check_box initial_value="true" label="Incluir local" name="add_location_cb"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="Cancelar" name="cancel_btn"/>
+ <button label="Postar" name="post_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml
index 6b4835e819..4babd9cc43 100644
--- a/indra/newview/skins/default/xui/pt/strings.xml
+++ b/indra/newview/skins/default/xui/pt/strings.xml
@@ -1160,7 +1160,7 @@ Titulares de contas gratuitas não poderão acessar o Second Life para acomodar
Você não possui uma cópia desta textura no seu inventário
</string>
<string name="InventoryInboxNoItems">
- Compras do marketplace serão entregues aqui.
+ Quando você comprar ou receber um item, ele aparecerá aqui para que você possa arrastá-lo para uma pasta em seu inventário ou excluí-lo caso não queira mantê-lo.
</string>
<string name="MarketplaceURL">
http://marketplace.[DOMAIN_NAME]
@@ -1352,6 +1352,9 @@ Titulares de contas gratuitas não poderão acessar o Second Life para acomodar
<string name="no_attachments">
Nenhum anexo vestido
</string>
+ <string name="Attachments remain">
+ Anexos ([COUNT] slots permanecem)
+ </string>
<string name="Buy">
Comprar
</string>
@@ -1478,6 +1481,12 @@ Titulares de contas gratuitas não poderão acessar o Second Life para acomodar
<string name="Right Pec">
Peitoral D
</string>
+ <string name="Neck">
+ Pescoço
+ </string>
+ <string name="Avatar Center">
+ Centro do avatar
+ </string>
<string name="Invalid Attachment">
Ponto de encaixe inválido
</string>
@@ -3897,6 +3906,18 @@ If you continue to receive this message, contact the [SUPPORT_SITE].
<string name="you_paid_ldollars_no_name">
Você pagou L$[AMOUNT] por [REASON].
</string>
+ <string name="you_paid_failure_ldollars">
+ Você não pagou L$[AMOUNT] a [NAME] referentes a [REASON].
+ </string>
+ <string name="you_paid_failure_ldollars_no_info">
+ Você não pagou L$[AMOUNT].
+ </string>
+ <string name="you_paid_failure_ldollars_no_reason">
+ Você não pagou L$[AMOUNT] a [NAME].
+ </string>
+ <string name="you_paid_failure_ldollars_no_name">
+ Você não pagou L$[AMOUNT] referentes a [REASON].
+ </string>
<string name="for item">
por [ITEM]
</string>
@@ -4307,6 +4328,12 @@ Tente colocar o caminho do editor entre aspas.
<string name="ExternalEditorFailedToRun">
Falha de execução do editor externo.
</string>
+ <string name="TranslationFailed">
+ Falha na tradução: [REASON]
+ </string>
+ <string name="TranslationResponseParseError">
+ Erro ao analisar resposta de tradução.
+ </string>
<string name="Esc">
Esc
</string>
@@ -4677,7 +4704,7 @@ Tente colocar o caminho do editor entre aspas.
Mini Mapa
</string>
<string name="Command_Move_Label">
- Mover
+ Andar/correr/voar
</string>
<string name="Command_People_Label">
Pessoas
@@ -4704,10 +4731,10 @@ Tente colocar o caminho do editor entre aspas.
Falar
</string>
<string name="Command_View_Label">
- Exibir
+ Controles da câmera
</string>
<string name="Command_Voice_Label">
- Voz próxima
+ Configurações de voz
</string>
<string name="Command_AboutLand_Tooltip">
Informações sobre o terreno que você está visitando
@@ -4779,7 +4806,16 @@ Tente colocar o caminho do editor entre aspas.
Alterar o ângulo da câmera
</string>
<string name="Command_Voice_Tooltip">
- Pessoas próximas com recursos de voz
+ Controles de volume das chamadas e pessoas próximas a você no mundo virtual
+ </string>
+ <string name="Toolbar_Bottom_Tooltip">
+ atualmente na sua barra de ferramentas inferior
+ </string>
+ <string name="Toolbar_Left_Tooltip">
+ atualmente na sua barra de ferramentas esquerda
+ </string>
+ <string name="Toolbar_Right_Tooltip">
+ atualmente na sua barra de ferramentas direita
</string>
<string name="Retain%">
Reter%
@@ -4805,4 +4841,19 @@ Tente colocar o caminho do editor entre aspas.
<string name="Normal">
Normal
</string>
+ <string name="snapshot_quality_very_low">
+ Muito baixo
+ </string>
+ <string name="snapshot_quality_low">
+ Baixo
+ </string>
+ <string name="snapshot_quality_medium">
+ Médio
+ </string>
+ <string name="snapshot_quality_high">
+ Alto
+ </string>
+ <string name="snapshot_quality_very_high">
+ Muito alto
+ </string>
</strings>
diff --git a/indra/newview/skins/default/xui/pt/teleport_strings.xml b/indra/newview/skins/default/xui/pt/teleport_strings.xml
index f8ded1ce69..3fb77a02d2 100644
--- a/indra/newview/skins/default/xui/pt/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/pt/teleport_strings.xml
@@ -19,8 +19,8 @@ Se você continuar a receber esta mensagem, por favor consulte o [SUPPORT_SITE].
Desculpe, não foi possível para o sistema executar o teletransporte. Tente novamente dentro de alguns instantes.
</message>
<message name="NoHelpIslandTP">
- Você não pode se tele-transportar de volta à Ilha de Welcome.
-Vá para a Ilha de Welcome Pública para repetir este tutorial.
+ Não é possível se teletransportar de volta à Ilha Welcome.
+Vá para a &apos;Ilha Welcome Pública&apos; para repetir o tutorial.
</message>
<message name="noaccess_tport">
Desculpe, você não tem acesso ao destino deste teletransporte.
diff --git a/indra/newview/skins/default/xui/ru/floater_about.xml b/indra/newview/skins/default/xui/ru/floater_about.xml
index deb6be319c..119f104906 100644
--- a/indra/newview/skins/default/xui/ru/floater_about.xml
+++ b/indra/newview/skins/default/xui/ru/floater_about.xml
@@ -63,32 +63,34 @@
<panel label="Лицензии" name="licenses_panel">
<text_editor name="credits_editor">
3Dconnexion SDK (C) 1992-2007 3Dconnexion
-APR (C) 2000-2004 The Apache Software Foundation
-Collada DOM (C) 2005 Sony Computer Entertainment Inc.cURL (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
+ APR (C) 2000-2004 The Apache Software Foundation
+ Collada DOM (C) 2005 Sony Computer Entertainment Inc.
+ cURL (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
+ DBus/dbus-glib (C) 2002, 2003 CodeFactory AB / (C) 2003, 2004 Red Hat, Inc.
+ expat (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
+ FreeType (C) 1996-2002, The FreeType Project (www.freetype.org).
+ GL (C) 1999-2004 Brian Paul.
+ GLOD (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Университет Джона Гопкинса и David Luebke, Brenden Schubert, Университет Вирджинии.
+ google-perftools (c) 2005, Google Inc.
+ Havok.com(TM) (C) 1999-2001, Telekinesys Research Limited.
+ jpeg2000 (C) 2001, David Taubman, Университет Нового Южного Уэльса (UNSW)
+ jpeglib (C) 1991-1998, Thomas G. Lane.
+ ogg/vorbis (C) 2001, Xiphophorus
+ OpenSSL (C) 1998-2002 The OpenSSL Project.
+ PCRE (c) 1997-2008, Кембриджский университет
+ SDL (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
+ SSLeay (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ xmlrpc-epi (C) 2000 Epinions, Inc.
+ zlib (C) 1995-2002 Jean-loup Gailly и Mark Adler.
+ google-perftools (c) 2005, Google Inc.
-DBus/dbus-glib (C) 2002, 2003 CodeFactory AB / (C) 2003, 2004 Red Hat, Inc.
-expat (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
-FreeType (C) 1996-2002, The FreeType Project (www.freetype.org).
-GL (C) 1999-2004 Brian Paul.
-GLOD (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University и David Luebke, Brenden Schubert, Университет Вирджиинии.
-google-perftools (c) 2005, Google Inc.
-Havok.com(TM) (C) 1999-2001, Telekinesys Research Limited.
-jpeg2000 (C) 2001, David Taubman, Университет Нового Южного Уэльса (UNSW)
-jpeglib (C) 1991-1998, Thomas G. Lane.
-ogg/vorbis (C) 2001, Xiphophorus
-OpenSSL (C) 1998-2002 The OpenSSL Project.
-PCRE (c) 1997-2008, Кембриджский университет
-SDL (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
-SSLeay (C) 1995-1998 Eric Young (eay@cryptsoft.com)
-xmlrpc-epi (C) 2000 Epinions, Inc.
-zlib (C) 1995-2002 Jean-loup Gailly и Mark Adler.
-google-perftools (c) 2005, Google Inc.
+ В клиенте Second Life используется технология Havok (TM) Physics. (C) 1999-2010 Havok.com Inc. (и лицензиары компании). Все права защищены. Подробнее см. веб-сайт www.havok.com.
-В клиенте Second Life используется технология Havok (TM) Physics. (C) 1999-2010 Havok.com Inc. (и лицензиары компании). Все права защищены. Подробнее см. веб-сайт www.havok.com.
+ Это программное обеспечение содержит исходный код, предоставленный корпорацией NVIDIA.
-Все права защищены. Подробные сведения см. в файле licenses.txt.
+ Все права защищены. Подробные сведения см. в файле licenses.txt.
-Кодирование звука для голосового чата: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1, Приложение C)
+ Кодирование звука для голосового чата: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
</text_editor>
</panel>
</tab_container>
diff --git a/indra/newview/skins/default/xui/ru/floater_about_land.xml b/indra/newview/skins/default/xui/ru/floater_about_land.xml
index 3c278fce52..46414a530a 100644
--- a/indra/newview/skins/default/xui/ru/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/ru/floater_about_land.xml
@@ -129,7 +129,7 @@
Посещаемость:
</text>
<text name="DwellText">
- 0
+ Загрузка...
</text>
<button label="Купить землю" name="Buy Land..."/>
<button label="Продать для Linden" name="Linden Sale..." tool_tip="Земля должна быть в собственности, иметь заданное содержимое и не быть выставленной на аукцион,"/>
@@ -307,13 +307,15 @@
Не толкать (настройки региона)
</panel.string>
<panel.string name="see_avs_text">
- Видеть жителей этого участка и общаться с ними в чате
+ Аватары с других участков могут видеть
</panel.string>
<text name="allow_label">
Позволить другим жителям:
</text>
- <check_box label="Изменить ландшафт" name="edit land check" tool_tip="Если отмечено, вашу землю сможет терраформировать кто угодно. Лучше не отмечать, так как вы всегда можете изменить вашу землю."/>
- <check_box label="Полет" name="check fly" tool_tip="Если отмечено, жители смогут летать над вашей землей. Если не отметить, они смогут только прилетать и пролетать мимо земли."/>
+ <text name="allow_label0">
+ Полет:
+ </text>
+ <check_box label="Все" name="check fly" tool_tip="Если отмечено, жители смогут летать над вашей землей. Если не отметить, они смогут только прилетать и пролетать мимо земли."/>
<text name="allow_label2">
Строительство:
</text>
@@ -329,9 +331,6 @@
</text>
<check_box label="Все" name="check other scripts"/>
<check_box label="Группа" name="check group scripts"/>
- <text name="land_options_label">
- Параметры земли:
- </text>
<check_box label="Безопасно (нет повреждений)" name="check safe" tool_tip="Если отмечено, то земля считается безопасной, отключены боевые повреждения. Если не отмечено, то боевые повреждения включены."/>
<check_box label="Не толкать" name="PushRestrictCheck" tool_tip="Запрещает скриптам функцию толкания. Этот параметр может оказаться полезным для предотвращения нежелательного поведения на вашей земле."/>
<check_box label="Показать место в поиске (L$30/неделя)" name="ShowDirectoryCheck" tool_tip="Позволить людям видеть участок в результатах поиска"/>
@@ -372,9 +371,9 @@
</text>
<texture_picker name="snapshot_ctrl" tool_tip="Щелкните для выбора изображения"/>
<text name="allow_label5">
- Позволить жителям с других участков:
+ аватары на этом участке и общаться с ними
</text>
- <check_box label="Видны аватары" name="SeeAvatarsCheck" tool_tip="Жители с других участков могут видеть жителей этого участка и общаться с ними в чате (вы также сможете видеть жителей с других участков и общаться с ними)."/>
+ <check_box label="Видны аватары" name="SeeAvatarsCheck" tool_tip="Аватары с других участков смогут видеть аватары на этом участке и общаться с ними в чате, а вы также сможете видеть их и общаться с ними."/>
<text name="landing_point">
В точку телепортации: [LANDING]
</text>
diff --git a/indra/newview/skins/default/xui/ru/floater_avatar.xml b/indra/newview/skins/default/xui/ru/floater_avatar.xml
index 6bdf819880..b480af9345 100644
--- a/indra/newview/skins/default/xui/ru/floater_avatar.xml
+++ b/indra/newview/skins/default/xui/ru/floater_avatar.xml
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Avatar" title="ВЫБОР АВАТАРА"/>
+<floater name="Avatar" title="ВЫБЕРИТЕ АВАТАР"/>
diff --git a/indra/newview/skins/default/xui/ru/floater_buy_currency.xml b/indra/newview/skins/default/xui/ru/floater_buy_currency.xml
index 7d34ca3274..87e8bd524e 100644
--- a/indra/newview/skins/default/xui/ru/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/ru/floater_buy_currency.xml
@@ -46,7 +46,7 @@
L$ [AMT]
</text>
<text name="currency_links">
- [http://www.secondlife.com/my/account/payment_method_management.php способ оплаты] | [http://www.secondlife.com/my/account/currency.php валюта]
+ [http://www.secondlife.com/my/account/payment_method_management.php способ оплаты] | [http://www.secondlife.com/my/account/currency.php деньги]
</text>
<text name="exchange_rate_note">
Повторно введите сумму, чтобы увидеть новый обменный курс.
diff --git a/indra/newview/skins/default/xui/ru/floater_camera.xml b/indra/newview/skins/default/xui/ru/floater_camera.xml
index 945a63c0eb..52e7c62e06 100644
--- a/indra/newview/skins/default/xui/ru/floater_camera.xml
+++ b/indra/newview/skins/default/xui/ru/floater_camera.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="camera_floater" title="КАМЕРА">
+<floater name="camera_floater" title="УПРАВЛЕНИЕ КАМЕРОЙ">
<floater.string name="rotate_tooltip">
Повернуть камеру вокруг точки фокусировки
</floater.string>
diff --git a/indra/newview/skins/default/xui/ru/floater_hardware_settings.xml b/indra/newview/skins/default/xui/ru/floater_hardware_settings.xml
index 0fefb76ea5..7400f1df3b 100644
--- a/indra/newview/skins/default/xui/ru/floater_hardware_settings.xml
+++ b/indra/newview/skins/default/xui/ru/floater_hardware_settings.xml
@@ -4,7 +4,7 @@
Фильтрация:
</text>
<check_box label="Анизотропная фильтрация (медленнее, если включено)" name="ani"/>
- <text name="Antialiasing:">
+ <text name="antialiasing label">
Сглаживание:
</text>
<combo_box label="Сглаживание" name="fsaa">
diff --git a/indra/newview/skins/default/xui/ru/floater_model_preview.xml b/indra/newview/skins/default/xui/ru/floater_model_preview.xml
index 31517e722d..5bb96b8de4 100644
--- a/indra/newview/skins/default/xui/ru/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/ru/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
Ошибка. Проблема при анализе файла DAE – см. подробности в журнале.
</string>
+ <string name="status_material_mismatch">
+ Ошибка. Материал модели не входит в эталонную модель.
+ </string>
<string name="status_reading_file">
Загрузка...
</string>
@@ -137,7 +140,7 @@
</panel>
<panel name="physics analysis">
<text name="method_label">
- Шаг 2. Анализ
+ 2 этап. Анализ
</text>
<text name="analysis_method_label">
Метод:
diff --git a/indra/newview/skins/default/xui/ru/floater_model_wizard.xml b/indra/newview/skins/default/xui/ru/floater_model_wizard.xml
index ef2fe8e5a5..5b03dd2c73 100644
--- a/indra/newview/skins/default/xui/ru/floater_model_wizard.xml
+++ b/indra/newview/skins/default/xui/ru/floater_model_wizard.xml
@@ -20,6 +20,9 @@
Выберите файл модели для передачи
</text>
<button label="Обзор..." label_selected="Обзор..." name="browse"/>
+ <text name="Model types">
+ В Second Life поддерживаются файлы COLLADA (.dae)
+ </text>
<text name="dimensions">
X Y Z
</text>
diff --git a/indra/newview/skins/default/xui/ru/floater_moveview.xml b/indra/newview/skins/default/xui/ru/floater_moveview.xml
index 6e01f997e1..cb1fda1a1f 100644
--- a/indra/newview/skins/default/xui/ru/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/ru/floater_moveview.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="move_floater" title="ПЕРЕМЕЩЕНИЕ">
+<floater name="move_floater" title="ХОДЬБА / БЕГ / ПОЛЕТ">
<string name="walk_forward_tooltip">
Идти вперед (нажмите стрелку вверх или клавишу W)
</string>
diff --git a/indra/newview/skins/default/xui/ru/floater_snapshot.xml b/indra/newview/skins/default/xui/ru/floater_snapshot.xml
index f85d602be7..7e88630b32 100644
--- a/indra/newview/skins/default/xui/ru/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/ru/floater_snapshot.xml
@@ -3,72 +3,63 @@
<floater.string name="unknown">
неизвестно
</floater.string>
- <radio_group label="Тип снимка" name="snapshot_type_radio">
- <radio_item label="Электронная почта" name="postcard"/>
- <radio_item label="Мой инвентарь (L$[AMOUNT])" name="texture"/>
- <radio_item label="Сохранить на моем компьютере" name="local"/>
- </radio_group>
+ <string name="postcard_progress_str">
+ Отправка письма
+ </string>
+ <string name="profile_progress_str">
+ Публикация
+ </string>
+ <string name="inventory_progress_str">
+ Сохранение в -инвентарь
+ </string>
+ <string name="local_progress_str">
+ Сохранение на компьютере
+ </string>
+ <string name="profile_succeeded_str">
+ Изображение отправлено
+ </string>
+ <string name="postcard_succeeded_str">
+ Письмо отправлено!
+ </string>
+ <string name="inventory_succeeded_str">
+ Сохранено в инвентаре!
+ </string>
+ <string name="local_succeeded_str">
+ Сохранено на компьютере!
+ </string>
+ <string name="profile_failed_str">
+ Не удалось передать изображение в ваш профиль.
+ </string>
+ <string name="postcard_failed_str">
+ Не удалось отправить письмо.
+ </string>
+ <string name="inventory_failed_str">
+ Не удалось сохранить в инвентаре.
+ </string>
+ <string name="local_failed_str">
+ Не удалось сохранить на компьютере.
+ </string>
+ <button name="advanced_options_btn" tool_tip="Дополнительные параметры"/>
+ <text name="image_res_text">
+ [WIDTH] x [HEIGHT] пикс.
+ </text>
<text name="file_size_label">
[SIZE] КБ
</text>
- <button label="Послать" name="send_btn"/>
- <button label="Сохранить (L$[AMOUNT])" name="upload_btn"/>
- <flyout_button label="Сохранить" name="save_btn" tool_tip="Сохранить изображение в файл">
- <flyout_button.item label="Сохранить" name="save_item"/>
- <flyout_button.item label="Сохранить как..." name="saveas_item"/>
- </flyout_button>
- <button label="Больше" name="more_btn" tool_tip="Дополнительные параметры"/>
- <button label="Меньше" name="less_btn" tool_tip="Дополнительные параметры"/>
- <button label="Отмена" name="discard_btn"/>
- <text name="type_label2">
- Размер
- </text>
- <text name="format_label">
- Формат
- </text>
- <combo_box label="Разрешение" name="postcard_size_combo">
- <combo_box.item label="Текущее окно" name="CurrentWindow"/>
- <combo_box.item label="640x480" name="640x480"/>
- <combo_box.item label="800x600" name="800x600"/>
- <combo_box.item label="1024x768" name="1024x768"/>
- <combo_box.item label="Задать" name="Custom"/>
- </combo_box>
- <combo_box label="Разрешение" name="texture_size_combo">
- <combo_box.item label="Текущее окно" name="CurrentWindow"/>
- <combo_box.item label="Маленький (128x128)" name="Small(128x128)"/>
- <combo_box.item label="Средний (256x256)" name="Medium(256x256)"/>
- <combo_box.item label="Большой (512x512)" name="Large(512x512)"/>
- <combo_box.item label="Задать" name="Custom"/>
- </combo_box>
- <combo_box label="Разрешение" name="local_size_combo">
- <combo_box.item label="Текущее окно" name="CurrentWindow"/>
- <combo_box.item label="320x240" name="320x240"/>
- <combo_box.item label="640x480" name="640x480"/>
- <combo_box.item label="800x600" name="800x600"/>
- <combo_box.item label="1024x768" name="1024x768"/>
- <combo_box.item label="1280x1024" name="1280x1024"/>
- <combo_box.item label="1600x1200" name="1600x1200"/>
- <combo_box.item label="Задать" name="Custom"/>
- </combo_box>
- <combo_box label="Формат" name="local_format_combo">
- <combo_box.item label="PNG" name="PNG"/>
- <combo_box.item label="JPEG" name="JPEG"/>
- <combo_box.item label="BMP" name="BMP"/>
- </combo_box>
- <spinner label="Ширина" name="snapshot_width"/>
- <spinner label="Высота" name="snapshot_height"/>
- <check_box label="Сохранять пропорции" name="keep_aspect_check"/>
- <slider label="Качество изображения" name="image_quality_slider"/>
- <text name="layer_type_label">
- Захват:
- </text>
- <combo_box label="Слои изображения" name="layer_types">
- <combo_box.item label="Цвета" name="Colors"/>
- <combo_box.item label="Глубина" name="Depth"/>
- </combo_box>
- <check_box label="Интерфейс" name="ui_check"/>
- <check_box label="HUD" name="hud_check"/>
- <check_box label="Оставить окно открытым" name="keep_open_check"/>
- <check_box label="Стоп-кадр (полноэкранный)" name="freeze_frame_check"/>
- <check_box label="Автообновление" name="auto_snapshot_check"/>
+ <panel name="advanced_options_panel">
+ <text name="advanced_options_label">
+ ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ
+ </text>
+ <text name="layer_type_label">
+ Захват:
+ </text>
+ <combo_box label="Слои изображения" name="layer_types">
+ <combo_box.item label="Цвета" name="Colors"/>
+ <combo_box.item label="Глубина" name="Depth"/>
+ </combo_box>
+ <check_box label="Интерфейс" name="ui_check"/>
+ <check_box label="Данные в игре" name="hud_check"/>
+ <check_box label="Стоп-кадр (полноэкранный)" name="freeze_frame_check"/>
+ <check_box label="Автообновление" name="auto_snapshot_check"/>
+ </panel>
</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_toybox.xml b/indra/newview/skins/default/xui/ru/floater_toybox.xml
index 8d7431d393..a4754ad7ab 100644
--- a/indra/newview/skins/default/xui/ru/floater_toybox.xml
+++ b/indra/newview/skins/default/xui/ru/floater_toybox.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Toybox" title="НАСТРОИТЬ ПАНЕЛИ ИНСТРУМЕНТОВ">
+<floater name="Toybox" title="КНОПКИ ПАНЕЛИ ИНСТРУМЕНТОВ">
<text name="toybox label 1">
Добавьте или удалите кнопки, перетягивая их на панели инструментов или с них.
</text>
<text name="toybox label 2">
Кнопки будут отображены в исходном виде или в виде значков, в зависимости от настроек каждой панели инструментов.
</text>
+ <button label="Очистить все панели" label_selected="Очистить все панели" name="btn_clear_all"/>
<button label="Вернуть стандартные" label_selected="Вернуть стандартные" name="btn_restore_defaults"/>
</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_translation_settings.xml b/indra/newview/skins/default/xui/ru/floater_translation_settings.xml
new file mode 100644
index 0000000000..ad280a50dd
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/floater_translation_settings.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_translation_settings" title="НАСТРОЙКИ ПЕРЕВОДА ЧАТА">
+ <string name="bing_api_key_not_verified">
+ Bing appID не подтвержден. Повторите попытку.
+ </string>
+ <string name="google_api_key_not_verified">
+ Ключ Google API не подтвержден. Повторите попытку.
+ </string>
+ <string name="bing_api_key_verified">
+ Bing appID подтвержден.
+ </string>
+ <string name="google_api_key_verified">
+ Ключ Google API подтвержден.
+ </string>
+ <check_box label="Включить машинный перевод при чате" name="translate_chat_checkbox"/>
+ <text name="translate_language_label">
+ Переводить чат на:
+ </text>
+ <combo_box name="translate_language_combo">
+ <combo_box.item label="язык системы" name="System Default Language"/>
+ <combo_box.item label="английский" name="English"/>
+ <combo_box.item label="датский" name="Danish"/>
+ <combo_box.item label="немецкий" name="German"/>
+ <combo_box.item label="испанский" name="Spanish"/>
+ <combo_box.item label="французский" name="French"/>
+ <combo_box.item label="итальянский" name="Italian"/>
+ <combo_box.item label="венгерский" name="Hungarian"/>
+ <combo_box.item label="нидерландский" name="Dutch"/>
+ <combo_box.item label="польский" name="Polish"/>
+ <combo_box.item label="португальский" name="Portugese"/>
+ <combo_box.item label="русский" name="Russian"/>
+ <combo_box.item label="турецкий" name="Turkish"/>
+ <combo_box.item label="украинский" name="Ukrainian"/>
+ <combo_box.item label="китайский" name="Chinese"/>
+ <combo_box.item label="японский" name="Japanese"/>
+ <combo_box.item label="корейский" name="Korean"/>
+ </combo_box>
+ <text name="tip">
+ Выберите сервис перевода:
+ </text>
+ <radio_group name="translation_service_rg">
+ <radio_item initial_value="bing" label="Bing Translator" name="bing"/>
+ <radio_item initial_value="google" label="Google Translate" name="google"/>
+ </radio_group>
+ <text name="bing_api_key_label">
+ Bing [http://www.bing.com/developers/createapp.aspx AppID]:
+ </text>
+ <button label="Подтвердить" name="verify_bing_api_key_btn"/>
+ <text name="google_api_key_label">
+ Google [http://code.google.com/apis/language/translate/v2/getting_started.html#auth Ключ API]:
+ </text>
+ <button label="Подтвердить" name="verify_google_api_key_btn"/>
+ <text name="google_links_text">
+ [http://code.google.com/apis/language/translate/v2/pricing.html Цены] | [https://code.google.com/apis/console Статистика]
+ </text>
+ <button label="OK" name="ok_btn"/>
+ <button label="Отмена" name="cancel_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_voice_controls.xml b/indra/newview/skins/default/xui/ru/floater_voice_controls.xml
index c1fb858d48..2b23086062 100644
--- a/indra/newview/skins/default/xui/ru/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/ru/floater_voice_controls.xml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_voice_controls" title="УПРАВЛЕНИЕ ГОЛОСОМ">
<string name="title_nearby">
- Настройки голоса
+ НАСТРОЙКИ ГОЛОСА
</string>
<string name="title_group">
- Звонок группе [GROUP]
+ ЗВОНОК ГРУППЕ [GROUP]
</string>
<string name="title_adhoc">
- Конференция
+ КОНФЕРЕНЦИЯ
</string>
<string name="title_peer_2_peer">
- Звонок пользователю [NAME]
+ ЗВОНОК ПОЛЬЗОВАТЕЛЮ [NAME]
</string>
<string name="no_one_near">
Нет никого с включенным голосом
diff --git a/indra/newview/skins/default/xui/ru/menu_toolbars.xml b/indra/newview/skins/default/xui/ru/menu_toolbars.xml
index e04a9ee57d..aa05dbc390 100644
--- a/indra/newview/skins/default/xui/ru/menu_toolbars.xml
+++ b/indra/newview/skins/default/xui/ru/menu_toolbars.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Toolbars Popup">
- <menu_item_call label="Выбор кнопок..." name="Chose Buttons"/>
+ <menu_item_call label="Удалить эту кнопку" name="Remove button"/>
+ <menu_item_call label="Кнопки панели инструментов..." name="Choose Buttons"/>
<menu_item_check label="Значки и подписи" name="icons_with_text"/>
<menu_item_check label="Только значки" name="icons_only"/>
</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 b9f403c04b..93d0166568 100644
--- a/indra/newview/skins/default/xui/ru/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/ru/menu_viewer.xml
@@ -1,12 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu_bar name="Main Menu">
<menu label="Я" name="Me">
- <menu_item_call label="Информационная панель..." name="Manage My Account"/>
<menu_item_call label="Профиль…" name="Profile"/>
<menu_item_call label="Внешность..." name="ChangeOutfit"/>
+ <menu_item_call label="Выберите аватар..." name="Avatar Picker"/>
<menu_item_check label="Инвентарь..." name="Inventory"/>
- <menu_item_check label="Жесты..." name="Gestures"/>
- <menu_item_check label="Голос..." name="ShowVoice"/>
+ <menu_item_call label="Новое окно инвентаря" name="NewInventoryWindow"/>
+ <menu_item_call label="Места..." name="Places"/>
+ <menu_item_call label="Подборка..." name="Picks"/>
+ <menu_item_call label="Управление камерой..." name="Camera Controls"/>
<menu label="Движение" name="Movement">
<menu_item_call label="Сесть" name="Sit Down Here"/>
<menu_item_check label="Полет" name="Fly"/>
@@ -20,34 +22,37 @@
<menu_item_call label="Запрос статуса администратора" name="Request Admin Options"/>
<menu_item_call label="Выход из статуса администратора" name="Leave Admin Options"/>
<menu_item_call label="Купить L$" name="Buy and Sell L$"/>
+ <menu_item_call label="Информационная панель аккаунта..." name="Manage My Account"/>
<menu_item_call label="Настройки..." name="Preferences"/>
- <menu_item_call label="Панели инструментов..." name="Toolbars"/>
+ <menu_item_call label="Кнопки панели инструментов..." name="Toolbars"/>
<menu_item_call label="Скрыть все элементы управления" name="Hide UI"/>
<menu_item_call label="Выход из [APP_NAME]" name="Quit"/>
</menu>
<menu label="Общение" name="Communicate">
- <menu_item_call label="Мои друзья" name="My Friends"/>
- <menu_item_call label="Мои группы" name="My Groups"/>
- <menu_item_check label="Локальный чат" name="Nearby Chat"/>
+ <menu_item_check label="Чат..." name="Nearby Chat"/>
+ <menu_item_check label="Говорить" name="Speak"/>
+ <menu_item_check label="Настройки голоса..." name="Nearby Voice"/>
+ <menu_item_check label="Изменение голоса..." name="ShowVoice"/>
+ <menu_item_check label="Жесты..." name="Gestures"/>
+ <menu_item_call label="Друзья" name="My Friends"/>
+ <menu_item_call label="Группы" name="My Groups"/>
<menu_item_call label="Люди неподалеку" name="Active Speakers"/>
- <menu_item_check label="Голоса собеседников" name="Nearby Voice"/>
</menu>
<menu label="Мир" name="World">
- <menu_item_check label="Миникарта" name="Mini-Map"/>
+ <menu_item_call label="Добавить закладку на это место" name="Create Landmark Here"/>
+ <menu_item_call label="Пункты..." name="Destinations"/>
<menu_item_check label="Карта мира" name="World Map"/>
+ <menu_item_check label="Миникарта" name="Mini-Map"/>
<menu_item_check label="Поиск" name="Search"/>
+ <menu_item_call label="Телепортация домой" name="Teleport Home"/>
+ <menu_item_call label="Установить дом здесь" name="Set Home to Here"/>
<menu_item_call label="Снимок" name="Take Snapshot"/>
- <menu_item_call label="Добавить закладку на это место" name="Create Landmark Here"/>
- <menu label="Профиль места" name="Land">
- <menu_item_call label="Профиль места" name="Place Profile"/>
- <menu_item_call label="О земле" name="About Land"/>
- <menu_item_call label="Регион/землевладение" name="Region/Estate"/>
- </menu>
+ <menu_item_call label="Профиль места" name="Place Profile"/>
+ <menu_item_call label="О земле" name="About Land"/>
+ <menu_item_call label="Регион/землевладение" name="Region/Estate"/>
+ <menu_item_call label="Мои владения..." name="My Land"/>
<menu_item_call label="Купить эту землю" name="Buy Land"/>
- <menu_item_call label="Моя земля" name="My Land"/>
<menu label="Показать" name="LandShow">
- <menu_item_check label="Панель движения" name="Movement Controls"/>
- <menu_item_check label="Панель камеры" name="Camera Controls"/>
<menu_item_check label="Линии запрета" name="Ban Lines"/>
<menu_item_check label="Метки" name="beacons"/>
<menu_item_check label="Границы собственности" name="Property Lines"/>
@@ -56,16 +61,15 @@
<menu_item_check label="Свойства участка" name="Parcel Properties"/>
<menu_item_check label="Меню «Дополнительно»" name="Show Advanced Menu"/>
</menu>
- <menu_item_call label="Телепортироваться домой" name="Teleport Home"/>
- <menu_item_call label="Установить дом здесь" name="Set Home to Here"/>
<menu label="Солнце" name="Environment Settings">
<menu_item_call label="Восход" name="Sunrise"/>
<menu_item_call label="Полдень" name="Noon"/>
<menu_item_call label="Закат" name="Sunset"/>
<menu_item_call label="Полночь" name="Midnight"/>
+ <menu_item_call label="Использовать настройки региона" name="Use Region Settings"/>
</menu>
- <menu label="Редактор среды" name="Enviroment Editor">
- <menu_item_call label="Настройки среды..." name="Enviroment Settings"/>
+ <menu label="Редактор среды" name="Environment Editor">
+ <menu_item_call label="Настройки среды..." name="Environment Settings"/>
<menu label="Настройки воды" name="Water Presets">
<menu_item_call label="Создать настройку..." name="new_water_preset"/>
<menu_item_call label="Изменить настройку..." name="edit_water_preset"/>
@@ -144,6 +148,7 @@
<menu_item_call label="Вернуть" name="Redo"/>
</menu>
<menu label="Справка" name="Help">
+ <menu_item_call label="Инструкции..." name="How To"/>
<menu_item_call label="Справка по [SECOND_LIFE]" name="Second Life Help"/>
<menu_item_call label="Жалоба" name="Report Abuse"/>
<menu_item_call label="Сообщить об ошибке" name="Report Bug"/>
@@ -198,11 +203,10 @@
<menu_item_check label="Использовать поток для чтения подключаемых модулей" name="Use Plugin Read Thread"/>
<menu_item_call label="Очистить кэш группы" name="ClearGroupCache"/>
<menu_item_check label="Сглаживание мышью" name="Mouse Smoothing"/>
+ <menu_item_call label="Освободить клавиши" name="Release Keys"/>
<menu label="Горячие клавиши" name="Shortcuts">
<menu_item_call label="Изображение (L$[COST])..." name="Upload Image"/>
<menu_item_check label="Поиск" name="Search"/>
- <menu_item_call label="Освободить клавиши" name="Release Keys"/>
- <menu_item_call label="Сбросить размер интерфейса" name="Set UI Size to Default"/>
<menu_item_check label="Показать меню «Дополнительно» - старое сочетание клавиш" name="Show Advanced Menu - legacy shortcut"/>
<menu_item_call label="Закрыть окно" name="Close Window"/>
<menu_item_call label="Закрыть все окна" name="Close All Windows"/>
@@ -288,6 +292,7 @@
<menu_item_check label="Освещение" name="Lights"/>
<menu_item_check label="Каркас столкновений" name="Collision Skeleton"/>
<menu_item_check label="Лучи" name="Raycast"/>
+ <menu_item_check label="Направления ветра" name="Wind Vectors"/>
<menu_item_check label="Сложность визуализации" name="rendercomplexity"/>
<menu_item_check label="Лепка" name="Sculpt"/>
</menu>
@@ -300,7 +305,6 @@
<menu_item_check label="Освещение и тени" name="Lighting and Shadows"/>
<menu_item_check label="Тени от солнца, луны и прожекторов" name="Shadows from Sun/Moon/Projectors"/>
<menu_item_check label="SSAO и сглаживание теней" name="SSAO and Shadow Smoothing"/>
- <menu_item_check label="Повсеместное освещение (экспериментальное)" name="Global Illumination"/>
<menu_item_check label="Отладка GL" name="Debug GL"/>
<menu_item_check label="Отладка конвейера" name="Debug Pipeline"/>
<menu_item_check label="Автоматические альфа-маски (отложенные)" name="Automatic Alpha Masks (deferred)"/>
diff --git a/indra/newview/skins/default/xui/ru/notifications.xml b/indra/newview/skins/default/xui/ru/notifications.xml
index f121743fe9..04f2f6b486 100644
--- a/indra/newview/skins/default/xui/ru/notifications.xml
+++ b/indra/newview/skins/default/xui/ru/notifications.xml
@@ -1110,8 +1110,13 @@
<notification name="DisplaySetToSafe">
Установлен безопасный уровень настроек отображения, так как указан параметр -safe.
</notification>
- <notification name="DisplaySetToRecommended">
- Установлен рекомендуемый уровень настроек отображения в соответствии с вашей системной конфигурацией.
+ <notification name="DisplaySetToRecommendedGPUChange">
+ Установлен рекомендуемый уровень настроек отображения, так как графическая карта изменена:
+с «[LAST_GPU]»
+на «[THIS_GPU]»
+ </notification>
+ <notification name="DisplaySetToRecommendedFeatureChange">
+ Установлен рекомендуемый уровень настроек отображения, так как подсистема визуализации изменена.
</notification>
<notification name="ErrorMessage">
[ERROR_MESSAGE]
@@ -1910,7 +1915,13 @@ http://secondlife.com/download.
<usetemplate ignoretext="Подтверждать перед выходом" name="okcancelignore" notext="Не выходить" yestext="Выйти"/>
</notification>
<notification name="ConfirmRestoreToybox">
- Вы действительно хотите восстановить принятые по умолчанию кнопки и панели инструментов?
+ Это действие приведет к восстановлению стандартных кнопок и панелей инструментов.
+
+Это действие нельзя отменить.
+ <usetemplate name="okcancelbuttons" notext="Отмена" yestext="OK"/>
+ </notification>
+ <notification name="ConfirmClearAllToybox">
+ Это действие возвращает все кнопки в инструментарий, а панели инструментов становятся пустыми.
Это действие нельзя отменить.
<usetemplate name="okcancelbuttons" notext="Отмена" yestext="OK"/>
@@ -2236,14 +2247,16 @@ http://secondlife.com/download.
Ваша визитка отклонена.
</notification>
<notification name="TeleportToLandmark">
- Вы можете телепортироваться в такие места, как «[NAME]», открыв панель «Места» в правой части экрана и выбрав вкладку «Закладки».
-Щелкните любую закладку, чтобы выбрать ее, а затем нажмите кнопку «Телепортация» внизу панели.
-(Также можно дважды щелкнуть закладку или щелкнуть ее правой кнопкой мыши и выбрать команду «Телепортация».)
+ Для телепортации в другое место, например «[NAME]», нажмите кнопку «Места»,
+ затем в открывшемся окне выберите вкладку «Закладки». Щелкните любую
+ закладку, чтобы выбрать ее, а затем нажмите кнопку «Телепортация» внизу окна.
+ (Также можно дважды щелкнуть закладку или щелкнуть ее правой кнопкой мыши и
+ выбрать команду «Телепортация».)
</notification>
<notification name="TeleportToPerson">
- Вы можете общаться с такими жителями, как «[NAME]», открыв панель «Люди» в правой части экрана.
-Выберите в списке нужного жителя, а затем нажмите кнопку «IM» внизу панели.
-(Также можно дважды щелкнуть имя жителя в списке или щелкнуть ее правой кнопкой мыши и выбрать команду «IM».)
+ Чтобы обратиться к жителю, например «[NAME]», нажмите кнопку «Люди», выберите жителя в появившемся окне и нажмите кнопку
+ «IM» внизу окна.
+ (Также можно дважды щелкнуть имя жителя в списке или щелкнуть его правой кнопкой мыши и выбрать команду «IM».)
</notification>
<notification name="CantSelectLandFromMultipleRegions">
Нельзя выбрать землю с обеих сторон границы между серверами.
@@ -2264,6 +2277,9 @@ http://secondlife.com/download.
<notification name="PaymentSent">
[MESSAGE]
</notification>
+ <notification name="PaymentFailure">
+ [MESSAGE]
+ </notification>
<notification name="EventNotification">
Уведомление о событии:
@@ -2798,7 +2814,7 @@ http://secondlife.com/download.
Со следующими жителями:
[RESIDENTS]
- <usetemplate name="okcancelbuttons" notext="Отмена" yestext="ОК"/>
+ <usetemplate name="okcancelbuttons" notext="Отмена" yestext="OK"/>
</notification>
<notification name="ItemsShared">
Предметы успешно розданы.
@@ -2888,7 +2904,7 @@ http://secondlife.com/download.
позже, даже после того, как вы покинули разговор.
Заглушить всех?
- <usetemplate ignoretext="Подтверждать перед заглушением всех участников группового разговора" name="okcancelignore" notext="Отмена" yestext="ОК"/>
+ <usetemplate ignoretext="Подтверждать перед заглушением всех участников группового разговора" name="okcancelignore" notext="Отмена" yestext="OK"/>
</notification>
<notification label="Чат" name="HintChat">
Чтобы присоединиться к чату, введите слова в поле чата ниже.
diff --git a/indra/newview/skins/default/xui/ru/panel_edit_skin.xml b/indra/newview/skins/default/xui/ru/panel_edit_skin.xml
index ac7e74316e..f5a5339afe 100644
--- a/indra/newview/skins/default/xui/ru/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/ru/panel_edit_skin.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="edit_skin_panel">
<panel name="avatar_skin_color_panel">
- <texture_picker label="Тату на голове" name="Head Tattoos" tool_tip="Щелкните для выбора изображения"/>
- <texture_picker label="Тату на верхних частях тела" name="Upper Tattoos" tool_tip="Щелкните для выбора изображения"/>
- <texture_picker label="Тату на нижних частях тела" name="Lower Tattoos" tool_tip="Щелкните для выбора изображения"/>
+ <texture_picker label="Голова" name="Head" tool_tip="Щелкните для выбора изображения"/>
+ <texture_picker label="Верхняя часть тела" name="Upper Body" tool_tip="Щелкните для выбора изображения"/>
+ <texture_picker label="Нижняя часть тела" name="Lower Body" tool_tip="Щелкните для выбора изображения"/>
</panel>
<panel name="accordion_panel">
<accordion name="wearable_accordion">
diff --git a/indra/newview/skins/default/xui/ru/panel_nearby_chat.xml b/indra/newview/skins/default/xui/ru/panel_nearby_chat.xml
index 1d26eecf87..8e3aac38d2 100644
--- a/indra/newview/skins/default/xui/ru/panel_nearby_chat.xml
+++ b/indra/newview/skins/default/xui/ru/panel_nearby_chat.xml
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="nearby_chat">
- <check_box label="Перевод чата" name="translate_chat_checkbox"/>
+ <check_box label="Переводить чат" name="translate_chat_checkbox"/>
</panel>
diff --git a/indra/newview/skins/default/xui/ru/panel_postcard_message.xml b/indra/newview/skins/default/xui/ru/panel_postcard_message.xml
new file mode 100644
index 0000000000..70587d8090
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/panel_postcard_message.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_message">
+ <text name="to_label">
+ Кому:
+ </text>
+ <text name="name_label">
+ От:
+ </text>
+ <text name="subject_label">
+ Тема:
+ </text>
+ <line_editor label="Введите тему письма." name="subject_form"/>
+ <text name="msg_label">
+ Сообщение:
+ </text>
+ <text_editor name="msg_form">
+ Введите текст письма.
+ </text_editor>
+ <button label="Отмена" name="cancel_btn"/>
+ <button label="Послать" name="send_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/ru/panel_postcard_settings.xml b/indra/newview/skins/default/xui/ru/panel_postcard_settings.xml
new file mode 100644
index 0000000000..dc9d59008f
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/panel_postcard_settings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_settings">
+ <combo_box label="Размер" name="postcard_size_combo">
+ <combo_box.item label="Текущее окно" name="CurrentWindow"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="Задать" name="Custom"/>
+ </combo_box>
+ <layout_stack name="postcard_image_params_ls">
+ <layout_panel name="postcard_image_size_lp">
+ <spinner label="Ширина" name="postcard_snapshot_width"/>
+ <spinner label="Высота" name="postcard_snapshot_height"/>
+ <check_box label="Сохранять пропорции" name="postcard_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="postcard_image_format_quality_lp">
+ <slider label="Качество изображения" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/ru/panel_preferences_chat.xml b/indra/newview/skins/default/xui/ru/panel_preferences_chat.xml
index a3ee5b7815..a9d5569c7f 100644
--- a/indra/newview/skins/default/xui/ru/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/ru/panel_preferences_chat.xml
@@ -29,29 +29,5 @@
<check_box label="Текстовые чаты" name="EnableIMChatPopups" tool_tip="Отображать всплывающие уведомления при получении IM-сообщений"/>
<spinner label="Время отображения всплывающих реплик:" name="nearby_toasts_lifetime"/>
<spinner label="Время затухания всплывающих реплик:" name="nearby_toasts_fadingtime"/>
- <text name="translate_chb_label">
- Использовать машинный перевод при общении
- </text>
- <text name="translate_language_text">
- Переводить чат на:
- </text>
- <combo_box name="translate_language_combobox">
- <combo_box.item label="Язык системы" name="System Default Language"/>
- <combo_box.item label="English" name="English"/>
- <combo_box.item label="Dansk" name="Danish"/>
- <combo_box.item label="Deutsch" name="German"/>
- <combo_box.item label="Español" name="Spanish"/>
- <combo_box.item label="Français" name="French"/>
- <combo_box.item label="Italiano" name="Italian"/>
- <combo_box.item label="Magyar" name="Hungarian"/>
- <combo_box.item label="Nederlands" name="Dutch"/>
- <combo_box.item label="Polski" name="Polish"/>
- <combo_box.item label="Português" name="Portugese"/>
- <combo_box.item label="Русский" name="Russian"/>
- <combo_box.item label="Türkçe" name="Turkish"/>
- <combo_box.item label="Українська" name="Ukrainian"/>
- <combo_box.item label="中文 (简体) (китайский)" name="Chinese"/>
- <combo_box.item label="日本語 (Japanese)" name="Japanese"/>
- <combo_box.item label="한국어 (Korean)" name="Korean"/>
- </combo_box>
+ <button label="Настройки перевода чата" name="ok_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/ru/panel_preferences_general.xml b/indra/newview/skins/default/xui/ru/panel_preferences_general.xml
index 49f743a6ba..d1bfedf2d8 100644
--- a/indra/newview/skins/default/xui/ru/panel_preferences_general.xml
+++ b/indra/newview/skins/default/xui/ru/panel_preferences_general.xml
@@ -16,7 +16,7 @@
<combo_box.item label="Русский (бета-версия)" name="Russian"/>
<combo_box.item label="Türkçe - турецкий (бета-версия)" name="Turkish"/>
<combo_box.item label="日本語 – японский (бета-версия)" name="(Japanese)"/>
- <combo_box.item label="正體中文 - китайский, традиционное письмо (бета-версия)" name="Traditional Chinese"/>
+ <combo_box.item label="китайский, традиционное письмо - бета-версия" name="Traditional Chinese"/>
</combo_box>
<text name="language_textbox2">
(Требуется перезапуск)
diff --git a/indra/newview/skins/default/xui/ru/panel_preferences_setup.xml b/indra/newview/skins/default/xui/ru/panel_preferences_setup.xml
index db88189169..8e7fc71f0d 100644
--- a/indra/newview/skins/default/xui/ru/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/ru/panel_preferences_setup.xml
@@ -15,7 +15,7 @@
Браузер:
</text>
<radio_group name="use_external_browser">
- <radio_item label="Использовать мой браузер (IE, Firefox, Safari)" name="external" tool_tip="Будет использоваться браузер, заданный в системе по умолчанию. Не рекомендуется, если [APP_NAME] работает в полноэкранном режиме." value="1"/>
+ <radio_item label="Использовать мой браузер (IE, Firefox, Safari)" name="external" tool_tip="Будет использоваться браузер, заданный в системе по умолчанию. Не рекомендуется, если [APP_NAME] работает в полноэкранном режиме." value="true"/>
<radio_item label="Использовать встроенный браузер" name="internal" tool_tip="Для просмотра справки, ссылок на веб-страницы и т. д. будет использоваться встроенный браузер. Этот браузер открывается как новое окно в [APP_NAME]." value=""/>
</radio_group>
<check_box initial_value="истина" label="Разрешить плагины" name="browser_plugins_enabled"/>
diff --git a/indra/newview/skins/default/xui/ru/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/ru/panel_snapshot_inventory.xml
new file mode 100644
index 0000000000..53a150c9f9
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/panel_snapshot_inventory.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_inventory">
+ <text name="title">
+ Сохранить в моем инвентаре
+ </text>
+ <text name="hint_lbl">
+ Сохранение изображения в инвентаре стоит L$[UPLOAD_COST]. Чтобы сохранить его как текстуру, выберите один из квадратных форматов.
+ </text>
+ <combo_box label="Размер" name="texture_size_combo">
+ <combo_box.item label="Текущее окно" name="CurrentWindow"/>
+ <combo_box.item label="Маленький (128x128)" name="Small(128x128)"/>
+ <combo_box.item label="Средний (256x256)" name="Medium(256x256)"/>
+ <combo_box.item label="Большой (512x512)" name="Large(512x512)"/>
+ <combo_box.item label="Задать" name="Custom"/>
+ </combo_box>
+ <spinner label="Ширина" name="inventory_snapshot_width"/>
+ <spinner label="Высота" name="inventory_snapshot_height"/>
+ <check_box label="Сохранять пропорции" name="inventory_keep_aspect_check"/>
+ <button label="Отмена" name="cancel_btn"/>
+ <button label="Сохранить" name="save_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/ru/panel_snapshot_local.xml b/indra/newview/skins/default/xui/ru/panel_snapshot_local.xml
new file mode 100644
index 0000000000..446b9bb2fd
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/panel_snapshot_local.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_local">
+ <text name="title">
+ Сохранить на моем компьютере
+ </text>
+ <combo_box label="Размер" name="local_size_combo">
+ <combo_box.item label="Текущее окно" name="CurrentWindow"/>
+ <combo_box.item label="320x240" name="320x240"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="1280x1024" name="1280x1024"/>
+ <combo_box.item label="1600x1200" name="1600x1200"/>
+ <combo_box.item label="Задать" name="Custom"/>
+ </combo_box>
+ <layout_stack name="local_image_params_ls">
+ <layout_panel name="local_image_size_lp">
+ <spinner label="Ширина" name="local_snapshot_width"/>
+ <spinner label="Высота" name="local_snapshot_height"/>
+ <check_box label="Сохранять пропорции" name="local_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="local_image_format_quality_lp">
+ <combo_box label="Формат" name="local_format_combo">
+ <combo_box.item label="PNG (без потерь)" name="PNG"/>
+ <combo_box.item label="JPEG" name="JPEG"/>
+ <combo_box.item label="BMP (без потерь)" name="BMP"/>
+ </combo_box>
+ <slider label="Качество изображения" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+ <button label="Отмена" name="cancel_btn"/>
+ <flyout_button label="Сохранить" name="save_btn" tool_tip="Сохранить изображение в файл">
+ <flyout_button.item label="Сохранить" name="save_item"/>
+ <flyout_button.item label="Сохранить как..." name="saveas_item"/>
+ </flyout_button>
+</panel>
diff --git a/indra/newview/skins/default/xui/ru/panel_snapshot_options.xml b/indra/newview/skins/default/xui/ru/panel_snapshot_options.xml
new file mode 100644
index 0000000000..250a76cd21
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/panel_snapshot_options.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_options">
+ <button label="Поместить в мой профиль" name="save_to_profile_btn"/>
+ <button label="Отправить по почте" name="save_to_email_btn"/>
+ <button label="Сохранить в моем инвентаре (L$[AMOUNT])" name="save_to_inventory_btn"/>
+ <button label="Сохранить на моем компьютере" name="save_to_computer_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/ru/panel_snapshot_postcard.xml b/indra/newview/skins/default/xui/ru/panel_snapshot_postcard.xml
new file mode 100644
index 0000000000..47f4caf8e3
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/panel_snapshot_postcard.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_postcard">
+ <string name="default_subject">
+ Открытка из [SECOND_LIFE].
+ </string>
+ <string name="default_message">
+ Побывай здесь!
+ </string>
+ <string name="upload_message">
+ Отправка...
+ </string>
+ <text name="title">
+ Электронное письмо
+ </text>
+ <button label="Сообщение" name="message_btn"/>
+ <button label="Настройки" name="settings_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/ru/panel_snapshot_profile.xml b/indra/newview/skins/default/xui/ru/panel_snapshot_profile.xml
new file mode 100644
index 0000000000..79a9ef58d0
--- /dev/null
+++ b/indra/newview/skins/default/xui/ru/panel_snapshot_profile.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_profile">
+ <text name="title">
+ Поместить в мой профиль
+ </text>
+ <combo_box label="Размер" name="profile_size_combo">
+ <combo_box.item label="Текущее окно" name="CurrentWindow"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="Задать" name="Custom"/>
+ </combo_box>
+ <layout_stack name="profile_image_params_ls">
+ <layout_panel name="profile_image_size_lp">
+ <spinner label="Ширина" name="profile_snapshot_width"/>
+ <spinner label="Высота" name="profile_snapshot_height"/>
+ <check_box label="Сохранять пропорции" name="profile_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="profile_image_metadata_lp">
+ <text name="caption_label">
+ Подпись:
+ </text>
+ <check_box initial_value="true" label="Включить расположение" name="add_location_cb"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="Отмена" name="cancel_btn"/>
+ <button label="Опубликовать" name="post_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/ru/strings.xml b/indra/newview/skins/default/xui/ru/strings.xml
index 7fef5797a9..6d954139ff 100644
--- a/indra/newview/skins/default/xui/ru/strings.xml
+++ b/indra/newview/skins/default/xui/ru/strings.xml
@@ -1211,7 +1211,7 @@ support@secondlife.com.
В вашем инвентаре нет копии этой текстуры
</string>
<string name="InventoryInboxNoItems">
- Покупки из торгового центра будут доставлены сюда.
+ Если вы купите или как-то иначе получите предмет, он появится здесь. Его можно будет перетащить в папку вашего инвентаря или удалить, если он больше не нужен.
</string>
<string name="MarketplaceURL">
http://marketplace.[DOMAIN_NAME]
@@ -1409,6 +1409,9 @@ support@secondlife.com.
<string name="no_attachments">
Нет прикрепленных объектов
</string>
+ <string name="Attachments remain">
+ Присоединения (осталось гнезд: [COUNT])
+ </string>
<string name="Buy">
Купить
</string>
@@ -1535,6 +1538,12 @@ support@secondlife.com.
<string name="Right Pec">
Правая грудь
</string>
+ <string name="Neck">
+ Шея
+ </string>
+ <string name="Avatar Center">
+ Центр аватара
+ </string>
<string name="Invalid Attachment">
Неверная точка присоединения
</string>
@@ -4024,6 +4033,18 @@ support@secondlife.com.
<string name="you_paid_ldollars_no_name">
Вы заплатили L$[AMOUNT] за [REASON].
</string>
+ <string name="you_paid_failure_ldollars">
+ Вы не смогли заплатить пользователю [NAME] L$[AMOUNT]: [REASON].
+ </string>
+ <string name="you_paid_failure_ldollars_no_info">
+ Вы не смогли заплатить L$[AMOUNT]
+ </string>
+ <string name="you_paid_failure_ldollars_no_reason">
+ Вы не смогли заплатить пользователю [NAME] L$[AMOUNT]
+ </string>
+ <string name="you_paid_failure_ldollars_no_name">
+ Вы не смогли заплатить L$[AMOUNT]: [REASON].
+ </string>
<string name="for item">
за [ITEM]
</string>
@@ -4433,6 +4454,12 @@ support@secondlife.com.
<string name="ExternalEditorFailedToRun">
Не удалось запустить внешний редактор.
</string>
+ <string name="TranslationFailed">
+ Ошибка телепортации: [REASON]
+ </string>
+ <string name="TranslationResponseParseError">
+ Ошибка при анализе ответа переводчика.
+ </string>
<string name="Esc">
ESC
</string>
@@ -4815,7 +4842,7 @@ support@secondlife.com.
Миникарта
</string>
<string name="Command_Move_Label">
- Переместить
+ Ходьба / бег / полет
</string>
<string name="Command_People_Label">
Люди
@@ -4842,7 +4869,7 @@ support@secondlife.com.
Говорить
</string>
<string name="Command_View_Label">
- Вид
+ Управление камерой
</string>
<string name="Command_Voice_Label">
Настройки голоса
@@ -4917,7 +4944,16 @@ support@secondlife.com.
Изменение угла камеры
</string>
<string name="Command_Voice_Tooltip">
- Громкость звонков и голосов окружающих вас людей
+ Регулировка громкости вызовов и разговоров с людьми около вас
+ </string>
+ <string name="Toolbar_Bottom_Tooltip">
+ сейчас на нижней панели инструментов
+ </string>
+ <string name="Toolbar_Left_Tooltip">
+ сейчас на левой панели инструментов
+ </string>
+ <string name="Toolbar_Right_Tooltip">
+ сейчас на правой панели инструментов
</string>
<string name="Retain%">
Остаток%
@@ -4943,4 +4979,19 @@ support@secondlife.com.
<string name="Normal">
Нормальный
</string>
+ <string name="snapshot_quality_very_low">
+ Очень низкий
+ </string>
+ <string name="snapshot_quality_low">
+ Низкий
+ </string>
+ <string name="snapshot_quality_medium">
+ Средний
+ </string>
+ <string name="snapshot_quality_high">
+ Высокий
+ </string>
+ <string name="snapshot_quality_very_high">
+ Очень высокий
+ </string>
</strings>
diff --git a/indra/newview/skins/default/xui/ru/teleport_strings.xml b/indra/newview/skins/default/xui/ru/teleport_strings.xml
index 296562e6f1..feff286111 100644
--- a/indra/newview/skins/default/xui/ru/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/ru/teleport_strings.xml
@@ -21,8 +21,8 @@
Повторите попытку позже.
</message>
<message name="NoHelpIslandTP">
- Вы не можете телепортироваться обратно на Остров Помощи.
-Телепортируйтесь на Общественный Остров Помощи, чтобы повторить обучение
+ Телепортироваться назад на Остров прибытия нельзя.
+Для повторения учебника перейдите на «Остров прибытия - общий».
</message>
<message name="noaccess_tport">
У вас нет доступа к точке назначения этого телепорта.
diff --git a/indra/newview/skins/default/xui/tr/floater_about.xml b/indra/newview/skins/default/xui/tr/floater_about.xml
index 993ec42958..8fa12ea759 100644
--- a/indra/newview/skins/default/xui/tr/floater_about.xml
+++ b/indra/newview/skins/default/xui/tr/floater_about.xml
@@ -64,32 +64,34 @@ Ses Sunucusu Sürümü: [VOICE_VERSION]
<panel label="Lisanslar" name="licenses_panel">
<text_editor name="credits_editor">
3Dconnexion SDK Telif Hakkı (C) 1992-2007 3Dconnexion
-APR Telif Hakkı (C) 2000-2004 The Apache Software Foundation
-Collada DOM Telif Hakkı 2005 Sony Computer Entertainment Inc.
-cURL Telif Hakkı (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
-DBus/dbus-glib Telif Hakkı (C) 2002, 2003 CodeFactory AB / Telif Hakkı (C) 2003, 2004 Red Hat, Inc.
-expat Telif Hakkı (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
-FreeType Telif Hakkı (C) 1996-2002, The FreeType Project (www.freetype.org).
-GL Telif Hakkı (C) 1999-2004 Brian Paul.
-GLOD Telif Hakkı (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University ve David Luebke, Brenden Schubert, University of Virginia.
-google-perftools Telif Hakkı (c) 2005, Google Inc.
-Havok.com(TM) Telif Hakkı (C) 1999-2001, Telekinesys Research Limited.
-jpeg2000 Telif Hakkı (C) 2001, David Taubman, The University of New South Wales (UNSW)
-jpeglib Telif Hakkı (C) 1991-1998, Thomas G. Lane.
-ogg/vorbis Telif Hakkı (C) 2001, Xiphophorus
-OpenSSL Telif Hakkı (C) 1998-2002 The OpenSSL Project.
-PCRE Telif Hakkı (c) 1997-2008 University of Cambridge
-SDL Telif Hakkı (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
-SSLeay Telif Hakkı (C) 1995-1998 Eric Young (eay@cryptsoft.com)
-xmlrpc-epi Telif Hakkı (C) 2000 Epinions, Inc.
-zlib Telif Hakkı (C) 1995-2002 Jean-loup Gailly ve Mark Adler.
-google-perftools Telif Hakkı (c) 2005, Google Inc.
+ APR Telif Hakkı (C) 2000-2004 The Apache Software Foundation
+ Collada DOM Telif Hakkı 2005 Sony Computer Entertainment Inc.
+ cURL Telif Hakkı (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
+ DBus/dbus-glib Telif Hakkı (C) 2002, 2003 CodeFactory AB / Telif Hakkı (C) 2003, 2004 Red Hat, Inc.
+ expat Telif Hakkı (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
+ FreeType Telif Hakkı (C) 1996-2002, The FreeType Project (www.freetype.org).
+ GL Telif Hakkı (C) 1999-2004 Brian Paul.
+ GLOD Telif Hakkı (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University ve David Luebke, Brenden Schubert, University of Virginia.
+ google-perftools Telif Hakkı (c) 2005, Google Inc.
+ Havok.com(TM) Telif Hakkı (C) 1999-2001, Telekinesys Research Limited.
+ jpeg2000 Telif Hakkı (C) 2001, David Taubman, The University of New South Wales (UNSW)
+ jpeglib Telif Hakkı (C) 1991-1998, Thomas G. Lane.
+ ogg/vorbis Telif Hakkı (C) 2001, Xiphophorus
+ OpenSSL Telif Hakkı (C) 1998-2002 The OpenSSL Project.
+ PCRE Telif Hakkı (c) 1997-2008 University of Cambridge
+ SDL Telif Hakkı (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
+ SSLeay Telif Hakkı (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ xmlrpc-epi Telif Hakkı (C) 2000 Epinions, Inc.
+ zlib Telif Hakkı (C) 1995-2002 Jean-loup Gailly ve Mark Adler.
+ google-perftools Telif Hakkı (c) 2005, Google Inc.
-Second Life Görüntüleyicisi Havok (TM) Fizik motorunu kullanmaktadır. (c)Telif Hakkı 1999-2010 Havok.com Inc. (ve Lisans Verenleri). Tüm Hakları Saklıdır. Ayrıntılı bilgi için bkz. www.havok.com
+ Second Life Görüntüleyicisi Havok (TM) Fizik motorunu kullanmaktadır. (c)Telif Hakkı 1999-2010 Havok.com Inc. (ve Lisans Verenleri). Tüm Hakları Saklıdır. Ayrıntılı bilgi için bkz. www.havok.com
-Tüm hakları saklıdır. Ayrıntılı bilgi için bkz. licenses.txt
+ Bu yazılımda NVIDIA Corporation tarafından sağlanan kaynak kod yer almaktadır.
-Sesli sohbet için Ses kodlaması: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
+ Tüm hakları saklıdır. Ayrıntılı bilgi için bkz. licenses.txt
+
+ Sesli sohbet için Ses kodlaması: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
</text_editor>
</panel>
</tab_container>
diff --git a/indra/newview/skins/default/xui/tr/floater_about_land.xml b/indra/newview/skins/default/xui/tr/floater_about_land.xml
index e0350964b5..dde658d64d 100644
--- a/indra/newview/skins/default/xui/tr/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/tr/floater_about_land.xml
@@ -129,7 +129,7 @@
Trafik:
</text>
<text name="DwellText">
- 0
+ Yükleniyor...
</text>
<button label="Arazi Satın Al" name="Buy Land..."/>
<button label="Linden Satışı" name="Linden Sale..." tool_tip="Arazinin sahip olunması, içeriğinin ayarlanması ve ihaleye çıkmamış olması gerekir"/>
@@ -307,13 +307,15 @@ Sadece büyük parseller aramada görünür.
İtme Yok (Bölge Geçersiz Kılma)
</panel.string>
<panel.string name="see_avs_text">
- Parseldeki sakinleri gör ve onlarla sohbet et
+ Diğer parsellerdeki avatarlar bu
</panel.string>
<text name="allow_label">
Sakinlere şunun için izin ver:
</text>
- <check_box label="Yüzeyi Düzenle" name="edit land check" tool_tip="İşaretliyse herkes arazinizi şekillendirebilir. en iyisi bunu işaretlememektir, çünkü kendi arazinizi her zaman düzenleyebilirsiniz."/>
- <check_box label="Uç" name="check fly" tool_tip="İşaretliyse Sakinler arazinizden uçabilir. İşaretli değilse, sadece arazinize ve arazinizin üzerinde uçabilir."/>
+ <text name="allow_label0">
+ Uçma:
+ </text>
+ <check_box label="Herkes" name="check fly" tool_tip="İşaretliyse Sakinler arazinizden uçabilir. İşaretli değilse, sadece arazinize ve arazinizin üzerinde uçabilir."/>
<text name="allow_label2">
İnşa Et:
</text>
@@ -329,9 +331,6 @@ Sadece büyük parseller aramada görünür.
</text>
<check_box label="Herkes" name="check other scripts"/>
<check_box label="Grup" name="check group scripts"/>
- <text name="land_options_label">
- Arazi Seçenekleri:
- </text>
<check_box label="Güvenli (hasar yok)" name="check safe" tool_tip="İşaretliyse, araziyi Güvenli moda getirerek hasar çarpışmasını etkinsizleştirir İşaretli değilse hasar çarpışması etkinleşir."/>
<check_box label="İtme Yok" name="PushRestrictCheck" tool_tip="Komut dosyalarının itmesini önler Bu seçeneğin işaretlenmesi arazinizdeki bozucu davranışları önlemeye yardımcı olabilir."/>
<check_box label="Konumu Arama sonuçlarında göster (L$30/hafta)" name="ShowDirectoryCheck" tool_tip="Arama sonuçlarında bu parsel görünsün"/>
@@ -372,9 +371,9 @@ Sadece büyük parseller aramada görünür.
</text>
<texture_picker name="snapshot_ctrl" tool_tip="Bir resim seçmek için tıklayın"/>
<text name="allow_label5">
- Diğer parsel Sakinlerine şunun için izin verin:
+ bu parseldeki avatarları görebilir ve onlarla sohbet edebilir
</text>
- <check_box label="Avatarları Gör" name="SeeAvatarsCheck" tool_tip="Diğer parsellerdeki sakinlerin bu parseldeki sakinleri görmesine ve onlarla sohbet etmesine, sizin de onları görüp, onlarla sohbet etmenize imkan tanır."/>
+ <check_box label="Avatarları Gör" name="SeeAvatarsCheck" tool_tip="Diğer parsellerdeki avatarların bu parseldeki avatarları görmesine ve onlarla sohbet etmesine, sizin de onları görüp, onlarla sohbet etmenize imkan tanır."/>
<text name="landing_point">
İniş Noktası: [LANDING]
</text>
diff --git a/indra/newview/skins/default/xui/tr/floater_avatar.xml b/indra/newview/skins/default/xui/tr/floater_avatar.xml
index fc9e3c8a9b..c6b14ba710 100644
--- a/indra/newview/skins/default/xui/tr/floater_avatar.xml
+++ b/indra/newview/skins/default/xui/tr/floater_avatar.xml
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Avatar" title="AVATAR SEÇİCİ"/>
+<floater name="Avatar" title="BİR AVATAR SEÇİN"/>
diff --git a/indra/newview/skins/default/xui/tr/floater_buy_currency.xml b/indra/newview/skins/default/xui/tr/floater_buy_currency.xml
index 6608fd72e1..d90985dcff 100644
--- a/indra/newview/skins/default/xui/tr/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/tr/floater_buy_currency.xml
@@ -46,7 +46,7 @@
L$ [AMT]
</text>
<text name="currency_links">
- [http://www.secondlife.com/my/account/payment_method_management.php ödeme yöntemi] | [http://www.secondlife.com/my/account/currency.php para birimi
+ [http://www.secondlife.com/my/account/payment_method_management.php ödeme yöntemi] | [http://www.secondlife.com/my/account/currency.php para birimi]
</text>
<text name="exchange_rate_note">
En son döviz kurunu görmek için miktarı yeniden girin.
diff --git a/indra/newview/skins/default/xui/tr/floater_camera.xml b/indra/newview/skins/default/xui/tr/floater_camera.xml
index c92d4e9db4..22e2aa52c6 100644
--- a/indra/newview/skins/default/xui/tr/floater_camera.xml
+++ b/indra/newview/skins/default/xui/tr/floater_camera.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="camera_floater" title="GÖSTER">
+<floater name="camera_floater" title="KAMERA DENETİMLERİ">
<floater.string name="rotate_tooltip">
Odak Etrafında Kamerayı Döndür
</floater.string>
diff --git a/indra/newview/skins/default/xui/tr/floater_hardware_settings.xml b/indra/newview/skins/default/xui/tr/floater_hardware_settings.xml
index 12927dcaeb..8e056b9b0d 100644
--- a/indra/newview/skins/default/xui/tr/floater_hardware_settings.xml
+++ b/indra/newview/skins/default/xui/tr/floater_hardware_settings.xml
@@ -4,8 +4,8 @@
Filtreleme:
</text>
<check_box label="Anisotropik Filtreleme (etkinken daha yavaş)" name="ani"/>
- <text name="Antialiasing:">
- Antialiasing:
+ <text name="antialiasing label">
+ Düzgünleştirme:
</text>
<combo_box label="Antialiasing" name="fsaa">
<combo_box.item label="Devre dışı" name="FSAADisabled"/>
diff --git a/indra/newview/skins/default/xui/tr/floater_model_preview.xml b/indra/newview/skins/default/xui/tr/floater_model_preview.xml
index 339545f96e..0c7cabc6ea 100644
--- a/indra/newview/skins/default/xui/tr/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/tr/floater_model_preview.xml
@@ -4,6 +4,9 @@
<string name="status_parse_error">
Hata: Tarih ayrıştırma sorunu - ayrıntılar için günlüğe bakın.
</string>
+ <string name="status_material_mismatch">
+ Hata: Modelin malzemesi, referans modelin bir alt kümesi değil.
+ </string>
<string name="status_reading_file">
Yükleniyor...
</string>
diff --git a/indra/newview/skins/default/xui/tr/floater_model_wizard.xml b/indra/newview/skins/default/xui/tr/floater_model_wizard.xml
index 108d20cfac..b3c72ba2da 100644
--- a/indra/newview/skins/default/xui/tr/floater_model_wizard.xml
+++ b/indra/newview/skins/default/xui/tr/floater_model_wizard.xml
@@ -20,6 +20,9 @@
Karşıya yüklenecek model dosyasını seçin
</text>
<button label="Gözat..." label_selected="Gözat..." name="browse"/>
+ <text name="Model types">
+ Second Life, COLLADA (.dae) dosyalarını destekler
+ </text>
<text name="dimensions">
X Y Z
</text>
diff --git a/indra/newview/skins/default/xui/tr/floater_moveview.xml b/indra/newview/skins/default/xui/tr/floater_moveview.xml
index 74ed613a62..9226218a24 100644
--- a/indra/newview/skins/default/xui/tr/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/tr/floater_moveview.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="move_floater" title="HAREKET ET">
+<floater name="move_floater" title="YÜRÜ / KOŞ / UÇ">
<string name="walk_forward_tooltip">
İleri Yürü (Yukarı Okuna veya W&apos;ye basın)
</string>
diff --git a/indra/newview/skins/default/xui/tr/floater_snapshot.xml b/indra/newview/skins/default/xui/tr/floater_snapshot.xml
index 492ec4b588..fa51f15d16 100644
--- a/indra/newview/skins/default/xui/tr/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/tr/floater_snapshot.xml
@@ -3,72 +3,63 @@
<floater.string name="unknown">
bilinmiyor
</floater.string>
- <radio_group label="Anlık görüntü türü" name="snapshot_type_radio">
- <radio_item label="E-posta" name="postcard"/>
- <radio_item label="Envanterim (L$[AMOUNT])" name="texture"/>
- <radio_item label="Bilgisayarıma kaydet" name="local"/>
- </radio_group>
+ <string name="postcard_progress_str">
+ E-posta Gönderiliyor
+ </string>
+ <string name="profile_progress_str">
+ Yayınlanıyor
+ </string>
+ <string name="inventory_progress_str">
+ Envantere Kaydediliyor
+ </string>
+ <string name="local_progress_str">
+ Bilgisayara Kaydediliyor
+ </string>
+ <string name="profile_succeeded_str">
+ Görüntü yüklendi
+ </string>
+ <string name="postcard_succeeded_str">
+ E-posta Gönderildi!
+ </string>
+ <string name="inventory_succeeded_str">
+ Envantere Kaydedildi!
+ </string>
+ <string name="local_succeeded_str">
+ Bilgisayara Kaydedildi!
+ </string>
+ <string name="profile_failed_str">
+ Görüntü Profil Akışınıza yüklenemedi.
+ </string>
+ <string name="postcard_failed_str">
+ E-posta gönderilemedi.
+ </string>
+ <string name="inventory_failed_str">
+ Envantere kaydedilemedi.
+ </string>
+ <string name="local_failed_str">
+ Bilgisayara kaydedilemedi.
+ </string>
+ <button name="advanced_options_btn" tool_tip="Gelişmiş seçenekler"/>
+ <text name="image_res_text">
+ [WIDTH] x [HEIGHT] px
+ </text>
<text name="file_size_label">
[SIZE] KB
</text>
- <button label="Gönder" name="send_btn"/>
- <button label="Kaydet (L$[AMOUNT])" name="upload_btn"/>
- <flyout_button label="Kaydet" name="save_btn" tool_tip="Görüntüyü bir dosyaya kaydet">
- <flyout_button.item label="Kaydet" name="save_item"/>
- <flyout_button.item label="Farklı Kaydet..." name="saveas_item"/>
- </flyout_button>
- <button label="Daha Fazla" name="more_btn" tool_tip="Gelişmiş seçenekler"/>
- <button label="Daha Az" name="less_btn" tool_tip="Gelişmiş seçenekler"/>
- <button label="İptal" name="discard_btn"/>
- <text name="type_label2">
- Büyüklük
- </text>
- <text name="format_label">
- Format
- </text>
- <combo_box label="Çözünürlük" name="postcard_size_combo">
- <combo_box.item label="Mevcut Pencere" name="CurrentWindow"/>
- <combo_box.item label="640x480" name="640x480"/>
- <combo_box.item label="800x600" name="800x600"/>
- <combo_box.item label="1024x768" name="1024x768"/>
- <combo_box.item label="Özel" name="Custom"/>
- </combo_box>
- <combo_box label="Çözünürlük" name="texture_size_combo">
- <combo_box.item label="Mevcut Pencere" name="CurrentWindow"/>
- <combo_box.item label="Küçük (128x128)" name="Small(128x128)"/>
- <combo_box.item label="Orta (256x256)" name="Medium(256x256)"/>
- <combo_box.item label="Büyük (512x512)" name="Large(512x512)"/>
- <combo_box.item label="Özel" name="Custom"/>
- </combo_box>
- <combo_box label="Çözünürlük" name="local_size_combo">
- <combo_box.item label="Mevcut Pencere" name="CurrentWindow"/>
- <combo_box.item label="320x240" name="320x240"/>
- <combo_box.item label="640x480" name="640x480"/>
- <combo_box.item label="800x600" name="800x600"/>
- <combo_box.item label="1024x768" name="1024x768"/>
- <combo_box.item label="1280x1024" name="1280x1024"/>
- <combo_box.item label="1600x1200" name="1600x1200"/>
- <combo_box.item label="Özel" name="Custom"/>
- </combo_box>
- <combo_box label="Format" name="local_format_combo">
- <combo_box.item label="PNG" name="PNG"/>
- <combo_box.item label="JPEG" name="JPEG"/>
- <combo_box.item label="BMP" name="BMP"/>
- </combo_box>
- <spinner label="Genişlik" name="snapshot_width"/>
- <spinner label="Yükseklik" name="snapshot_height"/>
- <check_box label="Oranları Koru" name="keep_aspect_check"/>
- <slider label="Görüntü kalitesi" name="image_quality_slider"/>
- <text name="layer_type_label">
- Yakala:
- </text>
- <combo_box label="Görüntü Katmanları" name="layer_types">
- <combo_box.item label="Renkler" name="Colors"/>
- <combo_box.item label="Derinlik" name="Depth"/>
- </combo_box>
- <check_box label="Arayüz" name="ui_check"/>
- <check_box label="BÜG&apos;ler" name="hud_check"/>
- <check_box label="Kaydettikten sonra açık tut" name="keep_open_check"/>
- <check_box label="Kare dondur (tam ekran)" name="freeze_frame_check"/>
- <check_box label="Otomatik yenile" name="auto_snapshot_check"/>
+ <panel name="advanced_options_panel">
+ <text name="advanced_options_label">
+ GELİŞMİŞ SEÇENEKLER
+ </text>
+ <text name="layer_type_label">
+ Yakala:
+ </text>
+ <combo_box label="Görüntü Katmanları" name="layer_types">
+ <combo_box.item label="Renkler" name="Colors"/>
+ <combo_box.item label="Derinlik" name="Depth"/>
+ </combo_box>
+ <check_box label="Arayüz" name="ui_check"/>
+ <check_box label="BÜG&apos;ler" name="hud_check"/>
+ <check_box label="Kare dondur (tam ekran)" name="freeze_frame_check"/>
+ <check_box label="Otomatik yenile" name="auto_snapshot_check"/>
+ </panel>
</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_toybox.xml b/indra/newview/skins/default/xui/tr/floater_toybox.xml
index 05d3633df0..e60e176643 100644
--- a/indra/newview/skins/default/xui/tr/floater_toybox.xml
+++ b/indra/newview/skins/default/xui/tr/floater_toybox.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Toybox" title="ARAÇ ÇUBUKLARINI ÖZELLEŞTİR">
+<floater name="Toybox" title="ARAÇ ÇUBUĞU DÜĞMELERİ">
<text name="toybox label 1">
Düğmeleri araç çubuklarına veya araç çubuklarından sürükleyerek ekleyin ya da kaldırın.
</text>
<text name="toybox label 2">
Her bir araç çubuğunun ayarına göre düğmeler gösterilir veya sadece simgeleri yer alır.
</text>
+ <button label="Tüm araç çubuklarını temizle" label_selected="Tüm araç çubuklarını temizle" name="btn_clear_all"/>
<button label="Varsayılanları geri yükle" label_selected="Varsayılanları geri yükle" name="btn_restore_defaults"/>
</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_translation_settings.xml b/indra/newview/skins/default/xui/tr/floater_translation_settings.xml
new file mode 100644
index 0000000000..33ce76bd9a
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/floater_translation_settings.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_translation_settings" title="SOHBET ÇEVİRİSİ AYARLARI">
+ <string name="bing_api_key_not_verified">
+ Bing uygulama kimliği doğrulanmadı. Lütfen tekrar deneyin.
+ </string>
+ <string name="google_api_key_not_verified">
+ Google API anahtarı doğrulanmadı. Lütfen tekrar deneyin.
+ </string>
+ <string name="bing_api_key_verified">
+ Bing uygulama kimliği doğrulandı.
+ </string>
+ <string name="google_api_key_verified">
+ Google API anahtarı doğrulandı.
+ </string>
+ <check_box label="Sohbet ederken makine çevirisini etkinleştirin" name="translate_chat_checkbox"/>
+ <text name="translate_language_label">
+ Sohbeti şu dile çevir:
+ </text>
+ <combo_box name="translate_language_combo">
+ <combo_box.item label="Sistem Varsayılanı" name="System Default Language"/>
+ <combo_box.item label="İngilizce" name="English"/>
+ <combo_box.item label="Dansk (Danca)" name="Danish"/>
+ <combo_box.item label="Deutsch (Almanca)" name="German"/>
+ <combo_box.item label="Español (İspanyolca)" name="Spanish"/>
+ <combo_box.item label="Français (Fransızca)" name="French"/>
+ <combo_box.item label="Italiano (İtalyanca)" name="Italian"/>
+ <combo_box.item label="Magyar (Macarca)" name="Hungarian"/>
+ <combo_box.item label="Nederlands (Flemenkçe)" name="Dutch"/>
+ <combo_box.item label="Polski (Lehçe)" name="Polish"/>
+ <combo_box.item label="Português (Portekizce)" name="Portugese"/>
+ <combo_box.item label="Русский (Rusça)" name="Russian"/>
+ <combo_box.item label="Türkçe (Türkçe)" name="Turkish"/>
+ <combo_box.item label="Українська (Ukraynaca)" name="Ukrainian"/>
+ <combo_box.item label="中文 (正體) (Çince)" name="Chinese"/>
+ <combo_box.item label="日本語 (Japonca)" name="Japanese"/>
+ <combo_box.item label="한국어 (Korece)" name="Korean"/>
+ </combo_box>
+ <text name="tip">
+ Çeviri hizmetini seçin:
+ </text>
+ <radio_group name="translation_service_rg">
+ <radio_item initial_value="bing" label="Bing Çevirmeni" name="bing"/>
+ <radio_item initial_value="google" label="Google Translate" name="google"/>
+ </radio_group>
+ <text name="bing_api_key_label">
+ Bing [http://www.bing.com/developers/createapp.aspx Uygulama Kimliği]:
+ </text>
+ <button label="Doğrula" name="verify_bing_api_key_btn"/>
+ <text name="google_api_key_label">
+ Google [http://code.google.com/apis/language/translate/v2/getting_started.html#auth API anahtarı]:
+ </text>
+ <button label="Doğrula" name="verify_google_api_key_btn"/>
+ <text name="google_links_text">
+ [http://code.google.com/apis/language/translate/v2/pricing.html Fiyatlandırma] | [https://code.google.com/apis/console İstatistikler]
+ </text>
+ <button label="Tamam" name="ok_btn"/>
+ <button label="İptal" name="cancel_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/tr/floater_voice_controls.xml b/indra/newview/skins/default/xui/tr/floater_voice_controls.xml
index dac05d8327..5ff0804f17 100644
--- a/indra/newview/skins/default/xui/tr/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/tr/floater_voice_controls.xml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_voice_controls" title="SES DENETİMLERİ">
<string name="title_nearby">
- Yakındaki ses
+ SES AYARLARI
</string>
<string name="title_group">
- [GROUP] ile grup araması
+ [GROUP] İLE GRUP ARAMASI
</string>
<string name="title_adhoc">
- Konferans araması
+ KONFERANS ARAMASI
</string>
<string name="title_peer_2_peer">
- [NAME] ile arama
+ [NAME] İLE ARAMA
</string>
<string name="no_one_near">
Yakındaki kimsede ses etkin değil
diff --git a/indra/newview/skins/default/xui/tr/menu_toolbars.xml b/indra/newview/skins/default/xui/tr/menu_toolbars.xml
index 7cb3192ec4..c8523a6ec9 100644
--- a/indra/newview/skins/default/xui/tr/menu_toolbars.xml
+++ b/indra/newview/skins/default/xui/tr/menu_toolbars.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Toolbars Popup">
- <menu_item_call label="Düğmeleri seç..." name="Chose Buttons"/>
+ <menu_item_call label="Bu düğmeyi kaldır" name="Remove button"/>
+ <menu_item_call label="Araç çubuğu düğmeleri..." name="Choose Buttons"/>
<menu_item_check label="Simgeler ve etiketler" name="icons_with_text"/>
<menu_item_check label="Sadece simgeler" name="icons_only"/>
</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 75294e38d5..ef10d639d7 100644
--- a/indra/newview/skins/default/xui/tr/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/tr/menu_viewer.xml
@@ -1,12 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu_bar name="Main Menu">
<menu label="Ben" name="Me">
- <menu_item_call label="Kontrol Paneli..." name="Manage My Account"/>
<menu_item_call label="Profil..." name="Profile"/>
<menu_item_call label="Görünüm..." name="ChangeOutfit"/>
+ <menu_item_call label="Bir avatar seçin..." name="Avatar Picker"/>
<menu_item_check label="Envanter..." name="Inventory"/>
- <menu_item_check label="Mimikler..." name="Gestures"/>
- <menu_item_check label="Ses..." name="ShowVoice"/>
+ <menu_item_call label="Yeni Envanter Penceresi" name="NewInventoryWindow"/>
+ <menu_item_call label="Yerler..." name="Places"/>
+ <menu_item_call label="Favoriler..." name="Picks"/>
+ <menu_item_call label="Kamera Denetimleri..." name="Camera Controls"/>
<menu label="Hareket" name="Movement">
<menu_item_call label="Otur" name="Sit Down Here"/>
<menu_item_check label="Uç" name="Fly"/>
@@ -20,34 +22,37 @@
<menu_item_call label="Yönetici Durumu Talep Et" name="Request Admin Options"/>
<menu_item_call label="Yönetici Durumundan Ayrıl" name="Leave Admin Options"/>
<menu_item_call label="L$ Satın Al" name="Buy and Sell L$"/>
+ <menu_item_call label="Hesap kontrol paneli..." name="Manage My Account"/>
<menu_item_call label="Tercihler..." name="Preferences"/>
- <menu_item_call label="Araç çubukları..." name="Toolbars"/>
+ <menu_item_call label="Araç çubuğu düğmeleri..." name="Toolbars"/>
<menu_item_call label="Tüm denetimleri sakla" name="Hide UI"/>
<menu_item_call label="[APP_NAME]&apos;den Çık" name="Quit"/>
</menu>
<menu label="İletişim Kur" name="Communicate">
- <menu_item_call label="Arkadaşlarım" name="My Friends"/>
- <menu_item_call label="Gruplarım" name="My Groups"/>
- <menu_item_check label="Yakındaki Sohbet" name="Nearby Chat"/>
- <menu_item_call label="Yakındaki Kişiler" name="Active Speakers"/>
- <menu_item_check label="Yakındaki Ses" name="Nearby Voice"/>
+ <menu_item_check label="Sohbet..." name="Nearby Chat"/>
+ <menu_item_check label="Konuş" name="Speak"/>
+ <menu_item_check label="Ses ayarları..." name="Nearby Voice"/>
+ <menu_item_check label="Ses şekillendirme..." name="ShowVoice"/>
+ <menu_item_check label="Mimikler..." name="Gestures"/>
+ <menu_item_call label="Arkadaşlar" name="My Friends"/>
+ <menu_item_call label="Gruplar" name="My Groups"/>
+ <menu_item_call label="Yakındaki kişiler" name="Active Speakers"/>
</menu>
<menu label="Dünya" name="World">
+ <menu_item_call label="Bu Yeri Yer İmlerine Ekle" name="Create Landmark Here"/>
+ <menu_item_call label="Hedef Konumlar..." name="Destinations"/>
+ <menu_item_check label="Dünya haritası" name="World Map"/>
<menu_item_check label="Mini-harita" name="Mini-Map"/>
- <menu_item_check label="Dünya Haritası" name="World Map"/>
<menu_item_check label="Ara" name="Search"/>
+ <menu_item_call label="Ana konuma ışınlan" name="Teleport Home"/>
+ <menu_item_call label="Ana konumu burası olarak seç" name="Set Home to Here"/>
<menu_item_call label="Anlık Görüntü" name="Take Snapshot"/>
- <menu_item_call label="Bu Yeri Yer İmlerine Ekle" name="Create Landmark Here"/>
- <menu label="Profili Yerleştir" name="Land">
- <menu_item_call label="Profili Yerleştir" name="Place Profile"/>
- <menu_item_call label="Arazi Hakkında" name="About Land"/>
- <menu_item_call label="Bölge/Gayrimenkul" name="Region/Estate"/>
- </menu>
- <menu_item_call label="Bu Araziyi Satın Al" name="Buy Land"/>
- <menu_item_call label="Arazim" name="My Land"/>
+ <menu_item_call label="Profili yerleştir" name="Place Profile"/>
+ <menu_item_call label="Arazi hakkında" name="About Land"/>
+ <menu_item_call label="Bölge / Gayrimenkul" name="Region/Estate"/>
+ <menu_item_call label="Sahip olduğum arazi parçaları..." name="My Land"/>
+ <menu_item_call label="Bu araziyi satın al" name="Buy Land"/>
<menu label="Göster" name="LandShow">
- <menu_item_check label="Denetimleri Hareket Ettir" name="Movement Controls"/>
- <menu_item_check label="Denetimleri Göster" name="Camera Controls"/>
<menu_item_check label="Yasaklama Çizgileri" name="Ban Lines"/>
<menu_item_check label="İşaretler" name="beacons"/>
<menu_item_check label="Mülkiyet Çizgileri" name="Property Lines"/>
@@ -56,16 +61,15 @@
<menu_item_check label="Parsel Özellikleri" name="Parcel Properties"/>
<menu_item_check label="Gelişmiş Menü" name="Show Advanced Menu"/>
</menu>
- <menu_item_call label="Ana Konuma Işınla" name="Teleport Home"/>
- <menu_item_call label="Ana Konumu Burası Olarak Seç" name="Set Home to Here"/>
<menu label="Güneş" name="Environment Settings">
<menu_item_call label="Gün Doğumu" name="Sunrise"/>
<menu_item_call label="Gün Ortası" name="Noon"/>
<menu_item_call label="Gün Batımı" name="Sunset"/>
<menu_item_call label="Gece Yarısı" name="Midnight"/>
+ <menu_item_call label="Bölge Ayarlarını Kullanın" name="Use Region Settings"/>
</menu>
- <menu label="Ortam Düzenleyici" name="Enviroment Editor">
- <menu_item_call label="Ortam Ayarları..." name="Enviroment Settings"/>
+ <menu label="Ortam Düzenleyici" name="Environment Editor">
+ <menu_item_call label="Ortam Ayarları..." name="Environment Settings"/>
<menu label="Su Ön Ayarları" name="Water Presets">
<menu_item_call label="Yeni ön ayar..." name="new_water_preset"/>
<menu_item_call label="Ön ayarı düzenle..." name="edit_water_preset"/>
@@ -144,6 +148,7 @@
<menu_item_call label="Yinele" name="Redo"/>
</menu>
<menu label="Yardım" name="Help">
+ <menu_item_call label="Nasıl yapılır..." name="How To"/>
<menu_item_call label="[SECOND_LIFE] Yardımı" name="Second Life Help"/>
<menu_item_call label="Kötüye Kullanımı Bildir" name="Report Abuse"/>
<menu_item_call label="Hata Bildir" name="Report Bug"/>
@@ -198,11 +203,10 @@
<menu_item_check label="İş Parçacığı Okuma Eklentisini Kullan" name="Use Plugin Read Thread"/>
<menu_item_call label="Grup Ön Belleğini Temizle" name="ClearGroupCache"/>
<menu_item_check label="Fare Düzleştirme" name="Mouse Smoothing"/>
+ <menu_item_call label="Bırakma Anahtarları" name="Release Keys"/>
<menu label="Kısa Yollar" name="Shortcuts">
<menu_item_call label="Görüntü (L$[COST])..." name="Upload Image"/>
<menu_item_check label="Ara" name="Search"/>
- <menu_item_call label="Bırakma Anahtarları" name="Release Keys"/>
- <menu_item_call label="KA Büyüklüğünü Varsayılana Ayarla" name="Set UI Size to Default"/>
<menu_item_check label="Gelişmiş Menüyü Göster - eski kısayol" name="Show Advanced Menu - legacy shortcut"/>
<menu_item_call label="Pencereyi Kapat" name="Close Window"/>
<menu_item_call label="Tüm Pencereleri Kapat" name="Close All Windows"/>
@@ -288,6 +292,7 @@
<menu_item_check label="Işıklar" name="Lights"/>
<menu_item_check label="Çarpışma İskeleti" name="Collision Skeleton"/>
<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"/>
<menu_item_check label="Şekillendir" name="Sculpt"/>
</menu>
@@ -300,7 +305,6 @@
<menu_item_check label="Işıklandırma ve Gölgeler" name="Lighting and Shadows"/>
<menu_item_check label="Güneş/Ay/Projektörlerden Gelen Gölgeler" name="Shadows from Sun/Moon/Projectors"/>
<menu_item_check label="SSAO ve Gölge Yumuşatma" name="SSAO and Shadow Smoothing"/>
- <menu_item_check label="Küresel Aydınlatma (Deneysel)" name="Global Illumination"/>
<menu_item_check label="GL Hata Ayıklama" name="Debug GL"/>
<menu_item_check label="Ardışık Hata Ayıklama" name="Debug Pipeline"/>
<menu_item_check label="Otomatik Alfa Maskeleri (ertelenmiş)" name="Automatic Alpha Masks (deferred)"/>
diff --git a/indra/newview/skins/default/xui/tr/notifications.xml b/indra/newview/skins/default/xui/tr/notifications.xml
index c0dc67ed34..631634aa7d 100644
--- a/indra/newview/skins/default/xui/tr/notifications.xml
+++ b/indra/newview/skins/default/xui/tr/notifications.xml
@@ -1110,8 +1110,13 @@ Arazinin satış bedeli sahibine geri ödenmez. Devredilen bir parsel satılırs
<notification name="DisplaySetToSafe">
Güvenli seçeneği seçtiğiniz için görüntüleme ayarları güvenli düzeye ayarlandı.
</notification>
- <notification name="DisplaySetToRecommended">
- Görüntüleme ayarları sistem yapılandırmanız için önerilen düzeye ayarlandı.
+ <notification name="DisplaySetToRecommendedGPUChange">
+ Grafik kartınız değiştiği için görüntü ayarları tavsiye edilen seviyelere ayarlandı
+önceki: &apos;[LAST_GPU]&apos;
+sonraki: &apos;[THIS_GPU]&apos;
+ </notification>
+ <notification name="DisplaySetToRecommendedFeatureChange">
+ İşleme alt sistemindeki bir değişiklik nedeniyle görüntü ayarları tavsiye edilen seviyelere ayarlandı.
</notification>
<notification name="ErrorMessage">
[ERROR_MESSAGE]
@@ -1910,7 +1915,13 @@ Envanter öğesi/öğeleri taşınsın mı?
<usetemplate ignoretext="Çıkmadan önce doğrulama iste" name="okcancelignore" notext="Çıkma" yestext="Çık"/>
</notification>
<notification name="ConfirmRestoreToybox">
- Varsayılan düğmelerinizi ve araç çubuklarınızı geri yüklemek istediğinize emin misiniz?
+ Bu eylem, varsayılan düğmelerinizi ve araç çubuklarınızı geri yükleyecek.
+
+Bu eylemi geri alamazsınız.
+ <usetemplate name="okcancelbuttons" notext="İptal" yestext="Tamam"/>
+ </notification>
+ <notification name="ConfirmClearAllToybox">
+ Bu eylem ile tüm düğmeler araç kutusuna döner ve araç çubuklarınız boş olur.
Bu eylemi geri alamazsınız.
<usetemplate name="okcancelbuttons" notext="İptal" yestext="Tamam"/>
@@ -2119,10 +2130,10 @@ Bu adımda web tarayıcınızın başlatılacağına dikkat edin.
Konu: [SUBJECT], İleti: [MESSAGE]
</notification>
<notification name="FriendOnline">
- &lt;nolink&gt;[NAME]&lt;/nolink&gt; Çevrimiçi
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; çevrimiçi
</notification>
<notification name="FriendOffline">
- &lt;nolink&gt;[NAME]&lt;/nolink&gt; Çevrimdışı
+ &lt;nolink&gt;[NAME]&lt;/nolink&gt; çevrimdışı
</notification>
<notification name="AddSelfFriend">
Çok iyi biri olduğunuza eminiz fakat kendinizi arkadaş olarak ekleyemezsiniz.
@@ -2236,14 +2247,16 @@ Lütfen tek bir nesne seçin.
Arama kartınız reddedildi.
</notification>
<notification name="TeleportToLandmark">
- Ekranınızın sağ tarafındaki Yerler panelini açıp Yer İmleri sekmesini seçerek &apos;[NAME]&apos; gibi konumlara ışınlanabilirsiniz.
-Seçmek için herhangi bir yer iminin üzerini tıklatın ve ardından panelin en altındaki &apos;Işınla&apos; düğmesini tıklatın.
-(Yer iminin üzerini çift tıklatabilir veya sağ tıklayıp &apos;Işınla&apos;yı seçebilirsiniz.)
+ &apos;[NAME]&apos; gibi konumlara ışınlanmak için &quot;Yerler&quot; düğmesine tıklayın,
+ sonra açılan pencerede Yer İmleri sekmesini seçin. Herhangi bir
+ yer iminin üzerine tıklayarak bunu seçin ve ardından pencerenin en altındaki &apos;Işınla&apos; düğmesine tıklayın.
+ (Ayrıca yer imine çift tıklayabilir veya sağ tıklayarak
+ &apos;Işınla&apos; seçimini yapabilirsiniz.)
</notification>
<notification name="TeleportToPerson">
- Ekranınızın sağ tarafındaki İnsanlar panelini açarak &apos;[NAME]&apos; gibi Sakinler ile iletişim kurabilirsiniz.
-Sakini listeden seçin ve panelin altındaki &apos;Aİ&quot; düğmesini tıklatın.
-(Listede adlarını çift tıklatarak veya sağ tıklatıp &quot;Aİ&quot;yi seçerek de bunu yapabilirsiniz.)
+ &apos;[NAME]&apos; gibi sakinlerle bağlantıya geçmek için &quot;Kişiler&quot; düğmesine tıklayın, açılan pencereden bir Sakin seçin ve sonra
+ pencerenin altında &apos;Anlık İleti&quot; üzerine tıklayın.
+ (Listede adlarına çift tıklayarak veya sağ tıklayıp &quot;Anlık İleti&quot;yi seçerek de bunu yapabilirsiniz.)
</notification>
<notification name="CantSelectLandFromMultipleRegions">
Sunucunun sınırları dışındaki arazi seçilemez.
@@ -2264,6 +2277,9 @@ Daha küçük bir arazi parçası seçmeyi deneyin.
<notification name="PaymentSent">
[MESSAGE]
</notification>
+ <notification name="PaymentFailure">
+ [MESSAGE]
+ </notification>
<notification name="EventNotification">
Etkinlik Bildirimi
diff --git a/indra/newview/skins/default/xui/tr/panel_edit_skin.xml b/indra/newview/skins/default/xui/tr/panel_edit_skin.xml
index 33fb787e08..fdf75100ed 100644
--- a/indra/newview/skins/default/xui/tr/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/tr/panel_edit_skin.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="edit_skin_panel">
<panel name="avatar_skin_color_panel">
- <texture_picker label="Baş Dövmeleri" name="Head Tattoos" tool_tip="Bir resim seçmek için tıklayın"/>
- <texture_picker label="Üst Gövde Dövmeleri" name="Upper Tattoos" tool_tip="Bir resim seçmek için tıklayın"/>
- <texture_picker label="Alt Gövde Dövmeleri" name="Lower Tattoos" tool_tip="Bir resim seçmek için tıklayın"/>
+ <texture_picker label="Baş" name="Head" tool_tip="Bir resim seçmek için tıklayın"/>
+ <texture_picker label="Üst gövde" name="Upper Body" tool_tip="Bir resim seçmek için tıklayın"/>
+ <texture_picker label="Alt gövde" name="Lower Body" tool_tip="Bir resim seçmek için tıklayın"/>
</panel>
<panel name="accordion_panel">
<accordion name="wearable_accordion">
diff --git a/indra/newview/skins/default/xui/tr/panel_postcard_message.xml b/indra/newview/skins/default/xui/tr/panel_postcard_message.xml
new file mode 100644
index 0000000000..2361f4c1c3
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/panel_postcard_message.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_message">
+ <text name="to_label">
+ Kime:
+ </text>
+ <text name="name_label">
+ Kimden:
+ </text>
+ <text name="subject_label">
+ Konu:
+ </text>
+ <line_editor label="Konunuzu buraya yazın." name="subject_form"/>
+ <text name="msg_label">
+ İleti:
+ </text>
+ <text_editor name="msg_form">
+ İletinizi buraya yazın.
+ </text_editor>
+ <button label="İptal" name="cancel_btn"/>
+ <button label="Gönder" name="send_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/tr/panel_postcard_settings.xml b/indra/newview/skins/default/xui/tr/panel_postcard_settings.xml
new file mode 100644
index 0000000000..bce0b21b9a
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/panel_postcard_settings.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_postcard_settings">
+ <combo_box label="Çözünürlük" name="postcard_size_combo">
+ <combo_box.item label="Mevcut Pencere" name="CurrentWindow"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="Özel" name="Custom"/>
+ </combo_box>
+ <layout_stack name="postcard_image_params_ls">
+ <layout_panel name="postcard_image_size_lp">
+ <spinner label="Genişlik" name="postcard_snapshot_width"/>
+ <spinner label="Yükseklik" name="postcard_snapshot_height"/>
+ <check_box label="Oranları koru" name="postcard_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="postcard_image_format_quality_lp">
+ <slider label="Görüntü kalitesi" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/tr/panel_preferences_chat.xml b/indra/newview/skins/default/xui/tr/panel_preferences_chat.xml
index f7f0698a31..9caf95a122 100644
--- a/indra/newview/skins/default/xui/tr/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/tr/panel_preferences_chat.xml
@@ -29,29 +29,5 @@
<check_box label="Aİ Sohbetleri" name="EnableIMChatPopups" tool_tip="Bir anlık ileti geldiğinde açılır pencereleri görmek için işaretle"/>
<spinner label="Yakındaki sohbet iletilerinin vurgulanma süresi:" name="nearby_toasts_lifetime"/>
<spinner label="Yakındaki sohbet iletilerinin sönme süresi:" name="nearby_toasts_fadingtime"/>
- <text name="translate_chb_label">
- Sohbet ederken makine çevirisi kullanılsın
- </text>
- <text name="translate_language_text">
- Sohbeti şu dile çevir:
- </text>
- <combo_box name="translate_language_combobox">
- <combo_box.item label="Sistem Varsayılanı" name="System Default Language"/>
- <combo_box.item label="İngilizce" name="English"/>
- <combo_box.item label="Dansk (Danca)" name="Danish"/>
- <combo_box.item label="Deutsch (Almanca)" name="German"/>
- <combo_box.item label="Español (İspanyolca)" name="Spanish"/>
- <combo_box.item label="Français (Fransızca)" name="French"/>
- <combo_box.item label="Italiano (İtalyanca)" name="Italian"/>
- <combo_box.item label="Magyar (Macarca)" name="Hungarian"/>
- <combo_box.item label="Nederlands (Flemenkçe)" name="Dutch"/>
- <combo_box.item label="Polski (Lehçe)" name="Polish"/>
- <combo_box.item label="Português (Portekizce)" name="Portugese"/>
- <combo_box.item label="Русский (Rusça)" name="Russian"/>
- <combo_box.item label="Türkçe (Türkçe)" name="Turkish"/>
- <combo_box.item label="Українська (Ukraynaca)" name="Ukrainian"/>
- <combo_box.item label="中文 (正體) (Çince)" name="Chinese"/>
- <combo_box.item label="日本語 (Japonca)" name="Japanese"/>
- <combo_box.item label="한국어 (Korece)" name="Korean"/>
- </combo_box>
+ <button label="Sohbet Çevirisi Ayarları" name="ok_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/tr/panel_preferences_setup.xml b/indra/newview/skins/default/xui/tr/panel_preferences_setup.xml
index 12c175b8f5..9d03d9b01d 100644
--- a/indra/newview/skins/default/xui/tr/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/tr/panel_preferences_setup.xml
@@ -15,7 +15,7 @@
Web:
</text>
<radio_group name="use_external_browser">
- <radio_item label="Tarayıcımı kullan (IE, Firefox, Safari)" name="external" tool_tip="Yardım, web bağlantıları vs. için sistemin varsayılan web tarayıcısını kullanın. Tam ekran çalıştırılıyorsa tavsiye edilmez." value="1"/>
+ <radio_item label="Tarayıcımı kullan (IE, Firefox, Safari)" name="external" tool_tip="Yardım, web bağlantıları vs. için sistemin varsayılan web tarayıcısını kullanın. Tam ekran çalıştırılıyorsa tavsiye edilmez." value="true"/>
<radio_item label="Yerleşik tarayıcıyı kullan" name="internal" tool_tip="Yardım, web bağlantıları vs. için dahili web tarayıcısını kullanın. Bu tarayıcı [APP_NAME] içerisinde yeni bir pencere olarak açılır." value=""/>
</radio_group>
<check_box initial_value="true" label="Eklentileri etkinleştir" name="browser_plugins_enabled"/>
diff --git a/indra/newview/skins/default/xui/tr/panel_snapshot_inventory.xml b/indra/newview/skins/default/xui/tr/panel_snapshot_inventory.xml
new file mode 100644
index 0000000000..e3b22c639a
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/panel_snapshot_inventory.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_inventory">
+ <text name="title">
+ Envanterime Kaydet
+ </text>
+ <text name="hint_lbl">
+ Bir görüntüyü envanterinize kaydetmenin maliyeti L$[UPLOAD_COST] olur. Görüntünüzü bir doku olarak kaydetmek için kare formatlardan birini seçin.
+ </text>
+ <combo_box label="Çözünürlük" name="texture_size_combo">
+ <combo_box.item label="Mevcut Pencere" name="CurrentWindow"/>
+ <combo_box.item label="Küçük (128x128)" name="Small(128x128)"/>
+ <combo_box.item label="Orta (256x256)" name="Medium(256x256)"/>
+ <combo_box.item label="Büyük (512x512)" name="Large(512x512)"/>
+ <combo_box.item label="Özel" name="Custom"/>
+ </combo_box>
+ <spinner label="Genişlik" name="inventory_snapshot_width"/>
+ <spinner label="Yükseklik" name="inventory_snapshot_height"/>
+ <check_box label="Oranları koru" name="inventory_keep_aspect_check"/>
+ <button label="İptal" name="cancel_btn"/>
+ <button label="Kaydet" name="save_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/tr/panel_snapshot_local.xml b/indra/newview/skins/default/xui/tr/panel_snapshot_local.xml
new file mode 100644
index 0000000000..87d7677d73
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/panel_snapshot_local.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_local">
+ <text name="title">
+ Bilgisayarıma Kaydet
+ </text>
+ <combo_box label="Çözünürlük" name="local_size_combo">
+ <combo_box.item label="Mevcut Pencere" name="CurrentWindow"/>
+ <combo_box.item label="320x240" name="320x240"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="1280x1024" name="1280x1024"/>
+ <combo_box.item label="1600x1200" name="1600x1200"/>
+ <combo_box.item label="Özel" name="Custom"/>
+ </combo_box>
+ <layout_stack name="local_image_params_ls">
+ <layout_panel name="local_image_size_lp">
+ <spinner label="Genişlik" name="local_snapshot_width"/>
+ <spinner label="Yükseklik" name="local_snapshot_height"/>
+ <check_box label="Oranları koru" name="local_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="local_image_format_quality_lp">
+ <combo_box label="Format" name="local_format_combo">
+ <combo_box.item label="PNG (Kayıpsız)" name="PNG"/>
+ <combo_box.item label="JPEG" name="JPEG"/>
+ <combo_box.item label="BMP (Kayıpsız)" name="BMP"/>
+ </combo_box>
+ <slider label="Görüntü kalitesi" name="image_quality_slider"/>
+ <text name="image_quality_level">
+ ([QLVL])
+ </text>
+ </layout_panel>
+ </layout_stack>
+ <button label="İptal" name="cancel_btn"/>
+ <flyout_button label="Kaydet" name="save_btn" tool_tip="Görüntüyü bir dosyaya kaydet">
+ <flyout_button.item label="Kaydet" name="save_item"/>
+ <flyout_button.item label="Farklı Kaydet..." name="saveas_item"/>
+ </flyout_button>
+</panel>
diff --git a/indra/newview/skins/default/xui/tr/panel_snapshot_options.xml b/indra/newview/skins/default/xui/tr/panel_snapshot_options.xml
new file mode 100644
index 0000000000..fd2e85fce5
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/panel_snapshot_options.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_options">
+ <button label="Profil Akışımda Yayınla" name="save_to_profile_btn"/>
+ <button label="E-posta" name="save_to_email_btn"/>
+ <button label="Envanterime Kaydet (L$[AMOUNT])" name="save_to_inventory_btn"/>
+ <button label="Bilgisayarıma Kaydet" name="save_to_computer_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/tr/panel_snapshot_postcard.xml b/indra/newview/skins/default/xui/tr/panel_snapshot_postcard.xml
new file mode 100644
index 0000000000..e999678a0d
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/panel_snapshot_postcard.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_postcard">
+ <string name="default_subject">
+ SECOND_LIFE]&apos;dan posta kartı.
+ </string>
+ <string name="default_message">
+ Buna bakın!
+ </string>
+ <string name="upload_message">
+ Gönderiyor...
+ </string>
+ <text name="title">
+ E-posta
+ </text>
+ <button label="İleti" name="message_btn"/>
+ <button label="Ayarlar" name="settings_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/tr/panel_snapshot_profile.xml b/indra/newview/skins/default/xui/tr/panel_snapshot_profile.xml
new file mode 100644
index 0000000000..334fd52a48
--- /dev/null
+++ b/indra/newview/skins/default/xui/tr/panel_snapshot_profile.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_snapshot_profile">
+ <text name="title">
+ Profil Akışımda Yayınla
+ </text>
+ <combo_box label="Çözünürlük" name="profile_size_combo">
+ <combo_box.item label="Mevcut Pencere" name="CurrentWindow"/>
+ <combo_box.item label="640x480" name="640x480"/>
+ <combo_box.item label="800x600" name="800x600"/>
+ <combo_box.item label="1024x768" name="1024x768"/>
+ <combo_box.item label="Özel" name="Custom"/>
+ </combo_box>
+ <layout_stack name="profile_image_params_ls">
+ <layout_panel name="profile_image_size_lp">
+ <spinner label="Genişlik" name="profile_snapshot_width"/>
+ <spinner label="Yükseklik" name="profile_snapshot_height"/>
+ <check_box label="Oranları koru" name="profile_keep_aspect_check"/>
+ </layout_panel>
+ <layout_panel name="profile_image_metadata_lp">
+ <text name="caption_label">
+ Resim yazısı:
+ </text>
+ <check_box initial_value="true" label="Konumu dahil et" name="add_location_cb"/>
+ </layout_panel>
+ </layout_stack>
+ <button label="İptal" name="cancel_btn"/>
+ <button label="Yayınla" name="post_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/tr/strings.xml b/indra/newview/skins/default/xui/tr/strings.xml
index bf331dc3cf..0dbc9b0a0e 100644
--- a/indra/newview/skins/default/xui/tr/strings.xml
+++ b/indra/newview/skins/default/xui/tr/strings.xml
@@ -1211,7 +1211,7 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin.
Envanterinizde bu dokunun kopyası yok
</string>
<string name="InventoryInboxNoItems">
- Pazaryeri üzerinden satın alınan öğeler buraya teslim edilir.
+ Bir öğeyi satın aldığınızda veya başka bir şekilde edindiğinizde burada görünür; bunu envanterinizdeki bir klasöre sürükleyebilir veya tutmak istemiyorsanız silebilirsiniz.
</string>
<string name="MarketplaceURL">
http://marketplace.[DOMAIN_NAME]
@@ -1409,6 +1409,9 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin.
<string name="no_attachments">
Giyilen aksesuar yok
</string>
+ <string name="Attachments remain">
+ Aksesuarlar ([COUNT] yuva mevcut)
+ </string>
<string name="Buy">
Satın Al
</string>
@@ -1535,6 +1538,12 @@ Lütfen bir dakika içerisinde tekrar oturum açmayı deneyin.
<string name="Right Pec">
Sağ Göğüs
</string>
+ <string name="Neck">
+ Boyun
+ </string>
+ <string name="Avatar Center">
+ Avatar Merkezi
+ </string>
<string name="Invalid Attachment">
Geçersiz Aksesuar Noktası
</string>
@@ -4027,6 +4036,18 @@ Bu iletiyi almaya devam ederseniz, lütfen [SUPPORT_SITE] bölümüne başvurun.
<string name="you_paid_ldollars_no_name">
[REASON] L$[AMOUNT] ödediniz.
</string>
+ <string name="you_paid_failure_ldollars">
+ [REASON] [NAME]&apos;e L$[AMOUNT] ödeyemediniz.
+ </string>
+ <string name="you_paid_failure_ldollars_no_info">
+ L$[AMOUNT] ödeyemediniz.
+ </string>
+ <string name="you_paid_failure_ldollars_no_reason">
+ [NAME]&apos;e L$[AMOUNT] ödeyemediniz.
+ </string>
+ <string name="you_paid_failure_ldollars_no_name">
+ [REASON] L$[AMOUNT] ödeyemediniz.
+ </string>
<string name="for item">
[ITEM] için.
</string>
@@ -4437,6 +4458,12 @@ Düzenleyici yolunu çift tırnakla çevrelemeyi deneyin.
<string name="ExternalEditorFailedToRun">
Harici düzenleyici çalışmadı.
</string>
+ <string name="TranslationFailed">
+ Çeviri başarılamadı: [REASON]
+ </string>
+ <string name="TranslationResponseParseError">
+ Çeviri yanıtı ayrıştırılırken hata meydana geldi.
+ </string>
<string name="Esc">
Esc
</string>
@@ -4819,7 +4846,7 @@ Düzenleyici yolunu çift tırnakla çevrelemeyi deneyin.
Mini-harita
</string>
<string name="Command_Move_Label">
- Hareket Et
+ Yürü / koş / uç
</string>
<string name="Command_People_Label">
Kişiler
@@ -4846,10 +4873,10 @@ Düzenleyici yolunu çift tırnakla çevrelemeyi deneyin.
Konuş
</string>
<string name="Command_View_Label">
- Görünüm
+ Kamera denetimleri
</string>
<string name="Command_Voice_Label">
- Yakındaki ses
+ Ses ayarları
</string>
<string name="Command_AboutLand_Tooltip">
Ziyaret ettiğiniz araziyle ilgili bilgi
@@ -4921,7 +4948,16 @@ Düzenleyici yolunu çift tırnakla çevrelemeyi deneyin.
Kamera açısını değiştirmek
</string>
<string name="Command_Voice_Tooltip">
- Ses imkanına sahip yakındaki kişiler
+ Aramalar ve SL dünyası içinde size yakın kişiler için ses denetimleri
+ </string>
+ <string name="Toolbar_Bottom_Tooltip">
+ şu anda alt araç çubuğunuzda
+ </string>
+ <string name="Toolbar_Left_Tooltip">
+ şu anda sol araç çubuğunuzda
+ </string>
+ <string name="Toolbar_Right_Tooltip">
+ şu anda sağ araç çubuğunuzda
</string>
<string name="Retain%">
Koru %
@@ -4947,4 +4983,19 @@ Düzenleyici yolunu çift tırnakla çevrelemeyi deneyin.
<string name="Normal">
Normal
</string>
+ <string name="snapshot_quality_very_low">
+ Çok Düşük
+ </string>
+ <string name="snapshot_quality_low">
+ Düşük
+ </string>
+ <string name="snapshot_quality_medium">
+ Orta
+ </string>
+ <string name="snapshot_quality_high">
+ Yüksek
+ </string>
+ <string name="snapshot_quality_very_high">
+ Çok Yüksek
+ </string>
</strings>
diff --git a/indra/newview/skins/default/xui/tr/teleport_strings.xml b/indra/newview/skins/default/xui/tr/teleport_strings.xml
index c506bb8a58..62aaaf671f 100644
--- a/indra/newview/skins/default/xui/tr/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/tr/teleport_strings.xml
@@ -21,8 +21,8 @@ Hala ışınlanamıyorsanız, sorunu çözmek için lütfen çıkış yapıp otu
Bir dakika sonra tekrar deneyin.
</message>
<message name="NoHelpIslandTP">
-You cannot teleport back to Welcome Island.
-Go to &apos;Welcome Island Public&apos; to repeat the tutorial.
+ Karşılama Ada&apos;sına geri ışınlanamazsınız.
+Öğreticiyi tekrarlamak için &apos;Karşılama Ada&apos;sı Kamusal Alanı&apos;na gidin.
</message>
<message name="noaccess_tport">
Üzgünüz, bu ışınlanma hedef konumuna erişim hakkına sahip değilsiniz.