summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/cmake/APR.cmake9
-rw-r--r--indra/cmake/Boost.cmake12
-rw-r--r--indra/cmake/GStreamer010Plugin.cmake1
-rw-r--r--indra/cmake/PulseAudio.cmake28
-rw-r--r--indra/integration_tests/llui_libtest/llui_libtest.cpp4
-rw-r--r--indra/linux_crash_logger/CMakeLists.txt11
-rw-r--r--indra/linux_updater/CMakeLists.txt11
-rw-r--r--indra/llcommon/llchat.h6
-rw-r--r--indra/llcommon/llsys.cpp27
-rw-r--r--indra/llcommon/llsys.h15
-rw-r--r--indra/llcommon/llworkerthread.cpp36
-rw-r--r--indra/llcommon/llworkerthread.h3
-rw-r--r--indra/llinventory/llpermissions.cpp2
-rw-r--r--indra/llinventory/llpermissions.h32
-rw-r--r--indra/llmath/llvolume.cpp201
-rw-r--r--indra/llmath/llvolume.h4
-rw-r--r--indra/llrender/llfontgl.cpp30
-rw-r--r--indra/llrender/llrender.cpp131
-rw-r--r--indra/llrender/llrender.h23
-rw-r--r--indra/llui/CMakeLists.txt10
-rw-r--r--indra/llui/llaccordionctrl.cpp91
-rw-r--r--indra/llui/llaccordionctrl.h3
-rw-r--r--indra/llui/llaccordionctrltab.cpp299
-rw-r--r--indra/llui/llaccordionctrltab.h31
-rw-r--r--indra/llui/llbutton.h3
-rw-r--r--indra/llui/llcombobox.cpp64
-rw-r--r--indra/llui/llcombobox.h34
-rw-r--r--indra/llui/llconsole.cpp3
-rw-r--r--indra/llui/lldockablefloater.cpp8
-rw-r--r--indra/llui/lldockablefloater.h2
-rw-r--r--indra/llui/llfloater.cpp68
-rw-r--r--indra/llui/llfloater.h5
-rw-r--r--indra/llui/llfocusmgr.cpp51
-rw-r--r--indra/llui/llfocusmgr.h10
-rw-r--r--indra/llui/llhandle.h7
-rw-r--r--indra/llui/lllayoutstack.cpp38
-rw-r--r--indra/llui/lllayoutstack.h10
-rw-r--r--indra/llui/llmodaldialog.cpp6
-rw-r--r--indra/llui/llpanel.cpp10
-rw-r--r--indra/llui/llpanel.h8
-rw-r--r--indra/llui/llscrolllistcell.cpp4
-rw-r--r--indra/llui/llscrolllistcell.h5
-rw-r--r--indra/llui/llscrolllistctrl.cpp30
-rw-r--r--indra/llui/llscrolllistctrl.h38
-rw-r--r--indra/llui/llsearcheditor.cpp15
-rw-r--r--indra/llui/lltabcontainer.cpp35
-rw-r--r--indra/llui/llui.cpp151
-rw-r--r--indra/llui/llui.h12
-rw-r--r--indra/llui/llurlentry.cpp19
-rw-r--r--indra/llui/llurlentry.h3
-rw-r--r--indra/llui/llurlregistry.cpp4
-rw-r--r--indra/llui/llview.cpp13
-rw-r--r--indra/llui/llview.h4
-rw-r--r--indra/llui/llviewborder.cpp58
-rw-r--r--indra/llui/llviewborder.h3
-rw-r--r--indra/llvfs/lldir.cpp2
-rw-r--r--indra/llwindow/llwindowsdl.cpp79
-rw-r--r--indra/media_plugins/webkit/CMakeLists.txt14
-rw-r--r--indra/media_plugins/webkit/linux_volume_catcher.cpp488
-rw-r--r--indra/media_plugins/webkit/linux_volume_catcher_pa_syms.inc21
-rw-r--r--indra/media_plugins/webkit/linux_volume_catcher_paglib_syms.inc6
-rw-r--r--indra/media_plugins/webkit/media_plugin_webkit.cpp62
-rw-r--r--indra/newview/CMakeLists.txt15
-rw-r--r--indra/newview/app_settings/settings.xml35
-rw-r--r--indra/newview/gpu_table.txt18
-rw-r--r--indra/newview/installers/windows/install_icon.icobin25214 -> 367958 bytes
-rw-r--r--indra/newview/installers/windows/uninstall_icon.icobin25214 -> 367958 bytes
-rw-r--r--indra/newview/linux_tools/client-readme.txt9
-rwxr-xr-xindra/newview/linux_tools/wrapper.sh10
-rw-r--r--indra/newview/llagent.cpp31
-rw-r--r--indra/newview/llagent.h3
-rw-r--r--indra/newview/llagentaccess.cpp11
-rw-r--r--indra/newview/llagentaccess.h1
-rw-r--r--indra/newview/llagentwearables.cpp282
-rw-r--r--indra/newview/llappearancemgr.cpp510
-rw-r--r--indra/newview/llappearancemgr.h15
-rw-r--r--indra/newview/llappviewer.cpp59
-rw-r--r--indra/newview/llappviewermacosx.cpp7
-rw-r--r--indra/newview/llavataractions.cpp15
-rw-r--r--indra/newview/llavataractions.h5
-rw-r--r--indra/newview/llavatarlist.cpp11
-rw-r--r--indra/newview/llavatarlist.h5
-rw-r--r--indra/newview/llavatarlistitem.cpp4
-rw-r--r--indra/newview/llavatarlistitem.h2
-rw-r--r--indra/newview/llbottomtray.cpp44
-rw-r--r--indra/newview/llbottomtray.h3
-rw-r--r--indra/newview/llcallfloater.cpp3
-rw-r--r--indra/newview/llcallfloater.h4
-rw-r--r--indra/newview/llcallingcard.cpp15
-rw-r--r--indra/newview/llchathistory.cpp159
-rw-r--r--indra/newview/llchathistory.h3
-rw-r--r--indra/newview/llchatitemscontainerctrl.cpp1
-rw-r--r--indra/newview/llchatitemscontainerctrl.h3
-rw-r--r--indra/newview/llclassifiedstatsresponder.cpp24
-rw-r--r--indra/newview/llclassifiedstatsresponder.h3
-rw-r--r--indra/newview/lldebugview.cpp2
-rw-r--r--indra/newview/lldrawable.cpp3
-rw-r--r--indra/newview/lldrawpool.cpp4
-rw-r--r--indra/newview/lldrawpoolalpha.cpp8
-rw-r--r--indra/newview/lldrawpoolbump.cpp8
-rw-r--r--indra/newview/lldrawpooltree.cpp4
-rw-r--r--indra/newview/llexpandabletextbox.cpp8
-rw-r--r--indra/newview/llexpandabletextbox.h1
-rw-r--r--indra/newview/llface.cpp25
-rw-r--r--indra/newview/llfasttimerview.cpp29
-rw-r--r--indra/newview/llfasttimerview.h4
-rw-r--r--indra/newview/llflexibleobject.cpp15
-rw-r--r--indra/newview/llfloaterbuyland.cpp24
-rw-r--r--indra/newview/llfloatercamera.cpp43
-rw-r--r--indra/newview/llfloatercamera.h6
-rw-r--r--indra/newview/llfloaterevent.cpp53
-rw-r--r--indra/newview/llfloaterevent.h3
-rw-r--r--indra/newview/llfloaterimagepreview.cpp5
-rw-r--r--indra/newview/llfloaterinventory.cpp3
-rw-r--r--indra/newview/llfloaterlagmeter.cpp24
-rw-r--r--indra/newview/llfloaterlagmeter.h2
-rw-r--r--indra/newview/llfloatermediasettings.cpp6
-rw-r--r--indra/newview/llfloaternotificationsconsole.cpp2
-rw-r--r--indra/newview/llfloaterpreference.cpp52
-rw-r--r--indra/newview/llfloaterpreference.h3
-rw-r--r--indra/newview/llfloaterscriptlimits.cpp2
-rw-r--r--indra/newview/llfloatersearch.cpp13
-rw-r--r--indra/newview/llfloatersellland.cpp1
-rw-r--r--indra/newview/llfloaterworldmap.cpp4
-rw-r--r--indra/newview/llfolderview.cpp30
-rw-r--r--indra/newview/llfolderview.h2
-rw-r--r--indra/newview/llfriendcard.cpp26
-rw-r--r--indra/newview/llfriendcard.h2
-rw-r--r--indra/newview/llglsandbox.cpp24
-rw-r--r--indra/newview/llgrouplist.cpp2
-rw-r--r--indra/newview/llgrouplist.h5
-rw-r--r--indra/newview/llgroupmgr.cpp24
-rw-r--r--indra/newview/llhudrender.cpp12
-rw-r--r--indra/newview/llhudtext.cpp2
-rw-r--r--indra/newview/llimfloater.cpp21
-rw-r--r--indra/newview/llimfloatercontainer.cpp9
-rw-r--r--indra/newview/llimview.cpp50
-rw-r--r--indra/newview/llimview.h2
-rw-r--r--indra/newview/llinspectavatar.cpp18
-rw-r--r--indra/newview/llinventorybridge.cpp35
-rw-r--r--indra/newview/llinventorymodel.cpp2
-rw-r--r--indra/newview/llinventorypanel.cpp21
-rw-r--r--indra/newview/llinventorypanel.h25
-rw-r--r--indra/newview/lllocationhistory.cpp8
-rw-r--r--indra/newview/lllocationhistory.h27
-rw-r--r--indra/newview/lllocationinputctrl.cpp128
-rw-r--r--indra/newview/lllocationinputctrl.h8
-rw-r--r--indra/newview/lllogchat.cpp128
-rw-r--r--indra/newview/llmediactrl.cpp8
-rw-r--r--indra/newview/llmoveview.cpp53
-rw-r--r--indra/newview/llmoveview.h4
-rw-r--r--indra/newview/llnamelistctrl.cpp27
-rw-r--r--indra/newview/llnamelistctrl.h2
-rw-r--r--indra/newview/llnavigationbar.cpp49
-rw-r--r--indra/newview/llnearbychat.cpp20
-rw-r--r--indra/newview/llnearbychatbar.cpp26
-rw-r--r--indra/newview/llnearbychatbar.h3
-rw-r--r--indra/newview/llnearbychathandler.cpp10
-rw-r--r--indra/newview/llnetmap.cpp15
-rw-r--r--indra/newview/llnotificationhandler.h14
-rw-r--r--indra/newview/llnotificationhandlerutil.cpp111
-rw-r--r--indra/newview/llnotificationofferhandler.cpp4
-rw-r--r--indra/newview/llnotificationtiphandler.cpp62
-rw-r--r--indra/newview/lloutputmonitorctrl.cpp8
-rw-r--r--indra/newview/lloutputmonitorctrl.h10
-rw-r--r--indra/newview/llpanelavatar.cpp30
-rw-r--r--indra/newview/llpanelavatar.h2
-rw-r--r--indra/newview/llpanelclassified.cpp366
-rw-r--r--indra/newview/llpanelclassified.h76
-rw-r--r--indra/newview/llpanelgroup.cpp8
-rw-r--r--indra/newview/llpanelgroupgeneral.cpp16
-rw-r--r--indra/newview/llpanelgroupgeneral.h2
-rw-r--r--indra/newview/llpanelgroupnotices.cpp3
-rw-r--r--indra/newview/llpanelimcontrolpanel.cpp4
-rw-r--r--indra/newview/llpanellandmarks.cpp250
-rw-r--r--indra/newview/llpanellandmarks.h10
-rw-r--r--indra/newview/llpanellogin.cpp1
-rw-r--r--indra/newview/llpanelmaininventory.cpp12
-rw-r--r--indra/newview/llpanelnearbymedia.cpp141
-rw-r--r--indra/newview/llpanelnearbymedia.h4
-rw-r--r--indra/newview/llpanelpeople.cpp21
-rw-r--r--indra/newview/llpanelpeoplemenus.cpp10
-rw-r--r--indra/newview/llpanelpicks.cpp9
-rw-r--r--indra/newview/llpanelplaceinfo.cpp2
-rw-r--r--indra/newview/llpanelvolumepulldown.cpp14
-rw-r--r--indra/newview/llpanelvolumepulldown.h2
-rw-r--r--indra/newview/llparticipantlist.cpp2
-rw-r--r--indra/newview/llpopupview.cpp250
-rw-r--r--indra/newview/llpopupview.h67
-rw-r--r--indra/newview/llpreviewtexture.cpp124
-rw-r--r--indra/newview/llprogressview.cpp6
-rw-r--r--indra/newview/llscreenchannel.cpp30
-rw-r--r--indra/newview/llscriptfloater.cpp14
-rw-r--r--indra/newview/llselectmgr.cpp19
-rw-r--r--indra/newview/llsidepaneltaskinfo.cpp16
-rw-r--r--indra/newview/llsidepaneltaskinfo.h2
-rw-r--r--indra/newview/llsidetray.cpp5
-rw-r--r--indra/newview/llslurl.cpp16
-rw-r--r--indra/newview/llslurl.h5
-rw-r--r--indra/newview/llspatialpartition.cpp3
-rw-r--r--indra/newview/llspatialpartition.h1
-rw-r--r--indra/newview/llspeakingindicatormanager.cpp47
-rw-r--r--indra/newview/llspeakingindicatormanager.h24
-rw-r--r--indra/newview/llsplitbutton.cpp7
-rw-r--r--indra/newview/llstartup.cpp9
-rw-r--r--indra/newview/llstatusbar.cpp65
-rw-r--r--indra/newview/llsyswellwindow.cpp27
-rw-r--r--indra/newview/lltexlayer.cpp14
-rw-r--r--indra/newview/lltexturecache.cpp6
-rw-r--r--indra/newview/lltexturectrl.h2
-rw-r--r--indra/newview/lltexturefetch.cpp28
-rw-r--r--indra/newview/lltexturefetch.h2
-rw-r--r--indra/newview/lltoast.cpp159
-rw-r--r--indra/newview/lltoast.h26
-rw-r--r--indra/newview/lltoastnotifypanel.cpp3
-rw-r--r--indra/newview/lltoastnotifypanel.h1
-rw-r--r--indra/newview/lltoolmorph.cpp12
-rw-r--r--indra/newview/lluploaddialog.cpp2
-rw-r--r--indra/newview/llviewercamera.cpp10
-rw-r--r--indra/newview/llviewerchat.cpp3
-rw-r--r--indra/newview/llviewercontrol.cpp1
-rw-r--r--indra/newview/llviewerdisplay.cpp3
-rw-r--r--indra/newview/llviewerfloaterreg.cpp2
-rw-r--r--indra/newview/llviewerinventory.cpp37
-rw-r--r--indra/newview/llviewerinventory.h2
-rw-r--r--indra/newview/llviewerjointmesh.cpp2
-rw-r--r--indra/newview/llviewermedia.cpp33
-rw-r--r--indra/newview/llviewermediafocus.cpp2
-rw-r--r--indra/newview/llviewermenu.cpp125
-rw-r--r--indra/newview/llviewermessage.cpp21
-rw-r--r--indra/newview/llviewerobject.cpp3
-rw-r--r--indra/newview/llviewerobjectlist.cpp171
-rw-r--r--indra/newview/llviewerobjectlist.h31
-rw-r--r--indra/newview/llviewerregion.cpp41
-rw-r--r--indra/newview/llviewertexture.cpp295
-rw-r--r--indra/newview/llviewertexture.h5
-rw-r--r--indra/newview/llviewertexturelist.cpp14
-rw-r--r--indra/newview/llviewerwindow.cpp130
-rw-r--r--indra/newview/llviewerwindow.h9
-rw-r--r--indra/newview/llvoavatarself.cpp39
-rw-r--r--indra/newview/llvoavatarself.h1
-rw-r--r--indra/newview/llvoclouds.cpp4
-rw-r--r--indra/newview/llvoicechannel.cpp5
-rw-r--r--indra/newview/llvoiceclient.cpp33
-rw-r--r--indra/newview/llvoiceclient.h4
-rw-r--r--indra/newview/llvotextbubble.cpp3
-rw-r--r--indra/newview/llvotree.cpp6
-rw-r--r--indra/newview/llvovolume.cpp38
-rw-r--r--indra/newview/llvowlsky.cpp2
-rw-r--r--indra/newview/llwearablelist.cpp5
-rw-r--r--indra/newview/llworld.cpp3
-rw-r--r--indra/newview/llworldmap.h1
-rw-r--r--indra/newview/pipeline.cpp89
-rw-r--r--indra/newview/pipeline.h12
-rw-r--r--indra/newview/res/ll_icon.icobin364590 -> 367958 bytes
-rw-r--r--indra/newview/secondlife.icnsbin135209 -> 180809 bytes
-rw-r--r--indra/newview/skins/default/colors.xml2
-rw-r--r--indra/newview/skins/default/textures/icons/unknown_icon.pngbin0 -> 884 bytes
-rw-r--r--indra/newview/skins/default/textures/navbar/BuyArrow_Over.pngbin2956 -> 508 bytes
-rw-r--r--indra/newview/skins/default/textures/textures.xml4
-rw-r--r--indra/newview/skins/default/xui/da/floater_about.xml10
-rw-r--r--indra/newview/skins/default/xui/da/floater_about_land.xml19
-rw-r--r--indra/newview/skins/default/xui/da/floater_animation_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/da/floater_avatar_textures.xml55
-rw-r--r--indra/newview/skins/default/xui/da/floater_beacons.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_bulk_perms.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_buy_currency.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_buy_land.xml258
-rw-r--r--indra/newview/skins/default/xui/da/floater_color_picker.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_customize.xml115
-rw-r--r--indra/newview/skins/default/xui/da/floater_event.xml48
-rw-r--r--indra/newview/skins/default/xui/da/floater_god_tools.xml8
-rw-r--r--indra/newview/skins/default/xui/da/floater_help_browser.xml7
-rw-r--r--indra/newview/skins/default/xui/da/floater_im.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_im_container.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_incoming_call.xml6
-rw-r--r--indra/newview/skins/default/xui/da/floater_inventory.xml8
-rw-r--r--indra/newview/skins/default/xui/da/floater_live_lsleditor.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_lsl_guide.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_map.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_media_browser.xml18
-rw-r--r--indra/newview/skins/default/xui/da/floater_moveview.xml7
-rw-r--r--indra/newview/skins/default/xui/da/floater_outfit_save_as.xml11
-rw-r--r--indra/newview/skins/default/xui/da/floater_outgoing_call.xml12
-rw-r--r--indra/newview/skins/default/xui/da/floater_pay_object.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_preferences.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_preview_gesture.xml3
-rw-r--r--indra/newview/skins/default/xui/da/floater_preview_notecard.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_preview_texture.xml7
-rw-r--r--indra/newview/skins/default/xui/da/floater_report_abuse.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_script_limits.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_script_preview.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_select_key.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_settings_debug.xml8
-rw-r--r--indra/newview/skins/default/xui/da/floater_snapshot.xml20
-rw-r--r--indra/newview/skins/default/xui/da/floater_sys_well.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_texture_ctrl.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_top_objects.xml63
-rw-r--r--indra/newview/skins/default/xui/da/floater_tos.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_voice_controls.xml17
-rw-r--r--indra/newview/skins/default/xui/da/floater_wearable_save_as.xml8
-rw-r--r--indra/newview/skins/default/xui/da/floater_whitelist_entry.xml2
-rw-r--r--indra/newview/skins/default/xui/da/floater_window_size.xml17
-rw-r--r--indra/newview/skins/default/xui/da/floater_world_map.xml59
-rw-r--r--indra/newview/skins/default/xui/da/inspect_avatar.xml2
-rw-r--r--indra/newview/skins/default/xui/da/menu_avatar_self.xml8
-rw-r--r--indra/newview/skins/default/xui/da/menu_im_well_button.xml4
-rw-r--r--indra/newview/skins/default/xui/da/menu_inspect_avatar_gear.xml2
-rw-r--r--indra/newview/skins/default/xui/da/menu_inventory.xml9
-rw-r--r--indra/newview/skins/default/xui/da/menu_login.xml2
-rw-r--r--indra/newview/skins/default/xui/da/menu_notification_well_button.xml4
-rw-r--r--indra/newview/skins/default/xui/da/menu_object.xml12
-rw-r--r--indra/newview/skins/default/xui/da/menu_participant_list.xml18
-rw-r--r--indra/newview/skins/default/xui/da/menu_people_groups.xml8
-rw-r--r--indra/newview/skins/default/xui/da/menu_people_nearby.xml3
-rw-r--r--indra/newview/skins/default/xui/da/menu_people_nearby_multiselect.xml1
-rw-r--r--indra/newview/skins/default/xui/da/menu_profile_overflow.xml6
-rw-r--r--indra/newview/skins/default/xui/da/menu_viewer.xml78
-rw-r--r--indra/newview/skins/default/xui/da/notifications.xml189
-rw-r--r--indra/newview/skins/default/xui/da/panel_adhoc_control_panel.xml16
-rw-r--r--indra/newview/skins/default/xui/da/panel_avatar_list_item.xml1
-rw-r--r--indra/newview/skins/default/xui/da/panel_block_list_sidetray.xml6
-rw-r--r--indra/newview/skins/default/xui/da/panel_bottomtray.xml17
-rw-r--r--indra/newview/skins/default/xui/da/panel_bottomtray_lite.xml8
-rw-r--r--indra/newview/skins/default/xui/da/panel_classified_info.xml17
-rw-r--r--indra/newview/skins/default/xui/da/panel_edit_profile.xml5
-rw-r--r--indra/newview/skins/default/xui/da/panel_friends.xml2
-rw-r--r--indra/newview/skins/default/xui/da/panel_group_control_panel.xml20
-rw-r--r--indra/newview/skins/default/xui/da/panel_group_general.xml20
-rw-r--r--indra/newview/skins/default/xui/da/panel_group_info_sidetray.xml43
-rw-r--r--indra/newview/skins/default/xui/da/panel_group_invite.xml11
-rw-r--r--indra/newview/skins/default/xui/da/panel_group_land_money.xml107
-rw-r--r--indra/newview/skins/default/xui/da/panel_group_list_item.xml1
-rw-r--r--indra/newview/skins/default/xui/da/panel_group_notices.xml4
-rw-r--r--indra/newview/skins/default/xui/da/panel_group_notify.xml2
-rw-r--r--indra/newview/skins/default/xui/da/panel_group_roles.xml4
-rw-r--r--indra/newview/skins/default/xui/da/panel_im_control_panel.xml36
-rw-r--r--indra/newview/skins/default/xui/da/panel_landmark_info.xml1
-rw-r--r--indra/newview/skins/default/xui/da/panel_landmarks.xml2
-rw-r--r--indra/newview/skins/default/xui/da/panel_login.xml2
-rw-r--r--indra/newview/skins/default/xui/da/panel_me.xml4
-rw-r--r--indra/newview/skins/default/xui/da/panel_media_settings_general.xml6
-rw-r--r--indra/newview/skins/default/xui/da/panel_media_settings_security.xml6
-rw-r--r--indra/newview/skins/default/xui/da/panel_my_profile.xml58
-rw-r--r--indra/newview/skins/default/xui/da/panel_navigation_bar.xml9
-rw-r--r--indra/newview/skins/default/xui/da/panel_nearby_chat_bar.xml6
-rw-r--r--indra/newview/skins/default/xui/da/panel_nearby_media.xml60
-rw-r--r--indra/newview/skins/default/xui/da/panel_notes.xml4
-rw-r--r--indra/newview/skins/default/xui/da/panel_online_status.xml2
-rw-r--r--indra/newview/skins/default/xui/da/panel_online_status_toast.xml2
-rw-r--r--indra/newview/skins/default/xui/da/panel_outfits_inventory.xml17
-rw-r--r--indra/newview/skins/default/xui/da/panel_outfits_inventory_gear_default.xml4
-rw-r--r--indra/newview/skins/default/xui/da/panel_people.xml18
-rw-r--r--indra/newview/skins/default/xui/da/panel_place_profile.xml57
-rw-r--r--indra/newview/skins/default/xui/da/panel_places.xml11
-rw-r--r--indra/newview/skins/default/xui/da/panel_preferences_advanced.xml37
-rw-r--r--indra/newview/skins/default/xui/da/panel_preferences_alerts.xml6
-rw-r--r--indra/newview/skins/default/xui/da/panel_preferences_chat.xml12
-rw-r--r--indra/newview/skins/default/xui/da/panel_preferences_general.xml19
-rw-r--r--indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml4
-rw-r--r--indra/newview/skins/default/xui/da/panel_preferences_privacy.xml5
-rw-r--r--indra/newview/skins/default/xui/da/panel_preferences_setup.xml22
-rw-r--r--indra/newview/skins/default/xui/da/panel_preferences_sound.xml19
-rw-r--r--indra/newview/skins/default/xui/da/panel_prim_media_controls.xml61
-rw-r--r--indra/newview/skins/default/xui/da/panel_profile.xml64
-rw-r--r--indra/newview/skins/default/xui/da/panel_region_covenant.xml2
-rw-r--r--indra/newview/skins/default/xui/da/panel_region_estate.xml9
-rw-r--r--indra/newview/skins/default/xui/da/panel_region_general_layout.xml43
-rw-r--r--indra/newview/skins/default/xui/da/panel_region_texture.xml4
-rw-r--r--indra/newview/skins/default/xui/da/panel_script_limits_my_avatar.xml16
-rw-r--r--indra/newview/skins/default/xui/da/panel_script_limits_region_memory.xml20
-rw-r--r--indra/newview/skins/default/xui/da/panel_side_tray.xml23
-rw-r--r--indra/newview/skins/default/xui/da/panel_status_bar.xml6
-rw-r--r--indra/newview/skins/default/xui/da/panel_teleport_history.xml4
-rw-r--r--indra/newview/skins/default/xui/da/panel_teleport_history_item.xml4
-rw-r--r--indra/newview/skins/default/xui/da/sidepanel_appearance.xml11
-rw-r--r--indra/newview/skins/default/xui/da/sidepanel_item_info.xml55
-rw-r--r--indra/newview/skins/default/xui/da/sidepanel_task_info.xml97
-rw-r--r--indra/newview/skins/default/xui/da/strings.xml433
-rw-r--r--indra/newview/skins/default/xui/de/floater_avatar_picker.xml20
-rw-r--r--indra/newview/skins/default/xui/de/floater_avatar_textures.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_beacons.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_bulk_perms.xml4
-rw-r--r--indra/newview/skins/default/xui/de/floater_buy_currency.xml6
-rw-r--r--indra/newview/skins/default/xui/de/floater_camera.xml14
-rw-r--r--indra/newview/skins/default/xui/de/floater_customize.xml34
-rw-r--r--indra/newview/skins/default/xui/de/floater_event.xml21
-rw-r--r--indra/newview/skins/default/xui/de/floater_god_tools.xml4
-rw-r--r--indra/newview/skins/default/xui/de/floater_im_session.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_moveview.xml10
-rw-r--r--indra/newview/skins/default/xui/de/floater_pay.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_pay_object.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_report_abuse.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_sell_land.xml4
-rw-r--r--indra/newview/skins/default/xui/de/floater_telehub.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_texture_ctrl.xml2
-rw-r--r--indra/newview/skins/default/xui/de/floater_tools.xml22
-rw-r--r--indra/newview/skins/default/xui/de/floater_voice_controls.xml3
-rw-r--r--indra/newview/skins/default/xui/de/floater_water.xml4
-rw-r--r--indra/newview/skins/default/xui/de/floater_windlight_options.xml6
-rw-r--r--indra/newview/skins/default/xui/de/floater_world_map.xml17
-rw-r--r--indra/newview/skins/default/xui/de/menu_inventory_add.xml2
-rw-r--r--indra/newview/skins/default/xui/de/menu_object.xml2
-rw-r--r--indra/newview/skins/default/xui/de/menu_people_nearby.xml1
-rw-r--r--indra/newview/skins/default/xui/de/menu_viewer.xml11
-rw-r--r--indra/newview/skins/default/xui/de/notifications.xml25
-rw-r--r--indra/newview/skins/default/xui/de/panel_classified_info.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_edit_skin.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_group_general.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_group_invite.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_im_control_panel.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_main_inventory.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_nearby_chat_bar.xml6
-rw-r--r--indra/newview/skins/default/xui/de/panel_nearby_media.xml3
-rw-r--r--indra/newview/skins/default/xui/de/panel_online_status_toast.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_people.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_place_profile.xml8
-rw-r--r--indra/newview/skins/default/xui/de/panel_places.xml6
-rw-r--r--indra/newview/skins/default/xui/de/panel_preferences_advanced.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_preferences_chat.xml6
-rw-r--r--indra/newview/skins/default/xui/de/panel_preferences_general.xml8
-rw-r--r--indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_preferences_sound.xml5
-rw-r--r--indra/newview/skins/default/xui/de/panel_region_estate.xml8
-rw-r--r--indra/newview/skins/default/xui/de/panel_region_general.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_stand_stop_flying.xml2
-rw-r--r--indra/newview/skins/default/xui/de/panel_status_bar.xml4
-rw-r--r--indra/newview/skins/default/xui/de/sidepanel_task_info.xml2
-rw-r--r--indra/newview/skins/default/xui/de/strings.xml29
-rw-r--r--indra/newview/skins/default/xui/en/floater_about_land.xml37
-rw-r--r--indra/newview/skins/default/xui/en/floater_buy_land.xml21
-rw-r--r--indra/newview/skins/default/xui/en/floater_camera.xml23
-rw-r--r--indra/newview/skins/default/xui/en/floater_customize.xml90
-rw-r--r--indra/newview/skins/default/xui/en/floater_env_settings.xml12
-rw-r--r--indra/newview/skins/default/xui/en/floater_event.xml154
-rw-r--r--indra/newview/skins/default/xui/en/floater_god_tools.xml4
-rw-r--r--indra/newview/skins/default/xui/en/floater_im.xml4
-rw-r--r--indra/newview/skins/default/xui/en/floater_im_container.xml2
-rw-r--r--indra/newview/skins/default/xui/en/floater_im_session.xml6
-rw-r--r--indra/newview/skins/default/xui/en/floater_inspect.xml12
-rw-r--r--indra/newview/skins/default/xui/en/floater_live_lsleditor.xml8
-rw-r--r--indra/newview/skins/default/xui/en/floater_moveview.xml28
-rw-r--r--indra/newview/skins/default/xui/en/floater_nearby_chat.xml2
-rw-r--r--indra/newview/skins/default/xui/en/floater_preferences.xml1
-rw-r--r--indra/newview/skins/default/xui/en/floater_publish_classified.xml82
-rw-r--r--indra/newview/skins/default/xui/en/floater_script.xml4
-rw-r--r--indra/newview/skins/default/xui/en/floater_snapshot.xml14
-rw-r--r--indra/newview/skins/default/xui/en/floater_tools.xml27
-rw-r--r--indra/newview/skins/default/xui/en/floater_ui_preview.xml2
-rw-r--r--indra/newview/skins/default/xui/en/floater_voice_controls.xml2
-rw-r--r--indra/newview/skins/default/xui/en/floater_water.xml109
-rw-r--r--indra/newview/skins/default/xui/en/floater_windlight_options.xml741
-rw-r--r--indra/newview/skins/default/xui/en/floater_world_map.xml17
-rw-r--r--indra/newview/skins/default/xui/en/inspector_info_ctrl.xml9
-rw-r--r--indra/newview/skins/default/xui/en/main_view.xml13
-rw-r--r--indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml6
-rw-r--r--indra/newview/skins/default/xui/en/menu_object.xml47
-rw-r--r--indra/newview/skins/default/xui/en/menu_people_nearby.xml10
-rw-r--r--indra/newview/skins/default/xui/en/menu_places_gear_folder.xml9
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml54
-rw-r--r--indra/newview/skins/default/xui/en/notifications.xml40
-rw-r--r--indra/newview/skins/default/xui/en/panel_avatar_list_item.xml1
-rw-r--r--indra/newview/skins/default/xui/en/panel_bottomtray.xml1
-rw-r--r--indra/newview/skins/default/xui/en/panel_chat_header.xml3
-rw-r--r--indra/newview/skins/default/xui/en/panel_classified_info.xml242
-rw-r--r--indra/newview/skins/default/xui/en/panel_classifieds_list_item.xml1
-rw-r--r--indra/newview/skins/default/xui/en/panel_edit_classified.xml116
-rw-r--r--indra/newview/skins/default/xui/en/panel_group_general.xml5
-rw-r--r--indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml133
-rw-r--r--indra/newview/skins/default/xui/en/panel_group_land_money.xml3
-rw-r--r--indra/newview/skins/default/xui/en/panel_group_notices.xml5
-rw-r--r--indra/newview/skins/default/xui/en/panel_group_roles.xml5
-rw-r--r--indra/newview/skins/default/xui/en/panel_im_control_panel.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_landmark_info.xml4
-rw-r--r--indra/newview/skins/default/xui/en/panel_landmarks.xml16
-rw-r--r--indra/newview/skins/default/xui/en/panel_main_inventory.xml1
-rw-r--r--indra/newview/skins/default/xui/en/panel_navigation_bar.xml1
-rw-r--r--indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml6
-rw-r--r--indra/newview/skins/default/xui/en/panel_nearby_media.xml37
-rw-r--r--indra/newview/skins/default/xui/en/panel_online_status.xml35
-rw-r--r--indra/newview/skins/default/xui/en/panel_online_status_toast.xml35
-rw-r--r--indra/newview/skins/default/xui/en/panel_people.xml20
-rw-r--r--indra/newview/skins/default/xui/en/panel_pick_list_item.xml1
-rw-r--r--indra/newview/skins/default/xui/en/panel_place_profile.xml10
-rw-r--r--indra/newview/skins/default/xui/en/panel_places.xml3
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_advanced.xml1
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_chat.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_general.xml27
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml5
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_sound.xml22
-rw-r--r--indra/newview/skins/default/xui/en/panel_profile.xml3
-rw-r--r--indra/newview/skins/default/xui/en/panel_region_estate.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_region_general.xml49
-rw-r--r--indra/newview/skins/default/xui/en/panel_region_general_layout.xml4
-rw-r--r--indra/newview/skins/default/xui/en/panel_region_texture.xml232
-rw-r--r--indra/newview/skins/default/xui/en/panel_script_ed.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_status_bar.xml22
-rw-r--r--indra/newview/skins/default/xui/en/panel_teleport_history.xml4
-rw-r--r--indra/newview/skins/default/xui/en/panel_toast.xml34
-rw-r--r--indra/newview/skins/default/xui/en/sidepanel_task_info.xml12
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml7
-rw-r--r--indra/newview/skins/default/xui/en/teleport_strings.xml3
-rw-r--r--indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml2
-rw-r--r--indra/newview/skins/default/xui/en/widgets/panel.xml2
-rw-r--r--indra/newview/skins/default/xui/en/widgets/search_editor.xml2
-rw-r--r--indra/newview/skins/default/xui/en/widgets/tab_container.xml6
-rw-r--r--indra/newview/skins/default/xui/es/floater_about.xml16
-rw-r--r--indra/newview/skins/default/xui/es/floater_about_land.xml20
-rw-r--r--indra/newview/skins/default/xui/es/floater_animation_preview.xml3
-rw-r--r--indra/newview/skins/default/xui/es/floater_avatar_textures.xml55
-rw-r--r--indra/newview/skins/default/xui/es/floater_buy_currency.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_buy_land.xml258
-rw-r--r--indra/newview/skins/default/xui/es/floater_customize.xml104
-rw-r--r--indra/newview/skins/default/xui/es/floater_event.xml48
-rw-r--r--indra/newview/skins/default/xui/es/floater_god_tools.xml119
-rw-r--r--indra/newview/skins/default/xui/es/floater_help_browser.xml7
-rw-r--r--indra/newview/skins/default/xui/es/floater_im.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_im_container.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_incoming_call.xml6
-rw-r--r--indra/newview/skins/default/xui/es/floater_inventory.xml8
-rw-r--r--indra/newview/skins/default/xui/es/floater_live_lsleditor.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_lsl_guide.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_map.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_media_browser.xml8
-rw-r--r--indra/newview/skins/default/xui/es/floater_moveview.xml4
-rw-r--r--indra/newview/skins/default/xui/es/floater_outfit_save_as.xml12
-rw-r--r--indra/newview/skins/default/xui/es/floater_outgoing_call.xml12
-rw-r--r--indra/newview/skins/default/xui/es/floater_pay_object.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_preferences.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_preview_animation.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_preview_gesture.xml6
-rw-r--r--indra/newview/skins/default/xui/es/floater_preview_notecard.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_preview_sound.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_preview_texture.xml7
-rw-r--r--indra/newview/skins/default/xui/es/floater_script_limits.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_script_preview.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_settings_debug.xml8
-rw-r--r--indra/newview/skins/default/xui/es/floater_snapshot.xml19
-rw-r--r--indra/newview/skins/default/xui/es/floater_sys_well.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_top_objects.xml69
-rw-r--r--indra/newview/skins/default/xui/es/floater_voice_controls.xml17
-rw-r--r--indra/newview/skins/default/xui/es/floater_wearable_save_as.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_whitelist_entry.xml2
-rw-r--r--indra/newview/skins/default/xui/es/floater_window_size.xml17
-rw-r--r--indra/newview/skins/default/xui/es/floater_world_map.xml59
-rw-r--r--indra/newview/skins/default/xui/es/inspect_avatar.xml2
-rw-r--r--indra/newview/skins/default/xui/es/menu_avatar_self.xml8
-rw-r--r--indra/newview/skins/default/xui/es/menu_im_well_button.xml4
-rw-r--r--indra/newview/skins/default/xui/es/menu_inspect_avatar_gear.xml2
-rw-r--r--indra/newview/skins/default/xui/es/menu_inventory.xml9
-rw-r--r--indra/newview/skins/default/xui/es/menu_login.xml2
-rw-r--r--indra/newview/skins/default/xui/es/menu_notification_well_button.xml4
-rw-r--r--indra/newview/skins/default/xui/es/menu_object.xml12
-rw-r--r--indra/newview/skins/default/xui/es/menu_participant_list.xml18
-rw-r--r--indra/newview/skins/default/xui/es/menu_people_groups.xml8
-rw-r--r--indra/newview/skins/default/xui/es/menu_people_nearby.xml3
-rw-r--r--indra/newview/skins/default/xui/es/menu_people_nearby_multiselect.xml1
-rw-r--r--indra/newview/skins/default/xui/es/menu_profile_overflow.xml6
-rw-r--r--indra/newview/skins/default/xui/es/menu_viewer.xml74
-rw-r--r--indra/newview/skins/default/xui/es/notifications.xml184
-rw-r--r--indra/newview/skins/default/xui/es/panel_adhoc_control_panel.xml16
-rw-r--r--indra/newview/skins/default/xui/es/panel_avatar_list_item.xml1
-rw-r--r--indra/newview/skins/default/xui/es/panel_block_list_sidetray.xml4
-rw-r--r--indra/newview/skins/default/xui/es/panel_bottomtray.xml17
-rw-r--r--indra/newview/skins/default/xui/es/panel_bottomtray_lite.xml8
-rw-r--r--indra/newview/skins/default/xui/es/panel_classified_info.xml17
-rw-r--r--indra/newview/skins/default/xui/es/panel_edit_profile.xml5
-rw-r--r--indra/newview/skins/default/xui/es/panel_friends.xml2
-rw-r--r--indra/newview/skins/default/xui/es/panel_group_control_panel.xml20
-rw-r--r--indra/newview/skins/default/xui/es/panel_group_general.xml22
-rw-r--r--indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml43
-rw-r--r--indra/newview/skins/default/xui/es/panel_group_invite.xml11
-rw-r--r--indra/newview/skins/default/xui/es/panel_group_land_money.xml107
-rw-r--r--indra/newview/skins/default/xui/es/panel_group_list_item.xml1
-rw-r--r--indra/newview/skins/default/xui/es/panel_group_notices.xml2
-rw-r--r--indra/newview/skins/default/xui/es/panel_group_roles.xml16
-rw-r--r--indra/newview/skins/default/xui/es/panel_im_control_panel.xml36
-rw-r--r--indra/newview/skins/default/xui/es/panel_landmark_info.xml1
-rw-r--r--indra/newview/skins/default/xui/es/panel_landmarks.xml2
-rw-r--r--indra/newview/skins/default/xui/es/panel_login.xml2
-rw-r--r--indra/newview/skins/default/xui/es/panel_me.xml4
-rw-r--r--indra/newview/skins/default/xui/es/panel_media_settings_general.xml4
-rw-r--r--indra/newview/skins/default/xui/es/panel_media_settings_security.xml4
-rw-r--r--indra/newview/skins/default/xui/es/panel_my_profile.xml58
-rw-r--r--indra/newview/skins/default/xui/es/panel_navigation_bar.xml9
-rw-r--r--indra/newview/skins/default/xui/es/panel_nearby_chat_bar.xml6
-rw-r--r--indra/newview/skins/default/xui/es/panel_nearby_media.xml60
-rw-r--r--indra/newview/skins/default/xui/es/panel_notes.xml6
-rw-r--r--indra/newview/skins/default/xui/es/panel_online_status.xml2
-rw-r--r--indra/newview/skins/default/xui/es/panel_online_status_toast.xml2
-rw-r--r--indra/newview/skins/default/xui/es/panel_outfits_inventory.xml17
-rw-r--r--indra/newview/skins/default/xui/es/panel_outfits_inventory_gear_default.xml4
-rw-r--r--indra/newview/skins/default/xui/es/panel_people.xml20
-rw-r--r--indra/newview/skins/default/xui/es/panel_place_profile.xml11
-rw-r--r--indra/newview/skins/default/xui/es/panel_places.xml11
-rw-r--r--indra/newview/skins/default/xui/es/panel_preferences_advanced.xml39
-rw-r--r--indra/newview/skins/default/xui/es/panel_preferences_alerts.xml6
-rw-r--r--indra/newview/skins/default/xui/es/panel_preferences_chat.xml18
-rw-r--r--indra/newview/skins/default/xui/es/panel_preferences_general.xml19
-rw-r--r--indra/newview/skins/default/xui/es/panel_preferences_graphics1.xml4
-rw-r--r--indra/newview/skins/default/xui/es/panel_preferences_privacy.xml7
-rw-r--r--indra/newview/skins/default/xui/es/panel_preferences_setup.xml22
-rw-r--r--indra/newview/skins/default/xui/es/panel_preferences_sound.xml19
-rw-r--r--indra/newview/skins/default/xui/es/panel_prim_media_controls.xml61
-rw-r--r--indra/newview/skins/default/xui/es/panel_profile.xml64
-rw-r--r--indra/newview/skins/default/xui/es/panel_region_covenant.xml2
-rw-r--r--indra/newview/skins/default/xui/es/panel_region_estate.xml9
-rw-r--r--indra/newview/skins/default/xui/es/panel_region_general_layout.xml43
-rw-r--r--indra/newview/skins/default/xui/es/panel_script_limits_my_avatar.xml16
-rw-r--r--indra/newview/skins/default/xui/es/panel_script_limits_region_memory.xml20
-rw-r--r--indra/newview/skins/default/xui/es/panel_side_tray.xml15
-rw-r--r--indra/newview/skins/default/xui/es/panel_status_bar.xml6
-rw-r--r--indra/newview/skins/default/xui/es/panel_teleport_history.xml4
-rw-r--r--indra/newview/skins/default/xui/es/panel_teleport_history_item.xml4
-rw-r--r--indra/newview/skins/default/xui/es/sidepanel_appearance.xml11
-rw-r--r--indra/newview/skins/default/xui/es/sidepanel_item_info.xml55
-rw-r--r--indra/newview/skins/default/xui/es/sidepanel_task_info.xml89
-rw-r--r--indra/newview/skins/default/xui/es/strings.xml418
-rw-r--r--indra/newview/skins/default/xui/fr/floater_about_land.xml16
-rw-r--r--indra/newview/skins/default/xui/fr/floater_bulk_perms.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/floater_camera.xml14
-rw-r--r--indra/newview/skins/default/xui/fr/floater_customize.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/floater_event.xml21
-rw-r--r--indra/newview/skins/default/xui/fr/floater_lagmeter.xml18
-rw-r--r--indra/newview/skins/default/xui/fr/floater_live_lsleditor.xml8
-rw-r--r--indra/newview/skins/default/xui/fr/floater_moveview.xml10
-rw-r--r--indra/newview/skins/default/xui/fr/floater_nearby_chat.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/floater_preview_texture.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/floater_snapshot.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/floater_tools.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/floater_voice_controls.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/floater_water.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/floater_windlight_options.xml8
-rw-r--r--indra/newview/skins/default/xui/fr/floater_world_map.xml33
-rw-r--r--indra/newview/skins/default/xui/fr/menu_object.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/menu_people_nearby.xml1
-rw-r--r--indra/newview/skins/default/xui/fr/menu_viewer.xml33
-rw-r--r--indra/newview/skins/default/xui/fr/notifications.xml19
-rw-r--r--indra/newview/skins/default/xui/fr/panel_edit_profile.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_edit_wearable.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_friends.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_group_roles.xml8
-rw-r--r--indra/newview/skins/default/xui/fr/panel_im_control_panel.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_landmark_info.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_my_profile.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_navigation_bar.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_nearby_chat.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_nearby_chat_bar.xml6
-rw-r--r--indra/newview/skins/default/xui/fr/panel_nearby_media.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/panel_notes.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_online_status_toast.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_people.xml6
-rw-r--r--indra/newview/skins/default/xui/fr/panel_place_profile.xml10
-rw-r--r--indra/newview/skins/default/xui/fr/panel_places.xml6
-rw-r--r--indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml2
-rw-r--r--indra/newview/skins/default/xui/fr/panel_preferences_chat.xml6
-rw-r--r--indra/newview/skins/default/xui/fr/panel_preferences_setup.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/panel_preferences_sound.xml7
-rw-r--r--indra/newview/skins/default/xui/fr/panel_profile.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/panel_region_estate.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/panel_status_bar.xml4
-rw-r--r--indra/newview/skins/default/xui/fr/sidepanel_task_info.xml8
-rw-r--r--indra/newview/skins/default/xui/fr/strings.xml7
-rw-r--r--indra/newview/skins/default/xui/it/floater_world_map.xml15
-rw-r--r--indra/newview/skins/default/xui/it/panel_nearby_chat_bar.xml6
-rw-r--r--indra/newview/skins/default/xui/it/panel_place_profile.xml8
-rw-r--r--indra/newview/skins/default/xui/it/sidepanel_task_info.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.xml57
-rw-r--r--indra/newview/skins/default/xui/ja/floater_buy_contents.xml12
-rw-r--r--indra/newview/skins/default/xui/ja/floater_buy_object.xml8
-rw-r--r--indra/newview/skins/default/xui/ja/floater_camera.xml14
-rw-r--r--indra/newview/skins/default/xui/ja/floater_customize.xml16
-rw-r--r--indra/newview/skins/default/xui/ja/floater_day_cycle_options.xml14
-rw-r--r--indra/newview/skins/default/xui/ja/floater_event.xml21
-rw-r--r--indra/newview/skins/default/xui/ja/floater_im_container.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/floater_moveview.xml10
-rw-r--r--indra/newview/skins/default/xui/ja/floater_pay.xml4
-rw-r--r--indra/newview/skins/default/xui/ja/floater_preview_animation.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/floater_preview_gesture.xml6
-rw-r--r--indra/newview/skins/default/xui/ja/floater_preview_sound.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/floater_report_abuse.xml8
-rw-r--r--indra/newview/skins/default/xui/ja/floater_snapshot.xml30
-rw-r--r--indra/newview/skins/default/xui/ja/floater_sys_well.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/floater_tools.xml28
-rw-r--r--indra/newview/skins/default/xui/ja/floater_voice_controls.xml3
-rw-r--r--indra/newview/skins/default/xui/ja/floater_water.xml6
-rw-r--r--indra/newview/skins/default/xui/ja/floater_world_map.xml21
-rw-r--r--indra/newview/skins/default/xui/ja/menu_inventory.xml28
-rw-r--r--indra/newview/skins/default/xui/ja/menu_object.xml4
-rw-r--r--indra/newview/skins/default/xui/ja/menu_people_nearby.xml1
-rw-r--r--indra/newview/skins/default/xui/ja/menu_viewer.xml174
-rw-r--r--indra/newview/skins/default/xui/ja/notifications.xml63
-rw-r--r--indra/newview/skins/default/xui/ja/panel_classified_info.xml4
-rw-r--r--indra/newview/skins/default/xui/ja/panel_edit_classified.xml4
-rw-r--r--indra/newview/skins/default/xui/ja/panel_group_general.xml6
-rw-r--r--indra/newview/skins/default/xui/ja/panel_im_control_panel.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/panel_nearby_chat_bar.xml6
-rw-r--r--indra/newview/skins/default/xui/ja/panel_nearby_media.xml3
-rw-r--r--indra/newview/skins/default/xui/ja/panel_online_status_toast.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/panel_people.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/panel_place_profile.xml10
-rw-r--r--indra/newview/skins/default/xui/ja/panel_places.xml6
-rw-r--r--indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/panel_preferences_chat.xml6
-rw-r--r--indra/newview/skins/default/xui/ja/panel_preferences_general.xml6
-rw-r--r--indra/newview/skins/default/xui/ja/panel_preferences_sound.xml5
-rw-r--r--indra/newview/skins/default/xui/ja/panel_region_covenant.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/panel_region_general.xml8
-rw-r--r--indra/newview/skins/default/xui/ja/panel_region_general_layout.xml8
-rw-r--r--indra/newview/skins/default/xui/ja/panel_side_tray.xml4
-rw-r--r--indra/newview/skins/default/xui/ja/panel_sidetray_home_tab.xml4
-rw-r--r--indra/newview/skins/default/xui/ja/panel_status_bar.xml4
-rw-r--r--indra/newview/skins/default/xui/ja/panel_teleport_history.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/sidepanel_task_info.xml2
-rw-r--r--indra/newview/skins/default/xui/ja/strings.xml37
-rw-r--r--indra/newview/skins/default/xui/ja/teleport_strings.xml22
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_about.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_about_land.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_animation_preview.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_auction.xml16
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_avatar_picker.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_avatar_textures.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_build_options.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_bumps.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_buy_contents.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_buy_currency.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_buy_land.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_buy_object.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_camera.xml21
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_choose_group.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_color_picker.xml14
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_critical.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_customize.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_device_settings.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_env_settings.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_gesture.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_god_tools.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_hardware_settings.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_hud.xml4
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_im.xml0
-rw-r--r--indra/newview/skins/default/xui/pl/floater_im_session.xml9
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_image_preview.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_inspect.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_inventory.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_inventory_view_finder.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_joystick.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_lagmeter.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_land_holdings.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_live_lsleditor.xml21
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_lsl_guide.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_media_browser.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_mem_leaking.xml16
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_moveview.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_mute_object.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_my_friends.xml6
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_openobject.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_pay.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_pay_object.xml0
-rw-r--r--indra/newview/skins/default/xui/pl/floater_perm_prefs.xml2
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_post_process.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_postcard.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_preferences.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_preview_animation.xml11
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_preview_classified.xml8
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_preview_event.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_preview_gesture.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_preview_notecard.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_preview_sound.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_preview_texture.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_region_info.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_report_abuse.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_script_debug.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_script_preview.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_script_queue.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_script_search.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_select_key.xml6
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_sell_land.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_settings_debug.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_snapshot.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_sound_preview.xml6
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_telehub.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_texture_ctrl.xml12
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_tools.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_top_objects.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_tos.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_url_entry.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_water.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_wearable_save_as.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_windlight_options.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/floater_world_map.xml0
-rw-r--r--indra/newview/skins/default/xui/pl/inspect_avatar.xml21
-rw-r--r--indra/newview/skins/default/xui/pl/inspect_group.xml22
-rw-r--r--indra/newview/skins/default/xui/pl/inspect_remote_object.xml13
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/menu_inventory.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/menu_login.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/menu_slurl.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/menu_viewer.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/mime_types.xml0
-rw-r--r--indra/newview/skins/default/xui/pl/mime_types_mac.xml217
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_audio_device.xml0
-rw-r--r--indra/newview/skins/default/xui/pl/panel_avatar_list_item.xml25
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_shirt.xml10
-rw-r--r--indra/newview/skins/default/xui/pl/panel_edit_tattoo.xml8
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_friends.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_group_general.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_group_invite.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_group_land_money.xml0
-rw-r--r--indra/newview/skins/default/xui/pl/panel_group_list_item.xml4
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_group_notices.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_group_roles.xml12
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_groups.xml0
-rw-r--r--indra/newview/skins/default/xui/pl/panel_landmark_info.xml37
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_login.xml54
-rw-r--r--indra/newview/skins/default/xui/pl/panel_media_settings_permissions.xml20
-rw-r--r--indra/newview/skins/default/xui/pl/panel_outfits_inventory.xml7
-rw-r--r--indra/newview/skins/default/xui/pl/panel_people.xml53
-rw-r--r--indra/newview/skins/default/xui/pl/panel_picks.xml20
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_preferences_alerts.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_preferences_chat.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_preferences_general.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_preferences_privacy.xml49
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_preferences_setup.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_preferences_sound.xml0
-rw-r--r--indra/newview/skins/default/xui/pl/panel_profile.xml37
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_region_covenant.xml20
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_region_debug.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_region_estate.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_region_general.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_region_terrain.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_region_texture.xml0
-rw-r--r--indra/newview/skins/default/xui/pl/panel_script_ed.xml43
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_scrolling_param.xml0
-rw-r--r--indra/newview/skins/default/xui/pl/panel_side_tray.xml26
-rw-r--r--indra/newview/skins/default/xui/pl/panel_stand_stop_flying.xml6
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/panel_status_bar.xml0
-rw-r--r--indra/newview/skins/default/xui/pl/panel_teleport_history.xml14
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/role_actions.xml0
-rw-r--r--indra/newview/skins/default/xui/pl/sidepanel_item_info.xml70
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/strings.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/teleport_strings.xml0
-rw-r--r--[-rwxr-xr-x]indra/newview/skins/default/xui/pl/xui_version.xml0
-rw-r--r--indra/newview/skins/default/xui/pt/floater_about.xml79
-rw-r--r--indra/newview/skins/default/xui/pt/floater_about_land.xml403
-rw-r--r--indra/newview/skins/default/xui/pt/floater_activeim.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_animation_preview.xml219
-rw-r--r--indra/newview/skins/default/xui/pt/floater_auction.xml14
-rw-r--r--indra/newview/skins/default/xui/pt/floater_avatar_picker.xml55
-rw-r--r--indra/newview/skins/default/xui/pt/floater_avatar_textures.xml61
-rw-r--r--indra/newview/skins/default/xui/pt/floater_beacons.xml24
-rw-r--r--indra/newview/skins/default/xui/pt/floater_build_options.xml11
-rw-r--r--indra/newview/skins/default/xui/pt/floater_bulk_perms.xml64
-rw-r--r--indra/newview/skins/default/xui/pt/floater_bumps.xml27
-rw-r--r--indra/newview/skins/default/xui/pt/floater_buy_contents.xml4
-rw-r--r--indra/newview/skins/default/xui/pt/floater_buy_currency.xml79
-rw-r--r--indra/newview/skins/default/xui/pt/floater_buy_land.xml287
-rw-r--r--indra/newview/skins/default/xui/pt/floater_buy_object.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_camera.xml19
-rw-r--r--indra/newview/skins/default/xui/pt/floater_choose_group.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/floater_color_picker.xml13
-rw-r--r--indra/newview/skins/default/xui/pt/floater_customize.xml193
-rw-r--r--indra/newview/skins/default/xui/pt/floater_device_settings.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_env_settings.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/floater_event.xml48
-rw-r--r--indra/newview/skins/default/xui/pt/floater_gesture.xml27
-rw-r--r--indra/newview/skins/default/xui/pt/floater_god_tools.xml14
-rw-r--r--indra/newview/skins/default/xui/pt/floater_hardware_settings.xml20
-rw-r--r--indra/newview/skins/default/xui/pt/floater_help_browser.xml9
-rw-r--r--indra/newview/skins/default/xui/pt/floater_im.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_im_container.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_im_session.xml9
-rw-r--r--indra/newview/skins/default/xui/pt/floater_image_preview.xml22
-rw-r--r--indra/newview/skins/default/xui/pt/floater_incoming_call.xml27
-rw-r--r--indra/newview/skins/default/xui/pt/floater_inspect.xml17
-rw-r--r--indra/newview/skins/default/xui/pt/floater_inventory.xml59
-rw-r--r--indra/newview/skins/default/xui/pt/floater_inventory_item_properties.xml78
-rw-r--r--indra/newview/skins/default/xui/pt/floater_joystick.xml40
-rw-r--r--indra/newview/skins/default/xui/pt/floater_lagmeter.xml221
-rw-r--r--indra/newview/skins/default/xui/pt/floater_land_holdings.xml12
-rw-r--r--indra/newview/skins/default/xui/pt/floater_live_lsleditor.xml19
-rw-r--r--indra/newview/skins/default/xui/pt/floater_lsl_guide.xml12
-rw-r--r--indra/newview/skins/default/xui/pt/floater_map.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_media_browser.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_media_settings.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/floater_mem_leaking.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_moveview.xml42
-rw-r--r--indra/newview/skins/default/xui/pt/floater_mute_object.xml8
-rw-r--r--indra/newview/skins/default/xui/pt/floater_nearby_chat.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_outfit_save_as.xml11
-rw-r--r--indra/newview/skins/default/xui/pt/floater_outgoing_call.xml40
-rw-r--r--indra/newview/skins/default/xui/pt/floater_pay.xml34
-rw-r--r--indra/newview/skins/default/xui/pt/floater_pay_object.xml45
-rw-r--r--indra/newview/skins/default/xui/pt/floater_postcard.xml12
-rw-r--r--indra/newview/skins/default/xui/pt/floater_preferences.xml16
-rw-r--r--indra/newview/skins/default/xui/pt/floater_preview_animation.xml7
-rw-r--r--indra/newview/skins/default/xui/pt/floater_preview_classified.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/floater_preview_event.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/floater_preview_gesture.xml67
-rw-r--r--indra/newview/skins/default/xui/pt/floater_preview_gesture_info.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_preview_gesture_shortcut.xml15
-rw-r--r--indra/newview/skins/default/xui/pt/floater_preview_gesture_steps.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_preview_notecard.xml22
-rw-r--r--indra/newview/skins/default/xui/pt/floater_preview_sound.xml7
-rw-r--r--indra/newview/skins/default/xui/pt/floater_preview_texture.xml42
-rw-r--r--indra/newview/skins/default/xui/pt/floater_report_abuse.xml102
-rw-r--r--indra/newview/skins/default/xui/pt/floater_script_debug_panel.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_script_limits.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_script_preview.xml5
-rw-r--r--indra/newview/skins/default/xui/pt/floater_script_queue.xml15
-rw-r--r--indra/newview/skins/default/xui/pt/floater_script_search.xml12
-rw-r--r--indra/newview/skins/default/xui/pt/floater_search.xml16
-rw-r--r--indra/newview/skins/default/xui/pt/floater_select_key.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_sell_land.xml124
-rw-r--r--indra/newview/skins/default/xui/pt/floater_settings_debug.xml12
-rw-r--r--indra/newview/skins/default/xui/pt/floater_snapshot.xml80
-rw-r--r--indra/newview/skins/default/xui/pt/floater_sound_preview.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_statistics.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_stats.xml71
-rw-r--r--indra/newview/skins/default/xui/pt/floater_sys_well.xml9
-rw-r--r--indra/newview/skins/default/xui/pt/floater_telehub.xml19
-rw-r--r--indra/newview/skins/default/xui/pt/floater_texture_ctrl.xml14
-rw-r--r--indra/newview/skins/default/xui/pt/floater_tools.xml579
-rw-r--r--indra/newview/skins/default/xui/pt/floater_top_objects.xml77
-rw-r--r--indra/newview/skins/default/xui/pt/floater_tos.xml3
-rw-r--r--indra/newview/skins/default/xui/pt/floater_voice_controls.xml26
-rw-r--r--indra/newview/skins/default/xui/pt/floater_water.xml24
-rw-r--r--indra/newview/skins/default/xui/pt/floater_wearable_save_as.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/floater_whitelist_entry.xml9
-rw-r--r--indra/newview/skins/default/xui/pt/floater_window_size.xml17
-rw-r--r--indra/newview/skins/default/xui/pt/floater_world_map.xml132
-rw-r--r--indra/newview/skins/default/xui/pt/inspect_avatar.xml21
-rw-r--r--indra/newview/skins/default/xui/pt/inspect_group.xml22
-rw-r--r--indra/newview/skins/default/xui/pt/inspect_object.xml34
-rw-r--r--indra/newview/skins/default/xui/pt/inspect_remote_object.xml13
-rw-r--r--indra/newview/skins/default/xui/pt/menu_attachment_other.xml17
-rw-r--r--indra/newview/skins/default/xui/pt/menu_attachment_self.xml12
-rw-r--r--indra/newview/skins/default/xui/pt/menu_avatar_icon.xml7
-rw-r--r--indra/newview/skins/default/xui/pt/menu_avatar_other.xml16
-rw-r--r--indra/newview/skins/default/xui/pt/menu_avatar_self.xml27
-rw-r--r--indra/newview/skins/default/xui/pt/menu_bottomtray.xml12
-rw-r--r--indra/newview/skins/default/xui/pt/menu_favorites.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/menu_gesture_gear.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/menu_group_plus.xml5
-rw-r--r--indra/newview/skins/default/xui/pt/menu_hide_navbar.xml5
-rw-r--r--indra/newview/skins/default/xui/pt/menu_im_well_button.xml4
-rw-r--r--indra/newview/skins/default/xui/pt/menu_imchiclet_adhoc.xml4
-rw-r--r--indra/newview/skins/default/xui/pt/menu_imchiclet_group.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/menu_imchiclet_p2p.xml7
-rw-r--r--indra/newview/skins/default/xui/pt/menu_inspect_avatar_gear.xml19
-rw-r--r--indra/newview/skins/default/xui/pt/menu_inspect_object_gear.xml17
-rw-r--r--indra/newview/skins/default/xui/pt/menu_inspect_self_gear.xml8
-rw-r--r--indra/newview/skins/default/xui/pt/menu_inventory.xml33
-rw-r--r--indra/newview/skins/default/xui/pt/menu_inventory_add.xml32
-rw-r--r--indra/newview/skins/default/xui/pt/menu_inventory_gear_default.xml14
-rw-r--r--indra/newview/skins/default/xui/pt/menu_land.xml9
-rw-r--r--indra/newview/skins/default/xui/pt/menu_landmark.xml7
-rw-r--r--indra/newview/skins/default/xui/pt/menu_login.xml27
-rw-r--r--indra/newview/skins/default/xui/pt/menu_mini_map.xml3
-rw-r--r--indra/newview/skins/default/xui/pt/menu_navbar.xml11
-rw-r--r--indra/newview/skins/default/xui/pt/menu_nearby_chat.xml9
-rw-r--r--indra/newview/skins/default/xui/pt/menu_notification_well_button.xml4
-rw-r--r--indra/newview/skins/default/xui/pt/menu_object.xml26
-rw-r--r--indra/newview/skins/default/xui/pt/menu_object_icon.xml5
-rw-r--r--indra/newview/skins/default/xui/pt/menu_participant_list.xml20
-rw-r--r--indra/newview/skins/default/xui/pt/menu_people_friends_view_sort.xml7
-rw-r--r--indra/newview/skins/default/xui/pt/menu_people_groups.xml8
-rw-r--r--indra/newview/skins/default/xui/pt/menu_people_groups_view_sort.xml5
-rw-r--r--indra/newview/skins/default/xui/pt/menu_people_nearby.xml13
-rw-r--r--indra/newview/skins/default/xui/pt/menu_people_nearby_multiselect.xml9
-rw-r--r--indra/newview/skins/default/xui/pt/menu_people_nearby_view_sort.xml8
-rw-r--r--indra/newview/skins/default/xui/pt/menu_people_recent_view_sort.xml7
-rw-r--r--indra/newview/skins/default/xui/pt/menu_picks.xml8
-rw-r--r--indra/newview/skins/default/xui/pt/menu_picks_plus.xml5
-rw-r--r--indra/newview/skins/default/xui/pt/menu_place.xml7
-rw-r--r--indra/newview/skins/default/xui/pt/menu_place_add_button.xml5
-rw-r--r--indra/newview/skins/default/xui/pt/menu_places_gear_folder.xml15
-rw-r--r--indra/newview/skins/default/xui/pt/menu_places_gear_landmark.xml18
-rw-r--r--indra/newview/skins/default/xui/pt/menu_profile_overflow.xml11
-rw-r--r--indra/newview/skins/default/xui/pt/menu_slurl.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/menu_teleport_history_gear.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/menu_teleport_history_tab.xml5
-rw-r--r--indra/newview/skins/default/xui/pt/menu_text_editor.xml8
-rw-r--r--indra/newview/skins/default/xui/pt/menu_url_agent.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/menu_url_group.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/menu_url_http.xml7
-rw-r--r--indra/newview/skins/default/xui/pt/menu_url_inventory.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/menu_url_map.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/menu_url_objectim.xml8
-rw-r--r--indra/newview/skins/default/xui/pt/menu_url_parcel.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/menu_url_slapp.xml5
-rw-r--r--indra/newview/skins/default/xui/pt/menu_url_slurl.xml7
-rw-r--r--indra/newview/skins/default/xui/pt/menu_url_teleport.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/menu_viewer.xml503
-rw-r--r--indra/newview/skins/default/xui/pt/mime_types_linux.xml217
-rw-r--r--indra/newview/skins/default/xui/pt/mime_types_mac.xml217
-rw-r--r--indra/newview/skins/default/xui/pt/notifications.xml1467
-rw-r--r--indra/newview/skins/default/xui/pt/panel_active_object_row.xml9
-rw-r--r--indra/newview/skins/default/xui/pt/panel_adhoc_control_panel.xml14
-rw-r--r--indra/newview/skins/default/xui/pt/panel_avatar_list_item.xml26
-rw-r--r--indra/newview/skins/default/xui/pt/panel_block_list_sidetray.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/panel_bottomtray.xml38
-rw-r--r--indra/newview/skins/default/xui/pt/panel_bottomtray_lite.xml8
-rw-r--r--indra/newview/skins/default/xui/pt/panel_classified_info.xml23
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_alpha.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_classified.xml33
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_eyes.xml9
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_gloves.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_hair.xml12
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_jacket.xml11
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_pants.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_pick.xml28
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_profile.xml94
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_shape.xml23
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_shirt.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_shoes.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_skin.xml14
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_skirt.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_socks.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_tattoo.xml8
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_underpants.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_undershirt.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/panel_edit_wearable.xml101
-rw-r--r--indra/newview/skins/default/xui/pt/panel_friends.xml14
-rw-r--r--indra/newview/skins/default/xui/pt/panel_group_control_panel.xml17
-rw-r--r--indra/newview/skins/default/xui/pt/panel_group_general.xml99
-rw-r--r--indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml35
-rw-r--r--indra/newview/skins/default/xui/pt/panel_group_invite.xml26
-rw-r--r--indra/newview/skins/default/xui/pt/panel_group_land_money.xml135
-rw-r--r--indra/newview/skins/default/xui/pt/panel_group_list_item.xml5
-rw-r--r--indra/newview/skins/default/xui/pt/panel_group_notices.xml54
-rw-r--r--indra/newview/skins/default/xui/pt/panel_group_notify.xml8
-rw-r--r--indra/newview/skins/default/xui/pt/panel_group_roles.xml148
-rw-r--r--indra/newview/skins/default/xui/pt/panel_im_control_panel.xml29
-rw-r--r--indra/newview/skins/default/xui/pt/panel_landmark_info.xml38
-rw-r--r--indra/newview/skins/default/xui/pt/panel_landmarks.xml14
-rw-r--r--indra/newview/skins/default/xui/pt/panel_login.xml57
-rw-r--r--indra/newview/skins/default/xui/pt/panel_main_inventory.xml64
-rw-r--r--indra/newview/skins/default/xui/pt/panel_me.xml7
-rw-r--r--indra/newview/skins/default/xui/pt/panel_media_settings_general.xml32
-rw-r--r--indra/newview/skins/default/xui/pt/panel_media_settings_permissions.xml20
-rw-r--r--indra/newview/skins/default/xui/pt/panel_media_settings_security.xml12
-rw-r--r--indra/newview/skins/default/xui/pt/panel_my_profile.xml35
-rw-r--r--indra/newview/skins/default/xui/pt/panel_navigation_bar.xml18
-rw-r--r--indra/newview/skins/default/xui/pt/panel_nearby_chat.xml9
-rw-r--r--indra/newview/skins/default/xui/pt/panel_nearby_chat_bar.xml5
-rw-r--r--indra/newview/skins/default/xui/pt/panel_nearby_media.xml60
-rw-r--r--indra/newview/skins/default/xui/pt/panel_notes.xml23
-rw-r--r--indra/newview/skins/default/xui/pt/panel_online_status.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/panel_online_status_toast.xml2
-rw-r--r--indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml14
-rw-r--r--indra/newview/skins/default/xui/pt/panel_outfits_inventory_gear_default.xml9
-rw-r--r--indra/newview/skins/default/xui/pt/panel_people.xml57
-rw-r--r--indra/newview/skins/default/xui/pt/panel_pick_info.xml16
-rw-r--r--indra/newview/skins/default/xui/pt/panel_picks.xml20
-rw-r--r--indra/newview/skins/default/xui/pt/panel_place_profile.xml104
-rw-r--r--indra/newview/skins/default/xui/pt/panel_places.xml15
-rw-r--r--indra/newview/skins/default/xui/pt/panel_preferences_advanced.xml35
-rw-r--r--indra/newview/skins/default/xui/pt/panel_preferences_alerts.xml18
-rw-r--r--indra/newview/skins/default/xui/pt/panel_preferences_chat.xml33
-rw-r--r--indra/newview/skins/default/xui/pt/panel_preferences_general.xml123
-rw-r--r--indra/newview/skins/default/xui/pt/panel_preferences_graphics1.xml207
-rw-r--r--indra/newview/skins/default/xui/pt/panel_preferences_privacy.xml45
-rw-r--r--indra/newview/skins/default/xui/pt/panel_preferences_setup.xml61
-rw-r--r--indra/newview/skins/default/xui/pt/panel_preferences_sound.xml72
-rw-r--r--indra/newview/skins/default/xui/pt/panel_prim_media_controls.xml79
-rw-r--r--indra/newview/skins/default/xui/pt/panel_profile.xml40
-rw-r--r--indra/newview/skins/default/xui/pt/panel_profile_view.xml16
-rw-r--r--indra/newview/skins/default/xui/pt/panel_region_covenant.xml11
-rw-r--r--indra/newview/skins/default/xui/pt/panel_region_debug.xml16
-rw-r--r--indra/newview/skins/default/xui/pt/panel_region_estate.xml11
-rw-r--r--indra/newview/skins/default/xui/pt/panel_region_general_layout.xml43
-rw-r--r--indra/newview/skins/default/xui/pt/panel_region_texture.xml24
-rw-r--r--indra/newview/skins/default/xui/pt/panel_script_ed.xml43
-rw-r--r--indra/newview/skins/default/xui/pt/panel_script_limits_my_avatar.xml16
-rw-r--r--indra/newview/skins/default/xui/pt/panel_script_limits_region_memory.xml20
-rw-r--r--indra/newview/skins/default/xui/pt/panel_side_tray.xml29
-rw-r--r--indra/newview/skins/default/xui/pt/panel_side_tray_tab_caption.xml5
-rw-r--r--indra/newview/skins/default/xui/pt/panel_stand_stop_flying.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/panel_status_bar.xml55
-rw-r--r--indra/newview/skins/default/xui/pt/panel_teleport_history.xml18
-rw-r--r--indra/newview/skins/default/xui/pt/panel_teleport_history_item.xml4
-rw-r--r--indra/newview/skins/default/xui/pt/panel_world_map.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/role_actions.xml227
-rw-r--r--indra/newview/skins/default/xui/pt/sidepanel_appearance.xml10
-rw-r--r--indra/newview/skins/default/xui/pt/sidepanel_inventory.xml11
-rw-r--r--indra/newview/skins/default/xui/pt/sidepanel_item_info.xml73
-rw-r--r--indra/newview/skins/default/xui/pt/sidepanel_task_info.xml125
-rw-r--r--indra/newview/skins/default/xui/pt/strings.xml2894
-rw-r--r--indra/newview/skins/default/xui/pt/teleport_strings.xml8
-rw-r--r--indra/newview/tests/llviewerhelputil_test.cpp2
-rwxr-xr-xindra/newview/viewer_manifest.py29
-rw-r--r--indra/test_apps/llplugintest/llmediaplugintest.cpp271
-rw-r--r--indra/test_apps/llplugintest/llmediaplugintest.h9
1098 files changed, 22135 insertions, 10193 deletions
diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake
index f4706dd4f2..180504d286 100644
--- a/indra/cmake/APR.cmake
+++ b/indra/cmake/APR.cmake
@@ -54,7 +54,10 @@ else (STANDALONE)
endif (WINDOWS)
set(APR_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/apr-1)
- if (LINUX AND VIEWER)
- list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} uuid)
- endif (LINUX AND VIEWER)
+ if (LINUX)
+ if (VIEWER)
+ list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} uuid)
+ endif (VIEWER)
+ list(APPEND APRUTIL_LIBRARIES ${DB_LIBRARIES} rt)
+ endif (LINUX)
endif (STANDALONE)
diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake
index efe9ad74d3..7ce57a5572 100644
--- a/indra/cmake/Boost.cmake
+++ b/indra/cmake/Boost.cmake
@@ -38,12 +38,12 @@ else (STANDALONE)
debug libboost_signals-vc80-mt-gd-${BOOST_VERSION})
endif (MSVC71)
elseif (DARWIN)
- set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-mt)
- set(BOOST_REGEX_LIBRARY boost_regex-mt)
- set(BOOST_SIGNALS_LIBRARY boost_signals-mt)
+ set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-xgcc40-mt)
+ set(BOOST_REGEX_LIBRARY boost_regex-xgcc40-mt)
+ set(BOOST_SIGNALS_LIBRARY boost_signals-xgcc40-mt)
elseif (LINUX)
- set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-mt)
- set(BOOST_REGEX_LIBRARY boost_regex-mt)
- set(BOOST_SIGNALS_LIBRARY boost_signals-mt)
+ set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-gcc41-mt)
+ set(BOOST_REGEX_LIBRARY boost_regex-gcc41-mt)
+ set(BOOST_SIGNALS_LIBRARY boost_signals-gcc41-mt)
endif (WINDOWS)
endif (STANDALONE)
diff --git a/indra/cmake/GStreamer010Plugin.cmake b/indra/cmake/GStreamer010Plugin.cmake
index 0d334837d4..0ca432da18 100644
--- a/indra/cmake/GStreamer010Plugin.cmake
+++ b/indra/cmake/GStreamer010Plugin.cmake
@@ -24,7 +24,6 @@ elseif (LINUX)
gmodule-2.0
dl
gthread-2.0
- rt
glib-2.0
)
endif (STANDALONE)
diff --git a/indra/cmake/PulseAudio.cmake b/indra/cmake/PulseAudio.cmake
new file mode 100644
index 0000000000..f8087a8083
--- /dev/null
+++ b/indra/cmake/PulseAudio.cmake
@@ -0,0 +1,28 @@
+# -*- cmake -*-
+include(Prebuilt)
+
+if (STANDALONE)
+ include(FindPkgConfig)
+
+ pkg_check_modules(PULSEAUDIO REQUIRED libpulse-mainloop-glib)
+
+elseif (LINUX)
+ use_prebuilt_binary(pulseaudio)
+ set(PULSEAUDIO_FOUND ON FORCE BOOL)
+ set(PULSEAUDIO_INCLUDE_DIRS
+ ${LIBS_PREBUILT_DIR}/include
+ )
+ # We don't need to explicitly link against pulseaudio itself, because
+ # the viewer probes for the system's copy at runtime.
+ set(PULSEAUDIO_LIBRARIES
+ # none needed!
+ )
+endif (STANDALONE)
+
+if (PULSEAUDIO_FOUND)
+ set(PULSEAUDIO ON CACHE BOOL "Build with PulseAudio support, if available.")
+endif (PULSEAUDIO_FOUND)
+
+if (PULSEAUDIO)
+ add_definitions(-DLL_PULSEAUDIO_ENABLED=1)
+endif (PULSEAUDIO)
diff --git a/indra/integration_tests/llui_libtest/llui_libtest.cpp b/indra/integration_tests/llui_libtest/llui_libtest.cpp
index d6516bdeb9..abd8f7dbde 100644
--- a/indra/integration_tests/llui_libtest/llui_libtest.cpp
+++ b/indra/integration_tests/llui_libtest/llui_libtest.cpp
@@ -115,7 +115,7 @@ TestImageProvider gTestImageProvider;
static std::string get_xui_dir()
{
std::string delim = gDirUtilp->getDirDelimiter();
- return gDirUtilp->getSkinBaseDir() + delim + "base" + delim + "xui" + delim;
+ return gDirUtilp->getSkinBaseDir() + delim + "default" + delim + "xui" + delim;
}
void init_llui()
@@ -127,7 +127,7 @@ void init_llui()
const char* newview_path = "../../../newview";
#endif
gDirUtilp->initAppDirs("SecondLife", newview_path);
- gDirUtilp->setSkinFolder("base");
+ gDirUtilp->setSkinFolder("default");
// colors are no longer stored in a LLControlGroup file
LLUIColorTable::instance().loadFromSettings();
diff --git a/indra/linux_crash_logger/CMakeLists.txt b/indra/linux_crash_logger/CMakeLists.txt
index 4b19e28066..ab62a0d0af 100644
--- a/indra/linux_crash_logger/CMakeLists.txt
+++ b/indra/linux_crash_logger/CMakeLists.txt
@@ -54,12 +54,5 @@ target_link_libraries(linux-crash-logger
${DB_LIBRARIES}
)
-add_custom_command(
- OUTPUT linux-crash-logger-stripped
- COMMAND strip
- ARGS --strip-debug -o linux-crash-logger-stripped linux-crash-logger
- DEPENDS linux-crash-logger
- )
-
-add_custom_target(linux-crash-logger-strip-target ALL
- DEPENDS linux-crash-logger-stripped)
+add_custom_target(linux-crash-logger-target ALL
+ DEPENDS linux-crash-logger)
diff --git a/indra/linux_updater/CMakeLists.txt b/indra/linux_updater/CMakeLists.txt
index 9fe32ecb46..00a78b2a8f 100644
--- a/indra/linux_updater/CMakeLists.txt
+++ b/indra/linux_updater/CMakeLists.txt
@@ -47,12 +47,5 @@ target_link_libraries(linux-updater
${LLCOMMON_LIBRARIES}
)
-add_custom_command(
- OUTPUT linux-updater-stripped
- COMMAND strip
- ARGS --strip-debug -o linux-updater-stripped linux-updater
- DEPENDS linux-updater
- )
-
-add_custom_target(linux-updater-strip-target ALL
- DEPENDS linux-updater-stripped)
+add_custom_target(linux-updater-target ALL
+ DEPENDS linux-updater)
diff --git a/indra/llcommon/llchat.h b/indra/llcommon/llchat.h
index 71ab80159e..91302618e9 100644
--- a/indra/llcommon/llchat.h
+++ b/indra/llcommon/llchat.h
@@ -42,7 +42,8 @@ typedef enum e_chat_source_type
{
CHAT_SOURCE_SYSTEM = 0,
CHAT_SOURCE_AGENT = 1,
- CHAT_SOURCE_OBJECT = 2
+ CHAT_SOURCE_OBJECT = 2,
+ CHAT_SOURCE_UNKNOWN = 3
} EChatSourceType;
typedef enum e_chat_type
@@ -67,7 +68,8 @@ typedef enum e_chat_audible_level
typedef enum e_chat_style
{
CHAT_STYLE_NORMAL,
- CHAT_STYLE_IRC
+ CHAT_STYLE_IRC,
+ CHAT_STYLE_HISTORY
}EChatStyle;
// A piece of chat
diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp
index 0272c55db2..0ed700b9da 100644
--- a/indra/llcommon/llsys.cpp
+++ b/indra/llcommon/llsys.cpp
@@ -775,6 +775,33 @@ void LLMemoryInfo::stream(std::ostream& s) const
#endif
}
+S32 LLDisplayInfo::getDisplayWidth() const
+{
+#if LL_WINDOWS
+ return ::GetSystemMetrics(SM_CXVIRTUALSCREEN);
+#elif LL_DARWIN
+ return 1024; //*FIXME
+#elif LL_SOLARIS
+ return 1024; //*FIXME
+#else
+ return 1024; //*FIXME
+#endif
+}
+
+S32 LLDisplayInfo::getDisplayHeight() const
+{
+#if LL_WINDOWS
+ return ::GetSystemMetrics(SM_CYVIRTUALSCREEN);
+#elif LL_DARWIN
+ return 768; //*FIXME
+#elif LL_SOLARIS
+ return 768; //*FIXME
+#else
+ return 768; //*FIXME
+#endif
+}
+
+
std::ostream& operator<<(std::ostream& s, const LLOSInfo& info)
{
info.stream(s);
diff --git a/indra/llcommon/llsys.h b/indra/llcommon/llsys.h
index c2c45bec9a..aa3fdd485b 100644
--- a/indra/llcommon/llsys.h
+++ b/indra/llcommon/llsys.h
@@ -122,6 +122,21 @@ public:
U32 getPhysicalMemoryClamped() const; ///< Memory size in clamped bytes
};
+//=============================================================================
+//
+// CLASS LLDisplayInfo
+class LL_COMMON_API LLDisplayInfo
+
+/*! @brief Class to query the information about some display settings
+*/
+{
+public:
+ LLDisplayInfo(){}; ///< Default constructor
+
+ S32 getDisplayWidth() const; ///< display width
+ S32 getDisplayHeight() const; ///< display height
+
+};
LL_COMMON_API std::ostream& operator<<(std::ostream& s, const LLOSInfo& info);
LL_COMMON_API std::ostream& operator<<(std::ostream& s, const LLCPUInfo& info);
diff --git a/indra/llcommon/llworkerthread.cpp b/indra/llcommon/llworkerthread.cpp
index 1b0e03cb2a..411977474b 100644
--- a/indra/llcommon/llworkerthread.cpp
+++ b/indra/llcommon/llworkerthread.cpp
@@ -65,6 +65,27 @@ LLWorkerThread::~LLWorkerThread()
// ~LLQueuedThread() will be called here
}
+//called only in destructor.
+void LLWorkerThread::clearDeleteList()
+{
+ // Delete any workers in the delete queue (should be safe - had better be!)
+ if (!mDeleteList.empty())
+ {
+ llwarns << "Worker Thread: " << mName << " destroyed with " << mDeleteList.size()
+ << " entries in delete list." << llendl;
+
+ mDeleteMutex->lock();
+ for (delete_list_t::iterator iter = mDeleteList.begin(); iter != mDeleteList.end(); ++iter)
+ {
+ (*iter)->mRequestHandle = LLWorkerThread::nullHandle();
+ (*iter)->clearFlags(LLWorkerClass::WCF_HAVE_WORK);
+ delete *iter ;
+ }
+ mDeleteList.clear() ;
+ mDeleteMutex->unlock() ;
+ }
+}
+
// virtual
S32 LLWorkerThread::update(U32 max_time_ms)
{
@@ -320,7 +341,20 @@ bool LLWorkerClass::checkWork(bool aborting)
if (mRequestHandle != LLWorkerThread::nullHandle())
{
LLWorkerThread::WorkRequest* workreq = (LLWorkerThread::WorkRequest*)mWorkerThread->getRequest(mRequestHandle);
- llassert_always(workreq);
+ if(!workreq)
+ {
+ if(mWorkerThread->isQuitting() || mWorkerThread->isStopped()) //the mWorkerThread is not running
+ {
+ mRequestHandle = LLWorkerThread::nullHandle();
+ clearFlags(WCF_HAVE_WORK);
+ return true ;
+ }
+ else
+ {
+ llassert_always(workreq);
+ }
+ }
+
LLQueuedThread::status_t status = workreq->getStatus();
if (status == LLWorkerThread::STATUS_ABORTED)
{
diff --git a/indra/llcommon/llworkerthread.h b/indra/llcommon/llworkerthread.h
index a1e85d2ecc..1756ebab6b 100644
--- a/indra/llcommon/llworkerthread.h
+++ b/indra/llcommon/llworkerthread.h
@@ -80,6 +80,9 @@ public:
S32 mParam;
};
+protected:
+ void clearDeleteList() ;
+
private:
typedef std::list<LLWorkerClass*> delete_list_t;
delete_list_t mDeleteList;
diff --git a/indra/llinventory/llpermissions.cpp b/indra/llinventory/llpermissions.cpp
index d2e5034734..9683252dc4 100644
--- a/indra/llinventory/llpermissions.cpp
+++ b/indra/llinventory/llpermissions.cpp
@@ -479,7 +479,7 @@ BOOL LLPermissions::setNextOwnerBits(const LLUUID& agent, const LLUUID& group, B
return ownership;
}
-BOOL LLPermissions::allowOperationBy(PermissionBit op, const LLUUID& requester, const LLUUID& group) const
+bool LLPermissions::allowOperationBy(PermissionBit op, const LLUUID& requester, const LLUUID& group) const
{
if(requester.isNull())
{
diff --git a/indra/llinventory/llpermissions.h b/indra/llinventory/llpermissions.h
index d5a0881c8f..fa20d5c214 100644
--- a/indra/llinventory/llpermissions.h
+++ b/indra/llinventory/llpermissions.h
@@ -149,7 +149,7 @@ public:
const LLUUID& getGroup() const { return mGroup; }
// return the agent_id of the last agent owner. Only returns
- // LLUUID::null if there has never been a previous owner.
+ // LLUUID::null if there has never been a previous owner (*note: this is apparently not true, say for textures in inventory, it may return LLUUID::null even if there was a previous owner).
const LLUUID& getLastOwner() const { return mLastOwner; }
U32 getMaskBase() const { return mMaskBase; }
@@ -272,18 +272,18 @@ public:
// They also return true if the object isn't owned, or the
// requesting agent is a system agent. See llpermissionsflags.h
// for bits.
- BOOL allowOperationBy(PermissionBit op, const LLUUID& agent, const LLUUID& group = LLUUID::null) const;
+ bool allowOperationBy(PermissionBit op, const LLUUID& agent, const LLUUID& group = LLUUID::null) const;
- inline BOOL allowModifyBy(const LLUUID &agent_id) const;
- inline BOOL allowCopyBy(const LLUUID& agent_id) const;
- inline BOOL allowMoveBy(const LLUUID& agent_id) const;
- inline BOOL allowModifyBy(const LLUUID &agent_id, const LLUUID& group) const;
- inline BOOL allowCopyBy(const LLUUID& agent_id, const LLUUID& group) const;
- inline BOOL allowMoveBy(const LLUUID &agent_id, const LLUUID &group) const;
+ inline bool allowModifyBy(const LLUUID &agent_id) const;
+ inline bool allowCopyBy(const LLUUID& agent_id) const;
+ inline bool allowMoveBy(const LLUUID& agent_id) const;
+ inline bool allowModifyBy(const LLUUID &agent_id, const LLUUID& group) const;
+ inline bool allowCopyBy(const LLUUID& agent_id, const LLUUID& group) const;
+ inline bool allowMoveBy(const LLUUID &agent_id, const LLUUID &group) const;
// This somewhat specialized function is meant for testing if the
// current owner is allowed to transfer to the specified agent id.
- inline BOOL allowTransferTo(const LLUUID &agent_id) const;
+ inline bool allowTransferTo(const LLUUID &agent_id) const;
//
// DEPRECATED.
@@ -336,38 +336,38 @@ public:
};
// Inlines
-BOOL LLPermissions::allowModifyBy(const LLUUID& agent, const LLUUID& group) const
+bool LLPermissions::allowModifyBy(const LLUUID& agent, const LLUUID& group) const
{
return allowOperationBy(PERM_MODIFY, agent, group);
}
-BOOL LLPermissions::allowCopyBy(const LLUUID& agent, const LLUUID& group) const
+bool LLPermissions::allowCopyBy(const LLUUID& agent, const LLUUID& group) const
{
return allowOperationBy(PERM_COPY, agent, group);
}
-BOOL LLPermissions::allowMoveBy(const LLUUID& agent, const LLUUID& group) const
+bool LLPermissions::allowMoveBy(const LLUUID& agent, const LLUUID& group) const
{
return allowOperationBy(PERM_MOVE, agent, group);
}
-BOOL LLPermissions::allowModifyBy(const LLUUID& agent) const
+bool LLPermissions::allowModifyBy(const LLUUID& agent) const
{
return allowOperationBy(PERM_MODIFY, agent, LLUUID::null);
}
-BOOL LLPermissions::allowCopyBy(const LLUUID& agent) const
+bool LLPermissions::allowCopyBy(const LLUUID& agent) const
{
return allowOperationBy(PERM_COPY, agent, LLUUID::null);
}
-BOOL LLPermissions::allowMoveBy(const LLUUID& agent) const
+bool LLPermissions::allowMoveBy(const LLUUID& agent) const
{
return allowOperationBy(PERM_MOVE, agent, LLUUID::null);
}
-BOOL LLPermissions::allowTransferTo(const LLUUID &agent_id) const
+bool LLPermissions::allowTransferTo(const LLUUID &agent_id) const
{
if (mIsGroupOwned)
{
diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp
index 192c6157a8..34348230b6 100644
--- a/indra/llmath/llvolume.cpp
+++ b/indra/llmath/llvolume.cpp
@@ -4521,15 +4521,65 @@ BOOL LLVolumeFace::createUnCutCubeCap(LLVolume* volume, BOOL partial_build)
if (!partial_build)
{
- int idxs[] = {0,1,(grid_size+1)+1,(grid_size+1)+1,(grid_size+1),0};
- for(int gx = 0;gx<grid_size;gx++){
- for(int gy = 0;gy<grid_size;gy++){
- if (mTypeMask & TOP_MASK){
- for(int i=5;i>=0;i--)mIndices.push_back(vtop+(gy*(grid_size+1))+gx+idxs[i]);
- }else{
- for(int i=0;i<6;i++)mIndices.push_back(vtop+(gy*(grid_size+1))+gx+idxs[i]);
+ mTriStrip.clear();
+ S32 idxs[] = {0,1,(grid_size+1)+1,(grid_size+1)+1,(grid_size+1),0};
+ for(S32 gx = 0;gx<grid_size;gx++)
+ {
+
+ for(S32 gy = 0;gy<grid_size;gy++)
+ {
+ if (mTypeMask & TOP_MASK)
+ {
+ for(S32 i=5;i>=0;i--)
+ {
+ mIndices.push_back(vtop+(gy*(grid_size+1))+gx+idxs[i]);
+ }
+
+ if (gy == 0)
+ {
+ mTriStrip.push_back((gx+1)*(grid_size+1));
+ mTriStrip.push_back((gx+1)*(grid_size+1));
+ mTriStrip.push_back(gx*(grid_size+1));
+ }
+
+ mTriStrip.push_back(gy+1+(gx+1)*(grid_size+1));
+ mTriStrip.push_back(gy+1+gx*(grid_size+1));
+
+
+ if (gy == grid_size-1)
+ {
+ mTriStrip.push_back(gy+1+gx*(grid_size+1));
+ }
+ }
+ else
+ {
+ for(S32 i=0;i<6;i++)
+ {
+ mIndices.push_back(vtop+(gy*(grid_size+1))+gx+idxs[i]);
+ }
+
+ if (gy == 0)
+ {
+ mTriStrip.push_back(gx*(grid_size+1));
+ mTriStrip.push_back(gx*(grid_size+1));
+ mTriStrip.push_back((gx+1)*(grid_size+1));
+ }
+
+ mTriStrip.push_back(gy+1+gx*(grid_size+1));
+ mTriStrip.push_back(gy+1+(gx+1)*(grid_size+1));
+
+ if (gy == grid_size-1)
+ {
+ mTriStrip.push_back(gy+1+(gx+1)*(grid_size+1));
+ }
}
}
+
+ }
+
+ if (mTriStrip.size()%2 == 1)
+ {
+ mTriStrip.push_back(mTriStrip[mTriStrip.size()-1]);
}
}
@@ -4771,6 +4821,8 @@ BOOL LLVolumeFace::createCap(LLVolume* volume, BOOL partial_build)
pt2--;
}
}
+
+ makeTriStrip();
}
else
{
@@ -4875,67 +4927,108 @@ BOOL LLVolumeFace::createCap(LLVolume* volume, BOOL partial_build)
pt2--;
}
}
+
+ makeTriStrip();
}
}
else
{
// Not hollow, generate the triangle fan.
+ U16 v1 = 2;
+ U16 v2 = 1;
+
if (mTypeMask & TOP_MASK)
{
- if (mTypeMask & OPEN_MASK)
- {
- // SOLID OPEN TOP
- // Generate indices
- // This is a tri-fan, so we reuse the same first point for all triangles.
- for (S32 i = 0; i < (num_vertices - 2); i++)
- {
- mIndices[3*i] = num_vertices - 1;
- mIndices[3*i+1] = i;
- mIndices[3*i+2] = i + 1;
- }
- }
- else
- {
- // SOLID CLOSED TOP
- for (S32 i = 0; i < (num_vertices - 2); i++)
- {
- //MSMSM fix these caps but only for the un-cut case
- mIndices[3*i] = num_vertices - 1;
- mIndices[3*i+1] = i;
- mIndices[3*i+2] = i + 1;
- }
- }
+ v1 = 1;
+ v2 = 2;
+ }
+
+ for (S32 i = 0; i < (num_vertices - 2); i++)
+ {
+ mIndices[3*i] = num_vertices - 1;
+ mIndices[3*i+v1] = i;
+ mIndices[3*i+v2] = i + 1;
+ }
+
+ //make tri strip
+ if (mTypeMask & OPEN_MASK)
+ {
+ makeTriStrip();
}
else
{
- if (mTypeMask & OPEN_MASK)
+ S32 j = num_vertices-2;
+ if (mTypeMask & TOP_MASK)
{
- // SOLID OPEN BOTTOM
- // Generate indices
- // This is a tri-fan, so we reuse the same first point for all triangles.
- for (S32 i = 0; i < (num_vertices - 2); i++)
+ mTriStrip.push_back(0);
+ for (S32 i = 0; i <= j; ++i)
{
- mIndices[3*i] = num_vertices - 1;
- mIndices[3*i+1] = i + 1;
- mIndices[3*i+2] = i;
+ mTriStrip.push_back(i);
+ if (i != j)
+ {
+ mTriStrip.push_back(j);
+ }
+ --j;
}
}
else
{
- // SOLID CLOSED BOTTOM
- for (S32 i = 0; i < (num_vertices - 2); i++)
+ mTriStrip.push_back(j);
+ for (S32 i = 0; i <= j; ++i)
{
- //MSMSM fix these caps but only for the un-cut case
- mIndices[3*i] = num_vertices - 1;
- mIndices[3*i+1] = i + 1;
- mIndices[3*i+2] = i;
+ if (i != j)
+ {
+ mTriStrip.push_back(j);
+ }
+ mTriStrip.push_back(i);
+ --j;
}
}
+
+ mTriStrip.push_back(mTriStrip[mTriStrip.size()-1]);
+
+ if (mTriStrip.size()%2 == 1)
+ {
+ mTriStrip.push_back(mTriStrip[mTriStrip.size()-1]);
+ }
}
}
+
return TRUE;
}
+void LLVolumeFace::makeTriStrip()
+{
+ for (U32 i = 0; i < mIndices.size(); i+=3)
+ {
+ U16 i0 = mIndices[i];
+ U16 i1 = mIndices[i+1];
+ U16 i2 = mIndices[i+2];
+
+ if ((i/3)%2 == 1)
+ {
+ mTriStrip.push_back(i0);
+ mTriStrip.push_back(i0);
+ mTriStrip.push_back(i1);
+ mTriStrip.push_back(i2);
+ mTriStrip.push_back(i2);
+ }
+ else
+ {
+ mTriStrip.push_back(i2);
+ mTriStrip.push_back(i2);
+ mTriStrip.push_back(i1);
+ mTriStrip.push_back(i0);
+ mTriStrip.push_back(i0);
+ }
+ }
+
+ if (mTriStrip.size()%2 == 1)
+ {
+ mTriStrip.push_back(mTriStrip[mTriStrip.size()-1]);
+ }
+}
+
void LLVolumeFace::createBinormals()
{
LLMemType m1(LLMemType::MTYPE_VOLUME);
@@ -5136,9 +5229,14 @@ BOOL LLVolumeFace::createSide(LLVolume* volume, BOOL partial_build)
if (!partial_build)
{
+ mTriStrip.clear();
+
// Now we generate the indices.
for (t = 0; t < (mNumT-1); t++)
{
+ //prepend terminating index to strip
+ mTriStrip.push_back(mNumS*t);
+
for (s = 0; s < (mNumS-1); s++)
{
mIndices[cur_index++] = s + mNumS*t; //bottom left
@@ -5148,6 +5246,14 @@ BOOL LLVolumeFace::createSide(LLVolume* volume, BOOL partial_build)
mIndices[cur_index++] = s+1 + mNumS*t; //bottom right
mIndices[cur_index++] = s+1 + mNumS*(t+1); //top right
+ if (s == 0)
+ {
+ mTriStrip.push_back(s+mNumS*t);
+ mTriStrip.push_back(s+mNumS*(t+1));
+ }
+ mTriStrip.push_back(s+1+mNumS*t);
+ mTriStrip.push_back(s+1+mNumS*(t+1));
+
mEdge[cur_edge++] = (mNumS-1)*2*t+s*2+1; //bottom left/top right neighbor face
if (t < mNumT-2) { //top right/top left neighbor face
mEdge[cur_edge++] = (mNumS-1)*2*(t+1)+s*2+1;
@@ -5188,6 +5294,13 @@ BOOL LLVolumeFace::createSide(LLVolume* volume, BOOL partial_build)
}
mEdge[cur_edge++] = (mNumS-1)*2*t+s*2; //top right/bottom left neighbor face
}
+ //append terminating vertex to strip
+ mTriStrip.push_back(mNumS-1+mNumS*(t+1));
+ }
+
+ if (mTriStrip.size()%2 == 1)
+ {
+ mTriStrip.push_back(mTriStrip[mTriStrip.size()-1]);
}
}
diff --git a/indra/llmath/llvolume.h b/indra/llmath/llvolume.h
index 871b334452..d9f80f0e30 100644
--- a/indra/llmath/llvolume.h
+++ b/indra/llmath/llvolume.h
@@ -798,7 +798,8 @@ public:
BOOL create(LLVolume* volume, BOOL partial_build = FALSE);
void createBinormals();
-
+ void makeTriStrip();
+
class VertexData
{
public:
@@ -839,6 +840,7 @@ public:
std::vector<VertexData> mVertices;
std::vector<U16> mIndices;
+ std::vector<U16> mTriStrip;
std::vector<S32> mEdge;
private:
diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp
index f1f86fd638..768f042e69 100644
--- a/indra/llrender/llfontgl.cpp
+++ b/indra/llrender/llfontgl.cpp
@@ -151,14 +151,16 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons
}
}
- gGL.pushMatrix();
- glLoadIdentity();
- gGL.translatef(floorf(sCurOrigin.mX*sScaleX), floorf(sCurOrigin.mY*sScaleY), sCurOrigin.mZ);
+ gGL.pushUIMatrix();
+
+ gGL.loadUIIdentity();
+
+ gGL.translateUI(floorf(sCurOrigin.mX*sScaleX), floorf(sCurOrigin.mY*sScaleY), sCurOrigin.mZ);
// this code snaps the text origin to a pixel grid to start with
F32 pixel_offset_x = llround((F32)sCurOrigin.mX) - (sCurOrigin.mX);
F32 pixel_offset_y = llround((F32)sCurOrigin.mY) - (sCurOrigin.mY);
- gGL.translatef(-pixel_offset_x, -pixel_offset_y, 0.f);
+ gGL.translateUI(-pixel_offset_x, -pixel_offset_y, 0.f);
LLFastTimer t(FTM_RENDER_FONTS);
@@ -246,9 +248,6 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons
}
- // Remember last-used texture to avoid unnecesssary bind calls.
- LLImageGL *last_bound_texture = NULL;
-
const LLFontGlyphInfo* next_glyph = NULL;
for (i = begin_offset; i < begin_offset + length; i++)
@@ -268,12 +267,8 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons
}
// Per-glyph bitmap texture.
LLImageGL *image_gl = mFontFreetype->getFontBitmapCache()->getImageGL(fgi->mBitmapNum);
- if (last_bound_texture != image_gl)
- {
- gGL.getTexUnit(0)->bind(image_gl);
- last_bound_texture = image_gl;
- }
-
+ gGL.getTexUnit(0)->bind(image_gl);
+
if ((start_x + scaled_max_pixels) < (cur_x + fgi->mXBearing + fgi->mWidth))
{
// Not enough room for this character.
@@ -338,10 +333,7 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons
// recursively render ellipses at end of string
// we've already reserved enough room
- gGL.pushMatrix();
- //glLoadIdentity();
- //gGL.translatef(sCurOrigin.mX, sCurOrigin.mY, 0.0f);
- //glScalef(sScaleX, sScaleY, 1.f);
+ gGL.pushUIMatrix();
renderUTF8(std::string("..."),
0,
cur_x / sScaleX, (F32)y,
@@ -352,10 +344,10 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons
S32_MAX, max_pixels,
right_x,
FALSE);
- gGL.popMatrix();
+ gGL.popUIMatrix();
}
- gGL.popMatrix();
+ gGL.popUIMatrix();
return chars_drawn;
}
diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp
index 595b8577ff..656f690db5 100644
--- a/indra/llrender/llrender.cpp
+++ b/indra/llrender/llrender.cpp
@@ -49,6 +49,9 @@ F64 gGLLastProjection[16];
F64 gGLProjection[16];
S32 gGLViewport[4];
+U32 LLRender::sUICalls = 0;
+U32 LLRender::sUIVerts = 0;
+
static const U32 LL_NUM_TEXTURE_LAYERS = 16;
static GLenum sGLTextureType[] =
@@ -90,7 +93,9 @@ static GLenum sGLBlendFactor[] =
GL_DST_ALPHA,
GL_SRC_ALPHA,
GL_ONE_MINUS_DST_ALPHA,
- GL_ONE_MINUS_SRC_ALPHA
+ GL_ONE_MINUS_SRC_ALPHA,
+
+ GL_ZERO // 'BF_UNDEF'
};
LLTexUnit::LLTexUnit(S32 index)
@@ -255,10 +260,9 @@ bool LLTexUnit::bind(LLImageGL* texture, bool for_rendering, bool forceBind)
return false ;
}
- gGL.flush();
-
if ((mCurrTexture != texture->getTexName()) || forceBind)
{
+ gGL.flush();
activate();
enable(texture->getTarget());
mCurrTexture = texture->getTexName();
@@ -445,6 +449,8 @@ void LLTexUnit::setTextureBlendType(eTextureBlendType type)
return;
}
+ gGL.flush();
+
activate();
mCurrBlendType = type;
S32 scale_amount = 1;
@@ -759,6 +765,8 @@ LLRender::LLRender()
mCurrAlphaFunc = CF_DEFAULT;
mCurrAlphaFuncVal = 0.01f;
+ mCurrBlendSFactor = BF_UNDEF;
+ mCurrBlendDFactor = BF_UNDEF;
}
LLRender::~LLRender()
@@ -821,6 +829,80 @@ void LLRender::popMatrix()
glPopMatrix();
}
+void LLRender::translateUI(F32 x, F32 y, F32 z)
+{
+ if (mUIOffset.empty())
+ {
+ llerrs << "Need to push a UI translation frame before offsetting" << llendl;
+ }
+
+ mUIOffset.front().mV[0] += x;
+ mUIOffset.front().mV[1] += y;
+ mUIOffset.front().mV[2] += z;
+}
+
+void LLRender::scaleUI(F32 x, F32 y, F32 z)
+{
+ if (mUIScale.empty())
+ {
+ llerrs << "Need to push a UI transformation frame before scaling." << llendl;
+ }
+
+ mUIScale.front().scaleVec(LLVector3(x,y,z));
+}
+
+void LLRender::pushUIMatrix()
+{
+ mUIOffset.push_front(mUIOffset.front());
+ if (mUIScale.empty())
+ {
+ mUIScale.push_front(LLVector3(1,1,1));
+ }
+ else
+ {
+ mUIScale.push_front(mUIScale.front());
+ }
+}
+
+void LLRender::popUIMatrix()
+{
+ if (mUIOffset.empty())
+ {
+ llerrs << "UI offset stack blown." << llendl;
+ }
+ mUIOffset.pop_front();
+ mUIScale.pop_front();
+}
+
+LLVector3 LLRender::getUITranslation()
+{
+ if (mUIOffset.empty())
+ {
+ llerrs << "UI offset stack empty." << llendl;
+ }
+ return mUIOffset.front();
+}
+
+LLVector3 LLRender::getUIScale()
+{
+ if (mUIScale.empty())
+ {
+ llerrs << "UI scale stack empty." << llendl;
+ }
+ return mUIScale.front();
+}
+
+
+void LLRender::loadUIIdentity()
+{
+ if (mUIOffset.empty())
+ {
+ llerrs << "Need to push UI translation frame before clearing offset." << llendl;
+ }
+ mUIOffset.front().setVec(0,0,0);
+ mUIScale.front().setVec(1,1,1);
+}
+
void LLRender::setColorMask(bool writeColor, bool writeAlpha)
{
setColorMask(writeColor, writeColor, writeColor, writeAlpha);
@@ -843,29 +925,28 @@ void LLRender::setColorMask(bool writeColorR, bool writeColorG, bool writeColorB
void LLRender::setSceneBlendType(eBlendType type)
{
- flush();
switch (type)
{
case BT_ALPHA:
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ blendFunc(BF_SOURCE_ALPHA, BF_ONE_MINUS_SOURCE_ALPHA);
break;
case BT_ADD:
- glBlendFunc(GL_ONE, GL_ONE);
+ blendFunc(BF_ONE, BF_ONE);
break;
case BT_ADD_WITH_ALPHA:
- glBlendFunc(GL_SRC_ALPHA, GL_ONE);
+ blendFunc(BF_SOURCE_ALPHA, BF_ONE);
break;
case BT_MULT:
- glBlendFunc(GL_DST_COLOR, GL_ZERO);
+ blendFunc(BF_DEST_COLOR, BF_ZERO);
break;
case BT_MULT_ALPHA:
- glBlendFunc(GL_DST_ALPHA, GL_ZERO);
+ blendFunc(BF_DEST_ALPHA, BF_ZERO);
break;
case BT_MULT_X2:
- glBlendFunc(GL_DST_COLOR, GL_SRC_COLOR);
+ blendFunc(BF_DEST_COLOR, BF_SOURCE_COLOR);
break;
case BT_REPLACE:
- glBlendFunc(GL_ONE, GL_ZERO);
+ blendFunc(BF_ONE, BF_ZERO);
break;
default:
llerrs << "Unknown Scene Blend Type: " << type << llendl;
@@ -891,8 +972,15 @@ void LLRender::setAlphaRejectSettings(eCompareFunc func, F32 value)
void LLRender::blendFunc(eBlendFactor sfactor, eBlendFactor dfactor)
{
- flush();
- glBlendFunc(sGLBlendFactor[sfactor], sGLBlendFactor[dfactor]);
+ llassert(sfactor < BF_UNDEF);
+ llassert(dfactor < BF_UNDEF);
+ if (mCurrBlendSFactor != sfactor || mCurrBlendDFactor != dfactor)
+ {
+ mCurrBlendSFactor = sfactor;
+ mCurrBlendDFactor = dfactor;
+ flush();
+ glBlendFunc(sGLBlendFactor[sfactor], sGLBlendFactor[dfactor]);
+ }
}
LLTexUnit* LLRender::getTexUnit(U32 index)
@@ -1012,6 +1100,12 @@ void LLRender::flush()
}
#endif
+ if (!mUIOffset.empty())
+ {
+ sUICalls++;
+ sUIVerts += mCount;
+ }
+
mBuffer->setBuffer(immediate_mask);
mBuffer->drawArrays(mMode, 0, mCount);
@@ -1031,7 +1125,16 @@ void LLRender::vertex3f(const GLfloat& x, const GLfloat& y, const GLfloat& z)
return;
}
- mVerticesp[mCount] = LLVector3(x,y,z);
+ if (mUIOffset.empty())
+ {
+ mVerticesp[mCount] = LLVector3(x,y,z);
+ }
+ else
+ {
+ LLVector3 vert = (LLVector3(x,y,z)+mUIOffset.front()).scaledVec(mUIScale.front());
+ mVerticesp[mCount] = vert;
+ }
+
mCount++;
if (mCount < 4096)
{
diff --git a/indra/llrender/llrender.h b/indra/llrender/llrender.h
index 0121a190ee..a90fbd4a5c 100644
--- a/indra/llrender/llrender.h
+++ b/indra/llrender/llrender.h
@@ -270,7 +270,9 @@ public:
BF_DEST_ALPHA,
BF_SOURCE_ALPHA,
BF_ONE_MINUS_DEST_ALPHA,
- BF_ONE_MINUS_SOURCE_ALPHA
+ BF_ONE_MINUS_SOURCE_ALPHA,
+
+ BF_UNDEF
} eBlendFactor;
LLRender();
@@ -286,6 +288,14 @@ public:
void pushMatrix();
void popMatrix();
+ void translateUI(F32 x, F32 y, F32 z);
+ void scaleUI(F32 x, F32 y, F32 z);
+ void pushUIMatrix();
+ void popUIMatrix();
+ void loadUIIdentity();
+ LLVector3 getUITranslation();
+ LLVector3 getUIScale();
+
void flush();
void begin(const GLuint& mode);
@@ -333,7 +343,9 @@ public:
};
public:
-
+ static U32 sUICalls;
+ static U32 sUIVerts;
+
private:
bool mDirty;
U32 mCount;
@@ -350,7 +362,14 @@ private:
std::vector<LLTexUnit*> mTexUnits;
LLTexUnit* mDummyTexUnit;
+ eBlendFactor mCurrBlendSFactor;
+ eBlendFactor mCurrBlendDFactor;
+
F32 mMaxAnisotropy;
+
+ std::list<LLVector3> mUIOffset;
+ std::list<LLVector3> mUIScale;
+
};
extern F64 gGLModelView[16];
diff --git a/indra/llui/CMakeLists.txt b/indra/llui/CMakeLists.txt
index 853f6f173d..532b6b6524 100644
--- a/indra/llui/CMakeLists.txt
+++ b/indra/llui/CMakeLists.txt
@@ -209,6 +209,16 @@ set(llui_HEADER_FILES
set_source_files_properties(${llui_HEADER_FILES}
PROPERTIES HEADER_FILE_ONLY TRUE)
+SET(llurlentry_TEST_DEPENDENCIES
+ llurlmatch.cpp
+ llurlregistry.cpp
+ )
+
+set_source_files_properties(llurlentry.cpp
+ PROPERTIES LL_TEST_ADDITIONAL_SOURCE_FILES
+ "${llurlentry_TEST_DEPENDENCIES}"
+ )
+
list(APPEND llui_SOURCE_FILES ${llui_HEADER_FILES})
add_library (llui ${llui_SOURCE_FILES})
diff --git a/indra/llui/llaccordionctrl.cpp b/indra/llui/llaccordionctrl.cpp
index d0c73fbfbc..2ed1082f56 100644
--- a/indra/llui/llaccordionctrl.cpp
+++ b/indra/llui/llaccordionctrl.cpp
@@ -118,7 +118,6 @@ BOOL LLAccordionCtrl::postBuild()
scrollbar_size,
getRect().getHeight() - 1);
-
LLScrollbar::Params sbparams;
sbparams.name("scrollable vertical");
sbparams.rect(scroll_rect);
@@ -338,36 +337,55 @@ void LLAccordionCtrl::addCollapsibleCtrl(LLView* view)
}
-
-void LLAccordionCtrl::arrange()
+void LLAccordionCtrl::arrangeSinge()
{
- if( mAccordionTabs.size() == 0)
- {
- //We do not arrange if we do not have what should be arranged
- return;
- }
-
- //Calculate params
S32 panel_left = BORDER_MARGIN; // Margin from left side of Splitter
S32 panel_top = getRect().getHeight() - BORDER_MARGIN; // Top coordinate of the first panel
S32 panel_width = getRect().getWidth() - 4; // Top coordinate of the first panel
+ S32 panel_height;
-
- if(mAccordionTabs.size() == 1)
+ S32 collapsed_height = 0;
+
+ for(size_t i=0;i<mAccordionTabs.size();++i)
{
- LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[0]);
-
- LLRect panel_rect = accordion_tab->getRect();
+ LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
- S32 panel_height = getRect().getHeight() - 2*BORDER_MARGIN;
+ if(accordion_tab->getVisible() == false) //skip hidden accordion tabs
+ continue;
+ if(!accordion_tab->isExpanded() )
+ {
+ collapsed_height+=mAccordionTabs[i]->getRect().getHeight();
+ }
+ }
- ctrlSetLeftTopAndSize(accordion_tab,panel_rect.mLeft,panel_top,panel_width,panel_height);
+ S32 expanded_height = getRect().getHeight() - BORDER_MARGIN - collapsed_height;
+
+ for(size_t i=0;i<mAccordionTabs.size();++i)
+ {
+ LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
- show_hide_scrollbar(getRect().getWidth(),getRect().getHeight());
- return;
-
+ if(accordion_tab->getVisible() == false) //skip hidden accordion tabs
+ continue;
+ if(!accordion_tab->isExpanded() )
+ {
+ panel_height = accordion_tab->getRect().getHeight();
+ }
+ else
+ {
+ panel_height = expanded_height;
+ }
+ ctrlSetLeftTopAndSize(mAccordionTabs[i], panel_left, panel_top, panel_width, panel_height);
+ panel_top-=mAccordionTabs[i]->getRect().getHeight();
}
+}
+
+void LLAccordionCtrl::arrangeMultiple()
+{
+ S32 panel_left = BORDER_MARGIN; // Margin from left side of Splitter
+ S32 panel_top = getRect().getHeight() - BORDER_MARGIN; // Top coordinate of the first panel
+ S32 panel_width = getRect().getWidth() - 4; // Top coordinate of the first panel
+ //Calculate params
for(size_t i = 0; i < mAccordionTabs.size(); i++ )
{
LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
@@ -415,7 +433,40 @@ void LLAccordionCtrl::arrange()
show_hide_scrollbar(getRect().getWidth(),getRect().getHeight());
updateLayout(getRect().getWidth(),getRect().getHeight());
+}
+
+
+void LLAccordionCtrl::arrange()
+{
+ if( mAccordionTabs.size() == 0)
+ {
+ //We do not arrange if we do not have what should be arranged
+ return;
+ }
+
+ if(mAccordionTabs.size() == 1)
+ {
+ S32 panel_top = getRect().getHeight() - BORDER_MARGIN; // Top coordinate of the first panel
+ S32 panel_width = getRect().getWidth() - 4; // Top coordinate of the first panel
+
+ LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[0]);
+
+ LLRect panel_rect = accordion_tab->getRect();
+
+ S32 panel_height = getRect().getHeight() - 2*BORDER_MARGIN;
+
+ ctrlSetLeftTopAndSize(accordion_tab,panel_rect.mLeft,panel_top,panel_width,panel_height);
+
+ show_hide_scrollbar(getRect().getWidth(),getRect().getHeight());
+ return;
+
+ }
+
+ if(mSingleExpansion)
+ arrangeSinge ();
+ else
+ arrangeMultiple ();
}
//---------------------------------------------------------------------------------
diff --git a/indra/llui/llaccordionctrl.h b/indra/llui/llaccordionctrl.h
index d57a42df32..7c29e545b7 100644
--- a/indra/llui/llaccordionctrl.h
+++ b/indra/llui/llaccordionctrl.h
@@ -105,6 +105,9 @@ public:
void reset ();
private:
+ void arrangeSinge();
+ void arrangeMultiple();
+
// Calc Splitter's height that is necessary to display all child content
S32 calcRecuiredHeight();
S32 getRecuiredHeight() const { return mInnerRect.getHeight(); }
diff --git a/indra/llui/llaccordionctrltab.cpp b/indra/llui/llaccordionctrltab.cpp
index daa9e08f14..1067c3f1d5 100644
--- a/indra/llui/llaccordionctrltab.cpp
+++ b/indra/llui/llaccordionctrltab.cpp
@@ -33,8 +33,9 @@
#include "linden_common.h"
#include "lluictrl.h"
-
+#include "llscrollbar.h"
#include "llaccordionctrltab.h"
+#include "lllocalcliprect.h"
#include "lltextbox.h"
@@ -46,6 +47,8 @@ static const S32 HEADER_HEIGHT = 20;
static const S32 HEADER_IMAGE_LEFT_OFFSET = 5;
static const S32 HEADER_TEXT_LEFT_OFFSET = 30;
static const F32 AUTO_OPEN_TIME = 1.f;
+static const S32 VERTICAL_MULTIPLE = 16;
+static const S32 PARENT_BORDER_MARGIN = 5;
static LLDefaultChildRegistry::Register<LLAccordionCtrlTab> t1("accordion_tab");
@@ -277,6 +280,7 @@ LLAccordionCtrlTab::Params::Params()
,header_image_pressed("header_image_pressed")
,header_image_focused("header_image_focused")
,header_text_color("header_text_color")
+ ,fit_panel("fit_panel",true)
{
mouse_opaque(false);
}
@@ -293,6 +297,9 @@ LLAccordionCtrlTab::LLAccordionCtrlTab(const LLAccordionCtrlTab::Params&p)
,mPaddingTop(p.padding_top)
,mPaddingBottom(p.padding_bottom)
,mCanOpenClose(true)
+ ,mFitPanel(p.fit_panel)
+ ,mContainerPanel(NULL)
+ ,mScrollbar(NULL)
{
mStoredOpenCloseState = false;
mWasStateStored = false;
@@ -321,54 +328,42 @@ void LLAccordionCtrlTab::setDisplayChildren(bool display)
mExpandedHeight : HEADER_HEIGHT);
setRect(rect);
- for(child_list_const_iter_t it = getChildList()->begin();
- getChildList()->end() != it; ++it)
- {
- LLView* child = *it;
- if(DD_HEADER_NAME == child->getName())
- continue;
+ if(mContainerPanel)
+ mContainerPanel->setVisible(getDisplayChildren());
- child->setVisible(getDisplayChildren());
+ if(mDisplayChildren)
+ {
+ adjustContainerPanel();
}
+ else
+ {
+ if(mScrollbar)
+ mScrollbar->setVisible(false);
+ }
+
}
void LLAccordionCtrlTab::reshape(S32 width, S32 height, BOOL called_from_parent /* = TRUE */)
{
LLRect headerRect;
- LLUICtrl::reshape(width, height, TRUE);
-
headerRect.setLeftTopAndSize(
0,height,width,HEADER_HEIGHT);
mHeader->setRect(headerRect);
mHeader->reshape(headerRect.getWidth(), headerRect.getHeight());
- for(child_list_const_iter_t it = getChildList()->begin();
- getChildList()->end() != it; ++it)
- {
- LLView* child = *it;
- if(DD_HEADER_NAME == child->getName())
- continue;
- if(!child->getVisible())
- continue;
-
- LLRect childRect = child->getRect();
- S32 childWidth = width - getPaddingLeft() - getPaddingRight();
- S32 childHeight = height - getHeaderHeight() - getPaddingTop() - getPaddingBottom();
+ if(!mDisplayChildren)
+ return;
- child->reshape(childWidth,childHeight);
-
- childRect.setLeftTopAndSize(
- getPaddingLeft(),
- childHeight + getPaddingBottom(),
- childWidth,
- childHeight);
+ LLRect childRect;
- child->setRect(childRect);
-
- break;//suppose that there is only one panel
- }
+ childRect.setLeftTopAndSize(
+ getPaddingLeft(),
+ height - getHeaderHeight() - getPaddingTop(),
+ width - getPaddingLeft() - getPaddingRight(),
+ height - getHeaderHeight() - getPaddingTop() - getPaddingBottom() );
+ adjustContainerPanel(childRect);
}
void LLAccordionCtrlTab::changeOpenClose(bool is_open)
@@ -439,7 +434,7 @@ void LLAccordionCtrlTab::setAccordionView(LLView* panel)
}
-LLView* LLAccordionCtrlTab::getAccordionView()
+LLView* LLAccordionCtrlTab::findContainerView()
{
for(child_list_const_iter_t it = getChildList()->begin();
getChildList()->end() != it; ++it)
@@ -474,6 +469,43 @@ void LLAccordionCtrlTab::setHeaderVisible(bool value)
BOOL LLAccordionCtrlTab::postBuild()
{
mHeader->setVisible(mHeaderVisible);
+
+ static LLUICachedControl<S32> scrollbar_size ("UIScrollbarSize", 0);
+
+ LLRect scroll_rect;
+ scroll_rect.setOriginAndSize(
+ getRect().getWidth() - scrollbar_size,
+ 1,
+ scrollbar_size,
+ getRect().getHeight() - 1);
+
+ mContainerPanel = findContainerView();
+
+ if(!mFitPanel)
+ {
+ LLScrollbar::Params sbparams;
+ sbparams.name("scrollable vertical");
+ sbparams.rect(scroll_rect);
+ sbparams.orientation(LLScrollbar::VERTICAL);
+ sbparams.doc_size(getRect().getHeight());
+ sbparams.doc_pos(0);
+ sbparams.page_size(getRect().getHeight());
+ sbparams.step_size(VERTICAL_MULTIPLE);
+ sbparams.follows.flags(FOLLOWS_RIGHT | FOLLOWS_TOP | FOLLOWS_BOTTOM);
+ sbparams.change_callback(boost::bind(&LLAccordionCtrlTab::onScrollPosChangeCallback, this, _1, _2));
+
+
+ mScrollbar = LLUICtrlFactory::create<LLScrollbar> (sbparams);
+ LLView::addChild( mScrollbar );
+ mScrollbar->setFollowsRight();
+ mScrollbar->setFollowsTop();
+ mScrollbar->setFollowsBottom();
+
+ mScrollbar->setVisible(false);
+ }
+
+ mContainerPanel->setVisible(mDisplayChildren);
+
return LLUICtrl::postBuild();
}
bool LLAccordionCtrlTab::notifyChildren (const LLSD& info)
@@ -562,6 +594,12 @@ BOOL LLAccordionCtrlTab::handleKey(KEY key, MASK mask, BOOL called_from_parent)
if( !header->hasFocus() )
return LLUICtrl::handleKey(key, mask, called_from_parent);
+ if ( (key == KEY_RETURN )&& mask == MASK_NONE)
+ {
+ changeOpenClose(getDisplayChildren());
+ return TRUE;
+ }
+
if ( (key == KEY_ADD || key == KEY_RIGHT)&& mask == MASK_NONE)
{
if(getDisplayChildren() == false)
@@ -622,6 +660,7 @@ void LLAccordionCtrlTab::storeOpenCloseState()
mStoredOpenCloseState = getDisplayChildren();
mWasStateStored = true;
}
+
void LLAccordionCtrlTab::restoreOpenCloseState()
{
if(!mWasStateStored)
@@ -632,3 +671,195 @@ void LLAccordionCtrlTab::restoreOpenCloseState()
}
mWasStateStored = false;
}
+
+void LLAccordionCtrlTab::adjustContainerPanel ()
+{
+ S32 width = getRect().getWidth();
+ S32 height = getRect().getHeight();
+
+ LLRect child_rect;
+ child_rect.setLeftTopAndSize(
+ getPaddingLeft(),
+ height - getHeaderHeight() - getPaddingTop(),
+ width - getPaddingLeft() - getPaddingRight(),
+ height - getHeaderHeight() - getPaddingTop() - getPaddingBottom() );
+
+ adjustContainerPanel(child_rect);
+}
+
+void LLAccordionCtrlTab::adjustContainerPanel(const LLRect& child_rect)
+{
+ if(!mContainerPanel)
+ return;
+
+ if(!mFitPanel)
+ {
+ show_hide_scrollbar(child_rect);
+ updateLayout(child_rect);
+ }
+ else
+ {
+ mContainerPanel->reshape(child_rect.getWidth(),child_rect.getHeight());
+ mContainerPanel->setRect(child_rect);
+ }
+}
+
+S32 LLAccordionCtrlTab::getChildViewHeight()
+{
+ if(!mContainerPanel)
+ return 0;
+ return mContainerPanel->getRect().getHeight();
+}
+
+void LLAccordionCtrlTab::show_hide_scrollbar(const LLRect& child_rect)
+{
+ if(getChildViewHeight() > child_rect.getHeight() )
+ showScrollbar(child_rect);
+ else
+ hideScrollbar(child_rect);
+}
+void LLAccordionCtrlTab::showScrollbar(const LLRect& child_rect)
+{
+ if(!mContainerPanel || !mScrollbar)
+ return;
+ bool was_visible = mScrollbar->getVisible();
+ mScrollbar->setVisible(true);
+
+ static LLUICachedControl<S32> scrollbar_size ("UIScrollbarSize", 0);
+
+ {
+ ctrlSetLeftTopAndSize(mScrollbar,child_rect.getWidth()-scrollbar_size,
+ child_rect.getHeight()-PARENT_BORDER_MARGIN,
+ scrollbar_size,
+ child_rect.getHeight()-2*PARENT_BORDER_MARGIN);
+ }
+
+ LLRect orig_rect = mContainerPanel->getRect();
+
+ mScrollbar->setPageSize(child_rect.getHeight());
+ mScrollbar->setDocParams(orig_rect.getHeight(),mScrollbar->getDocPos());
+
+ if(was_visible)
+ {
+ S32 scroll_pos = llmin(mScrollbar->getDocPos(), orig_rect.getHeight() - child_rect.getHeight() - 1);
+ mScrollbar->setDocPos(scroll_pos);
+ }
+ else//shrink child panel
+ {
+ updateLayout(child_rect);
+ }
+
+}
+
+void LLAccordionCtrlTab::hideScrollbar( const LLRect& child_rect )
+{
+ if(!mContainerPanel || !mScrollbar)
+ return;
+
+ if(mScrollbar->getVisible() == false)
+ return;
+ mScrollbar->setVisible(false);
+ mScrollbar->setDocPos(0);
+
+ //shrink child panel
+ updateLayout(child_rect);
+}
+
+void LLAccordionCtrlTab::onScrollPosChangeCallback(S32, LLScrollbar*)
+{
+ LLRect child_rect;
+
+ S32 width = getRect().getWidth();
+ S32 height = getRect().getHeight();
+
+ child_rect.setLeftTopAndSize(
+ getPaddingLeft(),
+ height - getHeaderHeight() - getPaddingTop(),
+ width - getPaddingLeft() - getPaddingRight(),
+ height - getHeaderHeight() - getPaddingTop() - getPaddingBottom() );
+
+ updateLayout(child_rect);
+}
+
+void LLAccordionCtrlTab::drawChild(const LLRect& root_rect,LLView* child)
+{
+ if (child && child->getVisible() && child->getRect().isValid())
+ {
+ LLRect screen_rect;
+ localRectToScreen(child->getRect(),&screen_rect);
+
+ if ( root_rect.overlaps(screen_rect) && LLUI::sDirtyRect.overlaps(screen_rect))
+ {
+ glMatrixMode(GL_MODELVIEW);
+ LLUI::pushMatrix();
+ {
+ LLUI::translate((F32)child->getRect().mLeft, (F32)child->getRect().mBottom, 0.f);
+ child->draw();
+
+ }
+ LLUI::popMatrix();
+ }
+ }
+}
+
+void LLAccordionCtrlTab::draw()
+{
+ if(mFitPanel)
+ LLUICtrl::draw();
+ else
+ {
+ LLRect root_rect = getRootView()->getRect();
+ drawChild(root_rect,mHeader);
+ drawChild(root_rect,mScrollbar );
+ {
+ LLRect child_rect;
+
+ S32 width = getRect().getWidth();
+ S32 height = getRect().getHeight();
+
+ child_rect.setLeftTopAndSize(
+ getPaddingLeft(),
+ height - getHeaderHeight() - getPaddingTop(),
+ width - getPaddingLeft() - getPaddingRight(),
+ height - getHeaderHeight() - getPaddingTop() - getPaddingBottom() );
+
+ LLLocalClipRect clip(child_rect);
+ drawChild(root_rect,mContainerPanel);
+ }
+
+
+ gGL.getTexUnit(0)->disable();
+ }
+}
+
+void LLAccordionCtrlTab::updateLayout ( const LLRect& child_rect )
+{
+ LLView* child = getAccordionView();
+ if(!mContainerPanel)
+ return;
+
+ S32 panel_top = child_rect.getHeight();
+ S32 panel_width = child_rect.getWidth();
+
+ static LLUICachedControl<S32> scrollbar_size ("UIScrollbarSize", 0);
+ if(mScrollbar->getVisible() != false)
+ {
+ panel_top+=mScrollbar->getDocPos();
+ panel_width-=scrollbar_size;
+ }
+
+ //set sizes for first panels and dragbars
+ LLRect panel_rect = child->getRect();
+ ctrlSetLeftTopAndSize(mContainerPanel,child_rect.mLeft,panel_top,panel_width,panel_rect.getHeight());
+}
+void LLAccordionCtrlTab::ctrlSetLeftTopAndSize(LLView* panel, S32 left, S32 top, S32 width, S32 height)
+{
+ if(!panel)
+ return;
+ LLRect panel_rect = panel->getRect();
+ panel_rect.setLeftTopAndSize( left, top, width, height);
+ panel->reshape( width, height, 1);
+ panel->setRect(panel_rect);
+}
+
+
diff --git a/indra/llui/llaccordionctrltab.h b/indra/llui/llaccordionctrltab.h
index 2e0260ab16..462ccc6d53 100644
--- a/indra/llui/llaccordionctrltab.h
+++ b/indra/llui/llaccordionctrltab.h
@@ -41,6 +41,7 @@ class LLUICtrlFactory;
class LLUIImage;
class LLButton;
class LLTextBox;
+class LLScrollbar;
@@ -84,6 +85,8 @@ public:
Optional<bool> header_visible;
+ Optional<bool> fit_panel;
+
Optional<S32> padding_left;
Optional<S32> padding_right;
Optional<S32> padding_top;
@@ -107,7 +110,7 @@ public:
//set LLAccordionCtrlTab panel
void setAccordionView(LLView* panel);
- LLView* getAccordionView();
+ LLView* getAccordionView() { return mContainerPanel; };
bool getCollapsible() {return mCollapsible;};
@@ -123,6 +126,8 @@ public:
S32 notify(const LLSD& info);
bool notifyChildren(const LLSD& info);
+ void draw();
+
void storeOpenCloseState ();
void restoreOpenCloseState ();
@@ -164,9 +169,26 @@ public:
void showAndFocusHeader();
-private:
+ void setFitPanel( bool fit ) { mFitPanel = true; }
-
+protected:
+ void adjustContainerPanel (const LLRect& child_rect);
+ void adjustContainerPanel ();
+ S32 getChildViewHeight ();
+
+ void onScrollPosChangeCallback(S32, LLScrollbar*);
+
+ void show_hide_scrollbar (const LLRect& child_rect);
+ void showScrollbar (const LLRect& child_rect);
+ void hideScrollbar (const LLRect& child_rect);
+
+ void updateLayout ( const LLRect& child_rect );
+ void ctrlSetLeftTopAndSize (LLView* panel, S32 left, S32 top, S32 width, S32 height);
+
+ void drawChild(const LLRect& root_rect,LLView* child);
+
+ LLView* findContainerView ();
+private:
class LLAccordionCtrlTabHeader;
LLAccordionCtrlTabHeader* mHeader; //Header
@@ -176,6 +198,7 @@ private:
bool mHeaderVisible;
bool mCanOpenClose;
+ bool mFitPanel;
S32 mPaddingLeft;
S32 mPaddingRight;
@@ -185,6 +208,8 @@ private:
bool mStoredOpenCloseState;
bool mWasStateStored;
+ LLScrollbar* mScrollbar;
+ LLView* mContainerPanel;
LLUIColor mDropdownBGColor;
};
diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h
index 8f35db1007..59b551a16d 100644
--- a/indra/llui/llbutton.h
+++ b/indra/llui/llbutton.h
@@ -216,6 +216,7 @@ public:
void setImageOverlay(const std::string& image_name, LLFontGL::HAlign alignment = LLFontGL::HCENTER, const LLColor4& color = LLColor4::white);
void setImageOverlay(const LLUUID& image_id, LLFontGL::HAlign alignment = LLFontGL::HCENTER, const LLColor4& color = LLColor4::white);
LLPointer<LLUIImage> getImageOverlay() { return mImageOverlay; }
+ LLFontGL::HAlign getImageOverlayHAlign() const { return mImageOverlayAlignment; }
void autoResize(); // resize with label of current btn state
void resize(LLUIString label); // resize with label input
@@ -257,6 +258,8 @@ public:
void setForcePressedState(bool b) { mForcePressedState = b; }
+ void setAutoResize(bool auto_resize) { mAutoResize = auto_resize; }
+
protected:
LLPointer<LLUIImage> getImageUnselected() const { return mImageUnselected; }
LLPointer<LLUIImage> getImageSelected() const { return mImageSelected; }
diff --git a/indra/llui/llcombobox.cpp b/indra/llui/llcombobox.cpp
index 1aa44f6b96..c693c18d1a 100644
--- a/indra/llui/llcombobox.cpp
+++ b/indra/llui/llcombobox.cpp
@@ -158,7 +158,7 @@ LLComboBox::LLComboBox(const LLComboBox::Params& p)
createLineEditor(p);
- setTopLostCallback(boost::bind(&LLComboBox::hideList, this));
+ mTopLostSignalConnection = setTopLostCallback(boost::bind(&LLComboBox::hideList, this));
}
void LLComboBox::initFromParams(const LLComboBox::Params& p)
@@ -185,6 +185,9 @@ BOOL LLComboBox::postBuild()
LLComboBox::~LLComboBox()
{
// children automatically deleted, including mMenu, mButton
+
+ // explicitly disconect this signal, since base class destructor might fire top lost
+ mTopLostSignalConnection.disconnect();
}
@@ -610,16 +613,14 @@ void LLComboBox::showList()
mList->setFocus(TRUE);
- // register ourselves as a "top" control
- // effectively putting us into a special draw layer
- // and not affecting the bounding rectangle calculation
- gFocusMgr.setTopCtrl(this);
-
// Show the list and push the button down
mButton->setToggleState(TRUE);
mList->setVisible(TRUE);
+ LLUI::addPopup(this);
+
setUseBoundingRect(TRUE);
+// updateBoundingRect();
}
void LLComboBox::hideList()
@@ -642,10 +643,8 @@ void LLComboBox::hideList()
mList->mouseOverHighlightNthItem(-1);
setUseBoundingRect(FALSE);
- if( gFocusMgr.getTopCtrl() == this )
- {
- gFocusMgr.setTopCtrl(NULL);
- }
+ LLUI::removePopup(this);
+// updateBoundingRect();
}
}
@@ -701,19 +700,12 @@ void LLComboBox::onListMouseUp()
void LLComboBox::onItemSelected(const LLSD& data)
{
- const std::string name = mList->getSelectedItemLabel();
+ setValue(data);
- S32 cur_id = getCurrentIndex();
- mLastSelectedIndex = cur_id;
- if (cur_id != -1)
+ if (mAllowTextEntry && mLastSelectedIndex != -1)
{
- setLabel(name);
-
- if (mAllowTextEntry)
- {
- gFocusMgr.setKeyboardFocus(mTextEntry);
- mTextEntry->selectAll();
- }
+ gFocusMgr.setKeyboardFocus(mTextEntry);
+ mTextEntry->selectAll();
}
// hiding the list reasserts the old value stored in the text editor/dropdown button
@@ -1067,3 +1059,33 @@ BOOL LLComboBox::selectItemRange( S32 first, S32 last )
{
return mList->selectItemRange(first, last);
}
+
+
+static LLDefaultChildRegistry::Register<LLIconsComboBox> register_icons_combo_box("icons_combo_box");
+
+LLIconsComboBox::Params::Params()
+: icon_column("icon_column", ICON_COLUMN),
+ label_column("label_column", LABEL_COLUMN)
+{}
+
+LLIconsComboBox::LLIconsComboBox(const LLIconsComboBox::Params& p)
+: LLComboBox(p),
+ mIconColumnIndex(p.icon_column),
+ mLabelColumnIndex(p.label_column)
+{}
+
+void LLIconsComboBox::setValue(const LLSD& value)
+{
+ BOOL found = mList->selectByValue(value);
+ if (found)
+ {
+ LLScrollListItem* item = mList->getFirstSelected();
+ if (item)
+ {
+ mButton->setImageOverlay(mList->getSelectedItemLabel(mIconColumnIndex), mButton->getImageOverlayHAlign());
+
+ setLabel(mList->getSelectedItemLabel(mLabelColumnIndex));
+ }
+ mLastSelectedIndex = mList->getFirstSelectedIndex();
+ }
+}
diff --git a/indra/llui/llcombobox.h b/indra/llui/llcombobox.h
index 58e29dcb30..7cac4cc738 100644
--- a/indra/llui/llcombobox.h
+++ b/indra/llui/llcombobox.h
@@ -218,6 +218,7 @@ protected:
LLPointer<LLUIImage> mArrowImage;
LLUIString mLabel;
BOOL mHasAutocompletedText;
+ S32 mLastSelectedIndex;
private:
BOOL mAllowTextEntry;
@@ -227,6 +228,37 @@ private:
commit_callback_t mPrearrangeCallback;
commit_callback_t mTextEntryCallback;
commit_callback_t mSelectionCallback;
- S32 mLastSelectedIndex;
+ boost::signals2::connection mTopLostSignalConnection;
+};
+
+// A combo box with icons for the list of items.
+class LLIconsComboBox
+: public LLComboBox
+{
+public:
+ struct Params
+ : public LLInitParam::Block<Params, LLComboBox::Params>
+ {
+ Optional<S32> icon_column,
+ label_column;
+ Params();
+ };
+
+ /*virtual*/ void setValue(const LLSD& value);
+
+private:
+ enum EColumnIndex
+ {
+ ICON_COLUMN = 0,
+ LABEL_COLUMN
+ };
+
+ friend class LLUICtrlFactory;
+ LLIconsComboBox(const Params&);
+ virtual ~LLIconsComboBox() {};
+
+ S32 mIconColumnIndex;
+ S32 mLabelColumnIndex;
};
+
#endif
diff --git a/indra/llui/llconsole.cpp b/indra/llui/llconsole.cpp
index a4f69e7ac1..badbddc3cc 100644
--- a/indra/llui/llconsole.cpp
+++ b/indra/llui/llconsole.cpp
@@ -300,7 +300,8 @@ void LLConsole::Paragraph::updateLines(F32 screen_width, const LLFontGL* font, b
S32 paragraph_offset = 0; //Offset into the paragraph text.
// Wrap lines that are longer than the view is wide.
- while( paragraph_offset < (S32)mParagraphText.length() )
+ while( paragraph_offset < (S32)mParagraphText.length() &&
+ mParagraphText[paragraph_offset] != 0)
{
S32 skip_chars; // skip '\n'
// Figure out if a word-wrapped line fits here.
diff --git a/indra/llui/lldockablefloater.cpp b/indra/llui/lldockablefloater.cpp
index 0492ab0f25..3d8670fef2 100644
--- a/indra/llui/lldockablefloater.cpp
+++ b/indra/llui/lldockablefloater.cpp
@@ -202,10 +202,6 @@ void LLDockableFloater::setDocked(bool docked, bool pop_on_undock)
translate(0, UNDOCK_LEAP_HEIGHT);
}
}
- else
- {
- docked = false;
- }
LLFloater::setDocked(docked, pop_on_undock);
}
@@ -223,10 +219,10 @@ void LLDockableFloater::draw()
LLFloater::draw();
}
-void LLDockableFloater::setDockControl(LLDockControl* dockControl, bool docked /* = true */)
+void LLDockableFloater::setDockControl(LLDockControl* dockControl)
{
mDockControl.reset(dockControl);
- setDocked(docked && mDockControl.get() != NULL && mDockControl.get()->isDockVisible());
+ setDocked(isDocked());
}
const LLUIImagePtr& LLDockableFloater::getDockTongue()
diff --git a/indra/llui/lldockablefloater.h b/indra/llui/lldockablefloater.h
index 4d747390af..2b1ce99ae2 100644
--- a/indra/llui/lldockablefloater.h
+++ b/indra/llui/lldockablefloater.h
@@ -127,7 +127,7 @@ private:
void resetInstance();
protected:
- void setDockControl(LLDockControl* dockControl, bool docked = true);
+ void setDockControl(LLDockControl* dockControl);
const LLUIImagePtr& getDockTongue();
private:
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index f3cd112b9a..4cb336f7ea 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -527,10 +527,7 @@ void LLFloater::setVisible( BOOL visible )
if( !visible )
{
- if( gFocusMgr.childIsTopCtrl( this ) )
- {
- gFocusMgr.setTopCtrl(NULL);
- }
+ LLUI::removePopup(this);
if( gFocusMgr.childHasMouseCapture( this ) )
{
@@ -704,10 +701,7 @@ void LLFloater::reshape(S32 width, S32 height, BOOL called_from_parent)
void LLFloater::releaseFocus()
{
- if( gFocusMgr.childIsTopCtrl( this ) )
- {
- gFocusMgr.setTopCtrl(NULL);
- }
+ LLUI::removePopup(this);
setFocus(FALSE);
@@ -1360,7 +1354,7 @@ void LLFloater::bringToFront( S32 x, S32 y )
// virtual
void LLFloater::setVisibleAndFrontmost(BOOL take_focus)
{
- gFocusMgr.setTopCtrl(NULL);
+ LLUI::clearPopups();
setVisible(TRUE);
setFrontmost(take_focus);
}
@@ -1554,7 +1548,12 @@ void LLFloater::onClickClose( LLFloater* self )
{
if (!self)
return;
- self->closeFloater(false);
+ self->onClickCloseBtn();
+}
+
+void LLFloater::onClickCloseBtn()
+{
+ closeFloater(false);
}
@@ -1565,43 +1564,34 @@ void LLFloater::draw()
// draw background
if( isBackgroundVisible() )
{
+ drawShadow(this);
+
S32 left = LLPANEL_BORDER_WIDTH;
S32 top = getRect().getHeight() - LLPANEL_BORDER_WIDTH;
S32 right = getRect().getWidth() - LLPANEL_BORDER_WIDTH;
S32 bottom = LLPANEL_BORDER_WIDTH;
- static LLUICachedControl<S32> shadow_offset_S32 ("DropShadowFloater", 0);
- static LLUIColor shadow_color_cached = LLUIColorTable::instance().getColor("ColorDropShadow");
- LLColor4 shadow_color = shadow_color_cached;
- F32 shadow_offset = (F32)shadow_offset_S32;
-
- if (!isBackgroundOpaque())
- {
- shadow_offset *= 0.2f;
- shadow_color.mV[VALPHA] *= 0.5f;
- }
- gl_drop_shadow(left, top, right, bottom,
- shadow_color % alpha,
- llround(shadow_offset));
-
LLUIImage* image = NULL;
LLColor4 color;
+ LLColor4 overlay_color;
if (isBackgroundOpaque())
{
// NOTE: image may not be set
image = getBackgroundImage();
color = getBackgroundColor();
+ overlay_color = getBackgroundImageOverlay();
}
else
{
image = getTransparentImage();
color = getTransparentColor();
+ overlay_color = getTransparentImageOverlay();
}
if (image)
{
// We're using images for this floater's backgrounds
- image->draw(getLocalRect(), UI_VERTEX_COLOR % alpha);
+ image->draw(getLocalRect(), overlay_color % alpha);
}
else
{
@@ -1666,6 +1656,29 @@ void LLFloater::draw()
}
}
+void LLFloater::drawShadow(LLPanel* panel)
+{
+ F32 alpha = panel->getDrawContext().mAlpha;
+ S32 left = LLPANEL_BORDER_WIDTH;
+ S32 top = panel->getRect().getHeight() - LLPANEL_BORDER_WIDTH;
+ S32 right = panel->getRect().getWidth() - LLPANEL_BORDER_WIDTH;
+ S32 bottom = LLPANEL_BORDER_WIDTH;
+
+ static LLUICachedControl<S32> shadow_offset_S32 ("DropShadowFloater", 0);
+ static LLUIColor shadow_color_cached = LLUIColorTable::instance().getColor("ColorDropShadow");
+ LLColor4 shadow_color = shadow_color_cached;
+ F32 shadow_offset = (F32)shadow_offset_S32;
+
+ if (!panel->isBackgroundOpaque())
+ {
+ shadow_offset *= 0.2f;
+ shadow_color.mV[VALPHA] *= 0.5f;
+ }
+ gl_drop_shadow(left, top, right, bottom,
+ shadow_color % alpha,
+ llround(shadow_offset));
+}
+
void LLFloater::setCanMinimize(BOOL can_minimize)
{
// if removing minimize/restore button programmatically,
@@ -2489,10 +2502,7 @@ void LLFloaterView::syncFloaterTabOrder()
if (modal_dialog)
{
// If we have a visible modal dialog, make sure that it has focus
- if( gFocusMgr.getTopCtrl() != modal_dialog )
- {
- gFocusMgr.setTopCtrl( modal_dialog );
- }
+ LLUI::addPopup(modal_dialog);
if( !gFocusMgr.childHasKeyboardFocus( modal_dialog ) )
{
diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h
index 2166d8db8a..c1e8813f87 100644
--- a/indra/llui/llfloater.h
+++ b/indra/llui/llfloater.h
@@ -222,6 +222,7 @@ public:
virtual BOOL handleScrollWheel(S32 x, S32 y, S32 mask);
virtual void draw();
+ virtual void drawShadow(LLPanel* panel);
virtual void onOpen(const LLSD& key) {}
virtual void onClose(bool app_quitting) {}
@@ -306,6 +307,8 @@ protected:
void destroy() { die(); } // Don't call this directly. You probably want to call closeFloater()
+ virtual void onClickCloseBtn();
+
private:
void setForeground(BOOL b); // called only by floaterview
void cleanupHandles(); // remove handles to dead floaters
@@ -345,6 +348,7 @@ protected:
LLResizeBar* mResizeBar[4];
LLResizeHandle* mResizeHandle[4];
+ LLButton* mButtons[BUTTON_COUNT];
private:
LLRect mExpandedRect;
@@ -378,7 +382,6 @@ private:
handle_set_t mDependents;
bool mButtonsEnabled[BUTTON_COUNT];
- LLButton* mButtons[BUTTON_COUNT];
F32 mButtonScale;
BOOL mAutoFocus;
LLHandle<LLFloater> mSnappedTo;
diff --git a/indra/llui/llfocusmgr.cpp b/indra/llui/llfocusmgr.cpp
index 35fbc7b0a8..b3af258456 100644
--- a/indra/llui/llfocusmgr.cpp
+++ b/indra/llui/llfocusmgr.cpp
@@ -38,8 +38,6 @@
const F32 FOCUS_FADE_TIME = 0.3f;
-// NOTE: the LLFocusableElement implementation has been moved here from lluictrl.cpp.
-
LLFocusableElement::LLFocusableElement()
: mFocusLostCallback(NULL),
mFocusReceivedCallback(NULL),
@@ -124,8 +122,7 @@ boost::signals2::connection LLFocusableElement::setTopLostCallback(const focus_s
LLFocusMgr gFocusMgr;
LLFocusMgr::LLFocusMgr()
- :
- mLockedView( NULL ),
+: mLockedView( NULL ),
mMouseCaptor( NULL ),
mKeyboardFocus( NULL ),
mLastKeyboardFocus( NULL ),
@@ -133,16 +130,11 @@ LLFocusMgr::LLFocusMgr()
mKeystrokesOnly(FALSE),
mTopCtrl( NULL ),
mAppHasFocus(TRUE) // Macs don't seem to notify us that we've gotten focus, so default to true
- #ifdef _DEBUG
- , mMouseCaptorName("none")
- , mKeyboardFocusName("none")
- , mTopCtrlName("none")
- #endif
{
}
-void LLFocusMgr::releaseFocusIfNeeded( const LLView* view )
+void LLFocusMgr::releaseFocusIfNeeded( LLView* view )
{
if( childHasMouseCapture( view ) )
{
@@ -162,10 +154,7 @@ void LLFocusMgr::releaseFocusIfNeeded( const LLView* view )
}
}
- if( childIsTopCtrl( view ) )
- {
- setTopCtrl( NULL );
- }
+ LLUI::removePopup(view);
}
@@ -248,11 +237,6 @@ void LLFocusMgr::setKeyboardFocus(LLFocusableElement* new_focus, BOOL lock, BOOL
return;
}
- #ifdef _DEBUG
- LLUICtrl* focus_ctrl = dynamic_cast<LLUICtrl*>(new_focus);
- mKeyboardFocusName = focus_ctrl ? focus_ctrl->getName() : std::string("none");
- #endif
-
// If we've got a default keyboard focus, and the caller is
// releasing keyboard focus, move to the default.
if (mDefaultKeyboardFocus != NULL && mKeyboardFocus == NULL)
@@ -334,20 +318,12 @@ void LLFocusMgr::removeKeyboardFocusWithoutCallback( const LLFocusableElement* f
if( mKeyboardFocus == focus )
{
mKeyboardFocus = NULL;
- #ifdef _DEBUG
- mKeyboardFocusName = std::string("none");
- #endif
}
}
void LLFocusMgr::setMouseCapture( LLMouseHandler* new_captor )
{
- //if (mFocusLocked)
- //{
- // return;
- //}
-
if( new_captor != mMouseCaptor )
{
LLMouseHandler* old_captor = mMouseCaptor;
@@ -370,24 +346,14 @@ void LLFocusMgr::setMouseCapture( LLMouseHandler* new_captor )
old_captor->onMouseCaptureLost();
}
- #ifdef _DEBUG
- mMouseCaptorName = new_captor ? new_captor->getName() : std::string("none");
- #endif
}
}
void LLFocusMgr::removeMouseCaptureWithoutCallback( const LLMouseHandler* captor )
{
- //if (mFocusLocked)
- //{
- // return;
- //}
if( mMouseCaptor == captor )
{
mMouseCaptor = NULL;
- #ifdef _DEBUG
- mMouseCaptorName = std::string("none");
- #endif
}
}
@@ -416,10 +382,6 @@ void LLFocusMgr::setTopCtrl( LLUICtrl* new_top )
{
mTopCtrl = new_top;
- #ifdef _DEBUG
- mTopCtrlName = new_top ? new_top->getName() : std::string("none");
- #endif
-
if (old_top)
{
old_top->onTopLost();
@@ -432,9 +394,6 @@ void LLFocusMgr::removeTopCtrlWithoutCallback( const LLUICtrl* top_view )
if( mTopCtrl == top_view )
{
mTopCtrl = NULL;
- #ifdef _DEBUG
- mTopCtrlName = std::string("none");
- #endif
}
}
@@ -478,9 +437,9 @@ void LLFocusMgr::setAppHasFocus(BOOL focus)
}
// release focus from "top ctrl"s, which generally hides them
- if (!focus && mTopCtrl)
+ if (!focus)
{
- setTopCtrl(NULL);
+ LLUI::clearPopups();
}
mAppHasFocus = focus;
}
diff --git a/indra/llui/llfocusmgr.h b/indra/llui/llfocusmgr.h
index 83ecd1d301..86d3ccf111 100644
--- a/indra/llui/llfocusmgr.h
+++ b/indra/llui/llfocusmgr.h
@@ -65,10 +65,10 @@ public:
virtual BOOL handleKey(KEY key, MASK mask, BOOL called_from_parent);
virtual BOOL handleUnicodeChar(llwchar uni_char, BOOL called_from_parent);
+ virtual void onTopLost(); // called when registered as top ctrl and user clicks elsewhere
protected:
virtual void onFocusReceived();
virtual void onFocusLost();
- virtual void onTopLost(); // called when registered as top ctrl and user clicks elsewhere
focus_signal_t* mFocusLostCallback;
focus_signal_t* mFocusReceivedCallback;
focus_signal_t* mFocusChangedCallback;
@@ -119,7 +119,7 @@ public:
BOOL childIsTopCtrl( const LLView* parent ) const;
// All Three
- void releaseFocusIfNeeded( const LLView* top_view );
+ void releaseFocusIfNeeded( LLView* top_view );
void lockFocus();
void unlockFocus();
BOOL focusLocked() const { return mLockedView != NULL; }
@@ -149,12 +149,6 @@ private:
typedef std::map<LLHandle<LLView>, LLHandle<LLView> > focus_history_map_t;
focus_history_map_t mFocusHistory;
-
- #ifdef _DEBUG
- std::string mMouseCaptorName;
- std::string mKeyboardFocusName;
- std::string mTopCtrlName;
- #endif
};
extern LLFocusMgr gFocusMgr;
diff --git a/indra/llui/llhandle.h b/indra/llui/llhandle.h
index 899f6b9326..8ade327044 100644
--- a/indra/llui/llhandle.h
+++ b/indra/llui/llhandle.h
@@ -67,6 +67,13 @@ public:
return *this;
}
+ template<typename Subclass>
+ LLHandle<T>& operator =(const LLHandle<Subclass>& other)
+ {
+ mTombStone = other.mTombStone;
+ return *this;
+ }
+
bool isDead() const
{
return mTombStone->getTarget() == NULL;
diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp
index dc79550eb4..4512091371 100644
--- a/indra/llui/lllayoutstack.cpp
+++ b/indra/llui/lllayoutstack.cpp
@@ -49,9 +49,11 @@ static LLDefaultChildRegistry::Register<LLLayoutStack> register_layout_stack("la
//
struct LLLayoutStack::LayoutPanel
{
- LayoutPanel(LLPanel* panelp, ELayoutOrientation orientation, S32 min_width, S32 min_height, BOOL auto_resize, BOOL user_resize) : mPanel(panelp),
+ LayoutPanel(LLPanel* panelp, ELayoutOrientation orientation, S32 min_width, S32 min_height, S32 max_width, S32 max_height, BOOL auto_resize, BOOL user_resize) : mPanel(panelp),
mMinWidth(min_width),
mMinHeight(min_height),
+ mMaxWidth(max_width),
+ mMaxHeight(max_height),
mAutoResize(auto_resize),
mUserResize(user_resize),
mOrientation(orientation),
@@ -112,6 +114,11 @@ struct LLLayoutStack::LayoutPanel
LLPanel* mPanel;
S32 mMinWidth;
S32 mMinHeight;
+
+ // mMaxWidth & mMaxHeight are added to make configurable max width of the nearby chat bar. EXT-5589
+ // they are not processed by LLLayoutStack but they can be if necessary
+ S32 mMaxWidth;
+ S32 mMaxHeight;
BOOL mAutoResize;
BOOL mUserResize;
BOOL mCollapsed;
@@ -261,10 +268,14 @@ LLView* LLLayoutStack::fromXML(LLXMLNodePtr node, LLView *parent, LLXMLNodePtr o
{
const S32 DEFAULT_MIN_WIDTH = 0;
const S32 DEFAULT_MIN_HEIGHT = 0;
+ const S32 DEFAULT_MAX_WIDTH = S32_MAX;
+ const S32 DEFAULT_MAX_HEIGHT = S32_MAX;
const BOOL DEFAULT_AUTO_RESIZE = TRUE;
S32 min_width = DEFAULT_MIN_WIDTH;
S32 min_height = DEFAULT_MIN_HEIGHT;
+ S32 max_width = DEFAULT_MAX_WIDTH;
+ S32 max_height = DEFAULT_MAX_HEIGHT;
BOOL auto_resize = DEFAULT_AUTO_RESIZE;
LLXMLNodePtr output_child;
@@ -281,6 +292,10 @@ LLView* LLLayoutStack::fromXML(LLXMLNodePtr node, LLView *parent, LLXMLNodePtr o
DEFAULT_MIN_WIDTH, output_child);
get_attribute_s32_and_write(child_node, "min_height", &min_height,
DEFAULT_MIN_HEIGHT, output_child);
+ get_attribute_s32_and_write(child_node, "max_width", &max_width,
+ DEFAULT_MAX_WIDTH, output_child);
+ get_attribute_s32_and_write(child_node, "max_height", &max_height,
+ DEFAULT_MAX_HEIGHT, output_child);
get_attribute_bool_and_write(child_node, "auto_resize", &auto_resize,
DEFAULT_AUTO_RESIZE, output_child);
@@ -293,7 +308,7 @@ LLView* LLLayoutStack::fromXML(LLXMLNodePtr node, LLView *parent, LLXMLNodePtr o
if (panelp)
{
panelp->setFollowsNone();
- layout_stackp->addPanel(panelp, min_width, min_height, auto_resize, user_resize);
+ layout_stackp->addPanel(panelp, min_width, min_height, max_width, max_height, auto_resize, user_resize);
}
}
else
@@ -309,7 +324,7 @@ LLView* LLLayoutStack::fromXML(LLXMLNodePtr node, LLView *parent, LLXMLNodePtr o
if (new_child)
{
// put child in new embedded panel
- layout_stackp->addPanel(panelp, min_width, min_height, auto_resize, user_resize);
+ layout_stackp->addPanel(panelp, min_width, min_height, max_width, max_height, auto_resize, user_resize);
// resize panel to contain widget and move widget to be contained in panel
panelp->setRect(new_child->getRect());
new_child->setOrigin(0, 0);
@@ -359,14 +374,14 @@ S32 LLLayoutStack::getDefaultWidth(S32 cur_width)
return cur_width;
}
-void LLLayoutStack::addPanel(LLPanel* panel, S32 min_width, S32 min_height, BOOL auto_resize, BOOL user_resize, EAnimate animate, S32 index)
+void LLLayoutStack::addPanel(LLPanel* panel, S32 min_width, S32 min_height, S32 max_width, S32 max_height, BOOL auto_resize, BOOL user_resize, EAnimate animate, S32 index)
{
// panel starts off invisible (collapsed)
if (animate == ANIMATE)
{
panel->setVisible(FALSE);
}
- LayoutPanel* embedded_panel = new LayoutPanel(panel, mOrientation, min_width, min_height, auto_resize, user_resize);
+ LayoutPanel* embedded_panel = new LayoutPanel(panel, mOrientation, min_width, min_height, max_width, max_height, auto_resize, user_resize);
mPanels.insert(mPanels.begin() + llclamp(index, 0, (S32)mPanels.size()), embedded_panel);
@@ -437,6 +452,19 @@ bool LLLayoutStack::getPanelMinSize(const std::string& panel_name, S32* min_widt
return NULL != panel;
}
+bool LLLayoutStack::getPanelMaxSize(const std::string& panel_name, S32* max_widthp, S32* max_heightp)
+{
+ LayoutPanel* panel = findEmbeddedPanelByName(panel_name);
+
+ if (panel)
+ {
+ if (max_widthp) *max_widthp = panel->mMaxWidth;
+ if (max_heightp) *max_heightp = panel->mMaxHeight;
+ }
+
+ return NULL != panel;
+}
+
static LLFastTimer::DeclareTimer FTM_UPDATE_LAYOUT("Update LayoutStacks");
void LLLayoutStack::updateLayout(BOOL force_resize)
{
diff --git a/indra/llui/lllayoutstack.h b/indra/llui/lllayoutstack.h
index c4f10038f8..e454454fe2 100644
--- a/indra/llui/lllayoutstack.h
+++ b/indra/llui/lllayoutstack.h
@@ -74,7 +74,7 @@ public:
ANIMATE
} EAnimate;
- void addPanel(LLPanel* panel, S32 min_width, S32 min_height, BOOL auto_resize, BOOL user_resize, EAnimate animate = NO_ANIMATE, S32 index = S32_MAX);
+ void addPanel(LLPanel* panel, S32 min_width, S32 min_height, S32 max_width, S32 max_height, BOOL auto_resize, BOOL user_resize, EAnimate animate = NO_ANIMATE, S32 index = S32_MAX);
void removePanel(LLPanel* panel);
void collapsePanel(LLPanel* panel, BOOL collapsed = TRUE);
S32 getNumPanels() { return mPanels.size(); }
@@ -89,6 +89,14 @@ public:
* @returns true if specified by panel_name internal panel exists, false otherwise.
*/
bool getPanelMinSize(const std::string& panel_name, S32* min_widthp, S32* min_heightp);
+
+ /**
+ * Gets maximal width and/or height of the specified by name panel.
+ *
+ * If it is necessary to get only the one dimension pass NULL for another one.
+ * @returns true if specified by panel_name internal panel exists, false otherwise.
+ */
+ bool getPanelMaxSize(const std::string& panel_name, S32* max_width, S32* max_height);
void updateLayout(BOOL force_resize = FALSE);
diff --git a/indra/llui/llmodaldialog.cpp b/indra/llui/llmodaldialog.cpp
index 387af05935..6cff68c20b 100644
--- a/indra/llui/llmodaldialog.cpp
+++ b/indra/llui/llmodaldialog.cpp
@@ -111,7 +111,7 @@ void LLModalDialog::onOpen(const LLSD& key)
// This is a modal dialog. It sucks up all mouse and keyboard operations.
gFocusMgr.setMouseCapture( this );
- gFocusMgr.setTopCtrl( this );
+ LLUI::addPopup(this);
setFocus(TRUE);
sModalStack.push_front( this );
@@ -153,7 +153,7 @@ void LLModalDialog::setVisible( BOOL visible )
gFocusMgr.setMouseCapture( this );
// The dialog view is a root view
- gFocusMgr.setTopCtrl( this );
+ LLUI::addPopup(this);
setFocus( TRUE );
}
else
@@ -291,7 +291,7 @@ void LLModalDialog::onAppFocusGained()
// This is a modal dialog. It sucks up all mouse and keyboard operations.
gFocusMgr.setMouseCapture( instance );
instance->setFocus(TRUE);
- gFocusMgr.setTopCtrl( instance );
+ LLUI::addPopup(instance);
instance->centerOnScreen();
}
diff --git a/indra/llui/llpanel.cpp b/indra/llui/llpanel.cpp
index d963cf4c98..0cd052eefa 100644
--- a/indra/llui/llpanel.cpp
+++ b/indra/llui/llpanel.cpp
@@ -80,6 +80,8 @@ LLPanel::Params::Params()
background_opaque("background_opaque", false),
bg_opaque_color("bg_opaque_color"),
bg_alpha_color("bg_alpha_color"),
+ bg_opaque_image_overlay("bg_opaque_image_overlay"),
+ bg_alpha_image_overlay("bg_alpha_image_overlay"),
bg_opaque_image("bg_opaque_image"),
bg_alpha_image("bg_alpha_image"),
min_width("min_width", 100),
@@ -103,6 +105,8 @@ LLPanel::LLPanel(const LLPanel::Params& p)
mBgOpaque(p.background_opaque),
mBgOpaqueColor(p.bg_opaque_color()),
mBgAlphaColor(p.bg_alpha_color()),
+ mBgOpaqueImageOverlay(p.bg_opaque_image_overlay),
+ mBgAlphaImageOverlay(p.bg_alpha_image_overlay),
mBgOpaqueImage(p.bg_opaque_image()),
mBgAlphaImage(p.bg_alpha_image()),
mDefaultBtn(NULL),
@@ -199,7 +203,7 @@ void LLPanel::draw()
// opaque, in-front look
if (mBgOpaqueImage.notNull())
{
- mBgOpaqueImage->draw( local_rect, UI_VERTEX_COLOR % alpha );
+ mBgOpaqueImage->draw( local_rect, mBgOpaqueImageOverlay % alpha );
}
else
{
@@ -212,7 +216,7 @@ void LLPanel::draw()
// transparent, in-back look
if (mBgAlphaImage.notNull())
{
- mBgAlphaImage->draw( local_rect, UI_VERTEX_COLOR % alpha );
+ mBgAlphaImage->draw( local_rect, mBgAlphaImageOverlay % alpha );
}
else
{
@@ -481,6 +485,8 @@ void LLPanel::initFromParams(const LLPanel::Params& p)
setTransparentColor(p.bg_alpha_color().get());
mBgOpaqueImage = p.bg_opaque_image();
mBgAlphaImage = p.bg_alpha_image();
+ mBgOpaqueImageOverlay = p.bg_opaque_image_overlay;
+ mBgAlphaImageOverlay = p.bg_alpha_image_overlay;
}
static LLFastTimer::DeclareTimer FTM_PANEL_SETUP("Panel Setup");
diff --git a/indra/llui/llpanel.h b/indra/llui/llpanel.h
index 4e53fd7ea3..03e3dc0c0e 100644
--- a/indra/llui/llpanel.h
+++ b/indra/llui/llpanel.h
@@ -77,7 +77,9 @@ public:
background_opaque;
Optional<LLUIColor> bg_opaque_color,
- bg_alpha_color;
+ bg_alpha_color,
+ bg_opaque_image_overlay,
+ bg_alpha_image_overlay;
// opaque image is for "panel in foreground" look
Optional<LLUIImage*> bg_opaque_image,
bg_alpha_image;
@@ -137,6 +139,8 @@ public:
const LLColor4& getTransparentColor() const { return mBgAlphaColor; }
LLPointer<LLUIImage> getBackgroundImage() const { return mBgOpaqueImage; }
LLPointer<LLUIImage> getTransparentImage() const { return mBgAlphaImage; }
+ LLColor4 getBackgroundImageOverlay() { return mBgOpaqueImageOverlay; }
+ LLColor4 getTransparentImageOverlay() { return mBgAlphaImageOverlay; }
void setBackgroundVisible( BOOL b ) { mBgVisible = b; }
BOOL isBackgroundVisible() const { return mBgVisible; }
void setBackgroundOpaque(BOOL b) { mBgOpaque = b; }
@@ -262,6 +266,8 @@ private:
BOOL mBgOpaque; // use opaque color or image
LLUIColor mBgOpaqueColor;
LLUIColor mBgAlphaColor;
+ LLUIColor mBgOpaqueImageOverlay;
+ LLUIColor mBgAlphaImageOverlay;
LLPointer<LLUIImage> mBgOpaqueImage; // "panel in front" look
LLPointer<LLUIImage> mBgAlphaImage; // "panel in back" look
LLViewBorder* mBorder;
diff --git a/indra/llui/llscrolllistcell.cpp b/indra/llui/llscrolllistcell.cpp
index 3cc92baa8d..d17be8b94a 100644
--- a/indra/llui/llscrolllistcell.cpp
+++ b/indra/llui/llscrolllistcell.cpp
@@ -185,6 +185,8 @@ LLScrollListText::LLScrollListText(const LLScrollListCell::Params& p)
{
sCount++;
+ mTextWidth = getWidth();
+
// initialize rounded rect image
if (!mRoundedRectImage)
{
@@ -340,7 +342,7 @@ void LLScrollListText::draw(const LLColor4& color, const LLColor4& highlight_col
0,
LLFontGL::NO_SHADOW,
string_chars,
- getWidth(),
+ getTextWidth(),
&right_x,
TRUE);
}
diff --git a/indra/llui/llscrolllistcell.h b/indra/llui/llscrolllistcell.h
index 5fecf5aade..b1c8901fc4 100644
--- a/indra/llui/llscrolllistcell.h
+++ b/indra/llui/llscrolllistcell.h
@@ -151,11 +151,16 @@ public:
/*virtual*/ const std::string & getToolTip() const;
/*virtual*/ BOOL needsToolTip() const;
+ S32 getTextWidth() const { return mTextWidth;}
+ void setTextWidth(S32 value) { mTextWidth = value;}
+ virtual void setWidth(S32 width) { LLScrollListCell::setWidth(width); mTextWidth = width; }
+
void setText(const LLStringExplicit& text);
void setFontStyle(const U8 font_style);
private:
LLUIString mText;
+ S32 mTextWidth;
const LLFontGL* mFont;
LLColor4 mColor;
U8 mUseColor;
diff --git a/indra/llui/llscrolllistctrl.cpp b/indra/llui/llscrolllistctrl.cpp
index ac4811210b..18ec5b51dd 100644
--- a/indra/llui/llscrolllistctrl.cpp
+++ b/indra/llui/llscrolllistctrl.cpp
@@ -71,8 +71,9 @@ static LLDefaultChildRegistry::Register<LLScrollListCtrl> r("scroll_list");
// local structures & classes.
struct SortScrollListItem
{
- SortScrollListItem(const std::vector<std::pair<S32, BOOL> >& sort_orders)
+ SortScrollListItem(const std::vector<std::pair<S32, BOOL> >& sort_orders,const LLScrollListCtrl::sort_signal_t* sort_signal)
: mSortOrders(sort_orders)
+ , mSortSignal(sort_signal)
{}
bool operator()(const LLScrollListItem* i1, const LLScrollListItem* i2)
@@ -85,12 +86,20 @@ struct SortScrollListItem
S32 col_idx = it->first;
BOOL sort_ascending = it->second;
+ S32 order = sort_ascending ? 1 : -1; // ascending or descending sort for this column?
+
const LLScrollListCell *cell1 = i1->getColumn(col_idx);
const LLScrollListCell *cell2 = i2->getColumn(col_idx);
- S32 order = sort_ascending ? 1 : -1; // ascending or descending sort for this column?
if (cell1 && cell2)
{
- sort_result = order * LLStringUtil::compareDict(cell1->getValue().asString(), cell2->getValue().asString());
+ if(mSortSignal)
+ {
+ sort_result = order * (*mSortSignal)(col_idx,i1, i2);
+ }
+ else
+ {
+ sort_result = order * LLStringUtil::compareDict(cell1->getValue().asString(), cell2->getValue().asString());
+ }
if (sort_result != 0)
{
break; // we have a sort order!
@@ -100,8 +109,10 @@ struct SortScrollListItem
return sort_result < 0;
}
+
typedef std::vector<std::pair<S32, BOOL> > sort_order_t;
+ const LLScrollListCtrl::sort_signal_t* mSortSignal;
const sort_order_t& mSortOrders;
};
@@ -169,6 +180,7 @@ LLScrollListCtrl::LLScrollListCtrl(const LLScrollListCtrl::Params& p)
mOnSortChangedCallback( NULL ),
mHighlightedItem(-1),
mBorder(NULL),
+ mSortCallback(NULL),
mPopupMenu(NULL),
mNumDynamicWidthColumns(0),
mTotalStaticColumnWidth(0),
@@ -309,6 +321,8 @@ bool LLScrollListCtrl::preProcessChildNode(LLXMLNodePtr child)
LLScrollListCtrl::~LLScrollListCtrl()
{
+ delete mSortCallback;
+
std::for_each(mItemList.begin(), mItemList.end(), DeletePointer());
if( gEditMenuHandler == this )
@@ -540,7 +554,7 @@ BOOL LLScrollListCtrl::addItem( LLScrollListItem* item, EAddPosition pos, BOOL r
std::stable_sort(
mItemList.begin(),
mItemList.end(),
- SortScrollListItem(single_sort_column));
+ SortScrollListItem(single_sort_column,mSortCallback));
// ADD_SORTED just sorts by first column...
// this might not match user sort criteria, so flag list as being in unsorted state
@@ -616,7 +630,9 @@ void LLScrollListCtrl::calcColumnWidths()
LLScrollListCell* cellp = (*iter)->getColumn(column->mIndex);
if (!cellp) continue;
- column->mMaxContentWidth = llmax(LLFontGL::getFontSansSerifSmall()->getWidth(cellp->getValue().asString()) + mColumnPadding + COLUMN_TEXT_PADDING, column->mMaxContentWidth);
+ // get text value width only for text cells
+ column->mMaxContentWidth = cellp->isText() ?
+ llmax(LLFontGL::getFontSansSerifSmall()->getWidth(cellp->getValue().asString()) + mColumnPadding + COLUMN_TEXT_PADDING, column->mMaxContentWidth) : column->mMaxContentWidth;
}
max_item_width += column->mMaxContentWidth;
@@ -2395,7 +2411,7 @@ void LLScrollListCtrl::updateSort() const
std::stable_sort(
mItemList.begin(),
mItemList.end(),
- SortScrollListItem(mSortColumns));
+ SortScrollListItem(mSortColumns,mSortCallback));
mSorted = true;
}
@@ -2411,7 +2427,7 @@ void LLScrollListCtrl::sortOnce(S32 column, BOOL ascending)
std::stable_sort(
mItemList.begin(),
mItemList.end(),
- SortScrollListItem(sort_column));
+ SortScrollListItem(sort_column,mSortCallback));
}
void LLScrollListCtrl::dirtyColumns()
diff --git a/indra/llui/llscrolllistctrl.h b/indra/llui/llscrolllistctrl.h
index d2d2379328..ebdc82115f 100644
--- a/indra/llui/llscrolllistctrl.h
+++ b/indra/llui/llscrolllistctrl.h
@@ -73,6 +73,30 @@ public:
// *TODO: Add callbacks to Params
typedef boost::function<void (void)> callback_t;
+
+ template<typename T> struct maximum
+ {
+ typedef T result_type;
+
+ template<typename InputIterator>
+ T operator()(InputIterator first, InputIterator last) const
+ {
+ // If there are no slots to call, just return the
+ // default-constructed value
+ if(first == last ) return T();
+ T max_value = *first++;
+ while (first != last) {
+ if (max_value < *first)
+ max_value = *first;
+ ++first;
+ }
+
+ return max_value;
+ }
+ };
+
+
+ typedef boost::signals2::signal<S32 (S32,const LLScrollListItem*,const LLScrollListItem*),maximum<S32> > sort_signal_t;
struct Params : public LLInitParam::Block<Params, LLUICtrl::Params>
{
@@ -195,7 +219,10 @@ public:
void deselectAllItems(BOOL no_commit_on_change = FALSE); // by default, go ahead and commit on selection change
void clearHighlightedItems();
- void mouseOverHighlightNthItem( S32 index );
+
+ virtual void mouseOverHighlightNthItem( S32 index );
+
+ S32 getHighlightedItemInx() const { return mHighlightedItem; }
void setDoubleClickCallback( callback_t cb ) { mOnDoubleClickCallback = cb; }
void setMaximumSelectCallback( callback_t cb) { mOnMaximumSelectCallback = cb; }
@@ -362,6 +389,13 @@ public:
void setNeedsSort(bool val = true) { mSorted = !val; }
void dirtyColumns(); // some operation has potentially affected column layout or ordering
+ boost::signals2::connection setSortCallback(sort_signal_t::slot_type cb )
+ {
+ if (!mSortCallback) mSortCallback = new sort_signal_t();
+ return mSortCallback->connect(cb);
+ }
+
+
protected:
// "Full" interface: use this when you're creating a list that has one or more of the following:
// * contains icons
@@ -474,6 +508,8 @@ private:
typedef std::pair<S32, BOOL> sort_column_t;
std::vector<sort_column_t> mSortColumns;
+
+ sort_signal_t* mSortCallback;
}; // end class LLScrollListCtrl
#endif // LL_SCROLLLISTCTRL_H
diff --git a/indra/llui/llsearcheditor.cpp b/indra/llui/llsearcheditor.cpp
index 8075575bab..ec2ad5e5fa 100644
--- a/indra/llui/llsearcheditor.cpp
+++ b/indra/llui/llsearcheditor.cpp
@@ -44,17 +44,28 @@ LLSearchEditor::LLSearchEditor(const LLSearchEditor::Params& p)
S32 srch_btn_top = p.search_button.top_pad + p.search_button.rect.height;
S32 srch_btn_right = p.search_button.rect.width + p.search_button.left_pad;
LLRect srch_btn_rect(p.search_button.left_pad, srch_btn_top, srch_btn_right, p.search_button.top_pad);
+
+ S32 clr_btn_top = p.clear_button.rect.bottom + p.clear_button.rect.height;
+ S32 clr_btn_right = getRect().getWidth() - p.clear_button.pad_right;
+ S32 clr_btn_left = clr_btn_right - p.clear_button.rect.width;
+ LLRect clear_btn_rect(clr_btn_left, clr_btn_top, clr_btn_right, p.clear_button.rect.bottom);
+
S32 text_pad_left = p.text_pad_left;
+ S32 text_pad_right = p.text_pad_right;
if (p.search_button_visible)
text_pad_left += srch_btn_rect.getWidth();
+ if (p.clear_button_visible)
+ text_pad_right = getRect().getWidth() - clr_btn_left + p.clear_button.pad_left;
+
// Set up line editor.
LLLineEditor::Params line_editor_params(p);
line_editor_params.name("filter edit box");
line_editor_params.rect(getLocalRect());
line_editor_params.follows.flags(FOLLOWS_ALL);
line_editor_params.text_pad_left(text_pad_left);
+ line_editor_params.text_pad_right(text_pad_right);
line_editor_params.revert_on_esc(false);
line_editor_params.commit_callback.function(boost::bind(&LLUICtrl::onCommit, this));
line_editor_params.keystroke_callback(boost::bind(&LLSearchEditor::handleKeystroke, this));
@@ -82,10 +93,6 @@ LLSearchEditor::LLSearchEditor(const LLSearchEditor::Params& p)
// Set up clear button.
LLButton::Params clr_btn_params(p.clear_button);
clr_btn_params.name(std::string("clear button"));
- S32 clr_btn_top = clr_btn_params.rect.bottom + clr_btn_params.rect.height;
- S32 clr_btn_right = getRect().getWidth() - clr_btn_params.pad_right;
- S32 clr_btn_left = clr_btn_right - clr_btn_params.rect.width;
- LLRect clear_btn_rect(clr_btn_left, clr_btn_top, clr_btn_right, p.clear_button.rect.bottom);
clr_btn_params.rect(clear_btn_rect) ;
clr_btn_params.follows.flags(FOLLOWS_RIGHT|FOLLOWS_TOP);
clr_btn_params.tab_stop(false);
diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp
index 07e4cc22e0..30fc7babae 100644
--- a/indra/llui/lltabcontainer.cpp
+++ b/indra/llui/lltabcontainer.cpp
@@ -172,6 +172,10 @@ public:
}
}
+ LLIconCtrl* getIconCtrl() const
+ {
+ return mIcon;
+ }
private:
LLIconCtrl* mIcon;
@@ -493,15 +497,15 @@ void LLTabContainer::draw()
if( mIsVertical && has_scroll_arrows )
{
// Redraw the arrows so that they appears on top.
- gGL.pushMatrix();
- gGL.translatef((F32)mPrevArrowBtn->getRect().mLeft, (F32)mPrevArrowBtn->getRect().mBottom, 0.f);
+ gGL.pushUIMatrix();
+ gGL.translateUI((F32)mPrevArrowBtn->getRect().mLeft, (F32)mPrevArrowBtn->getRect().mBottom, 0.f);
mPrevArrowBtn->draw();
- gGL.popMatrix();
+ gGL.popUIMatrix();
- gGL.pushMatrix();
- gGL.translatef((F32)mNextArrowBtn->getRect().mLeft, (F32)mNextArrowBtn->getRect().mBottom, 0.f);
+ gGL.pushUIMatrix();
+ gGL.translateUI((F32)mNextArrowBtn->getRect().mLeft, (F32)mNextArrowBtn->getRect().mBottom, 0.f);
mNextArrowBtn->draw();
- gGL.popMatrix();
+ gGL.popUIMatrix();
}
}
@@ -951,7 +955,7 @@ void LLTabContainer::addTabPanel(const TabPanelParams& panel)
LLRect tab_panel_rect;
if (!getTabsHidden() && mIsVertical)
{
- tab_panel_rect = LLRect(mMinTabWidth + (LLPANEL_BORDER_WIDTH * 2) + tabcntrv_pad,
+ tab_panel_rect = LLRect(mMinTabWidth + mRightTabBtnOffset + (LLPANEL_BORDER_WIDTH * 2) + tabcntrv_pad,
getRect().getHeight() - LLPANEL_BORDER_WIDTH,
getRect().getWidth() - LLPANEL_BORDER_WIDTH,
LLPANEL_BORDER_WIDTH);
@@ -1629,6 +1633,7 @@ void LLTabContainer::setTabImage(LLPanel* child, LLIconCtrl* icon)
if(button)
{
button->setIcon(icon);
+ reshapeTuple(tuple);
}
}
}
@@ -1639,12 +1644,22 @@ void LLTabContainer::reshapeTuple(LLTabTuple* tuple)
if (!mIsVertical)
{
+ S32 image_overlay_width = 0;
+
+ if(mCustomIconCtrlUsed)
+ {
+ LLCustomButtonIconCtrl* button = dynamic_cast<LLCustomButtonIconCtrl*>(tuple->mButton);
+ LLIconCtrl* icon_ctrl = button ? button->getIconCtrl() : NULL;
+ image_overlay_width = icon_ctrl ? icon_ctrl->getRect().getWidth() : 0;
+ }
+ else
+ {
+ image_overlay_width = tuple->mButton->getImageOverlay().notNull() ?
+ tuple->mButton->getImageOverlay()->getImage()->getWidth(0) : 0;
+ }
// remove current width from total tab strip width
mTotalTabWidth -= tuple->mButton->getRect().getWidth();
- S32 image_overlay_width = tuple->mButton->getImageOverlay().notNull() ?
- tuple->mButton->getImageOverlay()->getImage()->getWidth(0) : 0;
-
tuple->mPadding = image_overlay_width;
tuple->mButton->reshape(llclamp(mFont->getWidth(tuple->mButton->getLabelSelected()) + tab_padding + tuple->mPadding, mMinTabWidth, mMaxTabWidth),
diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp
index caf04339c2..5121ef5351 100644
--- a/indra/llui/llui.cpp
+++ b/indra/llui/llui.cpp
@@ -39,6 +39,7 @@
// Linden library includes
#include "v2math.h"
+#include "m3math.h"
#include "v4color.h"
#include "llrender.h"
#include "llrect.h"
@@ -85,6 +86,9 @@ std::list<std::string> gUntranslated;
/*static*/ LLHelp* LLUI::sHelpImpl = NULL;
/*static*/ std::vector<std::string> LLUI::sXUIPaths;
/*static*/ LLFrameTimer LLUI::sMouseIdleTimer;
+/*static*/ LLUI::add_popup_t LLUI::sAddPopupFunc;
+/*static*/ LLUI::remove_popup_t LLUI::sRemovePopupFunc;
+/*static*/ LLUI::clear_popups_t LLUI::sClearPopupsFunc;
// register filtereditor here
static LLDefaultChildRegistry::Register<LLFilterEditor> register_filter_editor("filter_editor");
@@ -180,19 +184,19 @@ void gl_rect_2d_offset_local( S32 left, S32 top, S32 right, S32 bottom, const LL
void gl_rect_2d_offset_local( S32 left, S32 top, S32 right, S32 bottom, S32 pixel_offset, BOOL filled)
{
- gGL.pushMatrix();
+ gGL.pushUIMatrix();
left += LLFontGL::sCurOrigin.mX;
right += LLFontGL::sCurOrigin.mX;
bottom += LLFontGL::sCurOrigin.mY;
top += LLFontGL::sCurOrigin.mY;
- glLoadIdentity();
+ gGL.loadUIIdentity();
gl_rect_2d(llfloor((F32)left * LLUI::sGLScaleFactor.mV[VX]) - pixel_offset,
llfloor((F32)top * LLUI::sGLScaleFactor.mV[VY]) + pixel_offset,
llfloor((F32)right * LLUI::sGLScaleFactor.mV[VX]) + pixel_offset,
llfloor((F32)bottom * LLUI::sGLScaleFactor.mV[VY]) - pixel_offset,
filled);
- gGL.popMatrix();
+ gGL.popUIMatrix();
}
@@ -508,9 +512,9 @@ void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 width, S32 height, LLTex
gGL.getTexUnit(0)->setTextureAlphaBlend(LLTexUnit::TBO_MULT, LLTexUnit::TBS_TEX_ALPHA, LLTexUnit::TBS_VERT_ALPHA);
}
- gGL.pushMatrix();
+ gGL.pushUIMatrix();
{
- gGL.translatef((F32)x, (F32)y, 0.f);
+ gGL.translateUI((F32)x, (F32)y, 0.f);
gGL.getTexUnit(0)->bind(image);
@@ -637,7 +641,7 @@ void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 width, S32 height, LLTex
}
gGL.end();
}
- gGL.popMatrix();
+ gGL.popUIMatrix();
if (solid_color)
{
@@ -660,39 +664,72 @@ void gl_draw_scaled_rotated_image(S32 x, S32 y, S32 width, S32 height, F32 degre
LLGLSUIDefault gls_ui;
- gGL.pushMatrix();
+
+ gGL.getTexUnit(0)->bind(image);
+
+ gGL.color4fv(color.mV);
+
+ if (degrees == 0.f)
{
- gGL.translatef((F32)x, (F32)y, 0.f);
- if( degrees )
+ gGL.pushUIMatrix();
+ gGL.translateUI((F32)x, (F32)y, 0.f);
+
+ gGL.begin(LLRender::QUADS);
{
- F32 offset_x = F32(width/2);
- F32 offset_y = F32(height/2);
- gGL.translatef( offset_x, offset_y, 0.f);
- glRotatef( degrees, 0.f, 0.f, 1.f );
- gGL.translatef( -offset_x, -offset_y, 0.f );
+ gGL.texCoord2f(uv_rect.mRight, uv_rect.mTop);
+ gGL.vertex2i(width, height );
+
+ gGL.texCoord2f(uv_rect.mLeft, uv_rect.mTop);
+ gGL.vertex2i(0, height );
+
+ gGL.texCoord2f(uv_rect.mLeft, uv_rect.mBottom);
+ gGL.vertex2i(0, 0);
+
+ gGL.texCoord2f(uv_rect.mRight, uv_rect.mBottom);
+ gGL.vertex2i(width, 0);
}
+ gGL.end();
+ gGL.popUIMatrix();
+ }
+ else
+ {
+ gGL.pushUIMatrix();
+ gGL.translateUI((F32)x, (F32)y, 0.f);
+
+ F32 offset_x = F32(width/2);
+ F32 offset_y = F32(height/2);
+
+ gGL.translateUI(offset_x, offset_y, 0.f);
+ LLMatrix3 quat(0.f, 0.f, degrees*DEG_TO_RAD);
+
gGL.getTexUnit(0)->bind(image);
gGL.color4fv(color.mV);
gGL.begin(LLRender::QUADS);
{
+ LLVector3 v;
+
+ v = LLVector3(offset_x, offset_y, 0.f) * quat;
gGL.texCoord2f(uv_rect.mRight, uv_rect.mTop);
- gGL.vertex2i(width, height );
+ gGL.vertex2f(v.mV[0], v.mV[1] );
+ v = LLVector3(-offset_x, offset_y, 0.f) * quat;
gGL.texCoord2f(uv_rect.mLeft, uv_rect.mTop);
- gGL.vertex2i(0, height );
+ gGL.vertex2f(v.mV[0], v.mV[1] );
+ v = LLVector3(-offset_x, -offset_y, 0.f) * quat;
gGL.texCoord2f(uv_rect.mLeft, uv_rect.mBottom);
- gGL.vertex2i(0, 0);
+ gGL.vertex2f(v.mV[0], v.mV[1] );
+ v = LLVector3(offset_x, -offset_y, 0.f) * quat;
gGL.texCoord2f(uv_rect.mRight, uv_rect.mBottom);
- gGL.vertex2i(width, 0);
+ gGL.vertex2f(v.mV[0], v.mV[1] );
}
gGL.end();
+ gGL.popUIMatrix();
}
- gGL.popMatrix();
}
@@ -747,9 +784,9 @@ void gl_arc_2d(F32 center_x, F32 center_y, F32 radius, S32 steps, BOOL filled, F
end_angle += F_TWO_PI;
}
- gGL.pushMatrix();
+ gGL.pushUIMatrix();
{
- gGL.translatef(center_x, center_y, 0.f);
+ gGL.translateUI(center_x, center_y, 0.f);
// Inexact, but reasonably fast.
F32 delta = (end_angle - start_angle) / steps;
@@ -780,15 +817,15 @@ void gl_arc_2d(F32 center_x, F32 center_y, F32 radius, S32 steps, BOOL filled, F
}
gGL.end();
}
- gGL.popMatrix();
+ gGL.popUIMatrix();
}
void gl_circle_2d(F32 center_x, F32 center_y, F32 radius, S32 steps, BOOL filled)
{
- gGL.pushMatrix();
+ gGL.pushUIMatrix();
{
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
- gGL.translatef(center_x, center_y, 0.f);
+ gGL.translateUI(center_x, center_y, 0.f);
// Inexact, but reasonably fast.
F32 delta = F_TWO_PI / steps;
@@ -819,7 +856,7 @@ void gl_circle_2d(F32 center_x, F32 center_y, F32 radius, S32 steps, BOOL filled
}
gGL.end();
}
- gGL.popMatrix();
+ gGL.popUIMatrix();
}
// Renders a ring with sides (tube shape)
@@ -846,9 +883,9 @@ void gl_deep_circle( F32 radius, F32 depth, S32 steps )
void gl_ring( F32 radius, F32 width, const LLColor4& center_color, const LLColor4& side_color, S32 steps, BOOL render_center )
{
- gGL.pushMatrix();
+ gGL.pushUIMatrix();
{
- gGL.translatef(0.f, 0.f, -width / 2);
+ gGL.translateUI(0.f, 0.f, -width / 2);
if( render_center )
{
gGL.color4fv(center_color.mV);
@@ -857,11 +894,11 @@ void gl_ring( F32 radius, F32 width, const LLColor4& center_color, const LLColor
else
{
gl_washer_2d(radius, radius - width, steps, side_color, side_color);
- gGL.translatef(0.f, 0.f, width);
+ gGL.translateUI(0.f, 0.f, width);
gl_washer_2d(radius - width, radius, steps, side_color, side_color);
}
}
- gGL.popMatrix();
+ gGL.popUIMatrix();
}
// Draw gray and white checkerboard with black border
@@ -1050,9 +1087,9 @@ void gl_segmented_rect_2d_tex(const S32 left,
S32 width = llabs(right - left);
S32 height = llabs(top - bottom);
- gGL.pushMatrix();
+ gGL.pushUIMatrix();
- gGL.translatef((F32)left, (F32)bottom, 0.f);
+ gGL.translateUI((F32)left, (F32)bottom, 0.f);
LLVector2 border_uv_scale((F32)border_size / (F32)texture_width, (F32)border_size / (F32)texture_height);
if (border_uv_scale.mV[VX] > 0.5f)
@@ -1193,7 +1230,7 @@ void gl_segmented_rect_2d_tex(const S32 left,
}
gGL.end();
- gGL.popMatrix();
+ gGL.popUIMatrix();
}
void gl_segmented_rect_2d_fragment_tex(const S32 left,
@@ -1210,9 +1247,9 @@ void gl_segmented_rect_2d_fragment_tex(const S32 left,
S32 width = llabs(right - left);
S32 height = llabs(top - bottom);
- gGL.pushMatrix();
+ gGL.pushUIMatrix();
- gGL.translatef((F32)left, (F32)bottom, 0.f);
+ gGL.translateUI((F32)left, (F32)bottom, 0.f);
LLVector2 border_uv_scale((F32)border_size / (F32)texture_width, (F32)border_size / (F32)texture_height);
if (border_uv_scale.mV[VX] > 0.5f)
@@ -1383,7 +1420,7 @@ void gl_segmented_rect_2d_fragment_tex(const S32 left,
}
gGL.end();
- gGL.popMatrix();
+ gGL.popUIMatrix();
}
void gl_segmented_rect_3d_tex(const LLVector2& border_scale, const LLVector3& border_width,
@@ -1573,6 +1610,13 @@ void LLUI::cleanupClass()
sImageProvider->cleanUp();
}
+void LLUI::setPopupFuncs(const add_popup_t& add_popup, const remove_popup_t& remove_popup, const clear_popups_t& clear_popups)
+{
+ sAddPopupFunc = add_popup;
+ sRemovePopupFunc = remove_popup;
+ sClearPopupsFunc = clear_popups;
+}
+
//static
void LLUI::dirtyRect(LLRect rect)
{
@@ -1591,7 +1635,7 @@ void LLUI::dirtyRect(LLRect rect)
//static
void LLUI::translate(F32 x, F32 y, F32 z)
{
- gGL.translatef(x,y,z);
+ gGL.translateUI(x,y,z);
LLFontGL::sCurOrigin.mX += (S32) x;
LLFontGL::sCurOrigin.mY += (S32) y;
LLFontGL::sCurOrigin.mZ += z;
@@ -1600,14 +1644,14 @@ void LLUI::translate(F32 x, F32 y, F32 z)
//static
void LLUI::pushMatrix()
{
- gGL.pushMatrix();
+ gGL.pushUIMatrix();
LLFontGL::sOriginStack.push_back(LLFontGL::sCurOrigin);
}
//static
void LLUI::popMatrix()
{
- gGL.popMatrix();
+ gGL.popUIMatrix();
LLFontGL::sCurOrigin = *LLFontGL::sOriginStack.rbegin();
LLFontGL::sOriginStack.pop_back();
}
@@ -1615,7 +1659,7 @@ void LLUI::popMatrix()
//static
void LLUI::loadIdentity()
{
- glLoadIdentity();
+ gGL.loadUIIdentity();
LLFontGL::sCurOrigin.mX = 0;
LLFontGL::sCurOrigin.mY = 0;
LLFontGL::sCurOrigin.mZ = 0;
@@ -1843,6 +1887,34 @@ LLControlGroup& LLUI::getControlControlGroup (const std::string& controlname)
return *sSettingGroups["config"]; // default group
}
+//static
+void LLUI::addPopup(LLView* viewp)
+{
+ if (sAddPopupFunc)
+ {
+ sAddPopupFunc(viewp);
+ }
+}
+
+//static
+void LLUI::removePopup(LLView* viewp)
+{
+ if (sRemovePopupFunc)
+ {
+ sRemovePopupFunc(viewp);
+ }
+}
+
+//static
+void LLUI::clearPopups()
+{
+ if (sClearPopupsFunc)
+ {
+ sClearPopupsFunc();
+ }
+}
+
+
//static
// spawn_x and spawn_y are top left corner of view in screen GL coordinates
void LLUI::positionViewNearMouse(LLView* view, S32 spawn_x, S32 spawn_y)
@@ -1943,6 +2015,7 @@ namespace LLInitParam
{
setBlockFromValue();
addSynonym(name, "");
+ setBlockFromValue();
}
void TypedParam<const LLFontGL*>::setValueFromBlock() const
diff --git a/indra/llui/llui.h b/indra/llui/llui.h
index af8d4ea03b..30f3623ded 100644
--- a/indra/llui/llui.h
+++ b/indra/llui/llui.h
@@ -160,12 +160,17 @@ public:
// Methods
//
typedef std::map<std::string, LLControlGroup*> settings_map_t;
+ typedef boost::function<void(LLView*)> add_popup_t;
+ typedef boost::function<void(LLView*)> remove_popup_t;
+ typedef boost::function<void(void)> clear_popups_t;
+
static void initClass(const settings_map_t& settings,
LLImageProviderInterface* image_provider,
LLUIAudioCallback audio_callback = NULL,
const LLVector2 *scale_factor = NULL,
const std::string& language = LLStringUtil::null);
static void cleanupClass();
+ static void setPopupFuncs(const add_popup_t& add_popup, const remove_popup_t&, const clear_popups_t& );
static void pushMatrix();
static void popMatrix();
@@ -208,6 +213,10 @@ public:
static void resetMouseIdleTimer() { sMouseIdleTimer.reset(); }
static LLWindow* getWindow() { return sWindow; }
+ static void addPopup(LLView*);
+ static void removePopup(LLView*);
+ static void clearPopups();
+
// Ensures view does not overlap mouse cursor, but is inside
// the view's parent rectangle. Used for tooltips, inspectors.
// Optionally override the view's default X/Y, which are relative to the
@@ -227,6 +236,9 @@ private:
static LLImageProviderInterface* sImageProvider;
static std::vector<std::string> sXUIPaths;
static LLFrameTimer sMouseIdleTimer;
+ static add_popup_t sAddPopupFunc;
+ static remove_popup_t sRemovePopupFunc;
+ static clear_popups_t sClearPopupsFunc;
};
diff --git a/indra/llui/llurlentry.cpp b/indra/llui/llurlentry.cpp
index 5a2956311e..ff6454c141 100644
--- a/indra/llui/llurlentry.cpp
+++ b/indra/llui/llurlentry.cpp
@@ -34,6 +34,8 @@
#include "linden_common.h"
#include "llurlentry.h"
#include "lluri.h"
+#include "llurlmatch.h"
+#include "llurlregistry.h"
#include "llavatarnamecache.h"
#include "llcachename.h"
@@ -241,7 +243,7 @@ std::string LLUrlEntryHTTPNoProtocol::getUrl(const std::string &string) const
LLUrlEntrySLURL::LLUrlEntrySLURL()
{
// see http://slurl.com/about.php for details on the SLURL format
- mPattern = boost::regex("http://(maps.secondlife.com|slurl.com)/secondlife/\\S+/?(\\d+)?/?(\\d+)?/?(\\d+)?/?\\S*",
+ mPattern = boost::regex("http://(maps.secondlife.com|slurl.com)/secondlife/[^ /]+(/\\d+){0,3}(/?(\\?title|\\?img|\\?msg)=\\S*)?/?",
boost::regex::perl|boost::regex::icase);
mMenuName = "menu_url_slurl.xml";
mTooltip = LLTrans::getString("TooltipSLURL");
@@ -317,6 +319,7 @@ LLUrlEntryAgent::LLUrlEntryAgent()
boost::regex::perl|boost::regex::icase);
mMenuName = "menu_url_agent.xml";
mIcon = "Generic_Person";
+ mTooltip = LLTrans::getString("TooltipAgentUrl");
mColor = LLUIColorTable::instance().getColor("AgentLinkColor");
}
@@ -665,6 +668,20 @@ std::string LLUrlEntrySLLabel::getUrl(const std::string &string) const
return getUrlFromWikiLink(string);
}
+std::string LLUrlEntrySLLabel::getTooltip(const std::string &string) const
+{
+ // return a tooltip corresponding to the URL type instead of the generic one (EXT-4574)
+ std::string url = getUrl(string);
+ LLUrlMatch match;
+ if (LLUrlRegistry::instance().findUrl(url, match))
+ {
+ return match.getTooltip();
+ }
+
+ // unrecognized URL? should not happen
+ return LLUrlEntryBase::getTooltip(string);
+}
+
//
// LLUrlEntryWorldMap Describes secondlife:///<location> URLs
//
diff --git a/indra/llui/llurlentry.h b/indra/llui/llurlentry.h
index c075ccc30e..c2cbe4d4c8 100644
--- a/indra/llui/llurlentry.h
+++ b/indra/llui/llurlentry.h
@@ -86,7 +86,7 @@ public:
LLUIColor getColor() const { return mColor; }
/// Given a matched Url, return a tooltip string for the hyperlink
- std::string getTooltip() const { return mTooltip; }
+ virtual std::string getTooltip(const std::string &string) const { return mTooltip; }
/// Return the name of a XUI file containing the context menu items
std::string getMenuName() const { return mMenuName; }
@@ -260,6 +260,7 @@ public:
LLUrlEntrySLLabel();
/*virtual*/ std::string getLabel(const std::string &url, const LLUrlLabelCallback &cb);
/*virtual*/ std::string getUrl(const std::string &string) const;
+ /*virtual*/ std::string getTooltip(const std::string &string) const;
};
///
diff --git a/indra/llui/llurlregistry.cpp b/indra/llui/llurlregistry.cpp
index 1ee87a01de..3fadf3dd11 100644
--- a/indra/llui/llurlregistry.cpp
+++ b/indra/llui/llurlregistry.cpp
@@ -83,7 +83,7 @@ void LLUrlRegistry::registerUrl(LLUrlEntryBase *url, bool force_front)
if (force_front) // IDEVO
mUrlEntry.insert(mUrlEntry.begin(), url);
else
- mUrlEntry.push_back(url);
+ mUrlEntry.push_back(url);
}
}
@@ -179,7 +179,7 @@ bool LLUrlRegistry::findUrl(const std::string &text, LLUrlMatch &match, const LL
match.setValues(match_start, match_end,
match_entry->getUrl(url),
match_entry->getLabel(url, cb),
- match_entry->getTooltip(),
+ match_entry->getTooltip(url),
match_entry->getIcon(url),
match_entry->getColor(),
match_entry->getMenuName(),
diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp
index 63e627ceb5..d34083a384 100644
--- a/indra/llui/llview.cpp
+++ b/indra/llui/llview.cpp
@@ -73,9 +73,9 @@ S32 LLView::sLastBottomXML = S32_MIN;
std::vector<LLViewDrawContext*> LLViewDrawContext::sDrawContextStack;
-#if LL_DEBUG
+//#if LL_DEBUG
BOOL LLView::sIsDrawing = FALSE;
-#endif
+//#endif
// Compiler optimization, generate extern template
template class LLView* LLView::getChild<class LLView>(
@@ -150,6 +150,10 @@ LLView::~LLView()
{
dirtyRect();
//llinfos << "Deleting view " << mName << ":" << (void*) this << llendl;
+ if (LLView::sIsDrawing)
+ {
+ llwarns << "Deleting view " << mName << " during UI draw() phase" << llendl;
+ }
// llassert(LLView::sIsDrawing == FALSE);
// llassert_always(sDepth == 0); // avoid deleting views while drawing! It can subtly break list iterators
@@ -592,11 +596,6 @@ void LLView::setVisible(BOOL visible)
{
if ( mVisible != visible )
{
- if( !visible && (gFocusMgr.getTopCtrl() == this) )
- {
- gFocusMgr.setTopCtrl( NULL );
- }
-
mVisible = visible;
// notify children of visibility change if root, or part of visible hierarchy
diff --git a/indra/llui/llview.h b/indra/llui/llview.h
index c4d7313743..efae00f0e5 100644
--- a/indra/llui/llview.h
+++ b/indra/llui/llview.h
@@ -171,9 +171,9 @@ private:
// widgets in general are not copyable
LLView(const LLView& other) {};
public:
-#if LL_DEBUG
+//#if LL_DEBUG
static BOOL sIsDrawing;
-#endif
+//#endif
enum ESoundFlags
{
SILENT = 0,
diff --git a/indra/llui/llviewborder.cpp b/indra/llui/llviewborder.cpp
index 30717f87de..bd9c43c97f 100644
--- a/indra/llui/llviewborder.cpp
+++ b/indra/llui/llviewborder.cpp
@@ -125,14 +125,6 @@ void LLViewBorder::draw()
llassert( FALSE ); // not implemented
}
}
- else
- if( STYLE_TEXTURE == mStyle )
- {
- if( mTexture )
- {
- drawTextures();
- }
- }
LLView::draw();
}
@@ -255,56 +247,6 @@ void LLViewBorder::drawTwoPixelLines()
gl_line_2d(left+1, bottom+1, right-1, bottom+1);
}
-void LLViewBorder::drawTextures()
-{
- //LLGLSUIDefault gls_ui;
-
- //llassert( FALSE ); // TODO: finish implementing
-
- //gGL.color4fv(UI_VERTEX_COLOR.mV);
-
- //gGL.getTexUnit(0)->bind(mTexture);
- //gGL.getTexUnit(0)->setTextureAddressMode(LLTexUnit::TAM_WRAP);
-
- //drawTextureTrapezoid( 0.f, mBorderWidth, getRect().getWidth(), 0, 0 );
- //drawTextureTrapezoid( 90.f, mBorderWidth, getRect().getHeight(), (F32)getRect().getWidth(),0 );
- //drawTextureTrapezoid( 180.f, mBorderWidth, getRect().getWidth(), (F32)getRect().getWidth(),(F32)getRect().getHeight() );
- //drawTextureTrapezoid( 270.f, mBorderWidth, getRect().getHeight(), 0, (F32)getRect().getHeight() );
-}
-
-
-void LLViewBorder::drawTextureTrapezoid( F32 degrees, S32 width, S32 length, F32 start_x, F32 start_y )
-{
- gGL.pushMatrix();
- {
- gGL.translatef(start_x, start_y, 0.f);
- glRotatef( degrees, 0, 0, 1 );
-
- gGL.begin(LLRender::QUADS);
- {
- // width, width /---------\ length-width, width //
- // / \ //
- // / \ //
- // /---------------\ //
- // 0,0 length, 0 //
-
- gGL.texCoord2f( 0, 0 );
- gGL.vertex2i( 0, 0 );
-
- gGL.texCoord2f( (GLfloat)length, 0 );
- gGL.vertex2i( length, 0 );
-
- gGL.texCoord2f( (GLfloat)(length - width), (GLfloat)width );
- gGL.vertex2i( length - width, width );
-
- gGL.texCoord2f( (GLfloat)width, (GLfloat)width );
- gGL.vertex2i( width, width );
- }
- gGL.end();
- }
- gGL.popMatrix();
-}
-
BOOL LLViewBorder::getBevelFromAttribute(LLXMLNodePtr node, LLViewBorder::EBevel& bevel_style)
{
if (node->hasAttribute("bevel_style"))
diff --git a/indra/llui/llviewborder.h b/indra/llui/llviewborder.h
index 92fd569325..342e84fd93 100644
--- a/indra/llui/llviewborder.h
+++ b/indra/llui/llviewborder.h
@@ -99,8 +99,7 @@ private:
void drawOnePixelLines();
void drawTwoPixelLines();
void drawTextures();
- void drawTextureTrapezoid( F32 degrees, S32 width, S32 length, F32 start_x, F32 start_y );
-
+
EBevel mBevel;
EStyle mStyle;
LLUIColor mHighlightLight;
diff --git a/indra/llvfs/lldir.cpp b/indra/llvfs/lldir.cpp
index a560ab267e..da4abde451 100644
--- a/indra/llvfs/lldir.cpp
+++ b/indra/llvfs/lldir.cpp
@@ -644,7 +644,7 @@ void LLDir::setSkinFolder(const std::string &skin_folder)
// e.g. c:\program files\secondlife\skins\default
mDefaultSkinDir = getSkinBaseDir();
mDefaultSkinDir += mDirDelimiter;
- mDefaultSkinDir += "base";
+ mDefaultSkinDir += "default";
}
bool LLDir::setCacheDir(const std::string &path)
diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp
index 7cd06c9c37..1f705f9e60 100644
--- a/indra/llwindow/llwindowsdl.cpp
+++ b/indra/llwindow/llwindowsdl.cpp
@@ -1597,12 +1597,83 @@ U32 LLWindowSDL::SDLCheckGrabbyKeys(SDLKey keysym, BOOL gain)
return mGrabbyKeyFlags;
}
+
+void check_vm_bloat()
+{
+#if LL_LINUX
+ // watch our own VM and RSS sizes, warn if we bloated rapidly
+ FILE *fp = fopen("/proc/self/stat", "r");
+ if (fp)
+ {
+ static long long last_vm_size = 0;
+ static long long last_rss_size = 0;
+ const long long significant_vm_difference = 250 * 1024*1024;
+ const long long significant_rss_difference = 50 * 1024*1024;
+
+ ssize_t res;
+ size_t dummy;
+ char *ptr;
+ for (int i=0; i<22; ++i) // parse past the values we don't want
+ {
+ ptr = NULL;
+ res = getdelim(&ptr, &dummy, ' ', fp);
+ free(ptr);
+ }
+ // 23rd space-delimited entry is vsize
+ ptr = NULL;
+ res = getdelim(&ptr, &dummy, ' ', fp);
+ llassert(ptr);
+ long long this_vm_size = atoll(ptr);
+ free(ptr);
+ // 24th space-delimited entry is RSS
+ ptr = NULL;
+ res = getdelim(&ptr, &dummy, ' ', fp);
+ llassert(ptr);
+ long long this_rss_size = getpagesize() * atoll(ptr);
+ free(ptr);
+
+ llinfos << "VM SIZE IS NOW " << (this_vm_size/(1024*1024)) << " MB, RSS SIZE IS NOW " << (this_rss_size/(1024*1024)) << " MB" << llendl;
+
+ if (llabs(last_vm_size - this_vm_size) >
+ significant_vm_difference)
+ {
+ if (this_vm_size > last_vm_size)
+ {
+ llwarns << "VM size grew by " << (this_vm_size - last_vm_size)/(1024*1024) << " MB in last frame" << llendl;
+ }
+ else
+ {
+ llinfos << "VM size shrank by " << (last_vm_size - this_vm_size)/(1024*1024) << " MB in last frame" << llendl;
+ }
+ }
+
+ if (llabs(last_rss_size - this_rss_size) >
+ significant_rss_difference)
+ {
+ if (this_rss_size > last_rss_size)
+ {
+ llwarns << "RSS size grew by " << (this_rss_size - last_rss_size)/(1024*1024) << " MB in last frame" << llendl;
+ }
+ else
+ {
+ llinfos << "RSS size shrank by " << (last_rss_size - this_rss_size)/(1024*1024) << " MB in last frame" << llendl;
+ }
+ }
+
+ last_rss_size = this_rss_size;
+ last_vm_size = this_vm_size;
+
+ fclose(fp);
+ }
+#endif // LL_LINUX
+}
+
+
// virtual
void LLWindowSDL::processMiscNativeEvents()
{
#if LL_GTK
// Pump GTK events to avoid starvation for:
- // * Embedded Gecko
// * DBUS servicing
// * Anything else which quietly hooks into the default glib/GTK loop
if (ll_try_gtk_init())
@@ -1628,6 +1699,12 @@ void LLWindowSDL::processMiscNativeEvents()
setlocale(LC_ALL, saved_locale.c_str() );
}
#endif // LL_GTK
+
+ // hack - doesn't belong here - but this is just for debugging
+ if (getenv("LL_DEBUG_BLOAT"))
+ {
+ check_vm_bloat();
+ }
}
void LLWindowSDL::gatherInput()
diff --git a/indra/media_plugins/webkit/CMakeLists.txt b/indra/media_plugins/webkit/CMakeLists.txt
index 4512c22b5d..9f66a77c64 100644
--- a/indra/media_plugins/webkit/CMakeLists.txt
+++ b/indra/media_plugins/webkit/CMakeLists.txt
@@ -14,10 +14,12 @@ include(Linking)
include(PluginAPI)
include(MediaPluginBase)
include(FindOpenGL)
+include(PulseAudio)
include(WebKitLibPlugin)
include_directories(
+ ${PULSEAUDIO_INCLUDE_DIRS}
${LLPLUGIN_INCLUDE_DIRS}
${MEDIA_PLUGIN_BASE_INCLUDE_DIRS}
${LLCOMMON_INCLUDE_DIRS}
@@ -34,25 +36,27 @@ set(media_plugin_webkit_SOURCE_FILES
media_plugin_webkit.cpp
)
-add_library(media_plugin_webkit
- SHARED
- ${media_plugin_webkit_SOURCE_FILES}
-)
-
set(media_plugin_webkit_LINK_LIBRARIES
${LLPLUGIN_LIBRARIES}
${MEDIA_PLUGIN_BASE_LIBRARIES}
${LLCOMMON_LIBRARIES}
${WEBKIT_PLUGIN_LIBRARIES}
${PLUGIN_API_WINDOWS_LIBRARIES}
+ ${PULSEAUDIO_LIBRARIES}
)
if (LINUX)
+ list(APPEND media_plugin_webkit_SOURCE_FILES linux_volume_catcher.cpp)
list(APPEND media_plugin_webkit_LINK_LIBRARIES
${UI_LIBRARIES} # for glib/GTK
)
endif (LINUX)
+add_library(media_plugin_webkit
+ SHARED
+ ${media_plugin_webkit_SOURCE_FILES}
+)
+
target_link_libraries(media_plugin_webkit ${media_plugin_webkit_LINK_LIBRARIES})
add_dependencies(media_plugin_webkit
diff --git a/indra/media_plugins/webkit/linux_volume_catcher.cpp b/indra/media_plugins/webkit/linux_volume_catcher.cpp
new file mode 100644
index 0000000000..52ab766f7f
--- /dev/null
+++ b/indra/media_plugins/webkit/linux_volume_catcher.cpp
@@ -0,0 +1,488 @@
+/**
+ * @file linux_volume_catcher.cpp
+ * @brief A Linux-specific, PulseAudio-specific hack to detect and volume-adjust new audio sources
+ *
+ * @cond
+ * $LicenseInfo:firstyear=2010&license=viewergpl$
+ *
+ * Copyright (c) 2010, Linden Research, Inc.
+ *
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab. Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlife.com/developers/opensource/gplv2
+ *
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at http://secondlife.com/developers/opensource/flossexception
+ *
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ *
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ * @endcond
+ */
+
+/*
+ The high-level design is as follows:
+ 1) Connect to the PulseAudio daemon
+ 2) Watch for the creation of new audio players connecting to the daemon (this includes ALSA clients running on the PulseAudio emulation layer, such as Flash plugins)
+ 3) Examine any new audio player's PID to see if it belongs to our own process
+ 4) If so, tell PA to adjust the volume of that audio player ('sink input' in PA parlance)
+ 5) Keep a list of all living audio players that we care about, adjust the volumes of all of them when we get a new setVolume() call
+ */
+
+#include "linden_common.h"
+
+#include "linux_volume_catcher.h"
+
+
+#if LL_PULSEAUDIO_ENABLED
+
+extern "C" {
+#include <glib.h>
+
+#include <pulse/introspect.h>
+#include <pulse/context.h>
+#include <pulse/subscribe.h>
+#include <pulse/glib-mainloop.h> // There's no special reason why we want the *glib* PA mainloop, but the generic polling implementation seems broken.
+
+#include "apr_pools.h"
+#include "apr_dso.h"
+}
+
+////////////////////////////////////////////////////
+
+#define DEBUGMSG(...) do {} while(0)
+#define INFOMSG(...) do {} while(0)
+#define WARNMSG(...) do {} while(0)
+
+#define LL_PA_SYM(REQUIRED, PASYM, RTN, ...) RTN (*ll##PASYM)(__VA_ARGS__) = NULL
+#include "linux_volume_catcher_pa_syms.inc"
+#include "linux_volume_catcher_paglib_syms.inc"
+#undef LL_PA_SYM
+
+static bool sSymsGrabbed = false;
+static apr_pool_t *sSymPADSOMemoryPool = NULL;
+static apr_dso_handle_t *sSymPADSOHandleG = NULL;
+
+bool grab_pa_syms(std::string pulse_dso_name)
+{
+ if (sSymsGrabbed)
+ {
+ // already have grabbed good syms
+ return true;
+ }
+
+ bool sym_error = false;
+ bool rtn = false;
+ apr_status_t rv;
+ apr_dso_handle_t *sSymPADSOHandle = NULL;
+
+#define LL_PA_SYM(REQUIRED, PASYM, RTN, ...) do{rv = apr_dso_sym((apr_dso_handle_sym_t*)&ll##PASYM, sSymPADSOHandle, #PASYM); if (rv != APR_SUCCESS) {INFOMSG("Failed to grab symbol: %s", #PASYM); if (REQUIRED) sym_error = true;} else DEBUGMSG("grabbed symbol: %s from %p", #PASYM, (void*)ll##PASYM);}while(0)
+
+ //attempt to load the shared library
+ apr_pool_create(&sSymPADSOMemoryPool, NULL);
+
+ if ( APR_SUCCESS == (rv = apr_dso_load(&sSymPADSOHandle,
+ pulse_dso_name.c_str(),
+ sSymPADSOMemoryPool) ))
+ {
+ INFOMSG("Found DSO: %s", pulse_dso_name.c_str());
+
+#include "linux_volume_catcher_pa_syms.inc"
+#include "linux_volume_catcher_paglib_syms.inc"
+
+ if ( sSymPADSOHandle )
+ {
+ sSymPADSOHandleG = sSymPADSOHandle;
+ sSymPADSOHandle = NULL;
+ }
+
+ rtn = !sym_error;
+ }
+ else
+ {
+ INFOMSG("Couldn't load DSO: %s", pulse_dso_name.c_str());
+ rtn = false; // failure
+ }
+
+ if (sym_error)
+ {
+ WARNMSG("Failed to find necessary symbols in PulseAudio libraries.");
+ }
+#undef LL_PA_SYM
+
+ sSymsGrabbed = rtn;
+ return rtn;
+}
+
+
+void ungrab_pa_syms()
+{
+ // should be safe to call regardless of whether we've
+ // actually grabbed syms.
+
+ if ( sSymPADSOHandleG )
+ {
+ apr_dso_unload(sSymPADSOHandleG);
+ sSymPADSOHandleG = NULL;
+ }
+
+ if ( sSymPADSOMemoryPool )
+ {
+ apr_pool_destroy(sSymPADSOMemoryPool);
+ sSymPADSOMemoryPool = NULL;
+ }
+
+ // NULL-out all of the symbols we'd grabbed
+#define LL_PA_SYM(REQUIRED, PASYM, RTN, ...) do{ll##PASYM = NULL;}while(0)
+#include "linux_volume_catcher_pa_syms.inc"
+#include "linux_volume_catcher_paglib_syms.inc"
+#undef LL_PA_SYM
+
+ sSymsGrabbed = false;
+}
+////////////////////////////////////////////////////
+
+// PulseAudio requires a chain of callbacks with C linkage
+extern "C" {
+ void callback_discovered_sinkinput(pa_context *context, const pa_sink_input_info *i, int eol, void *userdata);
+ void callback_subscription_alert(pa_context *context, pa_subscription_event_type_t t, uint32_t index, void *userdata);
+ void callback_context_state(pa_context *context, void *userdata);
+}
+
+
+class LinuxVolumeCatcherImpl
+{
+public:
+ LinuxVolumeCatcherImpl();
+ ~LinuxVolumeCatcherImpl();
+
+ void setVolume(F32 volume);
+ void pump(void);
+
+ // for internal use - can't be private because used from our C callbacks
+
+ bool loadsyms(std::string pulse_dso_name);
+ void init();
+ void cleanup();
+
+ void update_all_volumes(F32 volume);
+ void update_index_volume(U32 index, F32 volume);
+ void connected_okay();
+
+ std::set<U32> mSinkInputIndices;
+ std::map<U32,U32> mSinkInputNumChannels;
+ F32 mDesiredVolume;
+ pa_glib_mainloop *mMainloop;
+ pa_context *mPAContext;
+ bool mConnected;
+ bool mGotSyms;
+};
+
+LinuxVolumeCatcherImpl::LinuxVolumeCatcherImpl()
+ : mDesiredVolume(0.0f),
+ mMainloop(NULL),
+ mPAContext(NULL),
+ mConnected(false),
+ mGotSyms(false)
+{
+ init();
+}
+
+LinuxVolumeCatcherImpl::~LinuxVolumeCatcherImpl()
+{
+ cleanup();
+}
+
+bool LinuxVolumeCatcherImpl::loadsyms(std::string pulse_dso_name)
+{
+ return grab_pa_syms(pulse_dso_name);
+}
+
+void LinuxVolumeCatcherImpl::init()
+{
+ // try to be as defensive as possible because PA's interface is a
+ // bit fragile and (for our purposes) we'd rather simply not function
+ // than crash
+
+ // we cheat and rely upon libpulse-mainloop-glib.so.0 to pull-in
+ // libpulse.so.0 - this isn't a great assumption, and the two DSOs should
+ // probably be loaded separately. Our Linux DSO framework needs refactoring,
+ // we do this sort of thing a lot with practically identical logic...
+ mGotSyms = loadsyms("libpulse-mainloop-glib.so.0");
+ if (!mGotSyms) return;
+
+ mMainloop = llpa_glib_mainloop_new(g_main_context_default());
+ if (mMainloop)
+ {
+ pa_mainloop_api *api = llpa_glib_mainloop_get_api(mMainloop);
+ if (api)
+ {
+ pa_proplist *proplist = llpa_proplist_new();
+ if (proplist)
+ {
+ llpa_proplist_sets(proplist, PA_PROP_APPLICATION_ICON_NAME, "multimedia-player");
+ llpa_proplist_sets(proplist, PA_PROP_APPLICATION_ID, "com.secondlife.viewer.mediaplugvoladjust");
+ llpa_proplist_sets(proplist, PA_PROP_APPLICATION_NAME, "SL Plugin Volume Adjuster");
+ llpa_proplist_sets(proplist, PA_PROP_APPLICATION_VERSION, "1");
+
+ // plain old pa_context_new() is broken!
+ mPAContext = llpa_context_new_with_proplist(api, NULL, proplist);
+ llpa_proplist_free(proplist);
+ }
+ }
+ }
+
+ // Now we've set up a PA context and mainloop, try connecting the
+ // PA context to a PA daemon.
+ if (mPAContext)
+ {
+ llpa_context_set_state_callback(mPAContext, callback_context_state, this);
+ pa_context_flags_t cflags = (pa_context_flags)0; // maybe add PA_CONTEXT_NOAUTOSPAWN?
+ if (llpa_context_connect(mPAContext, NULL, cflags, NULL) >= 0)
+ {
+ // Okay! We haven't definitely connected, but we
+ // haven't definitely failed yet.
+ }
+ else
+ {
+ // Failed to connect to PA manager... we'll leave
+ // things like that. Perhaps we should try again later.
+ }
+ }
+}
+
+void LinuxVolumeCatcherImpl::cleanup()
+{
+ mConnected = false;
+
+ if (mGotSyms && mPAContext)
+ {
+ llpa_context_disconnect(mPAContext);
+ llpa_context_unref(mPAContext);
+ }
+ mPAContext = NULL;
+
+ if (mGotSyms && mMainloop)
+ {
+ llpa_glib_mainloop_free(mMainloop);
+ }
+ mMainloop = NULL;
+}
+
+void LinuxVolumeCatcherImpl::setVolume(F32 volume)
+{
+ mDesiredVolume = volume;
+
+ if (!mGotSyms) return;
+
+ if (mConnected && mPAContext)
+ {
+ update_all_volumes(mDesiredVolume);
+ }
+
+ pump();
+}
+
+void LinuxVolumeCatcherImpl::pump()
+{
+ gboolean may_block = FALSE;
+ g_main_context_iteration(g_main_context_default(), may_block);
+}
+
+void LinuxVolumeCatcherImpl::connected_okay()
+{
+ pa_operation *op;
+
+ // fetch global list of existing sinkinputs
+ if ((op = llpa_context_get_sink_input_info_list(mPAContext,
+ callback_discovered_sinkinput,
+ this)))
+ {
+ llpa_operation_unref(op);
+ }
+
+ // subscribe to future global sinkinput changes
+ llpa_context_set_subscribe_callback(mPAContext,
+ callback_subscription_alert,
+ this);
+ if ((op = llpa_context_subscribe(mPAContext, (pa_subscription_mask_t)
+ (PA_SUBSCRIPTION_MASK_SINK_INPUT),
+ NULL, NULL)))
+ {
+ llpa_operation_unref(op);
+ }
+}
+
+void LinuxVolumeCatcherImpl::update_all_volumes(F32 volume)
+{
+ for (std::set<U32>::iterator it = mSinkInputIndices.begin();
+ it != mSinkInputIndices.end(); ++it)
+ {
+ update_index_volume(*it, volume);
+ }
+}
+
+void LinuxVolumeCatcherImpl::update_index_volume(U32 index, F32 volume)
+{
+ static pa_cvolume cvol;
+ llpa_cvolume_set(&cvol, mSinkInputNumChannels[index],
+ llpa_sw_volume_from_linear(volume));
+
+ pa_context *c = mPAContext;
+ uint32_t idx = index;
+ const pa_cvolume *cvolumep = &cvol;
+ pa_context_success_cb_t cb = NULL; // okay as null
+ void *userdata = NULL; // okay as null
+
+ pa_operation *op;
+ if ((op = llpa_context_set_sink_input_volume(c, idx, cvolumep, cb, userdata)))
+ {
+ llpa_operation_unref(op);
+ }
+}
+
+
+void callback_discovered_sinkinput(pa_context *context, const pa_sink_input_info *sii, int eol, void *userdata)
+{
+ LinuxVolumeCatcherImpl *impl = dynamic_cast<LinuxVolumeCatcherImpl*>((LinuxVolumeCatcherImpl*)userdata);
+ llassert(impl);
+
+ if (0 == eol)
+ {
+ pa_proplist *proplist = sii->proplist;
+ pid_t sinkpid = atoll(llpa_proplist_gets(proplist, PA_PROP_APPLICATION_PROCESS_ID));
+
+ if (sinkpid == getpid()) // does the discovered sinkinput belong to this process?
+ {
+ bool is_new = (impl->mSinkInputIndices.find(sii->index) ==
+ impl->mSinkInputIndices.end());
+
+ impl->mSinkInputIndices.insert(sii->index);
+ impl->mSinkInputNumChannels[sii->index] = sii->channel_map.channels;
+
+ if (is_new)
+ {
+ // new!
+ impl->update_index_volume(sii->index, impl->mDesiredVolume);
+ }
+ else
+ {
+ // seen it already, do nothing.
+ }
+ }
+ }
+}
+
+void callback_subscription_alert(pa_context *context, pa_subscription_event_type_t t, uint32_t index, void *userdata)
+{
+ LinuxVolumeCatcherImpl *impl = dynamic_cast<LinuxVolumeCatcherImpl*>((LinuxVolumeCatcherImpl*)userdata);
+ llassert(impl);
+
+ switch (t & PA_SUBSCRIPTION_EVENT_FACILITY_MASK) {
+ case PA_SUBSCRIPTION_EVENT_SINK_INPUT:
+ if ((t & PA_SUBSCRIPTION_EVENT_TYPE_MASK) ==
+ PA_SUBSCRIPTION_EVENT_REMOVE)
+ {
+ // forget this sinkinput, if we were caring about it
+ impl->mSinkInputIndices.erase(index);
+ impl->mSinkInputNumChannels.erase(index);
+ }
+ else if ((t & PA_SUBSCRIPTION_EVENT_TYPE_MASK) ==
+ PA_SUBSCRIPTION_EVENT_NEW)
+ {
+ // ask for more info about this new sinkinput
+ pa_operation *op;
+ if ((op = llpa_context_get_sink_input_info(impl->mPAContext, index, callback_discovered_sinkinput, impl)))
+ {
+ llpa_operation_unref(op);
+ }
+ }
+ else
+ {
+ // property change on this sinkinput - we don't care.
+ }
+ break;
+
+ default:;
+ }
+}
+
+void callback_context_state(pa_context *context, void *userdata)
+{
+ LinuxVolumeCatcherImpl *impl = dynamic_cast<LinuxVolumeCatcherImpl*>((LinuxVolumeCatcherImpl*)userdata);
+ llassert(impl);
+
+ switch (llpa_context_get_state(context))
+ {
+ case PA_CONTEXT_READY:
+ impl->mConnected = true;
+ impl->connected_okay();
+ break;
+ case PA_CONTEXT_TERMINATED:
+ impl->mConnected = false;
+ break;
+ case PA_CONTEXT_FAILED:
+ impl->mConnected = false;
+ break;
+ default:;
+ }
+}
+
+/////////////////////////////////////////////////////
+
+LinuxVolumeCatcher::LinuxVolumeCatcher()
+{
+ pimpl = new LinuxVolumeCatcherImpl();
+}
+
+LinuxVolumeCatcher::~LinuxVolumeCatcher()
+{
+ delete pimpl;
+ pimpl = NULL;
+}
+
+void LinuxVolumeCatcher::setVolume(F32 volume)
+{
+ llassert(pimpl);
+ pimpl->setVolume(volume);
+}
+
+void LinuxVolumeCatcher::pump()
+{
+ llassert(pimpl);
+ pimpl->pump();
+}
+
+#else // !LL_PULSEAUDIO_ENABLED
+
+// stub.
+
+LinuxVolumeCatcher::LinuxVolumeCatcher()
+{
+ pimpl = NULL;
+}
+
+LinuxVolumeCatcher::~LinuxVolumeCatcher()
+{
+}
+
+void LinuxVolumeCatcher::setVolume(F32 volume)
+{
+}
+
+void LinuxVolumeCatcher::pump()
+{
+}
+
+#endif // LL_PULSEAUDIO_ENABLED
diff --git a/indra/media_plugins/webkit/linux_volume_catcher_pa_syms.inc b/indra/media_plugins/webkit/linux_volume_catcher_pa_syms.inc
new file mode 100644
index 0000000000..d806b48428
--- /dev/null
+++ b/indra/media_plugins/webkit/linux_volume_catcher_pa_syms.inc
@@ -0,0 +1,21 @@
+// required symbols to grab
+LL_PA_SYM(true, pa_context_connect, int, pa_context *c, const char *server, pa_context_flags_t flags, const pa_spawn_api *api);
+LL_PA_SYM(true, pa_context_disconnect, void, pa_context *c);
+LL_PA_SYM(true, pa_context_get_sink_input_info, pa_operation*, pa_context *c, uint32_t idx, pa_sink_input_info_cb_t cb, void *userdata);
+LL_PA_SYM(true, pa_context_get_sink_input_info_list, pa_operation*, pa_context *c, pa_sink_input_info_cb_t cb, void *userdata);
+LL_PA_SYM(true, pa_context_get_state, pa_context_state_t, pa_context *c);
+LL_PA_SYM(true, pa_context_new_with_proplist, pa_context*, pa_mainloop_api *mainloop, const char *name, pa_proplist *proplist);
+LL_PA_SYM(true, pa_context_set_sink_input_volume, pa_operation*, pa_context *c, uint32_t idx, const pa_cvolume *volume, pa_context_success_cb_t cb, void *userdata);
+LL_PA_SYM(true, pa_context_set_state_callback, void, pa_context *c, pa_context_notify_cb_t cb, void *userdata);
+LL_PA_SYM(true, pa_context_set_subscribe_callback, void, pa_context *c, pa_context_subscribe_cb_t cb, void *userdata);
+LL_PA_SYM(true, pa_context_subscribe, pa_operation*, pa_context *c, pa_subscription_mask_t m, pa_context_success_cb_t cb, void *userdata);
+LL_PA_SYM(true, pa_context_unref, void, pa_context *c);
+LL_PA_SYM(true, pa_cvolume_set, pa_cvolume*, pa_cvolume *a, unsigned channels, pa_volume_t v);
+LL_PA_SYM(true, pa_operation_unref, void, pa_operation *o);
+LL_PA_SYM(true, pa_proplist_free, void, pa_proplist* p);
+LL_PA_SYM(true, pa_proplist_gets, const char*, pa_proplist *p, const char *key);
+LL_PA_SYM(true, pa_proplist_new, pa_proplist*, void);
+LL_PA_SYM(true, pa_proplist_sets, int, pa_proplist *p, const char *key, const char *value);
+LL_PA_SYM(true, pa_sw_volume_from_linear, pa_volume_t, double v);
+
+// optional symbols to grab
diff --git a/indra/media_plugins/webkit/linux_volume_catcher_paglib_syms.inc b/indra/media_plugins/webkit/linux_volume_catcher_paglib_syms.inc
new file mode 100644
index 0000000000..abf628c96c
--- /dev/null
+++ b/indra/media_plugins/webkit/linux_volume_catcher_paglib_syms.inc
@@ -0,0 +1,6 @@
+// required symbols to grab
+LL_PA_SYM(true, pa_glib_mainloop_free, void, pa_glib_mainloop* g);
+LL_PA_SYM(true, pa_glib_mainloop_get_api, pa_mainloop_api*, pa_glib_mainloop* g);
+LL_PA_SYM(true, pa_glib_mainloop_new, pa_glib_mainloop *, GMainContext *c);
+
+// optional symbols to grab
diff --git a/indra/media_plugins/webkit/media_plugin_webkit.cpp b/indra/media_plugins/webkit/media_plugin_webkit.cpp
index 688d3bcd3d..e66ac3049f 100644
--- a/indra/media_plugins/webkit/media_plugin_webkit.cpp
+++ b/indra/media_plugins/webkit/media_plugin_webkit.cpp
@@ -43,11 +43,22 @@
#include "llpluginmessageclasses.h"
#include "media_plugin_base.h"
+// set to 1 if you're using the version of llqtwebkit that's QPixmap-ified
+#if LL_LINUX
+# define LL_QTWEBKIT_USES_PIXMAPS 1
+#else
+# define LL_QTWEBKIT_USES_PIXMAPS 0
+#endif // LL_LINUX
+
+#if LL_LINUX
+# include "linux_volume_catcher.h"
+#endif // LL_LINUX
+
#if LL_WINDOWS
-#include <direct.h>
+# include <direct.h>
#else
-#include <unistd.h>
-#include <stdlib.h>
+# include <unistd.h>
+# include <stdlib.h>
#endif
#if LL_WINDOWS
@@ -102,6 +113,10 @@ private:
F32 mBackgroundG;
F32 mBackgroundB;
+#if LL_LINUX
+ LinuxVolumeCatcher mLinuxVolumeCatcher;
+#endif // LL_LINUX
+
void setInitState(int state)
{
// std::cerr << "changing init state to " << state << std::endl;
@@ -114,6 +129,10 @@ private:
{
LLQtWebKit::getInstance()->pump( milliseconds );
+#if LL_LINUX
+ mLinuxVolumeCatcher.pump();
+#endif // LL_LINUX
+
checkEditState();
if(mInitState == INIT_STATE_NAVIGATE_COMPLETE)
@@ -130,7 +149,11 @@ private:
{
const unsigned char* browser_pixels = LLQtWebKit::getInstance()->grabBrowserWindow( mBrowserWindowId );
- unsigned int buffer_size = LLQtWebKit::getInstance()->getBrowserRowSpan( mBrowserWindowId ) * LLQtWebKit::getInstance()->getBrowserHeight( mBrowserWindowId );
+ unsigned int rowspan = LLQtWebKit::getInstance()->getBrowserRowSpan( mBrowserWindowId );
+ unsigned int height = LLQtWebKit::getInstance()->getBrowserHeight( mBrowserWindowId );
+#if !LL_QTWEBKIT_USES_PIXMAPS
+ unsigned int buffer_size = rowspan * height;
+#endif // !LL_QTWEBKIT_USES_PIXMAPS
// std::cerr << "webkit plugin: updating" << std::endl;
@@ -138,7 +161,16 @@ private:
if ( mPixels && browser_pixels )
{
// std::cerr << " memcopy of " << buffer_size << " bytes" << std::endl;
+
+#if LL_QTWEBKIT_USES_PIXMAPS
+ // copy the pixel data upside-down because of the co-ord system
+ for (int y=0; y<height; ++y)
+ {
+ memcpy( &mPixels[(height-y-1)*rowspan], &browser_pixels[y*rowspan], rowspan );
+ }
+#else
memcpy( mPixels, browser_pixels, buffer_size );
+#endif // LL_QTWEBKIT_USES_PIXMAPS
}
if ( mWidth > 0 && mHeight > 0 )
@@ -246,8 +278,10 @@ private:
// append details to agent string
LLQtWebKit::getInstance()->setBrowserAgentId( "LLPluginMedia Web Browser" );
+#if !LL_QTWEBKIT_USES_PIXMAPS
// don't flip bitmap
LLQtWebKit::getInstance()->flipWindow( mBrowserWindowId, true );
+#endif // !LL_QTWEBKIT_USES_PIXMAPS
// set background color
// convert background color channels from [0.0, 1.0] to [0, 255];
@@ -281,6 +315,7 @@ private:
return false;
};
+ void setVolume(F32 vol);
////////////////////////////////////////////////////////////////////////////////
// virtual
@@ -664,7 +699,11 @@ void MediaPluginWebKit::receiveMessage(const char *message_string)
message.setValueS32("default_height", 1024);
message.setValueS32("depth", mDepth);
message.setValueU32("internalformat", GL_RGBA);
+#if LL_QTWEBKIT_USES_PIXMAPS
+ message.setValueU32("format", GL_BGRA_EXT); // I hope this isn't system-dependant... is it? If so, we'll have to check the root window's pixel layout or something... yuck.
+#else
message.setValueU32("format", GL_RGBA);
+#endif // LL_QTWEBKIT_USES_PIXMAPS
message.setValueU32("type", GL_UNSIGNED_BYTE);
message.setValueBoolean("coords_opengl", true);
sendMessage(message);
@@ -732,6 +771,14 @@ void MediaPluginWebKit::receiveMessage(const char *message_string)
// std::cerr << "MediaPluginWebKit::receiveMessage: unknown base message: " << message_name << std::endl;
}
}
+ else if(message_class == LLPLUGIN_MESSAGE_CLASS_MEDIA_TIME)
+ {
+ if(message_name == "set_volume")
+ {
+ F32 volume = message_in.getValueReal("volume");
+ setVolume(volume);
+ }
+ }
else if(message_class == LLPLUGIN_MESSAGE_CLASS_MEDIA)
{
if(message_name == "size_change")
@@ -998,6 +1045,13 @@ void MediaPluginWebKit::receiveMessage(const char *message_string)
}
}
+void MediaPluginWebKit::setVolume(F32 volume)
+{
+#if LL_LINUX
+ mLinuxVolumeCatcher.setVolume(volume);
+#endif // LL_LINUX
+}
+
int init_media_plugin(LLPluginInstance::sendMessageFunction host_send_func, void *host_user_data, LLPluginInstance::sendMessageFunction *plugin_send_func, void **plugin_user_data)
{
MediaPluginWebKit *self = new MediaPluginWebKit(host_send_func, host_user_data);
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 6634fe5379..8ad3b2085d 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -347,6 +347,7 @@ set(viewer_SOURCE_FILES
llpatchvertexarray.cpp
llplacesinventorybridge.cpp
llplacesinventorypanel.cpp
+ llpopupview.cpp
llpolymesh.cpp
llpolymorph.cpp
llpreview.cpp
@@ -844,6 +845,7 @@ set(viewer_HEADER_FILES
llplacesinventorypanel.h
llpolymesh.h
llpolymorph.h
+ llpopupview.h
llpreview.h
llpreviewanim.h
llpreviewgesture.h
@@ -1624,13 +1626,6 @@ set(ARTWORK_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH
if (LINUX)
- add_custom_command(
- OUTPUT secondlife-stripped
- COMMAND strip
- ARGS --strip-debug -o secondlife-stripped ${VIEWER_BINARY_NAME}
- DEPENDS ${VIEWER_BINARY_NAME}
- )
-
set(product SecondLife-${ARCH}-${viewer_VERSION})
add_custom_command(
@@ -1650,15 +1645,15 @@ if (LINUX)
--login_channel=${VIEWER_LOGIN_CHANNEL}
--source=${CMAKE_CURRENT_SOURCE_DIR}
--touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched
- DEPENDS secondlife-stripped ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
+ DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
)
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_gstreamer010 media_plugin_webkit)
if (NOT INSTALL)
add_custom_target(package ALL DEPENDS ${product}.tar.bz2)
- add_dependencies(package linux-crash-logger-strip-target)
- add_dependencies(package linux-updater-strip-target)
+ add_dependencies(package linux-crash-logger-target)
+ add_dependencies(package linux-updater-target)
check_message_template(package)
endif (NOT INSTALL)
endif (LINUX)
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index c5780b54df..cf8e238855 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -4,13 +4,13 @@
<key>AFKTimeout</key>
<map>
<key>Comment</key>
- <string>Time before automatically setting AFK (away from keyboard) mode (seconds)</string>
+ <string>Time before automatically setting AFK (away from keyboard) mode (seconds, 0=never)</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
- <real>300.0</real>
+ <real>0</real>
</map>
<key>AdvanceSnapshot</key>
<map>
@@ -197,7 +197,7 @@
<key>Type</key>
<string>F32</string>
<key>Value</key>
- <real>1.0</real>
+ <real>0.5</real>
</map>
<key>AudioLevelMic</key>
<map>
@@ -219,7 +219,7 @@
<key>Type</key>
<string>F32</string>
<key>Value</key>
- <real>1.0</real>
+ <real>0.5</real>
</map>
<key>AudioLevelRolloff</key>
<map>
@@ -241,7 +241,7 @@
<key>Type</key>
<string>F32</string>
<key>Value</key>
- <real>1.0</real>
+ <real>0.5</real>
</map>
<key>AudioLevelUI</key>
<map>
@@ -3607,7 +3607,7 @@
<key>Type</key>
<string>String</string>
<key>Value</key>
- <string>https://viewer-sidebar.secondlife.com/sidebar.html?p=[AUTH_TOKEN]&amp;lang=[LANGUAGE]&amp;channel=[CHANNEL]&amp;version=[VERSION]&amp;major=[VERSION_MAJOR]&amp;minor=[VERSION_MINOR]&amp;firstlogin=[FIRST_LOGIN]</string>
+ <string>https://viewer-sidebar.secondlife.com/sidebar.html?p=[AUTH_TOKEN]&amp;lang=[LANGUAGE]&amp;channel=[CHANNEL]&amp;version=[VERSION]&amp;major=[VERSION_MAJOR]&amp;minor=[VERSION_MINOR]&amp;patch=[VERSION_PATCH]&amp;build=[VERSION_BUILD]&amp;firstlogin=[FIRST_LOGIN]</string>
</map>
<key>SearchURL</key>
<map>
@@ -3618,7 +3618,7 @@
<key>Type</key>
<string>String</string>
<key>Value</key>
- <string>http://search.secondlife.com/viewer/[CATEGORY]?q=[QUERY]&amp;p=[AUTH_TOKEN]&amp;r=[MATURITY]&amp;lang=[LANGUAGE]&amp;g=[GODLIKE]&amp;sid=[SESSION_ID]&amp;rid=[REGION_ID]&amp;pid=[PARCEL_ID]</string>
+ <string>http://search.secondlife.com/viewer/[CATEGORY]?q=[QUERY]&amp;p=[AUTH_TOKEN]&amp;r=[MATURITY]&amp;lang=[LANGUAGE]&amp;g=[GODLIKE]&amp;sid=[SESSION_ID]&amp;rid=[REGION_ID]&amp;pid=[PARCEL_ID]&amp;channel=[CHANNEL]&amp;version=[VERSION]&amp;major=[VERSION_MAJOR]&amp;minor=[VERSION_MINOR]&amp;patch=[VERSION_PATCH]&amp;build=[VERSION_BUILD]</string>
</map>
<key>HighResSnapshot</key>
<map>
@@ -4328,7 +4328,7 @@
<key>LoginLocation</key>
<map>
<key>Comment</key>
- <string>Login at same location you last logged out</string>
+ <string>Login location ('last', 'home')</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
@@ -5492,7 +5492,7 @@
<key>Type</key>
<string>F32</string>
<key>Value</key>
- <real>1.0</real>
+ <real>0.9</real>
</map>
<key>PlainTextChatHistory</key>
@@ -5554,7 +5554,7 @@
<key>PreferredMaturity</key>
<map>
<key>Comment</key>
- <string>Setting for the user's preferred maturity level.</string>
+ <string>Setting for the user's preferred maturity level (consts in indra_constants.h)</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
@@ -7476,6 +7476,17 @@
<key>Value</key>
<integer>0</integer>
</map>
+ <key>RenderUseTriStrips</key>
+ <map>
+ <key>Comment</key>
+ <string>Use triangle strips for rendering prims.</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>0</integer>
+ </map>
<key>RenderUseFarClip</key>
<map>
<key>Comment</key>
@@ -10147,7 +10158,7 @@
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
- <integer>0</integer>
+ <integer>1</integer>
</map>
<key>UseFreezeFrame</key>
<map>
@@ -10369,7 +10380,7 @@
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
- <integer>0</integer>
+ <integer>1</integer>
</map>
<key>VivoxDebugLevel</key>
<map>
diff --git a/indra/newview/gpu_table.txt b/indra/newview/gpu_table.txt
index 887dab66d1..aa0e21ea8f 100644
--- a/indra/newview/gpu_table.txt
+++ b/indra/newview/gpu_table.txt
@@ -47,8 +47,10 @@ ATI ASUS EAH26xx .*ATI.*ASUS.*EAH26.* 3 1
ATI ASUS EAH34xx .*ATI.*ASUS.*EAH34.* 1 1
ATI ASUS EAH36xx .*ATI.*ASUS.*EAH36.* 3 1
ATI ASUS EAH38xx .*ATI.*ASUS.*EAH38.* 3 1
+ATI ASUS EAH45xx .*ATI.*ASUS.*EAH45.* 1 1
ATI ASUS EAH48xx .*ATI.*ASUS.*EAH48.* 3 1
-ATI Radeon X1xxx .*ATI.*ASUS.*X1.* 2 1
+ATI ASUS EAH57xx .*ATI.*ASUS.*EAH57.* 3 1
+ATI Radeon X1xxx .*ATI.*ASUS.*X1.* 3 1
ATI Radeon X7xx .*ATI.*ASUS.*X7.* 1 1
ATI Radeon X500 .*ATI.*Diamond X5.* 1 1
ATI Radeon X13xx .*ATI.*Diamond X13.* 1 1
@@ -95,10 +97,16 @@ ATI Radeon HD 3300 .*ATI.*Radeon HD.*33.* 1 1
ATI Radeon HD 3400 .*ATI.*Radeon HD.*34.* 1 1
ATI Radeon HD 3600 .*ATI.*Radeon HD.*36.* 3 1
ATI Radeon HD 3800 .*ATI.*Radeon HD.*38.* 3 1
+ATI Radeon HD 4200 .*ATI.*Radeon HD 42.* 1 1
ATI Radeon HD 4300 .*ATI.*Radeon HD 43.* 1 1
-ATI Radeon HD 4500 .*ATI.*Radeon HD 45.* 2 1
-ATI Radeon HD 4600 .*ATI.*Radeon HD 46.* 3 1
+ATI Radeon HD 4500 .*ATI.*Radeon HD 45.* 3 1
+ATI Radeon HD 4600 .*ATI.*Radeon HD.*46.* 3 1
+ATI Radeon HD 4700 .*ATI.*Radeon HD 47.* 3 1
ATI Radeon HD 4800 .*ATI.*Radeon.*HD.*48.* 3 1
+ATI Radeon HD 5600 .*ATI.*Radeon.*HD.*56.* 3 1
+ATI Radeon HD 5700 .*ATI.*Radeon.*HD.*57.* 3 1
+ATI Radeon HD 5800 .*ATI.*Radeon.*HD.*58.* 3 1
+ATI Radeon HD 5900 .*ATI.*Radeon.*HD.*59.* 3 1
ATI Radeon OpenGL .*ATI.*Radeon OpenGL.* 0 0
ATI Radeon 2100 .*ATI.*Radeon 21.* 0 1
ATI Radeon 3100 .*ATI.*Radeon 31.* 1 1
@@ -152,13 +160,17 @@ Intel 945G .*Intel.*945G.* 0 1
Intel 950 .*Intel.*950.* 0 1
Intel 965 .*Intel.*965.* 0 1
Intel G33 .*Intel.*G33.* 0 0
+Intel G41 .*Intel.*G41.* 0 1
Intel G45 .*Intel.*G45.* 0 1
Intel Bear Lake .*Intel.*Bear Lake.* 0 0
Intel Broadwater .*Intel.*Broadwater.* 0 0
Intel Brookdale .*Intel.*Brookdale.* 0 0
Intel Cantiga .*Intel.*Cantiga.* 0 0
Intel Eaglelake .*Intel.*Eaglelake.* 0 1
+Intel Mobile 4 Series .*Intel.*Mobile.*4 Series.* 0 1
+Intel Media Graphics HD .*Intel.*Media.*Graphics.*HD.* 0 1
Intel Montara .*Intel.*Montara.* 0 0
+Intel Pineview .*Intel.*Pineview.* 0 1
Intel Springdale .*Intel.*Springdale.* 0 0
Matrox .*Matrox.* 0 0
Mesa .*Mesa.* 0 0
diff --git a/indra/newview/installers/windows/install_icon.ico b/indra/newview/installers/windows/install_icon.ico
index 1e00530c90..efe6c4f323 100644
--- a/indra/newview/installers/windows/install_icon.ico
+++ b/indra/newview/installers/windows/install_icon.ico
Binary files differ
diff --git a/indra/newview/installers/windows/uninstall_icon.ico b/indra/newview/installers/windows/uninstall_icon.ico
index c4ec6c70bd..05e1546860 100644
--- a/indra/newview/installers/windows/uninstall_icon.ico
+++ b/indra/newview/installers/windows/uninstall_icon.ico
Binary files differ
diff --git a/indra/newview/linux_tools/client-readme.txt b/indra/newview/linux_tools/client-readme.txt
index 92d321d8c0..e01b9e4bc6 100644
--- a/indra/newview/linux_tools/client-readme.txt
+++ b/indra/newview/linux_tools/client-readme.txt
@@ -15,7 +15,7 @@ Life itself - please see <http://www.secondlife.com/whatis/>.
5.3. Blank window after minimizing it
5.4. Audio
5.5. 'Alt' key for camera controls doesn't work
- 5.6. In-world streaming movie/music playback
+ 5.6. In-world streaming movie, music and Flash playback
6. Advanced Troubleshooting
6.1. Audio
6.2. OpenGL
@@ -169,12 +169,15 @@ SOLUTION:- Some window managers eat the Alt key for their own purposes; you
example, the 'Windows' key!) which will allow the Alt key to function
properly with mouse actions in Second Life and other applications.
-PROBLEM 6:- In-world movie and/or music playback doesn't work for me.
+PROBLEM 6:- In-world movie, music, or Flash playback doesn't work for me.
SOLUTION:- You need to have a working installation of GStreamer 0.10; this
is usually an optional package for most versions of Linux. If you have
installed GStreamer 0.10 and you can play some music/movies but not others
then you need to install a wider selection of GStreamer plugins, either
- from your vendor or an appropriate third party.
+ from your vendor (i.e. the 'Ugly' plugins) or an appropriate third party.
+ For Flash playback, you need to have Flash 10 installed for your normal
+ web browser (for example, Firefox). PulseAudio is required for Flash
+ volume control / muting to fully function inside Second Life.
6. ADVANCED TROUBLESHOOTING
diff --git a/indra/newview/linux_tools/wrapper.sh b/indra/newview/linux_tools/wrapper.sh
index f84102e1fb..d2df968544 100755
--- a/indra/newview/linux_tools/wrapper.sh
+++ b/indra/newview/linux_tools/wrapper.sh
@@ -41,16 +41,8 @@
## driver bug, try enabling this option and report whether it helps:
#export LL_ATI_MOUSE_CURSOR_BUG=x
-## - If you experience crashes with streaming video and music, you can
-## disable these by enabling this option:
-#export LL_DISABLE_GSTREAMER=x
-
-## - GStreamer is automatically disabled - for now - on 64-bit systems due
-## to common fatal incompatibilities; remove/comment these lines if you want
-## to try anyway.
if [ "`uname -m`" = "x86_64" ]; then
- export LL_DISABLE_GSTREAMER=x
- echo '64-bit Linux detected: Disabling GStreamer (streaming video and music) by default; edit ./secondlife to re-enable.'
+ echo '64-bit Linux detected.'
fi
## Everything below this line is just for advanced troubleshooters.
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index 3675be16e9..c5d7f6f118 100644
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -3018,6 +3018,9 @@ void LLAgent::endAnimationUpdateUI()
//-----------------------------------------------------------------------------
void LLAgent::updateCamera()
{
+ static LLFastTimer::DeclareTimer ftm("Camera");
+ LLFastTimer t(ftm);
+
//Ventrella - changed camera_skyward to the new global "mCameraUpVector"
mCameraUpVector = LLVector3::z_axis;
//LLVector3 camera_skyward(0.f, 0.f, 1.f);
@@ -4836,11 +4839,16 @@ void LLAgent::onAnimStop(const LLUUID& id)
}
}
-BOOL LLAgent::isGodlike() const
+bool LLAgent::isGodlike() const
{
return mAgentAccess.isGodlike();
}
+bool LLAgent::isGodlikeWithoutAdminMenuFakery() const
+{
+ return mAgentAccess.isGodlikeWithoutAdminMenuFakery();
+}
+
U8 LLAgent::getGodLevel() const
{
return mAgentAccess.getGodLevel();
@@ -5837,15 +5845,22 @@ void LLAgent::processAgentCachedTextureResponse(LLMessageSystem *mesgsys, void *
mesgsys->getUUIDFast(_PREHASH_WearableData, _PREHASH_TextureID, texture_id, texture_block);
mesgsys->getU8Fast(_PREHASH_WearableData, _PREHASH_TextureIndex, texture_index, texture_block);
- if (texture_id.notNull()
- && (S32)texture_index < BAKED_NUM_INDICES
+ if ((S32)texture_index < BAKED_NUM_INDICES
&& gAgentQueryManager.mActiveCacheQueries[texture_index] == query_id)
{
- //llinfos << "Received cached texture " << (U32)texture_index << ": " << texture_id << llendl;
- avatarp->setCachedBakedTexture(LLVOAvatarDictionary::bakedToLocalTextureIndex((EBakedTextureIndex)texture_index), texture_id);
- //avatarp->setTETexture( LLVOAvatar::sBakedTextureIndices[texture_index], texture_id );
- gAgentQueryManager.mActiveCacheQueries[texture_index] = 0;
- num_results++;
+ if (texture_id.notNull())
+ {
+ //llinfos << "Received cached texture " << (U32)texture_index << ": " << texture_id << llendl;
+ avatarp->setCachedBakedTexture(LLVOAvatarDictionary::bakedToLocalTextureIndex((EBakedTextureIndex)texture_index), texture_id);
+ //avatarp->setTETexture( LLVOAvatar::sBakedTextureIndices[texture_index], texture_id );
+ gAgentQueryManager.mActiveCacheQueries[texture_index] = 0;
+ num_results++;
+ }
+ else
+ {
+ // no cache of this bake. request upload.
+ avatarp->requestLayerSetUpload((EBakedTextureIndex)texture_index);
+ }
}
}
diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h
index 1573fd7131..f2df1992e7 100644
--- a/indra/newview/llagent.h
+++ b/indra/newview/llagent.h
@@ -888,7 +888,8 @@ private:
// God
//--------------------------------------------------------------------
public:
- BOOL isGodlike() const;
+ bool isGodlike() const;
+ bool isGodlikeWithoutAdminMenuFakery() const;
U8 getGodLevel() const;
void setAdminOverride(BOOL b);
void setGodLevel(U8 god_level);
diff --git a/indra/newview/llagentaccess.cpp b/indra/newview/llagentaccess.cpp
index eb978eb6c1..915dabb935 100644
--- a/indra/newview/llagentaccess.cpp
+++ b/indra/newview/llagentaccess.cpp
@@ -69,12 +69,21 @@ bool LLAgentAccess::isGodlike() const
#endif
}
+bool LLAgentAccess::isGodlikeWithoutAdminMenuFakery() const
+{
+#ifdef HACKED_GODLIKE_VIEWER
+ return true;
+#else
+ return mGodLevel > GOD_NOT;
+#endif
+}
+
U8 LLAgentAccess::getGodLevel() const
{
#ifdef HACKED_GODLIKE_VIEWER
return GOD_MAINTENANCE;
#else
- if(mAdminOverride) return GOD_FULL;
+ if(mAdminOverride) return GOD_FULL; // :(
return mGodLevel;
#endif
}
diff --git a/indra/newview/llagentaccess.h b/indra/newview/llagentaccess.h
index 93d2f0a371..49da5f44cc 100644
--- a/indra/newview/llagentaccess.h
+++ b/indra/newview/llagentaccess.h
@@ -48,6 +48,7 @@ public:
void setGodLevel(U8 god_level);
bool isGodlike() const;
+ bool isGodlikeWithoutAdminMenuFakery() const;
U8 getGodLevel() const;
diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp
index f4bc35002b..7b55282ee5 100644
--- a/indra/newview/llagentwearables.cpp
+++ b/indra/newview/llagentwearables.cpp
@@ -119,9 +119,9 @@ protected:
void importedFolderDone(void);
void contentsDone(void);
enum ELibraryOutfitFetchStep mCurrFetchStep;
- typedef std::vector< std::pair< LLUUID, std::string > > cloth_folder_vec_t;
- cloth_folder_vec_t mLibraryClothingFolders;
- cloth_folder_vec_t mImportedClothingFolders;
+ typedef std::vector<LLUUID> clothing_folder_vec_t;
+ clothing_folder_vec_t mLibraryClothingFolders;
+ clothing_folder_vec_t mImportedClothingFolders;
bool mOutfitsPopulated;
LLUUID mClothingID;
LLUUID mLibraryClothingID;
@@ -245,6 +245,7 @@ void LLAgentWearables::setAvatarObject(LLVOAvatarSelf *avatar)
// wearables
LLAgentWearables::createStandardWearablesAllDoneCallback::~createStandardWearablesAllDoneCallback()
{
+ llinfos << "destructor - all done?" << llendl;
gAgentWearables.createStandardWearablesAllDone();
}
@@ -271,10 +272,16 @@ LLAgentWearables::addWearableToAgentInventoryCallback::addWearableToAgentInvento
mTodo(todo),
mCB(cb)
{
+ llinfos << "constructor" << llendl;
}
void LLAgentWearables::addWearableToAgentInventoryCallback::fire(const LLUUID& inv_item)
{
+ if (mTodo & CALL_CREATESTANDARDDONE)
+ {
+ llinfos << "callback fired, inv_item " << inv_item.asString() << llendl;
+ }
+
if (inv_item.isNull())
return;
@@ -286,6 +293,7 @@ void LLAgentWearables::addWearableToAgentInventoryCallback::fire(const LLUUID& i
}
if (mTodo & CALL_RECOVERDONE)
{
+ LLAppearanceManager::instance().addCOFItemLink(inv_item,false);
gAgentWearables.recoverMissingWearableDone();
}
/*
@@ -293,6 +301,7 @@ void LLAgentWearables::addWearableToAgentInventoryCallback::fire(const LLUUID& i
*/
if (mTodo & CALL_CREATESTANDARDDONE)
{
+ LLAppearanceManager::instance().addCOFItemLink(inv_item,false);
gAgentWearables.createStandardWearablesDone(mType, mIndex);
}
if (mTodo & CALL_MAKENEWOUTFITDONE)
@@ -310,6 +319,8 @@ void LLAgentWearables::addWearabletoAgentInventoryDone(const S32 type,
const LLUUID& item_id,
LLWearable* wearable)
{
+ llinfos << "type " << type << " index " << index << " item " << item_id.asString() << llendl;
+
if (item_id.isNull())
return;
@@ -1038,7 +1049,7 @@ void LLAgentWearables::onInitialWearableAssetArrived(LLWearable* wearable, void*
{
return;
}
-
+
if (wearable)
{
llassert(type == wearable->getType());
@@ -1057,6 +1068,7 @@ void LLAgentWearables::onInitialWearableAssetArrived(LLWearable* wearable, void*
// Somehow the asset doesn't exist in the database.
gAgentWearables.recoverMissingWearable(type,index);
}
+
gInventory.notifyObservers();
@@ -1138,6 +1150,80 @@ void LLAgentWearables::addLocalTextureObject(const EWearableType wearable_type,
wearable->setLocalTextureObject(texture_type, lto);
}
+class OnWearableItemCreatedCB: public LLInventoryCallback
+{
+public:
+ OnWearableItemCreatedCB():
+ mWearablesAwaitingItems(WT_COUNT,NULL)
+ {
+ llinfos << "created callback" << llendl;
+ }
+ /* virtual */ void fire(const LLUUID& inv_item)
+ {
+ llinfos << "One item created " << inv_item.asString() << llendl;
+ LLViewerInventoryItem *item = gInventory.getItem(inv_item);
+ mItemsToLink.put(item);
+ updatePendingWearable(inv_item);
+ }
+ ~OnWearableItemCreatedCB()
+ {
+ llinfos << "All items created" << llendl;
+ LLPointer<LLInventoryCallback> link_waiter = new LLUpdateAppearanceOnDestroy;
+ LLAppearanceManager::instance().linkAll(LLAppearanceManager::instance().getCOF(),
+ mItemsToLink,
+ link_waiter);
+ }
+ void addPendingWearable(LLWearable *wearable)
+ {
+ if (!wearable)
+ {
+ llwarns << "no wearable" << llendl;
+ return;
+ }
+ EWearableType type = wearable->getType();
+ if (type<WT_COUNT)
+ {
+ mWearablesAwaitingItems[type] = wearable;
+ }
+ else
+ {
+ llwarns << "invalid type " << type << llendl;
+ }
+ }
+ void updatePendingWearable(const LLUUID& inv_item)
+ {
+ LLViewerInventoryItem *item = gInventory.getItem(inv_item);
+ if (!item)
+ {
+ llwarns << "no item found" << llendl;
+ return;
+ }
+ if (!item->isWearableType())
+ {
+ llwarns << "non-wearable item found" << llendl;
+ return;
+ }
+ if (item && item->isWearableType())
+ {
+ EWearableType type = item->getWearableType();
+ if (type < WT_COUNT)
+ {
+ LLWearable *wearable = mWearablesAwaitingItems[type];
+ if (wearable)
+ wearable->setItemID(inv_item);
+ }
+ else
+ {
+ llwarns << "invalid wearable type " << type << llendl;
+ }
+ }
+ }
+
+private:
+ LLInventoryModel::item_array_t mItemsToLink;
+ std::vector<LLWearable*> mWearablesAwaitingItems;
+};
+
void LLAgentWearables::createStandardWearables(BOOL female)
{
llwarns << "Creating Standard " << (female ? "female" : "male")
@@ -1167,35 +1253,34 @@ void LLAgentWearables::createStandardWearables(BOOL female)
FALSE //WT_SKIRT
};
+ LLPointer<LLInventoryCallback> cb = new OnWearableItemCreatedCB;
for (S32 i=0; i < WT_COUNT; i++)
{
- bool once = false;
- LLPointer<LLRefCount> donecb = NULL;
if (create[i])
{
- if (!once)
- {
- once = true;
- donecb = new createStandardWearablesAllDoneCallback;
- }
llassert(getWearableCount((EWearableType)i) == 0);
LLWearable* wearable = LLWearableList::instance().createNewWearable((EWearableType)i);
- U32 index = pushWearable((EWearableType)i,wearable);
+ ((OnWearableItemCreatedCB*)(&(*cb)))->addPendingWearable(wearable);
// no need to update here...
- LLPointer<LLInventoryCallback> cb =
- new addWearableToAgentInventoryCallback(
- donecb,
- i,
- index,
- wearable,
- addWearableToAgentInventoryCallback::CALL_CREATESTANDARDDONE);
- addWearableToAgentInventory(cb, wearable, LLUUID::null, FALSE);
+ LLUUID category_id = LLUUID::null;
+ create_inventory_item(gAgent.getID(),
+ gAgent.getSessionID(),
+ category_id,
+ wearable->getTransactionID(),
+ wearable->getName(),
+ wearable->getDescription(),
+ wearable->getAssetType(),
+ LLInventoryType::IT_WEARABLE,
+ wearable->getType(),
+ wearable->getPermissions().getMaskNextOwner(),
+ cb);
}
}
}
void LLAgentWearables::createStandardWearablesDone(S32 type, U32 index)
{
+ llinfos << "type " << type << " index " << index << llendl;
if (mAvatarObject)
{
mAvatarObject->updateVisualParams();
@@ -1206,6 +1291,8 @@ void LLAgentWearables::createStandardWearablesAllDone()
{
// ... because sendAgentWearablesUpdate will notify inventory
// observers.
+ llinfos << "all done?" << llendl;
+
mWearablesLoaded = TRUE;
checkWearablesLoaded();
@@ -1576,7 +1663,7 @@ void LLAgentWearables::setWearableOutfit(const LLInventoryItem::item_array_t& it
const LLDynamicArray< LLWearable* >& wearables,
BOOL remove)
{
- lldebugs << "setWearableOutfit() start" << llendl;
+ llinfos << "setWearableOutfit() start" << llendl;
BOOL wearables_to_remove[WT_COUNT];
wearables_to_remove[WT_SHAPE] = FALSE;
@@ -2153,7 +2240,7 @@ void LLAgentWearables::updateServer()
void LLAgentWearables::populateMyOutfitsFolder(void)
{
- llinfos << "starting outfit populate" << llendl;
+ llinfos << "starting outfit population" << llendl;
LLLibraryOutfitsFetch* outfits = new LLLibraryOutfitsFetch();
@@ -2225,17 +2312,28 @@ void LLLibraryOutfitsFetch::folderDone(void)
LLInventoryModel::item_array_t wearable_array;
gInventory.collectDescendents(mMyOutfitsID, cat_array, wearable_array,
LLInventoryModel::EXCLUDE_TRASH);
-
// Early out if we already have items in My Outfits.
if (cat_array.count() > 0 || wearable_array.count() > 0)
{
mOutfitsPopulated = true;
return;
}
-
+
mClothingID = gInventory.findCategoryUUIDForType(LLFolderType::FT_CLOTHING);
mLibraryClothingID = gInventory.findCategoryUUIDForType(LLFolderType::FT_CLOTHING, false, true);
-
+
+ // If Library->Clothing->Initial Outfits exists, use that.
+ LLNameCategoryCollector matchFolderFunctor("Initial Outfits");
+ gInventory.collectDescendentsIf(mLibraryClothingID,
+ cat_array, wearable_array,
+ LLInventoryModel::EXCLUDE_TRASH,
+ matchFolderFunctor);
+ if (cat_array.count() > 0)
+ {
+ const LLViewerInventoryCategory *cat = cat_array.get(0);
+ mLibraryClothingID = cat->getUUID();
+ }
+
mCompleteFolders.clear();
// Get the complete information on the items in the inventory.
@@ -2266,31 +2364,28 @@ void LLLibraryOutfitsFetch::outfitsDone(void)
{
const LLViewerInventoryCategory *cat = iter->get();
- // Get the names and id's of every outfit in the library, except for ruth and other "misc" outfits.
- if (cat->getName() != "More Outfits" && cat->getName() != "Ruth")
+ // Get the names and id's of every outfit in the library, skip "Ruth"
+ // because it's a low quality legacy outfit
+ if (cat->getName() != "Ruth")
{
// Get the name of every outfit in the library
folders.push_back(cat->getUUID());
- mLibraryClothingFolders.push_back(std::make_pair(cat->getUUID(), cat->getName()));
+ mLibraryClothingFolders.push_back(cat->getUUID());
}
}
-
- // Collect the contents of your Inventory Clothing folder
cat_array.clear();
wearable_array.clear();
- gInventory.collectDescendents(mClothingID, cat_array, wearable_array,
- LLInventoryModel::EXCLUDE_TRASH);
// Check if you already have an "Imported Library Clothing" folder
- for (LLInventoryModel::cat_array_t::const_iterator iter = cat_array.begin();
- iter != cat_array.end();
- ++iter)
+ LLNameCategoryCollector matchFolderFunctor(mImportedClothingName);
+ gInventory.collectDescendentsIf(mClothingID,
+ cat_array, wearable_array,
+ LLInventoryModel::EXCLUDE_TRASH,
+ matchFolderFunctor);
+ if (cat_array.size() > 0)
{
- const LLViewerInventoryCategory *cat = iter->get();
- if (cat->getName() == mImportedClothingName)
- {
- mImportedClothingID = cat->getUUID();
- }
+ const LLViewerInventoryCategory *cat = cat_array.get(0);
+ mImportedClothingID = cat->getUUID();
}
mCompleteFolders.clear();
@@ -2328,31 +2423,59 @@ private:
LLLibraryOutfitsFetch * mLibraryOutfitsFetcher;
};
+// Copy the clothing folders from the library into the imported clothing folder
void LLLibraryOutfitsFetch::libraryDone(void)
{
- // Copy the clothing folders from the library into the imported clothing folder if necessary.
- if (mImportedClothingID == LLUUID::null)
+ if (mImportedClothingID != LLUUID::null)
{
- gInventory.removeObserver(this);
- LLPointer<LLInventoryCallback> copy_waiter = new LLLibraryOutfitsCopyDone(this);
- mImportedClothingID = gInventory.createNewCategory(mClothingID,
- LLFolderType::FT_NONE,
- mImportedClothingName);
+ // Skip straight to fetching the contents of the imported folder
+ importedFolderFetch();
+ return;
+ }
+
+ // Remove observer; next autopopulation step will be triggered externally by LLLibraryOutfitsCopyDone.
+ gInventory.removeObserver(this);
+
+ LLPointer<LLInventoryCallback> copy_waiter = new LLLibraryOutfitsCopyDone(this);
+ mImportedClothingID = gInventory.createNewCategory(mClothingID,
+ LLFolderType::FT_NONE,
+ mImportedClothingName);
+ // Copy each folder from library into clothing unless it already exists.
+ for (clothing_folder_vec_t::const_iterator iter = mLibraryClothingFolders.begin();
+ iter != mLibraryClothingFolders.end();
+ ++iter)
+ {
+ const LLUUID& src_folder_id = (*iter); // Library clothing folder ID
+ const LLViewerInventoryCategory *cat = gInventory.getCategory(src_folder_id);
+ if (!cat)
+ {
+ llwarns << "Library folder import for uuid:" << src_folder_id << " failed to find folder." << llendl;
+ continue;
+ }
- for (cloth_folder_vec_t::const_iterator iter = mLibraryClothingFolders.begin();
- iter != mLibraryClothingFolders.end();
- ++iter)
+ if (!LLAppearanceManager::getInstance()->getCanMakeFolderIntoOutfit(src_folder_id))
{
- LLUUID folder_id = gInventory.createNewCategory(mImportedClothingID,
- LLFolderType::FT_NONE,
- iter->second);
- LLAppearanceManager::getInstance()->shallowCopyCategoryContents(iter->first, folder_id, copy_waiter);
+ llinfos << "Skipping non-outfit folder name:" << cat->getName() << llendl;
+ continue;
}
- }
- else
- {
- // Skip straight to fetching the contents of the imported folder
- importedFolderFetch();
+
+ // Don't copy the category if it already exists.
+ LLNameCategoryCollector matchFolderFunctor(cat->getName());
+ LLInventoryModel::cat_array_t cat_array;
+ LLInventoryModel::item_array_t wearable_array;
+ gInventory.collectDescendentsIf(mImportedClothingID,
+ cat_array, wearable_array,
+ LLInventoryModel::EXCLUDE_TRASH,
+ matchFolderFunctor);
+ if (cat_array.size() > 0)
+ {
+ continue;
+ }
+
+ LLUUID dst_folder_id = gInventory.createNewCategory(mImportedClothingID,
+ LLFolderType::FT_NONE,
+ cat->getName());
+ LLAppearanceManager::getInstance()->shallowCopyCategoryContents(src_folder_id, dst_folder_id, copy_waiter);
}
}
@@ -2389,7 +2512,7 @@ void LLLibraryOutfitsFetch::importedFolderDone(void)
// Get the name of every imported outfit
folders.push_back(cat->getUUID());
- mImportedClothingFolders.push_back(std::make_pair(cat->getUUID(), cat->getName()));
+ mImportedClothingFolders.push_back(cat->getUUID());
}
mCompleteFolders.clear();
@@ -2405,17 +2528,25 @@ void LLLibraryOutfitsFetch::contentsDone(void)
LLInventoryModel::cat_array_t cat_array;
LLInventoryModel::item_array_t wearable_array;
- for (cloth_folder_vec_t::const_iterator folder_iter = mImportedClothingFolders.begin();
+ for (clothing_folder_vec_t::const_iterator folder_iter = mImportedClothingFolders.begin();
folder_iter != mImportedClothingFolders.end();
++folder_iter)
{
+ const LLUUID &folder_id = (*folder_iter);
+ const LLViewerInventoryCategory *cat = gInventory.getCategory(folder_id);
+ if (!cat)
+ {
+ llwarns << "Library folder import for uuid:" << folder_id << " failed to find folder." << llendl;
+ continue;
+ }
+
// First, make a folder in the My Outfits directory.
- LLUUID new_outfit_folder_id = gInventory.createNewCategory(mMyOutfitsID, LLFolderType::FT_OUTFIT, folder_iter->second);
+ LLUUID new_outfit_folder_id = gInventory.createNewCategory(mMyOutfitsID, LLFolderType::FT_OUTFIT, cat->getName());
cat_array.clear();
wearable_array.clear();
// Collect the contents of each imported clothing folder, so we can create new outfit links for it
- gInventory.collectDescendents(folder_iter->first, cat_array, wearable_array,
+ gInventory.collectDescendents(folder_id, cat_array, wearable_array,
LLInventoryModel::EXCLUDE_TRASH);
for (LLInventoryModel::item_array_t::const_iterator wearable_iter = wearable_array.begin();
@@ -2485,7 +2616,7 @@ class LLFetchAndLinkObserver: public LLInventoryFetchObserver
public:
LLFetchAndLinkObserver(LLInventoryFetchObserver::item_ref_t& ids):
m_ids(ids),
- LLInventoryFetchObserver(true)
+ LLInventoryFetchObserver(true) // retry for missing items
{
}
~LLFetchAndLinkObserver()
@@ -2494,7 +2625,9 @@ public:
virtual void done()
{
gInventory.removeObserver(this);
+
// Link to all fetched items in COF.
+ LLPointer<LLInventoryCallback> link_waiter = new LLUpdateAppearanceOnDestroy;
for (LLInventoryFetchObserver::item_ref_t::iterator it = m_ids.begin();
it != m_ids.end();
++it)
@@ -2506,8 +2639,13 @@ public:
llwarns << "fetch failed!" << llendl;
continue;
}
- link_inventory_item(gAgent.getID(), item->getLinkedUUID(), LLAppearanceManager::instance().getCOF(), item->getName(),
- LLAssetType::AT_LINK, LLPointer<LLInventoryCallback>(NULL));
+
+ link_inventory_item(gAgent.getID(),
+ item->getLinkedUUID(),
+ LLAppearanceManager::instance().getCOF(),
+ item->getName(),
+ LLAssetType::AT_LINK,
+ link_waiter);
}
}
private:
@@ -2530,11 +2668,13 @@ void LLInitialWearablesFetch::processWearablesMessage()
#ifdef USE_CURRENT_OUTFIT_FOLDER
ids.push_back(wearable_data->mItemID);
#endif
- // Fetch the wearables
- LLWearableList::instance().getAsset(wearable_data->mAssetID,
- LLStringUtil::null,
- LLWearableDictionary::getAssetType(wearable_data->mType),
- LLAgentWearables::onInitialWearableAssetArrived, (void*)(wearable_data));
+#if 0
+// // Fetch the wearables
+// LLWearableList::instance().getAsset(wearable_data->mAssetID,
+// LLStringUtil::null,
+// LLWearableDictionary::getAssetType(wearable_data->mType),
+// LLAgentWearables::onInitialWearableAssetArrived, (void*)(wearable_data));
+#endif
}
else
{
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index eb4a47664b..f08d8decfe 100644
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -301,50 +301,52 @@ void LLOutfitFetch::done()
delete this;
}
-class LLUpdateAppearanceOnDestroy: public LLInventoryCallback
+LLUpdateAppearanceOnDestroy::LLUpdateAppearanceOnDestroy():
+ mFireCount(0)
{
-public:
- LLUpdateAppearanceOnDestroy():
- mFireCount(0)
- {
- }
+}
- virtual ~LLUpdateAppearanceOnDestroy()
+LLUpdateAppearanceOnDestroy::~LLUpdateAppearanceOnDestroy()
+{
+ llinfos << "done update appearance on destroy" << llendl;
+
+ if (!LLApp::isExiting())
{
- llinfos << "done update appearance on destroy" << llendl;
-
- if (!LLApp::isExiting())
- {
- LLAppearanceManager::instance().updateAppearanceFromCOF();
- }
+ LLAppearanceManager::instance().updateAppearanceFromCOF();
}
+}
- /* virtual */ void fire(const LLUUID& inv_item)
- {
- llinfos << "callback fired" << llendl;
- mFireCount++;
- }
-private:
- U32 mFireCount;
-};
+void LLUpdateAppearanceOnDestroy::fire(const LLUUID& inv_item)
+{
+ llinfos << "callback fired" << llendl;
+ mFireCount++;
+}
struct LLFoundData
{
- LLFoundData() : mAssetType(LLAssetType::AT_NONE), mWearable(NULL) {}
+ LLFoundData() :
+ mAssetType(LLAssetType::AT_NONE),
+ mWearableType(WT_INVALID),
+ mWearable(NULL) {}
+
LLFoundData(const LLUUID& item_id,
- const LLUUID& asset_id,
- const std::string& name,
- LLAssetType::EType asset_type) :
+ const LLUUID& asset_id,
+ const std::string& name,
+ const LLAssetType::EType& asset_type,
+ const EWearableType& wearable_type
+ ) :
mItemID(item_id),
mAssetID(asset_id),
mName(name),
mAssetType(asset_type),
+ mWearableType(wearable_type),
mWearable( NULL ) {}
LLUUID mItemID;
LLUUID mAssetID;
std::string mName;
LLAssetType::EType mAssetType;
+ EWearableType mWearableType;
LLWearable* mWearable;
};
@@ -355,14 +357,26 @@ public:
LLWearableHoldingPattern();
~LLWearableHoldingPattern();
- bool pollCompletion();
+ bool pollFetchCompletion();
+ void onFetchCompletion();
bool isFetchCompleted();
bool isTimedOut();
+
+ void checkMissingWearables();
+ bool pollMissingWearables();
+ bool isMissingCompleted();
+ void recoverMissingWearable(EWearableType type);
+ void clearCOFLinksForMissingWearables();
+
+ void onAllComplete();
typedef std::list<LLFoundData> found_list_t;
found_list_t mFoundList;
LLInventoryModel::item_array_t mObjItems;
LLInventoryModel::item_array_t mGestItems;
+ typedef std::set<S32> type_set_t;
+ type_set_t mTypesToRecover;
+ type_set_t mTypesToLink;
S32 mResolved;
LLTimer mWaitTime;
bool mFired;
@@ -389,13 +403,99 @@ bool LLWearableHoldingPattern::isTimedOut()
return mWaitTime.getElapsedTimeF32() > max_wait_time;
}
-bool LLWearableHoldingPattern::pollCompletion()
+void LLWearableHoldingPattern::checkMissingWearables()
+{
+ std::vector<S32> found_by_type(WT_COUNT,0);
+ std::vector<S32> requested_by_type(WT_COUNT,0);
+ for (found_list_t::iterator it = mFoundList.begin(); it != mFoundList.end(); ++it)
+ {
+ LLFoundData &data = *it;
+ if (data.mWearableType < WT_COUNT)
+ requested_by_type[data.mWearableType]++;
+ if (data.mWearable)
+ found_by_type[data.mWearableType]++;
+ }
+
+ for (S32 type = 0; type < WT_COUNT; ++type)
+ {
+ llinfos << "type " << type << " requested " << requested_by_type[type] << " found " << found_by_type[type] << llendl;
+ if (found_by_type[type] > 0)
+ continue;
+ if (
+ // Need to recover if at least one wearable of that type
+ // was requested but none was found (prevent missing
+ // pants)
+ (requested_by_type[type] > 0) ||
+ // or if type is a body part and no wearables were found.
+ ((type == WT_SHAPE) || (type == WT_SKIN) || (type == WT_HAIR) || (type == WT_EYES)))
+ {
+ mTypesToRecover.insert(type);
+ mTypesToLink.insert(type);
+ recoverMissingWearable((EWearableType)type);
+ llwarns << "need to replace " << type << llendl;
+ }
+ }
+
+ if (!pollMissingWearables())
+ {
+ mWaitTime.reset();
+ doOnIdleRepeating(boost::bind(&LLWearableHoldingPattern::pollMissingWearables,this));
+ }
+}
+
+void LLWearableHoldingPattern::onAllComplete()
+{
+ // Activate all gestures in this folder
+ if (mGestItems.count() > 0)
+ {
+ llinfos << "Activating " << mGestItems.count() << " gestures" << llendl;
+
+ LLGestureManager::instance().activateGestures(mGestItems);
+
+ // Update the inventory item labels to reflect the fact
+ // they are active.
+ LLViewerInventoryCategory* catp =
+ gInventory.getCategory(LLAppearanceManager::instance().getCOF());
+
+ if (catp)
+ {
+ gInventory.updateCategory(catp);
+ gInventory.notifyObservers();
+ }
+ }
+
+ // Update wearables.
+ llinfos << "Updating agent wearables with " << mResolved << " wearable items " << llendl;
+ LLAppearanceManager::instance().updateAgentWearables(this, false);
+
+ // Update attachments to match those requested.
+ LLVOAvatar* avatar = gAgent.getAvatarObject();
+ if( avatar )
+ {
+ llinfos << "Updating " << mObjItems.count() << " attachments" << llendl;
+ LLAgentWearables::userUpdateAttachments(mObjItems);
+ }
+
+ if (isFetchCompleted() && isMissingCompleted())
+ {
+ // Only safe to delete if all wearable callbacks and all missing wearables completed.
+ delete this;
+ }
+}
+
+void LLWearableHoldingPattern::onFetchCompletion()
+{
+ checkMissingWearables();
+}
+
+// Runs as an idle callback until all wearables are fetched (or we time out).
+bool LLWearableHoldingPattern::pollFetchCompletion()
{
bool completed = isFetchCompleted();
bool timed_out = isTimedOut();
bool done = completed || timed_out;
- llinfos << "polling, done status: " << completed << " timed out? " << timed_out << " elapsed " << mWaitTime.getElapsedTimeF32() << llendl;
+ llinfos << "polling, done status: " << completed << " timed out " << timed_out << " elapsed " << mWaitTime.getElapsedTimeF32() << llendl;
if (done)
{
@@ -406,46 +506,196 @@ bool LLWearableHoldingPattern::pollCompletion()
llwarns << "Exceeded max wait time for wearables, updating appearance based on what has arrived" << llendl;
}
- // Activate all gestures in this folder
- if (mGestItems.count() > 0)
+ onFetchCompletion();
+ }
+ return done;
+}
+
+class RecoveredItemLinkCB: public LLInventoryCallback
+{
+public:
+ RecoveredItemLinkCB(EWearableType type, LLWearable *wearable, LLWearableHoldingPattern* holder):
+ mHolder(holder),
+ mWearable(wearable),
+ mType(type)
+ {
+ }
+ void fire(const LLUUID& item_id)
+ {
+ llinfos << "Recovered item link for type " << mType << llendl;
+ mHolder->mTypesToLink.erase(mType);
+ // Add wearable to FoundData for actual wearing
+ LLViewerInventoryItem *item = gInventory.getItem(item_id);
+ LLViewerInventoryItem *linked_item = item ? item->getLinkedItem() : NULL;
+
+ if (linked_item)
{
- llinfos << "Activating " << mGestItems.count() << " gestures" << llendl;
-
- LLGestureManager::instance().activateGestures(mGestItems);
+ gInventory.addChangedMask(LLInventoryObserver::LABEL, linked_item->getUUID());
- // Update the inventory item labels to reflect the fact
- // they are active.
- LLViewerInventoryCategory* catp =
- gInventory.getCategory(LLAppearanceManager::instance().getCOF());
-
- if (catp)
+ if (item)
+ {
+ LLFoundData found(linked_item->getUUID(),
+ linked_item->getAssetUUID(),
+ linked_item->getName(),
+ linked_item->getType(),
+ linked_item->isWearableType() ? linked_item->getWearableType() : WT_INVALID
+ );
+ found.mWearable = mWearable;
+ mHolder->mFoundList.push_front(found);
+ }
+ else
{
- gInventory.updateCategory(catp);
- gInventory.notifyObservers();
+ llwarns << "inventory item not found for recovered wearable" << llendl;
}
}
+ else
+ {
+ llwarns << "inventory link not found for recovered wearable" << llendl;
+ }
+ }
+private:
+ LLWearableHoldingPattern* mHolder;
+ LLWearable *mWearable;
+ EWearableType mType;
+};
- // Update wearables.
- llinfos << "Updating agent wearables with " << mResolved << " wearable items " << llendl;
- LLAppearanceManager::instance().updateAgentWearables(this, false);
-
- // Update attachments to match those requested.
- LLVOAvatar* avatar = gAgent.getAvatarObject();
- if( avatar )
+class RecoveredItemCB: public LLInventoryCallback
+{
+public:
+ RecoveredItemCB(EWearableType type, LLWearable *wearable, LLWearableHoldingPattern* holder):
+ mHolder(holder),
+ mWearable(wearable),
+ mType(type)
+ {
+ }
+ void fire(const LLUUID& item_id)
+ {
+ llinfos << "Recovered item for type " << mType << llendl;
+ LLViewerInventoryItem *itemp = gInventory.getItem(item_id);
+ mWearable->setItemID(item_id);
+ LLPointer<LLInventoryCallback> cb = new RecoveredItemLinkCB(mType,mWearable,mHolder);
+ mHolder->mTypesToRecover.erase(mType);
+ llassert(itemp);
+ if (itemp)
{
- llinfos << "Updating " << mObjItems.count() << " attachments" << llendl;
- LLAgentWearables::userUpdateAttachments(mObjItems);
+ link_inventory_item( gAgent.getID(),
+ item_id,
+ LLAppearanceManager::instance().getCOF(),
+ itemp->getName(),
+ LLAssetType::AT_LINK,
+ cb);
}
+ }
+private:
+ LLWearableHoldingPattern* mHolder;
+ LLWearable *mWearable;
+ EWearableType mType;
+};
- if (completed)
+void LLWearableHoldingPattern::recoverMissingWearable(EWearableType type)
+{
+ // Try to recover by replacing missing wearable with a new one.
+ LLNotificationsUtil::add("ReplacedMissingWearable");
+ lldebugs << "Wearable " << LLWearableDictionary::getTypeLabel(type)
+ << " could not be downloaded. Replaced inventory item with default wearable." << llendl;
+ LLWearable* wearable = LLWearableList::instance().createNewWearable(type);
+
+ // Add a new one in the lost and found folder.
+ const LLUUID lost_and_found_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_LOST_AND_FOUND);
+ LLPointer<LLInventoryCallback> cb = new RecoveredItemCB(type,wearable,this);
+
+ create_inventory_item(gAgent.getID(),
+ gAgent.getSessionID(),
+ lost_and_found_id,
+ wearable->getTransactionID(),
+ wearable->getName(),
+ wearable->getDescription(),
+ wearable->getAssetType(),
+ LLInventoryType::IT_WEARABLE,
+ wearable->getType(),
+ wearable->getPermissions().getMaskNextOwner(),
+ cb);
+}
+
+bool LLWearableHoldingPattern::isMissingCompleted()
+{
+ return mTypesToLink.size()==0 && mTypesToRecover.size()==0;
+}
+
+void LLWearableHoldingPattern::clearCOFLinksForMissingWearables()
+{
+ for (found_list_t::iterator it = mFoundList.begin(); it != mFoundList.end(); ++it)
+ {
+ LLFoundData &data = *it;
+ if ((data.mWearableType < WT_COUNT) && (!data.mWearable))
{
- // Only safe to delete if all wearable callbacks completed.
- delete this;
+ // Wearable link that was never resolved; remove links to it from COF
+ llinfos << "removing link for unresolved item " << data.mItemID.asString() << llendl;
+ LLAppearanceManager::instance().removeCOFItemLinks(data.mItemID,false);
}
}
+}
+
+bool LLWearableHoldingPattern::pollMissingWearables()
+{
+ bool timed_out = isTimedOut();
+ bool missing_completed = isMissingCompleted();
+ bool done = timed_out || missing_completed;
+
+ llinfos << "polling missing wearables, waiting for items " << mTypesToRecover.size()
+ << " links " << mTypesToLink.size()
+ << " wearables, timed out " << timed_out
+ << " elapsed " << mWaitTime.getElapsedTimeF32()
+ << " done " << done << llendl;
+
+ if (done)
+ {
+ clearCOFLinksForMissingWearables();
+ onAllComplete();
+ }
return done;
}
+static void onWearableAssetFetch(LLWearable* wearable, void* data)
+{
+ LLWearableHoldingPattern* holder = (LLWearableHoldingPattern*)data;
+ holder->mResolved += 1; // just counting callbacks, not successes.
+ llinfos << "onWearableAssetFetch, resolved count " << holder->mResolved << " of requested " << holder->mFoundList.size() << llendl;
+ if (wearable)
+ {
+ llinfos << "wearable found, type " << wearable->getType() << " asset " << wearable->getAssetID() << llendl;
+ }
+ else
+ {
+ llwarns << "no wearable found" << llendl;
+ }
+
+ if (holder->mFired)
+ {
+ llwarns << "called after holder fired" << llendl;
+ return;
+ }
+
+ if (!wearable)
+ {
+ return;
+ }
+
+ for (LLWearableHoldingPattern::found_list_t::iterator iter = holder->mFoundList.begin();
+ iter != holder->mFoundList.end(); ++iter)
+ {
+ LLFoundData& data = *iter;
+ if(wearable->getAssetID() == data.mAssetID)
+ {
+ data.mWearable = wearable;
+ // Failing this means inventory or asset server are corrupted in a way we don't handle.
+ llassert((data.mWearableType < WT_COUNT) && (wearable->getType() == data.mWearableType));
+ break;
+ }
+ }
+}
+
+
static void removeDuplicateItems(LLInventoryModel::item_array_t& items)
{
LLInventoryModel::item_array_t new_items;
@@ -473,30 +723,6 @@ static void removeDuplicateItems(LLInventoryModel::item_array_t& items)
items = new_items;
}
-static void onWearableAssetFetch(LLWearable* wearable, void* data)
-{
- LLWearableHoldingPattern* holder = (LLWearableHoldingPattern*)data;
- if (holder->mFired)
- {
- llwarns << "called after holder fired" << llendl;
- }
-
- if(wearable)
- {
- for (LLWearableHoldingPattern::found_list_t::iterator iter = holder->mFoundList.begin();
- iter != holder->mFoundList.end(); ++iter)
- {
- LLFoundData& data = *iter;
- if(wearable->getAssetID() == data.mAssetID)
- {
- data.mWearable = wearable;
- break;
- }
- }
- }
- holder->mResolved += 1;
-}
-
const LLUUID LLAppearanceManager::getCOF() const
{
return gInventory.findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT);
@@ -581,47 +807,91 @@ void LLAppearanceManager::shallowCopyCategory(const LLUUID& src_id, const LLUUID
void LLAppearanceManager::shallowCopyCategoryContents(const LLUUID& src_id, const LLUUID& dst_id,
LLPointer<LLInventoryCallback> cb)
{
- LLInventoryModel::cat_array_t cats;
- LLInventoryModel::item_array_t items;
- gInventory.collectDescendents(src_id, cats, items,
- LLInventoryModel::EXCLUDE_TRASH);
- for (S32 i = 0; i < items.count(); ++i)
- {
- const LLViewerInventoryItem* item = items.get(i).get();
- if (item->getActualType() == LLAssetType::AT_LINK)
+ LLInventoryModel::cat_array_t* cats;
+ LLInventoryModel::item_array_t* items;
+ gInventory.getDirectDescendentsOf(src_id, cats, items);
+ for (LLInventoryModel::item_array_t::const_iterator iter = items->begin();
+ iter != items->end();
+ ++iter)
+ {
+ const LLViewerInventoryItem* item = (*iter);
+ switch (item->getActualType())
{
- link_inventory_item(gAgent.getID(),
- item->getLinkedUUID(),
- dst_id,
- item->getName(),
- LLAssetType::AT_LINK, cb);
- }
- else if (item->getActualType() == LLAssetType::AT_LINK_FOLDER)
- {
- LLViewerInventoryCategory *catp = item->getLinkedCategory();
- // Skip copying outfit links.
- if (catp && catp->getPreferredType() != LLFolderType::FT_OUTFIT)
+ case LLAssetType::AT_LINK:
{
link_inventory_item(gAgent.getID(),
item->getLinkedUUID(),
dst_id,
item->getName(),
- LLAssetType::AT_LINK_FOLDER, cb);
+ LLAssetType::AT_LINK, cb);
+ break;
+ }
+ case LLAssetType::AT_LINK_FOLDER:
+ {
+ LLViewerInventoryCategory *catp = item->getLinkedCategory();
+ // Skip copying outfit links.
+ if (catp && catp->getPreferredType() != LLFolderType::FT_OUTFIT)
+ {
+ link_inventory_item(gAgent.getID(),
+ item->getLinkedUUID(),
+ dst_id,
+ item->getName(),
+ LLAssetType::AT_LINK_FOLDER, cb);
+ }
+ break;
+ }
+ case LLAssetType::AT_CLOTHING:
+ case LLAssetType::AT_OBJECT:
+ case LLAssetType::AT_BODYPART:
+ case LLAssetType::AT_GESTURE:
+ {
+ copy_inventory_item(gAgent.getID(),
+ item->getPermissions().getOwner(),
+ item->getUUID(),
+ dst_id,
+ item->getName(),
+ cb);
+ break;
}
+ default:
+ // Ignore non-outfit asset types
+ break;
}
- else
+ }
+}
+
+BOOL LLAppearanceManager::getCanMakeFolderIntoOutfit(const LLUUID& folder_id)
+{
+ // These are the wearable items that are required for considering this
+ // folder as containing a complete outfit.
+ U32 required_wearables = 0;
+ required_wearables |= 1LL << WT_SHAPE;
+ required_wearables |= 1LL << WT_SKIN;
+ required_wearables |= 1LL << WT_HAIR;
+ required_wearables |= 1LL << WT_EYES;
+
+ // These are the wearables that the folder actually contains.
+ U32 folder_wearables = 0;
+ LLInventoryModel::cat_array_t* cats;
+ LLInventoryModel::item_array_t* items;
+ gInventory.getDirectDescendentsOf(folder_id, cats, items);
+ for (LLInventoryModel::item_array_t::const_iterator iter = items->begin();
+ iter != items->end();
+ ++iter)
+ {
+ const LLViewerInventoryItem* item = (*iter);
+ if (item->isWearableType())
{
- copy_inventory_item(
- gAgent.getID(),
- item->getPermissions().getOwner(),
- item->getUUID(),
- dst_id,
- item->getName(),
- cb);
+ const EWearableType wearable_type = item->getWearableType();
+ folder_wearables |= 1LL << wearable_type;
}
}
+
+ // If the folder contains the required wearables, return TRUE.
+ return ((required_wearables & folder_wearables) == required_wearables);
}
+
void LLAppearanceManager::purgeBaseOutfitLink(const LLUUID& category)
{
LLInventoryModel::cat_array_t cats;
@@ -718,7 +988,8 @@ void LLAppearanceManager::linkAll(const LLUUID& category,
void LLAppearanceManager::updateCOF(const LLUUID& category, bool append)
{
- llinfos << "starting" << llendl;
+ LLViewerInventoryCategory *pcat = gInventory.getCategory(category);
+ llinfos << "starting, cat " << (pcat ? pcat->getName() : "[UNKNOWN]") << llendl;
const LLUUID cof = getCOF();
@@ -893,6 +1164,9 @@ void LLAppearanceManager::updateAppearanceFromCOF()
// wearables can be resolved immediately, then the
// callback will be called (and this object deleted)
// before the final getNextData().
+
+ // BAP future cleanup - no point having found_container when
+ // mFoundList already has all the info.
LLDynamicArray<LLFoundData> found_container;
for(S32 i = 0; i < wear_items.count(); ++i)
{
@@ -903,7 +1177,21 @@ void LLAppearanceManager::updateAppearanceFromCOF()
LLFoundData found(linked_item->getUUID(),
linked_item->getAssetUUID(),
linked_item->getName(),
- linked_item->getType());
+ linked_item->getType(),
+ linked_item->isWearableType() ? linked_item->getWearableType() : WT_INVALID
+ );
+
+#if 0
+ // Fault injection: uncomment this block to test asset
+ // fetch failures (should be replaced by new defaults in
+ // lost&found).
+ if (found.mWearableType == WT_SHAPE || found.mWearableType == WT_JACKET)
+ {
+ found.mAssetID.generate(); // Replace with new UUID, guaranteed not to exist in DB
+
+ }
+#endif
+
holder->mFoundList.push_front(found);
found_container.put(found);
}
@@ -923,7 +1211,9 @@ void LLAppearanceManager::updateAppearanceFromCOF()
for(S32 i = 0; i < found_container.count(); ++i)
{
LLFoundData& found = found_container.get(i);
-
+
+ llinfos << "waiting for onWearableAssetFetch callback, asset " << found.mAssetID.asString() << llendl;
+
// Fetch the wearables about to be worn.
LLWearableList::instance().getAsset(found.mAssetID,
found.mName,
@@ -933,9 +1223,9 @@ void LLAppearanceManager::updateAppearanceFromCOF()
}
- if (!holder->pollCompletion())
+ if (!holder->pollFetchCompletion())
{
- doOnIdleRepeating(boost::bind(&LLWearableHoldingPattern::pollCompletion,holder));
+ doOnIdleRepeating(boost::bind(&LLWearableHoldingPattern::pollFetchCompletion,holder));
}
}
diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h
index 28b51ee0f6..9d6cd34ad7 100644
--- a/indra/newview/llappearancemgr.h
+++ b/indra/newview/llappearancemgr.h
@@ -60,6 +60,9 @@ public:
void shallowCopyCategory(const LLUUID& src_id, const LLUUID& dst_id,
LLPointer<LLInventoryCallback> cb);
+ // Return whether this folder contains minimal contents suitable for making a full outfit.
+ BOOL getCanMakeFolderIntoOutfit(const LLUUID& folder_id);
+
// Copy all items in a category.
void shallowCopyCategoryContents(const LLUUID& src_id, const LLUUID& dst_id,
LLPointer<LLInventoryCallback> cb);
@@ -151,6 +154,18 @@ public:
BOOL getIsProtectedCOFItem(const LLUUID& obj_id) const;
};
+class LLUpdateAppearanceOnDestroy: public LLInventoryCallback
+{
+public:
+ LLUpdateAppearanceOnDestroy();
+ virtual ~LLUpdateAppearanceOnDestroy();
+ /* virtual */ void fire(const LLUUID& inv_item);
+
+private:
+ U32 mFireCount;
+};
+
+
#define SUPPORT_ENSEMBLES 0
LLUUID findDescendentCategoryIDByName(const LLUUID& parent_id,const std::string& name);
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 62b8b972b6..e6206ba0d2 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -304,7 +304,8 @@ static std::string gLaunchFileOnQuit;
// Used on Win32 for other apps to identify our window (eg, win_setup)
const char* const VIEWER_WINDOW_CLASSNAME = "Second Life";
-
+static const S32 FIRST_RUN_WINDOW_WIDTH = 1024;
+static const S32 FIRST_RUN_WINDOW_HRIGHT = 768;
//----------------------------------------------------------------------------
// List of entries from strings.xml to always replace
@@ -699,9 +700,9 @@ bool LLAppViewer::init()
settings_map["account"] = &gSavedPerAccountSettings;
LLUI::initClass(settings_map,
- LLUIImageList::getInstance(),
- ui_audio_callback,
- &LLUI::sGLScaleFactor);
+ LLUIImageList::getInstance(),
+ ui_audio_callback,
+ &LLUI::sGLScaleFactor);
// Setup paths and LLTrans after LLUI::initClass has been called
LLUI::setupPaths();
@@ -1511,7 +1512,7 @@ bool LLAppViewer::cleanup()
LLAvatarIconIDCache::getInstance()->save();
llinfos << "Shutting down Threads" << llendflush;
-
+
// Let threads finish
LLTimer idleTimer;
idleTimer.reset();
@@ -1525,19 +1526,26 @@ bool LLAppViewer::cleanup()
pending += LLVFSThread::updateClass(0);
pending += LLLFSThread::updateClass(0);
F64 idle_time = idleTimer.getElapsedTimeF64();
- if (!pending || idle_time >= max_idle_time)
+ if(!pending)
+ {
+ break ; //done
+ }
+ else if(idle_time >= max_idle_time)
{
llwarns << "Quitting with pending background tasks." << llendl;
break;
}
}
-
+
// Delete workers first
// shotdown all worker threads before deleting them in case of co-dependencies
sTextureCache->shutdown();
sTextureFetch->shutdown();
sImageDecodeThread->shutdown();
+ sTextureFetch->shutDownTextureCacheThread() ;
+ sTextureFetch->shutDownImageDecodeThread() ;
+
delete sTextureCache;
sTextureCache = NULL;
delete sTextureFetch;
@@ -2358,12 +2366,35 @@ bool LLAppViewer::initWindow()
// store setting in a global for easy access and modification
gNoRender = gSavedSettings.getBOOL("DisableRendering");
+ S32 window_x = gSavedSettings.getS32("WindowX");
+ S32 window_y = gSavedSettings.getS32("WindowY");
+ S32 window_width = gSavedSettings.getS32("WindowWidth");
+ S32 window_height = gSavedSettings.getS32("WindowHeight");
+
+ bool show_maximized = gSavedSettings.getBOOL("WindowMaximized");
+
+ bool first_run = gSavedSettings.getBOOL("FirstLoginThisInstall");
+
+ if (first_run)//for first login
+ {
+ window_width = FIRST_RUN_WINDOW_WIDTH;//yep hardcoded
+ window_height = FIRST_RUN_WINDOW_HRIGHT;
+
+ //if screen resolution is lower then 1024*768 then show maximized
+ LLDisplayInfo display_info;
+ if(display_info.getDisplayWidth() <= FIRST_RUN_WINDOW_WIDTH
+ || display_info.getDisplayHeight()<=FIRST_RUN_WINDOW_HRIGHT)
+ {
+ show_maximized = true;
+ }
+ }
+
// always start windowed
BOOL ignorePixelDepth = gSavedSettings.getBOOL("IgnorePixelDepth");
gViewerWindow = new LLViewerWindow(gWindowTitle,
VIEWER_WINDOW_CLASSNAME,
- gSavedSettings.getS32("WindowX"), gSavedSettings.getS32("WindowY"),
- gSavedSettings.getS32("WindowWidth"), gSavedSettings.getS32("WindowHeight"),
+ window_x, window_y,
+ window_width, window_height,
FALSE, ignorePixelDepth);
LLNotificationsUI::LLNotificationManager::getInstance();
@@ -2374,7 +2405,7 @@ bool LLAppViewer::initWindow()
gViewerWindow->toggleFullscreen(FALSE);
}
- if (gSavedSettings.getBOOL("WindowMaximized"))
+ if (show_maximized)
{
gViewerWindow->mWindow->maximize();
gViewerWindow->getWindow()->setNativeAspectRatio(gSavedSettings.getF32("FullScreenAspectRatio"));
@@ -3580,13 +3611,15 @@ void LLAppViewer::idle()
{
// Handle pending gesture processing
+ static LLFastTimer::DeclareTimer ftm("Agent Position");
+ LLFastTimer t(ftm);
LLGestureManager::instance().update();
gAgent.updateAgentPosition(gFrameDTClamped, yaw, current_mouse.mX, current_mouse.mY);
}
{
- LLFastTimer t(FTM_OBJECTLIST_UPDATE); // Actually "object update"
+ LLFastTimer t(FTM_OBJECTLIST_UPDATE);
if (!(logoutRequestSent() && hasSavedFinalSnapshot()))
{
@@ -3620,6 +3653,8 @@ void LLAppViewer::idle()
//
{
+ static LLFastTimer::DeclareTimer ftm("HUD Effects");
+ LLFastTimer t(ftm);
LLSelectMgr::getInstance()->updateEffects();
LLHUDManager::getInstance()->cleanupEffects();
LLHUDManager::getInstance()->sendEffects();
@@ -3876,7 +3911,7 @@ void LLAppViewer::sendLogoutRequest()
static F32 CheckMessagesMaxTime = CHECK_MESSAGES_DEFAULT_MAX_TIME;
#endif
-static LLFastTimer::DeclareTimer FTM_IDLE_NETWORK("Network");
+static LLFastTimer::DeclareTimer FTM_IDLE_NETWORK("Idle Network");
void LLAppViewer::idleNetwork()
{
diff --git a/indra/newview/llappviewermacosx.cpp b/indra/newview/llappviewermacosx.cpp
index f8f8f50cd6..80d9b14345 100644
--- a/indra/newview/llappviewermacosx.cpp
+++ b/indra/newview/llappviewermacosx.cpp
@@ -392,7 +392,12 @@ void LLAppViewerMacOSX::handleCrashReporting(bool reportFreeze)
_exit(1);
}
- // TODO:palmer REMOVE THIS VERY SOON. THIS WILL NOT BE IN VIEWER 2.0
+ // TODO from palmer: Find a better way to handle managing old crash logs
+ // when this is a separate imbedable module. Ideally just sort crash stack
+ // logs based on date, and grab the latest one as opposed to deleting them
+ // for thoughts on what the module would look like.
+ // See: https://wiki.lindenlab.com/wiki/Viewer_Crash_Reporter_Round_4
+
// Remove the crash stack log from previous executions.
// Since we've started logging a new instance of the app, we can assume
// The old crash stack is invalid for the next crash report.
diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp
index 298e221460..f947300f54 100644
--- a/indra/newview/llavataractions.cpp
+++ b/indra/newview/llavataractions.cpp
@@ -50,6 +50,7 @@
#include "llfloatergroups.h"
#include "llfloaterreg.h"
#include "llfloaterpay.h"
+#include "llfloaterworldmap.h"
#include "llinventorymodel.h" // for gInventory.findCategoryUUIDForType
#include "llimview.h" // for gIMMgr
#include "llmutelist.h"
@@ -332,6 +333,20 @@ void LLAvatarActions::showProfile(const LLUUID& id)
}
// static
+void LLAvatarActions::showOnMap(const LLUUID& id)
+{
+ std::string name;
+ if (!gCacheName->getFullName(id, name))
+ {
+ gCacheName->get(id, FALSE, boost::bind(&LLAvatarActions::showOnMap, id));
+ return;
+ }
+
+ gFloaterWorldMap->trackAvatar(id, name);
+ LLFloaterReg::showInstance("world_map");
+}
+
+// static
void LLAvatarActions::pay(const LLUUID& id)
{
LLNotification::Params params("BusyModePay");
diff --git a/indra/newview/llavataractions.h b/indra/newview/llavataractions.h
index 16a58718a2..a7f3acad4f 100644
--- a/indra/newview/llavataractions.h
+++ b/indra/newview/llavataractions.h
@@ -99,6 +99,11 @@ public:
static void showProfile(const LLUUID& id);
/**
+ * Show avatar on world map.
+ */
+ static void showOnMap(const LLUUID& id);
+
+ /**
* Give money to the avatar.
*/
static void pay(const LLUUID& id);
diff --git a/indra/newview/llavatarlist.cpp b/indra/newview/llavatarlist.cpp
index 6784e6693b..45c540b3a3 100644
--- a/indra/newview/llavatarlist.cpp
+++ b/indra/newview/llavatarlist.cpp
@@ -183,6 +183,15 @@ void LLAvatarList::sortByName()
sort();
}
+void LLAvatarList::setDirty(bool val /*= true*/, bool force_refresh /*= false*/)
+{
+ mDirty = val;
+ if(mDirty && force_refresh)
+ {
+ refresh();
+ }
+}
+
//////////////////////////////////////////////////////////////////////////
// PROTECTED SECTION
//////////////////////////////////////////////////////////////////////////
@@ -329,7 +338,7 @@ void LLAvatarList::addNewItem(const LLUUID& id, const std::string& name, BOOL is
{
LLAvatarListItem* item = new LLAvatarListItem();
item->setName(name);
- item->setAvatarId(id, mIgnoreOnlineStatus);
+ item->setAvatarId(id, mSessionID, mIgnoreOnlineStatus);
item->setOnline(mIgnoreOnlineStatus ? true : is_online);
item->showLastInteractionTime(mShowLastInteractionTime);
diff --git a/indra/newview/llavatarlist.h b/indra/newview/llavatarlist.h
index aeed4fee08..00c72f1f9d 100644
--- a/indra/newview/llavatarlist.h
+++ b/indra/newview/llavatarlist.h
@@ -73,11 +73,13 @@ public:
virtual void clear();
void setNameFilter(const std::string& filter);
- void setDirty(bool val = true) { mDirty = val; }
+ void setDirty(bool val = true, bool force_refresh = false);
uuid_vector_t& getIDs() { return mIDs; }
bool contains(const LLUUID& id);
void setContextMenu(LLAvatarListItem::ContextMenu* menu) { mContextMenu = menu; }
+ void setSessionID(const LLUUID& session_id) { mSessionID = session_id; }
+ const LLUUID& getSessionID() { return mSessionID; }
void toggleIcons();
void setSpeakingIndicatorsVisible(bool visible);
@@ -119,6 +121,7 @@ private:
std::string mIconParamName;
std::string mNameFilter;
uuid_vector_t mIDs;
+ LLUUID mSessionID;
LLAvatarListItem::ContextMenu* mContextMenu;
diff --git a/indra/newview/llavatarlistitem.cpp b/indra/newview/llavatarlistitem.cpp
index 615fff1a53..c70570b532 100644
--- a/indra/newview/llavatarlistitem.cpp
+++ b/indra/newview/llavatarlistitem.cpp
@@ -211,14 +211,14 @@ void LLAvatarListItem::setState(EItemState item_style)
mAvatarIcon->setColor(item_icon_color_map[item_style]);
}
-void LLAvatarListItem::setAvatarId(const LLUUID& id, bool ignore_status_changes)
+void LLAvatarListItem::setAvatarId(const LLUUID& id, const LLUUID& session_id, bool ignore_status_changes)
{
if (mAvatarId.notNull())
LLAvatarTracker::instance().removeParticularFriendObserver(mAvatarId, this);
mAvatarId = id;
mAvatarIcon->setValue(id);
- mSpeakingIndicator->setSpeakerId(id);
+ mSpeakingIndicator->setSpeakerId(id, session_id);
// We'll be notified on avatar online status changes
if (!ignore_status_changes && mAvatarId.notNull())
diff --git a/indra/newview/llavatarlistitem.h b/indra/newview/llavatarlistitem.h
index 00c87ec330..70750723dc 100644
--- a/indra/newview/llavatarlistitem.h
+++ b/indra/newview/llavatarlistitem.h
@@ -100,7 +100,7 @@ public:
void setName(const std::string& name);
void setHighlight(const std::string& highlight);
void setState(EItemState item_style);
- void setAvatarId(const LLUUID& id, bool ignore_status_changes = false);
+ void setAvatarId(const LLUUID& id, const LLUUID& session_id, bool ignore_status_changes = false);
void setLastInteractionTime(U32 secs_since);
//Show/hide profile/info btn, translating speaker indicator and avatar name coordinates accordingly
void setShowProfileBtn(bool show);
diff --git a/indra/newview/llbottomtray.cpp b/indra/newview/llbottomtray.cpp
index 3f60cec6da..b88be53d79 100644
--- a/indra/newview/llbottomtray.cpp
+++ b/indra/newview/llbottomtray.cpp
@@ -72,6 +72,17 @@ namespace
return minimal_width;
}
+ S32 get_panel_max_width(LLLayoutStack* stack, LLPanel* panel)
+ {
+ S32 max_width = 0;
+ llassert(stack);
+ if ( stack && panel && panel->getVisible() )
+ {
+ stack->getPanelMaxSize(panel->getName(), &max_width, NULL);
+ }
+ return max_width;
+ }
+
S32 get_curr_width(LLUICtrl* ctrl)
{
S32 cur_width = 0;
@@ -422,6 +433,18 @@ void LLBottomTray::showSnapshotButton(BOOL visible)
setTrayButtonVisibleIfPossible(RS_BUTTON_SNAPSHOT, visible);
}
+void LLBottomTray::toggleMovementControls()
+{
+ if (mMovementButton)
+ mMovementButton->onCommit();
+}
+
+void LLBottomTray::toggleCameraControls()
+{
+ if (mCamButton)
+ mCamButton->onCommit();
+}
+
BOOL LLBottomTray::postBuild()
{
@@ -660,7 +683,7 @@ S32 LLBottomTray::processWidthDecreased(S32 delta_width)
}
const S32 chatbar_panel_width = mNearbyChatBar->getRect().getWidth();
- const S32 chatbar_panel_min_width = mNearbyChatBar->getMinWidth();
+ const S32 chatbar_panel_min_width = get_panel_min_width(mToolbarStack, mNearbyChatBar);
if (still_should_be_processed && chatbar_panel_width > chatbar_panel_min_width)
{
// we have some space to decrease chatbar panel
@@ -733,11 +756,11 @@ void LLBottomTray::processWidthIncreased(S32 delta_width)
if (delta_width <= 0) return;
const S32 chiclet_panel_width = mChicletPanel->getParent()->getRect().getWidth();
- const S32 chiclet_panel_min_width = mChicletPanel->getMinWidth();
+ static const S32 chiclet_panel_min_width = mChicletPanel->getMinWidth();
const S32 chatbar_panel_width = mNearbyChatBar->getRect().getWidth();
- const S32 chatbar_panel_min_width = mNearbyChatBar->getMinWidth();
- const S32 chatbar_panel_max_width = mNearbyChatBar->getMaxWidth();
+ static const S32 chatbar_panel_min_width = get_panel_min_width(mToolbarStack, mNearbyChatBar);
+ static const S32 chatbar_panel_max_width = get_panel_max_width(mToolbarStack, mNearbyChatBar);
const S32 chatbar_available_shrink_width = chatbar_panel_width - chatbar_panel_min_width;
const S32 available_width_chiclet = chiclet_panel_width - chiclet_panel_min_width;
@@ -914,13 +937,12 @@ void LLBottomTray::processShrinkButtons(S32* required_width, S32* buttons_freed_
}
else
{
- //
- //mSpeakBtn->setLabelVisible(false); // HACK: this button doesn't change size so label should not be turned off
S32 panel_width = mSpeakPanel->getRect().getWidth();
S32 possible_shrink_width = panel_width - panel_min_width;
if (possible_shrink_width > 0)
{
+ mSpeakBtn->setLabelVisible(false);
mSpeakPanel->reshape(panel_width - possible_shrink_width, mSpeakPanel->getRect().getHeight());
*required_width += possible_shrink_width;
@@ -995,11 +1017,11 @@ void LLBottomTray::processExtendButtons(S32* available_width)
if (*available_width > 0)
{
- processExtendButton(RS_BUTTON_CAMERA, available_width);
+ processExtendButton(RS_BUTTON_MOVEMENT, available_width);
}
if (*available_width > 0)
{
- processExtendButton(RS_BUTTON_MOVEMENT, available_width);
+ processExtendButton(RS_BUTTON_CAMERA, available_width);
}
if (*available_width > 0)
{
@@ -1175,7 +1197,7 @@ bool LLBottomTray::setVisibleAndFitWidths(EResizeState object_type, bool visible
{
// Calculate the possible shrunk width as difference between current and minimal widths
const S32 chatbar_shrunk_width =
- mNearbyChatBar->getRect().getWidth() - mNearbyChatBar->getMinWidth();
+ mNearbyChatBar->getRect().getWidth() - get_panel_min_width(mToolbarStack, mNearbyChatBar);
const S32 sum_of_min_widths =
get_panel_min_width(mToolbarStack, mStateProcessedObjectMap[RS_BUTTON_CAMERA]) +
@@ -1199,8 +1221,8 @@ bool LLBottomTray::setVisibleAndFitWidths(EResizeState object_type, bool visible
if ( (available_width + possible_shrunk_width) >= minimal_width)
{
// There is enough space for minimal width, but set the result_width
- // to current_width so buttons widths decreasing will be done in predefined order
- result_width = current_width;
+ // to preferred_width so buttons widths decreasing will be done in predefined order
+ result_width = (preferred_width > 0) ? preferred_width : current_width;
decrease_width = true;
}
else
diff --git a/indra/newview/llbottomtray.h b/indra/newview/llbottomtray.h
index 2eeb0c0017..18c14e5e19 100644
--- a/indra/newview/llbottomtray.h
+++ b/indra/newview/llbottomtray.h
@@ -94,6 +94,9 @@ public:
void showCameraButton(BOOL visible);
void showSnapshotButton(BOOL visible);
+ void toggleMovementControls();
+ void toggleCameraControls();
+
void onMouselookModeIn();
void onMouselookModeOut();
diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp
index 76e058a1c3..c8552de66a 100644
--- a/indra/newview/llcallfloater.cpp
+++ b/indra/newview/llcallfloater.cpp
@@ -115,6 +115,9 @@ LLCallFloater::LLCallFloater(const LLSD& key)
mFactoryMap["non_avatar_caller"] = LLCallbackMap(create_non_avatar_caller, NULL);
LLVoiceClient::getInstance()->addObserver(this);
LLTransientFloaterMgr::getInstance()->addControlView(this);
+
+ // force docked state since this floater doesn't save it between recreations
+ setDocked(true);
}
LLCallFloater::~LLCallFloater()
diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h
index dac4390fa7..0a8ea7de39 100644
--- a/indra/newview/llcallfloater.h
+++ b/indra/newview/llcallfloater.h
@@ -260,6 +260,10 @@ private:
* @see sOnCurrentChannelChanged()
*/
static LLVoiceChannel* sCurrentVoiceCanel;
+
+ /* virtual */
+ LLTransientFloaterMgr::ETransientGroup getGroup() { return LLTransientFloaterMgr::IM; }
+
boost::signals2::connection mVoiceChannelStateChangeConnection;
};
diff --git a/indra/newview/llcallingcard.cpp b/indra/newview/llcallingcard.cpp
index af36406677..2b124118ca 100644
--- a/indra/newview/llcallingcard.cpp
+++ b/indra/newview/llcallingcard.cpp
@@ -683,17 +683,24 @@ void LLAvatarTracker::processNotify(LLMessageSystem* msg, bool online)
}
BOOL notify = FALSE;
LLSD args;
+ LLSD payload;
for(S32 i = 0; i < count; ++i)
{
msg->getUUIDFast(_PREHASH_AgentBlock, _PREHASH_AgentID, agent_id, i);
+ payload["FROM_ID"] = agent_id;
info = getBuddyInfo(agent_id);
if(info)
{
setBuddyOnline(agent_id,online);
if(chat_notify)
{
- notify = TRUE;
- args["NAME_SLURL"] = LLSLURL::buildCommand("agent", agent_id, "about");
+ std::string first, last;
+ if(gCacheName->getName(agent_id, first, last))
+ {
+ notify = TRUE;
+ args["FIRST"] = first;
+ args["LAST"] = last;
+ }
}
}
else
@@ -720,13 +727,13 @@ void LLAvatarTracker::processNotify(LLMessageSystem* msg, bool online)
notification =
LLNotificationsUtil::add("FriendOnline",
args,
- LLSD().with("respond_on_mousedown", TRUE),
+ payload.with("respond_on_mousedown", TRUE),
boost::bind(&LLAvatarActions::startIM, agent_id));
}
else
{
notification =
- LLNotificationsUtil::add("FriendOffline", args);
+ LLNotificationsUtil::add("FriendOffline", args, payload);
}
// If there's an open IM session with this agent, send a notification there too.
diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp
index eefffbbb43..bf3e8795a5 100644
--- a/indra/newview/llchathistory.cpp
+++ b/indra/newview/llchathistory.cpp
@@ -66,8 +66,6 @@ static LLDefaultChildRegistry::Register<LLChatHistory> r("chat_history");
const static std::string NEW_LINE(rawstr_to_utf8("\n"));
-const static U32 LENGTH_OF_TIME_STR = std::string("12:00").length();
-
const static std::string SLURL_APP_AGENT = "secondlife:///app/agent/";
const static std::string SLURL_ABOUT = "/about";
@@ -118,34 +116,6 @@ public:
return LLPanel::handleMouseUp(x,y,mask);
}
- //*TODO remake it using mouse enter/leave and static LLHandle<LLIconCtrl> to add/remove as a child
- BOOL handleToolTip(S32 x, S32 y, MASK mask)
- {
- LLTextBase* name = getChild<LLTextBase>("user_name");
- if (name && name->parentPointInView(x, y) && mAvatarID.notNull() && SYSTEM_FROM != mFrom)
- {
-
- // Spawn at right side of the name textbox.
- LLRect sticky_rect = name->calcScreenRect();
- S32 icon_x = llmin(sticky_rect.mLeft + name->getTextBoundingRect().getWidth() + 7, sticky_rect.mRight - 3);
-
- LLToolTip::Params params;
- params.background_visible(false);
- params.click_callback(boost::bind(&LLChatHistoryHeader::onHeaderPanelClick, this, 0, 0, 0));
- params.delay_time(0.0f); // spawn instantly on hover
- params.image(LLUI::getUIImage("Info_Small"));
- params.message("");
- params.padding(0);
- params.pos(LLCoordGL(icon_x, sticky_rect.mTop - 2));
- params.sticky_rect(sticky_rect);
-
- LLToolTipMgr::getInstance()->show(params);
- return TRUE;
- }
-
- return LLPanel::handleToolTip(x, y, mask);
- }
-
void onObjectIconContextMenuItemClicked(const LLSD& userdata)
{
std::string level = userdata.asString();
@@ -179,8 +149,7 @@ public:
}
else if (level == "add")
{
- std::string name = getFullName();
- LLAvatarActions::requestFriendshipDialog(getAvatarId(), name);
+ LLAvatarActions::requestFriendshipDialog(getAvatarId(), mFrom);
}
else if (level == "remove")
{
@@ -201,7 +170,10 @@ public:
menu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_object_icon.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance());
mPopupMenuHandleObject = menu->getHandle();
- setDoubleClickCallback(boost::bind(&LLChatHistoryHeader::onHeaderPanelClick, this, _2, _3, _4));
+ setDoubleClickCallback(boost::bind(&LLChatHistoryHeader::showInspector, this));
+
+ setMouseEnterCallback(boost::bind(&LLChatHistoryHeader::showInfoCtrl, this));
+ setMouseLeaveCallback(boost::bind(&LLChatHistoryHeader::hideInfoCtrl, this));
return LLPanel::postBuild();
}
@@ -235,8 +207,10 @@ public:
return LLPanel::handleRightMouseDown(x,y,mask);
}
- void onHeaderPanelClick(S32 x, S32 y, MASK mask)
+ void showInspector()
{
+ if (mAvatarID.isNull() && CHAT_SOURCE_SYSTEM != mSourceType) return;
+
if (mSourceType == CHAT_SOURCE_OBJECT)
{
LLFloaterReg::showInstance("inspect_object", LLSD().with("object_id", mAvatarID));
@@ -248,8 +222,18 @@ public:
//if chat source is system, you may add "else" here to define behaviour.
}
+ static void onClickInfoCtrl(LLUICtrl* info_ctrl)
+ {
+ if (!info_ctrl) return;
+
+ LLChatHistoryHeader* header = dynamic_cast<LLChatHistoryHeader*>(info_ctrl->getParent());
+ if (!header) return;
+
+ header->showInspector();
+ }
+
+
const LLUUID& getAvatarId () const { return mAvatarID;}
- const std::string& getFullName() const { return mFullName; }
void setup(const LLChat& chat,const LLStyle::Params& style_params)
{
@@ -259,7 +243,7 @@ public:
gCacheName->get(mAvatarID, false, boost::bind(&LLChatHistoryHeader::nameUpdatedCallback, this, _1, _2, _3));
//*TODO overly defensive thing, source type should be maintained out there
- if(chat.mFromID.isNull() || chat.mFromName == SYSTEM_FROM)
+ if((chat.mFromID.isNull() && chat.mFromName.empty()) || chat.mFromName == SYSTEM_FROM)
{
mSourceType = CHAT_SOURCE_SYSTEM;
}
@@ -269,10 +253,12 @@ public:
userName->setReadOnlyColor(style_params.readonly_color());
userName->setColor(style_params.color());
- userName->setValue(chat.mFromName);
+ userName->setValue(chat.mFromName);
+ mFrom = chat.mFromName;
if (chat.mFromName.empty() || CHAT_SOURCE_SYSTEM == mSourceType)
{
- userName->setValue(LLTrans::getString("SECOND_LIFE"));
+ mFrom = LLTrans::getString("SECOND_LIFE");
+ userName->setValue(mFrom);
}
@@ -294,7 +280,10 @@ public:
icon->setValue(LLSD("OBJECT_Icon"));
break;
case CHAT_SOURCE_SYSTEM:
- icon->setValue(LLSD("SL_Logo"));
+ icon->setValue(LLSD("SL_Logo"));
+ break;
+ case CHAT_SOURCE_UNKNOWN:
+ icon->setValue(LLSD("Unknown_Icon"));
}
}
@@ -332,7 +321,7 @@ public:
{
if (id != mAvatarID)
return;
- mFullName = full_name;
+ mFrom = full_name;
}
protected:
static const S32 PADDING = 20;
@@ -341,9 +330,9 @@ protected:
{
if(mSourceType == CHAT_SOURCE_SYSTEM)
showSystemContextMenu(x,y);
- if(mSourceType == CHAT_SOURCE_AGENT)
+ if(mAvatarID.notNull() && mSourceType == CHAT_SOURCE_AGENT)
showAvatarContextMenu(x,y);
- if(mSourceType == CHAT_SOURCE_OBJECT && SYSTEM_FROM != mFrom)
+ if(mAvatarID.notNull() && mSourceType == CHAT_SOURCE_OBJECT && SYSTEM_FROM != mFrom)
showObjectContextMenu(x,y);
}
@@ -387,6 +376,33 @@ protected:
}
}
+ void showInfoCtrl()
+ {
+ if (mAvatarID.isNull() || mFrom.empty() || SYSTEM_FROM == mFrom) return;
+
+ if (!sInfoCtrl)
+ {
+ sInfoCtrl = LLUICtrlFactory::createFromFile<LLUICtrl>("inspector_info_ctrl.xml", NULL, LLPanel::child_registry_t::instance());
+ sInfoCtrl->setCommitCallback(boost::bind(&LLChatHistoryHeader::onClickInfoCtrl, sInfoCtrl));
+ }
+
+ LLTextBase* name = getChild<LLTextBase>("user_name");
+ LLRect sticky_rect = name->getRect();
+ S32 icon_x = llmin(sticky_rect.mLeft + name->getTextBoundingRect().getWidth() + 7, sticky_rect.mRight - 3);
+ sInfoCtrl->setOrigin(icon_x, sticky_rect.getCenterY() - sInfoCtrl->getRect().getHeight() / 2 ) ;
+ addChild(sInfoCtrl);
+ }
+
+ void hideInfoCtrl()
+ {
+ if (!sInfoCtrl) return;
+
+ if (sInfoCtrl->getParent() == this)
+ {
+ removeChild(sInfoCtrl);
+ }
+ }
+
private:
void setTimeField(const LLChat& chat)
{
@@ -415,15 +431,17 @@ protected:
LLHandle<LLView> mPopupMenuHandleAvatar;
LLHandle<LLView> mPopupMenuHandleObject;
+ static LLUICtrl* sInfoCtrl;
+
LLUUID mAvatarID;
EChatSourceType mSourceType;
- std::string mFullName;
std::string mFrom;
LLUUID mSessionID;
S32 mMinUserNameWidth;
};
+LLUICtrl* LLChatHistoryHeader::sInfoCtrl = NULL;
LLChatHistory::LLChatHistory(const LLChatHistory::Params& p)
: LLUICtrl(p),
@@ -436,7 +454,8 @@ LLChatHistory::LLChatHistory(const LLChatHistory::Params& p)
mTopSeparatorPad(p.top_separator_pad),
mBottomSeparatorPad(p.bottom_separator_pad),
mTopHeaderPad(p.top_header_pad),
- mBottomHeaderPad(p.bottom_header_pad)
+ mBottomHeaderPad(p.bottom_header_pad),
+ mIsLastMessageFromLog(false)
{
LLTextEditor::Params editor_params(p);
editor_params.rect = getLocalRect();
@@ -472,7 +491,7 @@ void LLChatHistory::initFromParams(const LLChatHistory::Params& p)
panel_p.background_visible = false;
panel_p.has_border = false;
panel_p.mouse_opaque = false;
- stackp->addPanel(LLUICtrlFactory::create<LLPanel>(panel_p), 0, 30, true, false, LLLayoutStack::ANIMATE);
+ stackp->addPanel(LLUICtrlFactory::create<LLPanel>(panel_p), 0, 30, S32_MAX, S32_MAX, true, false, LLLayoutStack::ANIMATE);
panel_p.name = "new_text_notice_holder";
LLRect new_text_notice_rect = getLocalRect();
@@ -490,7 +509,7 @@ void LLChatHistory::initFromParams(const LLChatHistory::Params& p)
mMoreChatText = LLUICtrlFactory::create<LLTextBox>(text_p, mMoreChatPanel);
mMoreChatText->setClickedCallback(boost::bind(&LLChatHistory::onClickMoreText, this));
- stackp->addPanel(mMoreChatPanel, 0, 0, false, false, LLLayoutStack::ANIMATE);
+ stackp->addPanel(mMoreChatPanel, 0, 0, S32_MAX, S32_MAX, false, false, LLLayoutStack::ANIMATE);
}
@@ -603,8 +622,8 @@ void LLChatHistory::appendMessage(const LLChat& chat, const LLSD &args, const LL
style_params.font.style = "ITALIC";
}
- //*HACK we graying out chat history by graying out messages that contains full date in a time string
- bool message_from_log = chat.mTimeStr.length() > LENGTH_OF_TIME_STR;
+ bool message_from_log = chat.mChatStyle == CHAT_STYLE_HISTORY;
+ // We graying out chat history by graying out messages that contains full date in a time string
if (message_from_log)
{
style_params.color(LLColor4::grey);
@@ -618,7 +637,7 @@ void LLChatHistory::appendMessage(const LLChat& chat, const LLSD &args, const LL
if (utf8str_trim(chat.mFromName).size() != 0)
{
// Don't hotlink any messages from the system (e.g. "Second Life:"), so just add those in plain text.
- if ( chat.mSourceType == CHAT_SOURCE_OBJECT )
+ if ( chat.mSourceType == CHAT_SOURCE_OBJECT && chat.mFromID.notNull())
{
// for object IMs, create a secondlife:///app/objectim SLapp
std::string url = LLSLURL::buildCommand("objectim", chat.mFromID, "");
@@ -673,7 +692,7 @@ void LLChatHistory::appendMessage(const LLChat& chat, const LLSD &args, const LL
&& mLastFromID == chat.mFromID
&& mLastMessageTime.notNull()
&& (new_message_time.secondsSinceEpoch() - mLastMessageTime.secondsSinceEpoch()) < 60.0
- && mLastMessageTimeStr.size() == chat.mTimeStr.size()) //*HACK to distinguish between current and previous chat session's histories
+ && mIsLastMessageFromLog == message_from_log) //distinguish between current and previous chat session's histories
{
view = getSeparator();
p.top_pad = mTopSeparatorPad;
@@ -707,7 +726,7 @@ void LLChatHistory::appendMessage(const LLChat& chat, const LLSD &args, const LL
mLastFromName = chat.mFromName;
mLastFromID = chat.mFromID;
mLastMessageTime = new_message_time;
- mLastMessageTimeStr = chat.mTimeStr;
+ mIsLastMessageFromLog = message_from_log;
}
if (chat.mNotifId.notNull())
@@ -722,22 +741,26 @@ void LLChatHistory::appendMessage(const LLChat& chat, const LLSD &args, const LL
notify_box->setFollowsRight();
notify_box->setFollowsTop();
- LLButton* accept_button = notify_box->getChild<LLButton> ("Accept",
- TRUE);
- if (accept_button != NULL)
+ ctrl_list_t ctrls = notify_box->getControlPanel()->getCtrlList();
+ S32 offset = 0;
+ for (ctrl_list_t::iterator it = ctrls.begin(); it != ctrls.end(); it++)
{
- accept_button->setFollowsNone();
- accept_button->setOrigin(2*HPAD, accept_button->getRect().mBottom);
- }
-
- LLButton* decline_button = notify_box->getChild<LLButton> (
- "Decline", TRUE);
- if (accept_button != NULL && decline_button != NULL)
+ LLButton * button = dynamic_cast<LLButton*> (*it);
+ if (button != NULL)
{
- decline_button->setFollowsNone();
- decline_button->setOrigin(4*HPAD
- + accept_button->getRect().getWidth(),
- decline_button->getRect().mBottom);
+ button->setOrigin( offset,
+ button->getRect().mBottom);
+ button->setLeftHPad(2 * HPAD);
+ button->setRightHPad(2 * HPAD);
+ // set zero width before perform autoResize()
+ button->setRect(LLRect(button->getRect().mLeft,
+ button->getRect().mTop, button->getRect().mLeft,
+ button->getRect().mBottom));
+ button->setAutoResize(true);
+ button->autoResize();
+ offset += 2 * HPAD + button->getRect().getWidth();
+ button->setFollowsNone();
+ }
}
LLTextEditor* text_editor = notify_box->getChild<LLTextEditor>("text_editor_box", TRUE);
@@ -789,6 +812,12 @@ void LLChatHistory::appendMessage(const LLChat& chat, const LLSD &args, const LL
}
}
+ if (irc_me && !use_plain_text_chat_history)
+ {
+ message = chat.mFromName + message;
+ }
+
+
mEditor->appendText(message, FALSE, style_params);
}
mEditor->blockUndo();
diff --git a/indra/newview/llchathistory.h b/indra/newview/llchathistory.h
index 32600bb71d..950b32861b 100644
--- a/indra/newview/llchathistory.h
+++ b/indra/newview/llchathistory.h
@@ -128,7 +128,8 @@ class LLChatHistory : public LLUICtrl
std::string mLastFromName;
LLUUID mLastFromID;
LLDate mLastMessageTime;
- std::string mLastMessageTimeStr;
+ bool mIsLastMessageFromLog;
+ //std::string mLastMessageTimeStr;
std::string mMessageHeaderFilename;
std::string mMessageSeparatorFilename;
diff --git a/indra/newview/llchatitemscontainerctrl.cpp b/indra/newview/llchatitemscontainerctrl.cpp
index e164aa8fc4..81edb55f93 100644
--- a/indra/newview/llchatitemscontainerctrl.cpp
+++ b/indra/newview/llchatitemscontainerctrl.cpp
@@ -144,6 +144,7 @@ void LLNearbyChatToastPanel::init(LLSD& notification)
std::string messageText = notification["message"].asString(); // UTF-8 line of text
std::string fromName = notification["from"].asString(); // agent or object name
mFromID = notification["from_id"].asUUID(); // agent id or object id
+ mFromName = fromName;
int sType = notification["source"].asInteger();
mSourceType = (EChatSourceType)sType;
diff --git a/indra/newview/llchatitemscontainerctrl.h b/indra/newview/llchatitemscontainerctrl.h
index 4d730573d9..b28c9dbc4b 100644
--- a/indra/newview/llchatitemscontainerctrl.h
+++ b/indra/newview/llchatitemscontainerctrl.h
@@ -60,6 +60,7 @@ public:
static LLNearbyChatToastPanel* createInstance();
const LLUUID& getFromID() const { return mFromID;}
+ const std::string& getFromName() const { return mFromName; }
//void addText (const std::string& message , const LLStyle::Params& input_params = LLStyle::Params());
//void setMessage (const LLChat& msg);
@@ -84,9 +85,11 @@ public:
virtual void draw();
+ //*TODO REMOVE, why a dup of getFromID?
const LLUUID& messageID() const { return mFromID;}
private:
LLUUID mFromID; // agent id or object id
+ std::string mFromName;
EChatSourceType mSourceType;
diff --git a/indra/newview/llclassifiedstatsresponder.cpp b/indra/newview/llclassifiedstatsresponder.cpp
index ecd1879090..95f17aa7ba 100644
--- a/indra/newview/llclassifiedstatsresponder.cpp
+++ b/indra/newview/llclassifiedstatsresponder.cpp
@@ -43,11 +43,12 @@
#include "llview.h"
#include "message.h"
-LLClassifiedStatsResponder::LLClassifiedStatsResponder(LLHandle<LLView> classified_panel_handle, LLUUID classified_id)
-: mClassifiedPanelHandle(classified_panel_handle),
+LLClassifiedStatsResponder::LLClassifiedStatsResponder(LLUUID classified_id)
+:
mClassifiedID(classified_id)
{
}
+
/*virtual*/
void LLClassifiedStatsResponder::result(const LLSD& content)
{
@@ -58,17 +59,12 @@ void LLClassifiedStatsResponder::result(const LLSD& content)
S32 search_map = content["search_map_clicks"].asInteger();
S32 search_profile = content["search_profile_clicks"].asInteger();
- LLPanelClassified* classified_panelp = (LLPanelClassified*)mClassifiedPanelHandle.get();
-
- if(classified_panelp)
- {
- classified_panelp->setClickThrough(mClassifiedID,
- teleport + search_teleport,
- map + search_map,
- profile + search_profile,
- true);
- }
-
+ LLPanelClassifiedInfo::setClickThrough(
+ mClassifiedID,
+ teleport + search_teleport,
+ map + search_map,
+ profile + search_profile,
+ true);
}
/*virtual*/
@@ -77,5 +73,3 @@ void LLClassifiedStatsResponder::error(U32 status, const std::string& reason)
llinfos << "LLClassifiedStatsResponder::error("
<< status << ": " << reason << ")" << llendl;
}
-
-
diff --git a/indra/newview/llclassifiedstatsresponder.h b/indra/newview/llclassifiedstatsresponder.h
index 9c52ed5ae1..4a74f7b129 100644
--- a/indra/newview/llclassifiedstatsresponder.h
+++ b/indra/newview/llclassifiedstatsresponder.h
@@ -40,7 +40,7 @@
class LLClassifiedStatsResponder : public LLHTTPClient::Responder
{
public:
- LLClassifiedStatsResponder(LLHandle<LLView> classified_panel_handle, LLUUID classified_id);
+ LLClassifiedStatsResponder(LLUUID classified_id);
//If we get back a normal response, handle it here
virtual void result(const LLSD& content);
//If we get back an error (not found, etc...), handle it here
@@ -48,7 +48,6 @@ public:
virtual void error(U32 status, const std::string& reason);
protected:
- LLHandle<LLView> mClassifiedPanelHandle;
LLUUID mClassifiedID;
};
diff --git a/indra/newview/lldebugview.cpp b/indra/newview/lldebugview.cpp
index 169a963d0d..f113cc49d4 100644
--- a/indra/newview/lldebugview.cpp
+++ b/indra/newview/lldebugview.cpp
@@ -81,11 +81,13 @@ void LLDebugView::init()
r.setLeftTopAndSize(25, rect.getHeight() - 50, (S32) (gViewerWindow->getWindowRectScaled().getWidth() * 0.75f),
(S32) (gViewerWindow->getWindowRectScaled().getHeight() * 0.75f));
+
mFastTimerView = new LLFastTimerView(r);
mFastTimerView->setFollowsTop();
mFastTimerView->setFollowsLeft();
mFastTimerView->setVisible(FALSE); // start invisible
addChild(mFastTimerView);
+ mFastTimerView->setRect(rect);
r.setLeftTopAndSize(25, rect.getHeight() - 50, (S32) (gViewerWindow->getWindowRectScaled().getWidth() * 0.75f),
(S32) (gViewerWindow->getWindowRectScaled().getHeight() * 0.75f));
diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp
index 9fbc3408d7..38eda5bd2e 100644
--- a/indra/newview/lldrawable.cpp
+++ b/indra/newview/lldrawable.cpp
@@ -386,8 +386,6 @@ void LLDrawable::makeActive()
mParent->makeActive();
}
- gPipeline.setActive(this, TRUE);
-
//all child objects must also be active
llassert_always(mVObjp);
@@ -434,7 +432,6 @@ void LLDrawable::makeStatic(BOOL warning_enabled)
if (isState(ACTIVE))
{
clearState(ACTIVE);
- gPipeline.setActive(this, FALSE);
if (mParent.notNull() && mParent->isActive() && warning_enabled)
{
diff --git a/indra/newview/lldrawpool.cpp b/indra/newview/lldrawpool.cpp
index 95ddacb722..ef946ac49e 100644
--- a/indra/newview/lldrawpool.cpp
+++ b/indra/newview/lldrawpool.cpp
@@ -496,8 +496,8 @@ void LLRenderPass::pushBatch(LLDrawInfo& params, U32 mask, BOOL texture)
params.mGroup->rebuildMesh();
}
params.mVertexBuffer->setBuffer(mask);
- params.mVertexBuffer->drawRange(LLRender::TRIANGLES, params.mStart, params.mEnd, params.mCount, params.mOffset);
- gPipeline.addTrianglesDrawn(params.mCount/3);
+ params.mVertexBuffer->drawRange(params.mDrawMode, params.mStart, params.mEnd, params.mCount, params.mOffset);
+ gPipeline.addTrianglesDrawn(params.mCount, params.mDrawMode);
}
if (params.mTextureMatrix && texture && params.mTexture.notNull())
diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp
index 7be6e82251..875c9ac6a9 100644
--- a/indra/newview/lldrawpoolalpha.cpp
+++ b/indra/newview/lldrawpoolalpha.cpp
@@ -251,8 +251,8 @@ void LLDrawPoolAlpha::renderAlphaHighlight(U32 mask)
params.mGroup->rebuildMesh();
}
params.mVertexBuffer->setBuffer(mask);
- params.mVertexBuffer->drawRange(LLRender::TRIANGLES, params.mStart, params.mEnd, params.mCount, params.mOffset);
- gPipeline.addTrianglesDrawn(params.mCount/3);
+ params.mVertexBuffer->drawRange(params.mDrawMode, params.mStart, params.mEnd, params.mCount, params.mOffset);
+ gPipeline.addTrianglesDrawn(params.mCount, params.mDrawMode);
}
}
}
@@ -381,8 +381,8 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask)
}
params.mVertexBuffer->setBuffer(mask);
- params.mVertexBuffer->drawRange(LLRender::TRIANGLES, params.mStart, params.mEnd, params.mCount, params.mOffset);
- gPipeline.addTrianglesDrawn(params.mCount/3);
+ params.mVertexBuffer->drawRange(params.mDrawMode, params.mStart, params.mEnd, params.mCount, params.mOffset);
+ gPipeline.addTrianglesDrawn(params.mCount, params.mDrawMode);
if (params.mTextureMatrix && params.mTexture.notNull())
{
diff --git a/indra/newview/lldrawpoolbump.cpp b/indra/newview/lldrawpoolbump.cpp
index 03a8b108e2..d09d4a412f 100644
--- a/indra/newview/lldrawpoolbump.cpp
+++ b/indra/newview/lldrawpoolbump.cpp
@@ -560,8 +560,8 @@ void LLDrawPoolBump::renderGroup(LLSpatialGroup* group, U32 type, U32 mask, BOOL
params.mGroup->rebuildMesh();
}
params.mVertexBuffer->setBuffer(mask);
- params.mVertexBuffer->drawRange(LLRender::TRIANGLES, params.mStart, params.mEnd, params.mCount, params.mOffset);
- gPipeline.addTrianglesDrawn(params.mCount/3);
+ params.mVertexBuffer->drawRange(params.mDrawMode, params.mStart, params.mEnd, params.mCount, params.mOffset);
+ gPipeline.addTrianglesDrawn(params.mCount, params.mDrawMode);
}
}
@@ -1231,8 +1231,8 @@ void LLDrawPoolBump::pushBatch(LLDrawInfo& params, U32 mask, BOOL texture)
params.mGroup->rebuildMesh();
}
params.mVertexBuffer->setBuffer(mask);
- params.mVertexBuffer->drawRange(LLRender::TRIANGLES, params.mStart, params.mEnd, params.mCount, params.mOffset);
- gPipeline.addTrianglesDrawn(params.mCount/3);
+ params.mVertexBuffer->drawRange(params.mDrawMode, params.mStart, params.mEnd, params.mCount, params.mOffset);
+ gPipeline.addTrianglesDrawn(params.mCount, params.mDrawMode);
if (params.mTextureMatrix)
{
if (mShiny)
diff --git a/indra/newview/lldrawpooltree.cpp b/indra/newview/lldrawpooltree.cpp
index 5521fb05a8..1a5d55d793 100644
--- a/indra/newview/lldrawpooltree.cpp
+++ b/indra/newview/lldrawpooltree.cpp
@@ -115,7 +115,7 @@ void LLDrawPoolTree::render(S32 pass)
LLFace *face = *iter;
face->mVertexBuffer->setBuffer(LLDrawPoolTree::VERTEX_DATA_MASK);
face->mVertexBuffer->drawRange(LLRender::TRIANGLES, 0, face->mVertexBuffer->getRequestedVerts()-1, face->mVertexBuffer->getRequestedIndices(), 0);
- gPipeline.addTrianglesDrawn(face->mVertexBuffer->getRequestedIndices()/3);
+ gPipeline.addTrianglesDrawn(face->mVertexBuffer->getRequestedIndices());
}
}
}
@@ -237,7 +237,7 @@ void LLDrawPoolTree::renderForSelect()
face->mVertexBuffer->setBuffer(LLDrawPoolTree::VERTEX_DATA_MASK);
face->mVertexBuffer->drawRange(LLRender::TRIANGLES, 0, face->mVertexBuffer->getRequestedVerts()-1, face->mVertexBuffer->getRequestedIndices(), 0);
- gPipeline.addTrianglesDrawn(face->mVertexBuffer->getRequestedIndices()/3);
+ gPipeline.addTrianglesDrawn(face->mVertexBuffer->getRequestedIndices());
}
}
}
diff --git a/indra/newview/llexpandabletextbox.cpp b/indra/newview/llexpandabletextbox.cpp
index 3818ee6f78..362010d65a 100644
--- a/indra/newview/llexpandabletextbox.cpp
+++ b/indra/newview/llexpandabletextbox.cpp
@@ -35,6 +35,7 @@
#include "llscrollcontainer.h"
#include "llwindow.h"
+#include "llviewerwindow.h"
static LLDefaultChildRegistry::Register<LLExpandableTextBox> t1("expandable_text");
@@ -382,7 +383,7 @@ void LLExpandableTextBox::expandTextBox()
setFocus(TRUE);
// this lets us receive top_lost event(needed to collapse text box)
// it also draws text box above all other ui elements
- gFocusMgr.setTopCtrl(this);
+ gViewerWindow->addPopup(this);
mExpanded = true;
}
@@ -401,10 +402,7 @@ void LLExpandableTextBox::collapseTextBox()
updateTextBoxRect();
- if(gFocusMgr.getTopCtrl() == this)
- {
- gFocusMgr.setTopCtrl(NULL);
- }
+ gViewerWindow->removePopup(this);
}
void LLExpandableTextBox::onFocusLost()
diff --git a/indra/newview/llexpandabletextbox.h b/indra/newview/llexpandabletextbox.h
index 58316ddb98..9d4a8aef76 100644
--- a/indra/newview/llexpandabletextbox.h
+++ b/indra/newview/llexpandabletextbox.h
@@ -144,6 +144,7 @@ public:
*/
/*virtual*/ void onTopLost();
+
/**
* Draws text box, collapses text box if its expanded and its parent's position changed
*/
diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp
index 80acc71a41..9de69a8173 100644
--- a/indra/newview/llface.cpp
+++ b/indra/newview/llface.cpp
@@ -870,7 +870,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,
llpushcallstacks ;
const LLVolumeFace &vf = volume.getVolumeFace(f);
S32 num_vertices = (S32)vf.mVertices.size();
- S32 num_indices = (S32)vf.mIndices.size();
+ S32 num_indices = LLPipeline::sUseTriStrips ? (S32)vf.mTriStrip.size() : (S32) vf.mIndices.size();
if (mVertexBuffer.notNull())
{
@@ -1063,9 +1063,19 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,
if (full_rebuild)
{
mVertexBuffer->getIndexStrider(indicesp, mIndicesIndex);
- for (U16 i = 0; i < num_indices; i++)
+ if (LLPipeline::sUseTriStrips)
{
- *indicesp++ = vf.mIndices[i] + index_offset;
+ for (U32 i = 0; i < (U32) num_indices; i++)
+ {
+ *indicesp++ = vf.mTriStrip[i] + index_offset;
+ }
+ }
+ else
+ {
+ for (U32 i = 0; i < (U32) num_indices; i++)
+ {
+ *indicesp++ = vf.mIndices[i] + index_offset;
+ }
}
}
@@ -1617,8 +1627,13 @@ S32 LLFace::pushVertices(const U16* index_array) const
{
if (mIndicesCount)
{
- mVertexBuffer->drawRange(LLRender::TRIANGLES, mGeomIndex, mGeomIndex+mGeomCount-1, mIndicesCount, mIndicesIndex);
- gPipeline.addTrianglesDrawn(mIndicesCount/3);
+ U32 render_type = LLRender::TRIANGLES;
+ if (mDrawInfo)
+ {
+ render_type = mDrawInfo->mDrawMode;
+ }
+ mVertexBuffer->drawRange(render_type, mGeomIndex, mGeomIndex+mGeomCount-1, mIndicesCount, mIndicesIndex);
+ gPipeline.addTrianglesDrawn(mIndicesCount, render_type);
}
return mIndicesCount;
diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp
index 4fa97e789b..8bc3b5a75f 100644
--- a/indra/newview/llfasttimerview.cpp
+++ b/indra/newview/llfasttimerview.cpp
@@ -44,6 +44,7 @@
#include "llfontgl.h"
#include "llsdserialize.h"
#include "lltooltip.h"
+#include "llbutton.h"
#include "llappviewer.h"
#include "llviewertexturelist.h"
@@ -99,6 +100,8 @@ LLFastTimerView::LLFastTimerView(const LLRect& rect)
FTV_NUM_TIMERS = LLFastTimer::NamedTimer::instanceCount();
mPrintStats = -1;
mAverageCyclesPerTimer = 0;
+ setCanMinimize(false);
+ setCanClose(true);
}
@@ -139,6 +142,18 @@ LLFastTimer::NamedTimer* LLFastTimerView::getLegendID(S32 y)
BOOL LLFastTimerView::handleMouseDown(S32 x, S32 y, MASK mask)
{
+
+ {
+ S32 local_x = x - mButtons[BUTTON_CLOSE]->getRect().mLeft;
+ S32 local_y = y - mButtons[BUTTON_CLOSE]->getRect().mBottom;
+ if(mButtons[BUTTON_CLOSE]->getVisible()
+ && mButtons[BUTTON_CLOSE]->pointInView(local_x, local_y) )
+ {
+ return LLFloater::handleMouseDown(x, y, mask);;
+ }
+ }
+
+
if (x < mBarRect.mLeft)
{
LLFastTimer::NamedTimer* idp = getLegendID(y);
@@ -188,6 +203,15 @@ BOOL LLFastTimerView::handleMouseDown(S32 x, S32 y, MASK mask)
BOOL LLFastTimerView::handleMouseUp(S32 x, S32 y, MASK mask)
{
+ {
+ S32 local_x = x - mButtons[BUTTON_CLOSE]->getRect().mLeft;
+ S32 local_y = y - mButtons[BUTTON_CLOSE]->getRect().mBottom;
+ if(mButtons[BUTTON_CLOSE]->getVisible()
+ && mButtons[BUTTON_CLOSE]->pointInView(local_x, local_y) )
+ {
+ return LLFloater::handleMouseUp(x, y, mask);;
+ }
+ }
return FALSE;
}
@@ -1191,5 +1215,8 @@ void LLFastTimerView::doAnalysis(std::string baseline, std::string target, std::
return ;
}
}
-
+void LLFastTimerView::onClickCloseBtn()
+{
+ setVisible(false);
+}
diff --git a/indra/newview/llfasttimerview.h b/indra/newview/llfasttimerview.h
index f5c8f23818..ac06990913 100644
--- a/indra/newview/llfasttimerview.h
+++ b/indra/newview/llfasttimerview.h
@@ -63,7 +63,9 @@ public:
LLFastTimer::NamedTimer* getLegendID(S32 y);
F64 getTime(const std::string& name);
-
+
+protected:
+ virtual void onClickCloseBtn();
private:
typedef std::vector<std::vector<S32> > bar_positions_t;
bar_positions_t mBarStart;
diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp
index aea2de8e92..561965d021 100644
--- a/indra/newview/llflexibleobject.cpp
+++ b/indra/newview/llflexibleobject.cpp
@@ -51,6 +51,9 @@
/*static*/ F32 LLVolumeImplFlexible::sUpdateFactor = 1.0f;
+static LLFastTimer::DeclareTimer FTM_FLEXIBLE_REBUILD("Rebuild");
+static LLFastTimer::DeclareTimer FTM_DO_FLEXIBLE_UPDATE("Update");
+
// LLFlexibleObjectData::pack/unpack now in llprimitive.cpp
//-----------------------------------------------
@@ -194,7 +197,6 @@ void LLVolumeImplFlexible::remapSections(LLFlexibleObjectSection *source, S32 so
}
}
-
//-----------------------------------------------------------------------------
void LLVolumeImplFlexible::setAttributesOfAllSections(LLVector3* inScale)
{
@@ -363,6 +365,7 @@ inline S32 log2(S32 x)
void LLVolumeImplFlexible::doFlexibleUpdate()
{
+ LLFastTimer ftm(FTM_DO_FLEXIBLE_UPDATE);
LLVolume* volume = mVO->getVolume();
LLPath *path = &volume->getPath();
if (mSimulateRes == 0)
@@ -693,7 +696,10 @@ BOOL LLVolumeImplFlexible::doUpdateGeometry(LLDrawable *drawable)
}
volume->updateRelativeXform();
- doFlexibleUpdate();
+ {
+ LLFastTimer t(FTM_DO_FLEXIBLE_UPDATE);
+ doFlexibleUpdate();
+ }
// Object may have been rotated, which means it needs a rebuild. See SL-47220
BOOL rotated = FALSE;
@@ -710,7 +716,10 @@ BOOL LLVolumeImplFlexible::doUpdateGeometry(LLDrawable *drawable)
volume->regenFaces();
volume->mDrawable->setState(LLDrawable::REBUILD_VOLUME);
volume->dirtySpatialGroup();
- doFlexibleRebuild();
+ {
+ LLFastTimer t(FTM_FLEXIBLE_REBUILD);
+ doFlexibleRebuild();
+ }
volume->genBBoxes(isVolumeGlobal());
}
else if (!mUpdated || rotated)
diff --git a/indra/newview/llfloaterbuyland.cpp b/indra/newview/llfloaterbuyland.cpp
index 47678d1e82..c0e20685c6 100644
--- a/indra/newview/llfloaterbuyland.cpp
+++ b/indra/newview/llfloaterbuyland.cpp
@@ -82,7 +82,10 @@ public:
virtual ~LLFloaterBuyLandUI();
/*virtual*/ void onClose(bool app_quitting);
-
+
+ // Left padding for maturity rating icon.
+ static const S32 ICON_PAD = 2;
+
private:
class SelectionObserver : public LLParcelObserver
{
@@ -500,6 +503,25 @@ void LLFloaterBuyLandUI::updateCovenantInfo()
{
std::string region_name_txt = region->getName() + " ("+rating +")";
region_name->setText(region_name_txt);
+
+ LLIconCtrl* rating_icon = getChild<LLIconCtrl>("rating_icon");
+ LLRect rect = rating_icon->getRect();
+ S32 icon_left_pad = region_name->getRect().mLeft + region_name->getTextBoundingRect().getWidth() + ICON_PAD;
+ rating_icon->setRect(rect.setOriginAndSize(icon_left_pad, rect.mBottom, rect.getWidth(), rect.getHeight()));
+
+ switch(sim_access)
+ {
+ case SIM_ACCESS_PG:
+ rating_icon->setValue(getString("icon_PG"));
+ break;
+
+ case SIM_ACCESS_ADULT:
+ rating_icon->setValue(getString("icon_R"));
+ break;
+
+ default:
+ rating_icon->setValue(getString("icon_M"));
+ }
}
LLTextBox* region_type = getChild<LLTextBox>("region_type_text");
diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp
index ecb6254f8a..d0188352c7 100644
--- a/indra/newview/llfloatercamera.cpp
+++ b/indra/newview/llfloatercamera.cpp
@@ -241,6 +241,7 @@ LLFloaterCamera::LLFloaterCamera(const LLSD& val)
BOOL LLFloaterCamera::postBuild()
{
setIsChrome(TRUE);
+ setTitleVisible(TRUE); // restore title visibility after chrome applying
mRotate = getChild<LLJoystickCameraRotate>(ORBIT);
mZoom = getChild<LLPanelCameraZoom>(ZOOM);
@@ -295,6 +296,31 @@ void LLFloaterCamera::setMode(ECameraControlMode mode)
updateState();
}
+void LLFloaterCamera::setModeTitle(const ECameraControlMode mode)
+{
+ std::string title;
+ switch(mode)
+ {
+ case CAMERA_CTRL_MODE_ORBIT:
+ title = getString("orbit_mode_title");
+ break;
+ case CAMERA_CTRL_MODE_PAN:
+ title = getString("pan_mode_title");
+ break;
+ case CAMERA_CTRL_MODE_AVATAR_VIEW:
+ title = getString("avatar_view_mode_title");
+ break;
+ case CAMERA_CTRL_MODE_FREE_CAMERA:
+ title = getString("free_mode_title");
+ break;
+ default:
+ // title should be provided for all modes
+ llassert(false);
+ break;
+ }
+ setTitle(title);
+}
+
void LLFloaterCamera::switchMode(ECameraControlMode mode)
{
setMode(mode);
@@ -354,6 +380,10 @@ void LLFloaterCamera::updateState()
childSetVisible(ZOOM, CAMERA_CTRL_MODE_AVATAR_VIEW != mCurrMode);
childSetVisible(PRESETS, CAMERA_CTRL_MODE_AVATAR_VIEW == mCurrMode);
+ updateCameraPresetButtons();
+ setModeTitle(mCurrMode);
+
+
//hiding or showing the panel with controls by reshaping the floater
bool showControls = CAMERA_CTRL_MODE_FREE_CAMERA != mCurrMode;
if (showControls == childIsVisible(CONTROLS)) return;
@@ -384,6 +414,16 @@ void LLFloaterCamera::updateState()
}
}
+void LLFloaterCamera::updateCameraPresetButtons()
+{
+ ECameraPreset preset = (ECameraPreset) gSavedSettings.getU32("CameraPreset");
+
+ childSetValue("rear_view", preset == CAMERA_PRESET_REAR_VIEW);
+ childSetValue("group_view", preset == CAMERA_PRESET_GROUP_VIEW);
+ childSetValue("front_view", preset == CAMERA_PRESET_FRONT_VIEW);
+ childSetValue("mouselook_view", gAgent.cameraMouselook());
+}
+
void LLFloaterCamera::onClickCameraPresets(const LLSD& param)
{
std::string name = param.asString();
@@ -405,4 +445,7 @@ void LLFloaterCamera::onClickCameraPresets(const LLSD& param)
gAgent.changeCameraToMouselook();
}
+ LLFloaterCamera* camera_floater = LLFloaterCamera::findInstance();
+ if (camera_floater)
+ camera_floater->updateCameraPresetButtons();
}
diff --git a/indra/newview/llfloatercamera.h b/indra/newview/llfloatercamera.h
index 45d5e9a845..b268839165 100644
--- a/indra/newview/llfloatercamera.h
+++ b/indra/newview/llfloatercamera.h
@@ -100,9 +100,15 @@ private:
/* sets a new mode preserving previous one and updates ui*/
void setMode(ECameraControlMode mode);
+ /** set title appropriate to passed mode */
+ void setModeTitle(const ECameraControlMode mode);
+
/* updates the state (UI) according to the current mode */
void updateState();
+ /* update camera preset buttons toggle state according to the currently selected preset */
+ void updateCameraPresetButtons();
+
void onClickBtn(ECameraControlMode mode);
void assignButton2Mode(ECameraControlMode mode, const std::string& button_name);
diff --git a/indra/newview/llfloaterevent.cpp b/indra/newview/llfloaterevent.cpp
index 64efa10ef9..97ebab3425 100644
--- a/indra/newview/llfloaterevent.cpp
+++ b/indra/newview/llfloaterevent.cpp
@@ -58,6 +58,7 @@
#include "llviewercontrol.h"
#include "llweb.h"
#include "llworldmap.h"
+#include "llworldmapmessage.h"
#include "lluictrlfactory.h"
#include "lltrans.h"
@@ -215,16 +216,15 @@ void LLFloaterEvent::processEventInfoReply(LLMessageSystem *msg, void **)
std::string desc = floater->mEventInfo.mSimName + llformat(" (%d, %d, %d)", region_x, region_y, region_z);
floater->mTBLocation->setText(desc);
- if (floater->mEventInfo.mEventFlags & EVENT_FLAG_MATURE)
- {
- floater->childSetVisible("event_mature_yes", TRUE);
- floater->childSetVisible("event_mature_no", FALSE);
- }
- else
- {
- floater->childSetVisible("event_mature_yes", FALSE);
- floater->childSetVisible("event_mature_no", TRUE);
- }
+ floater->childSetVisible("rating_icon_m", FALSE);
+ floater->childSetVisible("rating_icon_r", FALSE);
+ floater->childSetVisible("rating_icon_pg", FALSE);
+ floater->childSetValue("rating_value", floater->getString("unknown"));
+
+ //for some reason there's not adult flags for now, so see if region is adult and then
+ //set flags
+ LLWorldMapMessage::url_callback_t cb = boost::bind( &regionInfoCallback, floater->mEventInfo.mID, _1);
+ LLWorldMapMessage::getInstance()->sendNamedRegionRequest(floater->mEventInfo.mSimName, cb, std::string("unused"), false);
if (floater->mEventInfo.mUnixTime < time_corrected())
{
@@ -249,6 +249,39 @@ void LLFloaterEvent::processEventInfoReply(LLMessageSystem *msg, void **)
}
}
+//static
+void LLFloaterEvent::regionInfoCallback(U32 event_id, U64 region_handle)
+{
+ LLSimInfo* sim_info = LLWorldMap::getInstance()->simInfoFromHandle(region_handle);
+ LLFloaterEvent* floater = LLFloaterReg::getTypedInstance<LLFloaterEvent>("event");
+
+ if (sim_info && floater && (event_id == floater->getEventID()))
+ {
+ // update the event with the maturity info
+ if (sim_info->isAdult())
+ {
+ floater->childSetVisible("rating_icon_m", FALSE);
+ floater->childSetVisible("rating_icon_r", TRUE);
+ floater->childSetVisible("rating_icon_pg", FALSE);
+ floater->childSetValue("rating_value", floater->getString("adult"));
+
+ }
+ else if (floater->mEventInfo.mEventFlags & EVENT_FLAG_MATURE)
+ {
+ floater->childSetVisible("rating_icon_m", TRUE);
+ floater->childSetVisible("rating_icon_r", FALSE);
+ floater->childSetVisible("rating_icon_pg", FALSE);
+ floater->childSetValue("rating_value", floater->getString("moderate"));
+ }
+ else
+ {
+ floater->childSetVisible("rating_icon_m", FALSE);
+ floater->childSetVisible("rating_icon_r", FALSE);
+ floater->childSetVisible("rating_icon_pg", TRUE);
+ floater->childSetValue("rating_value", floater->getString("general"));
+ }
+ }
+}
void LLFloaterEvent::draw()
{
diff --git a/indra/newview/llfloaterevent.h b/indra/newview/llfloaterevent.h
index 54aaaf6a0f..4126236964 100644
--- a/indra/newview/llfloaterevent.h
+++ b/indra/newview/llfloaterevent.h
@@ -70,7 +70,8 @@ protected:
static void onClickNotify(void*);
void onClickDeleteEvent();
-// static bool callbackCreateEventWebPage(const LLSD& notification, const LLSD& response);
+ static void regionInfoCallback(U32 event_id, U64 region_handle);
+
protected:
U32 mEventID;
diff --git a/indra/newview/llfloaterimagepreview.cpp b/indra/newview/llfloaterimagepreview.cpp
index 61568df12e..9917593c91 100644
--- a/indra/newview/llfloaterimagepreview.cpp
+++ b/indra/newview/llfloaterimagepreview.cpp
@@ -688,6 +688,9 @@ BOOL LLImagePreviewAvatar::render()
mNeedsUpdate = FALSE;
LLVOAvatar* avatarp = mDummyAvatar;
+ gGL.pushUIMatrix();
+ gGL.loadUIIdentity();
+
glMatrixMode(GL_PROJECTION);
gGL.pushMatrix();
glLoadIdentity();
@@ -696,6 +699,7 @@ BOOL LLImagePreviewAvatar::render()
glMatrixMode(GL_MODELVIEW);
gGL.pushMatrix();
glLoadIdentity();
+
LLGLSUIDefault def;
gGL.color4f(0.15f, 0.2f, 0.3f, 1.f);
@@ -741,6 +745,7 @@ BOOL LLImagePreviewAvatar::render()
avatarPoolp->renderAvatars(avatarp); // renders only one avatar
}
+ gGL.popUIMatrix();
gGL.color4f(1,1,1,1);
return TRUE;
}
diff --git a/indra/newview/llfloaterinventory.cpp b/indra/newview/llfloaterinventory.cpp
index e62e2c99a7..844f0ac509 100644
--- a/indra/newview/llfloaterinventory.cpp
+++ b/indra/newview/llfloaterinventory.cpp
@@ -41,6 +41,7 @@
#include "llpanelmaininventory.h"
#include "llresmgr.h"
#include "llviewerfoldertype.h"
+#include "lltransientfloatermgr.h"
///----------------------------------------------------------------------------
/// LLFloaterInventory
@@ -49,10 +50,12 @@
LLFloaterInventory::LLFloaterInventory(const LLSD& key)
: LLFloater(key)
{
+ LLTransientFloaterMgr::getInstance()->addControlView(this);
}
LLFloaterInventory::~LLFloaterInventory()
{
+ LLTransientFloaterMgr::getInstance()->removeControlView(this);
}
BOOL LLFloaterInventory::postBuild()
diff --git a/indra/newview/llfloaterlagmeter.cpp b/indra/newview/llfloaterlagmeter.cpp
index 3753dcaaa8..85186cee6b 100644
--- a/indra/newview/llfloaterlagmeter.cpp
+++ b/indra/newview/llfloaterlagmeter.cpp
@@ -64,7 +64,7 @@ BOOL LLFloaterLagMeter::postBuild()
setIsChrome(TRUE);
// were we shrunk last time?
- if (gSavedSettings.getBOOL("LagMeterShrunk"))
+ if (isShrunk())
{
onClickShrink();
}
@@ -122,6 +122,7 @@ BOOL LLFloaterLagMeter::postBuild()
mStringArgs["[SERVER_FRAME_RATE_WARNING]"] = getString("server_frame_rate_warning_fps");
// childSetAction("minimize", onClickShrink, this);
+ updateControls(isShrunk()); // if expanded append colon to the labels (EXT-4079)
return TRUE;
}
@@ -130,7 +131,7 @@ LLFloaterLagMeter::~LLFloaterLagMeter()
// save shrunk status for next time
// gSavedSettings.setBOOL("LagMeterShrunk", mShrunk);
// expand so we save the large window rectangle
- if (gSavedSettings.getBOOL("LagMeterShrunk"))
+ if (isShrunk())
{
onClickShrink();
}
@@ -312,17 +313,15 @@ void LLFloaterLagMeter::determineServer()
}
}
-
-void LLFloaterLagMeter::onClickShrink() // toggle "LagMeterShrunk"
+void LLFloaterLagMeter::updateControls(bool shrink)
{
// LLFloaterLagMeter * self = (LLFloaterLagMeter*)data;
LLButton * button = getChild<LLButton>("minimize");
S32 delta_width = mMaxWidth -mMinWidth;
LLRect r = getRect();
- bool shrunk = gSavedSettings.getBOOL("LagMeterShrunk");
- if(shrunk)
+ if(!shrink)
{
setTitle(getString("max_title_msg", mStringArgs) );
// make left edge appear to expand
@@ -368,5 +367,16 @@ void LLFloaterLagMeter::onClickShrink() // toggle "LagMeterShrunk"
// self->childSetVisible("server_help", self->mShrunk);
// self->mShrunk = !self->mShrunk;
- gSavedSettings.setBOOL("LagMeterShrunk", !gSavedSettings.getBOOL("LagMeterShrunk"));
+}
+
+BOOL LLFloaterLagMeter::isShrunk()
+{
+ return gSavedSettings.getBOOL("LagMeterShrunk");
+}
+
+void LLFloaterLagMeter::onClickShrink() // toggle "LagMeterShrunk"
+{
+ bool shrunk = isShrunk();
+ updateControls(!shrunk);
+ gSavedSettings.setBOOL("LagMeterShrunk", !shrunk);
}
diff --git a/indra/newview/llfloaterlagmeter.h b/indra/newview/llfloaterlagmeter.h
index 592630636a..5416bca790 100644
--- a/indra/newview/llfloaterlagmeter.h
+++ b/indra/newview/llfloaterlagmeter.h
@@ -51,6 +51,8 @@ private:
void determineClient();
void determineNetwork();
void determineServer();
+ void updateControls(bool shrink);
+ BOOL isShrunk();
void onClickShrink();
diff --git a/indra/newview/llfloatermediasettings.cpp b/indra/newview/llfloatermediasettings.cpp
index 62ec17f89a..ee68faf84b 100644
--- a/indra/newview/llfloatermediasettings.cpp
+++ b/indra/newview/llfloatermediasettings.cpp
@@ -242,6 +242,12 @@ void LLFloaterMediaSettings::onBtnApply( void* userdata )
sInstance->commitFields();
sInstance->apply();
+
+ sInstance->mInitialValues.clear();
+ sInstance->mPanelMediaSettingsGeneral->getValues( sInstance->mInitialValues );
+ sInstance->mPanelMediaSettingsSecurity->getValues( sInstance->mInitialValues );
+ sInstance->mPanelMediaSettingsPermissions->getValues( sInstance->mInitialValues );
+
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/indra/newview/llfloaternotificationsconsole.cpp b/indra/newview/llfloaternotificationsconsole.cpp
index 94b5ebba00..b744bff084 100644
--- a/indra/newview/llfloaternotificationsconsole.cpp
+++ b/indra/newview/llfloaternotificationsconsole.cpp
@@ -210,7 +210,7 @@ void LLFloaterNotificationConsole::addChannel(const std::string& name, bool open
{
LLLayoutStack& stack = getChildRef<LLLayoutStack>("notification_channels");
LLNotificationChannelPanel* panelp = new LLNotificationChannelPanel(name);
- stack.addPanel(panelp, 0, NOTIFICATION_PANEL_HEADER_HEIGHT, TRUE, TRUE, LLLayoutStack::ANIMATE);
+ stack.addPanel(panelp, 0, NOTIFICATION_PANEL_HEADER_HEIGHT, S32_MAX, S32_MAX, TRUE, TRUE, LLLayoutStack::ANIMATE);
LLButton& header_button = panelp->getChildRef<LLButton>("header");
header_button.setToggleState(!open);
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index c6719a3092..8bffe9bf57 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -315,7 +315,6 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key)
mCommitCallbackRegistrar.add("Pref.ClickEnablePopup", boost::bind(&LLFloaterPreference::onClickEnablePopup, this));
mCommitCallbackRegistrar.add("Pref.ClickDisablePopup", boost::bind(&LLFloaterPreference::onClickDisablePopup, this));
mCommitCallbackRegistrar.add("Pref.LogPath", boost::bind(&LLFloaterPreference::onClickLogPath, this));
- mCommitCallbackRegistrar.add("Pref.UpdateMeterText", boost::bind(&LLFloaterPreference::updateMeterText, this, _1));
mCommitCallbackRegistrar.add("Pref.HardwareSettings", boost::bind(&LLFloaterPreference::onOpenHardwareSettings, this));
mCommitCallbackRegistrar.add("Pref.HardwareDefaults", boost::bind(&LLFloaterPreference::setHardwareDefaults, this));
mCommitCallbackRegistrar.add("Pref.VertexShaderEnable", boost::bind(&LLFloaterPreference::onVertexShaderEnable, this));
@@ -324,7 +323,8 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key)
mCommitCallbackRegistrar.add("Pref.QualityPerformance", boost::bind(&LLFloaterPreference::onChangeQuality, this, _2));
mCommitCallbackRegistrar.add("Pref.applyUIColor", boost::bind(&LLFloaterPreference::applyUIColor, this ,_1, _2));
mCommitCallbackRegistrar.add("Pref.getUIColor", boost::bind(&LLFloaterPreference::getUIColor, this ,_1, _2));
-
+ mCommitCallbackRegistrar.add("Pref.MaturitySettings", boost::bind(&LLFloaterPreference::onChangeMaturity, this));
+
sSkin = gSavedSettings.getString("SkinCurrent");
gSavedSettings.getControl("AvatarNameTagMode")->getCommitSignal()->connect(boost::bind(&handleNameTagOptionChanged, _2));
@@ -336,6 +336,10 @@ BOOL LLFloaterPreference::postBuild()
gSavedSettings.getControl("PlainTextChatHistory")->getSignal()->connect(boost::bind(&LLNearbyChat::processChatHistoryStyleUpdate, _2));
+ gSavedSettings.getControl("ChatFontSize")->getSignal()->connect(boost::bind(&LLIMFloater::processChatHistoryStyleUpdate, _2));
+
+ gSavedSettings.getControl("ChatFontSize")->getSignal()->connect(boost::bind(&LLNearbyChat::processChatHistoryStyleUpdate, _2));
+
LLTabContainer* tabcontainer = getChild<LLTabContainer>("pref core");
if (!tabcontainer->selectTab(gSavedSettings.getS32("LastPrefTab")))
tabcontainer->selectFirstTab();
@@ -511,7 +515,8 @@ void LLFloaterPreference::onOpen(const LLSD& key)
// if we have no agent, we can't let them choose anything
// if we have an agent, then we only let them choose if they have a choice
bool can_choose_maturity =
- gAgent.getID().notNull() && (gAgent.isMature() || gAgent.isGodlike());
+ gAgent.getID().notNull() &&
+ (gAgent.isMature() || gAgent.isGodlike());
LLComboBox* maturity_combo = getChild<LLComboBox>("maturity_desired_combobox");
@@ -533,6 +538,9 @@ void LLFloaterPreference::onOpen(const LLSD& key)
childSetText("maturity_desired_textbox", maturity_combo->getSelectedItemLabel());
childSetVisible("maturity_desired_combobox", false);
}
+
+ // Display selected maturity icons.
+ onChangeMaturity();
// Enabled/disabled popups, might have been changed by user actions
// while preferences floater was closed.
@@ -673,21 +681,6 @@ void LLFloaterPreference::refreshEnabledGraphics()
}
}
-void LLFloaterPreference::updateMeterText(LLUICtrl* ctrl)
-{
- // get our UI widgets
- LLSliderCtrl* slider = (LLSliderCtrl*) ctrl;
-
- LLTextBox* m1 = getChild<LLTextBox>("DrawDistanceMeterText1");
- LLTextBox* m2 = getChild<LLTextBox>("DrawDistanceMeterText2");
-
- // toggle the two text boxes based on whether we have 1 or two digits
- F32 val = slider->getValueF32();
- bool two_digits = val < 100;
- m1->setVisible(two_digits);
- m2->setVisible(!two_digits);
-}
-
void LLFloaterPreference::onClickBrowserClearCache()
{
LLNotificationsUtil::add("ConfirmClearBrowserCache", LLSD(), LLSD(), callback_clear_browser_cache);
@@ -992,7 +985,8 @@ void LLFloaterPreference::cleanupBadSetting()
if (gSavedPerAccountSettings.getString("BusyModeResponse2") == "|TOKEN COPY BusyModeResponse|")
{
llwarns << "cleaning old BusyModeResponse" << llendl;
- gSavedPerAccountSettings.setString("BusyModeResponse2", gSavedPerAccountSettings.getText("BusyModeResponse"));
+ //LLTrans::getString("BusyModeResponseDefault") is used here for localization (EXT-5885)
+ gSavedPerAccountSettings.setString("BusyModeResponse2", LLTrans::getString("BusyModeResponseDefault"));
}
}
@@ -1223,7 +1217,19 @@ void LLFloaterPreference::applyResolution()
refresh();
}
+void LLFloaterPreference::onChangeMaturity()
+{
+ U8 sim_access = gSavedSettings.getU32("PreferredMaturity");
+ getChild<LLIconCtrl>("rating_icon_general")->setVisible(sim_access == SIM_ACCESS_PG
+ || sim_access == SIM_ACCESS_MATURE
+ || sim_access == SIM_ACCESS_ADULT);
+
+ getChild<LLIconCtrl>("rating_icon_moderate")->setVisible(sim_access == SIM_ACCESS_MATURE
+ || sim_access == SIM_ACCESS_ADULT);
+
+ getChild<LLIconCtrl>("rating_icon_adult")->setVisible(sim_access == SIM_ACCESS_ADULT);
+}
void LLFloaterPreference::applyUIColor(LLUICtrl* ctrl, const LLSD& param)
@@ -1283,7 +1289,7 @@ BOOL LLPanelPreference::postBuild()
if (hasChild("media_enabled"))
{
bool media_enabled = gSavedSettings.getBOOL("AudioStreamingMedia");
- getChild<LLCheckBoxCtrl>("voice_call_friends_only_check")->setCommitCallback(boost::bind(&showFriendsOnlyWarning, _1, _2));
+
getChild<LLCheckBoxCtrl>("media_enabled")->set(media_enabled);
getChild<LLCheckBoxCtrl>("autoplay_enabled")->setEnabled(media_enabled);
}
@@ -1291,7 +1297,11 @@ BOOL LLPanelPreference::postBuild()
{
getChild<LLCheckBoxCtrl>("music_enabled")->set(gSavedSettings.getBOOL("AudioStreamingMusic"));
}
-
+ if (hasChild("voice_call_friends_only_check"))
+ {
+ getChild<LLCheckBoxCtrl>("voice_call_friends_only_check")->setCommitCallback(boost::bind(&showFriendsOnlyWarning, _1, _2));
+ }
+
apply();
return true;
}
diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h
index 93b39d72bc..71aa5d3189 100644
--- a/indra/newview/llfloaterpreference.h
+++ b/indra/newview/llfloaterpreference.h
@@ -134,8 +134,9 @@ public:
void onCommitMediaEnabled();
void onCommitMusicEnabled();
void applyResolution();
+ void onChangeMaturity();
void applyUIColor(LLUICtrl* ctrl, const LLSD& param);
- void getUIColor(LLUICtrl* ctrl, const LLSD& param);
+ void getUIColor(LLUICtrl* ctrl, const LLSD& param);
void buildPopupLists();
static void refreshSkin(void* data);
diff --git a/indra/newview/llfloaterscriptlimits.cpp b/indra/newview/llfloaterscriptlimits.cpp
index 5474a68512..d56bc7b75b 100644
--- a/indra/newview/llfloaterscriptlimits.cpp
+++ b/indra/newview/llfloaterscriptlimits.cpp
@@ -557,7 +557,7 @@ void LLPanelScriptLimitsRegionMemory::setParcelID(const LLUUID& parcel_id)
// virtual
void LLPanelScriptLimitsRegionMemory::setErrorStatus(U32 status, const std::string& reason)
{
- llerrs << "Can't handle remote parcel request."<< " Http Status: "<< status << ". Reason : "<< reason<<llendl;
+ llwarns << "Can't handle remote parcel request."<< " Http Status: "<< status << ". Reason : "<< reason<<llendl;
}
// callback from the name cache with an owner name to add to the list
diff --git a/indra/newview/llfloatersearch.cpp b/indra/newview/llfloatersearch.cpp
index a7401fdb6f..76caa0cf91 100644
--- a/indra/newview/llfloatersearch.cpp
+++ b/indra/newview/llfloatersearch.cpp
@@ -118,11 +118,9 @@ void LLFloaterSearch::onOpen(const LLSD& key)
void LLFloaterSearch::onClose(bool app_quitting)
{
- if (! app_quitting)
- {
- // Show the blank home page ready for the next onOpen()
- mBrowser->navigateHome();
- }
+ // tear down the web view so we don't show the previous search
+ // result when the floater is opened next time
+ destroy();
}
void LLFloaterSearch::handleMediaEvent(LLPluginClassMedia *self, EMediaEvent event)
@@ -158,11 +156,6 @@ void LLFloaterSearch::search(const LLSD &key)
return;
}
- // display the blank home page first, to clear the display of
- // any previous search results while the new results load.
- // The home page is set in floater_search.xml as start_url.
- mBrowser->navigateHome();
-
// reset the god level warning as we're sending the latest state
childHide("refresh_search");
mSearchGodLevel = gAgent.getGodLevel();
diff --git a/indra/newview/llfloatersellland.cpp b/indra/newview/llfloatersellland.cpp
index 9895665026..eae6121e79 100644
--- a/indra/newview/llfloatersellland.cpp
+++ b/indra/newview/llfloatersellland.cpp
@@ -170,6 +170,7 @@ BOOL LLFloaterSellLandUI::postBuild()
childSetAction("sell_btn", doSellLand, this);
childSetAction("show_objects", doShowObjects, this);
center();
+ getChild<LLUICtrl>("profile_scroll")->setTabStop(true);
return TRUE;
}
diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp
index b6de409611..67c0b530eb 100644
--- a/indra/newview/llfloaterworldmap.cpp
+++ b/indra/newview/llfloaterworldmap.cpp
@@ -359,9 +359,7 @@ BOOL LLFloaterWorldMap::handleScrollWheel(S32 x, S32 y, S32 clicks)
{
if (!isMinimized() && isFrontmost())
{
- LLRect area;
- childGetRect("search_results", area);
- if(!area.pointInRect(x, y))
+ if(mPanel->pointInView(x, y))
{
F32 slider_value = (F32)childGetValue("zoom slider").asReal();
slider_value += ((F32)clicks * -0.3333f);
diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp
index 68faaeaa0b..cc807c2370 100644
--- a/indra/newview/llfolderview.cpp
+++ b/indra/newview/llfolderview.cpp
@@ -179,6 +179,7 @@ LLFolderView::LLFolderView(const Params& p)
mSourceID(p.task_id),
mRenameItem( NULL ),
mNeedsScroll( FALSE ),
+ mEnableScroll( true ),
mPinningSelectedItem(FALSE),
mNeedsAutoSelect( FALSE ),
mAutoSelectOverride(FALSE),
@@ -284,10 +285,7 @@ LLFolderView::~LLFolderView( void )
LLView::deleteViewByHandle(mPopupMenuHandle);
- if(mRenamer == gFocusMgr.getTopCtrl())
- {
- gFocusMgr.setTopCtrl(NULL);
- }
+ gViewerWindow->removePopup(mRenamer);
mAutoOpenItems.removeAllNodes();
clearSelection();
@@ -419,6 +417,11 @@ S32 LLFolderView::arrange( S32* unused_width, S32* unused_height, S32 filter_gen
S32 total_width = LEFT_PAD;
S32 running_height = mDebugFilters ? llceil(LLFontGL::getFontMonospace()->getLineHeight()) : 0;
S32 target_height = running_height;
+ if(!mHasVisibleChildren)// is there any filtered items ?
+ {
+ //Nope. We need to display status textbox, let's reserve some place for it
+ target_height += mStatusTextBox->getTextPixelHeight();
+ }
S32 parent_item_height = getRect().getHeight();
for (folders_t::iterator iter = mFolders.begin();
@@ -966,7 +969,7 @@ void LLFolderView::finishRenamingItem( void )
mRenameItem->rename( mRenamer->getText() );
}
- gFocusMgr.setTopCtrl( NULL );
+ gViewerWindow->removePopup(mRenamer);
if( mRenameItem )
{
@@ -983,7 +986,7 @@ void LLFolderView::closeRenamer( void )
// will commit current name (which could be same as original name)
mRenamer->setFocus( FALSE );
mRenamer->setVisible( FALSE );
- gFocusMgr.setTopCtrl( NULL );
+ gViewerWindow->removePopup(mRenamer);
if( mRenameItem )
{
@@ -1415,7 +1418,7 @@ void LLFolderView::startRenamingSelectedItem( void )
mRenamer->setFocus( TRUE );
mRenamer->setTopLostCallback(boost::bind(onRenamerLost, _1));
mRenamer->setFocusLostCallback(boost::bind(onRenamerLost, _1));
- gFocusMgr.setTopCtrl( mRenamer );
+ gViewerWindow->addPopup(mRenamer);
}
}
@@ -1896,7 +1899,7 @@ void LLFolderView::deleteAllChildren()
{
if(mRenamer == gFocusMgr.getTopCtrl())
{
- gFocusMgr.setTopCtrl(NULL);
+ gViewerWindow->removePopup(mRenamer);
}
LLView::deleteViewByHandle(mPopupMenuHandle);
mPopupMenuHandle = LLHandle<LLView>();
@@ -1908,7 +1911,7 @@ void LLFolderView::deleteAllChildren()
void LLFolderView::scrollToShowSelection()
{
- if (mSelectedItems.size())
+ if (mEnableScroll && mSelectedItems.size())
{
mNeedsScroll = TRUE;
}
@@ -2158,6 +2161,15 @@ void LLFolderView::doIdle()
LLSelectFirstFilteredItem filter;
applyFunctorRecursively(filter);
}
+
+ // Open filtered folders for folder views with mAutoSelectOverride=TRUE.
+ // Used by LLPlacesFolderView.
+ if (mAutoSelectOverride && !mFilter->getFilterSubString().empty())
+ {
+ LLOpenFilteredFolders filter;
+ applyFunctorRecursively(filter);
+ }
+
scrollToShowSelection();
}
diff --git a/indra/newview/llfolderview.h b/indra/newview/llfolderview.h
index faf6a9cf23..38255b3cea 100644
--- a/indra/newview/llfolderview.h
+++ b/indra/newview/llfolderview.h
@@ -269,6 +269,7 @@ public:
void dumpSelectionInformation();
virtual S32 notify(const LLSD& info) ;
+ void setEnableScroll(bool enable_scroll) { mEnableScroll = enable_scroll; }
private:
void updateRenamerPosition();
@@ -300,6 +301,7 @@ protected:
LLLineEditor* mRenamer;
BOOL mNeedsScroll;
+ bool mEnableScroll;
BOOL mPinningSelectedItem;
LLRect mScrollConstraintRect;
BOOL mNeedsAutoSelect;
diff --git a/indra/newview/llfriendcard.cpp b/indra/newview/llfriendcard.cpp
index ac060cef15..18f81fe506 100644
--- a/indra/newview/llfriendcard.cpp
+++ b/indra/newview/llfriendcard.cpp
@@ -44,24 +44,28 @@
// Constants;
-static const std::string INVENTORY_STRING_FRIENDS_SUBFOLDER = "InvFolder Friends";
-static const std::string INVENTORY_STRING_FRIENDS_ALL_SUBFOLDER = "InvFolder All";
+static const std::string INVENTORY_STRING_FRIENDS_SUBFOLDER = "Friends";
+static const std::string INVENTORY_STRING_FRIENDS_ALL_SUBFOLDER = "All";
// helper functions
-// NOTE: Usage of LLTrans::getString(); in next two functions to set localized
-// folders' names is caused by a hack in the LLFolderViewItem::refreshFromListener()
-// method for protected asset types.
-// So, localized names will be got from the strings with "InvFolder LABEL_NAME"
-// in the strings.xml
+// NOTE: For now Friends & All folders are created as protected folders of the LLFolderType::FT_CALLINGCARD type.
+// So, their names will be processed in the LLFolderViewItem::refreshFromListener() to be localized
+// using "InvFolder LABEL_NAME" as LLTrans::findString argument.
+
+// We must use in this file their hard-coded names to ensure found them on different locales. EXT-5829.
+// These hard-coded names will be stored in InventoryItems but shown localized in FolderViewItems
+
+// If hack in the LLFolderViewItem::refreshFromListener() to localize protected folder is removed
+// or these folders are not protected these names should be localized in another place/way.
inline const std::string get_friend_folder_name()
{
- return LLTrans::getString(INVENTORY_STRING_FRIENDS_SUBFOLDER);
+ return INVENTORY_STRING_FRIENDS_SUBFOLDER;
}
inline const std::string get_friend_all_subfolder_name()
{
- return LLTrans::getString(INVENTORY_STRING_FRIENDS_ALL_SUBFOLDER);
+ return INVENTORY_STRING_FRIENDS_ALL_SUBFOLDER;
}
void move_from_to_arrays(LLInventoryModel::cat_array_t& from, LLInventoryModel::cat_array_t& to)
@@ -350,9 +354,9 @@ const LLUUID& LLFriendCardsManager::findFriendAllSubfolderUUIDImpl() const
return findChildFolderUUID(friendFolderUUID, friendAllSubfolderName);
}
-const LLUUID& LLFriendCardsManager::findChildFolderUUID(const LLUUID& parentFolderUUID, const std::string& localizedName) const
+const LLUUID& LLFriendCardsManager::findChildFolderUUID(const LLUUID& parentFolderUUID, const std::string& nonLocalizedName) const
{
- LLNameCategoryCollector matchFolderFunctor(localizedName);
+ LLNameCategoryCollector matchFolderFunctor(nonLocalizedName);
return get_folder_uuid(parentFolderUUID, matchFolderFunctor);
}
diff --git a/indra/newview/llfriendcard.h b/indra/newview/llfriendcard.h
index b94d5ec2c0..1cda52c1d7 100644
--- a/indra/newview/llfriendcard.h
+++ b/indra/newview/llfriendcard.h
@@ -120,7 +120,7 @@ private:
return (mBuddyIDSet.end() != mBuddyIDSet.find(avatarID));
}
- const LLUUID& findChildFolderUUID(const LLUUID& parentFolderUUID, const std::string& localizedName) const;
+ const LLUUID& findChildFolderUUID(const LLUUID& parentFolderUUID, const std::string& nonLocalizedName) const;
const LLUUID& findFriendFolderUUIDImpl() const;
const LLUUID& findFriendAllSubfolderUUIDImpl() const;
const LLUUID& findFriendCardInventoryUUIDImpl(const LLUUID& avatarID);
diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp
index a47f628da0..4b2fc54753 100644
--- a/indra/newview/llglsandbox.cpp
+++ b/indra/newview/llglsandbox.cpp
@@ -898,19 +898,21 @@ void LLViewerObjectList::renderObjectBeacons()
S32 last_line_width = -1;
// gGL.begin(LLRender::LINES); // Always happens in (line_width != last_line_width)
- for (S32 i = 0; i < mDebugBeacons.count(); i++)
+ BOOL flush = FALSE;
+ for (std::vector<LLDebugBeacon>::iterator iter = mDebugBeacons.begin(); iter != mDebugBeacons.end(); ++iter)
{
- const LLDebugBeacon &debug_beacon = mDebugBeacons[i];
+ const LLDebugBeacon &debug_beacon = *iter;
LLColor4 color = debug_beacon.mColor;
color.mV[3] *= 0.25f;
S32 line_width = debug_beacon.mLineWidth;
if (line_width != last_line_width)
{
- if (i > 0)
+ if (flush)
{
gGL.end();
- gGL.flush();
}
+ flush = TRUE;
+ gGL.flush();
glLineWidth( (F32)line_width );
last_line_width = line_width;
gGL.begin(LLRender::LINES);
@@ -937,18 +939,20 @@ void LLViewerObjectList::renderObjectBeacons()
S32 last_line_width = -1;
// gGL.begin(LLRender::LINES); // Always happens in (line_width != last_line_width)
- for (S32 i = 0; i < mDebugBeacons.count(); i++)
+ BOOL flush = FALSE;
+ for (std::vector<LLDebugBeacon>::iterator iter = mDebugBeacons.begin(); iter != mDebugBeacons.end(); ++iter)
{
- const LLDebugBeacon &debug_beacon = mDebugBeacons[i];
+ const LLDebugBeacon &debug_beacon = *iter;
S32 line_width = debug_beacon.mLineWidth;
if (line_width != last_line_width)
{
- if (i > 0)
+ if (flush)
{
gGL.end();
- gGL.flush();
}
+ flush = TRUE;
+ gGL.flush();
glLineWidth( (F32)line_width );
last_line_width = line_width;
gGL.begin(LLRender::LINES);
@@ -970,9 +974,9 @@ void LLViewerObjectList::renderObjectBeacons()
gGL.flush();
glLineWidth(1.f);
- for (S32 i = 0; i < mDebugBeacons.count(); i++)
+ for (std::vector<LLDebugBeacon>::iterator iter = mDebugBeacons.begin(); iter != mDebugBeacons.end(); ++iter)
{
- LLDebugBeacon &debug_beacon = mDebugBeacons[i];
+ LLDebugBeacon &debug_beacon = *iter;
if (debug_beacon.mString == "")
{
continue;
diff --git a/indra/newview/llgrouplist.cpp b/indra/newview/llgrouplist.cpp
index 1ed1113f4d..bcfb516b81 100644
--- a/indra/newview/llgrouplist.cpp
+++ b/indra/newview/llgrouplist.cpp
@@ -287,7 +287,7 @@ bool LLGroupList::onContextMenuItemEnable(const LLSD& userdata)
return gAgent.getGroupID() != selected_group_id;
if (userdata.asString() == "call")
- return LLVoiceClient::voiceEnabled()&&gVoiceClient->voiceWorking();
+ return real_group_selected && LLVoiceClient::voiceEnabled()&&gVoiceClient->voiceWorking();
return real_group_selected;
}
diff --git a/indra/newview/llgrouplist.h b/indra/newview/llgrouplist.h
index f3ac676edd..0e9da25c58 100644
--- a/indra/newview/llgrouplist.h
+++ b/indra/newview/llgrouplist.h
@@ -74,6 +74,11 @@ public:
void setNameFilter(const std::string& filter);
void toggleIcons();
bool getIconsVisible() const { return mShowIcons; }
+
+ // *WORKAROUND: two methods to overload appropriate Params due to localization issue:
+ // no_groups_msg & no_filtered_groups_msg attributes are not defined as translatable in VLT. See EXT-5931
+ void setNoGroupsMsg(const std::string& msg) { mNoGroupsMsg = msg; }
+ void setNoFilteredGroupsMsg(const std::string& msg) { mNoFilteredGroupsMsg = msg; }
private:
void setDirty(bool val = true) { mDirty = val; }
diff --git a/indra/newview/llgroupmgr.cpp b/indra/newview/llgroupmgr.cpp
index 6dbd3a81e8..aeac3841f9 100644
--- a/indra/newview/llgroupmgr.cpp
+++ b/indra/newview/llgroupmgr.cpp
@@ -56,6 +56,16 @@
#include "lluictrlfactory.h"
#include <boost/regex.hpp>
+#if LL_MSVC
+// disable boost::lexical_cast warning
+#pragma warning (disable:4702)
+#endif
+
+#include <boost/lexical_cast.hpp>
+
+#if LL_MSVC
+#pragma warning(pop) // Restore all warnings to the previous state
+#endif
const U32 MAX_CACHED_GROUPS = 10;
@@ -833,12 +843,13 @@ static void formatDateString(std::string &date_string)
const regex expression("([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})");
if (regex_match(date_string.c_str(), result, expression))
{
- std::string year = result[3];
- std::string month = result[1];
- std::string day = result[2];
+ // convert matches to integers so that we can pad them with zeroes on Linux
+ S32 year = boost::lexical_cast<S32>(result[3]);
+ S32 month = boost::lexical_cast<S32>(result[1]);
+ S32 day = boost::lexical_cast<S32>(result[2]);
// ISO 8601 date format
- date_string = llformat("%02s/%02s/%04s", month.c_str(), day.c_str(), year.c_str());
+ date_string = llformat("%04d/%02d/%02d", year, month, day);
}
}
@@ -1728,7 +1739,6 @@ void LLGroupMgr::sendGroupMemberEjects(const LLUUID& group_id,
LLGroupMgrGroupData::member_list_t::iterator mit = group_datap->mMembers.find(ejected_member_id);
if (mit != group_datap->mMembers.end())
{
- LLGroupMemberData* member_data = (*mit).second;
// Add them to the message
if (start_message)
{
@@ -1750,6 +1760,8 @@ void LLGroupMgr::sendGroupMemberEjects(const LLUUID& group_id,
start_message = true;
}
+ LLGroupMemberData* member_data = (*mit).second;
+
// Clean up groupmgr
for (LLGroupMemberData::role_list_t::iterator rit = member_data->roleBegin();
rit != member_data->roleEnd(); ++rit)
@@ -1762,6 +1774,8 @@ void LLGroupMgr::sendGroupMemberEjects(const LLUUID& group_id,
group_datap->mMembers.erase(ejected_member_id);
+ // member_data was introduced and is used here instead of (*mit).second to avoid crash because of invalid iterator
+ // It becomes invalid after line with erase above. EXT-4778
delete member_data;
}
}
diff --git a/indra/newview/llhudrender.cpp b/indra/newview/llhudrender.cpp
index a02dc3355b..325c9c260c 100644
--- a/indra/newview/llhudrender.cpp
+++ b/indra/newview/llhudrender.cpp
@@ -121,24 +121,24 @@ void hud_render_text(const LLWString &wstr, const LLVector3 &pos_agent,
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glMatrixMode(GL_MODELVIEW);
-
+ gGL.pushMatrix();
LLUI::pushMatrix();
gl_state_for_2d(world_view_rect.getWidth(), world_view_rect.getHeight());
gViewerWindow->setup3DViewport();
- //gViewerWindow->setup2DRender();
-
+
winX -= world_view_rect.mLeft;
winY -= world_view_rect.mBottom;
LLUI::loadIdentity();
+ glLoadIdentity();
LLUI::translate((F32) winX*1.0f/LLFontGL::sScaleX, (F32) winY*1.0f/(LLFontGL::sScaleY), -(((F32) winZ*2.f)-1.f));
- //glRotatef(angle * RAD_TO_DEG, axis.mV[VX], axis.mV[VY], axis.mV[VZ]);
- //glScalef(right_scale, up_scale, 1.f);
F32 right_x;
font.render(wstr, 0, 0, 0, color, LLFontGL::LEFT, LLFontGL::BASELINE, style, shadow, wstr.length(), 1000, &right_x);
+
LLUI::popMatrix();
-
+ gGL.popMatrix();
+
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
diff --git a/indra/newview/llhudtext.cpp b/indra/newview/llhudtext.cpp
index 347b87f808..b14753ff2a 100644
--- a/indra/newview/llhudtext.cpp
+++ b/indra/newview/llhudtext.cpp
@@ -555,7 +555,7 @@ void LLHUDText::renderText(BOOL for_select)
}
}
/// Reset the default color to white. The renderer expects this to be the default.
- glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
+ gGL.color4f(1.0f, 1.0f, 1.0f, 1.0f);
if (for_select)
{
gGL.getTexUnit(0)->enable(LLTexUnit::TT_TEXTURE);
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index 847695577a..77eaebb0bc 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -112,6 +112,8 @@ LLIMFloater::LLIMFloater(const LLUUID& session_id)
setOverlapsScreenChannel(true);
LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::IM, this);
+
+ setDocked(true);
}
void LLIMFloater::onFocusLost()
@@ -125,12 +127,6 @@ void LLIMFloater::onFocusReceived()
{
LLIMModel::getInstance()->setActiveSessionID(mSessionID);
- // return focus to the input field when active tab in the multitab container is clicked.
- if (isChatMultiTab() && mInputEditor)
- {
- mInputEditor->setFocus(TRUE);
- }
-
LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(mSessionID, true);
}
@@ -442,7 +438,7 @@ LLIMFloater* LLIMFloater::show(const LLUUID& session_id)
void LLIMFloater::getAllowedRect(LLRect& rect)
{
- rect = gViewerWindow->getWorldViewRectRaw();
+ rect = gViewerWindow->getWorldViewRectScaled();
static S32 right_padding = 0;
if (right_padding == 0)
{
@@ -633,12 +629,14 @@ void LLIMFloater::updateMessages()
LLUUID from_id = msg["from_id"].asUUID();
std::string from = msg["from"].asString();
std::string message = msg["message"].asString();
+ bool is_history = msg["is_history"].asBoolean();
LLChat chat;
chat.mFromID = from_id;
chat.mSessionID = mSessionID;
chat.mFromName = from;
chat.mTimeStr = time;
+ chat.mChatStyle = is_history ? CHAT_STYLE_HISTORY : chat.mChatStyle;
// process offer notification
if (msg.has("notification_id"))
@@ -678,15 +676,6 @@ void LLIMFloater::onInputEditorFocusReceived( LLFocusableElement* caller, void*
//in disconnected state IM input editor should be disabled
self->mInputEditor->setEnabled(!gDisconnected);
}
-
- // when IM Floater is a part of the multitab container LLTabContainer set focus to the first
- // child on tab button's mouse up. This leads input field lost focus. See EXT-3852.
- if (isChatMultiTab())
- {
- // So, clear control captured mouse to prevent LLTabContainer set focus on the panel's first child.
- // do not pass self->mInputEditor, this leads to have "Edit Text" mouse pointer wherever it is.
- gFocusMgr.setMouseCapture(NULL);
- }
}
// static
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp
index 2f248f3596..9eb11a6ac4 100644
--- a/indra/newview/llimfloatercontainer.cpp
+++ b/indra/newview/llimfloatercontainer.cpp
@@ -39,6 +39,7 @@
#include "llavatariconctrl.h"
#include "llgroupiconctrl.h"
#include "llagent.h"
+#include "lltransientfloatermgr.h"
//
// LLIMFloaterContainer
@@ -47,9 +48,13 @@ LLIMFloaterContainer::LLIMFloaterContainer(const LLSD& seed)
: LLMultiFloater(seed)
{
mAutoResize = FALSE;
+ LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::IM, this);
}
-LLIMFloaterContainer::~LLIMFloaterContainer(){}
+LLIMFloaterContainer::~LLIMFloaterContainer()
+{
+ LLTransientFloaterMgr::getInstance()->removeControlView(LLTransientFloaterMgr::IM, this);
+}
BOOL LLIMFloaterContainer::postBuild()
{
@@ -150,6 +155,8 @@ void LLIMFloaterContainer::setMinimized(BOOL b)
if (isMinimized() == b) return;
LLMultiFloater::setMinimized(b);
+ // Hide minimized floater (see EXT-5315)
+ setVisible(!b);
if (isMinimized()) return;
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index c5cbcde91b..2d3971ff43 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -358,7 +358,7 @@ void LLIMModel::LLIMSession::sessionInitReplyReceived(const LLUUID& new_session_
}
}
-void LLIMModel::LLIMSession::addMessage(const std::string& from, const LLUUID& from_id, const std::string& utf8_text, const std::string& time)
+void LLIMModel::LLIMSession::addMessage(const std::string& from, const LLUUID& from_id, const std::string& utf8_text, const std::string& time, const bool is_history)
{
LLSD message;
message["from"] = from;
@@ -366,6 +366,7 @@ void LLIMModel::LLIMSession::addMessage(const std::string& from, const LLUUID& f
message["message"] = utf8_text;
message["time"] = time;
message["index"] = (LLSD::Integer)mMsgs.size();
+ message["is_history"] = is_history;
mMsgs.push_front(message);
@@ -394,7 +395,7 @@ void LLIMModel::LLIMSession::addMessagesFromHistory(const std::list<LLSD>& histo
std::string timestamp = msg[IM_TIME];
std::string text = msg[IM_TEXT];
- addMessage(from, from_id, text, timestamp);
+ addMessage(from, from_id, text, timestamp, true);
it++;
}
@@ -408,11 +409,11 @@ void LLIMModel::LLIMSession::chatFromLogFile(LLLogChat::ELogLineType type, const
if (type == LLLogChat::LOG_LINE)
{
- self->addMessage("", LLSD(), msg["message"].asString(), "");
+ self->addMessage("", LLSD(), msg["message"].asString(), "", true);
}
else if (type == LLLogChat::LOG_LLSD)
{
- self->addMessage(msg["from"].asString(), msg["from_id"].asUUID(), msg["message"].asString(), msg["time"].asString());
+ self->addMessage(msg["from"].asString(), msg["from_id"].asUUID(), msg["message"].asString(), msg["time"].asString(), true);
}
}
@@ -952,7 +953,42 @@ void LLIMModel::sendMessage(const std::string& utf8_text,
}
// Add the recipient to the recent people list.
- LLRecentPeople::instance().add(other_participant_id);
+ bool is_not_group_id = LLGroupMgr::getInstance()->getGroupData(other_participant_id) == NULL;
+
+ if (is_not_group_id)
+ {
+
+#if 0
+ //use this code to add only online members
+ LLIMSpeakerMgr* speaker_mgr = LLIMModel::getInstance()->getSpeakerManager(im_session_id);
+ LLSpeakerMgr::speaker_list_t speaker_list;
+ speaker_mgr->getSpeakerList(&speaker_list, true);
+ for(LLSpeakerMgr::speaker_list_t::iterator it = speaker_list.begin(); it != speaker_list.end(); it++)
+ {
+ const LLPointer<LLSpeaker>& speakerp = *it;
+
+ LLRecentPeople::instance().add(speakerp->mID);
+ }
+#else
+ LLIMModel::LLIMSession* session = LLIMModel::getInstance()->findIMSession(im_session_id);
+ if( session == 0)//??? shouldn't really happen
+ {
+ LLRecentPeople::instance().add(other_participant_id);
+ }
+ else
+ {
+ for(std::vector<LLUUID>::iterator it = session->mInitialTargetIDs.begin();
+ it!=session->mInitialTargetIDs.end();++it)
+ {
+ const LLUUID id = *it;
+
+ LLRecentPeople::instance().add(id);
+ }
+ }
+#endif
+ }
+
+
}
void session_starter_helper(
@@ -1473,6 +1509,8 @@ LLCallDialog::LLCallDialog(const LLSD& payload)
mLifetime(DEFAULT_LIFETIME)
{
setAutoFocus(FALSE);
+ // force docked state since this floater doesn't save it between recreations
+ setDocked(true);
}
void LLCallDialog::getAllowedRect(LLRect& rect)
@@ -1528,7 +1566,7 @@ void LLCallDialog::onOpen(const LLSD& key)
LLDockableFloater::onOpen(key);
// it should be over the all floaters. EXT-5116
- gFloaterView->bringToFront(this);
+ gFloaterView->bringToFront(this, FALSE);
}
void LLCallDialog::setIcon(const LLSD& session_id, const LLSD& participant_id)
diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h
index a6c8394071..c5ceaf3a89 100644
--- a/indra/newview/llimview.h
+++ b/indra/newview/llimview.h
@@ -66,7 +66,7 @@ public:
void sessionInitReplyReceived(const LLUUID& new_session_id);
void addMessagesFromHistory(const std::list<LLSD>& history);
- void addMessage(const std::string& from, const LLUUID& from_id, const std::string& utf8_text, const std::string& time);
+ void addMessage(const std::string& from, const LLUUID& from_id, const std::string& utf8_text, const std::string& time, const bool is_history = false);
void onVoiceChannelStateChanged(const LLVoiceChannel::EState& old_state, const LLVoiceChannel::EState& new_state, const LLVoiceChannel::EDirection& direction);
/** @deprecated */
diff --git a/indra/newview/llinspectavatar.cpp b/indra/newview/llinspectavatar.cpp
index a9258f7663..1c68c50ec6 100644
--- a/indra/newview/llinspectavatar.cpp
+++ b/indra/newview/llinspectavatar.cpp
@@ -52,6 +52,7 @@
#include "llviewermenu.h"
#include "llvoiceclient.h"
#include "llviewerobjectlist.h"
+#include "lltransientfloatermgr.h"
// Linden libraries
#include "llfloater.h"
@@ -72,7 +73,7 @@ class LLFetchAvatarData;
// Avatar Inspector, a small information window used when clicking
// on avatar names in the 2D UI and in the ambient inspector widget for
// the 3D world.
-class LLInspectAvatar : public LLInspect
+class LLInspectAvatar : public LLInspect, LLTransientFloater
{
friend class LLFloaterReg;
@@ -98,6 +99,8 @@ public:
// gear menu is not open
/* virtual */ void onMouseLeave(S32 x, S32 y, MASK mask);
+ virtual LLTransientFloaterMgr::ETransientGroup getGroup() { return LLTransientFloaterMgr::GLOBAL; }
+
private:
// Make network requests for all the data to display in this view.
// Used on construction and if avatar id changes.
@@ -121,6 +124,7 @@ private:
void onClickTeleport();
void onClickInviteToGroup();
void onClickPay();
+ void onClickShare();
void onToggleMute();
void onClickReport();
void onClickFreeze();
@@ -212,6 +216,7 @@ LLInspectAvatar::LLInspectAvatar(const LLSD& sd)
mCommitCallbackRegistrar.add("InspectAvatar.Teleport", boost::bind(&LLInspectAvatar::onClickTeleport, this));
mCommitCallbackRegistrar.add("InspectAvatar.InviteToGroup", boost::bind(&LLInspectAvatar::onClickInviteToGroup, this));
mCommitCallbackRegistrar.add("InspectAvatar.Pay", boost::bind(&LLInspectAvatar::onClickPay, this));
+ mCommitCallbackRegistrar.add("InspectAvatar.Share", boost::bind(&LLInspectAvatar::onClickShare, this));
mCommitCallbackRegistrar.add("InspectAvatar.ToggleMute", boost::bind(&LLInspectAvatar::onToggleMute, this));
mCommitCallbackRegistrar.add("InspectAvatar.Freeze",
boost::bind(&LLInspectAvatar::onClickFreeze, this));
@@ -234,6 +239,9 @@ LLInspectAvatar::LLInspectAvatar(const LLSD& sd)
// can't make the properties request until the widgets are constructed
// as it might return immediately, so do it in postBuild.
+
+ LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::GLOBAL, this);
+ LLTransientFloater::init(this);
}
LLInspectAvatar::~LLInspectAvatar()
@@ -242,6 +250,8 @@ LLInspectAvatar::~LLInspectAvatar()
// view
delete mPropertiesRequest;
mPropertiesRequest = NULL;
+
+ LLTransientFloaterMgr::getInstance()->removeControlView(this);
}
/*virtual*/
@@ -689,6 +699,12 @@ void LLInspectAvatar::onClickPay()
closeFloater();
}
+void LLInspectAvatar::onClickShare()
+{
+ LLAvatarActions::share(mAvatarID);
+ closeFloater();
+}
+
void LLInspectAvatar::onToggleMute()
{
LLMute mute(mAvatarID, mAvatarName, LLMute::AGENT);
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 2e0ac3863b..734e1767ac 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -31,6 +31,8 @@
*/
#include "llviewerprecompiledheaders.h"
+// external projects
+#include "lltransfersourceasset.h"
#include "llinventorybridge.h"
@@ -586,7 +588,16 @@ void LLInvFVBridge::getClipboardEntries(bool show_asset_id,
if (show_asset_id)
{
items.push_back(std::string("Copy Asset UUID"));
- if ( (! ( isItemPermissive() || gAgent.isGodlike() ) )
+
+ bool is_asset_knowable = false;
+
+ LLViewerInventoryItem* inv_item = gInventory.getItem(mUUID);
+ if (inv_item)
+ {
+ is_asset_knowable = is_asset_id_knowable(inv_item->getType());
+ }
+ if ( !is_asset_knowable // disable menu item for Inventory items with unknown asset. EXT-5308
+ || (! ( isItemPermissive() || gAgent.isGodlike() ) )
|| (flags & FIRST_SELECTED_ITEM) == 0)
{
disabled_items.push_back(std::string("Copy Asset UUID"));
@@ -1068,9 +1079,9 @@ void LLItemBridge::performAction(LLFolderView* folder, LLInventoryModel* model,
else if ("copy_uuid" == action)
{
// Single item only
- LLInventoryItem* item = model->getItem(mUUID);
+ LLViewerInventoryItem* item = static_cast<LLViewerInventoryItem*>(getItem());
if(!item) return;
- LLUUID asset_id = item->getAssetUUID();
+ LLUUID asset_id = item->getProtectedAssetUUID();
std::string buffer;
asset_id.toString(buffer);
@@ -1110,7 +1121,7 @@ void LLItemBridge::performAction(LLFolderView* folder, LLInventoryModel* model,
void LLItemBridge::selectItem()
{
- LLViewerInventoryItem* item = (LLViewerInventoryItem*)getItem();
+ LLViewerInventoryItem* item = static_cast<LLViewerInventoryItem*>(getItem());
if(item && !item->isComplete())
{
item->fetchFromServer();
@@ -1119,7 +1130,7 @@ void LLItemBridge::selectItem()
void LLItemBridge::restoreItem()
{
- LLViewerInventoryItem* item = (LLViewerInventoryItem*)getItem();
+ LLViewerInventoryItem* item = static_cast<LLViewerInventoryItem*>(getItem());
if(item)
{
LLInventoryModel* model = getInventoryModel();
@@ -1134,7 +1145,7 @@ void LLItemBridge::restoreToWorld()
//Similar functionality to the drag and drop rez logic
bool remove_from_inventory = false;
- LLViewerInventoryItem* itemp = (LLViewerInventoryItem*)getItem();
+ LLViewerInventoryItem* itemp = static_cast<LLViewerInventoryItem*>(getItem());
if (itemp)
{
LLMessageSystem* msg = gMessageSystem;
@@ -1427,11 +1438,7 @@ BOOL LLItemBridge::isItemPermissive() const
LLViewerInventoryItem* item = getItem();
if(item)
{
- U32 mask = item->getPermissions().getMaskBase();
- if((mask & PERM_ITEM_UNRESTRICTED) == PERM_ITEM_UNRESTRICTED)
- {
- return TRUE;
- }
+ return item->getIsFullPerm();
}
return FALSE;
}
@@ -1928,7 +1935,7 @@ bool LLFindCOFValidItems::operator()(LLInventoryCategory* cat,
// - links to attachments
// - links to gestures
// - links to ensemble folders
- LLViewerInventoryItem *linked_item = ((LLViewerInventoryItem*)item)->getLinkedItem(); // BAP - safe?
+ LLViewerInventoryItem *linked_item = ((LLViewerInventoryItem*)item)->getLinkedItem();
if (linked_item)
{
LLAssetType::EType type = linked_item->getType();
@@ -1939,7 +1946,7 @@ bool LLFindCOFValidItems::operator()(LLInventoryCategory* cat,
}
else
{
- LLViewerInventoryCategory *linked_category = ((LLViewerInventoryItem*)item)->getLinkedCategory(); // BAP - safe?
+ LLViewerInventoryCategory *linked_category = ((LLViewerInventoryItem*)item)->getLinkedCategory();
// BAP remove AT_NONE support after ensembles are fully working?
return (linked_category &&
((linked_category->getPreferredType() == LLFolderType::FT_NONE) ||
@@ -2965,8 +2972,6 @@ void LLFolderBridge::modifyOutfit(BOOL append)
LLViewerInventoryCategory* cat = getCategory();
if(!cat) return;
- // BAP - was:
- // wear_inventory_category_on_avatar( cat, append );
LLAppearanceManager::instance().wearInventoryCategory( cat, FALSE, append );
}
diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp
index 500a957c69..b19df3156f 100644
--- a/indra/newview/llinventorymodel.cpp
+++ b/indra/newview/llinventorymodel.cpp
@@ -1543,7 +1543,7 @@ void LLInventoryModel::bulkFetch(std::string url)
U32 folder_count=0;
U32 max_batch_size=5;
- U32 sort_order = gSavedSettings.getU32("InventorySortOrder") & 0x1;
+ U32 sort_order = gSavedSettings.getU32(LLInventoryPanel::DEFAULT_SORT_ORDER) & 0x1;
LLSD body;
LLSD body_lib;
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index ca9b942629..8097985ade 100644
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -290,8 +290,12 @@ void LLInventoryPanel::modelChanged(U32 mask)
if(bridge)
{ // Clear the display name first, so it gets properly re-built during refresh()
bridge->clearDisplayName();
+
+ view_item->refresh();
+
+ // Set the new tooltip with the new display name.
+ view_item->setToolTip(bridge->getDisplayName());
}
- view_item->refresh();
}
}
@@ -677,6 +681,21 @@ BOOL LLInventoryPanel::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
return handled;
}
+// virtual
+void LLInventoryPanel::onMouseEnter(S32 x, S32 y, MASK mask)
+{
+ LLPanel::onMouseEnter(x, y, mask);
+ // don't auto-scroll a list when cursor is over Inventory. See EXT-3981.
+ mFolders->setEnableScroll(false);
+}
+
+// virtual
+void LLInventoryPanel::onMouseLeave(S32 x, S32 y, MASK mask)
+{
+ LLPanel::onMouseLeave(x, y, mask);
+ mFolders->setEnableScroll(true);
+}
+
void LLInventoryPanel::onFocusLost()
{
// inventory no longer handles cut/copy/paste/delete
diff --git a/indra/newview/llinventorypanel.h b/indra/newview/llinventorypanel.h
index f312b588b9..928a458b84 100644
--- a/indra/newview/llinventorypanel.h
+++ b/indra/newview/llinventorypanel.h
@@ -65,10 +65,6 @@ class LLInventoryPanel : public LLPanel
// Data
//--------------------------------------------------------------------
public:
- static const std::string DEFAULT_SORT_ORDER;
- static const std::string RECENTITEMS_SORT_ORDER;
- static const std::string INHERIT_SORT_ORDER;
-
struct Filter : public LLInitParam::Block<Filter>
{
Optional<U32> sort_order;
@@ -122,6 +118,10 @@ public:
void* cargo_data,
EAcceptance* accept,
std::string& tooltip_msg);
+
+ void onMouseEnter(S32 x, S32 y, MASK mask);
+ void onMouseLeave(S32 x, S32 y, MASK mask);
+
// LLUICtrl methods
/*virtual*/ void onFocusLost();
/*virtual*/ void onFocusReceived();
@@ -138,8 +138,6 @@ public:
U32 getFilterPermMask() const { return mFolders->getFilterPermissions(); }
void setFilterSubString(const std::string& string);
const std::string getFilterSubString() { return mFolders->getFilterSubString(); }
- void setSortOrder(U32 order);
- U32 getSortOrder() { return mFolders->getSortOrder(); }
void setSinceLogoff(BOOL sl);
void setHoursAgo(U32 hours);
BOOL getSinceLogoff();
@@ -178,7 +176,6 @@ protected:
LLInventoryModel* mInventory;
LLInventoryObserver* mInventoryObserver;
BOOL mAllowMultiSelect;
- std::string mSortOrderSetting;
LLFolderView* mFolders;
LLScrollContainer* mScroller;
@@ -192,6 +189,20 @@ protected:
*/
const LLInventoryFVBridgeBuilder* mInvFVBridgeBuilder;
+
+ //--------------------------------------------------------------------
+ // Sorting
+ //--------------------------------------------------------------------
+public:
+ static const std::string DEFAULT_SORT_ORDER;
+ static const std::string RECENTITEMS_SORT_ORDER;
+ static const std::string INHERIT_SORT_ORDER;
+
+ void setSortOrder(U32 order);
+ U32 getSortOrder() const { return mFolders->getSortOrder(); }
+private:
+ std::string mSortOrderSetting;
+
//--------------------------------------------------------------------
// Hidden folders
//--------------------------------------------------------------------
diff --git a/indra/newview/lllocationhistory.cpp b/indra/newview/lllocationhistory.cpp
index df93930d33..7906d9b20f 100644
--- a/indra/newview/lllocationhistory.cpp
+++ b/indra/newview/lllocationhistory.cpp
@@ -63,6 +63,7 @@ void LLLocationHistory::addItem(const LLLocationHistoryItem& item) {
mItems.erase(mItems.begin(), mItems.end()-max_items);
}
llassert((S32)mItems.size() <= max_items);
+ mChangedSignal(ADD);
}
/*
@@ -87,9 +88,10 @@ bool LLLocationHistory::touchItem(const LLLocationHistoryItem& item) {
void LLLocationHistory::removeItems()
{
mItems.clear();
+ mChangedSignal(CLEAR);
}
-bool LLLocationHistory::getMatchingItems(std::string substring, location_list_t& result) const
+bool LLLocationHistory::getMatchingItems(const std::string& substring, location_list_t& result) const
{
// *TODO: an STL algorithm would look nicer
result.clear();
@@ -160,7 +162,7 @@ void LLLocationHistory::load()
return;
}
- removeItems();
+ mItems.clear();// need to use a direct call of clear() method to avoid signal invocation
// add each line in the file to the list
std::string line;
@@ -179,5 +181,5 @@ void LLLocationHistory::load()
file.close();
- mLoadedSignal();
+ mChangedSignal(LOAD);
}
diff --git a/indra/newview/lllocationhistory.h b/indra/newview/lllocationhistory.h
index 5f9976f87a..fb71fbaa0f 100644
--- a/indra/newview/lllocationhistory.h
+++ b/indra/newview/lllocationhistory.h
@@ -41,11 +41,13 @@
#include <boost/function.hpp>
class LLSD;
-
+/**
+ * This enum is responsible for identifying of history item.
+ */
enum ELocationType {
- TYPED_REGION_SURL//region name or surl
- ,LANDMARK // name of landmark
- ,TELEPORT_HISTORY
+ TYPED_REGION_SLURL//item added after the user had typed a region name or slurl
+ ,LANDMARK // item has been loaded from landmark folder
+ ,TELEPORT_HISTORY // item from session teleport history
};
class LLLocationHistoryItem {
@@ -109,9 +111,16 @@ class LLLocationHistory: public LLSingleton<LLLocationHistory>
LOG_CLASS(LLLocationHistory);
public:
+ enum EChangeType
+ {
+ ADD
+ ,CLEAR
+ ,LOAD
+ };
+
typedef std::vector<LLLocationHistoryItem> location_list_t;
- typedef boost::function<void()> loaded_callback_t;
- typedef boost::signals2::signal<void()> loaded_signal_t;
+ typedef boost::function<void(EChangeType event)> history_changed_callback_t;
+ typedef boost::signals2::signal<void(EChangeType event)> history_changed_signal_t;
LLLocationHistory();
@@ -120,8 +129,8 @@ public:
void removeItems();
size_t getItemCount() const { return mItems.size(); }
const location_list_t& getItems() const { return mItems; }
- bool getMatchingItems(std::string substring, location_list_t& result) const;
- boost::signals2::connection setLoadedCallback(loaded_callback_t cb) { return mLoadedSignal.connect(cb); }
+ bool getMatchingItems(const std::string& substring, location_list_t& result) const;
+ boost::signals2::connection setChangedCallback(history_changed_callback_t cb) { return mChangedSignal.connect(cb); }
void save() const;
void load();
@@ -131,7 +140,7 @@ private:
location_list_t mItems;
std::string mFilename; /// File to store the history to.
- loaded_signal_t mLoadedSignal;
+ history_changed_signal_t mChangedSignal;
};
#endif
diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp
index c66d067779..4100e2fc61 100644
--- a/indra/newview/lllocationinputctrl.cpp
+++ b/indra/newview/lllocationinputctrl.cpp
@@ -52,7 +52,6 @@
#include "llinventoryobserver.h"
#include "lllandmarkactions.h"
#include "lllandmarklist.h"
-#include "lllocationhistory.h"
#include "llteleporthistory.h"
#include "llsidetray.h"
#include "llslurl.h"
@@ -358,14 +357,29 @@ LLLocationInputCtrl::LLLocationInputCtrl(const LLLocationInputCtrl::Params& p)
getTextEntry()->setRightMouseUpCallback(boost::bind(&LLLocationInputCtrl::onTextEditorRightClicked,this,_2,_3,_4));
updateWidgetlayout();
+ // Connecting signal for updating location on "Show Coordinates" setting change.
+ LLControlVariable* coordinates_control = gSavedSettings.getControl("NavBarShowCoordinates").get();
+ if (coordinates_control)
+ {
+ mCoordinatesControlConnection = coordinates_control->getSignal()->connect(boost::bind(&LLLocationInputCtrl::refreshLocation, this));
+ }
+
+ // Connecting signal for updating parcel icons on "Show Parcel Properties" setting change.
+ LLControlVariable* parcel_properties_control = gSavedSettings.getControl("NavBarShowParcelProperties").get();
+ if (parcel_properties_control)
+ {
+ mParcelPropertiesControlConnection = parcel_properties_control->getSignal()->connect(boost::bind(&LLLocationInputCtrl::refreshParcelIcons, this));
+ }
+
// - Make the "Add landmark" button updated when either current parcel gets changed
// or a landmark gets created or removed from the inventory.
// - Update the location string on parcel change.
mParcelMgrConnection = LLViewerParcelMgr::getInstance()->addAgentParcelChangedCallback(
boost::bind(&LLLocationInputCtrl::onAgentParcelChange, this));
-
- mLocationHistoryConnection = LLLocationHistory::getInstance()->setLoadedCallback(
- boost::bind(&LLLocationInputCtrl::onLocationHistoryLoaded, this));
+ // LLLocationHistory instance is being created before the location input control, so we have to update initial state of button manually.
+ mButton->setEnabled(LLLocationHistory::instance().getItemCount() > 0);
+ mLocationHistoryConnection = LLLocationHistory::getInstance()->setChangedCallback(
+ boost::bind(&LLLocationInputCtrl::onLocationHistoryChanged, this,_1));
mRemoveLandmarkObserver = new LLRemoveLandmarkObserver(this);
mAddLandmarkObserver = new LLAddLandmarkObserver(this);
@@ -391,6 +405,8 @@ LLLocationInputCtrl::~LLLocationInputCtrl()
LLViewerParcelMgr::getInstance()->removeObserver(mParcelChangeObserver);
delete mParcelChangeObserver;
+ mCoordinatesControlConnection.disconnect();
+ mParcelPropertiesControlConnection.disconnect();
mParcelMgrConnection.disconnect();
mLocationHistoryConnection.disconnect();
}
@@ -457,6 +473,7 @@ BOOL LLLocationInputCtrl::handleKeyHere(KEY key, MASK mask)
void LLLocationInputCtrl::onTextEntry(LLLineEditor* line_editor)
{
KEY key = gKeyboard->currentKey();
+ MASK mask = gKeyboard->currentMask(TRUE);
if (line_editor->getText().empty())
{
@@ -464,7 +481,7 @@ void LLLocationInputCtrl::onTextEntry(LLLineEditor* line_editor)
hideList();
}
// Typing? (moving cursor should not affect showing the list)
- else if (key != KEY_LEFT && key != KEY_RIGHT && key != KEY_HOME && key != KEY_END)
+ else if (mask != MASK_CONTROL && key != KEY_LEFT && key != KEY_RIGHT && key != KEY_HOME && key != KEY_END)
{
prearrangeList(line_editor->getText());
if (mList->getItemCount() != 0)
@@ -560,7 +577,7 @@ void LLLocationInputCtrl::reshape(S32 width, S32 height, BOOL called_from_parent
if (isHumanReadableLocationVisible)
{
- positionMaturityIcon();
+ refreshMaturityIcon();
}
}
@@ -603,9 +620,13 @@ void LLLocationInputCtrl::onLandmarkLoaded(LLLandmark* lm)
updateAddLandmarkButton();
}
-void LLLocationInputCtrl::onLocationHistoryLoaded()
+void LLLocationInputCtrl::onLocationHistoryChanged(LLLocationHistory::EChangeType event)
{
- rebuildLocationHistory();
+ if(event == LLLocationHistory::LOAD)
+ {
+ rebuildLocationHistory();
+ }
+ mButton->setEnabled(LLLocationHistory::instance().getItemCount() > 0);
}
void LLLocationInputCtrl::onLocationPrearrange(const LLSD& data)
@@ -648,7 +669,7 @@ void LLLocationInputCtrl::onLocationPrearrange(const LLSD& data)
value["item_type"] = TELEPORT_HISTORY;
value["global_pos"] = result->mGlobalPos.getValue();
std::string region_name = result->mTitle.substr(0, result->mTitle.find(','));
- //TODO*: add Surl to teleportitem or parse region name from title
+ //TODO*: add slurl to teleportitem or parse region name from title
value["tooltip"] = LLSLURL::buildSLURLfromPosGlobal(region_name,
result->mGlobalPos, false);
add(result->getTitle(), value);
@@ -716,32 +737,7 @@ void LLLocationInputCtrl::refreshLocation()
setText(location_name);
isHumanReadableLocationVisible = true;
- // Updating maturity rating icon.
- LLViewerRegion* region = gAgent.getRegion();
- if (!region)
- return;
-
- U8 sim_access = region->getSimAccess();
- switch(sim_access)
- {
- case SIM_ACCESS_PG:
- mMaturityIcon->setValue(mIconMaturityGeneral->getName());
- mMaturityIcon->setVisible(TRUE);
- break;
-
- case SIM_ACCESS_ADULT:
- mMaturityIcon->setValue(mIconMaturityAdult->getName());
- mMaturityIcon->setVisible(TRUE);
- break;
-
- default:
- mMaturityIcon->setVisible(FALSE);
- }
-
- if (mMaturityIcon->getVisible())
- {
- positionMaturityIcon();
- }
+ refreshMaturityIcon();
}
// returns new right edge
@@ -763,16 +759,19 @@ void LLLocationInputCtrl::refreshParcelIcons()
// Our "cursor" moving right to left
S32 x = mAddLandmarkBtn->getRect().mLeft;
- static LLUICachedControl<bool> show_properties("NavBarShowParcelProperties", false);
- if (show_properties)
- {
- LLViewerParcelMgr* vpm = LLViewerParcelMgr::getInstance();
+ LLViewerParcelMgr* vpm = LLViewerParcelMgr::getInstance();
- LLViewerRegion* agent_region = gAgent.getRegion();
- LLParcel* agent_parcel = vpm->getAgentParcel();
- if (!agent_region || !agent_parcel)
- return;
+ LLViewerRegion* agent_region = gAgent.getRegion();
+ LLParcel* agent_parcel = vpm->getAgentParcel();
+ if (!agent_region || !agent_parcel)
+ return;
+
+ mForSaleBtn->setVisible(vpm->canAgentBuyParcel(agent_parcel, false));
+
+ x = layout_widget(mForSaleBtn, x);
+ if (gSavedSettings.getBOOL("NavBarShowParcelProperties"))
+ {
LLParcel* current_parcel;
LLViewerRegion* selection_region = vpm->getSelectionRegion();
LLParcel* selected_parcel = vpm->getParcelSelection()->getParcel();
@@ -792,7 +791,6 @@ void LLLocationInputCtrl::refreshParcelIcons()
current_parcel = agent_parcel;
}
- bool allow_buy = vpm->canAgentBuyParcel(current_parcel, false);
bool allow_voice = vpm->allowAgentVoice(agent_region, current_parcel);
bool allow_fly = vpm->allowAgentFly(agent_region, current_parcel);
bool allow_push = vpm->allowAgentPush(agent_region, current_parcel);
@@ -801,7 +799,6 @@ void LLLocationInputCtrl::refreshParcelIcons()
bool allow_damage = vpm->allowAgentDamage(agent_region, current_parcel);
// Most icons are "block this ability"
- mForSaleBtn->setVisible(allow_buy);
mParcelIcon[VOICE_ICON]->setVisible( !allow_voice );
mParcelIcon[FLY_ICON]->setVisible( !allow_fly );
mParcelIcon[PUSH_ICON]->setVisible( !allow_push );
@@ -809,11 +806,10 @@ void LLLocationInputCtrl::refreshParcelIcons()
mParcelIcon[SCRIPTS_ICON]->setVisible( !allow_scripts );
mParcelIcon[DAMAGE_ICON]->setVisible( allow_damage );
mDamageText->setVisible(allow_damage);
-
- x = layout_widget(mForSaleBtn, x);
+
// Padding goes to left of both landmark star and for sale btn
x -= mAddLandmarkHPad;
-
+
// Slide the parcel icons rect from right to left, adjusting rectangles
for (S32 i = 0; i < ICON_COUNT; ++i)
{
@@ -825,7 +821,6 @@ void LLLocationInputCtrl::refreshParcelIcons()
}
else
{
- mForSaleBtn->setVisible(false);
for (S32 i = 0; i < ICON_COUNT; ++i)
{
mParcelIcon[i]->setVisible(false);
@@ -858,6 +853,36 @@ void LLLocationInputCtrl::refreshHealth()
}
}
+void LLLocationInputCtrl::refreshMaturityIcon()
+{
+ // Updating maturity rating icon.
+ LLViewerRegion* region = gAgent.getRegion();
+ if (!region)
+ return;
+
+ U8 sim_access = region->getSimAccess();
+ switch(sim_access)
+ {
+ case SIM_ACCESS_PG:
+ mMaturityIcon->setValue(mIconMaturityGeneral->getName());
+ mMaturityIcon->setVisible(TRUE);
+ break;
+
+ case SIM_ACCESS_ADULT:
+ mMaturityIcon->setValue(mIconMaturityAdult->getName());
+ mMaturityIcon->setVisible(TRUE);
+ break;
+
+ default:
+ mMaturityIcon->setVisible(FALSE);
+ }
+
+ if (mMaturityIcon->getVisible())
+ {
+ positionMaturityIcon();
+ }
+}
+
void LLLocationInputCtrl::positionMaturityIcon()
{
const LLFontGL* font = mTextEntry->getFont();
@@ -877,7 +902,7 @@ void LLLocationInputCtrl::positionMaturityIcon()
mMaturityIcon->setVisible(rect.mRight < mTextEntry->getRect().getWidth() - right_pad);
}
-void LLLocationInputCtrl::rebuildLocationHistory(std::string filter)
+void LLLocationInputCtrl::rebuildLocationHistory(const std::string& filter)
{
LLLocationHistory::location_list_t filtered_items;
const LLLocationHistory::location_list_t* itemsp = NULL;
@@ -899,7 +924,7 @@ void LLLocationInputCtrl::rebuildLocationHistory(std::string filter)
LLSD value;
value["tooltip"] = it->getToolTip();
//location history can contain only typed locations
- value["item_type"] = TYPED_REGION_SURL;
+ value["item_type"] = TYPED_REGION_SLURL;
value["global_pos"] = it->mGlobalPos.getValue();
add(it->getLocation(), value);
}
@@ -1008,7 +1033,6 @@ void LLLocationInputCtrl::onLocationContextMenuItemClicked(const LLSD& userdata)
{
gSavedSettings.setBOOL("NavBarShowParcelProperties",
!gSavedSettings.getBOOL("NavBarShowParcelProperties"));
- refreshParcelIcons();
}
else if (item == "landmark")
{
diff --git a/indra/newview/lllocationinputctrl.h b/indra/newview/lllocationinputctrl.h
index caa62daa1b..f790140f07 100644
--- a/indra/newview/lllocationinputctrl.h
+++ b/indra/newview/lllocationinputctrl.h
@@ -36,6 +36,7 @@
#include "llcombobox.h"
#include "lliconctrl.h" // Params
#include "lltextbox.h" // Params
+#include "lllocationhistory.h"
class LLLandmark;
@@ -135,9 +136,10 @@ private:
void refreshParcelIcons();
// Refresh the value in the health percentage text field
void refreshHealth();
+ void refreshMaturityIcon();
void positionMaturityIcon();
- void rebuildLocationHistory(std::string filter = "");
+ void rebuildLocationHistory(const std::string& filter = LLStringUtil::null);
bool findTeleportItemsByTitle(const LLTeleportHistoryItem& item, const std::string& filter);
void setText(const LLStringExplicit& text);
void updateAddLandmarkButton();
@@ -147,7 +149,7 @@ private:
void changeLocationPresentation();
void onInfoButtonClicked();
- void onLocationHistoryLoaded();
+ void onLocationHistoryChanged(LLLocationHistory::EChangeType event);
void onLocationPrearrange(const LLSD& data);
void onTextEditorRightClicked(S32 x, S32 y, MASK mask);
void onLandmarkLoaded(LLLandmark* lm);
@@ -174,6 +176,8 @@ private:
LLRemoveLandmarkObserver* mRemoveLandmarkObserver;
LLParcelChangeObserver* mParcelChangeObserver;
+ boost::signals2::connection mCoordinatesControlConnection;
+ boost::signals2::connection mParcelPropertiesControlConnection;
boost::signals2::connection mParcelMgrConnection;
boost::signals2::connection mLocationHistoryConnection;
LLUIImage* mLandmarkImageOn;
diff --git a/indra/newview/lllogchat.cpp b/indra/newview/lllogchat.cpp
index 96ce01c05f..be8b2363ad 100644
--- a/indra/newview/lllogchat.cpp
+++ b/indra/newview/lllogchat.cpp
@@ -39,12 +39,27 @@
#include "llviewercontrol.h"
#include "llinstantmessage.h"
+#include "llsingleton.h" // for LLSingleton
#include <boost/algorithm/string/trim.hpp>
#include <boost/algorithm/string/replace.hpp>
#include <boost/regex.hpp>
#include <boost/regex/v4/match_results.hpp>
+#if LL_MSVC
+// disable warning about boost::lexical_cast unreachable code
+// when it fails to parse the string
+#pragma warning (disable:4702)
+#endif
+
+#include <boost/date_time/gregorian/gregorian.hpp>
+#if LL_MSVC
+#pragma warning(pop) // Restore all warnings to the previous state
+#endif
+
+#include <boost/date_time/posix_time/posix_time.hpp>
+#include <boost/date_time/local_time_adjustor.hpp>
+
const S32 LOG_RECALL_SIZE = 2048;
const static std::string IM_TIME("time");
@@ -69,6 +84,8 @@ const static std::string MULTI_LINE_PREFIX(" ");
* Katar Ivercourt is Offline
* [3:00] Katar Ivercourt is Offline
* [2009/11/20 3:01] Corba ProductEngine is Offline
+ *
+ * Note: "You" was used as an avatar names in viewers of previous versions
*/
const static boost::regex TIMESTAMP_AND_STUFF("^(\\[\\d{4}/\\d{1,2}/\\d{1,2}\\s+\\d{1,2}:\\d{2}\\]\\s+|\\[\\d{1,2}:\\d{2}\\]\\s+)?(.*)$");
@@ -78,11 +95,96 @@ const static boost::regex TIMESTAMP_AND_STUFF("^(\\[\\d{4}/\\d{1,2}/\\d{1,2}\\s+
*/
const static boost::regex NAME_AND_TEXT("(You:|Second Life:|[^\\s:]+\\s*[:]{1}|\\S+\\s+[^\\s:]+[:]{1})?(\\s*)(.*)");
+//is used to parse complex object names like "Xstreet SL Terminal v2.2.5 st"
+const static std::string NAME_TEXT_DIVIDER(": ");
+
+// is used for timestamps adjusting
+const static char* DATE_FORMAT("%Y/%m/%d %H:%M");
+const static char* TIME_FORMAT("%H:%M");
+
const static int IDX_TIMESTAMP = 1;
const static int IDX_STUFF = 2;
const static int IDX_NAME = 1;
const static int IDX_TEXT = 3;
+using namespace boost::posix_time;
+using namespace boost::gregorian;
+
+class LLLogChatTimeScanner: public LLSingleton<LLLogChatTimeScanner>
+{
+public:
+ LLLogChatTimeScanner()
+ {
+ // Note, date/time facets will be destroyed by string streams
+ mDateStream.imbue(std::locale(mDateStream.getloc(), new date_input_facet(DATE_FORMAT)));
+ mTimeStream.imbue(std::locale(mTimeStream.getloc(), new time_facet(TIME_FORMAT)));
+ mTimeStream.imbue(std::locale(mTimeStream.getloc(), new time_input_facet(DATE_FORMAT)));
+ }
+
+ date getTodayPacificDate()
+ {
+ typedef boost::date_time::local_adjustor<ptime, -8, no_dst> pst;
+ typedef boost::date_time::local_adjustor<ptime, -7, no_dst> pdt;
+ time_t t_time = time(NULL);
+ ptime p_time = LLStringOps::getPacificDaylightTime()
+ ? pdt::utc_to_local(from_time_t(t_time))
+ : pst::utc_to_local(from_time_t(t_time));
+ struct tm s_tm = to_tm(p_time);
+ return date_from_tm(s_tm);
+ }
+
+ void checkAndCutOffDate(std::string& time_str)
+ {
+ // Cuts off the "%Y/%m/%d" from string for todays timestamps.
+ // Assume that passed string has at least "%H:%M" time format.
+ date log_date(not_a_date_time);
+ date today(getTodayPacificDate());
+
+ // Parse the passed date
+ mDateStream.str(LLStringUtil::null);
+ mDateStream << time_str;
+ mDateStream >> log_date;
+ mDateStream.clear();
+
+ days zero_days(0);
+ days days_alive = today - log_date;
+
+ if ( days_alive == zero_days )
+ {
+ // Yep, today's so strip "%Y/%m/%d" info
+ ptime stripped_time(not_a_date_time);
+
+ mTimeStream.str(LLStringUtil::null);
+ mTimeStream << time_str;
+ mTimeStream >> stripped_time;
+ mTimeStream.clear();
+
+ time_str.clear();
+
+ mTimeStream.str(LLStringUtil::null);
+ mTimeStream << stripped_time;
+ mTimeStream >> time_str;
+ mTimeStream.clear();
+ }
+
+ LL_DEBUGS("LLChatLogParser")
+ << " log_date: "
+ << log_date
+ << " today: "
+ << today
+ << " days alive: "
+ << days_alive
+ << " new time: "
+ << time_str
+ << LL_ENDL;
+ }
+
+
+private:
+ std::stringstream mDateStream;
+ std::stringstream mTimeStream;
+};
+
//static
std::string LLLogChat::makeLogFileName(std::string filename)
{
@@ -160,10 +262,19 @@ void LLLogChat::saveHistory(const std::string& filename,
if (gSavedPerAccountSettings.getBOOL("LogTimestamp"))
item["time"] = LLLogChat::timestamp(gSavedPerAccountSettings.getBOOL("LogTimestampDate"));
- item["from"] = from;
item["from_id"] = from_id;
item["message"] = line;
+ //adding "Second Life:" for all system messages to make chat log history parsing more reliable
+ if (from.empty() && from_id.isNull())
+ {
+ item["from"] = SYSTEM_FROM;
+ }
+ else
+ {
+ item["from"] = from;
+ }
+
file << LLChatLogFormatter(item) << std::endl;
file.close();
@@ -363,7 +474,8 @@ bool LLChatLogParser::parse(std::string& raw, LLSD& im)
boost::trim(timestamp);
timestamp.erase(0, 1);
timestamp.erase(timestamp.length()-1, 1);
- im[IM_TIME] = timestamp;
+ LLLogChatTimeScanner::instance().checkAndCutOffDate(timestamp);
+ im[IM_TIME] = timestamp;
}
else
{
@@ -398,6 +510,18 @@ bool LLChatLogParser::parse(std::string& raw, LLSD& im)
im[IM_FROM_ID] = LLUUID::null;
}
+ //possibly a case of complex object names consisting of 3+ words
+ if (!has_name)
+ {
+ U32 divider_pos = stuff.find(NAME_TEXT_DIVIDER);
+ if (divider_pos != std::string::npos && divider_pos < (stuff.length() - NAME_TEXT_DIVIDER.length()))
+ {
+ im[IM_FROM] = stuff.substr(0, divider_pos);
+ im[IM_TEXT] = stuff.substr(divider_pos + NAME_TEXT_DIVIDER.length());
+ return true;
+ }
+ }
+
if (!has_name)
{
//text is mandatory
diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp
index 501a137b42..bf33d8527e 100644
--- a/indra/newview/llmediactrl.cpp
+++ b/indra/newview/llmediactrl.cpp
@@ -724,14 +724,14 @@ void LLMediaCtrl::draw()
LLGLSUIDefault gls_ui;
LLGLDisable gls_alphaTest( GL_ALPHA_TEST );
- gGL.pushMatrix();
+ gGL.pushUIMatrix();
{
if (mIgnoreUIScale)
{
- glLoadIdentity();
+ gGL.loadUIIdentity();
// font system stores true screen origin, need to scale this by UI scale factor
// to get render origin for this view (with unit scale)
- gGL.translatef(floorf(LLFontGL::sCurOrigin.mX * LLUI::sGLScaleFactor.mV[VX]),
+ gGL.translateUI(floorf(LLFontGL::sCurOrigin.mX * LLUI::sGLScaleFactor.mV[VX]),
floorf(LLFontGL::sCurOrigin.mY * LLUI::sGLScaleFactor.mV[VY]),
LLFontGL::sCurOrigin.mZ);
}
@@ -825,7 +825,7 @@ void LLMediaCtrl::draw()
gGL.end();
gGL.setSceneBlendType(LLRender::BT_ALPHA);
}
- gGL.popMatrix();
+ gGL.popUIMatrix();
}
else
diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp
index 4bf2bac649..1853b511be 100644
--- a/indra/newview/llmoveview.cpp
+++ b/indra/newview/llmoveview.cpp
@@ -77,7 +77,6 @@ LLFloaterMove::LLFloaterMove(const LLSD& key)
mTurnRightButton(NULL),
mMoveUpButton(NULL),
mMoveDownButton(NULL),
- mStopFlyingButton(NULL),
mModeActionsPanel(NULL),
mCurrentMode(MM_WALK)
{
@@ -87,6 +86,7 @@ LLFloaterMove::LLFloaterMove(const LLSD& key)
BOOL LLFloaterMove::postBuild()
{
setIsChrome(TRUE);
+ setTitleVisible(TRUE); // restore title visibility after chrome applying
LLDockableFloater::postBuild();
@@ -112,8 +112,6 @@ BOOL LLFloaterMove::postBuild()
mMoveDownButton->setHeldDownCallback(boost::bind(&LLFloaterMove::moveDown, this));
- mStopFlyingButton = getChild<LLButton>("stop_fly_btn");
-
mModeActionsPanel = getChild<LLPanel>("panel_modes");
LLButton* btn;
@@ -126,11 +124,6 @@ BOOL LLFloaterMove::postBuild()
btn = getChild<LLButton>("mode_fly_btn");
btn->setCommitCallback(boost::bind(&LLFloaterMove::onFlyButtonClick, this));
- btn = getChild<LLButton>("stop_fly_btn");
- btn->setCommitCallback(boost::bind(&LLFloaterMove::onStopFlyingButtonClick, this));
-
-
-
showFlyControls(false);
initModeTooltips();
@@ -250,6 +243,12 @@ void LLFloaterMove::setSittingMode(BOOL bSitting)
else
{
LLPanelStandStopFlying::clearStandStopFlyingMode(LLPanelStandStopFlying::SSFM_STAND);
+
+ // show "Stop Flying" button if needed. EXT-871
+ if (gAgent.getFlying())
+ {
+ LLPanelStandStopFlying::setStandStopFlyingMode(LLPanelStandStopFlying::SSFM_STOP_FLYING);
+ }
}
enableInstance(!bSitting);
}
@@ -298,10 +297,6 @@ void LLFloaterMove::onFlyButtonClick()
{
setMovementMode(MM_FLY);
}
-void LLFloaterMove::onStopFlyingButtonClick()
-{
- setMovementMode(gAgent.getAlwaysRun() ? MM_RUN : MM_WALK);
-}
void LLFloaterMove::setMovementMode(const EMovementMode mode)
{
@@ -347,16 +342,13 @@ void LLFloaterMove::updateButtonsWithMovementMode(const EMovementMode newMode)
showFlyControls(MM_FLY == newMode);
setModeTooltip(newMode);
setModeButtonToggleState(newMode);
+ setModeTitle(newMode);
}
void LLFloaterMove::showFlyControls(bool bShow)
{
mMoveUpButton->setVisible(bShow);
mMoveDownButton->setVisible(bShow);
-
- // *TODO: mantipov: mStopFlyingButton from the FloaterMove is not used now.
- // It was not completly removed until functionality is reviewed by LL
- mStopFlyingButton->setVisible(FALSE);
}
void LLFloaterMove::initModeTooltips()
@@ -414,11 +406,30 @@ void LLFloaterMove::setModeTooltip(const EMovementMode mode)
}
}
+void LLFloaterMove::setModeTitle(const EMovementMode mode)
+{
+ std::string title;
+ switch(mode)
+ {
+ case MM_WALK:
+ title = getString("walk_title");
+ break;
+ case MM_RUN:
+ title = getString("run_title");
+ break;
+ case MM_FLY:
+ title = getString("fly_title");
+ break;
+ default:
+ // title should be provided for all modes
+ llassert(false);
+ break;
+ }
+ setTitle(title);
+}
+
/**
* Updates position of the floater to be center aligned with Move button.
- *
- * Because Tip floater created as dependent floater this method
- * must be called before "showQuickTips()" to get Tip floater be positioned at the right side of the floater
*/
void LLFloaterMove::updatePosition()
{
@@ -684,10 +695,6 @@ void LLPanelStandStopFlying::onStandButtonClick()
gAgent.setControlFlags(AGENT_CONTROL_STAND_UP);
setFocus(FALSE); // EXT-482
-
- BOOL fly = gAgent.getFlying();
- mStopFlyingButton->setVisible(fly);
- setVisible(fly);
}
void LLPanelStandStopFlying::onStopFlyingButtonClick()
diff --git a/indra/newview/llmoveview.h b/indra/newview/llmoveview.h
index 06463f02af..dcca8308d9 100644
--- a/indra/newview/llmoveview.h
+++ b/indra/newview/llmoveview.h
@@ -86,13 +86,12 @@ private:
void onWalkButtonClick();
void onRunButtonClick();
void onFlyButtonClick();
- void onStopFlyingButtonClick();
void initMovementMode();
void setMovementMode(const EMovementMode mode);
void showFlyControls(bool bShow);
void initModeTooltips();
void setModeTooltip(const EMovementMode mode);
- void showQuickTips(const EMovementMode mode);
+ void setModeTitle(const EMovementMode mode);
void initModeButtonMap();
void setModeButtonToggleState(const EMovementMode mode);
void updateButtonsWithMovementMode(const EMovementMode newMode);
@@ -108,7 +107,6 @@ public:
LLButton* mMoveUpButton;
LLButton* mMoveDownButton;
private:
- LLButton* mStopFlyingButton;
LLPanel* mModeActionsPanel;
typedef std::map<LLView*, std::string> control_tooltip_map_t;
diff --git a/indra/newview/llnamelistctrl.cpp b/indra/newview/llnamelistctrl.cpp
index 5058939b0a..c3ff61aae3 100644
--- a/indra/newview/llnamelistctrl.cpp
+++ b/indra/newview/llnamelistctrl.cpp
@@ -47,6 +47,8 @@
static LLDefaultChildRegistry::Register<LLNameListCtrl> r("name_list");
+static const S32 info_icon_size = 16;
+
void LLNameListCtrl::NameTypeNames::declareValues()
{
declare("INDIVIDUAL", LLNameListCtrl::INDIVIDUAL);
@@ -138,6 +140,29 @@ void LLNameListCtrl::showInspector(const LLUUID& avatar_id, bool is_group)
LLFloaterReg::showInstance("inspect_avatar", LLSD().with("avatar_id", avatar_id));
}
+void LLNameListCtrl::mouseOverHighlightNthItem( S32 target_index )
+{
+ if (getHighlightedItemInx()!= target_index)
+ {
+ if(getHighlightedItemInx()!=-1)
+ {
+ LLScrollListItem* item = getItemList()[getHighlightedItemInx()];
+ LLScrollListText* cell = dynamic_cast<LLScrollListText*>(item->getColumn(mNameColumnIndex));
+ if(cell)
+ cell->setTextWidth(cell->getTextWidth() + info_icon_size);
+ }
+ if(target_index != -1)
+ {
+ LLScrollListItem* item = getItemList()[target_index];
+ LLScrollListText* cell = dynamic_cast<LLScrollListText*>(item->getColumn(mNameColumnIndex));
+ if(cell)
+ cell->setTextWidth(cell->getTextWidth() - info_icon_size);
+ }
+ }
+
+ LLScrollListCtrl::mouseOverHighlightNthItem(target_index);
+}
+
//virtual
BOOL LLNameListCtrl::handleToolTip(S32 x, S32 y, MASK mask)
{
@@ -164,7 +189,7 @@ BOOL LLNameListCtrl::handleToolTip(S32 x, S32 y, MASK mask)
// Spawn at right side of cell
LLPointer<LLUIImage> icon = LLUI::getUIImage("Info_Small");
- LLCoordGL pos( sticky_rect.mRight - 16, sticky_rect.mTop - (sticky_rect.getHeight() - icon->getHeight())/2 );
+ LLCoordGL pos( sticky_rect.mRight - info_icon_size, sticky_rect.mTop - (sticky_rect.getHeight() - icon->getHeight())/2 );
// Should we show a group or an avatar inspector?
bool is_group = hit_item->getValue()["is_group"].asBoolean();
diff --git a/indra/newview/llnamelistctrl.h b/indra/newview/llnamelistctrl.h
index 5148c74132..6d61214712 100644
--- a/indra/newview/llnamelistctrl.h
+++ b/indra/newview/llnamelistctrl.h
@@ -119,6 +119,8 @@ public:
void setAllowCallingCardDrop(BOOL b) { mAllowCallingCardDrop = b; }
/*virtual*/ void updateColumns();
+
+ /*virtual*/ void mouseOverHighlightNthItem( S32 index );
private:
void showInspector(const LLUUID& avatar_id, bool is_group);
diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp
index 46cab0d868..e11df06d86 100644
--- a/indra/newview/llnavigationbar.cpp
+++ b/indra/newview/llnavigationbar.cpp
@@ -449,8 +449,20 @@ void LLNavigationBar::onLocationSelection()
// Will not teleport to empty location.
if (typed_location.empty())
return;
-
+ //get selected item from combobox item
LLSD value = mCmbLocation->getSelectedValue();
+ if(value.isUndefined() && !mCmbLocation->getTextEntry()->isDirty())
+ {
+ // At this point we know that: there is no selected item in list and text field has NOT been changed
+ // So there is no sense to try to change the location
+ return;
+ }
+ /* since navbar list support autocompletion it contains several types of item: landmark, teleport hystory item,
+ * typed by user slurl or region name. Let's find out which type of item the user has selected
+ * to make decision about adding this location into typed history. see mSaveToLocationHistory
+ * Note:
+ * Only TYPED_REGION_SLURL item will be added into LLLocationHistory
+ */
if(value.has("item_type"))
{
@@ -480,7 +492,7 @@ void LLNavigationBar::onLocationSelection()
case TELEPORT_HISTORY:
//in case of teleport item was selected, teleport by position too.
- case TYPED_REGION_SURL:
+ case TYPED_REGION_SLURL:
if(value.has("global_pos"))
{
gAgent.teleportViaLocation(LLVector3d(value["global_pos"]));
@@ -492,7 +504,7 @@ void LLNavigationBar::onLocationSelection()
break;
}
}
- //Let's parse surl or region name
+ //Let's parse slurl or region name
std::string region_name;
LLVector3 local_coords(128, 128, 0);
@@ -505,7 +517,17 @@ void LLNavigationBar::onLocationSelection()
local_coords.set(x, y, z);
else
return;
- }else
+ }
+ // we have to do this check after previous, because LLUrlRegistry contains handlers for slurl too
+ //but we need to know whether typed_location is a simple http url.
+ else if (LLUrlRegistry::instance().isUrl(typed_location))
+ {
+ // display http:// URLs in the media browser, or
+ // anything else is sent to the search floater
+ LLWeb::loadURL(typed_location);
+ return;
+ }
+ else
{
// assume that an user has typed the {region name} or possible {region_name, parcel}
region_name = typed_location.substr(0,typed_location.find(','));
@@ -531,7 +553,7 @@ void LLNavigationBar::onTeleportFinished(const LLVector3d& global_agent_pos)
return;
LLLocationHistory* lh = LLLocationHistory::getInstance();
- //TODO*: do we need convert surl into readable format?
+ //TODO*: do we need convert slurl into readable format?
std::string location;
/*NOTE:
* We can't use gAgent.getPositionAgent() in case of local teleport to build location.
@@ -543,7 +565,7 @@ void LLNavigationBar::onTeleportFinished(const LLVector3d& global_agent_pos)
std::string tooltip (LLSLURL::buildSLURLfromPosGlobal(gAgent.getRegion()->getName(), global_agent_pos, false));
LLLocationHistoryItem item (location,
- global_agent_pos, tooltip,TYPED_REGION_SURL);// we can add into history only TYPED location
+ global_agent_pos, tooltip,TYPED_REGION_SLURL);// we can add into history only TYPED location
//Touch it, if it is at list already, add new location otherwise
if ( !lh->touchItem(item) ) {
lh->addItem(item);
@@ -621,20 +643,7 @@ void LLNavigationBar::onRegionNameResponse(
// Invalid location?
if (!region_handle)
{
- // handle any secondlife:// SLapps, or
- // display http:// URLs in the media browser, or
- // anything else is sent to the search floater
- if (LLUrlRegistry::instance().isUrl(typed_location))
- {
- if (! LLURLDispatcher::dispatchFromTextEditor(typed_location))
- {
- LLWeb::loadURL(typed_location);
- }
- }
- else
- {
- invokeSearch(typed_location);
- }
+ invokeSearch(typed_location);
return;
}
diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp
index 8fc11d3929..c8d5d782b7 100644
--- a/indra/newview/llnearbychat.cpp
+++ b/indra/newview/llnearbychat.cpp
@@ -278,6 +278,13 @@ void LLNearbyChat::processChatHistoryStyleUpdate(const LLSD& newvalue)
nearby_chat->updateChatHistoryStyle();
}
+bool isTwoWordsName(const std::string& name)
+{
+ //checking for a single space
+ S32 pos = name.find(' ', 0);
+ return std::string::npos != pos && name.rfind(' ', name.length()) == pos && 0 != pos && name.length()-1 != pos;
+}
+
void LLNearbyChat::loadHistory()
{
LLSD do_not_log;
@@ -303,6 +310,19 @@ void LLNearbyChat::loadHistory()
chat.mFromID = from_id;
chat.mText = msg[IM_TEXT].asString();
chat.mTimeStr = msg[IM_TIME].asString();
+ chat.mChatStyle = CHAT_STYLE_HISTORY;
+
+ chat.mSourceType = CHAT_SOURCE_AGENT;
+ if (from_id.isNull() && SYSTEM_FROM == from)
+ {
+ chat.mSourceType = CHAT_SOURCE_SYSTEM;
+
+ }
+ else if (from_id.isNull())
+ {
+ chat.mSourceType = isTwoWordsName(from) ? CHAT_SOURCE_UNKNOWN : CHAT_SOURCE_OBJECT;
+ }
+
addMessage(chat, true, do_not_log);
it++;
diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp
index ad98a29fb2..483756b16e 100644
--- a/indra/newview/llnearbychatbar.cpp
+++ b/indra/newview/llnearbychatbar.cpp
@@ -407,32 +407,6 @@ BOOL LLNearbyChatBar::handleKeyHere( KEY key, MASK mask )
return handled;
}
-S32 LLNearbyChatBar::getMinWidth() const
-{
- static S32 min_width = -1;
-
- if (min_width < 0)
- {
- const std::string& s = getString("min_width");
- min_width = !s.empty() ? atoi(s.c_str()) : 300;
- }
-
- return min_width;
-}
-
-S32 LLNearbyChatBar::getMaxWidth() const
-{
- static S32 max_width = -1;
-
- if (max_width < 0)
- {
- const std::string& s = getString("max_width");
- max_width = !s.empty() ? atoi(s.c_str()) : 510;
- }
-
- return max_width;
-}
-
BOOL LLNearbyChatBar::matchChatTypeTrigger(const std::string& in_str, std::string* out_str)
{
U32 in_len = in_str.length();
diff --git a/indra/newview/llnearbychatbar.h b/indra/newview/llnearbychatbar.h
index d9a7403611..559c1ee091 100644
--- a/indra/newview/llnearbychatbar.h
+++ b/indra/newview/llnearbychatbar.h
@@ -117,9 +117,6 @@ public:
static void sendChatFromViewer(const std::string &utf8text, EChatType type, BOOL animate);
static void sendChatFromViewer(const LLWString &wtext, EChatType type, BOOL animate);
- S32 getMinWidth() const;
- S32 getMaxWidth() const;
-
protected:
static BOOL matchChatTypeTrigger(const std::string& in_str, std::string* out_str);
static void onChatBoxKeystroke(LLLineEditor* caller, void* userdata);
diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp
index 29e3c66684..08ae93c3a6 100644
--- a/indra/newview/llnearbychathandler.cpp
+++ b/indra/newview/llnearbychathandler.cpp
@@ -34,6 +34,7 @@
#include "llnearbychathandler.h"
+#include "llbottomtray.h"
#include "llchatitemscontainerctrl.h"
#include "llnearbychat.h"
#include "llrecentpeople.h"
@@ -175,10 +176,11 @@ void LLNearbyChatScreenChannel::addNotification(LLSD& notification)
if(m_active_toasts.size())
{
LLUUID fromID = notification["from_id"].asUUID(); // agent id or object id
+ std::string from = notification["from"].asString();
LLToast* toast = m_active_toasts[0];
LLNearbyChatToastPanel* panel = dynamic_cast<LLNearbyChatToastPanel*>(toast->getPanel());
- if(panel && panel->messageID() == fromID && panel->canAddText())
+ if(panel && panel->messageID() == fromID && panel->getFromName() == from && panel->canAddText())
{
panel->addMessage(notification);
toast->reshapeToPanel();
@@ -282,7 +284,7 @@ void LLNearbyChatScreenChannel::showToastsBottom()
gFloaterView->sendChildToBack(toast);
}
- bottom = toast->getRect().mTop;
+ bottom = toast->getRect().mTop - toast->getTopPad();
}
}
}
@@ -319,9 +321,9 @@ LLNearbyChatHandler::~LLNearbyChatHandler()
void LLNearbyChatHandler::initChannel()
{
LLNearbyChat* nearby_chat = LLFloaterReg::getTypedInstance<LLNearbyChat>("nearby_chat", LLSD());
+ LLView* chat_box = LLBottomTray::getInstance()->getChildView("chat_box");
S32 channel_right_bound = nearby_chat->getRect().mRight;
- S32 channel_width = nearby_chat->getRect().mRight;
- mChannel->init(channel_right_bound - channel_width, channel_right_bound);
+ mChannel->init(chat_box->getRect().mLeft, channel_right_bound);
}
diff --git a/indra/newview/llnetmap.cpp b/indra/newview/llnetmap.cpp
index 234fe13217..05623198ab 100644
--- a/indra/newview/llnetmap.cpp
+++ b/indra/newview/llnetmap.cpp
@@ -153,6 +153,18 @@ void LLNetMap::draw()
// Prepare a scissor region
F32 rotation = 0;
+ gGL.pushMatrix();
+ gGL.pushUIMatrix();
+
+ LLVector3 offset = gGL.getUITranslation();
+ LLVector3 scale = gGL.getUIScale();
+
+ glLoadIdentity();
+ gGL.loadUIIdentity();
+
+ glScalef(scale.mV[0], scale.mV[1], scale.mV[2]);
+ gGL.translatef(offset.mV[0], offset.mV[1], offset.mV[2]);
+
{
LLLocalClipRect clip(getLocalRect());
{
@@ -435,6 +447,9 @@ void LLNetMap::draw()
}
}
+ gGL.popMatrix();
+ gGL.popUIMatrix();
+
LLUICtrl::draw();
}
diff --git a/indra/newview/llnotificationhandler.h b/indra/newview/llnotificationhandler.h
index 5f4768e321..a163b6fd62 100644
--- a/indra/newview/llnotificationhandler.h
+++ b/indra/newview/llnotificationhandler.h
@@ -122,9 +122,17 @@ protected:
class LLSysHandler : public LLEventHandler
{
public:
+ LLSysHandler();
virtual ~LLSysHandler() {};
virtual bool processNotification(const LLSD& notify)=0;
+
+protected :
+ static void init();
+ void removeExclusiveNotifications(const LLNotificationPtr& notif);
+
+ typedef std::list< std::set<std::string> > exclusive_notif_sets;
+ static exclusive_notif_sets sExclusiveNotificationGroups;
};
/**
@@ -171,6 +179,7 @@ public:
protected:
virtual void onDeleteToast(LLToast* toast);
+ virtual void onRejectToast(const LLUUID& id);
virtual void initChannel();
};
@@ -334,11 +343,6 @@ public:
* Adds notification panel to the IM floater.
*/
static void addNotifPanelToIM(const LLNotificationPtr& notification);
-
- /**
- * Reloads IM floater messages.
- */
- static void reloadIMFloaterMessages(const LLNotificationPtr& notification);
};
}
diff --git a/indra/newview/llnotificationhandlerutil.cpp b/indra/newview/llnotificationhandlerutil.cpp
index 9c60483416..125a55902b 100644
--- a/indra/newview/llnotificationhandlerutil.cpp
+++ b/indra/newview/llnotificationhandlerutil.cpp
@@ -43,6 +43,75 @@
using namespace LLNotificationsUI;
+// static
+std::list< std::set<std::string> > LLSysHandler::sExclusiveNotificationGroups;
+
+// static
+void LLSysHandler::init()
+{
+ std::set<std::string> online_offline_group;
+ online_offline_group.insert("FriendOnline");
+ online_offline_group.insert("FriendOffline");
+
+ sExclusiveNotificationGroups.push_back(online_offline_group);
+}
+
+LLSysHandler::LLSysHandler()
+{
+ if(sExclusiveNotificationGroups.empty())
+ {
+ init();
+ }
+}
+
+void LLSysHandler::removeExclusiveNotifications(const LLNotificationPtr& notif)
+{
+ LLScreenChannel* channel = dynamic_cast<LLScreenChannel *>(mChannel);
+ if (channel == NULL)
+ {
+ return;
+ }
+
+ class ExclusiveMatcher: public LLScreenChannel::Matcher
+ {
+ public:
+ ExclusiveMatcher(const std::set<std::string>& excl_group,
+ const std::string& from_name) :
+ mExclGroup(excl_group), mFromName(from_name)
+ {
+ }
+ bool matches(const LLNotificationPtr notification) const
+ {
+ for (std::set<std::string>::const_iterator it = mExclGroup.begin(); it
+ != mExclGroup.end(); it++)
+ {
+ std::string from_name = LLHandlerUtil::getSubstitutionName(notification);
+ if (notification->getName() == *it && from_name == mFromName)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+ private:
+ const std::set<std::string>& mExclGroup;
+ const std::string& mFromName;
+ };
+
+
+ for (exclusive_notif_sets::iterator it = sExclusiveNotificationGroups.begin(); it
+ != sExclusiveNotificationGroups.end(); it++)
+ {
+ std::set<std::string> group = *it;
+ std::set<std::string>::iterator g_it = group.find(notif->getName());
+ if (g_it != group.end())
+ {
+ channel->killMatchedToasts(ExclusiveMatcher(group,
+ LLHandlerUtil::getSubstitutionName(notif)));
+ }
+ }
+}
+
const static std::string GRANTED_MODIFY_RIGHTS("GrantedModifyRights"),
REVOKED_MODIFY_RIGHTS("RevokedModifyRights"), OBJECT_GIVE_ITEM(
"ObjectGiveItem"),
@@ -56,6 +125,8 @@ const static std::string GRANTED_MODIFY_RIGHTS("GrantedModifyRights"),
OFFER_FRIENDSHIP("OfferFriendship"),
FRIENDSHIP_ACCEPTED("FriendshipAccepted"),
FRIENDSHIP_OFFERED("FriendshipOffered"),
+ FRIENDSHIP_ACCEPTED_BYME("FriendshipAcceptedByMe"),
+ FRIENDSHIP_DECLINED_BYME("FriendshipDeclinedByMe"),
FRIEND_ONLINE("FriendOnline"), FRIEND_OFFLINE("FriendOffline"),
SERVER_OBJECT_MESSAGE("ServerObjectMessage"),
TELEPORT_OFFERED("TeleportOffered");
@@ -70,6 +141,8 @@ bool LLHandlerUtil::canLogToIM(const LLNotificationPtr& notification)
|| PAYMENT_SENT == notification->getName()
|| OFFER_FRIENDSHIP == notification->getName()
|| FRIENDSHIP_OFFERED == notification->getName()
+ || FRIENDSHIP_ACCEPTED_BYME == notification->getName()
+ || FRIENDSHIP_DECLINED_BYME == notification->getName()
|| SERVER_OBJECT_MESSAGE == notification->getName()
|| INVENTORY_ACCEPTED == notification->getName()
|| INVENTORY_DECLINED == notification->getName();
@@ -98,7 +171,8 @@ bool LLHandlerUtil::canSpawnIMSession(const LLNotificationPtr& notification)
// static
bool LLHandlerUtil::canAddNotifPanelToIM(const LLNotificationPtr& notification)
{
- return OFFER_FRIENDSHIP == notification->getName();
+ return OFFER_FRIENDSHIP == notification->getName()
+ || USER_GIVE_ITEM == notification->getName();
}
@@ -202,6 +276,7 @@ void LLHandlerUtil::logGroupNoticeToIMGroup(
llwarns
<< "Group notice for unkown group: "
<< payload["group_id"].asUUID() << llendl;
+ return;
}
const std::string group_name = groupData.mName;
@@ -223,6 +298,7 @@ void LLHandlerUtil::logToNearbyChat(const LLNotificationPtr& notification, EChat
{
LLChat chat_msg(notification->getMessage());
chat_msg.mSourceType = type;
+ chat_msg.mFromName = SYSTEM_FROM;
nearby_chat->addMessage(chat_msg);
}
}
@@ -245,9 +321,15 @@ LLUUID LLHandlerUtil::spawnIMSession(const std::string& name, const LLUUID& from
// static
std::string LLHandlerUtil::getSubstitutionName(const LLNotificationPtr& notification)
{
- return notification->getSubstitutions().has("NAME")
+ std::string res = notification->getSubstitutions().has("NAME")
? notification->getSubstitutions()["NAME"]
: notification->getSubstitutions()["[NAME]"];
+ if (res.empty())
+ {
+ LLUUID from_id = notification->getPayload()["FROM_ID"];
+ gCacheName->getFullName(from_id, res);
+ }
+ return res;
}
// static
@@ -267,31 +349,8 @@ void LLHandlerUtil::addNotifPanelToIM(const LLNotificationPtr& notification)
offer["from_id"] = notification->getPayload()["from_id"];
offer["from"] = name;
offer["time"] = LLLogChat::timestamp(true);
+ offer["index"] = (LLSD::Integer)session->mMsgs.size();
session->mMsgs.push_front(offer);
LLIMFloater::show(session_id);
}
-
-// static
-void LLHandlerUtil::reloadIMFloaterMessages(
- const LLNotificationPtr& notification)
-{
- LLUUID from_id = notification->getPayload()["from_id"];
- LLUUID session_id = LLIMMgr::computeSessionID(IM_NOTHING_SPECIAL, from_id);
- LLIMFloater* im_floater = LLFloaterReg::findTypedInstance<LLIMFloater>(
- "impanel", session_id);
- if (im_floater != NULL)
- {
- LLIMModel::LLIMSession * session = LLIMModel::getInstance()->findIMSession(
- session_id);
- if(session != NULL)
- {
- session->mMsgs.clear();
- std::list<LLSD> chat_history;
- LLLogChat::loadAllHistory(session->mHistoryFileName, chat_history);
- session->addMessagesFromHistory(chat_history);
- }
-
- im_floater->reloadMessages();
- }
-}
diff --git a/indra/newview/llnotificationofferhandler.cpp b/indra/newview/llnotificationofferhandler.cpp
index 8c13b0fafa..8ebd5de258 100644
--- a/indra/newview/llnotificationofferhandler.cpp
+++ b/indra/newview/llnotificationofferhandler.cpp
@@ -155,10 +155,6 @@ bool LLOfferHandler::processNotification(const LLSD& notify)
}
else
{
- if (LLHandlerUtil::canAddNotifPanelToIM(notification))
- {
- LLHandlerUtil::reloadIMFloaterMessages(notification);
- }
mChannel->killToastByNotificationID(notification->getID());
}
}
diff --git a/indra/newview/llnotificationtiphandler.cpp b/indra/newview/llnotificationtiphandler.cpp
index 83a2215ac6..4e2c5085ed 100644
--- a/indra/newview/llnotificationtiphandler.cpp
+++ b/indra/newview/llnotificationtiphandler.cpp
@@ -40,9 +40,41 @@
#include "lltoastnotifypanel.h"
#include "llviewercontrol.h"
#include "llviewerwindow.h"
+#include "llnotificationmanager.h"
using namespace LLNotificationsUI;
+class LLOnlineStatusToast : public LLToastPanel
+{
+public:
+
+ struct Params
+ {
+ LLNotificationPtr notification;
+ LLUUID avatar_id;
+ std::string message;
+
+ Params() {}
+ };
+
+ LLOnlineStatusToast(Params& p) : LLToastPanel(p.notification)
+ {
+ LLUICtrlFactory::getInstance()->buildPanel(this, "panel_online_status_toast.xml");
+
+ childSetValue("avatar_icon", p.avatar_id);
+ childSetValue("message", p.message);
+
+ if (p.notification->getPayload().has("respond_on_mousedown")
+ && p.notification->getPayload()["respond_on_mousedown"] )
+ {
+ setMouseDownCallback(boost::bind(&LLNotification::respond, p.notification,
+ p.notification->getResponseTemplate()));
+ }
+
+ // set line max count to 2 in case of a very long name
+ snapToMessageHeight(getChild<LLTextBox>("message"), 2);
+ }
+};
//--------------------------------------------------------------------------
LLTipHandler::LLTipHandler(e_notification_type type, const LLSD& id)
@@ -51,6 +83,10 @@ LLTipHandler::LLTipHandler(e_notification_type type, const LLSD& id)
// Getting a Channel for our notifications
mChannel = LLChannelManager::getInstance()->createNotificationChannel();
+
+ LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel);
+ if(channel)
+ channel->setOnRejectToastCallback(boost::bind(&LLTipHandler::onRejectToast, this, _1));
}
//--------------------------------------------------------------------------
@@ -114,7 +150,19 @@ bool LLTipHandler::processNotification(const LLSD& notify)
LLHandlerUtil::spawnIMSession(name, from_id);
}
- LLToastNotifyPanel* notify_box = new LLToastNotifyPanel(notification);
+ LLToastPanel* notify_box = NULL;
+ if("FriendOffline" == notification->getName() || "FriendOnline" == notification->getName())
+ {
+ LLOnlineStatusToast::Params p;
+ p.notification = notification;
+ p.message = notification->getMessage();
+ p.avatar_id = notification->getPayload()["FROM_ID"];
+ notify_box = new LLOnlineStatusToast(p);
+ }
+ else
+ {
+ notify_box = new LLToastNotifyPanel(notification);
+ }
LLToast::Params p;
p.notif_id = notification->getID();
@@ -124,6 +172,8 @@ bool LLTipHandler::processNotification(const LLSD& notify)
p.is_tip = true;
p.can_be_stored = false;
+ removeExclusiveNotifications(notification);
+
LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel);
if(channel)
channel->addToast(p);
@@ -142,4 +192,14 @@ void LLTipHandler::onDeleteToast(LLToast* toast)
//--------------------------------------------------------------------------
+void LLTipHandler::onRejectToast(const LLUUID& id)
+{
+ LLNotificationPtr notification = LLNotifications::instance().find(id);
+ if (notification
+ && LLNotificationManager::getInstance()->getHandlerForNotification(
+ notification->getType()) == this)
+ {
+ LLNotifications::instance().cancel(notification);
+ }
+}
diff --git a/indra/newview/lloutputmonitorctrl.cpp b/indra/newview/lloutputmonitorctrl.cpp
index 9857e37bc3..d6d48a4ead 100644
--- a/indra/newview/lloutputmonitorctrl.cpp
+++ b/indra/newview/lloutputmonitorctrl.cpp
@@ -247,7 +247,7 @@ void LLOutputMonitorCtrl::draw()
gl_rect_2d(0, monh, monw, 0, sColorBound, FALSE);
}
-void LLOutputMonitorCtrl::setSpeakerId(const LLUUID& speaker_id)
+void LLOutputMonitorCtrl::setSpeakerId(const LLUUID& speaker_id, const LLUUID& session_id/* = LLUUID::null*/)
{
if (speaker_id.isNull() && mSpeakerId.notNull())
{
@@ -263,7 +263,7 @@ void LLOutputMonitorCtrl::setSpeakerId(const LLUUID& speaker_id)
}
mSpeakerId = speaker_id;
- LLSpeakingIndicatorManager::registerSpeakingIndicator(mSpeakerId, this);
+ LLSpeakingIndicatorManager::registerSpeakingIndicator(mSpeakerId, this, session_id);
//mute management
if (mAutoUpdate)
@@ -303,7 +303,7 @@ void LLOutputMonitorCtrl::switchIndicator(bool switch_on)
}
// otherwise remember necessary state and mark itself as dirty.
- // State will be applied i next draw when parents chain became visible.
+ // State will be applied in next draw when parents chain becomes visible.
else
{
LL_DEBUGS("SpeakingIndicator") << "Indicator is not in visible chain, parent won't be notified: " << mSpeakerId << LL_ENDL;
@@ -317,7 +317,7 @@ void LLOutputMonitorCtrl::switchIndicator(bool switch_on)
//////////////////////////////////////////////////////////////////////////
void LLOutputMonitorCtrl::notifyParentVisibilityChanged()
{
- LL_DEBUGS("SpeakingIndicator") << "Notify parent that visibility was changed: " << mSpeakerId << " ,new_visibility: " << getVisible() << LL_ENDL;
+ LL_DEBUGS("SpeakingIndicator") << "Notify parent that visibility was changed: " << mSpeakerId << ", new_visibility: " << getVisible() << LL_ENDL;
LLSD params = LLSD().with("visibility_changed", getVisible());
diff --git a/indra/newview/lloutputmonitorctrl.h b/indra/newview/lloutputmonitorctrl.h
index 2bbfa251e9..b7454a5066 100644
--- a/indra/newview/lloutputmonitorctrl.h
+++ b/indra/newview/lloutputmonitorctrl.h
@@ -86,7 +86,15 @@ public:
void setIsTalking(bool val) { mIsTalking = val; }
- void setSpeakerId(const LLUUID& speaker_id);
+ /**
+ * Sets avatar UUID to interact with voice channel.
+ *
+ * @param speaker_id LLUUID of an avatar whose voice level is displayed.
+ * @param session_id session UUID for which indicator should be shown only. Passed to LLSpeakingIndicatorManager
+ * If this parameter is set registered indicator will be shown only in voice channel
+ * which has the same session id (EXT-5562).
+ */
+ void setSpeakerId(const LLUUID& speaker_id, const LLUUID& session_id = LLUUID::null);
//called by mute list
virtual void onChange();
diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp
index a0bcd00867..4680e3b7bf 100644
--- a/indra/newview/llpanelavatar.cpp
+++ b/indra/newview/llpanelavatar.cpp
@@ -47,8 +47,6 @@
#include "lltooldraganddrop.h"
#include "llscrollcontainer.h"
#include "llavatariconctrl.h"
-#include "llweb.h"
-#include "llfloaterworldmap.h"
#include "llfloaterreg.h"
#include "llnotificationsutil.h"
#include "llvoiceclient.h"
@@ -351,8 +349,10 @@ LLPanelAvatarNotes::~LLPanelAvatarNotes()
if(getAvatarId().notNull())
{
LLAvatarTracker::instance().removeParticularFriendObserver(getAvatarId(), this);
- if(LLVoiceClient::getInstance())
+ if(LLVoiceClient::instanceExists())
+ {
LLVoiceClient::getInstance()->removeObserver((LLVoiceClientStatusObserver*)this);
+ }
}
}
@@ -446,10 +446,7 @@ void LLPanelProfileTab::scrollToTop()
void LLPanelProfileTab::onMapButtonClick()
{
- std::string name;
- gCacheName->getFullName(getAvatarId(), name);
- gFloaterWorldMap->trackAvatar(getAvatarId(), name);
- LLFloaterReg::showInstance("world_map");
+ LLAvatarActions::showOnMap(getAvatarId());
}
void LLPanelProfileTab::updateButtons()
@@ -487,7 +484,6 @@ LLPanelAvatarProfile::LLPanelAvatarProfile()
BOOL LLPanelAvatarProfile::postBuild()
{
- childSetActionTextbox("homepage_edit", boost::bind(&LLPanelAvatarProfile::onHomepageTextboxClicked, this));
childSetCommitCallback("add_friend",(boost::bind(&LLPanelAvatarProfile::onAddFriendButtonClick,this)),NULL);
childSetCommitCallback("im",(boost::bind(&LLPanelAvatarProfile::onIMButtonClick,this)),NULL);
childSetCommitCallback("call",(boost::bind(&LLPanelAvatarProfile::onCallButtonClick,this)),NULL);
@@ -733,20 +729,6 @@ void LLPanelAvatarProfile::csr()
LLAvatarActions::csr(getAvatarId(), name);
}
-void LLPanelAvatarProfile::onUrlTextboxClicked(const std::string& url)
-{
- LLWeb::loadURL(url);
-}
-
-void LLPanelAvatarProfile::onHomepageTextboxClicked()
-{
- std::string url = childGetValue("homepage_edit").asString();
- if(!url.empty())
- {
- onUrlTextboxClicked(url);
- }
-}
-
void LLPanelAvatarProfile::onAddFriendButtonClick()
{
LLAvatarActions::requestFriendshipDialog(getAvatarId());
@@ -794,8 +776,10 @@ LLPanelAvatarProfile::~LLPanelAvatarProfile()
if(getAvatarId().notNull())
{
LLAvatarTracker::instance().removeParticularFriendObserver(getAvatarId(), this);
- if(LLVoiceClient::getInstance())
+ if(LLVoiceClient::instanceExists())
+ {
LLVoiceClient::getInstance()->removeObserver((LLVoiceClientStatusObserver*)this);
+ }
}
}
diff --git a/indra/newview/llpanelavatar.h b/indra/newview/llpanelavatar.h
index babbe534b4..2bd23b6e9c 100644
--- a/indra/newview/llpanelavatar.h
+++ b/indra/newview/llpanelavatar.h
@@ -207,8 +207,6 @@ protected:
bool enableGod();
- void onUrlTextboxClicked(const std::string& url);
- void onHomepageTextboxClicked();
void onAddFriendButtonClick();
void onIMButtonClick();
void onCallButtonClick();
diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp
index 8ca044f72b..9f24ddc799 100644
--- a/indra/newview/llpanelclassified.cpp
+++ b/indra/newview/llpanelclassified.cpp
@@ -41,6 +41,7 @@
#include "lldir.h"
#include "lldispatcher.h"
#include "llfloaterreg.h"
+#include "llhttpclient.h"
#include "llnotifications.h"
#include "llnotificationsutil.h"
#include "llparcel.h"
@@ -72,6 +73,7 @@
#include "llviewerwindow.h" // for window width, height
#include "llappviewer.h" // abortQuit()
#include "lltrans.h"
+#include "llscrollcontainer.h"
#include "llstatusbar.h"
const S32 MINIMUM_PRICE_FOR_LISTING = 50; // L$
@@ -82,6 +84,7 @@ const S32 DECLINE_TO_STATE = 0;
//static
std::list<LLPanelClassified*> LLPanelClassified::sAllPanels;
+std::list<LLPanelClassifiedInfo*> LLPanelClassifiedInfo::sAllPanels;
// "classifiedclickthrough"
// strings[0] = classified_id
@@ -102,10 +105,10 @@ public:
S32 teleport_clicks = atoi(strings[1].c_str());
S32 map_clicks = atoi(strings[2].c_str());
S32 profile_clicks = atoi(strings[3].c_str());
- LLPanelClassified::setClickThrough(classified_id, teleport_clicks,
- map_clicks,
- profile_clicks,
- false);
+
+ LLPanelClassifiedInfo::setClickThrough(
+ classified_id, teleport_clicks, map_clicks, profile_clicks, false);
+
return true;
}
};
@@ -496,7 +499,7 @@ void LLPanelClassified::sendClassifiedInfoRequest()
if (!url.empty())
{
llinfos << "Classified stat request via capability" << llendl;
- LLHTTPClient::post(url, body, new LLClassifiedStatsResponder(((LLView*)this)->getHandle(), mClassifiedID));
+ LLHTTPClient::post(url, body, new LLClassifiedStatsResponder(mClassifiedID));
}
}
}
@@ -1152,11 +1155,25 @@ void LLPanelClassified::setDefaultAccessCombo()
LLPanelClassifiedInfo::LLPanelClassifiedInfo()
: LLPanel()
, mInfoLoaded(false)
-{
+ , mScrollingPanel(NULL)
+ , mScrollContainer(NULL)
+ , mScrollingPanelMinHeight(0)
+ , mScrollingPanelWidth(0)
+ , mSnapshotStreched(false)
+ , mTeleportClicksOld(0)
+ , mMapClicksOld(0)
+ , mProfileClicksOld(0)
+ , mTeleportClicksNew(0)
+ , mMapClicksNew(0)
+ , mProfileClicksNew(0)
+ , mSnapshotCtrl(NULL)
+{
+ sAllPanels.push_back(this);
}
LLPanelClassifiedInfo::~LLPanelClassifiedInfo()
{
+ sAllPanels.remove(this);
}
// static
@@ -1173,6 +1190,15 @@ BOOL LLPanelClassifiedInfo::postBuild()
childSetAction("show_on_map_btn", boost::bind(&LLPanelClassifiedInfo::onMapClick, this));
childSetAction("teleport_btn", boost::bind(&LLPanelClassifiedInfo::onTeleportClick, this));
+ mScrollingPanel = getChild<LLPanel>("scroll_content_panel");
+ mScrollContainer = getChild<LLScrollContainer>("profile_scroll");
+
+ mScrollingPanelMinHeight = mScrollContainer->getScrolledViewRect().getHeight();
+ mScrollingPanelWidth = mScrollingPanel->getRect().getWidth();
+
+ mSnapshotCtrl = getChild<LLTextureCtrl>("classified_snapshot");
+ mSnapshotRect = getDefaultSnapshotRect();
+
return TRUE;
}
@@ -1186,6 +1212,29 @@ void LLPanelClassifiedInfo::setEditClassifiedCallback(const commit_callback_t& c
getChild<LLButton>("edit_btn")->setClickedCallback(cb);
}
+void LLPanelClassifiedInfo::reshape(S32 width, S32 height, BOOL called_from_parent /* = TRUE */)
+{
+ LLPanel::reshape(width, height, called_from_parent);
+
+ if (!mScrollContainer || !mScrollingPanel)
+ return;
+
+ static LLUICachedControl<S32> scrollbar_size ("UIScrollbarSize", 0);
+
+ S32 scroll_height = mScrollContainer->getRect().getHeight();
+ if (mScrollingPanelMinHeight >= scroll_height)
+ {
+ mScrollingPanel->reshape(mScrollingPanelWidth, mScrollingPanelMinHeight);
+ }
+ else
+ {
+ mScrollingPanel->reshape(mScrollingPanelWidth + scrollbar_size, scroll_height);
+ }
+
+ mSnapshotRect = getDefaultSnapshotRect();
+ stretchSnapshot();
+}
+
void LLPanelClassifiedInfo::onOpen(const LLSD& key)
{
LLUUID avatar_id = key["avatar_id"];
@@ -1203,6 +1252,7 @@ void LLPanelClassifiedInfo::onOpen(const LLSD& key)
resetData();
resetControls();
+ scrollToTop();
setClassifiedId(key["classified_id"]);
setClassifiedName(key["name"]);
@@ -1211,6 +1261,19 @@ void LLPanelClassifiedInfo::onOpen(const LLSD& key)
LLAvatarPropertiesProcessor::getInstance()->addObserver(getAvatarId(), this);
LLAvatarPropertiesProcessor::getInstance()->sendClassifiedInfoRequest(getClassifiedId());
+ gGenericDispatcher.addHandler("classifiedclickthrough", &sClassifiedClickThrough);
+
+ // While we're at it let's get the stats from the new table if that
+ // capability exists.
+ std::string url = gAgent.getRegion()->getCapability("SearchStatRequest");
+ if (!url.empty())
+ {
+ llinfos << "Classified stat request via capability" << llendl;
+ LLSD body;
+ body["classified_id"] = getClassifiedId();
+ LLHTTPClient::post(url, body, new LLClassifiedStatsResponder(getClassifiedId()));
+ }
+
setInfoLoaded(false);
}
@@ -1232,14 +1295,22 @@ void LLPanelClassifiedInfo::processProperties(void* data, EAvatarProcessorType t
static std::string mature_str = getString("type_mature");
static std::string pg_str = getString("type_pg");
static LLUIString price_str = getString("l$_price");
+ static std::string date_fmt = getString("date_fmt");
bool mature = is_cf_mature(c_info->flags);
childSetValue("content_type", mature ? mature_str : pg_str);
- childSetValue("auto_renew", is_cf_auto_renew(c_info->flags));
+
+ std::string auto_renew_str = is_cf_auto_renew(c_info->flags) ?
+ getString("auto_renew_on") : getString("auto_renew_off");
+ childSetValue("auto_renew", auto_renew_str);
price_str.setArg("[PRICE]", llformat("%d", c_info->price_for_listing));
childSetValue("price_for_listing", LLSD(price_str));
+ std::string date_str = date_fmt;
+ LLStringUtil::format(date_str, LLSD().with("datetime", (S32) c_info->creation_date));
+ childSetText("creation_date", date_str);
+
setInfoLoaded(true);
}
}
@@ -1253,22 +1324,23 @@ void LLPanelClassifiedInfo::resetData()
setClassifiedId(LLUUID::null);
setSnapshotId(LLUUID::null);
mPosGlobal.clearVec();
- childSetValue("category", LLStringUtil::null);
- childSetValue("content_type", LLStringUtil::null);
+ childSetText("category", LLStringUtil::null);
+ childSetText("content_type", LLStringUtil::null);
+ childSetText("click_through_text", LLStringUtil::null);
+ childSetText("price_for_listing", LLStringUtil::null);
+ childSetText("auto_renew", LLStringUtil::null);
+ childSetText("creation_date", LLStringUtil::null);
+ childSetText("click_through_text", LLStringUtil::null);
}
void LLPanelClassifiedInfo::resetControls()
{
- if(getAvatarId() == gAgent.getID())
- {
- childSetEnabled("edit_btn", TRUE);
- childSetVisible("edit_btn", TRUE);
- }
- else
- {
- childSetEnabled("edit_btn", FALSE);
- childSetVisible("edit_btn", FALSE);
- }
+ bool is_self = getAvatarId() == gAgent.getID();
+
+ childSetEnabled("edit_btn", is_self);
+ childSetVisible("edit_btn", is_self);
+ childSetVisible("price_layout_panel", is_self);
+ childSetVisible("clickthrough_layout_panel", is_self);
}
void LLPanelClassifiedInfo::setClassifiedName(const std::string& name)
@@ -1298,7 +1370,20 @@ void LLPanelClassifiedInfo::setClassifiedLocation(const std::string& location)
void LLPanelClassifiedInfo::setSnapshotId(const LLUUID& id)
{
- childSetValue("classified_snapshot", id);
+ mSnapshotCtrl->setValue(id);
+ mSnapshotStreched = false;
+}
+
+void LLPanelClassifiedInfo::draw()
+{
+ LLPanel::draw();
+
+ // Stretch in draw because it takes some time to load a texture,
+ // going to try to stretch snapshot until texture is loaded
+ if(!mSnapshotStreched)
+ {
+ stretchSnapshot();
+ }
}
LLUUID LLPanelClassifiedInfo::getSnapshotId()
@@ -1307,6 +1392,62 @@ LLUUID LLPanelClassifiedInfo::getSnapshotId()
}
// static
+void LLPanelClassifiedInfo::setClickThrough(
+ const LLUUID& classified_id,
+ S32 teleport,
+ S32 map,
+ S32 profile,
+ bool from_new_table)
+{
+ llinfos << "Click-through data for classified " << classified_id << " arrived: ["
+ << teleport << ", " << map << ", " << profile << "] ("
+ << (from_new_table ? "new" : "old") << ")" << llendl;
+
+ for (panel_list_t::iterator iter = sAllPanels.begin(); iter != sAllPanels.end(); ++iter)
+ {
+ LLPanelClassifiedInfo* self = *iter;
+ if (self->getClassifiedId() != classified_id)
+ {
+ continue;
+ }
+
+ // *HACK: Skip LLPanelClassifiedEdit instances: they don't display clicks data.
+ // Those instances should not be in the list at all.
+ if (typeid(*self) != typeid(LLPanelClassifiedInfo))
+ {
+ continue;
+ }
+
+ llinfos << "Updating classified info panel" << llendl;
+
+ // We need to check to see if the data came from the new stat_table
+ // or the old classified table. We also need to cache the data from
+ // the two separate sources so as to display the aggregate totals.
+
+ if (from_new_table)
+ {
+ self->mTeleportClicksNew = teleport;
+ self->mMapClicksNew = map;
+ self->mProfileClicksNew = profile;
+ }
+ else
+ {
+ self->mTeleportClicksOld = teleport;
+ self->mMapClicksOld = map;
+ self->mProfileClicksOld = profile;
+ }
+
+ static LLUIString ct_str = self->getString("click_through_text_fmt");
+
+ ct_str.setArg("[TELEPORT]", llformat("%d", self->mTeleportClicksNew + self->mTeleportClicksOld));
+ ct_str.setArg("[MAP]", llformat("%d", self->mMapClicksNew + self->mMapClicksOld));
+ ct_str.setArg("[PROFILE]", llformat("%d", self->mProfileClicksNew + self->mProfileClicksOld));
+
+ self->childSetText("click_through_text", ct_str.getString());
+ }
+}
+
+// static
std::string LLPanelClassifiedInfo::createLocationText(
const std::string& original_name,
const std::string& sim_name,
@@ -1337,6 +1478,60 @@ std::string LLPanelClassifiedInfo::createLocationText(
return location_text;
}
+void LLPanelClassifiedInfo::stretchSnapshot()
+{
+ // *NOTE dzaporozhan
+ // Could be moved to LLTextureCtrl
+
+ LLViewerFetchedTexture* texture = mSnapshotCtrl->getTexture();
+
+ if(!texture)
+ {
+ return;
+ }
+
+ if(0 == texture->getOriginalWidth() || 0 == texture->getOriginalHeight())
+ {
+ // looks like texture is not loaded yet
+ return;
+ }
+
+ LLRect rc = mSnapshotRect;
+ // *HACK dzaporozhan
+ // LLTextureCtrl uses BTN_HEIGHT_SMALL as bottom for texture which causes
+ // drawn texture to be smaller than expected. (see LLTextureCtrl::draw())
+ // Lets increase texture height to force texture look as expected.
+ rc.mBottom -= BTN_HEIGHT_SMALL;
+
+ F32 t_width = texture->getFullWidth();
+ F32 t_height = texture->getFullHeight();
+
+ F32 ratio = llmin<F32>( (rc.getWidth() / t_width), (rc.getHeight() / t_height) );
+
+ t_width *= ratio;
+ t_height *= ratio;
+
+ rc.setCenterAndSize(rc.getCenterX(), rc.getCenterY(), llfloor(t_width), llfloor(t_height));
+ mSnapshotCtrl->setShape(rc);
+
+ mSnapshotStreched = true;
+}
+
+LLRect LLPanelClassifiedInfo::getDefaultSnapshotRect()
+{
+ // Using scroll container makes getting default rect a hard task
+ // because rect in postBuild() and in first reshape() is not the same.
+ // Using snapshot_panel makes it easier to reshape snapshot.
+ return getChild<LLUICtrl>("snapshot_panel")->getLocalRect();
+}
+
+void LLPanelClassifiedInfo::scrollToTop()
+{
+ LLScrollContainer* scrollContainer = findChild<LLScrollContainer>("profile_scroll");
+ if (scrollContainer)
+ scrollContainer->goToTop();
+}
+
void LLPanelClassifiedInfo::onMapClick()
{
LLFloaterWorldMap::getInstance()->trackLocation(getPosGlobal());
@@ -1355,6 +1550,7 @@ void LLPanelClassifiedInfo::onTeleportClick()
void LLPanelClassifiedInfo::onExit()
{
LLAvatarPropertiesProcessor::getInstance()->removeObserver(getAvatarId(), this);
+ gGenericDispatcher.addHandler("classifiedclickthrough", NULL); // deregister our handler
}
//////////////////////////////////////////////////////////////////////////
@@ -1368,6 +1564,7 @@ LLPanelClassifiedEdit::LLPanelClassifiedEdit()
: LLPanelClassifiedInfo()
, mIsNew(false)
, mCanClose(false)
+ , mPublishFloater(NULL)
{
}
@@ -1419,6 +1616,8 @@ BOOL LLPanelClassifiedEdit::postBuild()
childSetAction("save_changes_btn", boost::bind(&LLPanelClassifiedEdit::onSaveClick, this));
childSetAction("set_to_curr_location_btn", boost::bind(&LLPanelClassifiedEdit::onSetLocationClick, this));
+ mSnapshotCtrl->setOnSelectCallback(boost::bind(&LLPanelClassifiedEdit::onTextureSelected, this));
+
return TRUE;
}
@@ -1428,6 +1627,8 @@ void LLPanelClassifiedEdit::onOpen(const LLSD& key)
mIsNew = classified_id.isNull();
+ scrollToTop();
+
if(mIsNew)
{
setAvatarId(gAgent.getID());
@@ -1473,6 +1674,9 @@ void LLPanelClassifiedEdit::onOpen(const LLSD& key)
enableEditing(false);
}
+ std::string save_btn_label = isNew() ? getString("publish_label") : getString("save_label");
+ childSetLabelArg("save_changes_btn", "[LABEL]", save_btn_label);
+
resetDirty();
setInfoLoaded(false);
}
@@ -1492,7 +1696,8 @@ void LLPanelClassifiedEdit::processProperties(void* data, EAvatarProcessorType t
setPosGlobal(c_info->pos_global);
setClassifiedLocation(createLocationText(c_info->parcel_name, c_info->sim_name, c_info->pos_global));
- getChild<LLComboBox>("category")->setCurrentByIndex(c_info->category + 1);
+ // *HACK see LLPanelClassifiedEdit::sendUpdate()
+ getChild<LLComboBox>("category")->setCurrentByIndex(c_info->category - 1);
getChild<LLComboBox>("category")->resetDirty();
bool mature = is_cf_mature(c_info->flags);
@@ -1501,6 +1706,7 @@ void LLPanelClassifiedEdit::processProperties(void* data, EAvatarProcessorType t
getChild<LLComboBox>("content_type")->setCurrentByIndex(mature ? CB_ITEM_MATURE : CB_ITEM_PG);
childSetValue("auto_renew", auto_renew);
childSetValue("price_for_listing", c_info->price_for_listing);
+ childSetEnabled("price_for_listing", isNew());
resetDirty();
setInfoLoaded(true);
@@ -1541,12 +1747,12 @@ void LLPanelClassifiedEdit::resetDirty()
getChild<LLUICtrl>("price_for_listing")->resetDirty();
}
-void LLPanelClassifiedEdit::setSaveCallback(const commit_callback_t& cb)
+void LLPanelClassifiedEdit::setSaveCallback(const commit_signal_t::slot_type& cb)
{
- getChild<LLButton>("save_changes_btn")->setClickedCallback(cb);
+ mSaveButtonClickedSignal.connect(cb);
}
-void LLPanelClassifiedEdit::setCancelCallback(const commit_callback_t& cb)
+void LLPanelClassifiedEdit::setCancelCallback(const commit_signal_t::slot_type& cb)
{
getChild<LLButton>("cancel_btn")->setClickedCallback(cb);
}
@@ -1559,6 +1765,7 @@ void LLPanelClassifiedEdit::resetControls()
getChild<LLComboBox>("content_type")->setCurrentByIndex(0);
childSetValue("auto_renew", false);
childSetValue("price_for_listing", MINIMUM_PRICE_FOR_LISTING);
+ childSetEnabled("price_for_listing", TRUE);
}
bool LLPanelClassifiedEdit::canClose()
@@ -1566,6 +1773,22 @@ bool LLPanelClassifiedEdit::canClose()
return mCanClose;
}
+void LLPanelClassifiedEdit::draw()
+{
+ LLPanel::draw();
+
+ // Need to re-stretch on every draw because LLTextureCtrl::onSelectCallback
+ // does not trigger callbacks when user navigates through images.
+ stretchSnapshot();
+}
+
+void LLPanelClassifiedEdit::stretchSnapshot()
+{
+ LLPanelClassifiedInfo::stretchSnapshot();
+
+ getChild<LLUICtrl>("edit_icon")->setShape(mSnapshotCtrl->getRect());
+}
+
void LLPanelClassifiedEdit::sendUpdate()
{
LLAvatarClassifiedInfo c_data;
@@ -1579,7 +1802,9 @@ void LLPanelClassifiedEdit::sendUpdate()
c_data.agent_id = gAgent.getID();
c_data.classified_id = getClassifiedId();
- c_data.category = getCategory();
+ // *HACK
+ // Categories on server start with 1 while combo-box index starts with 0
+ c_data.category = getCategory() + 1;
c_data.name = getClassifiedName();
c_data.description = getDescription();
c_data.parcel_id = getParcelId();
@@ -1594,7 +1819,7 @@ void LLPanelClassifiedEdit::sendUpdate()
U32 LLPanelClassifiedEdit::getCategory()
{
LLComboBox* cat_cb = getChild<LLComboBox>("category");
- return cat_cb->getCurrentIndex() + 1;
+ return cat_cb->getCurrentIndex();
}
U8 LLPanelClassifiedEdit::getFlags()
@@ -1653,6 +1878,11 @@ S32 LLPanelClassifiedEdit::getPriceForListing()
return childGetValue("price_for_listing").asInteger();
}
+void LLPanelClassifiedEdit::setPriceForListing(S32 price)
+{
+ childSetValue("price_for_listing", price);
+}
+
void LLPanelClassifiedEdit::onSetLocationClick()
{
setPosGlobal(gAgent.getPositionGlobal());
@@ -1696,9 +1926,45 @@ void LLPanelClassifiedEdit::onSaveClick()
}
}
+ if(isNew())
+ {
+ mPublishFloater = LLFloaterReg::findTypedInstance<LLPublishClassifiedFloater>(
+ "publish_classified", LLSD());
+
+ if(!mPublishFloater)
+ {
+ mPublishFloater = LLFloaterReg::getTypedInstance<LLPublishClassifiedFloater>(
+ "publish_classified", LLSD());
+
+ mPublishFloater->setPublishClickedCallback(boost::bind
+ (&LLPanelClassifiedEdit::onPublishFloaterPublishClicked, this));
+ }
+
+ // set spinner value before it has focus or value wont be set
+ mPublishFloater->setPrice(getPriceForListing());
+ mPublishFloater->openFloater(mPublishFloater->getKey());
+ mPublishFloater->center();
+ }
+ else
+ {
+ doSave();
+ }
+}
+
+void LLPanelClassifiedEdit::doSave()
+{
mCanClose = true;
sendUpdate();
resetDirty();
+
+ mSaveButtonClickedSignal(this, LLSD());
+}
+
+void LLPanelClassifiedEdit::onPublishFloaterPublishClicked()
+{
+ setPriceForListing(mPublishFloater->getPrice());
+
+ doSave();
}
std::string LLPanelClassifiedEdit::getLocationNotice()
@@ -1745,4 +2011,52 @@ void LLPanelClassifiedEdit::onTexturePickerMouseLeave(LLUICtrl* ctrl)
ctrl->setVisible(FALSE);
}
+void LLPanelClassifiedEdit::onTextureSelected()
+{
+ setSnapshotId(mSnapshotCtrl->getValue().asUUID());
+}
+
+//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
+//////////////////////////////////////////////////////////////////////////
+
+LLPublishClassifiedFloater::LLPublishClassifiedFloater(const LLSD& key)
+ : LLFloater(key)
+{
+}
+
+LLPublishClassifiedFloater::~LLPublishClassifiedFloater()
+{
+}
+
+BOOL LLPublishClassifiedFloater::postBuild()
+{
+ LLFloater::postBuild();
+
+ childSetAction("publish_btn", boost::bind(&LLFloater::closeFloater, this, false));
+ childSetAction("cancel_btn", boost::bind(&LLFloater::closeFloater, this, false));
+
+ return TRUE;
+}
+
+void LLPublishClassifiedFloater::setPrice(S32 price)
+{
+ childSetValue("price_for_listing", price);
+}
+
+S32 LLPublishClassifiedFloater::getPrice()
+{
+ return childGetValue("price_for_listing").asInteger();
+}
+
+void LLPublishClassifiedFloater::setPublishClickedCallback(const commit_signal_t::slot_type& cb)
+{
+ getChild<LLButton>("publish_btn")->setClickedCallback(cb);
+}
+
+void LLPublishClassifiedFloater::setCancelClickedCallback(const commit_signal_t::slot_type& cb)
+{
+ getChild<LLButton>("cancel_btn")->setClickedCallback(cb);
+}
+
//EOF
diff --git a/indra/newview/llpanelclassified.h b/indra/newview/llpanelclassified.h
index e46806f576..78f095a9bb 100644
--- a/indra/newview/llpanelclassified.h
+++ b/indra/newview/llpanelclassified.h
@@ -55,6 +55,7 @@ class LLTextEditor;
class LLTextureCtrl;
class LLUICtrl;
class LLMessageSystem;
+class LLScrollContainer;
// *TODO deprecated, should be removed.
// New class implemented in ticket EXT-2095
@@ -201,6 +202,23 @@ private:
void* mUserData;
};
+class LLPublishClassifiedFloater : public LLFloater
+{
+public:
+ LLPublishClassifiedFloater(const LLSD& key);
+ virtual ~LLPublishClassifiedFloater();
+
+ /*virtual*/ BOOL postBuild();
+
+ void setPrice(S32 price);
+ S32 getPrice();
+
+ void setPublishClickedCallback(const commit_signal_t::slot_type& cb);
+ void setCancelClickedCallback(const commit_signal_t::slot_type& cb);
+
+private:
+};
+
class LLPanelClassifiedInfo : public LLPanel, public LLAvatarPropertiesObserver
{
public:
@@ -249,10 +267,21 @@ public:
void setInfoLoaded(bool loaded) { mInfoLoaded = loaded; }
+ static void setClickThrough(
+ const LLUUID& classified_id,
+ S32 teleport,
+ S32 map,
+ S32 profile,
+ bool from_new_table);
+
void setExitCallback(const commit_callback_t& cb);
void setEditClassifiedCallback(const commit_callback_t& cb);
+ /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);
+
+ /*virtual*/ void draw();
+
protected:
LLPanelClassifiedInfo();
@@ -266,10 +295,20 @@ protected:
const std::string& sim_name,
const LLVector3d& pos_global);
+ void stretchSnapshot();
+
+ LLRect getDefaultSnapshotRect();
+
+ void scrollToTop();
+
void onMapClick();
void onTeleportClick();
void onExit();
+ bool mSnapshotStreched;
+ LLRect mSnapshotRect;
+ LLTextureCtrl* mSnapshotCtrl;
+
private:
LLUUID mAvatarId;
@@ -277,6 +316,23 @@ private:
LLVector3d mPosGlobal;
LLUUID mParcelId;
bool mInfoLoaded;
+
+ LLScrollContainer* mScrollContainer;
+ LLPanel* mScrollingPanel;
+
+ S32 mScrollingPanelMinHeight;
+ S32 mScrollingPanelWidth;
+
+ // Needed for stat tracking
+ S32 mTeleportClicksOld;
+ S32 mMapClicksOld;
+ S32 mProfileClicksOld;
+ S32 mTeleportClicksNew;
+ S32 mMapClicksNew;
+ S32 mProfileClicksNew;
+
+ typedef std::list<LLPanelClassifiedInfo*> panel_list_t;
+ static panel_list_t sAllPanels;
};
class LLPanelClassifiedEdit : public LLPanelClassifiedInfo
@@ -297,9 +353,9 @@ public:
/*virtual*/ void resetDirty();
- void setSaveCallback(const commit_callback_t& cb);
+ void setSaveCallback(const commit_signal_t::slot_type& cb);
- void setCancelCallback(const commit_callback_t& cb);
+ void setCancelCallback(const commit_signal_t::slot_type& cb);
/*virtual*/ void resetControls();
@@ -307,6 +363,10 @@ public:
bool canClose();
+ void draw();
+
+ void stretchSnapshot();
+
protected:
LLPanelClassifiedEdit();
@@ -323,6 +383,8 @@ protected:
S32 getPriceForListing();
+ void setPriceForListing(S32 price);
+
U8 getFlags();
std::string getLocationNotice();
@@ -335,12 +397,22 @@ protected:
void onChange();
void onSaveClick();
+ void doSave();
+
+ void onPublishFloaterPublishClicked();
+
void onTexturePickerMouseEnter(LLUICtrl* ctrl);
void onTexturePickerMouseLeave(LLUICtrl* ctrl);
+ void onTextureSelected();
+
private:
bool mIsNew;
bool mCanClose;
+
+ LLPublishClassifiedFloater* mPublishFloater;
+
+ commit_signal_t mSaveButtonClickedSignal;
};
#endif // LL_LLPANELCLASSIFIED_H
diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp
index ce4078409a..706787e824 100644
--- a/indra/newview/llpanelgroup.cpp
+++ b/indra/newview/llpanelgroup.cpp
@@ -102,8 +102,10 @@ LLPanelGroup::LLPanelGroup()
LLPanelGroup::~LLPanelGroup()
{
LLGroupMgr::getInstance()->removeObserver(this);
- if(LLVoiceClient::getInstance())
+ if(LLVoiceClient::instanceExists())
+ {
LLVoiceClient::getInstance()->removeObserver(this);
+ }
}
void LLPanelGroup::onOpen(const LLSD& key)
@@ -335,7 +337,7 @@ void LLPanelGroup::update(LLGroupChange gc)
childSetToolTip("group_name",gdatap->mName);
LLGroupData agent_gdatap;
- bool is_member = gAgent.getGroupData(mID,agent_gdatap);
+ bool is_member = gAgent.getGroupData(mID,agent_gdatap) || gAgent.isGodlike();
bool join_btn_visible = !is_member && gdatap->mOpenEnrollment;
mButtonJoin->setVisible(join_btn_visible);
@@ -464,7 +466,7 @@ void LLPanelGroup::setGroupID(const LLUUID& group_id)
}
LLGroupData agent_gdatap;
- bool is_member = gAgent.getGroupData(mID,agent_gdatap);
+ bool is_member = gAgent.getGroupData(mID,agent_gdatap) || gAgent.isGodlike();
tab_roles->setVisible(is_member);
tab_notices->setVisible(is_member);
diff --git a/indra/newview/llpanelgroupgeneral.cpp b/indra/newview/llpanelgroupgeneral.cpp
index 555e277ce5..517204b232 100644
--- a/indra/newview/llpanelgroupgeneral.cpp
+++ b/indra/newview/llpanelgroupgeneral.cpp
@@ -111,6 +111,8 @@ BOOL LLPanelGroupGeneral::postBuild()
{
mListVisibleMembers->setDoubleClickCallback(openProfile, this);
mListVisibleMembers->setContextMenu(LLScrollListCtrl::MENU_AVATAR);
+
+ mListVisibleMembers->setSortCallback(boost::bind(&LLPanelGroupGeneral::sortMembersList,this,_1,_2,_3));
}
// Options
@@ -944,4 +946,18 @@ void LLPanelGroupGeneral::setGroupID(const LLUUID& id)
activate();
}
+S32 LLPanelGroupGeneral::sortMembersList(S32 col_idx,const LLScrollListItem* i1,const LLScrollListItem* i2)
+{
+ const LLScrollListCell *cell1 = i1->getColumn(col_idx);
+ const LLScrollListCell *cell2 = i2->getColumn(col_idx);
+
+ if(col_idx == 2)
+ {
+ if(LLStringUtil::compareDict(cell1->getValue().asString(),"Online") == 0 )
+ return 1;
+ if(LLStringUtil::compareDict(cell2->getValue().asString(),"Online") == 0 )
+ return -1;
+ }
+ return LLStringUtil::compareDict(cell1->getValue().asString(), cell2->getValue().asString());
+}
diff --git a/indra/newview/llpanelgroupgeneral.h b/indra/newview/llpanelgroupgeneral.h
index 7e90e43cf9..6245018871 100644
--- a/indra/newview/llpanelgroupgeneral.h
+++ b/indra/newview/llpanelgroupgeneral.h
@@ -83,6 +83,8 @@ private:
static void onReceiveNotices(LLUICtrl* ctrl, void* data);
static void openProfile(void* data);
+ S32 sortMembersList(S32,const LLScrollListItem*,const LLScrollListItem*);
+
static bool joinDlgCB(const LLSD& notification, const LLSD& response);
void updateMembers();
diff --git a/indra/newview/llpanelgroupnotices.cpp b/indra/newview/llpanelgroupnotices.cpp
index 849afce34d..295a7aadb1 100644
--- a/indra/newview/llpanelgroupnotices.cpp
+++ b/indra/newview/llpanelgroupnotices.cpp
@@ -656,6 +656,9 @@ void LLPanelGroupNotices::setGroupID(const LLUUID& id)
LLGroupDropTarget* target = getChild<LLGroupDropTarget> ("drop_target");
target->setPanel (this);
target->setGroup (mGroupID);
+
+ if(mViewMessage)
+ mViewMessage->clear();
activate();
}
diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp
index 15e8258475..ed1de8d612 100644
--- a/indra/newview/llpanelimcontrolpanel.cpp
+++ b/indra/newview/llpanelimcontrolpanel.cpp
@@ -112,8 +112,10 @@ void LLPanelChatControlPanel::updateButtons(bool is_call_started)
LLPanelChatControlPanel::~LLPanelChatControlPanel()
{
mVoiceChannelStateChangeConnection.disconnect();
- if(LLVoiceClient::getInstance())
+ if(LLVoiceClient::instanceExists())
+ {
LLVoiceClient::getInstance()->removeObserver(this);
+ }
}
BOOL LLPanelChatControlPanel::postBuild()
diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp
index 40ea75ea7a..45a8dc4cbe 100644
--- a/indra/newview/llpanellandmarks.cpp
+++ b/indra/newview/llpanellandmarks.cpp
@@ -69,6 +69,10 @@ static const std::string TRASH_BUTTON_NAME = "trash_btn";
// helper functions
static void filter_list(LLPlacesInventoryPanel* inventory_list, const std::string& string);
static bool category_has_descendents(LLPlacesInventoryPanel* inventory_list);
+static void collapse_all_folders(LLFolderView* root_folder);
+static void expand_all_folders(LLFolderView* root_folder);
+static bool has_expanded_folders(LLFolderView* root_folder);
+static bool has_collapsed_folders(LLFolderView* root_folder);
/**
* Functor counting expanded and collapsed folders in folder view tree to know
@@ -683,31 +687,29 @@ void LLLandmarksPanel::updateListCommands()
// keep Options & Add Landmark buttons always enabled
mListCommands->childSetEnabled(ADD_FOLDER_BUTTON_NAME, add_folder_enabled);
mListCommands->childSetEnabled(TRASH_BUTTON_NAME, trash_enabled);
- mListCommands->childSetEnabled(OPTIONS_BUTTON_NAME,getCurSelectedItem() != NULL);
}
void LLLandmarksPanel::onActionsButtonClick()
{
+ LLMenuGL* menu = mGearFolderMenu;
+
LLFolderViewItem* cur_item = NULL;
if(mCurrentSelectedList)
- cur_item = mCurrentSelectedList->getRootFolder()->getCurSelectedItem();
-
- if(!cur_item)
- return;
-
- LLFolderViewEventListener* listenerp = cur_item->getListener();
-
- LLMenuGL* menu =NULL;
- if (listenerp->getInventoryType() == LLInventoryType::IT_LANDMARK)
- {
- menu = mGearLandmarkMenu;
- }
- else if (listenerp->getInventoryType() == LLInventoryType::IT_CATEGORY)
{
- mGearFolderMenu->getChild<LLMenuItemCallGL>("expand")->setVisible(!cur_item->isOpen());
- mGearFolderMenu->getChild<LLMenuItemCallGL>("collapse")->setVisible(cur_item->isOpen());
- menu = mGearFolderMenu;
+ cur_item = mCurrentSelectedList->getRootFolder()->getCurSelectedItem();
+ if(!cur_item)
+ return;
+
+ LLFolderViewEventListener* listenerp = cur_item->getListener();
+ if(!listenerp)
+ return;
+
+ if (listenerp->getInventoryType() == LLInventoryType::IT_LANDMARK)
+ {
+ menu = mGearLandmarkMenu;
+ }
}
+
showActionMenu(menu,OPTIONS_BUTTON_NAME);
}
@@ -805,26 +807,33 @@ void LLLandmarksPanel::onClipboardAction(const LLSD& userdata) const
void LLLandmarksPanel::onFoldingAction(const LLSD& userdata)
{
- if(!mCurrentSelectedList) return;
-
- LLFolderView* root_folder = mCurrentSelectedList->getRootFolder();
std::string command_name = userdata.asString();
if ("expand_all" == command_name)
{
- root_folder->setOpenArrangeRecursively(TRUE, LLFolderViewFolder::RECURSE_DOWN);
- root_folder->arrangeAll();
+ expand_all_folders(mFavoritesInventoryPanel->getRootFolder());
+ expand_all_folders(mLandmarksInventoryPanel->getRootFolder());
+ expand_all_folders(mMyInventoryPanel->getRootFolder());
+ expand_all_folders(mLibraryInventoryPanel->getRootFolder());
+
+ for (accordion_tabs_t::const_iterator iter = mAccordionTabs.begin(); iter != mAccordionTabs.end(); ++iter)
+ {
+ (*iter)->changeOpenClose(false);
+ }
}
else if ("collapse_all" == command_name)
{
- root_folder->setOpenArrangeRecursively(FALSE, LLFolderViewFolder::RECURSE_DOWN);
+ collapse_all_folders(mFavoritesInventoryPanel->getRootFolder());
+ collapse_all_folders(mLandmarksInventoryPanel->getRootFolder());
+ collapse_all_folders(mMyInventoryPanel->getRootFolder());
+ collapse_all_folders(mLibraryInventoryPanel->getRootFolder());
- // The top level folder is invisible, it must be open to
- // display its sub-folders.
- root_folder->openTopLevelFolders();
- root_folder->arrangeAll();
+ for (accordion_tabs_t::const_iterator iter = mAccordionTabs.begin(); iter != mAccordionTabs.end(); ++iter)
+ {
+ (*iter)->changeOpenClose(true);
+ }
}
- else if ( "sort_by_date" == command_name)
+ else if ("sort_by_date" == command_name)
{
mSortByDate = !mSortByDate;
updateSortOrder(mLandmarksInventoryPanel, mSortByDate);
@@ -833,7 +842,10 @@ void LLLandmarksPanel::onFoldingAction(const LLSD& userdata)
}
else
{
- root_folder->doToSelected(&gInventory, userdata);
+ if(mCurrentSelectedList)
+ {
+ mCurrentSelectedList->getRootFolder()->doToSelected(&gInventory, userdata);
+ }
}
}
@@ -853,53 +865,87 @@ bool LLLandmarksPanel::isActionEnabled(const LLSD& userdata) const
{
std::string command_name = userdata.asString();
-
- LLPlacesFolderView* rootFolderView = mCurrentSelectedList ?
+ LLPlacesFolderView* root_folder_view = mCurrentSelectedList ?
static_cast<LLPlacesFolderView*>(mCurrentSelectedList->getRootFolder()) : NULL;
- if (NULL == rootFolderView) return false;
-
- // disable some commands for multi-selection. EXT-1757
- if (rootFolderView->getSelectedCount() > 1)
+ if ("collapse_all" == command_name)
{
- if ( "teleport" == command_name
- || "more_info" == command_name
- || "rename" == command_name
- || "show_on_map" == command_name
- || "copy_slurl" == command_name
- )
+ bool disable_collapse_all = !has_expanded_folders(mFavoritesInventoryPanel->getRootFolder())
+ && !has_expanded_folders(mLandmarksInventoryPanel->getRootFolder())
+ && !has_expanded_folders(mMyInventoryPanel->getRootFolder())
+ && !has_expanded_folders(mLibraryInventoryPanel->getRootFolder());
+ if (disable_collapse_all)
{
- return false;
+ for (accordion_tabs_t::const_iterator iter = mAccordionTabs.begin(); iter != mAccordionTabs.end(); ++iter)
+ {
+ if ((*iter)->isExpanded())
+ {
+ disable_collapse_all = false;
+ break;
+ }
+ }
}
+ return !disable_collapse_all;
}
+ else if ("expand_all" == command_name)
+ {
+ bool disable_expand_all = !has_collapsed_folders(mFavoritesInventoryPanel->getRootFolder())
+ && !has_collapsed_folders(mLandmarksInventoryPanel->getRootFolder())
+ && !has_collapsed_folders(mMyInventoryPanel->getRootFolder())
+ && !has_collapsed_folders(mLibraryInventoryPanel->getRootFolder());
+ if (disable_expand_all)
+ {
+ for (accordion_tabs_t::const_iterator iter = mAccordionTabs.begin(); iter != mAccordionTabs.end(); ++iter)
+ {
+ if (!(*iter)->isExpanded())
+ {
+ disable_expand_all = false;
+ break;
+ }
+ }
+ }
- // disable some commands for Favorites accordion. EXT-1758
- if (mCurrentSelectedList == mFavoritesInventoryPanel)
+ return !disable_expand_all;
+ }
+ else if ("sort_by_date" == command_name)
{
- if ( "expand_all" == command_name
- || "collapse_all" == command_name
- || "sort_by_date" == command_name
- )
+ // disable "sort_by_date" for Favorites accordion because
+ // it has its own items order. EXT-1758
+ if (mCurrentSelectedList == mFavoritesInventoryPanel)
+ {
return false;
+ }
}
-
- LLCheckFolderState checker;
- rootFolderView->applyFunctorRecursively(checker);
-
- // We assume that the root folder is always expanded so we enable "collapse_all"
- // command when we have at least one more expanded folder.
- if (checker.getExpandedFolders() < 2 && "collapse_all" == command_name)
+ else if (!root_folder_view)
{
return false;
}
-
- if (checker.getCollapsedFolders() < 1 && "expand_all" == command_name)
+ else if ( "paste" == command_name
+ || "rename" == command_name
+ || "cut" == command_name
+ || "copy" == command_name
+ || "delete" == command_name
+ || "collapse" == command_name
+ || "expand" == command_name
+ )
{
- return false;
+ return canSelectedBeModified(command_name);
}
-
- if("category" == command_name)
+ else if ( "teleport" == command_name
+ || "more_info" == command_name
+ || "rename" == command_name
+ || "show_on_map" == command_name
+ || "copy_slurl" == command_name
+ )
+ {
+ // disable some commands for multi-selection. EXT-1757
+ if (root_folder_view->getSelectedCount() > 1)
+ {
+ return false;
+ }
+ }
+ else if("category" == command_name)
{
// we can add folder only in Landmarks Accordion
if (mCurrentSelectedList == mLandmarksInventoryPanel)
@@ -909,10 +955,6 @@ bool LLLandmarksPanel::isActionEnabled(const LLSD& userdata) const
}
else return false;
}
- else if("paste" == command_name || "rename" == command_name || "cut" == command_name || "delete" == command_name)
- {
- return canSelectedBeModified(command_name);
- }
else if("create_pick" == command_name)
{
std::set<LLUUID> selection;
@@ -970,6 +1012,9 @@ bool LLLandmarksPanel::canSelectedBeModified(const std::string& command_name) co
{
// validate own rules first
+ LLFolderViewItem* selected = getCurSelectedItem();
+ if (!selected) return false;
+
// nothing can be modified in Library
if (mLibraryInventoryPanel == mCurrentSelectedList) return false;
@@ -996,24 +1041,41 @@ bool LLLandmarksPanel::canSelectedBeModified(const std::string& command_name) co
}
// then ask LLFolderView permissions
+
+ LLFolderView* root_folder = mCurrentSelectedList->getRootFolder();
+
+ if ("copy" == command_name)
+ {
+ return root_folder->canCopy();
+ }
+ else if ("collapse" == command_name)
+ {
+ return selected->isOpen();
+ }
+ else if ("expand" == command_name)
+ {
+ return !selected->isOpen();
+ }
+
if (can_be_modified)
{
- LLFolderViewItem* selected = getCurSelectedItem();
+ LLFolderViewEventListener* listenerp = selected->getListener();
+
if ("cut" == command_name)
{
- can_be_modified = mCurrentSelectedList->getRootFolder()->canCut();
+ can_be_modified = root_folder->canCut();
}
else if ("rename" == command_name)
{
- can_be_modified = selected ? selected->getListener()->isItemRenameable() : false;
+ can_be_modified = listenerp ? listenerp->isItemRenameable() : false;
}
else if ("delete" == command_name)
{
- can_be_modified = selected ? selected->getListener()->isItemRemovable(): false;
+ can_be_modified = listenerp ? listenerp->isItemRemovable() : false;
}
else if("paste" == command_name)
{
- return mCurrentSelectedList->getRootFolder()->canPaste();
+ can_be_modified = root_folder->canPaste();
}
else
{
@@ -1197,4 +1259,54 @@ static bool category_has_descendents(LLPlacesInventoryPanel* inventory_list)
return false;
}
+
+static void collapse_all_folders(LLFolderView* root_folder)
+{
+ if (!root_folder)
+ return;
+
+ root_folder->setOpenArrangeRecursively(FALSE, LLFolderViewFolder::RECURSE_DOWN);
+
+ // The top level folder is invisible, it must be open to
+ // display its sub-folders.
+ root_folder->openTopLevelFolders();
+ root_folder->arrangeAll();
+}
+
+static void expand_all_folders(LLFolderView* root_folder)
+{
+ if (!root_folder)
+ return;
+
+ root_folder->setOpenArrangeRecursively(TRUE, LLFolderViewFolder::RECURSE_DOWN);
+ root_folder->arrangeAll();
+}
+
+static bool has_expanded_folders(LLFolderView* root_folder)
+{
+ LLCheckFolderState checker;
+ root_folder->applyFunctorRecursively(checker);
+
+ // We assume that the root folder is always expanded so we enable "collapse_all"
+ // command when we have at least one more expanded folder.
+ if (checker.getExpandedFolders() < 2)
+ {
+ return false;
+ }
+
+ return true;
+}
+
+static bool has_collapsed_folders(LLFolderView* root_folder)
+{
+ LLCheckFolderState checker;
+ root_folder->applyFunctorRecursively(checker);
+
+ if (checker.getCollapsedFolders() < 1)
+ {
+ return false;
+ }
+
+ return true;
+}
// EOF
diff --git a/indra/newview/llpanellandmarks.h b/indra/newview/llpanellandmarks.h
index 6358bd6f23..f1ce1a18b5 100644
--- a/indra/newview/llpanellandmarks.h
+++ b/indra/newview/llpanellandmarks.h
@@ -155,14 +155,14 @@ private:
void doCreatePick(LLLandmark* landmark);
private:
- LLPlacesInventoryPanel* mFavoritesInventoryPanel;
- LLPlacesInventoryPanel* mLandmarksInventoryPanel;
- LLPlacesInventoryPanel* mMyInventoryPanel;
- LLPlacesInventoryPanel* mLibraryInventoryPanel;
+ LLPlacesInventoryPanel* mFavoritesInventoryPanel;
+ LLPlacesInventoryPanel* mLandmarksInventoryPanel;
+ LLPlacesInventoryPanel* mMyInventoryPanel;
+ LLPlacesInventoryPanel* mLibraryInventoryPanel;
LLMenuGL* mGearLandmarkMenu;
LLMenuGL* mGearFolderMenu;
LLMenuGL* mMenuAdd;
- LLPlacesInventoryPanel* mCurrentSelectedList;
+ LLPlacesInventoryPanel* mCurrentSelectedList;
LLInventoryObserver* mInventoryObserver;
LLPanel* mListCommands;
diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp
index 04fefe5874..e02224da84 100644
--- a/indra/newview/llpanellogin.cpp
+++ b/indra/newview/llpanellogin.cpp
@@ -232,6 +232,7 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
if(sim_string.empty())
{
LLURLSimString::setString(gSavedSettings.getString("LoginLocation"));
+ sim_string = LLURLSimString::sInstance.mSimString;
}
if (!sim_string.empty())
diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp
index 2d3401966b..421c9df9a1 100644
--- a/indra/newview/llpanelmaininventory.cpp
+++ b/indra/newview/llpanelmaininventory.cpp
@@ -117,7 +117,7 @@ LLPanelMainInventory::LLPanelMainInventory()
// Controls
// *TODO: Just use persistant settings for each of these
- U32 sort_order = gSavedSettings.getU32("InventorySortOrder");
+ U32 sort_order = gSavedSettings.getU32(LLInventoryPanel::DEFAULT_SORT_ORDER);
BOOL sort_by_name = ! ( sort_order & LLInventoryFilter::SO_DATE );
BOOL sort_folders_by_name = ( sort_order & LLInventoryFilter::SO_FOLDERS_BY_NAME );
BOOL sort_system_folders_to_top = ( sort_order & LLInventoryFilter::SO_SYSTEM_FOLDERS_TO_TOP );
@@ -145,7 +145,7 @@ BOOL LLPanelMainInventory::postBuild()
if (mActivePanel)
{
// "All Items" is the previous only view, so it gets the InventorySortOrder
- mActivePanel->setSortOrder(gSavedSettings.getU32("InventorySortOrder"));
+ mActivePanel->setSortOrder(gSavedSettings.getU32(LLInventoryPanel::DEFAULT_SORT_ORDER));
mActivePanel->getFilter()->markDefault();
mActivePanel->getRootFolder()->applyFunctorRecursively(*mSavedFolderState);
mActivePanel->setSelectCallback(boost::bind(&LLPanelMainInventory::onSelectionChange, this, mActivePanel, _1, _2));
@@ -420,10 +420,8 @@ void LLPanelMainInventory::onFilterEdit(const std::string& search_string )
gInventory.startBackgroundFetch();
- std::string uppercase_search_string = search_string;
- LLStringUtil::toUpper(uppercase_search_string);
- mFilterSubString = uppercase_search_string;
- if (mActivePanel->getFilterSubString().empty() && uppercase_search_string.empty())
+ mFilterSubString = search_string;
+ if (mActivePanel->getFilterSubString().empty() && mFilterSubString.empty())
{
// current filter and new filter empty, do nothing
return;
@@ -437,7 +435,7 @@ void LLPanelMainInventory::onFilterEdit(const std::string& search_string )
}
// set new filter string
- mActivePanel->setFilterSubString(mFilterSubString);
+ setFilterSubString(mFilterSubString);
}
diff --git a/indra/newview/llpanelnearbymedia.cpp b/indra/newview/llpanelnearbymedia.cpp
index 8ad5389566..4f2d6374ca 100644
--- a/indra/newview/llpanelnearbymedia.cpp
+++ b/indra/newview/llpanelnearbymedia.cpp
@@ -82,6 +82,8 @@ LLPanelNearByMedia::LLPanelNearByMedia()
mParcelMediaItem(NULL),
mParcelAudioItem(NULL)
{
+ mHoverTimer.stop();
+
mParcelAudioAutoStart = gSavedSettings.getBOOL(LLViewerMedia::AUTO_PLAY_MEDIA_SETTING) &&
gSavedSettings.getBOOL("MediaTentativeAutoPlay");
@@ -135,7 +137,6 @@ BOOL LLPanelNearByMedia::postBuild()
mMediaList = getChild<LLScrollListCtrl>("media_list");
mEnableAllCtrl = getChild<LLUICtrl>("all_nearby_media_enable_btn");
mDisableAllCtrl = getChild<LLUICtrl>("all_nearby_media_disable_btn");
- mItemCountText = getChild<LLTextBox>("media_item_count");
mShowCtrl = getChild<LLComboBox>("show_combo");
// Dynamic (selection-dependent) controls
@@ -189,33 +190,25 @@ void LLPanelNearByMedia::onMouseLeave(S32 x, S32 y, MASK mask)
}
/*virtual*/
+void LLPanelNearByMedia::onTopLost()
+{
+ setVisible(FALSE);
+}
+
+
+/*virtual*/
void LLPanelNearByMedia::handleVisibilityChange ( BOOL new_visibility )
{
if (new_visibility)
{
mHoverTimer.start(); // timer will be stopped when mouse hovers over panel
- //gFocusMgr.setTopCtrl(this);
}
else
{
mHoverTimer.stop();
- //if (gFocusMgr.getTopCtrl() == this)
- //{
- // gFocusMgr.setTopCtrl(NULL);
- //}
}
}
-/*virtual*/
-void LLPanelNearByMedia::onTopLost ()
-{
- //LLUICtrl* new_top = gFocusMgr.getTopCtrl();
- //if (!new_top || !new_top->hasAncestor(this))
- //{
- // setVisible(FALSE);
- //}
-}
-
/*virtual*/
void LLPanelNearByMedia::reshape(S32 width, S32 height, BOOL called_from_parent)
{
@@ -232,15 +225,9 @@ void LLPanelNearByMedia::reshape(S32 width, S32 height, BOOL called_from_parent)
const F32 AUTO_CLOSE_FADE_TIME_START= 4.0f;
const F32 AUTO_CLOSE_FADE_TIME_END = 5.0f;
+/*virtual*/
void LLPanelNearByMedia::draw()
{
- //LLUICtrl* new_top = gFocusMgr.getTopCtrl();
- //if (new_top != this)
- //{
- // // reassert top ctrl
- // gFocusMgr.setTopCtrl(this);
- //}
-
// keep bottom of panel on screen
LLRect screen_rect = calcScreenRect();
if (screen_rect.mBottom < 0)
@@ -250,8 +237,6 @@ void LLPanelNearByMedia::draw()
setShape(new_rect);
}
- mItemCountText->setValue(llformat(getString("media_item_count_format").c_str(), mMediaList->getItemCount()));
-
refreshList();
updateControls();
@@ -268,6 +253,21 @@ void LLPanelNearByMedia::draw()
}
}
+/*virtual*/
+BOOL LLPanelNearByMedia::handleHover(S32 x, S32 y, MASK mask)
+{
+ LLPanel::handleHover(x, y, mask);
+
+ // If we are hovering over this panel, make sure to clear any hovered media
+ // ID. Note that the more general solution would be to clear this ID when
+ // the mouse leaves the in-scene view, but that proved to be problematic.
+ // See EXT-5517
+ LLViewerMediaFocus::getInstance()->clearHover();
+
+ // Always handle
+ return true;
+}
+
bool LLPanelNearByMedia::getParcelAudioAutoStart()
{
return mParcelAudioAutoStart;
@@ -535,10 +535,11 @@ void LLPanelNearByMedia::refreshParcelItems()
const LLSD &choice_llsd = mShowCtrl->getSelectedValue();
MediaClass choice = (MediaClass)choice_llsd.asInteger();
// Only show "special parcel items" if "All" or "Within" filter
- bool should_include = choice == MEDIA_CLASS_ALL || choice == MEDIA_CLASS_WITHIN_PARCEL;
+ // (and if media is "enabled")
+ bool should_include = (choice == MEDIA_CLASS_ALL || choice == MEDIA_CLASS_WITHIN_PARCEL);
// First Parcel Media: add or remove it as necessary
- if (should_include && LLViewerMedia::hasParcelMedia())
+ if (gSavedSettings.getBOOL("AudioStreamingMedia") &&should_include && LLViewerMedia::hasParcelMedia())
{
// Yes, there is parcel media.
if (NULL == mParcelMediaItem)
@@ -559,13 +560,16 @@ void LLPanelNearByMedia::refreshParcelItems()
if (NULL != mParcelMediaItem)
{
std::string name, url, tooltip;
- getNameAndUrlHelper(LLViewerParcelMedia::getParcelMedia(), name, url, "");
- if (name.empty() || name == url)
+ if (!LLViewerParcelMgr::getInstance()->getAgentParcel()->getObscureMedia())
{
- tooltip = url;
- }
- else {
- tooltip = name + " : " + url;
+ getNameAndUrlHelper(LLViewerParcelMedia::getParcelMedia(), name, url, "");
+ if (name.empty() || name == url)
+ {
+ tooltip = url;
+ }
+ else {
+ tooltip = name + " : " + url;
+ }
}
LLViewerMediaImpl *impl = LLViewerParcelMedia::getParcelMedia();
updateListItem(mParcelMediaItem,
@@ -579,8 +583,8 @@ void LLPanelNearByMedia::refreshParcelItems()
"parcel media");
}
- // Next Parcel Audio: add or remove it as necessary
- if (should_include && LLViewerMedia::hasParcelAudio())
+ // Next Parcel Audio: add or remove it as necessary (don't show if disabled in prefs)
+ if (should_include && LLViewerMedia::hasParcelAudio() && gSavedSettings.getBOOL("AudioStreamingMusic"))
{
// Yes, there is parcel audio.
if (NULL == mParcelAudioItem)
@@ -601,11 +605,17 @@ void LLPanelNearByMedia::refreshParcelItems()
if (NULL != mParcelAudioItem)
{
bool is_playing = LLViewerMedia::isParcelAudioPlaying();
+
+ std::string url;
+ if (!LLViewerParcelMgr::getInstance()->getAgentParcel()->getObscureMusic())
+ {
+ url = LLViewerMedia::getParcelAudioURL();
+ }
updateListItem(mParcelAudioItem,
mParcelAudioName,
- LLViewerMedia::getParcelAudioURL(),
+ url,
-1, // Proximity after Parcel Media, but closer than anything else
- !is_playing,
+ (!is_playing),
is_playing,
is_playing,
MEDIA_CLASS_ALL,
@@ -692,14 +702,19 @@ void LLPanelNearByMedia::refreshList()
}
}
}
- mDisableAllCtrl->setEnabled(LLViewerMedia::isAnyMediaShowing() ||
- LLViewerMedia::isParcelMediaPlaying() ||
- LLViewerMedia::isParcelAudioPlaying());
- mEnableAllCtrl->setEnabled(disabled_count > 0 ||
- // parcel media (if we have it, and it isn't playing, enable "start")
- (LLViewerMedia::hasParcelMedia() && ! LLViewerMedia::isParcelMediaPlaying()) ||
- // parcel audio (if we have it, and it isn't playing, enable "start")
- (LLViewerMedia::hasParcelAudio() && ! LLViewerMedia::isParcelAudioPlaying()));
+ mDisableAllCtrl->setEnabled((gSavedSettings.getBOOL("AudioStreamingMusic") ||
+ gSavedSettings.getBOOL("AudioStreamingMedia")) &&
+ (LLViewerMedia::isAnyMediaShowing() ||
+ LLViewerMedia::isParcelMediaPlaying() ||
+ LLViewerMedia::isParcelAudioPlaying()));
+
+ mEnableAllCtrl->setEnabled( (gSavedSettings.getBOOL("AudioStreamingMusic") ||
+ gSavedSettings.getBOOL("AudioStreamingMedia")) &&
+ (disabled_count > 0 ||
+ // parcel media (if we have it, and it isn't playing, enable "start")
+ (LLViewerMedia::hasParcelMedia() && ! LLViewerMedia::isParcelMediaPlaying()) ||
+ // parcel audio (if we have it, and it isn't playing, enable "start")
+ (LLViewerMedia::hasParcelAudio() && ! LLViewerMedia::isParcelAudioPlaying())));
// Iterate over the rows in the control, updating ones whose impl exists, and deleting ones whose impl has gone away.
std::vector<LLScrollListItem*> items = mMediaList->getAllData();
@@ -847,7 +862,7 @@ void LLPanelNearByMedia::onClickParcelAudioStart()
// User *explicitly* started the internet stream, so keep the stream
// playing and updated as they cross to other parcels etc.
mParcelAudioAutoStart = true;
-
+
if (!gAudiop)
return;
@@ -957,17 +972,24 @@ void LLPanelNearByMedia::updateControls()
if (selected_media_id == PARCEL_AUDIO_LIST_ITEM_UUID)
{
- showTimeBasedControls(LLViewerMedia::isParcelAudioPlaying(),
+ if (!LLViewerMedia::hasParcelAudio() || !gSavedSettings.getBOOL("AudioStreamingMusic"))
+ {
+ // disable controls if audio streaming music is disabled from preference
+ showDisabledControls();
+ }
+ else {
+ showTimeBasedControls(LLViewerMedia::isParcelAudioPlaying(),
false, // include_zoom
false, // is_zoomed
gSavedSettings.getBOOL("MuteMusic"),
gSavedSettings.getF32("AudioLevelMusic") );
+ }
}
else if (selected_media_id == PARCEL_MEDIA_LIST_ITEM_UUID)
{
- if (!LLViewerMedia::hasParcelMedia())
+ if (!LLViewerMedia::hasParcelMedia() || !gSavedSettings.getBOOL("AudioStreamingMedia"))
{
- // Shouldn't happen, but do this anyway
+ // disable controls if audio streaming media is disabled from preference
showDisabledControls();
}
else {
@@ -994,7 +1016,7 @@ void LLPanelNearByMedia::updateControls()
else {
LLViewerMediaImpl* impl = LLViewerMedia::getMediaImplFromTextureID(selected_media_id);
- if (NULL == impl)
+ if (NULL == impl || !gSavedSettings.getBOOL("AudioStreamingMedia"))
{
showDisabledControls();
}
@@ -1075,15 +1097,18 @@ void LLPanelNearByMedia::onClickSelectedMediaPlay()
{
LLViewerMediaImpl *impl = (selected_media_id == PARCEL_MEDIA_LIST_ITEM_UUID) ?
((LLViewerMediaImpl*)LLViewerParcelMedia::getParcelMedia()) : LLViewerMedia::getMediaImplFromTextureID(selected_media_id);
- if (NULL != impl && impl->isMediaTimeBased() && impl->isMediaPaused())
- {
- // Aha! It's really time-based media that's paused, so unpause
- impl->play();
- return;
- }
- else if (impl->isParcelMedia())
+ if (NULL != impl)
{
- LLViewerParcelMedia::play(LLViewerParcelMgr::getInstance()->getAgentParcel());
+ if (impl->isMediaTimeBased() && impl->isMediaPaused())
+ {
+ // Aha! It's really time-based media that's paused, so unpause
+ impl->play();
+ return;
+ }
+ else if (impl->isParcelMedia())
+ {
+ LLViewerParcelMedia::play(LLViewerParcelMgr::getInstance()->getAgentParcel());
+ }
}
}
}
diff --git a/indra/newview/llpanelnearbymedia.h b/indra/newview/llpanelnearbymedia.h
index 6fe724266b..af4659365f 100644
--- a/indra/newview/llpanelnearbymedia.h
+++ b/indra/newview/llpanelnearbymedia.h
@@ -53,9 +53,10 @@ public:
/*virtual*/ void draw();
/*virtual*/ void onMouseEnter(S32 x, S32 y, MASK mask);
/*virtual*/ void onMouseLeave(S32 x, S32 y, MASK mask);
+ /*virtual*/ void onTopLost();
/*virtual*/ void handleVisibilityChange ( BOOL new_visibility );
- /*virtual*/ void onTopLost ();
/*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent);
+ /*virtual*/ BOOL handleHover(S32 x, S32 y, MASK mask);
// this is part of the nearby media *dialog* so we can track whether
// the user *implicitly* wants audio on or off via their *explicit*
@@ -149,7 +150,6 @@ private:
void onClickSelectedMediaUnzoom();
LLUICtrl* mNearbyMediaPanel;
- LLTextBox* mItemCountText;
LLScrollListCtrl* mMediaList;
LLUICtrl* mEnableAllCtrl;
LLUICtrl* mDisableAllCtrl;
diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp
index 36fab86280..03e8ab644e 100644
--- a/indra/newview/llpanelpeople.cpp
+++ b/indra/newview/llpanelpeople.cpp
@@ -463,8 +463,10 @@ LLPanelPeople::~LLPanelPeople()
delete mFriendListUpdater;
delete mRecentListUpdater;
- if(LLVoiceClient::getInstance())
+ if(LLVoiceClient::instanceExists())
+ {
LLVoiceClient::getInstance()->removeObserver(this);
+ }
LLView::deleteViewByHandle(mGroupPlusMenuHandle);
LLView::deleteViewByHandle(mNearbyViewSortMenuHandle);
@@ -517,6 +519,8 @@ BOOL LLPanelPeople::postBuild()
mRecentList->setShowIcons("RecentListShowIcons");
mGroupList = getChild<LLGroupList>("group_list");
+ mGroupList->setNoGroupsMsg(getString("no_groups_msg"));
+ mGroupList->setNoFilteredGroupsMsg(getString("no_filtered_groups_msg"));
mNearbyList->setContextMenu(&LLPanelPeopleMenus::gNearbyMenu);
mRecentList->setContextMenu(&LLPanelPeopleMenus::gNearbyMenu);
@@ -681,9 +685,15 @@ void LLPanelPeople::updateFriendList()
online_friendsp.push_back(buddy_id);
}
- mOnlineFriendList->setDirty();
- mAllFriendList->setDirty();
-
+ /*
+ * Avatarlists will be hidden by showFriendsAccordionsIfNeeded(), if they do not have items.
+ * But avatarlist can be updated only if it is visible @see LLAvatarList::draw();
+ * So we need to do force update of lists to avoid inconsistency of data and view of avatarlist.
+ */
+ mOnlineFriendList->setDirty(true, !mOnlineFriendList->filterHasMatches());// do force update if list do NOT have items
+ mAllFriendList->setDirty(true, !mAllFriendList->filterHasMatches());
+ //update trash and other buttons according to a selected item
+ updateButtons();
showFriendsAccordionsIfNeeded();
}
@@ -1432,9 +1442,6 @@ void LLPanelPeople::onFriendListRefreshComplete(LLUICtrl*ctrl, const LLSD& param
{
showAccordion("tab_all", param.asInteger());
}
-
- LLAccordionCtrl* accordion = getChild<LLAccordionCtrl>("friends_accordion");
- accordion->arrange();
}
void LLPanelPeople::setAccordionCollapsedByUser(LLUICtrl* acc_tab, bool collapsed)
diff --git a/indra/newview/llpanelpeoplemenus.cpp b/indra/newview/llpanelpeoplemenus.cpp
index 900d28adca..854651cd01 100644
--- a/indra/newview/llpanelpeoplemenus.cpp
+++ b/indra/newview/llpanelpeoplemenus.cpp
@@ -39,6 +39,7 @@
#include "llpanelpeoplemenus.h"
// newview
+#include "llagent.h"
#include "llagentdata.h" // for gAgentID
#include "llavataractions.h"
#include "llviewermenu.h" // for gMenuHolder
@@ -125,7 +126,7 @@ LLContextMenu* NearbyMenu::createMenu()
registrar.add("Avatar.IM", boost::bind(&LLAvatarActions::startIM, id));
registrar.add("Avatar.Call", boost::bind(&LLAvatarActions::startCall, id));
registrar.add("Avatar.OfferTeleport", boost::bind(&NearbyMenu::offerTeleport, this));
- registrar.add("Avatar.ShowOnMap", boost::bind(&LLAvatarActions::startIM, id)); // *TODO: unimplemented
+ registrar.add("Avatar.ShowOnMap", boost::bind(&LLAvatarActions::showOnMap, id));
registrar.add("Avatar.Share", boost::bind(&LLAvatarActions::share, id));
registrar.add("Avatar.Pay", boost::bind(&LLAvatarActions::pay, id));
registrar.add("Avatar.BlockUnblock", boost::bind(&LLAvatarActions::toggleBlock, id));
@@ -218,6 +219,13 @@ bool NearbyMenu::enableContextMenuItem(const LLSD& userdata)
{
return LLAvatarActions::canCall();
}
+ else if (item == std::string("can_show_on_map"))
+ {
+ const LLUUID& id = mUUIDs.front();
+
+ return (LLAvatarTracker::instance().isBuddyOnline(id) && is_agent_mappable(id))
+ || gAgent.isGodlike();
+ }
return false;
}
diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp
index c867a2c64b..6b45cd82fd 100644
--- a/indra/newview/llpanelpicks.cpp
+++ b/indra/newview/llpanelpicks.cpp
@@ -351,7 +351,14 @@ void LLPanelPicks::processProperties(void* data, EAvatarProcessorType type)
if (mNoPicks && mNoClassifieds)
{
- childSetValue("picks_panel_text", LLTrans::getString("NoPicksClassifiedsText"));
+ if(getAvatarId() == gAgentID)
+ {
+ childSetValue("picks_panel_text", LLTrans::getString("NoPicksClassifiedsText"));
+ }
+ else
+ {
+ childSetValue("picks_panel_text", LLTrans::getString("NoAvatarPicksClassifiedsText"));
+ }
}
}
diff --git a/indra/newview/llpanelplaceinfo.cpp b/indra/newview/llpanelplaceinfo.cpp
index f57aa7d42e..4c3d6e2758 100644
--- a/indra/newview/llpanelplaceinfo.cpp
+++ b/indra/newview/llpanelplaceinfo.cpp
@@ -256,7 +256,7 @@ void LLPanelPlaceInfo::reshape(S32 width, S32 height, BOOL called_from_parent)
static LLUICachedControl<S32> scrollbar_size ("UIScrollbarSize", 0);
S32 scroll_height = mScrollContainer->getRect().getHeight();
- if (mScrollingPanelMinHeight >= scroll_height)
+ if (mScrollingPanelMinHeight > scroll_height)
{
mScrollingPanel->reshape(mScrollingPanelWidth, mScrollingPanelMinHeight);
}
diff --git a/indra/newview/llpanelvolumepulldown.cpp b/indra/newview/llpanelvolumepulldown.cpp
index 559997254e..ae52bd3703 100644
--- a/indra/newview/llpanelvolumepulldown.cpp
+++ b/indra/newview/llpanelvolumepulldown.cpp
@@ -56,6 +56,8 @@
// Default constructor
LLPanelVolumePulldown::LLPanelVolumePulldown()
{
+ mHoverTimer.stop();
+
mCommitCallbackRegistrar.add("Vol.setControlFalse", boost::bind(&LLPanelVolumePulldown::setControlFalse, this, _2));
mCommitCallbackRegistrar.add("Vol.GoAudioPrefs", boost::bind(&LLPanelVolumePulldown::onAdvancedButtonClick, this, _2));
LLUICtrlFactory::instance().buildPanel(this, "panel_volume_pulldown.xml");
@@ -77,6 +79,11 @@ void LLPanelVolumePulldown::onMouseEnter(S32 x, S32 y, MASK mask)
LLPanel::onMouseEnter(x,y,mask);
}
+/*virtual*/
+void LLPanelVolumePulldown::onTopLost()
+{
+ setVisible(FALSE);
+}
/*virtual*/
void LLPanelVolumePulldown::onMouseLeave(S32 x, S32 y, MASK mask)
@@ -95,13 +102,8 @@ void LLPanelVolumePulldown::handleVisibilityChange ( BOOL new_visibility )
else
{
mHoverTimer.stop();
- }
-}
-/*virtual*/
-void LLPanelVolumePulldown::onTopLost()
-{
- setVisible(FALSE);
+ }
}
void LLPanelVolumePulldown::onAdvancedButtonClick(const LLSD& user_data)
diff --git a/indra/newview/llpanelvolumepulldown.h b/indra/newview/llpanelvolumepulldown.h
index 9f20caa1a8..7fb025f329 100644
--- a/indra/newview/llpanelvolumepulldown.h
+++ b/indra/newview/llpanelvolumepulldown.h
@@ -47,8 +47,8 @@ class LLPanelVolumePulldown : public LLPanel
/*virtual*/ void draw();
/*virtual*/ void onMouseEnter(S32 x, S32 y, MASK mask);
/*virtual*/ void onMouseLeave(S32 x, S32 y, MASK mask);
- /*virtual*/ void handleVisibilityChange ( BOOL new_visibility );
/*virtual*/ void onTopLost();
+ /*virtual*/ void handleVisibilityChange ( BOOL new_visibility );
/*virtual*/ BOOL postBuild();
private:
diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp
index 1c4004c37a..2748daaffa 100644
--- a/indra/newview/llparticipantlist.cpp
+++ b/indra/newview/llparticipantlist.cpp
@@ -70,6 +70,8 @@ LLParticipantList::LLParticipantList(LLSpeakerMgr* data_source, LLAvatarList* av
mSpeakerMgr->addListener(mSpeakerModeratorListener, "update_moderator");
mAvatarList->setNoItemsCommentText(LLTrans::getString("LoadingData"));
+ LL_DEBUGS("SpeakingIndicator") << "Set session for speaking indicators: " << mSpeakerMgr->getSessionID() << LL_ENDL;
+ mAvatarList->setSessionID(mSpeakerMgr->getSessionID());
mAvatarListDoubleClickConnection = mAvatarList->setItemDoubleClickCallback(boost::bind(&LLParticipantList::onAvatarListDoubleClicked, this, _1));
mAvatarListRefreshConnection = mAvatarList->setRefreshCompleteCallback(boost::bind(&LLParticipantList::onAvatarListRefreshed, this, _1, _2));
// Set onAvatarListDoubleClicked as default on_return action.
diff --git a/indra/newview/llpopupview.cpp b/indra/newview/llpopupview.cpp
new file mode 100644
index 0000000000..1668a91eed
--- /dev/null
+++ b/indra/newview/llpopupview.cpp
@@ -0,0 +1,250 @@
+/**
+ * @file llpopupview.cpp
+ * @brief Holds transient popups
+ *
+ * $LicenseInfo:firstyear=2001&license=viewergpl$
+ *
+ * Copyright (c) 2001-2010, Linden Research, Inc.
+ *
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab. Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ *
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at
+ * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ *
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ *
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+#include "llviewerprecompiledheaders.h"
+
+#include "llpopupview.h"
+
+static LLRegisterPanelClassWrapper<LLPopupView> r("popup_holder");
+
+bool view_visible_and_enabled(LLView* viewp)
+{
+ return viewp->getVisible() && viewp->getEnabled();
+}
+
+bool view_visible(LLView* viewp)
+{
+ return viewp->getVisible();
+}
+
+
+LLPopupView::LLPopupView()
+{
+ // register ourself as handler of UI popups
+ LLUI::setPopupFuncs(boost::bind(&LLPopupView::addPopup, this, _1), boost::bind(&LLPopupView::removePopup, this, _1), boost::bind(&LLPopupView::clearPopups, this));
+}
+
+LLPopupView::~LLPopupView()
+{
+ // set empty callback function so we can't handle popups anymore
+ LLUI::setPopupFuncs(LLUI::add_popup_t(), LLUI::remove_popup_t(), LLUI::clear_popups_t());
+}
+
+void LLPopupView::draw()
+{
+ S32 screen_x, screen_y;
+
+ // remove dead popups
+ for (popup_list_t::iterator popup_it = mPopups.begin();
+ popup_it != mPopups.end();)
+ {
+ if (!popup_it->get())
+ {
+ mPopups.erase(popup_it++);
+ }
+ else
+ {
+ popup_it++;
+ }
+ }
+
+ // draw in reverse order (most recent is on top)
+ for (popup_list_t::reverse_iterator popup_it = mPopups.rbegin();
+ popup_it != mPopups.rend();)
+ {
+ LLView* popup = popup_it->get();
+
+ if (popup->getVisible())
+ {
+ popup->localPointToScreen(0, 0, &screen_x, &screen_y);
+
+ LLUI::pushMatrix();
+ {
+ LLUI::translate( (F32) screen_x, (F32) screen_y, 0.f);
+ popup->draw();
+ }
+ LLUI::popMatrix();
+ }
+ ++popup_it;
+ }
+
+ LLPanel::draw();
+}
+
+BOOL LLPopupView::handleMouseEvent(boost::function<BOOL(LLView*, S32, S32)> func,
+ boost::function<bool(LLView*)> predicate,
+ S32 x, S32 y,
+ bool close_popups)
+{
+ for (popup_list_t::iterator popup_it = mPopups.begin();
+ popup_it != mPopups.end();)
+ {
+ LLView* popup = popup_it->get();
+ if (!popup
+ || !predicate(popup))
+ {
+ ++popup_it;
+ continue;
+ }
+
+ S32 popup_x, popup_y;
+ if (localPointToOtherView(x, y, &popup_x, &popup_y, popup)
+ && popup->pointInView(popup_x, popup_y))
+ {
+ if (func(popup, popup_x, popup_y))
+ {
+ return TRUE;
+ }
+ }
+
+ if (close_popups)
+ {
+ popup_list_t::iterator cur_popup_it = popup_it++;
+ mPopups.erase(cur_popup_it);
+ popup->onTopLost();
+ }
+ else
+ {
+ ++popup_it;
+ }
+ }
+
+ return FALSE;
+}
+
+
+BOOL LLPopupView::handleMouseDown(S32 x, S32 y, MASK mask)
+{
+ if (!handleMouseEvent(boost::bind(&LLMouseHandler::handleMouseDown, _1, _2, _3, mask), view_visible_and_enabled, x, y, true))
+ {
+ return FALSE;
+ }
+ return TRUE;
+}
+
+BOOL LLPopupView::handleMouseUp(S32 x, S32 y, MASK mask)
+{
+ return handleMouseEvent(boost::bind(&LLMouseHandler::handleMouseUp, _1, _2, _3, mask), view_visible_and_enabled, x, y, false);
+}
+
+BOOL LLPopupView::handleMiddleMouseDown(S32 x, S32 y, MASK mask)
+{
+ if (!handleMouseEvent(boost::bind(&LLMouseHandler::handleMiddleMouseDown, _1, _2, _3, mask), view_visible_and_enabled, x, y, true))
+ {
+ return FALSE;
+ }
+ return TRUE;
+}
+
+BOOL LLPopupView::handleMiddleMouseUp(S32 x, S32 y, MASK mask)
+{
+ return handleMouseEvent(boost::bind(&LLMouseHandler::handleMiddleMouseUp, _1, _2, _3, mask), view_visible_and_enabled, x, y, false);
+}
+
+BOOL LLPopupView::handleRightMouseDown(S32 x, S32 y, MASK mask)
+{
+ if (!handleMouseEvent(boost::bind(&LLMouseHandler::handleRightMouseDown, _1, _2, _3, mask), view_visible_and_enabled, x, y, true))
+ {
+ return FALSE;
+ }
+ return TRUE;
+}
+
+BOOL LLPopupView::handleRightMouseUp(S32 x, S32 y, MASK mask)
+{
+ return handleMouseEvent(boost::bind(&LLMouseHandler::handleRightMouseUp, _1, _2, _3, mask), view_visible_and_enabled, x, y, false);
+}
+
+BOOL LLPopupView::handleDoubleClick(S32 x, S32 y, MASK mask)
+{
+ return handleMouseEvent(boost::bind(&LLMouseHandler::handleDoubleClick, _1, _2, _3, mask), view_visible_and_enabled, x, y, false);
+}
+
+BOOL LLPopupView::handleHover(S32 x, S32 y, MASK mask)
+{
+ return handleMouseEvent(boost::bind(&LLMouseHandler::handleHover, _1, _2, _3, mask), view_visible_and_enabled, x, y, false);
+}
+
+BOOL LLPopupView::handleScrollWheel(S32 x, S32 y, S32 clicks)
+{
+ return handleMouseEvent(boost::bind(&LLMouseHandler::handleScrollWheel, _1, _2, _3, clicks), view_visible_and_enabled, x, y, false);
+}
+
+BOOL LLPopupView::handleToolTip(S32 x, S32 y, MASK mask)
+{
+ return handleMouseEvent(boost::bind(&LLMouseHandler::handleToolTip, _1, _2, _3, mask), view_visible, x, y, false);
+}
+
+void LLPopupView::addPopup(LLView* popup)
+{
+ if (popup)
+ {
+ popup_list_t::iterator iter = std::find(mPopups.begin(), mPopups.end(), popup->getHandle());
+ if(iter != mPopups.end())
+ {
+ mPopups.erase(iter);
+ }
+ mPopups.push_front(popup->getHandle());
+ }
+}
+
+void LLPopupView::removePopup(LLView* popup)
+{
+ if (popup)
+ {
+ if (gFocusMgr.childHasKeyboardFocus(popup))
+ {
+ gFocusMgr.setKeyboardFocus(NULL);
+ }
+ popup_list_t::iterator iter = std::find(mPopups.begin(), mPopups.end(), popup->getHandle());
+ if(iter != mPopups.end())
+ {
+ mPopups.erase(iter);
+ }
+ popup->onTopLost();
+ }
+}
+
+void LLPopupView::clearPopups()
+{
+ for (popup_list_t::iterator popup_it = mPopups.begin();
+ popup_it != mPopups.end();)
+ {
+ LLView* popup = popup_it->get();
+
+ popup_list_t::iterator cur_popup_it = popup_it;
+ ++popup_it;
+
+ mPopups.erase(cur_popup_it);
+ popup->onTopLost();
+ }
+}
+
diff --git a/indra/newview/llpopupview.h b/indra/newview/llpopupview.h
new file mode 100644
index 0000000000..1ec61d5450
--- /dev/null
+++ b/indra/newview/llpopupview.h
@@ -0,0 +1,67 @@
+/**
+ * @file llpopupview.h
+ * @brief Holds transient popups
+ *
+ * $LicenseInfo:firstyear=2001&license=viewergpl$
+ *
+ * Copyright (c) 2001-2009, Linden Research, Inc.
+ *
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab. Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ *
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at
+ * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ *
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ *
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+
+#ifndef LL_LLPOPUPVIEW_H
+#define LL_LLPOPUPVIEW_H
+
+#include "llpanel.h"
+
+class LLPopupView : public LLPanel
+{
+public:
+ LLPopupView();
+ ~LLPopupView();
+
+ /*virtual*/ void draw();
+ /*virtual*/ BOOL handleMouseDown(S32 x, S32 y, MASK mask);
+ /*virtual*/ BOOL handleMouseUp(S32 x, S32 y, MASK mask);
+ /*virtual*/ BOOL handleMiddleMouseDown(S32 x, S32 y, MASK mask);
+ /*virtual*/ BOOL handleMiddleMouseUp(S32 x, S32 y, MASK mask);
+ /*virtual*/ BOOL handleRightMouseDown(S32 x, S32 y, MASK mask);
+ /*virtual*/ BOOL handleRightMouseUp(S32 x, S32 y, MASK mask);
+ /*virtual*/ BOOL handleDoubleClick(S32 x, S32 y, MASK mask);
+ /*virtual*/ BOOL handleHover(S32 x, S32 y, MASK mask);
+ /*virtual*/ BOOL handleScrollWheel(S32 x, S32 y, S32 clicks);
+ /*virtual*/ BOOL handleToolTip(S32 x, S32 y, MASK mask);
+
+ void addPopup(LLView* popup);
+ void removePopup(LLView* popup);
+ void clearPopups();
+
+ typedef std::list<LLHandle<LLView> > popup_list_t;
+ popup_list_t getCurrentPopups() { return mPopups; }
+
+private:
+ BOOL handleMouseEvent(boost::function<BOOL(LLView*, S32, S32)>, boost::function<bool(LLView*)>, S32 x, S32 y, bool close_popups);
+ popup_list_t mPopups;
+};
+#endif //LL_LLROOTVIEW_H
diff --git a/indra/newview/llpreviewtexture.cpp b/indra/newview/llpreviewtexture.cpp
index 76b02f07ec..22a1ef94a7 100644
--- a/indra/newview/llpreviewtexture.cpp
+++ b/indra/newview/llpreviewtexture.cpp
@@ -116,7 +116,8 @@ BOOL LLPreviewTexture::postBuild()
}
childSetAction("save_tex_btn", LLPreviewTexture::onSaveAsBtn, this);
- childSetVisible("save_tex_btn", canSaveAs());
+ childSetVisible("save_tex_btn", true);
+ childSetEnabled("save_tex_btn", canSaveAs());
if (!mCopyToInv)
{
@@ -248,6 +249,7 @@ void LLPreviewTexture::draw()
}
}
}
+
}
@@ -282,18 +284,52 @@ void LLPreviewTexture::saveAs()
// virtual
void LLPreviewTexture::reshape(S32 width, S32 height, BOOL called_from_parent)
{
-// mLastHeight = 0;
-// mLastWidth = 0;
- mUpdateDimensions = TRUE;
LLPreview::reshape(width, height, called_from_parent);
+
+ LLRect dim_rect;
+ childGetRect("dimensions", dim_rect);
+
+ S32 horiz_pad = 2 * (LLPANEL_BORDER_WIDTH + PREVIEW_PAD) + PREVIEW_RESIZE_HANDLE_SIZE;
+
+ // add space for dimensions and aspect ratio
+ S32 info_height = dim_rect.mTop + CLIENT_RECT_VPAD;
+
+ LLRect client_rect(horiz_pad, getRect().getHeight(), getRect().getWidth() - horiz_pad, 0);
+ client_rect.mTop -= (PREVIEW_HEADER_SIZE + CLIENT_RECT_VPAD);
+ client_rect.mBottom += PREVIEW_BORDER + CLIENT_RECT_VPAD + info_height ;
+
+ S32 client_width = client_rect.getWidth();
+ S32 client_height = client_rect.getHeight();
+
+ if (mAspectRatio > 0.f)
+ {
+ if(mAspectRatio > 1.f)
+ {
+ client_height = llceil((F32)client_width / mAspectRatio);
+ if(client_height > client_rect.getHeight())
+ {
+ client_height = client_rect.getHeight();
+ client_width = llceil((F32)client_height * mAspectRatio);
+ }
+ }
+ else//mAspectRatio < 1.f
+ {
+ client_width = llceil((F32)client_height * mAspectRatio);
+ if(client_width > client_rect.getWidth())
+ {
+ client_width = client_rect.getWidth();
+ client_height = llceil((F32)client_width / mAspectRatio);
+ }
+ }
+ }
+
+ mClientRect.setLeftTopAndSize(client_rect.getCenterX() - (client_width / 2), client_rect.getCenterY() + (client_height / 2), client_width, client_height);
+
}
// virtual
void LLPreviewTexture::onFocusReceived()
{
- mLastHeight = 0;
- mLastWidth = 0;
- mUpdateDimensions = TRUE;
LLPreview::onFocusReceived();
}
@@ -364,13 +400,19 @@ void LLPreviewTexture::updateDimensions()
{
if (!mImage)
return;
+
+ if(mImage->getFullWidth() == 0 || mImage->getFullHeight() == 0)
+ {
+ return;
+ }
+
mUpdateDimensions = FALSE;
-
- // set text on dimensions display (should be moved out of here and into a callback of some sort)
+
childSetTextArg("dimensions", "[WIDTH]", llformat("%d", mImage->getFullWidth()));
childSetTextArg("dimensions", "[HEIGHT]", llformat("%d", mImage->getFullHeight()));
+
LLRect dim_rect;
childGetRect("dimensions", dim_rect);
@@ -379,34 +421,68 @@ void LLPreviewTexture::updateDimensions()
// add space for dimensions and aspect ratio
S32 info_height = dim_rect.mTop + CLIENT_RECT_VPAD;
- LLRect client_rect(horiz_pad, getRect().getHeight(), getRect().getWidth() - horiz_pad, 0);
- client_rect.mTop -= (PREVIEW_HEADER_SIZE + CLIENT_RECT_VPAD);
- client_rect.mBottom += PREVIEW_BORDER + CLIENT_RECT_VPAD + info_height ;
+ S32 screen_width = gFloaterView->getSnapRect().getWidth();
+ S32 screen_height = gFloaterView->getSnapRect().getHeight();
- S32 client_width = client_rect.getWidth();
- S32 client_height = client_rect.getHeight();
+ S32 max_image_width = screen_width - 2*horiz_pad;
+ S32 max_image_height = screen_height - (PREVIEW_HEADER_SIZE + CLIENT_RECT_VPAD)
+ - (PREVIEW_BORDER + CLIENT_RECT_VPAD + info_height);
+
+ S32 client_width = llmin(max_image_width,mImage->getFullWidth());
+ S32 client_height = llmin(max_image_height,mImage->getFullHeight());
if (mAspectRatio > 0.f)
{
if(mAspectRatio > 1.f)
{
client_height = llceil((F32)client_width / mAspectRatio);
- if(client_height > client_rect.getHeight())
+ if(client_height > max_image_height)
{
- client_height = client_rect.getHeight();
+ client_height = max_image_height;
client_width = llceil((F32)client_height * mAspectRatio);
}
}
- else
+ else//mAspectRatio < 1.f
{
client_width = llceil((F32)client_height * mAspectRatio);
- if(client_width > client_rect.getWidth())
+ if(client_width > max_image_width)
{
- client_width = client_rect.getWidth();
+ client_width = max_image_width;
client_height = llceil((F32)client_width / mAspectRatio);
}
}
}
+ else
+ {
+
+ if(client_height > max_image_height)
+ {
+ F32 ratio = (F32)max_image_height/client_height;
+ client_height = max_image_height;
+ client_width = llceil((F32)client_height * ratio);
+ }
+
+ if(client_width > max_image_width)
+ {
+ F32 ratio = (F32)max_image_width/client_width;
+ client_width = max_image_width;
+ client_height = llceil((F32)client_width * ratio);
+ }
+ }
+
+ //now back to whole floater
+ S32 floater_width = llmax(getMinWidth(),client_width + 2*horiz_pad);
+ S32 floater_height = llmax(getMinHeight(),client_height + (PREVIEW_HEADER_SIZE + CLIENT_RECT_VPAD)
+ + (PREVIEW_BORDER + CLIENT_RECT_VPAD + info_height));
+
+ //reshape floater
+ reshape( floater_width, floater_height );
+ gFloaterView->adjustToFitScreen(this, FALSE);
+
+ //setup image rect...
+ LLRect client_rect(horiz_pad, getRect().getHeight(), getRect().getWidth() - horiz_pad, 0);
+ client_rect.mTop -= (PREVIEW_HEADER_SIZE + CLIENT_RECT_VPAD);
+ client_rect.mBottom += PREVIEW_BORDER + CLIENT_RECT_VPAD + info_height ;
mClientRect.setLeftTopAndSize(client_rect.getCenterX() - (client_width / 2), client_rect.getCenterY() + (client_height / 2), client_width, client_height);
@@ -468,8 +544,9 @@ void LLPreviewTexture::loadAsset()
mImage->setBoostLevel(LLViewerTexture::BOOST_PREVIEW);
mImage->forceToSaveRawImage(0) ;
mAssetStatus = PREVIEW_ASSET_LOADING;
+ mUpdateDimensions = TRUE;
updateDimensions();
- childSetVisible("save_tex_btn", canSaveAs());
+ childSetEnabled("save_tex_btn", canSaveAs());
}
LLPreview::EAssetStatus LLPreviewTexture::getAssetStatus()
@@ -487,7 +564,12 @@ void LLPreviewTexture::updateImageID()
if(item)
{
mImageID = item->getAssetUUID();
- mShowKeepDiscard = item->getPermissions().getCreator() != gAgent.getID();
+
+ // here's the old logic...
+ //mShowKeepDiscard = item->getPermissions().getCreator() != gAgent.getID();
+ // here's the new logic... 'cos we hate disappearing buttons.
+ mShowKeepDiscard = TRUE;
+
mCopyToInv = FALSE;
mIsCopyable = item->checkPermissionsSet(PERM_ITEM_UNRESTRICTED);
}
diff --git a/indra/newview/llprogressview.cpp b/indra/newview/llprogressview.cpp
index 0476e785a5..120b584cd9 100644
--- a/indra/newview/llprogressview.cpp
+++ b/indra/newview/llprogressview.cpp
@@ -128,11 +128,13 @@ void LLProgressView::setVisible(BOOL visible)
{
if (getVisible() && !visible)
{
+
mFadeTimer.start();
}
else if (!getVisible() && visible)
{
- gFocusMgr.setTopCtrl(this);
+ gViewerWindow->addPopup(this);
+
setFocus(TRUE);
mFadeTimer.stop();
mProgressTimer.start();
@@ -187,6 +189,8 @@ void LLProgressView::draw()
// Fade is complete, release focus
gFocusMgr.releaseFocusIfNeeded( this );
LLPanel::setVisible(FALSE);
+ gViewerWindow->removePopup(this);
+
gStartTexture = NULL;
}
return;
diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp
index 7c2e7e3319..a4426b370e 100644
--- a/indra/newview/llscreenchannel.cpp
+++ b/indra/newview/llscreenchannel.cpp
@@ -79,17 +79,12 @@ LLScreenChannelBase::~LLScreenChannelBase()
bool LLScreenChannelBase::isHovering()
{
- bool res = mHoveredToast != NULL;
- if (!res)
+ if (!mHoveredToast)
{
- return res;
+ return false;
}
- S32 x, y;
- mHoveredToast->screenPointToLocal(gViewerWindow->getCurrentMouseX(),
- gViewerWindow->getCurrentMouseY(), &x, &y);
- res = mHoveredToast->pointInView(x, y) == TRUE;
- return res;
+ return mHoveredToast->isHovered();
}
void LLScreenChannelBase::updatePositionAndSize(LLRect old_world_rect, LLRect new_world_rect)
@@ -479,7 +474,8 @@ void LLScreenChannel::showToastsBottom()
{
if(it != mToastList.rbegin())
{
- bottom = (*(it-1)).toast->getRect().mTop;
+ LLToast* toast = (*(it-1)).toast;
+ bottom = toast->getRect().mTop - toast->getTopPad();
toast_margin = gSavedSettings.getS32("ToastGap");
}
@@ -691,7 +687,10 @@ void LLNotificationsUI::LLScreenChannel::startFadingToasts()
while (it != mToastList.end())
{
ToastElem& elem = *it;
- elem.toast->startFading();
+ if (elem.toast->getVisible())
+ {
+ elem.toast->startFading();
+ }
++it;
}
}
@@ -777,23 +776,16 @@ void LLScreenChannel::onToastHover(LLToast* toast, bool mouse_enter)
{
// because of LLViewerWindow::updateUI() that NOT ALWAYS calls onMouseEnter BEFORE onMouseLeave
// we must check hovering directly to prevent incorrect setting for hovering in a channel
- S32 x,y;
if (mouse_enter)
{
- toast->screenPointToLocal(gViewerWindow->getCurrentMouseX(),
- gViewerWindow->getCurrentMouseY(), &x, &y);
- bool hover = toast->pointInView(x, y) == TRUE;
- if (hover)
+ if (toast->isHovered())
{
mHoveredToast = toast;
}
}
else if (mHoveredToast != NULL)
{
- mHoveredToast->screenPointToLocal(gViewerWindow->getCurrentMouseX(),
- gViewerWindow->getCurrentMouseY(), &x, &y);
- bool hover = mHoveredToast->pointInView(x, y) == TRUE;
- if (!hover)
+ if (!mHoveredToast->isHovered())
{
mHoveredToast = NULL;
}
diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp
index d452ef2228..eb71cc52c8 100644
--- a/indra/newview/llscriptfloater.cpp
+++ b/indra/newview/llscriptfloater.cpp
@@ -88,7 +88,7 @@ bool LLScriptFloater::toggle(const LLUUID& notification_id)
else
{
floater->setVisible(TRUE);
- floater->setFocus(TRUE);
+ floater->setFocus(FALSE);
}
}
// create and show new floater
@@ -107,6 +107,9 @@ LLScriptFloater* LLScriptFloater::show(const LLUUID& notification_id)
floater->setNotificationId(notification_id);
floater->createForm(notification_id);
+ //LLDialog(LLGiveInventory and LLLoadURL) should no longer steal focus (see EXT-5445)
+ floater->setAutoFocus(FALSE);
+
if(LLScriptFloaterManager::OBJ_SCRIPT == LLScriptFloaterManager::getObjectType(notification_id))
{
floater->setSavePosition(true);
@@ -117,7 +120,8 @@ LLScriptFloater* LLScriptFloater::show(const LLUUID& notification_id)
floater->dockToChiclet(true);
}
- LLFloaterReg::showTypedInstance<LLScriptFloater>("script_floater", notification_id, TRUE);
+ //LLDialog(LLGiveInventory and LLLoadURL) should no longer steal focus (see EXT-5445)
+ LLFloaterReg::showTypedInstance<LLScriptFloater>("script_floater", notification_id, FALSE);
return floater;
}
@@ -131,7 +135,7 @@ void LLScriptFloater::setNotificationId(const LLUUID& id)
void LLScriptFloater::getAllowedRect(LLRect& rect)
{
- rect = gViewerWindow->getWorldViewRectRaw();
+ rect = gViewerWindow->getWorldViewRectScaled();
}
void LLScriptFloater::createForm(const LLUUID& notification_id)
@@ -279,7 +283,9 @@ void LLScriptFloater::dockToChiclet(bool dock)
setSavePosition(false);
setDockControl(new LLDockControl(chiclet, this, getDockTongue(),
- LLDockControl::TOP, boost::bind(&LLScriptFloater::getAllowedRect, this, _1)), dock);
+ LLDockControl::TOP, boost::bind(&LLScriptFloater::getAllowedRect, this, _1)));
+
+ setDocked(dock);
// Restore saving
setSavePosition(save);
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index 9540894646..d733574a9d 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -4919,13 +4919,15 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)
// set up transform to encompass bounding box of HUD
glMatrixMode(GL_PROJECTION);
- glPushMatrix();
+ gGL.pushMatrix();
glLoadIdentity();
F32 depth = llmax(1.f, hud_bbox.getExtentLocal().mV[VX] * 1.1f);
glOrtho(-0.5f * LLViewerCamera::getInstance()->getAspect(), 0.5f * LLViewerCamera::getInstance()->getAspect(), -0.5f, 0.5f, 0.f, depth);
glMatrixMode(GL_MODELVIEW);
- glPushMatrix();
+ gGL.pushMatrix();
+ gGL.pushUIMatrix();
+ gGL.loadUIIdentity();
glLoadIdentity();
glLoadMatrixf(OGL_TO_CFR_ROTATION); // Load Cory's favorite reference frame
glTranslatef(-hud_bbox.getCenterLocal().mV[VX] + (depth *0.5f), 0.f, 0.f);
@@ -5022,10 +5024,11 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)
if (for_hud && avatar)
{
glMatrixMode(GL_PROJECTION);
- glPopMatrix();
+ gGL.popMatrix();
glMatrixMode(GL_MODELVIEW);
- glPopMatrix();
+ gGL.popMatrix();
+ gGL.popUIMatrix();
stop_glerror();
}
@@ -5374,7 +5377,10 @@ void LLSelectNode::renderOneSilhouette(const LLColor4 &color)
}
glMatrixMode(GL_MODELVIEW);
- glPushMatrix();
+ gGL.pushMatrix();
+ gGL.pushUIMatrix();
+ gGL.loadUIIdentity();
+
if (!is_hud_object)
{
glLoadIdentity();
@@ -5493,7 +5499,8 @@ void LLSelectNode::renderOneSilhouette(const LLColor4 &color)
gGL.end();
gGL.flush();
}
- glPopMatrix();
+ gGL.popMatrix();
+ gGL.popUIMatrix();
}
//
diff --git a/indra/newview/llsidepaneltaskinfo.cpp b/indra/newview/llsidepaneltaskinfo.cpp
index b0cdbe74dd..2a0360460c 100644
--- a/indra/newview/llsidepaneltaskinfo.cpp
+++ b/indra/newview/llsidepaneltaskinfo.cpp
@@ -100,6 +100,8 @@ BOOL LLSidepanelTaskInfo::postBuild()
mPayBtn->setClickedCallback(boost::bind(&LLSidepanelTaskInfo::onPayButtonClicked, this));
mBuyBtn = getChild<LLButton>("buy_btn");
mBuyBtn->setClickedCallback(boost::bind(&LLSidepanelTaskInfo::onBuyButtonClicked, this));
+ mDetailsBtn = getChild<LLButton>("details_btn");
+ mDetailsBtn->setClickedCallback(boost::bind(&LLSidepanelTaskInfo::onDetailsButtonClicked, this));
mLabelGroupName = getChild<LLNameBox>("Group Name Proxy");
@@ -1122,6 +1124,15 @@ void LLSidepanelTaskInfo::updateVerbs()
//mEditBtn->setEnabled(obj && obj->permModify());
*/
+ LLSafeHandle<LLObjectSelection> object_selection = LLSelectMgr::getInstance()->getSelection();
+ const BOOL multi_select = (object_selection->getNumNodes() > 1);
+
+ mOpenBtn->setVisible(!multi_select);
+ mPayBtn->setVisible(!multi_select);
+ mBuyBtn->setVisible(!multi_select);
+ mDetailsBtn->setVisible(multi_select);
+ mDetailsBtn->setEnabled(multi_select);
+
mOpenBtn->setEnabled(enable_object_open());
mPayBtn->setEnabled(enable_pay_object());
mBuyBtn->setEnabled(enable_buy_object());
@@ -1145,6 +1156,11 @@ void LLSidepanelTaskInfo::onBuyButtonClicked()
doClickAction(CLICK_ACTION_BUY);
}
+void LLSidepanelTaskInfo::onDetailsButtonClicked()
+{
+ LLFloaterReg::showInstance("inspect", LLSD());
+}
+
// virtual
void LLSidepanelTaskInfo::save()
{
diff --git a/indra/newview/llsidepaneltaskinfo.h b/indra/newview/llsidepaneltaskinfo.h
index cf36c20767..e41627435f 100644
--- a/indra/newview/llsidepaneltaskinfo.h
+++ b/indra/newview/llsidepaneltaskinfo.h
@@ -109,10 +109,12 @@ protected:
void onOpenButtonClicked();
void onPayButtonClicked();
void onBuyButtonClicked();
+ void onDetailsButtonClicked();
private:
LLButton* mOpenBtn;
LLButton* mPayBtn;
LLButton* mBuyBtn;
+ LLButton* mDetailsBtn;
protected:
LLViewerObject* getObject();
diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp
index 50c47e293e..fba1503b4a 100644
--- a/indra/newview/llsidetray.cpp
+++ b/indra/newview/llsidetray.cpp
@@ -248,6 +248,11 @@ LLSideTray::LLSideTray(Params& params)
// panel_name should be specified via "parameter" attribute.
commit.add("SideTray.ShowPanel", boost::bind(&LLSideTray::showPanel, this, _2, LLUUID::null));
LLTransientFloaterMgr::getInstance()->addControlView(this);
+ LLView* side_bar_tabs = gViewerWindow->getRootView()->getChildView("side_bar_tabs");
+ if (side_bar_tabs != NULL)
+ {
+ LLTransientFloaterMgr::getInstance()->addControlView(side_bar_tabs);
+ }
LLPanel::Params p;
p.name = "buttons_panel";
diff --git a/indra/newview/llslurl.cpp b/indra/newview/llslurl.cpp
index e4773f99c5..5d20e280b5 100644
--- a/indra/newview/llslurl.cpp
+++ b/indra/newview/llslurl.cpp
@@ -36,6 +36,8 @@
#include "llweb.h"
+#include "llurlregistry.h"
+
const std::string LLSLURL::PREFIX_SL_HELP = "secondlife://app.";
const std::string LLSLURL::PREFIX_SL = "sl://";
const std::string LLSLURL::PREFIX_SECONDLIFE = "secondlife://";
@@ -95,6 +97,20 @@ bool LLSLURL::isSLURL(const std::string& url)
return false;
}
+bool LLSLURL::isValidSLURL(const std::string& url)
+{
+ std::string temp_url(url);
+ //"www." may appear in DnD- see description of PREFIX_SLURL_WWW.
+ // If it is found, we remove it because it isn't expected in regexp.
+ if (matchPrefix(url, PREFIX_SLURL_WWW))
+ {
+ size_t position = url.find("www.");
+ temp_url.erase(position,4);
+ }
+
+ return LLUrlRegistry::getInstance()->isUrl(temp_url);
+}
+
// static
bool LLSLURL::isSLURLCommand(const std::string& url)
{
diff --git a/indra/newview/llslurl.h b/indra/newview/llslurl.h
index 6a695e84f3..a79a8fc97c 100644
--- a/indra/newview/llslurl.h
+++ b/indra/newview/llslurl.h
@@ -61,6 +61,11 @@ public:
static bool isSLURL(const std::string& url);
/**
+ * Returns true if url is proven valid by regexp check from LLUrlRegistry
+ */
+ static bool isValidSLURL(const std::string& url);
+
+ /**
* Is this a special secondlife://app/ URL?
*/
static bool isSLURLCommand(const std::string& url);
diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp
index 2a57d48f16..d6e9256fee 100644
--- a/indra/newview/llspatialpartition.cpp
+++ b/indra/newview/llspatialpartition.cpp
@@ -3380,7 +3380,8 @@ LLDrawInfo::LLDrawInfo(U16 start, U16 end, U32 count, U32 offset,
mVSize(0.f),
mGroup(NULL),
mFace(NULL),
- mDistance(0.f)
+ mDistance(0.f),
+ mDrawMode(LLRender::TRIANGLES)
{
mDebugColor = (rand() << 16) + rand();
if (mStart >= mVertexBuffer->getRequestedVerts() ||
diff --git a/indra/newview/llspatialpartition.h b/indra/newview/llspatialpartition.h
index 64c2a9acbc..7896488379 100644
--- a/indra/newview/llspatialpartition.h
+++ b/indra/newview/llspatialpartition.h
@@ -93,6 +93,7 @@ public:
LLFace* mFace; //associated face
F32 mDistance;
LLVector3 mExtents[2];
+ U32 mDrawMode;
struct CompareTexture
{
diff --git a/indra/newview/llspeakingindicatormanager.cpp b/indra/newview/llspeakingindicatormanager.cpp
index d33c050ee4..cc06179481 100644
--- a/indra/newview/llspeakingindicatormanager.cpp
+++ b/indra/newview/llspeakingindicatormanager.cpp
@@ -65,8 +65,12 @@ public:
*
* @param speaker_id LLUUID of an avatar whose speaking indicator is registered.
* @param speaking_indicator instance of the speaking indicator to be registered.
+ * @param session_id session UUID for which indicator should be shown only.
+ * If this parameter is set registered indicator will be shown only in voice channel
+ * which has the same session id (EXT-5562).
*/
- void registerSpeakingIndicator(const LLUUID& speaker_id, LLSpeakingIndicator* const speaking_indicator);
+ void registerSpeakingIndicator(const LLUUID& speaker_id, LLSpeakingIndicator* const speaking_indicator,
+ const LLUUID& session_id = LLUUID::null);
/**
* Removes passed speaking indicator from observing.
@@ -138,15 +142,18 @@ private:
//////////////////////////////////////////////////////////////////////////
// PUBLIC SECTION
//////////////////////////////////////////////////////////////////////////
-void SpeakingIndicatorManager::registerSpeakingIndicator(const LLUUID& speaker_id, LLSpeakingIndicator* const speaking_indicator)
+void SpeakingIndicatorManager::registerSpeakingIndicator(const LLUUID& speaker_id, LLSpeakingIndicator* const speaking_indicator,
+ const LLUUID& session_id)
{
// do not exclude agent's indicators. They should be processed in the same way as others. See EXT-3889.
- LL_DEBUGS("SpeakingIndicator") << "Registering indicator: " << speaker_id << "|"<< speaking_indicator << LL_ENDL;
+ LL_DEBUGS("SpeakingIndicator") << "Registering indicator: " << speaker_id << "|"<< speaking_indicator << ", session: " << session_id << LL_ENDL;
ensureInstanceDoesNotExist(speaking_indicator);
+ speaking_indicator->setTargetSessionID(session_id);
+
speaking_indicator_value_t value_type(speaker_id, speaking_indicator);
mSpeakingIndicators.insert(value_type);
@@ -217,6 +224,13 @@ void SpeakingIndicatorManager::onChange()
void SpeakingIndicatorManager::switchSpeakerIndicators(const speaker_ids_t& speakers_uuids, BOOL switch_on)
{
+ LLVoiceChannel* voice_channel = LLVoiceChannel::getCurrentVoiceChannel();
+ LLUUID session_id;
+ if (voice_channel)
+ {
+ session_id = voice_channel->getSessionID();
+ }
+
speaker_ids_t::const_iterator it_uuid = speakers_uuids.begin();
for (; it_uuid != speakers_uuids.end(); ++it_uuid)
{
@@ -224,18 +238,36 @@ void SpeakingIndicatorManager::switchSpeakerIndicators(const speaker_ids_t& spea
indicator_range_t it_range = mSpeakingIndicators.equal_range(*it_uuid);
indicator_const_iterator it_indicator = it_range.first;
bool was_found = false;
+ bool was_switched_on = false;
for (; it_indicator != it_range.second; ++it_indicator)
{
was_found = true;
LLSpeakingIndicator* indicator = (*it_indicator).second;
- indicator->switchIndicator(switch_on);
+
+ BOOL switch_current_on = switch_on;
+
+ // we should show indicator for specified voice session only if this is current channel. EXT-5562.
+ if (switch_current_on && indicator->getTargetSessionID().notNull())
+ {
+ switch_current_on = indicator->getTargetSessionID() == session_id;
+ LL_DEBUGS("SpeakingIndicator") << "Session: " << session_id << ", target: " << indicator->getTargetSessionID() << ", the same? = " << switch_current_on << LL_ENDL;
+ }
+ was_switched_on = was_switched_on || switch_current_on;
+
+ indicator->switchIndicator(switch_current_on);
+
}
if (was_found)
{
LL_DEBUGS("SpeakingIndicator") << mSpeakingIndicators.count(*it_uuid) << " indicators where found" << LL_ENDL;
- if (switch_on)
+ if (switch_on && !was_switched_on)
+ {
+ LL_DEBUGS("SpeakingIndicator") << "but non of them where switched on" << LL_ENDL;
+ }
+
+ if (was_switched_on)
{
// store switched on indicator to be able switch it off
mSwitchedIndicatorsOn.insert(*it_uuid);
@@ -274,9 +306,10 @@ void SpeakingIndicatorManager::ensureInstanceDoesNotExist(LLSpeakingIndicator* c
/* LLSpeakingIndicatorManager namespace implementation */
/************************************************************************/
-void LLSpeakingIndicatorManager::registerSpeakingIndicator(const LLUUID& speaker_id, LLSpeakingIndicator* const speaking_indicator)
+void LLSpeakingIndicatorManager::registerSpeakingIndicator(const LLUUID& speaker_id, LLSpeakingIndicator* const speaking_indicator,
+ const LLUUID& session_id)
{
- SpeakingIndicatorManager::instance().registerSpeakingIndicator(speaker_id, speaking_indicator);
+ SpeakingIndicatorManager::instance().registerSpeakingIndicator(speaker_id, speaking_indicator, session_id);
}
void LLSpeakingIndicatorManager::unregisterSpeakingIndicator(const LLUUID& speaker_id, const LLSpeakingIndicator* const speaking_indicator)
diff --git a/indra/newview/llspeakingindicatormanager.h b/indra/newview/llspeakingindicatormanager.h
index ce0158f7d8..8d7aba1d6c 100644
--- a/indra/newview/llspeakingindicatormanager.h
+++ b/indra/newview/llspeakingindicatormanager.h
@@ -35,10 +35,28 @@
#ifndef LL_LLSPEAKINGINDICATORMANAGER_H
#define LL_LLSPEAKINGINDICATORMANAGER_H
+class SpeakingIndicatorManager;
+
class LLSpeakingIndicator
{
public:
+ virtual ~LLSpeakingIndicator(){}
virtual void switchIndicator(bool switch_on) = 0;
+
+private:
+ friend class SpeakingIndicatorManager;
+ // Accessors for target voice session UUID.
+ // They are intended to be used only from SpeakingIndicatorManager to ensure target session is
+ // the same indicator was registered with.
+ void setTargetSessionID(const LLUUID& session_id) { mTargetSessionID = session_id; }
+ const LLUUID& getTargetSessionID() { return mTargetSessionID; }
+
+ /**
+ * session UUID for which indicator should be shown only.
+ * If it is set, registered indicator will be shown only in voice channel
+ * which has the same session id (EXT-5562).
+ */
+ LLUUID mTargetSessionID;
};
// See EXT-3976.
@@ -52,8 +70,12 @@ namespace LLSpeakingIndicatorManager
*
* @param speaker_id LLUUID of an avatar whose speaker indicator is registered.
* @param speaking_indicator instance of the speaker indicator to be registered.
+ * @param session_id session UUID for which indicator should be shown only.
+ * If this parameter is set registered indicator will be shown only in voice channel
+ * which has the same session id (EXT-5562).
*/
- void registerSpeakingIndicator(const LLUUID& speaker_id, LLSpeakingIndicator* const speaking_indicator);
+ void registerSpeakingIndicator(const LLUUID& speaker_id, LLSpeakingIndicator* const speaking_indicator,
+ const LLUUID& session_id);
/**
* Removes passed speaking indicator from observing.
diff --git a/indra/newview/llsplitbutton.cpp b/indra/newview/llsplitbutton.cpp
index ffd9bc7624..e5323db466 100644
--- a/indra/newview/llsplitbutton.cpp
+++ b/indra/newview/llsplitbutton.cpp
@@ -165,7 +165,7 @@ void LLSplitButton::showButtons()
// register ourselves as a "top" control
// effectively putting us into a special draw layer
- gFocusMgr.setTopCtrl(this);
+ gViewerWindow->addPopup(this);
mItemsPanel->setFocus(TRUE);
@@ -182,10 +182,7 @@ void LLSplitButton::hideButtons()
mArrowBtn->setToggleState(FALSE);
setUseBoundingRect(FALSE);
- if(gFocusMgr.getTopCtrl() == this)
- {
- gFocusMgr.setTopCtrl(NULL);
- }
+ gViewerWindow->removePopup(this);
}
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 516fc7ec93..cdbd9d8eb3 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -122,7 +122,6 @@
#include "lllogininstance.h" // Host the login module.
#include "llpanellogin.h"
#include "llmutelist.h"
-#include "llpanelavatar.h"
#include "llavatarpropertiesprocessor.h"
#include "llfloaterevent.h"
#include "llpanelclassified.h"
@@ -201,10 +200,6 @@
#include "lldxhardware.h"
#endif
-#if (LL_LINUX || LL_SOLARIS) && LL_GTK
-#include <glib/gspawn.h>
-#endif
-
//
// exported globals
//
@@ -2915,7 +2910,9 @@ bool process_login_success_response()
text = response["agent_region_access"].asString();
if (!text.empty())
{
- int preferredMaturity = LLAgent::convertTextToMaturity(text[0]);
+ U32 preferredMaturity =
+ llmin((U32)LLAgent::convertTextToMaturity(text[0]),
+ gSavedSettings.getU32("PreferredMaturity"));
gSavedSettings.setU32("PreferredMaturity", preferredMaturity);
}
// During the AO transition, this flag will be true. Then the flag will
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index e83c882866..9206b4a43a 100644
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -239,20 +239,16 @@ BOOL LLStatusBar::postBuild()
childSetActionTextbox("stat_btn", onClickStatGraph);
- LLView* popup_holder = gViewerWindow->getRootView()->getChildView("popup_holder");
-
mPanelVolumePulldown = new LLPanelVolumePulldown();
- popup_holder->addChild(mPanelVolumePulldown);
+ addChild(mPanelVolumePulldown);
+ mPanelVolumePulldown->setFollows(FOLLOWS_TOP|FOLLOWS_RIGHT);
+ mPanelVolumePulldown->setVisible(FALSE);
mPanelNearByMedia = new LLPanelNearByMedia();
- popup_holder->addChild(mPanelNearByMedia);
- gViewerWindow->getRootView()->addMouseDownCallback(boost::bind(&LLStatusBar::onClickScreen, this, _1, _2));
+ addChild(mPanelNearByMedia);
mPanelNearByMedia->setFollows(FOLLOWS_TOP|FOLLOWS_RIGHT);
mPanelNearByMedia->setVisible(FALSE);
- mPanelVolumePulldown->setFollows(FOLLOWS_TOP|FOLLOWS_RIGHT);
- mPanelVolumePulldown->setVisible(FALSE);
-
return TRUE;
}
@@ -358,12 +354,16 @@ void LLStatusBar::refresh()
bool mute_audio = LLAppViewer::instance()->getMasterSystemAudioMute();
mBtnVolume->setToggleState(mute_audio);
- // Don't show media toggle if there's no media, parcel media, and no parcel audio
- mMediaToggle->setVisible(LLViewerMedia::hasInWorldMedia() || LLViewerMedia::hasParcelMedia() || LLViewerMedia::hasParcelAudio());
+ // Disable media toggle if there's no media, parcel media, and no parcel audio
+ // (or if media is disabled)
+ bool button_enabled = (gSavedSettings.getBOOL("AudioStreamingMusic")||gSavedSettings.getBOOL("AudioStreamingMedia")) &&
+ (LLViewerMedia::hasInWorldMedia() || LLViewerMedia::hasParcelMedia() || LLViewerMedia::hasParcelAudio());
+ mMediaToggle->setEnabled(button_enabled);
// Note the "sense" of the toggle is opposite whether media is playing or not
- mMediaToggle->setValue(! (LLViewerMedia::isAnyMediaShowing() ||
+ bool any_media_playing = (LLViewerMedia::isAnyMediaShowing() ||
LLViewerMedia::isParcelMediaPlaying() ||
- LLViewerMedia::isParcelAudioPlaying()));
+ LLViewerMedia::isParcelAudioPlaying());
+ mMediaToggle->setValue(!any_media_playing);
}
void LLStatusBar::setVisibleForMouselook(bool visible)
@@ -524,11 +524,11 @@ static void onClickScriptDebug(void*)
void LLStatusBar::onMouseEnterVolume()
{
LLButton* volbtn = getChild<LLButton>( "volume_btn" );
- LLRect vol_btn_screen_rect = volbtn->calcScreenRect();
+ LLRect vol_btn_rect = volbtn->getRect();
LLRect volume_pulldown_rect = mPanelVolumePulldown->getRect();
- volume_pulldown_rect.setLeftTopAndSize(vol_btn_screen_rect.mLeft -
- (volume_pulldown_rect.getWidth() - vol_btn_screen_rect.getWidth())/2,
- vol_btn_screen_rect.mBottom,
+ volume_pulldown_rect.setLeftTopAndSize(vol_btn_rect.mLeft -
+ (volume_pulldown_rect.getWidth() - vol_btn_rect.getWidth())/2,
+ vol_btn_rect.mBottom,
volume_pulldown_rect.getWidth(),
volume_pulldown_rect.getHeight());
@@ -536,8 +536,10 @@ void LLStatusBar::onMouseEnterVolume()
// show the master volume pull-down
- mPanelVolumePulldown->setVisible(TRUE);
+ LLUI::clearPopups();
+ LLUI::addPopup(mPanelVolumePulldown);
mPanelNearByMedia->setVisible(FALSE);
+ mPanelVolumePulldown->setVisible(TRUE);
}
void LLStatusBar::onMouseEnterNearbyMedia()
@@ -545,19 +547,22 @@ void LLStatusBar::onMouseEnterNearbyMedia()
LLView* popup_holder = gViewerWindow->getRootView()->getChildView("popup_holder");
LLRect nearby_media_rect = mPanelNearByMedia->getRect();
LLButton* nearby_media_btn = getChild<LLButton>( "media_toggle_btn" );
- LLRect nearby_media_btn_rect = nearby_media_btn->calcScreenRect();
+ LLRect nearby_media_btn_rect = nearby_media_btn->getRect();
nearby_media_rect.setLeftTopAndSize(nearby_media_btn_rect.mLeft -
- (nearby_media_rect.getWidth() - nearby_media_btn_rect.getWidth())/2,
- nearby_media_btn_rect.mBottom,
- nearby_media_rect.getWidth(),
- nearby_media_rect.getHeight());
+ (nearby_media_rect.getWidth() - nearby_media_btn_rect.getWidth())/2,
+ nearby_media_btn_rect.mBottom,
+ nearby_media_rect.getWidth(),
+ nearby_media_rect.getHeight());
// force onscreen
nearby_media_rect.translate(popup_holder->getRect().getWidth() - nearby_media_rect.mRight, 0);
-
+
// show the master volume pull-down
mPanelNearByMedia->setShape(nearby_media_rect);
- mPanelNearByMedia->setVisible(TRUE);
+ LLUI::clearPopups();
+ LLUI::addPopup(mPanelNearByMedia);
+
mPanelVolumePulldown->setVisible(FALSE);
+ mPanelNearByMedia->setVisible(TRUE);
}
@@ -646,18 +651,6 @@ void LLStatusBar::onClickStatGraph(void* data)
LLFloaterReg::showInstance("lagmeter");
}
-void LLStatusBar::onClickScreen(S32 x, S32 y)
-{
- if (mPanelNearByMedia->getVisible())
- {
- LLRect screen_rect = mPanelNearByMedia->calcScreenRect();
- if (!screen_rect.pointInRect(x, y))
- {
- mPanelNearByMedia->setVisible(FALSE);
- }
- }
-}
-
BOOL can_afford_transaction(S32 cost)
{
return((cost <= 0)||((gStatusBar) && (gStatusBar->getBalance() >=cost)));
diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp
index 127b4265ca..66373feb93 100644
--- a/indra/newview/llsyswellwindow.cpp
+++ b/indra/newview/llsyswellwindow.cpp
@@ -211,22 +211,25 @@ void LLSysWellWindow::reshapeWindow()
// it includes height from floater top to list top and from floater bottom and list bottom
static S32 parent_list_delta_height = getRect().getHeight() - mMessageList->getRect().getHeight();
- S32 notif_list_height = mMessageList->getItemsRect().getHeight() + 2 * mMessageList->getBorderWidth();
+ if (isDocked()) // Don't reshape undocked Well window. See EXT-5715.
+ {
+ S32 notif_list_height = mMessageList->getItemsRect().getHeight() + 2 * mMessageList->getBorderWidth();
- LLRect curRect = getRect();
+ LLRect curRect = getRect();
- S32 new_window_height = notif_list_height + parent_list_delta_height;
+ S32 new_window_height = notif_list_height + parent_list_delta_height;
- if (new_window_height > MAX_WINDOW_HEIGHT)
- {
- new_window_height = MAX_WINDOW_HEIGHT;
- }
- S32 newY = curRect.mTop + new_window_height - curRect.getHeight();
- S32 newWidth = curRect.getWidth() < MIN_WINDOW_WIDTH ? MIN_WINDOW_WIDTH
+ if (new_window_height > MAX_WINDOW_HEIGHT)
+ {
+ new_window_height = MAX_WINDOW_HEIGHT;
+ }
+ S32 newY = curRect.mTop + new_window_height - curRect.getHeight();
+ S32 newWidth = curRect.getWidth() < MIN_WINDOW_WIDTH ? MIN_WINDOW_WIDTH
: curRect.getWidth();
- curRect.setLeftTopAndSize(curRect.mLeft, newY, newWidth, new_window_height);
- reshape(curRect.getWidth(), curRect.getHeight(), TRUE);
- setRect(curRect);
+ curRect.setLeftTopAndSize(curRect.mLeft, newY, newWidth, new_window_height);
+ reshape(curRect.getWidth(), curRect.getHeight(), TRUE);
+ setRect(curRect);
+ }
// update notification channel state
// update on a window reshape is important only when a window is visible and docked
diff --git a/indra/newview/lltexlayer.cpp b/indra/newview/lltexlayer.cpp
index 662e6dcabe..6ed95f2cbf 100644
--- a/indra/newview/lltexlayer.cpp
+++ b/indra/newview/lltexlayer.cpp
@@ -1130,7 +1130,8 @@ LLTexLayerInterface::LLTexLayerInterface(LLTexLayerSet* const layer_set):
}
LLTexLayerInterface::LLTexLayerInterface(const LLTexLayerInterface &layer, LLWearable *wearable):
- mTexLayerSet( layer.mTexLayerSet )
+ mTexLayerSet( layer.mTexLayerSet ),
+ mInfo(NULL)
{
// don't add visual params for cloned layers
setInfo(layer.getInfo(), wearable);
@@ -1140,11 +1141,12 @@ LLTexLayerInterface::LLTexLayerInterface(const LLTexLayerInterface &layer, LLWea
BOOL LLTexLayerInterface::setInfo(const LLTexLayerInfo *info, LLWearable* wearable ) // This sets mInfo and calls initialization functions
{
- //llassert(mInfo == NULL); // nyx says this is probably bogus but needs investigating
- if (mInfo != NULL) // above llassert(), but softened into a warning
- {
- llwarns << "BAD STUFF! mInfo != NULL" << llendl;
- }
+ // setInfo should only be called once. Code is not robust enough to handle redefinition of a texlayer.
+ // Not a critical warning, but could be useful for debugging later issues. -Nyx
+ if (mInfo != NULL)
+ {
+ llwarns << "mInfo != NULL" << llendl;
+ }
mInfo = info;
//mID = info->mID; // No ID
diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp
index 91c303c79e..3116c8feb0 100644
--- a/indra/newview/lltexturecache.cpp
+++ b/indra/newview/lltexturecache.cpp
@@ -750,6 +750,7 @@ LLTextureCache::LLTextureCache(bool threaded)
LLTextureCache::~LLTextureCache()
{
+ clearDeleteList() ;
}
//////////////////////////////////////////////////////////////////////////////
@@ -1574,6 +1575,11 @@ bool LLTextureCache::readComplete(handle_t handle, bool abort)
{
worker = iter->second;
complete = worker->complete();
+
+ if(!complete && abort)
+ {
+ abortRequest(handle, true) ;
+ }
}
if (worker && (complete || abort))
{
diff --git a/indra/newview/lltexturectrl.h b/indra/newview/lltexturectrl.h
index 8ca92c3d87..837f837430 100644
--- a/indra/newview/lltexturectrl.h
+++ b/indra/newview/lltexturectrl.h
@@ -183,6 +183,8 @@ public:
void setShowLoadingPlaceholder(BOOL showLoadingPlaceholder);
+ LLViewerFetchedTexture* getTexture() { return mTexturep; }
+
private:
BOOL allowDrop(LLInventoryItem* item);
BOOL doDrop(LLInventoryItem* item);
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index 6c35464a51..b1b3ae473c 100644
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -431,11 +431,11 @@ LLTextureFetchWorker::~LLTextureFetchWorker()
// << " Desired=" << mDesiredDiscard << llendl;
llassert_always(!haveWork());
lockWorkMutex();
- if (mCacheReadHandle != LLTextureCache::nullHandle())
+ if (mCacheReadHandle != LLTextureCache::nullHandle() && mFetcher->mTextureCache)
{
mFetcher->mTextureCache->readComplete(mCacheReadHandle, true);
}
- if (mCacheWriteHandle != LLTextureCache::nullHandle())
+ if (mCacheWriteHandle != LLTextureCache::nullHandle() && mFetcher->mTextureCache)
{
mFetcher->mTextureCache->writeComplete(mCacheWriteHandle, true);
}
@@ -491,7 +491,7 @@ U32 LLTextureFetchWorker::calcWorkPriority()
//llassert_always(mImagePriority >= 0 && mImagePriority <= LLViewerFetchedTexture::maxDecodePriority());
static const F32 PRIORITY_SCALE = (F32)LLWorkerThread::PRIORITY_LOWBITS / LLViewerFetchedTexture::maxDecodePriority();
- mWorkPriority = (U32)(mImagePriority * PRIORITY_SCALE);
+ mWorkPriority = llmin((U32)LLWorkerThread::PRIORITY_LOWBITS, (U32)(mImagePriority * PRIORITY_SCALE));
return mWorkPriority;
}
@@ -1429,6 +1429,8 @@ LLTextureFetch::LLTextureFetch(LLTextureCache* cache, LLImageDecodeThread* image
LLTextureFetch::~LLTextureFetch()
{
+ clearDeleteList() ;
+
// ~LLQueuedThread() called here
}
@@ -1737,6 +1739,26 @@ S32 LLTextureFetch::update(U32 max_time_ms)
return res;
}
+//called in the MAIN thread after the TextureCacheThread shuts down.
+void LLTextureFetch::shutDownTextureCacheThread()
+{
+ if(mTextureCache)
+ {
+ llassert_always(mTextureCache->isQuitting() || mTextureCache->isStopped()) ;
+ mTextureCache = NULL ;
+ }
+}
+
+//called in the MAIN thread after the ImageDecodeThread shuts down.
+void LLTextureFetch::shutDownImageDecodeThread()
+{
+ if(mImageDecodeThread)
+ {
+ llassert_always(mImageDecodeThread->isQuitting() || mImageDecodeThread->isStopped()) ;
+ mImageDecodeThread = NULL ;
+ }
+}
+
// WORKER THREAD
void LLTextureFetch::startThread()
{
diff --git a/indra/newview/lltexturefetch.h b/indra/newview/lltexturefetch.h
index 5213c4f488..ef2ec520bf 100644
--- a/indra/newview/lltexturefetch.h
+++ b/indra/newview/lltexturefetch.h
@@ -58,6 +58,8 @@ public:
~LLTextureFetch();
/*virtual*/ S32 update(U32 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.
bool createRequest(const std::string& url, const LLUUID& id, const LLHost& host, F32 priority,
S32 w, S32 h, S32 c, S32 discard, bool needs_aux);
diff --git a/indra/newview/lltoast.cpp b/indra/newview/lltoast.cpp
index 110d158e2d..60a89c02e4 100644
--- a/indra/newview/lltoast.cpp
+++ b/indra/newview/lltoast.cpp
@@ -68,12 +68,17 @@ LLToast::LLToast(const LLToast::Params& p)
mNotification(p.notification),
mIsHidden(false),
mHideBtnPressed(false),
- mIsTip(p.is_tip)
+ mIsTip(p.is_tip),
+ mWrapperPanel(NULL)
{
LLUICtrlFactory::getInstance()->buildFloater(this, "panel_toast.xml", NULL);
setCanDrag(FALSE);
+ mWrapperPanel = getChild<LLPanel>("wrapper_panel");
+ mWrapperPanel->setMouseEnterCallback(boost::bind(&LLToast::onToastMouseEnter, this));
+ mWrapperPanel->setMouseLeaveCallback(boost::bind(&LLToast::onToastMouseLeave, this));
+
if(mPanel)
{
insertPanel(mPanel);
@@ -83,6 +88,8 @@ LLToast::LLToast(const LLToast::Params& p)
{
mHideBtn = getChild<LLButton>("hide_btn");
mHideBtn->setClickedCallback(boost::bind(&LLToast::hide,this));
+ mHideBtn->setMouseEnterCallback(boost::bind(&LLToast::onToastMouseEnter, this));
+ mHideBtn->setMouseLeaveCallback(boost::bind(&LLToast::onToastMouseLeave, this));
}
// init callbacks if present
@@ -174,6 +181,42 @@ void LLToast::hide()
mOnFadeSignal(this);
}
+void LLToast::onFocusLost()
+{
+ if(mWrapperPanel && !isBackgroundVisible())
+ {
+ // Lets make wrapper panel behave like a floater
+ setBackgroundOpaque(FALSE);
+ }
+}
+
+void LLToast::onFocusReceived()
+{
+ if(mWrapperPanel && !isBackgroundVisible())
+ {
+ // Lets make wrapper panel behave like a floater
+ setBackgroundOpaque(TRUE);
+ }
+}
+
+S32 LLToast::getTopPad()
+{
+ if(mWrapperPanel)
+ {
+ return getRect().getHeight() - mWrapperPanel->getRect().getHeight();
+ }
+ return 0;
+}
+
+S32 LLToast::getRightPad()
+{
+ if(mWrapperPanel)
+ {
+ return getRect().getWidth() - mWrapperPanel->getRect().getWidth();
+ }
+ return 0;
+}
+
//--------------------------------------------------------------------------
void LLToast::setCanFade(bool can_fade)
{
@@ -199,22 +242,21 @@ void LLToast::reshapeToPanel()
if(!panel)
return;
- LLRect panel_rect;
+ LLRect panel_rect = panel->getRect();
- panel_rect = panel->getRect();
- reshape(panel_rect.getWidth(), panel_rect.getHeight());
panel_rect.setLeftTopAndSize(0, panel_rect.getHeight(), panel_rect.getWidth(), panel_rect.getHeight());
- panel->setRect(panel_rect);
+ panel->setShape(panel_rect);
LLRect toast_rect = getRect();
- toast_rect.setLeftTopAndSize(toast_rect.mLeft,toast_rect.mTop,panel_rect.getWidth(), panel_rect.getHeight());
- setRect(toast_rect);
+ toast_rect.setLeftTopAndSize(toast_rect.mLeft, toast_rect.mTop,
+ panel_rect.getWidth() + getRightPad(), panel_rect.getHeight() + getTopPad());
+ setShape(toast_rect);
}
void LLToast::insertPanel(LLPanel* panel)
{
- addChild(panel);
+ mWrapperPanel->addChild(panel);
reshapeToPanel();
}
@@ -227,6 +269,19 @@ void LLToast::draw()
}
LLFloater::draw();
+
+ if(!isBackgroundVisible())
+ {
+ // Floater background is invisible, lets make wrapper panel look like a
+ // floater - draw shadow.
+ drawShadow(mWrapperPanel);
+
+ // Shadow will probably overlap close button, lets redraw the button
+ if(mHideBtn)
+ {
+ drawChild(mHideBtn);
+ }
+ }
}
//--------------------------------------------------------------------------
@@ -261,43 +316,78 @@ void LLToast::setVisible(BOOL show)
}
}
-//--------------------------------------------------------------------------
-void LLToast::onMouseEnter(S32 x, S32 y, MASK mask)
+void LLToast::onToastMouseEnter()
{
- mOnToastHoverSignal(this, MOUSE_ENTER);
+ LLRect panel_rc = mWrapperPanel->calcScreenRect();
+ LLRect button_rc;
+ if(mHideBtn)
+ {
+ button_rc = mHideBtn->calcScreenRect();
+ }
- setBackgroundOpaque(TRUE);
+ S32 x, y;
+ LLUI::getMousePositionScreen(&x, &y);
- //toasts fading is management by Screen Channel
-
- sendChildToFront(mHideBtn);
- if(mHideBtn && mHideBtn->getEnabled())
- mHideBtn->setVisible(TRUE);
- mOnMouseEnterSignal(this);
+ if(panel_rc.pointInRect(x, y) || button_rc.pointInRect(x, y))
+ {
+ mOnToastHoverSignal(this, MOUSE_ENTER);
+
+ setBackgroundOpaque(TRUE);
+
+ //toasts fading is management by Screen Channel
- LLModalDialog::onMouseEnter(x, y, mask);
+ sendChildToFront(mHideBtn);
+ if(mHideBtn && mHideBtn->getEnabled())
+ {
+ mHideBtn->setVisible(TRUE);
+ }
+ mOnMouseEnterSignal(this);
+ mToastMouseEnterSignal(this, getValue());
+ }
}
-//--------------------------------------------------------------------------
-void LLToast::onMouseLeave(S32 x, S32 y, MASK mask)
-{
- mOnToastHoverSignal(this, MOUSE_LEAVE);
+void LLToast::onToastMouseLeave()
+{
+ LLRect panel_rc = mWrapperPanel->calcScreenRect();
+ LLRect button_rc;
+ if(mHideBtn)
+ {
+ button_rc = mHideBtn->calcScreenRect();
+ }
- //toasts fading is management by Screen Channel
+ S32 x, y;
+ LLUI::getMousePositionScreen(&x, &y);
- if(mHideBtn && mHideBtn->getEnabled())
+ if( !panel_rc.pointInRect(x, y) && !button_rc.pointInRect(x, y))
{
- if( mHideBtnPressed )
+ mOnToastHoverSignal(this, MOUSE_LEAVE);
+
+ //toasts fading is management by Screen Channel
+
+ if(mHideBtn && mHideBtn->getEnabled())
{
- mHideBtnPressed = false;
- return;
+ if( mHideBtnPressed )
+ {
+ mHideBtnPressed = false;
+ return;
+ }
+ mHideBtn->setVisible(FALSE);
}
- mHideBtn->setVisible(FALSE);
+ mToastMouseLeaveSignal(this, getValue());
}
-
- LLModalDialog::onMouseLeave(x, y, mask);
}
+void LLToast::setBackgroundOpaque(BOOL b)
+{
+ if(mWrapperPanel && !isBackgroundVisible())
+ {
+ mWrapperPanel->setBackgroundOpaque(b);
+ }
+ else
+ {
+ LLModalDialog::setBackgroundOpaque(b);
+ }
+}
void LLNotificationsUI::LLToast::stopFading()
{
@@ -315,6 +405,13 @@ void LLNotificationsUI::LLToast::startFading()
}
}
+bool LLToast::isHovered()
+{
+ S32 x, y;
+ LLUI::getMousePositionScreen(&x, &y);
+ return mWrapperPanel->calcScreenRect().pointInRect(x, y);
+}
+
//--------------------------------------------------------------------------
BOOL LLToast::handleMouseDown(S32 x, S32 y, MASK mask)
diff --git a/indra/newview/lltoast.h b/indra/newview/lltoast.h
index 3d25fd4f02..64855020a9 100644
--- a/indra/newview/lltoast.h
+++ b/indra/newview/lltoast.h
@@ -86,8 +86,6 @@ public:
// Toast handlers
virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask);
- virtual void onMouseEnter(S32 x, S32 y, MASK mask);
- virtual void onMouseLeave(S32 x, S32 y, MASK mask);
//Fading
@@ -97,6 +95,7 @@ public:
/** Start fading timer */
virtual void startFading();
+ bool isHovered();
// Operating with toasts
// insert a panel to a toast
@@ -118,10 +117,22 @@ public:
virtual void draw();
//
virtual void setVisible(BOOL show);
+
+ /*virtual*/ void setBackgroundOpaque(BOOL b);
//
virtual void hide();
+ /*virtual*/ void onFocusLost();
+
+ /*virtual*/ void onFocusReceived();
+ /**
+ * Returns padding between floater top and wrapper_panel top.
+ * This padding should be taken into account when positioning or reshaping toasts
+ */
+ S32 getTopPad();
+
+ S32 getRightPad();
// get/set Toast's flags or states
// get information whether the notification corresponding to the toast is valid or not
@@ -154,9 +165,15 @@ public:
toast_hover_check_signal_t mOnToastHoverSignal;
boost::signals2::connection setOnToastHoverCallback(toast_hover_check_callback_t cb) { return mOnToastHoverSignal.connect(cb); }
+ boost::signals2::connection setMouseEnterCallback( const commit_signal_t::slot_type& cb ) { return mToastMouseEnterSignal.connect(cb); };
+ boost::signals2::connection setMouseLeaveCallback( const commit_signal_t::slot_type& cb ) { return mToastMouseLeaveSignal.connect(cb); };
private:
+ void onToastMouseEnter();
+
+ void onToastMouseLeave();
+
void handleTipToastClick(S32 x, S32 y, MASK mask);
// check timer
@@ -168,6 +185,8 @@ private:
LLUUID mSessionID;
LLNotificationPtr mNotification;
+ LLPanel* mWrapperPanel;
+
// timer counts a lifetime of a toast
LLTimer mTimer;
F32 mToastLifetime; // in seconds
@@ -184,6 +203,9 @@ private:
bool mHideBtnPressed;
bool mIsHidden; // this flag is TRUE when a toast has faded or was hidden with (x) button (EXT-1849)
bool mIsTip;
+
+ commit_signal_t mToastMouseEnterSignal;
+ commit_signal_t mToastMouseLeaveSignal;
};
}
diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp
index ef3535042c..c47c017143 100644
--- a/indra/newview/lltoastnotifypanel.cpp
+++ b/indra/newview/lltoastnotifypanel.cpp
@@ -346,4 +346,7 @@ void LLToastNotifyPanel::onClickButton(void* data)
response[button_name] = true;
}
self->mNotification->respond(response);
+
+ // disable all buttons
+ self->mControlPanel->setEnabled(FALSE);
}
diff --git a/indra/newview/lltoastnotifypanel.h b/indra/newview/lltoastnotifypanel.h
index 3d57c50386..e791eea469 100644
--- a/indra/newview/lltoastnotifypanel.h
+++ b/indra/newview/lltoastnotifypanel.h
@@ -55,6 +55,7 @@ class LLToastNotifyPanel: public LLToastPanel
public:
LLToastNotifyPanel(LLNotificationPtr&);
virtual ~LLToastNotifyPanel();
+ LLPanel * getControlPanel() { return mControlPanel; }
protected:
LLButton* createButton(const LLSD& form_element, BOOL is_option);
diff --git a/indra/newview/lltoolmorph.cpp b/indra/newview/lltoolmorph.cpp
index 4fb75f7a49..5f825b461e 100644
--- a/indra/newview/lltoolmorph.cpp
+++ b/indra/newview/lltoolmorph.cpp
@@ -167,13 +167,16 @@ BOOL LLVisualParamHint::render()
LLVisualParamReset::sDirty = TRUE;
LLVOAvatar* avatarp = gAgent.getAvatarObject();
+ gGL.pushUIMatrix();
+ gGL.loadUIIdentity();
+
glMatrixMode(GL_PROJECTION);
- glPushMatrix();
+ gGL.pushMatrix();
glLoadIdentity();
glOrtho(0.0f, mFullWidth, 0.0f, mFullHeight, -1.0f, 1.0f);
glMatrixMode(GL_MODELVIEW);
- glPushMatrix();
+ gGL.pushMatrix();
glLoadIdentity();
LLGLSUIDefault gls_ui;
@@ -181,10 +184,10 @@ BOOL LLVisualParamHint::render()
mBackgroundp->draw(0, 0, mFullWidth, mFullHeight);
glMatrixMode(GL_PROJECTION);
- glPopMatrix();
+ gGL.popMatrix();
glMatrixMode(GL_MODELVIEW);
- glPopMatrix();
+ gGL.popMatrix();
mNeedsUpdate = FALSE;
mIsVisible = TRUE;
@@ -247,6 +250,7 @@ BOOL LLVisualParamHint::render()
mVisualParam->setWeight(mLastParamWeight, FALSE);
gGL.color4f(1,1,1,1);
mGLTexturep->setGLTextureCreated(true);
+ gGL.popUIMatrix();
return TRUE;
}
diff --git a/indra/newview/lluploaddialog.cpp b/indra/newview/lluploaddialog.cpp
index 577b5952e5..22c7d670f8 100644
--- a/indra/newview/lluploaddialog.cpp
+++ b/indra/newview/lluploaddialog.cpp
@@ -91,7 +91,7 @@ LLUploadDialog::LLUploadDialog( const std::string& msg)
setMessage(msg);
// The dialog view is a root view
- gFocusMgr.setTopCtrl( this );
+ gViewerWindow->addPopup(this);
}
void LLUploadDialog::setMessage( const std::string& msg)
diff --git a/indra/newview/llviewercamera.cpp b/indra/newview/llviewercamera.cpp
index bd4f172907..0051f46716 100644
--- a/indra/newview/llviewercamera.cpp
+++ b/indra/newview/llviewercamera.cpp
@@ -338,7 +338,12 @@ void LLViewerCamera::setPerspective(BOOL for_selection,
{
// make a tiny little viewport
// anything drawn into this viewport will be "selected"
- GLint* viewport = (GLint*) gGLViewport;
+
+ GLint viewport[4];
+ viewport[0] = gViewerWindow->getWorldViewRectRaw().mLeft;
+ viewport[1] = gViewerWindow->getWorldViewRectRaw().mBottom;
+ viewport[2] = gViewerWindow->getWorldViewRectRaw().getWidth();
+ viewport[3] = gViewerWindow->getWorldViewRectRaw().getHeight();
proj_mat = gl_pick_matrix(x+width/2.f, y_from_bot+height/2.f, (GLfloat) width, (GLfloat) height, viewport);
@@ -405,6 +410,9 @@ void LLViewerCamera::setPerspective(BOOL for_selection,
if (for_selection && (width > 1 || height > 1))
{
+ // NB: as of this writing, i believe the code below is broken (doesn't take into account the world view, assumes entire window)
+ // however, it is also unused (the GL matricies are used for selection, (see LLCamera::sphereInFrustum())) and so i'm not
+ // comfortable hacking on it.
calculateFrustumPlanesFromWindow((F32)(x - width / 2) / (F32)gViewerWindow->getWindowWidthScaled() - 0.5f,
(F32)(y_from_bot - height / 2) / (F32)gViewerWindow->getWindowHeightScaled() - 0.5f,
(F32)(x + width / 2) / (F32)gViewerWindow->getWindowWidthScaled() - 0.5f,
diff --git a/indra/newview/llviewerchat.cpp b/indra/newview/llviewerchat.cpp
index 8de87eb602..320456e1e2 100644
--- a/indra/newview/llviewerchat.cpp
+++ b/indra/newview/llviewerchat.cpp
@@ -37,6 +37,7 @@
#include "llagent.h" // gAgent
#include "lluicolortable.h"
#include "llviewercontrol.h" // gSavedSettings
+#include "llinstantmessage.h" //SYSTEM_FROM
// LLViewerChat
@@ -55,7 +56,7 @@ void LLViewerChat::getChatColor(const LLChat& chat, LLColor4& r_color)
r_color = LLUIColorTable::instance().getColor("SystemChatColor");
break;
case CHAT_SOURCE_AGENT:
- if (chat.mFromID.isNull())
+ if (chat.mFromID.isNull() || SYSTEM_FROM == chat.mFromName)
{
r_color = LLUIColorTable::instance().getColor("SystemChatColor");
}
diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp
index 64eabe65cf..5daea96123 100644
--- a/indra/newview/llviewercontrol.cpp
+++ b/indra/newview/llviewercontrol.cpp
@@ -510,6 +510,7 @@ void settings_setup_listeners()
gSavedSettings.getControl("FirstPersonAvatarVisible")->getSignal()->connect(boost::bind(&handleRenderAvatarMouselookChanged, _2));
gSavedSettings.getControl("RenderFarClip")->getSignal()->connect(boost::bind(&handleRenderFarClipChanged, _2));
gSavedSettings.getControl("RenderTerrainDetail")->getSignal()->connect(boost::bind(&handleTerrainDetailChanged, _2));
+ gSavedSettings.getControl("RenderUseTriStrips")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _2));
gSavedSettings.getControl("RenderAnimateTrees")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _2));
gSavedSettings.getControl("RenderAvatarVP")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));
gSavedSettings.getControl("VertexShaderEnable")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp
index b0a143438b..9682dc7af8 100644
--- a/indra/newview/llviewerdisplay.cpp
+++ b/indra/newview/llviewerdisplay.cpp
@@ -113,7 +113,6 @@ void render_hud_attachments();
void render_ui_3d();
void render_ui_2d();
void render_disconnected_background();
-void render_hud_elements();
void display_startup()
{
@@ -990,6 +989,7 @@ void render_hud_attachments()
LLSpatialGroup::sNoDelete = FALSE;
render_hud_elements();
+
//restore type mask
gPipeline.setRenderTypeMask(mask);
if (has_ui)
@@ -1129,7 +1129,6 @@ void render_ui(F32 zoom_factor, int subfield)
}
{
-
gGL.color4f(1,1,1,1);
if (gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI))
{
diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp
index 8370c98470..65e9d8971a 100644
--- a/indra/newview/llviewerfloaterreg.cpp
+++ b/indra/newview/llviewerfloaterreg.cpp
@@ -117,6 +117,7 @@
#include "llmoveview.h"
#include "llnearbychat.h"
#include "llpanelblockedlist.h"
+#include "llpanelclassified.h"
#include "llpreviewanim.h"
#include "llpreviewgesture.h"
#include "llpreviewnotecard.h"
@@ -219,6 +220,7 @@ void LLViewerFloaterReg::registerFloaters()
LLFloaterReg::add("preview_sound", "floater_preview_sound.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLPreviewSound>, "preview");
LLFloaterReg::add("preview_texture", "floater_preview_texture.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLPreviewTexture>, "preview");
LLFloaterReg::add("properties", "floater_inventory_item_properties.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterProperties>);
+ LLFloaterReg::add("publish_classified", "floater_publish_classified.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLPublishClassifiedFloater>);
LLFloaterReg::add("telehubs", "floater_telehub.xml",&LLFloaterReg::build<LLFloaterTelehub>);
LLFloaterReg::add("test_inspectors", "floater_test_inspectors.xml",
diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp
index e91451d7c6..4d6756c573 100644
--- a/indra/newview/llviewerinventory.cpp
+++ b/indra/newview/llviewerinventory.cpp
@@ -48,6 +48,7 @@
#include "llsidetray.h"
#include "llinventorybridge.h"
+#include "llinventorypanel.h"
#include "llfloaterinventory.h"
#include "llviewerassettype.h"
@@ -525,7 +526,7 @@ bool LLViewerInventoryCategory::fetchDescendents()
// 2 = folders by date
// Need to mask off anything but the first bit.
// This comes from LLInventoryFilter from llfolderview.h
- U32 sort_order = gSavedSettings.getU32("InventorySortOrder") & 0x1;
+ U32 sort_order = gSavedSettings.getU32(LLInventoryPanel::DEFAULT_SORT_ORDER) & 0x1;
// *NOTE: For bug EXT-2879, originally commented out
// gAgent.getRegion()->getCapability in order to use the old
@@ -1165,6 +1166,40 @@ const LLUUID& LLViewerInventoryItem::getAssetUUID() const
return LLInventoryItem::getAssetUUID();
}
+const LLUUID& LLViewerInventoryItem::getProtectedAssetUUID() const
+{
+ if (const LLViewerInventoryItem *linked_item = getLinkedItem())
+ {
+ return linked_item->getProtectedAssetUUID();
+ }
+
+ // check for conditions under which we may return a visible UUID to the user
+ bool item_is_fullperm = getIsFullPerm();
+ bool agent_is_godlike = gAgent.isGodlikeWithoutAdminMenuFakery();
+ if (item_is_fullperm || agent_is_godlike)
+ {
+ return LLInventoryItem::getAssetUUID();
+ }
+
+ return LLUUID::null;
+}
+
+const bool LLViewerInventoryItem::getIsFullPerm() const
+{
+ LLPermissions item_permissions = getPermissions();
+
+ // modify-ok & copy-ok & transfer-ok
+ return ( item_permissions.allowOperationBy(PERM_MODIFY,
+ gAgent.getID(),
+ gAgent.getGroupID()) &&
+ item_permissions.allowOperationBy(PERM_COPY,
+ gAgent.getID(),
+ gAgent.getGroupID()) &&
+ item_permissions.allowOperationBy(PERM_TRANSFER,
+ gAgent.getID(),
+ gAgent.getGroupID()) );
+}
+
const std::string& LLViewerInventoryItem::getName() const
{
if (const LLViewerInventoryItem *linked_item = getLinkedItem())
diff --git a/indra/newview/llviewerinventory.h b/indra/newview/llviewerinventory.h
index 278786796d..f86f8f1f5b 100644
--- a/indra/newview/llviewerinventory.h
+++ b/indra/newview/llviewerinventory.h
@@ -63,10 +63,12 @@ protected:
public:
virtual LLAssetType::EType getType() const;
virtual const LLUUID& getAssetUUID() const;
+ virtual const LLUUID& getProtectedAssetUUID() const; // returns LLUUID::null if current agent does not have permission to expose this asset's UUID to the user
virtual const std::string& getName() const;
virtual S32 getSortField() const;
virtual void setSortField(S32 sortField);
virtual const LLPermissions& getPermissions() const;
+ virtual const bool getIsFullPerm() const; // 'fullperm' in the popular sense: modify-ok & copy-ok & transfer-ok, no special god rules applied
virtual const LLUUID& getCreatorUUID() const;
virtual const std::string& getDescription() const;
virtual const LLSaleInfo& getSaleInfo() const;
diff --git a/indra/newview/llviewerjointmesh.cpp b/indra/newview/llviewerjointmesh.cpp
index 1a67fc0966..7225aa1523 100644
--- a/indra/newview/llviewerjointmesh.cpp
+++ b/indra/newview/llviewerjointmesh.cpp
@@ -626,7 +626,7 @@ U32 LLViewerJointMesh::drawShape( F32 pixelArea, BOOL first_pass, BOOL is_dummy)
mFace->mVertexBuffer->drawRange(LLRender::TRIANGLES, start, end, count, offset);
glPopMatrix();
}
- gPipeline.addTrianglesDrawn(count/3);
+ gPipeline.addTrianglesDrawn(count);
triangle_count += count;
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index 395467dffb..8acd343cf5 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -700,9 +700,9 @@ void LLViewerMedia::updateMedia(void *dummy_arg)
impl_list::iterator iter = sViewerMediaImplList.begin();
impl_list::iterator end = sViewerMediaImplList.end();
- for(; iter != end; iter++)
+ for(; iter != end;)
{
- LLViewerMediaImpl* pimpl = *iter;
+ LLViewerMediaImpl* pimpl = *iter++;
pimpl->update();
pimpl->calculateInterest();
}
@@ -722,6 +722,7 @@ void LLViewerMedia::updateMedia(void *dummy_arg)
std::vector<LLViewerMediaImpl*> proximity_order;
bool inworld_media_enabled = gSavedSettings.getBOOL("AudioStreamingMedia");
+ bool inworld_audio_enabled = gSavedSettings.getBOOL("AudioStreamingMusic");
U32 max_instances = gSavedSettings.getU32("PluginInstancesTotal");
U32 max_normal = gSavedSettings.getU32("PluginInstancesNormal");
U32 max_low = gSavedSettings.getU32("PluginInstancesLow");
@@ -849,7 +850,14 @@ void LLViewerMedia::updateMedia(void *dummy_arg)
new_priority = LLPluginClassMedia::PRIORITY_UNLOADED;
}
}
-
+ // update the audio stream here as well
+ if( !inworld_audio_enabled)
+ {
+ if(LLViewerMedia::isParcelAudioPlaying() && gAudiop && LLViewerMedia::hasParcelAudio())
+ {
+ gAudiop->stopInternetStream();
+ }
+ }
pimpl->setPriority(new_priority);
if(pimpl->getUsedInUI())
@@ -944,7 +952,10 @@ void LLViewerMedia::setAllMediaEnabled(bool val)
LLViewerParcelMedia::play(LLViewerParcelMgr::getInstance()->getAgentParcel());
}
- if (!LLViewerMedia::isParcelAudioPlaying() && gAudiop && LLViewerMedia::hasParcelAudio())
+ if (gSavedSettings.getBOOL("AudioStreamingMusic") &&
+ !LLViewerMedia::isParcelAudioPlaying() &&
+ gAudiop &&
+ LLViewerMedia::hasParcelAudio())
{
gAudiop->startInternetStream(LLViewerMedia::getParcelAudioURL());
}
@@ -972,7 +983,6 @@ bool LLViewerMedia::isParcelAudioPlaying()
bool LLViewerMedia::hasInWorldMedia()
{
- if (! gSavedSettings.getBOOL("AudioStreamingMedia")) return false;
if (sInWorldMediaDisabled) return false;
impl_list::iterator iter = sViewerMediaImplList.begin();
impl_list::iterator end = sViewerMediaImplList.end();
@@ -1219,6 +1229,19 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_
std::string user_data_path = gDirUtilp->getOSUserAppDir();
user_data_path += gDirUtilp->getDirDelimiter();
+ // Fix for EXT-5960 - make browser profile specific to user (cache, cookies etc.)
+ // If the linden username returned is blank, that can only mean we are
+ // at the login page displaying login Web page or Web browser test via Develop menu.
+ // In this case we just use whatever gDirUtilp->getOSUserAppDir() gives us (this
+ // is what we always used before this change)
+ std::string linden_user_dir = gDirUtilp->getLindenUserDir();
+ if ( ! linden_user_dir.empty() )
+ {
+ // gDirUtilp->getLindenUserDir() is whole path, not just Linden name
+ user_data_path = linden_user_dir;
+ user_data_path += gDirUtilp->getDirDelimiter();
+ };
+
// See if the plugin executable exists
llstat s;
if(LLFile::stat(launcher_name, &s))
diff --git a/indra/newview/llviewermediafocus.cpp b/indra/newview/llviewermediafocus.cpp
index 88e7cfec86..b8179f7fc2 100644
--- a/indra/newview/llviewermediafocus.cpp
+++ b/indra/newview/llviewermediafocus.cpp
@@ -126,7 +126,7 @@ void LLViewerMediaFocus::setFocusFace(LLPointer<LLViewerObject> objectp, S32 fac
if(face_auto_zoom && ! parcel->getMediaPreventCameraZoom())
{
// Zoom in on this face
- mMediaControls.get()->resetZoomLevel();
+ mMediaControls.get()->resetZoomLevel(false);
mMediaControls.get()->nextZoomLevel();
}
else
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 7438ba6dc5..cb6844f9df 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -45,6 +45,7 @@
#include "llagent.h"
#include "llagentwearables.h"
#include "llagentpilot.h"
+#include "llbottomtray.h"
#include "llcompilequeue.h"
#include "llconsole.h"
#include "lldebugview.h"
@@ -4365,35 +4366,22 @@ bool visible_take_object()
return !is_selection_buy_not_take() && enable_take();
}
+bool tools_visible_buy_object()
+{
+ return is_selection_buy_not_take();
+}
+
+bool tools_visible_take_object()
+{
+ return !is_selection_buy_not_take();
+}
+
class LLToolsEnableBuyOrTake : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
bool is_buy = is_selection_buy_not_take();
bool new_value = is_buy ? enable_buy_object() : enable_take();
-
- // Update label
- std::string label;
- std::string buy_text;
- std::string take_text;
- std::string param = userdata.asString();
- std::string::size_type offset = param.find(",");
- if (offset != param.npos)
- {
- buy_text = param.substr(0, offset);
- take_text = param.substr(offset+1);
- }
- if (is_buy)
- {
- label = buy_text;
- }
- else
- {
- label = take_text;
- }
- gMenuHolder->childSetText("Pie Object Take", label);
- gMenuHolder->childSetText("Menu Object Take", label);
-
return new_value;
}
};
@@ -5457,6 +5445,37 @@ bool enable_pay_object()
return false;
}
+bool visible_object_stand_up()
+{
+ // 'Object Stand Up' menu item is visible when agent is sitting on selection
+ return sitting_on_selection();
+}
+
+bool visible_object_sit()
+{
+ // 'Object Sit' menu item is visible when agent is not sitting on selection
+ bool is_sit_visible = !sitting_on_selection();
+ if (is_sit_visible)
+ {
+ LLMenuItemGL* sit_menu_item = gMenuHolder->getChild<LLMenuItemGL>("Object Sit");
+ // Init default 'Object Sit' menu item label
+ static const LLStringExplicit sit_text(sit_menu_item->getLabel());
+ // Update label
+ std::string label;
+ LLSelectNode* node = LLSelectMgr::getInstance()->getSelection()->getFirstRootNode();
+ if (node && node->mValid && !node->mSitName.empty())
+ {
+ label.assign(node->mSitName);
+ }
+ else
+ {
+ label = sit_text;
+ }
+ sit_menu_item->setLabel(label);
+ }
+ return is_sit_visible;
+}
+
class LLObjectEnableSitOrStand : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
@@ -5471,34 +5490,6 @@ class LLObjectEnableSitOrStand : public view_listener_t
new_value = true;
}
}
- // Update label
- std::string label;
- std::string sit_text;
- std::string stand_text;
- std::string param = userdata.asString();
- std::string::size_type offset = param.find(",");
- if (offset != param.npos)
- {
- sit_text = param.substr(0, offset);
- stand_text = param.substr(offset+1);
- }
- if (sitting_on_selection())
- {
- label = stand_text;
- }
- else
- {
- LLSelectNode* node = LLSelectMgr::getInstance()->getSelection()->getFirstRootNode();
- if (node && node->mValid && !node->mSitName.empty())
- {
- label.assign(node->mSitName);
- }
- else
- {
- label = sit_text;
- }
- }
- gMenuHolder->childSetText("Object Sit", label);
return new_value;
}
@@ -6840,7 +6831,8 @@ class LLToolsEditLinkedParts : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
- BOOL select_individuals = gSavedSettings.getBOOL("EditLinkedParts");
+ BOOL select_individuals = !gSavedSettings.getBOOL("EditLinkedParts");
+ gSavedSettings.setBOOL( "EditLinkedParts", select_individuals );
if (select_individuals)
{
LLSelectMgr::getInstance()->demoteSelectionToIndividuals();
@@ -7575,6 +7567,24 @@ class LLWorldDayCycle : public view_listener_t
}
};
+class LLWorldToggleMovementControls : public view_listener_t
+{
+ bool handleEvent(const LLSD& userdata)
+ {
+ LLBottomTray::getInstance()->toggleMovementControls();
+ return true;
+ }
+};
+
+class LLWorldToggleCameraControls : public view_listener_t
+{
+ bool handleEvent(const LLSD& userdata)
+ {
+ LLBottomTray::getInstance()->toggleCameraControls();
+ return true;
+ }
+};
+
void show_navbar_context_menu(LLView* ctrl, S32 x, S32 y)
{
static LLMenuGL* show_navbar_context_menu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_hide_navbar.xml",
@@ -7694,6 +7704,9 @@ void initialize_menus()
view_listener_t::addMenu(new LLWorldPostProcess(), "World.PostProcess");
view_listener_t::addMenu(new LLWorldDayCycle(), "World.DayCycle");
+ view_listener_t::addMenu(new LLWorldToggleMovementControls(), "World.Toggle.MovementControls");
+ view_listener_t::addMenu(new LLWorldToggleCameraControls(), "World.Toggle.CameraControls");
+
// Tools menu
view_listener_t::addMenu(new LLToolsSelectTool(), "Tools.SelectTool");
view_listener_t::addMenu(new LLToolsSelectOnlyMyObjects(), "Tools.SelectOnlyMyObjects");
@@ -7723,12 +7736,11 @@ void initialize_menus()
view_listener_t::addMenu(new LLToolsEnableUnlink(), "Tools.EnableUnlink");
view_listener_t::addMenu(new LLToolsEnableBuyOrTake(), "Tools.EnableBuyOrTake");
enable.add("Tools.EnableTakeCopy", boost::bind(&enable_object_take_copy));
+ enable.add("Tools.VisibleBuyObject", boost::bind(&tools_visible_buy_object));
+ enable.add("Tools.VisibleTakeObject", boost::bind(&tools_visible_take_object));
view_listener_t::addMenu(new LLToolsEnableSaveToInventory(), "Tools.EnableSaveToInventory");
view_listener_t::addMenu(new LLToolsEnableSaveToObjectInventory(), "Tools.EnableSaveToObjectInventory");
- /*view_listener_t::addMenu(new LLToolsVisibleBuyObject(), "Tools.VisibleBuyObject");
- view_listener_t::addMenu(new LLToolsVisibleTakeObject(), "Tools.VisibleTakeObject");*/
-
// Help menu
// most items use the ShowFloater method
@@ -7955,6 +7967,9 @@ void initialize_menus()
enable.add("Object.EnableDelete", boost::bind(&enable_object_delete));
enable.add("Object.EnableWear", boost::bind(&object_selected_and_point_valid));
+ enable.add("Object.StandUpVisible", boost::bind(&visible_object_stand_up));
+ enable.add("Object.SitVisible", boost::bind(&visible_object_sit));
+
view_listener_t::addMenu(new LLObjectEnableReturn(), "Object.EnableReturn");
view_listener_t::addMenu(new LLObjectEnableReportAbuse(), "Object.EnableReportAbuse");
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 6a131082da..6a8832b64d 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -197,9 +197,21 @@ bool friendship_offer_callback(const LLSD& notification, const LLSD& response)
msg->nextBlockFast(_PREHASH_FolderData);
msg->addUUIDFast(_PREHASH_FolderID, fid);
msg->sendReliable(LLHost(payload["sender"].asString()));
+
+ LLSD payload = notification["payload"];
+ payload["SUPPRESS_TOAST"] = true;
+ LLNotificationsUtil::add("FriendshipAcceptedByMe",
+ notification["substitutions"], payload);
break;
}
case 1: // Decline
+ {
+ LLSD payload = notification["payload"];
+ payload["SUPPRESS_TOAST"] = true;
+ LLNotificationsUtil::add("FriendshipDeclinedByMe",
+ notification["substitutions"], payload);
+ }
+ // fall-through
case 2: // Send IM - decline and start IM session
{
// decline
@@ -2278,7 +2290,8 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
LLSD args;
args["owner_id"] = from_id;
args["slurl"] = location;
- nearby_chat->addMessage(chat, true, args);
+ args["type"] = LLNotificationsUI::NT_NEARBYCHAT;
+ LLNotificationsUI::LLNotificationManager::instance().onChat(chat, args);
}
@@ -3189,8 +3202,12 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**)
{
// Chat the "back" SLURL. (DEV-4907)
+ LLSD substitution = LLSD().with("[T_SLURL]", gAgent.getTeleportSourceSLURL());
+ std::string completed_from = LLAgent::sTeleportProgressMessages["completed_from"];
+ LLStringUtil::format(completed_from, substitution);
+
LLSD args;
- args["MESSAGE"] = "Teleport completed from " + gAgent.getTeleportSourceSLURL();
+ args["MESSAGE"] = completed_from;
LLNotificationsUtil::add("SystemMessageTip", args);
// Set the new position
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index eed07a4770..daa48e7054 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -2002,6 +2002,9 @@ BOOL LLViewerObject::isActive() const
BOOL LLViewerObject::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)
{
+ static LLFastTimer::DeclareTimer ftm("Viewer Object");
+ LLFastTimer t(ftm);
+
if (mDead)
{
// It's dead. Don't update it.
diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp
index 96828ee1b6..6347090f71 100644
--- a/indra/newview/llviewerobjectlist.cpp
+++ b/indra/newview/llviewerobjectlist.cpp
@@ -93,7 +93,7 @@ extern LLPipeline gPipeline;
// Statics for object lookup tables.
U32 LLViewerObjectList::sSimulatorMachineIndex = 1; // Not zero deliberately, to speed up index check.
-LLMap<U64, U32> LLViewerObjectList::sIPAndPortToIndex;
+std::map<U64, U32> LLViewerObjectList::sIPAndPortToIndex;
std::map<U64, LLUUID> LLViewerObjectList::sIndexAndLocalIDToUUID;
LLViewerObjectList::LLViewerObjectList()
@@ -571,10 +571,9 @@ void LLViewerObjectList::processCachedObjectUpdate(LLMessageSystem *mesgsys,
void LLViewerObjectList::dirtyAllObjectInventory()
{
- S32 count = mObjects.count();
- for(S32 i = 0; i < count; ++i)
+ for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)
{
- mObjects[i]->dirtyInventory();
+ (*iter)->dirtyInventory();
}
}
@@ -587,14 +586,14 @@ void LLViewerObjectList::updateApparentAngles(LLAgent &agent)
S32 num_updates, max_value;
if (NUM_BINS - 1 == mCurBin)
{
- num_updates = mObjects.count() - mCurLazyUpdateIndex;
- max_value = mObjects.count();
+ num_updates = (S32) mObjects.size() - mCurLazyUpdateIndex;
+ max_value = (S32) mObjects.size();
gTextureList.setUpdateStats(TRUE);
}
else
{
- num_updates = (mObjects.count() / NUM_BINS) + 1;
- max_value = llmin(mObjects.count(), mCurLazyUpdateIndex + num_updates);
+ num_updates = ((S32) mObjects.size() / NUM_BINS) + 1;
+ max_value = llmin((S32) mObjects.size(), mCurLazyUpdateIndex + num_updates);
}
@@ -647,7 +646,7 @@ void LLViewerObjectList::updateApparentAngles(LLAgent &agent)
}
mCurLazyUpdateIndex = max_value;
- if (mCurLazyUpdateIndex == mObjects.count())
+ if (mCurLazyUpdateIndex == mObjects.size())
{
mCurLazyUpdateIndex = 0;
}
@@ -694,20 +693,26 @@ void LLViewerObjectList::update(LLAgent &agent, LLWorld &world)
// Make a copy of the list in case something in idleUpdate() messes with it
std::vector<LLViewerObject*> idle_list;
- idle_list.reserve( mActiveObjects.size() );
+
+ static LLFastTimer::DeclareTimer idle_copy("Idle Copy");
- for (std::set<LLPointer<LLViewerObject> >::iterator active_iter = mActiveObjects.begin();
- active_iter != mActiveObjects.end(); active_iter++)
{
- objectp = *active_iter;
- if (objectp)
+ LLFastTimer t(idle_copy);
+ idle_list.reserve( mActiveObjects.size() );
+
+ for (std::set<LLPointer<LLViewerObject> >::iterator active_iter = mActiveObjects.begin();
+ active_iter != mActiveObjects.end(); active_iter++)
{
- idle_list.push_back( objectp );
- }
- else
- { // There shouldn't be any NULL pointers in the list, but they have caused
- // crashes before. This may be idleUpdate() messing with the list.
- llwarns << "LLViewerObjectList::update has a NULL objectp" << llendl;
+ objectp = *active_iter;
+ if (objectp)
+ {
+ idle_list.push_back( objectp );
+ }
+ else
+ { // There shouldn't be any NULL pointers in the list, but they have caused
+ // crashes before. This may be idleUpdate() messing with the list.
+ llwarns << "LLViewerObjectList::update has a NULL objectp" << llendl;
+ }
}
}
@@ -807,7 +812,7 @@ void LLViewerObjectList::update(LLAgent &agent, LLWorld &world)
}
*/
- LLViewerStats::getInstance()->mNumObjectsStat.addValue(mObjects.count());
+ LLViewerStats::getInstance()->mNumObjectsStat.addValue((S32) mObjects.size());
LLViewerStats::getInstance()->mNumActiveObjectsStat.addValue(num_active_objects);
LLViewerStats::getInstance()->mNumSizeCulledStat.addValue(mNumSizeCulled);
LLViewerStats::getInstance()->mNumVisCulledStat.addValue(mNumVisCulled);
@@ -815,9 +820,9 @@ void LLViewerObjectList::update(LLAgent &agent, LLWorld &world)
void LLViewerObjectList::clearDebugText()
{
- for (S32 i = 0; i < mObjects.count(); i++)
+ for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)
{
- mObjects[i]->setDebugText("");
+ (*iter)->setDebugText("");
}
}
@@ -856,7 +861,7 @@ void LLViewerObjectList::cleanupReferences(LLViewerObject *objectp)
if (objectp->isOnMap())
{
- mMapObjects.removeObj(objectp);
+ removeFromMap(objectp);
}
// Don't clean up mObject references, these will be cleaned up more efficiently later!
@@ -913,10 +918,10 @@ void LLViewerObjectList::killObjects(LLViewerRegion *regionp)
{
LLViewerObject *objectp;
- S32 i;
- for (i = 0; i < mObjects.count(); i++)
+
+ for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)
{
- objectp = mObjects[i];
+ objectp = *iter;
if (objectp->mRegionp == regionp)
{
@@ -933,10 +938,9 @@ void LLViewerObjectList::killAllObjects()
// Used only on global destruction.
LLViewerObject *objectp;
- for (S32 i = 0; i < mObjects.count(); i++)
+ for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)
{
- objectp = mObjects[i];
-
+ objectp = *iter;
killObject(objectp);
llassert(objectp->isDead());
}
@@ -945,7 +949,7 @@ void LLViewerObjectList::killAllObjects()
if(!mObjects.empty())
{
- llwarns << "LLViewerObjectList::killAllObjects still has entries in mObjects: " << mObjects.count() << llendl;
+ llwarns << "LLViewerObjectList::killAllObjects still has entries in mObjects: " << mObjects.size() << llendl;
mObjects.clear();
}
@@ -970,16 +974,15 @@ void LLViewerObjectList::cleanDeadObjects(BOOL use_timer)
return;
}
- S32 i = 0;
S32 num_removed = 0;
LLViewerObject *objectp;
- while (i < mObjects.count())
+ for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); )
{
// Scan for all of the dead objects and remove any "global" references to them.
- objectp = mObjects[i];
+ objectp = *iter;
if (objectp->isDead())
{
- mObjects.remove(i);
+ iter = mObjects.erase(iter);
num_removed++;
if (num_removed == mNumDeadObjects)
@@ -990,8 +993,7 @@ void LLViewerObjectList::cleanDeadObjects(BOOL use_timer)
}
else
{
- // iterate, this isn't a dead object.
- i++;
+ ++iter;
}
}
@@ -1041,12 +1043,11 @@ void LLViewerObjectList::shiftObjects(const LLVector3 &offset)
}
LLViewerObject *objectp;
- S32 i;
- for (i = 0; i < mObjects.count(); i++)
+ for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)
{
- objectp = getObject(i);
+ objectp = *iter;
// There could be dead objects on the object list, so don't update stuff if the object is dead.
- if (objectp)
+ if (!objectp->isDead())
{
objectp->updatePositionCaches();
@@ -1076,9 +1077,9 @@ void LLViewerObjectList::renderObjectsForMap(LLNetMap &netmap)
F32 max_radius = gSavedSettings.getF32("MiniMapPrimMaxRadius");
- for (S32 i = 0; i < mMapObjects.count(); i++)
+ for (vobj_list_t::iterator iter = mMapObjects.begin(); iter != mMapObjects.end(); ++iter)
{
- LLViewerObject* objectp = mMapObjects[i];
+ LLViewerObject* objectp = *iter;
if (!objectp->getRegion() || objectp->isOrphaned() || objectp->isAttachment())
{
continue;
@@ -1144,21 +1145,14 @@ void LLViewerObjectList::renderObjectBounds(const LLVector3 &center)
{
}
-void LLViewerObjectList::renderObjectsForSelect(LLCamera &camera, const LLRect& screen_rect, BOOL pick_parcel_wall, BOOL render_transparent)
-{
- generatePickList(camera);
- renderPickList(screen_rect, pick_parcel_wall, render_transparent);
-}
-
void LLViewerObjectList::generatePickList(LLCamera &camera)
{
LLViewerObject *objectp;
S32 i;
// Reset all of the GL names to zero.
- for (i = 0; i < mObjects.count(); i++)
+ for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)
{
- objectp = mObjects[i];
- objectp->mGLName = 0;
+ (*iter)->mGLName = 0;
}
mSelectPickList.clear();
@@ -1321,17 +1315,19 @@ void LLViewerObjectList::addDebugBeacon(const LLVector3 &pos_agent,
const LLColor4 &text_color,
S32 line_width)
{
- LLDebugBeacon *beaconp = mDebugBeacons.reserve_block(1);
- beaconp->mPositionAgent = pos_agent;
- beaconp->mString = string;
- beaconp->mColor = color;
- beaconp->mTextColor = text_color;
- beaconp->mLineWidth = line_width;
+ LLDebugBeacon beacon;
+ beacon.mPositionAgent = pos_agent;
+ beacon.mString = string;
+ beacon.mColor = color;
+ beacon.mTextColor = text_color;
+ beacon.mLineWidth = line_width;
+
+ mDebugBeacons.push_back(beacon);
}
void LLViewerObjectList::resetObjectBeacons()
{
- mDebugBeacons.reset();
+ mDebugBeacons.clear();
}
LLViewerObject *LLViewerObjectList::createObjectViewer(const LLPCode pcode, LLViewerRegion *regionp)
@@ -1349,7 +1345,7 @@ LLViewerObject *LLViewerObjectList::createObjectViewer(const LLPCode pcode, LLVi
mUUIDObjectMap[fullid] = objectp;
- mObjects.put(objectp);
+ mObjects.push_back(objectp);
updateActive(objectp);
@@ -1388,7 +1384,7 @@ LLViewerObject *LLViewerObjectList::createObject(const LLPCode pcode, LLViewerRe
gMessageSystem->getSenderIP(),
gMessageSystem->getSenderPort());
- mObjects.put(objectp);
+ mObjects.push_back(objectp);
updateActive(objectp);
@@ -1411,11 +1407,11 @@ LLViewerObject *LLViewerObjectList::replaceObject(const LLUUID &id, const LLPCod
S32 LLViewerObjectList::findReferences(LLDrawable *drawablep) const
{
LLViewerObject *objectp;
- S32 i;
S32 num_refs = 0;
- for (i = 0; i < mObjects.count(); i++)
+
+ for (vobj_list_t::const_iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)
{
- objectp = mObjects[i];
+ objectp = *iter;
if (objectp->mDrawable.notNull())
{
num_refs += objectp->mDrawable->findReferences(drawablep);
@@ -1460,15 +1456,15 @@ void LLViewerObjectList::orphanize(LLViewerObject *childp, U32 parent_id, U32 ip
// Unknown parent, add to orpaned child list
U64 parent_info = getIndex(parent_id, ip, port);
- if (-1 == mOrphanParents.find(parent_info))
+ if (std::find(mOrphanParents.begin(), mOrphanParents.end(), parent_info) == mOrphanParents.end())
{
- mOrphanParents.put(parent_info);
+ mOrphanParents.push_back(parent_info);
}
LLViewerObjectList::OrphanInfo oi(parent_info, childp->mID);
- if (-1 == mOrphanChildren.find(oi))
+ if (std::find(mOrphanChildren.begin(), mOrphanChildren.end(), oi) == mOrphanChildren.end())
{
- mOrphanChildren.put(oi);
+ mOrphanChildren.push_back(oi);
mNumOrphans++;
}
}
@@ -1491,28 +1487,29 @@ void LLViewerObjectList::findOrphans(LLViewerObject* objectp, U32 ip, U32 port)
// See if we are a parent of an orphan.
// Note: This code is fairly inefficient but it should happen very rarely.
// It can be sped up if this is somehow a performance issue...
- if (0 == mOrphanParents.count())
+ if (mOrphanParents.empty())
{
// no known orphan parents
return;
}
- if (-1 == mOrphanParents.find(getIndex(objectp->mLocalID, ip, port)))
+ if (std::find(mOrphanParents.begin(), mOrphanParents.end(), getIndex(objectp->mLocalID, ip, port)) == mOrphanParents.end())
{
// did not find objectp in OrphanParent list
return;
}
- S32 i;
U64 parent_info = getIndex(objectp->mLocalID, ip, port);
BOOL orphans_found = FALSE;
// Iterate through the orphan list, and set parents of matching children.
- for (i = 0; i < mOrphanChildren.count(); i++)
- {
- if (mOrphanChildren[i].mParentInfo != parent_info)
+
+ for (std::vector<OrphanInfo>::iterator iter = mOrphanChildren.begin(); iter != mOrphanChildren.end(); )
+ {
+ if (iter->mParentInfo != parent_info)
{
+ ++iter;
continue;
}
- LLViewerObject *childp = findObject(mOrphanChildren[i].mChildInfo);
+ LLViewerObject *childp = findObject(iter->mChildInfo);
if (childp)
{
if (childp == objectp)
@@ -1546,29 +1543,35 @@ void LLViewerObjectList::findOrphans(LLViewerObject* objectp, U32 ip, U32 port)
objectp->addChild(childp);
orphans_found = TRUE;
+ ++iter;
}
else
{
llinfos << "Missing orphan child, removing from list" << llendl;
- mOrphanChildren.remove(i);
- i--;
+
+ iter = mOrphanChildren.erase(iter);
}
}
// Remove orphan parent and children from lists now that they've been found
- mOrphanParents.remove(mOrphanParents.find(parent_info));
-
- i = 0;
- while (i < mOrphanChildren.count())
{
- if (mOrphanChildren[i].mParentInfo == parent_info)
+ std::vector<U64>::iterator iter = std::find(mOrphanParents.begin(), mOrphanParents.end(), parent_info);
+ if (iter != mOrphanParents.end())
+ {
+ mOrphanParents.erase(iter);
+ }
+ }
+
+ for (std::vector<OrphanInfo>::iterator iter = mOrphanChildren.begin(); iter != mOrphanChildren.end(); )
+ {
+ if (iter->mParentInfo == parent_info)
{
- mOrphanChildren.remove(i);
+ iter = mOrphanChildren.erase(iter);
mNumOrphans--;
}
else
{
- i++;
+ ++iter;
}
}
diff --git a/indra/newview/llviewerobjectlist.h b/indra/newview/llviewerobjectlist.h
index 2858081dc9..706966deae 100644
--- a/indra/newview/llviewerobjectlist.h
+++ b/indra/newview/llviewerobjectlist.h
@@ -38,8 +38,6 @@
// common includes
#include "llstat.h"
-#include "lldarrayptr.h"
-#include "llmap.h" // *TODO: switch to std::map
#include "llstring.h"
// project includes
@@ -50,7 +48,7 @@ class LLNetMap;
class LLDebugBeacon;
const U32 CLOSE_BIN_SIZE = 10;
-const U32 NUM_BINS = 16;
+const U32 NUM_BINS = 128;
// GL name = position in object list + GL_NAME_INDEX_OFFSET so that
// we can have special numbers like zero.
@@ -111,13 +109,12 @@ public:
void updateAvatarVisibility();
// Selection related stuff
- void renderObjectsForSelect(LLCamera &camera, const LLRect& screen_rect, BOOL pick_parcel_wall = FALSE, BOOL render_transparent = TRUE);
void generatePickList(LLCamera &camera);
void renderPickList(const LLRect& screen_rect, BOOL pick_parcel_wall, BOOL render_transparent);
LLViewerObject *getSelectedObject(const U32 object_id);
- inline S32 getNumObjects() { return mObjects.count(); }
+ inline S32 getNumObjects() { return (S32) mObjects.size(); }
void addToMap(LLViewerObject *objectp);
void removeFromMap(LLViewerObject *objectp);
@@ -131,7 +128,7 @@ public:
S32 findReferences(LLDrawable *drawablep) const; // Find references to drawable in all objects, and return value.
- S32 getOrphanParentCount() const { return mOrphanParents.count(); }
+ S32 getOrphanParentCount() const { return (S32) mOrphanParents.size(); }
S32 getOrphanCount() const { return mNumOrphans; }
void orphanize(LLViewerObject *childp, U32 parent_id, U32 ip, U32 port);
void findOrphans(LLViewerObject* objectp, U32 ip, U32 port);
@@ -179,26 +176,28 @@ public:
S32 mNumUnknownKills;
S32 mNumDeadObjects;
protected:
- LLDynamicArray<U64> mOrphanParents; // LocalID/ip,port of orphaned objects
- LLDynamicArray<OrphanInfo> mOrphanChildren; // UUID's of orphaned objects
+ std::vector<U64> mOrphanParents; // LocalID/ip,port of orphaned objects
+ std::vector<OrphanInfo> mOrphanChildren; // UUID's of orphaned objects
S32 mNumOrphans;
- LLDynamicArrayPtr<LLPointer<LLViewerObject>, 256> mObjects;
+ typedef std::vector<LLPointer<LLViewerObject> > vobj_list_t;
+
+ vobj_list_t mObjects;
std::set<LLPointer<LLViewerObject> > mActiveObjects;
- LLDynamicArrayPtr<LLPointer<LLViewerObject> > mMapObjects;
+ vobj_list_t mMapObjects;
typedef std::map<LLUUID, LLPointer<LLViewerObject> > vo_map;
vo_map mDeadObjects; // Need to keep multiple entries per UUID
std::map<LLUUID, LLPointer<LLViewerObject> > mUUIDObjectMap;
- LLDynamicArray<LLDebugBeacon> mDebugBeacons;
+ std::vector<LLDebugBeacon> mDebugBeacons;
S32 mCurLazyUpdateIndex;
static U32 sSimulatorMachineIndex;
- static LLMap<U64, U32> sIPAndPortToIndex;
+ static std::map<U64, U32> sIPAndPortToIndex;
static std::map<U64, LLUUID> sIndexAndLocalIDToUUID;
@@ -264,12 +263,16 @@ inline LLViewerObject *LLViewerObjectList::getObject(const S32 index)
inline void LLViewerObjectList::addToMap(LLViewerObject *objectp)
{
- mMapObjects.put(objectp);
+ mMapObjects.push_back(objectp);
}
inline void LLViewerObjectList::removeFromMap(LLViewerObject *objectp)
{
- mMapObjects.removeObj(objectp);
+ std::vector<LLPointer<LLViewerObject> >::iterator iter = std::find(mMapObjects.begin(), mMapObjects.end(), objectp);
+ if (iter != mMapObjects.end())
+ {
+ mMapObjects.erase(iter);
+ }
}
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index 77d2d493bd..ce627494c8 100644
--- a/indra/newview/llviewerregion.cpp
+++ b/indra/newview/llviewerregion.cpp
@@ -49,6 +49,7 @@
#include "llagent.h"
#include "llcallingcard.h"
#include "llcaphttpsender.h"
+#include "llcommandhandler.h"
#include "lldir.h"
#include "lleventpoll.h"
#include "llfloatergodtools.h"
@@ -58,6 +59,7 @@
#include "llsdutil.h"
#include "llstartup.h"
#include "lltrans.h"
+#include "llurldispatcher.h"
#include "llviewerobjectlist.h"
#include "llviewerparceloverlay.h"
#include "llvlmanager.h"
@@ -82,6 +84,45 @@ extern BOOL gNoRender;
const F32 WATER_TEXTURE_SCALE = 8.f; // Number of times to repeat the water texture across a region
const S16 MAX_MAP_DIST = 10;
+// support for secondlife:///app/region/{REGION} SLapps
+// N.B. this is defined to work exactly like the classic secondlife://{REGION}
+// However, the later syntax cannot support spaces in the region name because
+// spaces (and %20 chars) are illegal in the hostname of an http URL. Some
+// browsers let you get away with this, but some do not (such as Qt's Webkit).
+// Hence we introduced the newer secondlife:///app/region alternative.
+class LLRegionHandler : public LLCommandHandler
+{
+public:
+ // requests will be throttled from a non-trusted browser
+ LLRegionHandler() : LLCommandHandler("region", UNTRUSTED_THROTTLE) {}
+
+ bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web)
+ {
+ // make sure that we at least have a region name
+ int num_params = params.size();
+ if (num_params < 1)
+ {
+ return false;
+ }
+
+ // build a secondlife://{PLACE} SLurl from this SLapp
+ std::string url = "secondlife://";
+ for (int i = 0; i < num_params; i++)
+ {
+ if (i > 0)
+ {
+ url += "/";
+ }
+ url += params[i].asString();
+ }
+
+ // Process the SLapp as if it was a secondlife://{PLACE} SLurl
+ LLURLDispatcher::dispatch(url, web, true);
+ return true;
+ }
+};
+LLRegionHandler gRegionHandler;
+
class BaseCapabilitiesComplete : public LLHTTPClient::Responder
{
LOG_CLASS(BaseCapabilitiesComplete);
diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index 28998d409e..01d437f9eb 100644
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -293,6 +293,8 @@ void LLViewerTextureManager::init()
}
}
imagep->createGLTexture(0, image_raw);
+ //cache the raw image
+ imagep->setCachedRawImage(0, image_raw) ;
image_raw = NULL;
#else
LLViewerFetchedTexture::sDefaultImagep = LLViewerTextureManager::getFetchedTexture(IMG_DEFAULT, TRUE, LLViewerTexture::BOOST_UI);
@@ -799,12 +801,18 @@ BOOL LLViewerTexture::createGLTexture(S32 discard_level, const LLImageRaw* image
{
mFullWidth = mGLTexturep->getCurrentWidth() ;
mFullHeight = mGLTexturep->getCurrentHeight() ;
- mComponents = mGLTexturep->getComponents() ;
+ mComponents = mGLTexturep->getComponents() ;
}
return ret ;
}
+//virtual
+void LLViewerTexture::setCachedRawImage(S32 discard_level, LLImageRaw* imageraw)
+{
+ //nothing here.
+}
+
void LLViewerTexture::setExplicitFormat(LLGLint internal_format, LLGLenum primary_format, LLGLenum type_format, BOOL swap_bytes)
{
llassert(mGLTexturep.notNull()) ;
@@ -1249,20 +1257,30 @@ void LLViewerFetchedTexture::destroyTexture()
mFullyLoaded = FALSE ;
}
-//
-//do not change the discard level of the loaded texture image.
-BOOL LLViewerFetchedTexture::keepReuestedDiscardLevel()
+void LLViewerFetchedTexture::addToCreateTexture()
{
- if (!mLoadedCallbackList.empty())
+ bool force_update = false ;
+ if (getComponents() != mRawImage->getComponents())
{
- return TRUE ;
- }
+ // We've changed the number of components, so we need to move any
+ // objects using this pool to a different pool.
+ mComponents = mRawImage->getComponents();
+ mGLTexturep->setComponents(mComponents) ;
+ force_update = true ;
- return FALSE ;
-}
+ for(U32 i = 0 ; i < mNumFaces ; i++)
+ {
+ mFaceList[i]->dirtyTexture() ;
+ }
+
+ //discard the cached raw image and the saved raw image
+ mCachedRawImageReady = FALSE ;
+ mCachedRawDiscardLevel = -1 ;
+ mCachedRawImage = NULL ;
+ mSavedRawDiscardLevel = -1 ;
+ mSavedRawImage = NULL ;
+ }
-void LLViewerFetchedTexture::addToCreateTexture()
-{
if(isForSculptOnly())
{
//just update some variables, not to create a real GL texture.
@@ -1270,6 +1288,11 @@ void LLViewerFetchedTexture::addToCreateTexture()
mNeedsCreateTexture = FALSE ;
destroyRawImage();
}
+ else if(!force_update && getDiscardLevel() > -1 && getDiscardLevel() <= mRawDiscardLevel)
+ {
+ mNeedsCreateTexture = FALSE ;
+ destroyRawImage();
+ }
else
{
#if 1
@@ -1278,7 +1301,7 @@ void LLViewerFetchedTexture::addToCreateTexture()
//so do not scale down the over qualified image.
//Note: scaling down image is expensensive. Do it only when very necessary.
//
- if(mRequestedDiscardLevel <= mDesiredDiscardLevel && !keepReuestedDiscardLevel())
+ if(mRequestedDiscardLevel <= mDesiredDiscardLevel && !mForceToSaveRawImage)
{
S32 w = mFullWidth >> mRawDiscardLevel;
S32 h = mFullHeight >> mRawDiscardLevel;
@@ -1391,28 +1414,12 @@ BOOL LLViewerFetchedTexture::createTexture(S32 usename/*= 0*/)
setActive() ;
}
- //
- // Iterate through the list of image loading callbacks to see
- // what sort of data they need.
- //
- // *TODO: Fix image callback code
- BOOL imageraw_callbacks = FALSE;
- for(callback_list_t::iterator iter = mLoadedCallbackList.begin();
- iter != mLoadedCallbackList.end(); )
- {
- LLLoadedCallbackEntry *entryp = *iter++;
- if (entryp->mNeedsImageRaw)
- {
- imageraw_callbacks = TRUE;
- break;
- }
- }
-
- if (!imageraw_callbacks)
+ if (!mForceToSaveRawImage)
{
mNeedsAux = FALSE;
- destroyRawImage();
}
+ destroyRawImage();
+
return res;
}
@@ -1495,21 +1502,16 @@ F32 LLViewerFetchedTexture::calcDecodePriority()
}
#endif
- if(mFullyLoaded)//already loaded for static texture
- {
- return -4.0f ; //alreay fetched
- }
-
if (mNeedsCreateTexture)
{
return mDecodePriority; // no change while waiting to create
}
- if(mForceToSaveRawImage)
+ if(mFullyLoaded && !mForceToSaveRawImage)//already loaded for static texture
{
- return maxDecodePriority() ;
+ return -4.0f ; //alreay fetched
}
-
- S32 cur_discard = getDiscardLevel();
+
+ S32 cur_discard = getCurrentDiscardLevelForFetching();
bool have_all_data = (cur_discard >= 0 && (cur_discard <= mDesiredDiscardLevel));
F32 pixel_priority = fsqrtf(mMaxVirtualSize);
@@ -1634,11 +1636,8 @@ F32 LLViewerFetchedTexture::maxDecodePriority()
void LLViewerFetchedTexture::setDecodePriority(F32 priority)
{
- //llassert(!mInImageList); // firing a lot, figure out why
- if (mInImageList) // above llassert() softened to a warning
- {
- llwarns << "BAD STUFF! mInImageList" << llendl;
- }
+ llassert(!mInImageList);
+
mDecodePriority = priority;
}
@@ -1658,6 +1657,11 @@ void LLViewerFetchedTexture::updateVirtualSize()
addTextureStats(0.f, FALSE) ;//reset
}
+ if(mForceToSaveRawImage)
+ {
+ setAdditionalDecodePriority(0.75f) ; //boost the fetching priority
+ }
+
for(U32 i = 0 ; i < mNumFaces ; i++)
{
LLFace* facep = mFaceList[i] ;
@@ -1672,6 +1676,24 @@ void LLViewerFetchedTexture::updateVirtualSize()
reorganizeVolumeList();
}
+S32 LLViewerFetchedTexture::getCurrentDiscardLevelForFetching()
+{
+ S32 current_discard = getDiscardLevel() ;
+ if(mForceToSaveRawImage)
+ {
+ if(mSavedRawDiscardLevel < 0 || current_discard < 0)
+ {
+ current_discard = -1 ;
+ }
+ else
+ {
+ current_discard = llmax(current_discard, mSavedRawDiscardLevel) ;
+ }
+ }
+
+ return current_discard ;
+}
+
bool LLViewerFetchedTexture::updateFetch()
{
static LLCachedControl<bool> textures_decode_disabled(gSavedSettings,"TextureDecodeDisabled");
@@ -1708,7 +1730,7 @@ bool LLViewerFetchedTexture::updateFetch()
return false; // process any raw image data in callbacks before replacing
}
- S32 current_discard = getDiscardLevel() ;
+ S32 current_discard = getCurrentDiscardLevelForFetching() ;
S32 desired_discard = getDesiredDiscardLevel();
F32 decode_priority = getDecodePriority();
decode_priority = llmax(decode_priority, 0.0f);
@@ -1718,14 +1740,6 @@ bool LLViewerFetchedTexture::updateFetch()
// Sets mRawDiscardLevel, mRawImage, mAuxRawImage
S32 fetch_discard = current_discard;
- if(mForceToSaveRawImage)
- {
- if(fetch_discard >= 0)
- {
- fetch_discard = llmax(fetch_discard, mSavedRawDiscardLevel) ;
- }
- }
-
if (mRawImage.notNull()) sRawCount--;
if (mAuxRawImage.notNull()) sAuxCount--;
bool finished = LLAppViewer::getTextureFetch()->getRequestFinished(getID(), fetch_discard, mRawImage, mAuxRawImage);
@@ -1753,18 +1767,6 @@ bool LLViewerFetchedTexture::updateFetch()
if ((mRawImage->getDataSize() > 0 && mRawDiscardLevel >= 0) &&
(current_discard < 0 || mRawDiscardLevel < current_discard))
{
- if (getComponents() != mRawImage->getComponents())
- {
- // We've changed the number of components, so we need to move any
- // objects using this pool to a different pool.
- mComponents = mRawImage->getComponents();
- mGLTexturep->setComponents(mComponents) ;
-
- for(U32 i = 0 ; i < mNumFaces ; i++)
- {
- mFaceList[i]->dirtyTexture() ;
- }
- }
mFullWidth = mRawImage->getWidth() << mRawDiscardLevel;
mFullHeight = mRawImage->getHeight() << mRawDiscardLevel;
@@ -1830,18 +1832,6 @@ bool LLViewerFetchedTexture::updateFetch()
}
}
- if (!mDontDiscard)
- {
- if (mBoostLevel == 0)
- {
- desired_discard = llmax(desired_discard, current_discard-1);
- }
- else
- {
- desired_discard = llmax(desired_discard, current_discard-2);
- }
- }
-
bool make_request = true;
if (decode_priority <= 0)
{
@@ -1859,8 +1849,20 @@ bool LLViewerFetchedTexture::updateFetch()
//{
// make_request = false;
//}
- else
+
+ if(make_request)
{
+ //load the texture progressively.
+ S32 delta_level = (mBoostLevel > LLViewerTexture::BOOST_NONE) ? 2 : 1 ;
+ if(current_discard < 0)
+ {
+ desired_discard = llmax(desired_discard, getMaxDiscardLevel() - delta_level);
+ }
+ else
+ {
+ desired_discard = llmax(desired_discard, current_discard - delta_level);
+ }
+
if (mIsFetching)
{
if (mRequestedDiscardLevel <= desired_discard)
@@ -1880,7 +1882,7 @@ bool LLViewerFetchedTexture::updateFetch()
if (make_request)
{
S32 w=0, h=0, c=0;
- if (current_discard >= 0)
+ if (getDiscardLevel() >= 0)
{
w = mGLTexturep->getWidth(0);
h = mGLTexturep->getHeight(0);
@@ -1921,73 +1923,6 @@ bool LLViewerFetchedTexture::updateFetch()
return mIsFetching ? true : false;
}
-//
-//force to fetch a new raw image for this texture
-//
-BOOL LLViewerFetchedTexture::forceFetch()
-{
- if(!mForceToSaveRawImage)
- {
- return false ;
- }
- //if(mDesiredSavedRawDiscardLevel < getDiscardLevel())
- {
- //no need to force fetching. normal fetching flow will do the work.
- //return false ;
- }
- //if (mNeedsCreateTexture)
- {
- // We may be fetching still (e.g. waiting on write)
- // but don't check until we've processed the raw data we have
- //return false;
- }
- if(mIsFetching)
- {
- return false ;
- }
- if (mIsMissingAsset)
- {
- mForceToSaveRawImage = false ;
- llassert_always(!mHasFetcher);
- return false; // skip
- }
- if (!mLoadedCallbackList.empty() && mRawImage.notNull())
- {
- return false; // process any raw image data in callbacks before replacing
- }
- if(mRawImage.notNull() && mRawDiscardLevel <= mDesiredSavedRawDiscardLevel)
- {
- return false ; // mRawImage is enough
- }
-
- S32 desired_discard = mDesiredSavedRawDiscardLevel ;
- S32 current_discard = getDiscardLevel();
-
- bool fetch_request_created = false;
- S32 w=0, h=0, c=0;
- if (current_discard >= 0)
- {
- w = getWidth(0);
- h = getHeight(0);
- c = getComponents();
- }
- setDecodePriority(maxDecodePriority()) ;
- fetch_request_created = LLAppViewer::getTextureFetch()->createRequest(mUrl, getID(),getTargetHost(), getDecodePriority(),
- w, h, c, desired_discard, needsAux());
-
- if (fetch_request_created)
- {
- mHasFetcher = TRUE;
- mIsFetching = TRUE;
- mRequestedDiscardLevel = desired_discard ;
-
- mFetchState = LLAppViewer::getTextureFetch()->getFetchState(mID, mDownloadProgress, mRequestedDownloadPriority,
- mFetchPriority, mFetchDeltaTime, mRequestDeltaTime);
- }
-
- return mIsFetching ? true : false;
-}
-
void LLViewerFetchedTexture::setIsMissingAsset()
{
if (mUrl.empty())
@@ -2029,6 +1964,10 @@ void LLViewerFetchedTexture::setLoadedCallback( loaded_callback_func loaded_call
LLLoadedCallbackEntry* entryp = new LLLoadedCallbackEntry(loaded_callback, discard_level, keep_imageraw, userdata);
mLoadedCallbackList.push_back(entryp);
mNeedsAux |= needs_aux;
+ if(keep_imageraw)
+ {
+ forceToSaveRawImage(discard_level) ;
+ }
if (mNeedsAux && mAuxRawImage.isNull() && getDiscardLevel() >= 0)
{
// We need aux data, but we've already loaded the image, and it didn't have any
@@ -2277,8 +2216,15 @@ LLImageRaw* LLViewerFetchedTexture::reloadRawImage(S8 discard_level)
if(mSavedRawDiscardLevel >= 0 && mSavedRawDiscardLevel <= discard_level)
{
- mRawImage = new LLImageRaw(getWidth(discard_level), getHeight(discard_level), getComponents()) ;
- mRawImage->copy(getSavedRawImage()) ;
+ if(mSavedRawDiscardLevel != discard_level)
+ {
+ mRawImage = new LLImageRaw(getWidth(discard_level), getHeight(discard_level), getComponents()) ;
+ mRawImage->copy(getSavedRawImage()) ;
+ }
+ else
+ {
+ mRawImage = getSavedRawImage() ;
+ }
mRawDiscardLevel = discard_level ;
}
else
@@ -2288,13 +2234,18 @@ LLImageRaw* LLViewerFetchedTexture::reloadRawImage(S8 discard_level)
{
mRawImage = mCachedRawImage ;
mRawDiscardLevel = mCachedRawDiscardLevel;
-
- forceToSaveRawImage(discard_level) ;
}
else //cached raw image is good enough, copy it.
{
- mRawImage = new LLImageRaw(getWidth(discard_level), getHeight(discard_level), getComponents()) ;
- mRawImage->copy(mCachedRawImage) ;
+ if(mCachedRawDiscardLevel != discard_level)
+ {
+ mRawImage = new LLImageRaw(getWidth(discard_level), getHeight(discard_level), getComponents()) ;
+ mRawImage->copy(mCachedRawImage) ;
+ }
+ else
+ {
+ mRawImage = mCachedRawImage ;
+ }
mRawDiscardLevel = discard_level ;
}
}
@@ -2323,11 +2274,6 @@ void LLViewerFetchedTexture::destroyRawImage()
mAuxRawImage = NULL;
mIsRawImageValid = FALSE;
mRawDiscardLevel = INVALID_DISCARD_LEVEL;
-
- if(mForceToSaveRawImage)
- {
- forceFetch() ;
- }
}
//use the mCachedRawImage to (re)generate the gl texture.
@@ -2354,6 +2300,18 @@ void LLViewerFetchedTexture::switchToCachedImage()
}
}
+//cache the imageraw forcefully.
+//virtual
+void LLViewerFetchedTexture::setCachedRawImage(S32 discard_level, LLImageRaw* imageraw)
+{
+ if(imageraw != mRawImage.get())
+ {
+ mCachedRawImage = imageraw ;
+ mCachedRawDiscardLevel = discard_level ;
+ mCachedRawImageReady = TRUE ;
+ }
+}
+
void LLViewerFetchedTexture::setCachedRawImage()
{
if(mRawImage == mCachedRawImage)
@@ -2428,7 +2386,7 @@ void LLViewerFetchedTexture::checkCachedRawSculptImage()
void LLViewerFetchedTexture::saveRawImage()
{
- if(mRawImage.isNull() || mSavedRawDiscardLevel == mRawDiscardLevel)
+ if(mRawImage.isNull() || mRawImage == mSavedRawImage || (mSavedRawDiscardLevel >= 0 && mSavedRawDiscardLevel <= mRawDiscardLevel))
{
return ;
}
@@ -2446,12 +2404,22 @@ void LLViewerFetchedTexture::saveRawImage()
void LLViewerFetchedTexture::forceToSaveRawImage(S32 desired_discard)
{
- if(!mForceToSaveRawImage && (mDesiredSavedRawDiscardLevel < 0 || mDesiredSavedRawDiscardLevel > desired_discard))
+ if(!mForceToSaveRawImage || mDesiredSavedRawDiscardLevel < 0 || mDesiredSavedRawDiscardLevel > desired_discard)
{
mForceToSaveRawImage = TRUE ;
mDesiredSavedRawDiscardLevel = desired_discard ;
- forceFetch() ;
+ //copy from the cached raw image if exists.
+ if(mCachedRawImage.notNull() && mRawImage.isNull() )
+ {
+ mRawImage = mCachedRawImage ;
+ mRawDiscardLevel = mCachedRawDiscardLevel ;
+
+ saveRawImage() ;
+
+ mRawImage = NULL ;
+ mRawDiscardLevel = INVALID_DISCARD_LEVEL ;
+ }
}
}
void LLViewerFetchedTexture::destroySavedRawImage()
@@ -2818,6 +2786,11 @@ void LLViewerLODTexture::processTextureStats()
}
}
}
+
+ if(mForceToSaveRawImage && mDesiredSavedRawDiscardLevel >= 0)
+ {
+ mDesiredDiscardLevel = llmin(mDesiredDiscardLevel, (S8)mDesiredSavedRawDiscardLevel) ;
+ }
}
void LLViewerLODTexture::scaleDown()
diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h
index 85f03b5839..84377198eb 100644
--- a/indra/newview/llviewertexture.h
+++ b/indra/newview/llviewertexture.h
@@ -198,6 +198,7 @@ public:
LLGLuint getTexName() const ;
BOOL createGLTexture() ;
BOOL createGLTexture(S32 discard_level, const LLImageRaw* imageraw, S32 usename = 0, BOOL to_create = TRUE, S32 category = LLViewerTexture::OTHER);
+ virtual void setCachedRawImage(S32 discard_level, LLImageRaw* imageraw) ;
void setFilteringOption(LLTexUnit::eTextureFilterOptions option);
void setExplicitFormat(LLGLint internal_format, LLGLenum primary_format, LLGLenum type_format = 0, BOOL swap_bytes = FALSE);
@@ -447,6 +448,7 @@ public:
BOOL isCachedRawImageReady() const {return mCachedRawImageReady ;}
BOOL isRawImageValid()const { return mIsRawImageValid ; }
void forceToSaveRawImage(S32 desired_discard = 0) ;
+ /*virtual*/ void setCachedRawImage(S32 discard_level, LLImageRaw* imageraw) ;
void destroySavedRawImage() ;
LLImageRaw* getSavedRawImage() ;
BOOL hasSavedRawImage() const ;
@@ -455,15 +457,14 @@ public:
protected:
/*virtual*/ void switchToCachedImage();
+ S32 getCurrentDiscardLevelForFetching() ;
private:
void init(bool firstinit) ;
void cleanup() ;
void saveRawImage() ;
- BOOL forceFetch() ;
void setCachedRawImage() ;
- BOOL keepReuestedDiscardLevel();
//for atlas
void resetFaceAtlas() ;
diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp
index ee934ab9c5..d8918bdb73 100644
--- a/indra/newview/llviewertexturelist.cpp
+++ b/indra/newview/llviewertexturelist.cpp
@@ -502,10 +502,11 @@ void LLViewerTextureList::addImageToList(LLViewerFetchedTexture *image)
{
llerrs << "LLViewerTextureList::addImageToList - Image already in list" << llendl;
}
- if ((mImageList.insert(image)).second != true)
+ if((mImageList.insert(image)).second != true)
{
- llwarns << "BAD STUFF! (mImageList.insert(image)).second != true" << llendl;
+ llerrs << "Error happens when insert image to mImageList!" << llendl ;
}
+
image->setInImageList(TRUE) ;
}
@@ -522,10 +523,11 @@ void LLViewerTextureList::removeImageFromList(LLViewerFetchedTexture *image)
}
llerrs << "LLViewerTextureList::removeImageFromList - Image not in list" << llendl;
}
- if (mImageList.erase(image) != 1)
- {
- llwarns << "BAD STUFF! mImageList.erase(image) != 1" << llendl;
- }
+ if(mImageList.erase(image) != 1)
+ {
+ llerrs << "Error happens when remove image from mImageList!" << llendl ;
+ }
+
image->setInImageList(FALSE) ;
}
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index cb92d93612..ea1afafe85 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -131,6 +131,7 @@
#include "llmorphview.h"
#include "llmoveview.h"
#include "llnavigationbar.h"
+#include "llpopupview.h"
#include "llpreviewtexture.h"
#include "llprogressview.h"
#include "llresmgr.h"
@@ -486,6 +487,10 @@ public:
}
ypos += y_inc;
+ addText(xpos, ypos, llformat("UI Verts/Calls: %d/%d", LLRender::sUIVerts, LLRender::sUICalls));
+ LLRender::sUICalls = LLRender::sUIVerts = 0;
+ ypos += y_inc;
+
addText(xpos,ypos, llformat("%d/%d Nodes visible", gPipeline.mNumVisibleNodes, LLSpatialGroup::sNodeCount));
ypos += y_inc;
@@ -686,30 +691,23 @@ BOOL LLViewerWindow::handleAnyMouseClick(LLWindow *window, LLCoordGL pos, MASK
}
// Topmost view gets a chance before the hierarchy
- LLUICtrl* top_ctrl = gFocusMgr.getTopCtrl();
- if (top_ctrl)
- {
- S32 local_x, local_y;
- top_ctrl->screenPointToLocal( x, y, &local_x, &local_y );
- if (down)
- {
- if (top_ctrl->pointInView(local_x, local_y))
- {
- return top_ctrl->handleAnyMouseClick(local_x, local_y, mask, clicktype, down) ;
- }
- else
- {
- gFocusMgr.setTopCtrl(NULL);
- }
- }
- else
- {
- if (top_ctrl->pointInView(local_x, local_y) && top_ctrl->handleMouseUp(local_x, local_y, mask))
- {
- return TRUE;
- }
- }
- }
+ //LLUICtrl* top_ctrl = gFocusMgr.getTopCtrl();
+ //if (top_ctrl)
+ //{
+ // S32 local_x, local_y;
+ // top_ctrl->screenPointToLocal( x, y, &local_x, &local_y );
+ // if (top_ctrl->pointInView(local_x, local_y))
+ // {
+ // return top_ctrl->handleAnyMouseClick(local_x, local_y, mask, clicktype, down) ;
+ // }
+ // else
+ // {
+ // if (down)
+ // {
+ // gFocusMgr.setTopCtrl(NULL);
+ // }
+ // }
+ //}
// Give the UI views a chance to process the click
if( mRootView->handleAnyMouseClick(x, y, mask, clicktype, down) )
@@ -826,8 +824,10 @@ LLWindowCallbacks::DragNDropResult LLViewerWindow::handleDragNDrop( LLWindow *wi
if (slurl_dnd_enabled)
{
+
// special case SLURLs
- if ( LLSLURL::isSLURL( data ) )
+ // isValidSLURL() call was added here to make sure that dragged SLURL is valid (EXT-4964)
+ if ( LLSLURL::isSLURL( data ) && LLSLURL::isValidSLURL( data ) )
{
if (drop)
{
@@ -1549,11 +1549,13 @@ void LLViewerWindow::initBase()
mWorldViewPlaceholder = main_view->getChildView("world_view_rect")->getHandle();
mNonSideTrayView = main_view->getChildView("non_side_tray_view")->getHandle();
mFloaterViewHolder = main_view->getChildView("floater_view_holder")->getHandle();
+ mPopupView = main_view->getChild<LLPopupView>("popup_holder");
// Constrain floaters to inside the menu and status bar regions.
gFloaterView = main_view->getChild<LLFloaterView>("Floater View");
gSnapshotFloaterView = main_view->getChild<LLSnapshotFloaterView>("Snapshot Floater View");
+
// Console
llassert( !gConsole );
LLConsole::Params cp;
@@ -2000,21 +2002,24 @@ void LLViewerWindow::drawDebugText()
{
gGL.color4f(1,1,1,1);
gGL.pushMatrix();
+ gGL.pushUIMatrix();
{
// scale view by UI global scale factor and aspect ratio correction factor
- glScalef(mDisplayScale.mV[VX], mDisplayScale.mV[VY], 1.f);
+ gGL.scaleUI(mDisplayScale.mV[VX], mDisplayScale.mV[VY], 1.f);
mDebugText->draw();
}
+ gGL.popUIMatrix();
gGL.popMatrix();
+
gGL.flush();
}
void LLViewerWindow::draw()
{
-#if LL_DEBUG
+//#if LL_DEBUG
LLView::sIsDrawing = TRUE;
-#endif
+//#endif
stop_glerror();
LLUI::setLineWidth(1.f);
@@ -2053,9 +2058,11 @@ void LLViewerWindow::draw()
// No translation needed, this view is glued to 0,0
gGL.pushMatrix();
+ LLUI::pushMatrix();
{
+
// scale view by UI global scale factor and aspect ratio correction factor
- glScalef(mDisplayScale.mV[VX], mDisplayScale.mV[VY], 1.f);
+ gGL.scaleUI(mDisplayScale.mV[VX], mDisplayScale.mV[VY], 1.f);
LLVector2 old_scale_factor = LLUI::sGLScaleFactor;
// apply camera zoom transform (for high res screenshots)
@@ -2121,11 +2128,12 @@ void LLViewerWindow::draw()
LLUI::sGLScaleFactor = old_scale_factor;
}
+ LLUI::popMatrix();
gGL.popMatrix();
-#if LL_DEBUG
+//#if LL_DEBUG
LLView::sIsDrawing = FALSE;
-#endif
+//#endif
}
// Takes a single keydown event, usually when UI is visible
@@ -2417,6 +2425,30 @@ void LLViewerWindow::handleScrollWheel(S32 clicks)
return;
}
+void LLViewerWindow::addPopup(LLView* popup)
+{
+ if (mPopupView)
+ {
+ mPopupView->addPopup(popup);
+ }
+}
+
+void LLViewerWindow::removePopup(LLView* popup)
+{
+ if (mPopupView)
+ {
+ mPopupView->removePopup(popup);
+ }
+}
+
+void LLViewerWindow::clearPopups()
+{
+ if (mPopupView)
+ {
+ mPopupView->clearPopups();
+ }
+}
+
void LLViewerWindow::moveCursorToCenter()
{
if (! gSavedSettings.getBOOL("DisableMouseWarp"))
@@ -2473,6 +2505,9 @@ void append_xui_tooltip(LLView* viewp, LLToolTip::Params& params)
// event processing.
void LLViewerWindow::updateUI()
{
+ static LLFastTimer::DeclareTimer ftm("Update UI");
+ LLFastTimer t(ftm);
+
static std::string last_handle_msg;
LLConsole::updateClass();
@@ -2542,6 +2577,33 @@ void LLViewerWindow::updateUI()
}
// aggregate visible views that contain mouse cursor in display order
+ LLPopupView::popup_list_t popups = mPopupView->getCurrentPopups();
+
+ for(LLPopupView::popup_list_t::iterator popup_it = popups.begin(); popup_it != popups.end(); ++popup_it)
+ {
+ LLView* popup = popup_it->get();
+ if (popup && popup->calcScreenBoundingRect().pointInRect(x, y))
+ {
+ // iterator over contents of top_ctrl, and throw into mouse_hover_set
+ for (LLView::tree_iterator_t it = popup->beginTreeDFS();
+ it != popup->endTreeDFS();
+ ++it)
+ {
+ LLView* viewp = *it;
+ if (viewp->getVisible()
+ && viewp->calcScreenBoundingRect().pointInRect(x, y))
+ {
+ // we have a view that contains the mouse, add it to the set
+ mouse_hover_set.insert(viewp->getHandle());
+ }
+ else
+ {
+ // skip this view and all of its children
+ it.skipDescendants();
+ }
+ }
+ }
+ }
// while the top_ctrl contains the mouse cursor, only it and its descendants will receive onMouseEnter events
if (top_ctrl && top_ctrl->calcScreenBoundingRect().pointInRect(x, y))
@@ -3004,17 +3066,16 @@ void LLViewerWindow::updateWorldViewRect(bool use_full_window)
if (mWorldViewRectRaw != new_world_rect)
{
- LLRect old_world_rect = mWorldViewRectRaw;
mWorldViewRectRaw = new_world_rect;
gResizeScreenTexture = TRUE;
LLViewerCamera::getInstance()->setViewHeightInPixels( mWorldViewRectRaw.getHeight() );
LLViewerCamera::getInstance()->setAspect( getWorldViewAspectRatio() );
+ LLRect old_world_rect_scaled = mWorldViewRectScaled;
mWorldViewRectScaled = calcScaledRect(mWorldViewRectRaw, mDisplayScale);
// sending a signal with a new WorldView rect
- old_world_rect = calcScaledRect(old_world_rect, mDisplayScale);
- mOnWorldViewRectUpdated(old_world_rect, mWorldViewRectScaled);
+ mOnWorldViewRectUpdated(old_world_rect_scaled, mWorldViewRectScaled);
}
}
@@ -3054,7 +3115,6 @@ void LLViewerWindow::saveLastMouse(const LLCoordGL &point)
// Must be called after displayObjects is called, which sets the mGLName parameter
// NOTE: This function gets called 3 times:
// render_ui_3d: FALSE, FALSE, TRUE
-// renderObjectsForSelect: TRUE, pick_parcel_wall, FALSE
// render_hud_elements: FALSE, FALSE, FALSE
void LLViewerWindow::renderSelections( BOOL for_gl_pick, BOOL pick_parcel_walls, BOOL for_hud )
{
diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h
index bfce65f2ba..410445d97f 100644
--- a/indra/newview/llviewerwindow.h
+++ b/indra/newview/llviewerwindow.h
@@ -69,6 +69,7 @@ class LLHUDIcon;
class LLWindow;
class LLRootView;
class LLViewerWindowListener;
+class LLPopupView;
#define PICK_HALF_WIDTH 5
#define PICK_DIAMETER (2 * PICK_HALF_WIDTH + 1)
@@ -300,6 +301,11 @@ public:
BOOL handleKey(KEY key, MASK mask);
void handleScrollWheel (S32 clicks);
+ // add and remove views from "popup" layer
+ void addPopup(LLView* popup);
+ void removePopup(LLView* popup);
+ void clearPopups();
+
// Hide normal UI when a logon fails, re-show everything when logon is attempted again
void setNormalControlsVisible( BOOL visible );
void setMenuBackgroundColor(bool god_mode = false, bool dev_grid = false);
@@ -458,6 +464,7 @@ protected:
LLHandle<LLView> mWorldViewPlaceholder; // widget that spans the portion of screen dedicated to rendering the 3d world
LLHandle<LLView> mNonSideTrayView; // parent of world view + bottom bar, etc...everything but the side tray
LLHandle<LLView> mFloaterViewHolder; // container for floater_view
+ LLPopupView* mPopupView; // container for transient popups
class LLDebugText* mDebugText; // Internal class for debug text
@@ -477,7 +484,7 @@ protected:
private:
// Object temporarily hovered over while dragging
LLPointer<LLViewerObject> mDragHoveredObject;
-};
+};
void toggle_flying(void*);
void toggle_first_person();
diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp
index 00998b300a..7dc8772753 100644
--- a/indra/newview/llvoavatarself.cpp
+++ b/indra/newview/llvoavatarself.cpp
@@ -211,6 +211,8 @@ BOOL LLVOAvatarSelf::buildSkeletonSelf(const LLVOAvatarSkeletonInfo *info)
LLVector3 scale(1.f, aspect, 1.f);
mScreenp->setScale(scale);
mScreenp->setWorldPosition(LLVector3::zero);
+ // need to update screen agressively when sidebar opens/closes, for example
+ mScreenp->mUpdateXform = TRUE;
return TRUE;
}
@@ -1290,19 +1292,23 @@ BOOL LLVOAvatarSelf::isTextureDefined(LLVOAvatarDefines::ETextureIndex type, U32
}
//-----------------------------------------------------------------------------
-// virtual
// requestLayerSetUploads()
//-----------------------------------------------------------------------------
void LLVOAvatarSelf::requestLayerSetUploads()
{
for (U32 i = 0; i < mBakedTextureDatas.size(); i++)
{
- ETextureIndex tex_index = mBakedTextureDatas[i].mTextureIndex;
- BOOL layer_baked = isTextureDefined(tex_index, gAgentWearables.getWearableCount(tex_index));
- if (!layer_baked && mBakedTextureDatas[i].mTexLayerSet)
- {
- mBakedTextureDatas[i].mTexLayerSet->requestUpload();
- }
+ requestLayerSetUpload((EBakedTextureIndex)i);
+ }
+}
+
+void LLVOAvatarSelf::requestLayerSetUpload(LLVOAvatarDefines::EBakedTextureIndex i)
+{
+ ETextureIndex tex_index = mBakedTextureDatas[i].mTextureIndex;
+ bool layer_baked = isTextureDefined(tex_index, gAgentWearables.getWearableCount(tex_index));
+ if (!layer_baked && mBakedTextureDatas[i].mTexLayerSet)
+ {
+ mBakedTextureDatas[i].mTexLayerSet->requestUpload();
}
}
@@ -1653,8 +1659,11 @@ BOOL LLVOAvatarSelf::updateIsFullyLoaded()
{
BOOL loading = FALSE;
- // do we have a shape?
- if (visualParamWeightsAreDefault())
+ // do we have our body parts?
+ if (gAgentWearables.getWearableCount(WT_SHAPE) == 0 ||
+ gAgentWearables.getWearableCount(WT_HAIR) == 0 ||
+ gAgentWearables.getWearableCount(WT_EYES) == 0 ||
+ gAgentWearables.getWearableCount(WT_SKIN) == 0)
{
loading = TRUE;
}
@@ -1718,7 +1727,7 @@ BOOL LLVOAvatarSelf::canGrabLocalTexture(ETextureIndex type, U32 index) const
return FALSE;
}
- if (gAgent.isGodlike())
+ if (gAgent.isGodlikeWithoutAdminMenuFakery())
return TRUE;
// Check permissions of textures that show up in the
@@ -1759,14 +1768,8 @@ BOOL LLVOAvatarSelf::canGrabLocalTexture(ETextureIndex type, U32 index) const
// search for full permissions version
for (S32 i = 0; i < items.count(); i++)
{
- LLInventoryItem* itemp = items[i];
- LLPermissions item_permissions = itemp->getPermissions();
- if ( item_permissions.allowOperationBy(
- PERM_MODIFY, gAgent.getID(), gAgent.getGroupID()) &&
- item_permissions.allowOperationBy(
- PERM_COPY, gAgent.getID(), gAgent.getGroupID()) &&
- item_permissions.allowOperationBy(
- PERM_TRANSFER, gAgent.getID(), gAgent.getGroupID()) )
+ LLViewerInventoryItem* itemp = items[i];
+ if (itemp->getIsFullPerm())
{
can_grab = TRUE;
break;
diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h
index dc70996f0b..df3493c434 100644
--- a/indra/newview/llvoavatarself.h
+++ b/indra/newview/llvoavatarself.h
@@ -222,6 +222,7 @@ protected:
//--------------------------------------------------------------------
public:
void requestLayerSetUploads();
+ void requestLayerSetUpload(LLVOAvatarDefines::EBakedTextureIndex i);
void requestLayerSetUpdate(LLVOAvatarDefines::ETextureIndex i);
LLTexLayerSet* getLayerSet(LLVOAvatarDefines::ETextureIndex index) const;
diff --git a/indra/newview/llvoclouds.cpp b/indra/newview/llvoclouds.cpp
index 177cb16c50..5153cef709 100644
--- a/indra/newview/llvoclouds.cpp
+++ b/indra/newview/llvoclouds.cpp
@@ -77,9 +77,11 @@ BOOL LLVOClouds::isActive() const
return TRUE;
}
-
BOOL LLVOClouds::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)
{
+ static LLFastTimer::DeclareTimer ftm("Idle Clouds");
+ LLFastTimer t(ftm);
+
if (!(gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_CLOUDS)))
{
return TRUE;
diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp
index dfd67d0c38..fac7fa6a18 100644
--- a/indra/newview/llvoicechannel.cpp
+++ b/indra/newview/llvoicechannel.cpp
@@ -140,7 +140,10 @@ LLVoiceChannel::LLVoiceChannel(const LLUUID& session_id, const std::string& sess
LLVoiceChannel::~LLVoiceChannel()
{
// Don't use LLVoiceClient::getInstance() here -- this can get called during atexit() time and that singleton MAY have already been destroyed.
- if(gVoiceClient)
+ // Using call of instanceExists() instead of gVoiceClient in check to avoid crash in LLVoiceClient::removeObserver()
+ // when quitting viewer by closing console window before login (though in case of such quit crash will occur
+ // later in other destructors anyway). EXT-5524
+ if(LLVoiceClient::instanceExists())
{
gVoiceClient->removeObserver(this);
}
diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp
index 07a78fbebf..223ebc0081 100644
--- a/indra/newview/llvoiceclient.cpp
+++ b/indra/newview/llvoiceclient.cpp
@@ -102,6 +102,13 @@ const F32 UPDATE_THROTTLE_SECONDS = 0.1f;
const F32 LOGIN_RETRY_SECONDS = 10.0f;
const int MAX_LOGIN_RETRIES = 12;
+// Defines the maximum number of times(in a row) "stateJoiningSession" case for spatial channel is reached in stateMachine()
+// which is treated as normal. If this number is exceeded we suspect there is a problem with connection
+// to voice server (EXT-4313). When voice works correctly, there is from 1 to 15 times. 50 was chosen
+// to make sure we don't make mistake when slight connection problems happen- situation when connection to server is
+// blocked is VERY rare and it's better to sacrifice response time in this situation for the sake of stability.
+const int MAX_NORMAL_JOINING_SPATIAL_NUM = 50;
+
static void setUUIDFromStringHash(LLUUID &uuid, const std::string &str)
{
LLMD5 md5_uuid;
@@ -1221,6 +1228,7 @@ LLVoiceClient::LLVoiceClient() :
mRelogRequested(false),
mConnected(false),
mPump(NULL),
+ mSpatialJoiningNum(0),
mTuningMode(false),
mTuningEnergy(0.0f),
@@ -2223,6 +2231,8 @@ void LLVoiceClient::stateMachine()
//MARK: stateNoChannel
case stateNoChannel:
+
+ mSpatialJoiningNum = 0;
// Do this here as well as inside sendPositionalUpdate().
// Otherwise, if you log in but don't join a proximal channel (such as when your login location has voice disabled), your friends list won't sync.
sendFriendsListUpdates();
@@ -2279,6 +2289,23 @@ void LLVoiceClient::stateMachine()
//MARK: stateJoiningSession
case stateJoiningSession: // waiting for session handle
+
+ // If this is true we have problem with connection to voice server (EXT-4313).
+ // See descriptions of mSpatialJoiningNum and MAX_NORMAL_JOINING_SPATIAL_NUM.
+ if(mSpatialJoiningNum == MAX_NORMAL_JOINING_SPATIAL_NUM)
+ {
+ // Notify observers to let them know there is problem with voice
+ notifyStatusObservers(LLVoiceClientStatusObserver::STATUS_VOICE_DISABLED);
+ llwarns << "There seems to be problem with connection to voice server. Disabling voice chat abilities." << llendl;
+ }
+
+ // Increase mSpatialJoiningNum only for spatial sessions- it's normal to reach this case for
+ // example for p2p many times while waiting for response, so it can't be used to detect errors
+ if(mAudioSession && mAudioSession->mIsSpatial)
+ {
+ mSpatialJoiningNum++;
+ }
+
// joinedAudioSession() will transition from here to stateSessionJoined.
if(!mVoiceEnabled)
{
@@ -2302,6 +2329,8 @@ void LLVoiceClient::stateMachine()
//MARK: stateSessionJoined
case stateSessionJoined: // session handle received
+
+ mSpatialJoiningNum = 0;
// It appears that I need to wait for BOTH the SessionGroup.AddSession response and the SessionStateChangeEvent with state 4
// before continuing from this state. They can happen in either order, and if I don't wait for both, things can get stuck.
// For now, the SessionGroup.AddSession response handler sets mSessionHandle and the SessionStateChangeEvent handler transitions to stateSessionJoined.
@@ -5992,7 +6021,9 @@ bool LLVoiceClient::voiceEnabled()
bool LLVoiceClient::voiceWorking()
{
//Added stateSessionTerminated state to avoid problems with call in parcels with disabled voice (EXT-4758)
- return (stateLoggedIn <= mState) && (mState <= stateSessionTerminated);
+ // Condition with joining spatial num was added to take into account possible problems with connection to voice
+ // server(EXT-4313). See bug descriptions and comments for MAX_NORMAL_JOINING_SPATIAL_NUM for more info.
+ return (mSpatialJoiningNum < MAX_NORMAL_JOINING_SPATIAL_NUM) && (stateLoggedIn <= mState) && (mState <= stateSessionTerminated);
}
void LLVoiceClient::setLipSyncEnabled(BOOL enabled)
diff --git a/indra/newview/llvoiceclient.h b/indra/newview/llvoiceclient.h
index d020d796c0..c164391d7c 100644
--- a/indra/newview/llvoiceclient.h
+++ b/indra/newview/llvoiceclient.h
@@ -585,6 +585,10 @@ static void updatePosition(void);
state mState;
bool mSessionTerminateRequested;
bool mRelogRequested;
+ // Number of times (in a row) "stateJoiningSession" case for spatial channel is reached in stateMachine().
+ // The larger it is the greater is possibility there is a problem with connection to voice server.
+ // Introduced while fixing EXT-4313.
+ int mSpatialJoiningNum;
void setState(state inState);
state getState(void) { return mState; };
diff --git a/indra/newview/llvotextbubble.cpp b/indra/newview/llvotextbubble.cpp
index 75beab519e..428ef20006 100644
--- a/indra/newview/llvotextbubble.cpp
+++ b/indra/newview/llvotextbubble.cpp
@@ -84,6 +84,9 @@ BOOL LLVOTextBubble::isActive() const
BOOL LLVOTextBubble::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)
{
+ static LLFastTimer::DeclareTimer ftm("Text Bubble");
+ LLFastTimer t(ftm);
+
F32 dt = mUpdateTimer.getElapsedTimeF32();
// Die after a few seconds.
if (dt > 1.5f)
diff --git a/indra/newview/llvotree.cpp b/indra/newview/llvotree.cpp
index 24f1c4bd24..55e2c58a52 100644
--- a/indra/newview/llvotree.cpp
+++ b/indra/newview/llvotree.cpp
@@ -1141,7 +1141,7 @@ U32 LLVOTree::drawBranchPipeline(LLMatrix4& matrix, U16* indicesp, S32 trunk_LOD
glLoadMatrixf((F32*) scale_mat.mMatrix);
glDrawElements(GL_TRIANGLES, sLODIndexCount[trunk_LOD], GL_UNSIGNED_SHORT, indicesp + sLODIndexOffset[trunk_LOD]);
- gPipeline.addTrianglesDrawn(LEAF_INDICES/3);
+ gPipeline.addTrianglesDrawn(LEAF_INDICES);
stop_glerror();
ret += sLODIndexCount[trunk_LOD];
}
@@ -1191,7 +1191,7 @@ U32 LLVOTree::drawBranchPipeline(LLMatrix4& matrix, U16* indicesp, S32 trunk_LOD
glLoadMatrixf((F32*) scale_mat.mMatrix);
glDrawElements(GL_TRIANGLES, LEAF_INDICES, GL_UNSIGNED_SHORT, indicesp);
- gPipeline.addTrianglesDrawn(LEAF_INDICES/3);
+ gPipeline.addTrianglesDrawn(LEAF_INDICES);
stop_glerror();
ret += LEAF_INDICES;
}
@@ -1216,7 +1216,7 @@ U32 LLVOTree::drawBranchPipeline(LLMatrix4& matrix, U16* indicesp, S32 trunk_LOD
glLoadMatrixf((F32*) scale_mat.mMatrix);
glDrawElements(GL_TRIANGLES, LEAF_INDICES, GL_UNSIGNED_SHORT, indicesp);
- gPipeline.addTrianglesDrawn(LEAF_INDICES/3);
+ gPipeline.addTrianglesDrawn(LEAF_INDICES);
stop_glerror();
ret += LEAF_INDICES;
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 9fbcd1d32a..86d8204473 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -603,6 +603,9 @@ BOOL LLVOVolume::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)
{
LLViewerObject::idleUpdate(agent, world, time);
+ static LLFastTimer::DeclareTimer ftm("Volume");
+ LLFastTimer t(ftm);
+
if (mDead || mDrawable.isNull())
{
return TRUE;
@@ -624,6 +627,18 @@ BOOL LLVOVolume::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)
mVolumeImpl->doIdleUpdate(agent, world, time);
}
+ const S32 MAX_ACTIVE_OBJECT_QUIET_FRAMES = 40;
+
+ if (mDrawable->isActive())
+ {
+ if (mDrawable->isRoot() &&
+ mDrawable->mQuietCount++ > MAX_ACTIVE_OBJECT_QUIET_FRAMES &&
+ (!mDrawable->getParent() || !mDrawable->getParent()->isActive()))
+ {
+ mDrawable->makeStatic();
+ }
+ }
+
return TRUE;
}
@@ -1009,6 +1024,8 @@ void LLVOVolume::sculpt()
if(!raw_image)
{
+ llassert(discard_level < 0) ;
+
sculpt_width = 0;
sculpt_height = 0;
sculpt_data = NULL ;
@@ -1040,7 +1057,6 @@ void LLVOVolume::sculpt()
if (volume != this && volume->getVolume() == getVolume())
{
gPipeline.markRebuild(volume->mDrawable, LLDrawable::REBUILD_GEOMETRY, FALSE);
- volume->mSculptChanged = TRUE;
}
}
}
@@ -1072,7 +1088,7 @@ BOOL LLVOVolume::calcLOD()
S32 cur_detail = 0;
F32 radius = getVolume()->mLODScaleBias.scaledVec(getScale()).length();
- F32 distance = llmin(mDrawable->mDistanceWRTCamera, MAX_LOD_DISTANCE);
+ F32 distance = mDrawable->mDistanceWRTCamera; //llmin(mDrawable->mDistanceWRTCamera, MAX_LOD_DISTANCE);
distance *= sDistanceFactor;
F32 rampDist = LLVOVolume::sLODFactor * 2;
@@ -1396,7 +1412,7 @@ BOOL LLVOVolume::updateGeometry(LLDrawable *drawable)
return res;
}
- dirtySpatialGroup();
+ dirtySpatialGroup(drawable->isState(LLDrawable::IN_REBUILD_Q1));
BOOL compiled = FALSE;
@@ -1499,7 +1515,14 @@ void LLVOVolume::updateFaceSize(S32 idx)
else
{
const LLVolumeFace& vol_face = getVolume()->getVolumeFace(idx);
- facep->setSize(vol_face.mVertices.size(), vol_face.mIndices.size());
+ if (LLPipeline::sUseTriStrips)
+ {
+ facep->setSize(vol_face.mVertices.size(), vol_face.mTriStrip.size());
+ }
+ else
+ {
+ facep->setSize(vol_face.mVertices.size(), vol_face.mIndices.size());
+ }
}
}
@@ -3249,6 +3272,11 @@ void LLVolumeGeometryManager::registerFace(LLSpatialGroup* group, LLFace* facep,
draw_info->mExtents[0] = facep->mExtents[0];
draw_info->mExtents[1] = facep->mExtents[1];
validate_draw_info(*draw_info);
+
+ if (LLPipeline::sUseTriStrips)
+ {
+ draw_info->mDrawMode = LLRender::TRIANGLE_STRIP;
+ }
}
}
@@ -3333,7 +3361,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
drawablep->updateFaceSize(i);
LLFace* facep = drawablep->getFace(i);
- if (cur_total > max_total)
+ if (cur_total > max_total || facep->getIndicesCount() <= 0 || facep->getGeomCount() <= 0)
{
facep->mVertexBuffer = NULL;
facep->mLastVertexBuffer = NULL;
diff --git a/indra/newview/llvowlsky.cpp b/indra/newview/llvowlsky.cpp
index 0272a2ab34..1749ccef94 100644
--- a/indra/newview/llvowlsky.cpp
+++ b/indra/newview/llvowlsky.cpp
@@ -519,7 +519,7 @@ void LLVOWLSky::drawDome(void)
LLRender::TRIANGLE_STRIP,
0, strips_segment->getRequestedVerts()-1, strips_segment->getRequestedIndices(),
0);
- gPipeline.addTrianglesDrawn(strips_segment->getRequestedIndices() - 2);
+ gPipeline.addTrianglesDrawn(strips_segment->getRequestedIndices(), LLRender::TRIANGLE_STRIP);
}
#else
diff --git a/indra/newview/llwearablelist.cpp b/indra/newview/llwearablelist.cpp
index d6a9837b86..b2de31218b 100644
--- a/indra/newview/llwearablelist.cpp
+++ b/indra/newview/llwearablelist.cpp
@@ -235,8 +235,9 @@ LLWearable* LLWearableList::createNewWearable( EWearableType type )
LLWearable *wearable = generateNewWearable();
wearable->setType( type );
- std::string name = "New ";
- name.append( wearable->getTypeLabel() );
+ LLSD item_name = LLSD().with("[WEARABLE_ITEM]", wearable->getTypeLabel());
+ std::string name = LLTrans::getString("NewWearable");
+ LLStringUtil::format(name, item_name);
wearable->setName( name );
LLPermissions perm;
diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp
index 118d7f8d08..d7e5b464a6 100644
--- a/indra/newview/llworld.cpp
+++ b/indra/newview/llworld.cpp
@@ -657,6 +657,9 @@ void LLWorld::updateParticles()
void LLWorld::updateClouds(const F32 dt)
{
+ static LLFastTimer::DeclareTimer ftm("World Clouds");
+ LLFastTimer t(ftm);
+
if (gSavedSettings.getBOOL("FreezeTime") ||
!gSavedSettings.getBOOL("SkyUseClassicClouds"))
{
diff --git a/indra/newview/llworldmap.h b/indra/newview/llworldmap.h
index 7e37727b86..e4e677eb64 100644
--- a/indra/newview/llworldmap.h
+++ b/indra/newview/llworldmap.h
@@ -123,6 +123,7 @@ public:
bool isName(const std::string& name) const;
bool isDown() { return (mAccess == SIM_ACCESS_DOWN); }
bool isPG() { return (mAccess <= SIM_ACCESS_PG); }
+ bool isAdult() { return (mAccess == SIM_ACCESS_ADULT); }
// Debug only
void dump() const; // Print the region info to the standard output
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 60990447c0..4de1560f16 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -117,7 +117,6 @@ const F32 BACKLIGHT_DAY_MAGNITUDE_AVATAR = 0.2f;
const F32 BACKLIGHT_NIGHT_MAGNITUDE_AVATAR = 0.1f;
const F32 BACKLIGHT_DAY_MAGNITUDE_OBJECT = 0.1f;
const F32 BACKLIGHT_NIGHT_MAGNITUDE_OBJECT = 0.08f;
-const S32 MAX_ACTIVE_OBJECT_QUIET_FRAMES = 40;
const S32 MAX_OFFSCREEN_GEOMETRY_CHANGES_PER_FRAME = 10;
const U32 REFLECTION_MAP_RES = 128;
@@ -272,6 +271,7 @@ BOOL LLPipeline::sDelayVBUpdate = TRUE;
BOOL LLPipeline::sFastAlpha = TRUE;
BOOL LLPipeline::sDisableShaders = FALSE;
BOOL LLPipeline::sRenderBump = TRUE;
+BOOL LLPipeline::sUseTriStrips = TRUE;
BOOL LLPipeline::sUseFarClip = TRUE;
BOOL LLPipeline::sShadowRender = FALSE;
BOOL LLPipeline::sWaterReflections = FALSE;
@@ -360,6 +360,7 @@ void LLPipeline::init()
sDynamicLOD = gSavedSettings.getBOOL("RenderDynamicLOD");
sRenderBump = gSavedSettings.getBOOL("RenderObjectBump");
+ sUseTriStrips = gSavedSettings.getBOOL("RenderUseTriStrips");
sRenderAttachedLights = gSavedSettings.getBOOL("RenderAttachedLights");
sRenderAttachedParticles = gSavedSettings.getBOOL("RenderAttachedParticles");
@@ -478,8 +479,6 @@ void LLPipeline::cleanup()
releaseGLBuffers();
- mBloomImagep = NULL;
- mBloomImage2p = NULL;
mFaceSelectImagep = NULL;
mMovedBridge.clear();
@@ -1413,38 +1412,26 @@ void LLPipeline::updateMove()
assertInitialized();
- for (LLDrawable::drawable_set_t::iterator iter = mRetexturedList.begin();
- iter != mRetexturedList.end(); ++iter)
{
- LLDrawable* drawablep = *iter;
- if (drawablep && !drawablep->isDead())
- {
- drawablep->updateTexture();
- }
- }
- mRetexturedList.clear();
-
- updateMovedList(mMovedList);
+ static LLFastTimer::DeclareTimer ftm("Retexture");
+ LLFastTimer t(ftm);
- for (LLDrawable::drawable_set_t::iterator iter = mActiveQ.begin();
- iter != mActiveQ.end(); )
- {
- LLDrawable::drawable_set_t::iterator curiter = iter++;
- LLDrawable* drawablep = *curiter;
- if (drawablep && !drawablep->isDead())
+ for (LLDrawable::drawable_set_t::iterator iter = mRetexturedList.begin();
+ iter != mRetexturedList.end(); ++iter)
{
- if (drawablep->isRoot() &&
- drawablep->mQuietCount++ > MAX_ACTIVE_OBJECT_QUIET_FRAMES &&
- (!drawablep->getParent() || !drawablep->getParent()->isActive()))
+ LLDrawable* drawablep = *iter;
+ if (drawablep && !drawablep->isDead())
{
- drawablep->makeStatic(); // removes drawable and its children from mActiveQ
- iter = mActiveQ.upper_bound(drawablep); // next valid entry
+ drawablep->updateTexture();
}
}
- else
- {
- mActiveQ.erase(curiter);
- }
+ mRetexturedList.clear();
+ }
+
+ {
+ static LLFastTimer::DeclareTimer ftm("Moved List");
+ LLFastTimer t(ftm);
+ updateMovedList(mMovedList);
}
//balance octrees
@@ -2791,10 +2778,8 @@ void render_hud_elements()
LLViewerParcelMgr::getInstance()->render();
LLViewerParcelMgr::getInstance()->renderParcelCollision();
- // Render debugging beacons.
- //gObjectList.renderObjectBeacons();
- //LLHUDObject::renderAll();
- //gObjectList.resetObjectBeacons();
+ // Render name tags.
+ LLHUDObject::renderAll();
}
else if (gForceRenderLandFence)
{
@@ -3060,12 +3045,6 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
}
}
- if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_PICKING))
- {
- LLAppViewer::instance()->pingMainloopTimeout("Pipeline:RenderForSelect");
- gObjectList.renderObjectsForSelect(camera, gViewerWindow->getWindowRectScaled());
- }
- else
{
LLFastTimer t(FTM_POOLS);
@@ -3205,7 +3184,6 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
{
// Render debugging beacons.
gObjectList.renderObjectBeacons();
- LLHUDObject::renderAll();
gObjectList.resetObjectBeacons();
}
@@ -3437,7 +3415,6 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera)
{
// Render debugging beacons.
gObjectList.renderObjectBeacons();
- LLHUDObject::renderAll();
gObjectList.resetObjectBeacons();
}
@@ -3516,9 +3493,19 @@ void LLPipeline::renderGeomShadow(LLCamera& camera)
}
-void LLPipeline::addTrianglesDrawn(S32 count)
+void LLPipeline::addTrianglesDrawn(S32 index_count, U32 render_type)
{
assertInitialized();
+ S32 count = 0;
+ if (render_type == LLRender::TRIANGLE_STRIP)
+ {
+ count = index_count-2;
+ }
+ else
+ {
+ count = index_count/3;
+ }
+
mTrianglesDrawn += count;
mBatchCount++;
mMaxBatchSize = llmax(mMaxBatchSize, count);
@@ -4799,10 +4786,6 @@ void LLPipeline::findReferences(LLDrawable *drawablep)
llinfos << "In mRetexturedList" << llendl;
}
- if (mActiveQ.find(drawablep) != mActiveQ.end())
- {
- llinfos << "In mActiveQ" << llendl;
- }
if (std::find(mBuildQ1.begin(), mBuildQ1.end(), drawablep) != mBuildQ1.end())
{
llinfos << "In mBuildQ1" << llendl;
@@ -4959,19 +4942,6 @@ void LLPipeline::setLight(LLDrawable *drawablep, BOOL is_light)
}
}
-void LLPipeline::setActive(LLDrawable *drawablep, BOOL active)
-{
- assertInitialized();
- if (active)
- {
- mActiveQ.insert(drawablep);
- }
- else
- {
- mActiveQ.erase(drawablep);
- }
-}
-
//static
void LLPipeline::toggleRenderType(U32 type)
{
@@ -5387,6 +5357,7 @@ void LLPipeline::resetVertexBuffers(LLDrawable* drawable)
void LLPipeline::resetVertexBuffers()
{
sRenderBump = gSavedSettings.getBOOL("RenderObjectBump");
+ sUseTriStrips = gSavedSettings.getBOOL("RenderUseTriStrips");
for (LLWorld::region_list_t::const_iterator iter = LLWorld::getInstance()->getRegionList().begin();
iter != LLWorld::getInstance()->getRegionList().end(); ++iter)
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index 67004a5f2d..6aecc23aac 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -270,15 +270,14 @@ public:
void shiftObjects(const LLVector3 &offset);
void setLight(LLDrawable *drawablep, BOOL is_light);
- void setActive(LLDrawable *drawablep, BOOL active);
-
+
BOOL hasRenderBatches(const U32 type) const;
LLCullResult::drawinfo_list_t::iterator beginRenderMap(U32 type);
LLCullResult::drawinfo_list_t::iterator endRenderMap(U32 type);
LLCullResult::sg_list_t::iterator beginAlphaGroups();
LLCullResult::sg_list_t::iterator endAlphaGroups();
- void addTrianglesDrawn(S32 count);
+ void addTrianglesDrawn(S32 index_count, U32 render_type = LLRender::TRIANGLES);
BOOL hasRenderType(const U32 type) const { return (type && (mRenderTypeMask & (1<<type))) ? TRUE : FALSE; }
BOOL hasRenderDebugFeatureMask(const U32 mask) const { return (mRenderDebugFeatureMask & mask) ? TRUE : FALSE; }
BOOL hasRenderDebugMask(const U32 mask) const { return (mRenderDebugMask & mask) ? TRUE : FALSE; }
@@ -448,7 +447,7 @@ public:
static BOOL sFastAlpha;
static BOOL sDisableShaders; // if TRUE, rendering will be done without shaders
static BOOL sRenderBump;
- static BOOL sUseFBO;
+ static BOOL sUseTriStrips;
static BOOL sUseFarClip;
static BOOL sShadowRender;
static BOOL sWaterReflections;
@@ -589,8 +588,6 @@ protected:
LLViewerObject::vobj_list_t mCreateQ;
- LLDrawable::drawable_set_t mActiveQ;
-
LLDrawable::drawable_set_t mRetexturedList;
class HighlightItem
@@ -676,8 +673,6 @@ protected:
std::vector<LLFace*> mSelectedFaces;
LLPointer<LLViewerFetchedTexture> mFaceSelectImagep;
- LLPointer<LLViewerTexture> mBloomImagep;
- LLPointer<LLViewerTexture> mBloomImage2p;
U32 mLightMask;
U32 mLightMovingMask;
@@ -694,6 +689,7 @@ public:
};
void render_bbox(const LLVector3 &min, const LLVector3 &max);
+void render_hud_elements();
extern LLPipeline gPipeline;
extern BOOL gRenderForSelect;
diff --git a/indra/newview/res/ll_icon.ico b/indra/newview/res/ll_icon.ico
index c35a3fa3a3..87985b9285 100644
--- a/indra/newview/res/ll_icon.ico
+++ b/indra/newview/res/ll_icon.ico
Binary files differ
diff --git a/indra/newview/secondlife.icns b/indra/newview/secondlife.icns
index ceb6036e0e..4560d4bb24 100644
--- a/indra/newview/secondlife.icns
+++ b/indra/newview/secondlife.icns
Binary files differ
diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml
index 069fb4a018..4580efe688 100644
--- a/indra/newview/skins/default/colors.xml
+++ b/indra/newview/skins/default/colors.xml
@@ -350,7 +350,7 @@
value="0.92 0.92 1 0.78" />
<color
name="GridlineColor"
- reference="Red" />
+ reference="White" />
<color
name="GridlineShadowColor"
value="0 0 0 0.31" />
diff --git a/indra/newview/skins/default/textures/icons/unknown_icon.png b/indra/newview/skins/default/textures/icons/unknown_icon.png
new file mode 100644
index 0000000000..8441d86596
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/unknown_icon.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/navbar/BuyArrow_Over.png b/indra/newview/skins/default/textures/navbar/BuyArrow_Over.png
index 41cb88628a..95913dd55b 100644
--- a/indra/newview/skins/default/textures/navbar/BuyArrow_Over.png
+++ b/indra/newview/skins/default/textures/navbar/BuyArrow_Over.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index 97a3998429..3b08408661 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -83,7 +83,7 @@ with the same filename but different name
<texture name="BottomTray_Scroll_Left" file_name="navbar/Arrow_Left_Off.png" preload="false" />
<texture name="BuyArrow_Off" file_name="navbar/BuyArrow_Off.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0" />
- <texture name="BuyArrow_Over" file_name="navbar/BuyArrow_Over.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0" />
+ <texture name="BuyArrow_Over" file_name="navbar/BuyArrow_Over.png" preload="true" scale.left="0" scale.top="1" scale.right="0" scale.bottom="0" />
<texture name="BuyArrow_Press" file_name="navbar/BuyArrow_Press.png" preload="true" scale.left="1" scale.top="1" scale.right="0" scale.bottom="0" />
<texture name="Cam_Avatar_Disabled" file_name="bottomtray/Cam_Avatar_Disabled.png" preload="false" />
@@ -518,6 +518,7 @@ with the same filename but different name
<texture name="SL_Logo" file_name="icons/SL_Logo.png" preload="true" />
<texture name="OBJECT_Icon" file_name="icons/object_icon.png" preload="true" />
+ <texture name="Unknown_Icon" file_name="icons/unknown_icon.png" preload="true" />
<texture name="Snapshot_Off" file_name="bottomtray/Snapshot_Off.png" preload="true" scale.left="4" scale.top="19" scale.right="22" scale.bottom="4" />
<texture name="Snapshot_Over" file_name="bottomtray/Snapshot_Over.png" preload="false" />
@@ -681,6 +682,7 @@ with the same filename but different name
<texture name="silhouette.j2c" use_mips="true" />
<texture name="foot_shadow.j2c" use_mips="true" />
<texture name="cloud-particle.j2c" use_mips="true" />
+ <texture name="transparent.j2c" use_mips="true" />
<!--WARNING OLD ART BELOW *do not use*-->
<texture name="icn_chatbar.tga" />
diff --git a/indra/newview/skins/default/xui/da/floater_about.xml b/indra/newview/skins/default/xui/da/floater_about.xml
index eb63b5c975..91db3c6b1c 100644
--- a/indra/newview/skins/default/xui/da/floater_about.xml
+++ b/indra/newview/skins/default/xui/da/floater_about.xml
@@ -8,7 +8,7 @@
Bygget med [COMPILER] version [COMPILER_VERSION]
</floater.string>
<floater.string name="AboutPosition">
- Du er ved [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1] i [REGION] lokaliseret på [HOSTNAME] ([HOSTIP])
+ Du er ved [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1] i regionen [REGION] lokaliseret ved &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
[SERVER_VERSION]
[[SERVER_RELEASE_NOTES_URL] [ReleaseNotes]]
</floater.string>
@@ -43,13 +43,9 @@ Vivox Version: [VIVOX_VERSION]
</panel>
<panel label="Tak til" name="credits_panel">
<text_editor name="credits_editor">
- Second Life er gjort muligt for dig af Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl and many others.
+ Second Life er gjort muligt for dig af Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les og mange flere.
-Tak til følgende beboerne for at bidrage til at sikre, at dette er den bedste version til dato: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar
-
-
-
-I get by with a little help from my friends. --Richard Starkey
+Tak til følgende beboere for at sikre at denne klient er den bedste version indtil nu: (under udarbejdelse)
</text_editor>
</panel>
<panel label="Licenser" name="licenses_panel">
diff --git a/indra/newview/skins/default/xui/da/floater_about_land.xml b/indra/newview/skins/default/xui/da/floater_about_land.xml
index b4af427538..9bda1397bc 100644
--- a/indra/newview/skins/default/xui/da/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/da/floater_about_land.xml
@@ -81,6 +81,9 @@ Gå til &apos;Verden&apos; &gt; &apos;Om land&apos; eller vælg en anden parcel
<text name="Group:">
Gruppe:
</text>
+ <text name="GroupText">
+ Leyla Linden
+ </text>
<button label="Vælg..." label_selected="Vælg..." name="Set..."/>
<check_box label="Tillad dedikering til gruppe" name="check deed" tool_tip="En gruppe administrator kan dedikere denne jord til gruppen, så det vil blive støttet af gruppen&apos;s jord tildeling."/>
<button label="Dedikér..." label_selected="Dedikér..." name="Deed..." tool_tip="Du kan kun dedikere jord, hvis du er en administrator i den valgte gruppe."/>
@@ -124,6 +127,7 @@ Gå til &apos;Verden&apos; &gt; &apos;Om land&apos; eller vælg en anden parcel
0
</text>
<button label="Køb land..." label_selected="Køb land..." name="Buy Land..."/>
+ <button label="Script Info" name="Scripts..."/>
<button label="Køb til gruppe..." label_selected="Køb til gruppe..." name="Buy For Group..."/>
<button label="Køb adgang..." label_selected="Køb adgang..." name="Buy Pass..." tool_tip="Giver adgang til midlertidig adgang til dette område."/>
<button label="Efterlad land..." label_selected="Efterlad land..." name="Abandon Land..."/>
@@ -377,12 +381,9 @@ Kun større parceller kan vises i søgning.
</text>
<combo_box name="media type" tool_tip="Specificer om URL-adressen er til en film, hjemmeside eller et andet medie."/>
<text left="4" name="at URL:">
- Medie URL:
+ Hjemmeside:
</text>
<button label="Vælg..." label_selected="Vælg..." name="set_media_url"/>
- <text name="CurrentURL:">
- Nuværende side:
- </text>
<check_box label="Skjul medie URL" name="hide_media_url" tool_tip="Klik her for at skjule medie adressen så det kun er dig og evt. parcel gruppens ejer/administratorer der kan se den."/>
<text left="4" name="Description:">
Beskrivelse:
@@ -393,8 +394,8 @@ Kun større parceller kan vises i søgning.
</text>
<texture_picker label="" name="media texture" tool_tip="Klik for at vælge billede"/>
<text name="replace_texture_help">
- (Objekter der har denne tekstur vil vise filmen eller
-web-siden, efter du klikker på play knappen.)
+ Objekter der har denne tekstur vil vise filmen eller web-siden, efter du klikker på play knappen. Vælg
+ Objects using this texture will show the movie or web page after you click the play arrow. Select the thumbnail for at vælge anden tekstur.
</text>
<check_box label="Auto skalér" name="media_auto_scale" tool_tip="Vælg denne mulighed for at skalere indholdet for dette parcel automatisk. Det kan være lidt langsommere og have lavere kvalitet, men ingen anden tekstur skalering eller tilpasning vil være nødvendigt."/>
<text name="media_size" tool_tip="Størrelse for rendering af Web medie, benyt 0 for standard." width="105">
@@ -411,8 +412,10 @@ web-siden, efter du klikker på play knappen.)
<check_box label="Gentag afspil" name="media_loop" tool_tip="Gentager automatisk medie, når det er færdigt med at spille starter det automatisk forfra."/>
</panel>
<panel label="LYD" name="land_audio_panel">
+ <check_box label="Skjul URL" name="hide_music_url" tool_tip="Ved at vælge her, vil musik URL skjules for alle ikke autoriserede brugere der læser denne parcels information."/>
<check_box label="Tillad stemmer" name="parcel_enable_voice_channel"/>
<check_box label="Tillad stemmer (håndteret af estate)" name="parcel_enable_voice_channel_is_estate_disabled"/>
+ <check_box label="Begræns stemme chat til denne parcel" name="parcel_enable_voice_channel_local"/>
</panel>
<panel label="ADGANG" name="land_access_panel">
<panel.string name="access_estate_defined">
@@ -428,8 +431,8 @@ web-siden, efter du klikker på play knappen.)
<text name="Only Allow">
Blokér adgang for::
</text>
- <check_box label="Beboere der ikke har givet betalings oplysninger til Linden Lab [ESTATE_PAYMENT_LIMIT]" name="limit_payment" tool_tip="Blokér beboere der ikke har afgivet identifikationsoplysninger."/>
- <check_box label="Alders verifikation [ESTATE_AGE_LIMIT]" name="limit_age_verified" tool_tip="Blokér beboere der ikke har verificeret deres alder. Se support.secondlife.com for mere information."/>
+ <check_box label="Beboere der ikke har givet betalings oplysninger til Linden Lab [ESTATE_PAYMENT_LIMIT]" name="limit_payment" tool_tip="Blokér for uidentificerede beboere."/>
+ <check_box label="Alders verifikation [ESTATE_AGE_LIMIT]" name="limit_age_verified" tool_tip="Blokér for beboere som ikke er alders-verificerede. Se [SUPPORT_SITE] for mere information."/>
<check_box label="Tillad adgang til gruppen: [GROUP]" name="GroupCheck" tool_tip="Vælg gruppe under fanen &apos;generelt&apos;."/>
<check_box label="Sælg adgang til:" name="PassCheck" tool_tip="Tillader midlertidig adgang til denne parcel"/>
<combo_box name="pass_combo">
diff --git a/indra/newview/skins/default/xui/da/floater_animation_preview.xml b/indra/newview/skins/default/xui/da/floater_animation_preview.xml
index 47e02f0704..fdbfd737ba 100644
--- a/indra/newview/skins/default/xui/da/floater_animation_preview.xml
+++ b/indra/newview/skins/default/xui/da/floater_animation_preview.xml
@@ -106,6 +106,9 @@ Maksimal animations længde er [MAX_LENGTH] sekunder.
<floater.string name="E_ST_NO_XLT_EMOTE">
kan ikke læse &quot;emote&quot; navn.
</floater.string>
+ <floater.string name="E_ST_BAD_ROOT">
+ Incorrect root joint name, use &quot;hip&quot;.
+ </floater.string>
<text name="name_label">
Navn:
</text>
diff --git a/indra/newview/skins/default/xui/da/floater_avatar_textures.xml b/indra/newview/skins/default/xui/da/floater_avatar_textures.xml
index 1111c5e18b..e405a1beb8 100644
--- a/indra/newview/skins/default/xui/da/floater_avatar_textures.xml
+++ b/indra/newview/skins/default/xui/da/floater_avatar_textures.xml
@@ -7,26 +7,37 @@
Blandede teksturer
</text>
<button label="Drop" label_selected="Dump" name="Dump"/>
- <texture_picker label="Hår" name="hair_grain"/>
- <texture_picker label="Alpha - hår" name="hair_alpha"/>
- <texture_picker label="Makeup" name="head_bodypaint"/>
- <texture_picker label="Alpha - hoved" name="head_alpha"/>
- <texture_picker label="Tatovering hovede" name="head_tattoo"/>
- <texture_picker label="Øje" name="eyes_iris"/>
- <texture_picker label="Alpha - øjne" name="eyes_alpha"/>
- <texture_picker label="Bodypaint - overkrop" name="upper_bodypaint"/>
- <texture_picker label="Undertrøje" name="upper_undershirt"/>
- <texture_picker label="Handsker" name="upper_gloves"/>
- <texture_picker label="Trøje" name="upper_shirt"/>
- <texture_picker label="Øvre jakke" name="upper_jacket"/>
- <texture_picker label="Alpha - øvre" name="upper_alpha"/>
- <texture_picker label="Øvre tatovering" name="upper_tattoo"/>
- <texture_picker label="Bodypaint - underkrop" name="lower_bodypaint"/>
- <texture_picker label="Undertøj" name="lower_underpants"/>
- <texture_picker label="Strømper" name="lower_socks"/>
- <texture_picker label="Sko" name="lower_shoes"/>
- <texture_picker label="Bukser" name="lower_pants"/>
- <texture_picker label="Jakke" name="lower_jacket"/>
- <texture_picker label="Alpha - nedre" name="lower_alpha"/>
- <texture_picker label="Nedre tatovering" name="lower_tattoo"/>
+ <scroll_container name="profile_scroll">
+ <panel name="scroll_content_panel">
+ <texture_picker label="Hår" name="hair-baked"/>
+ <texture_picker label="Hår" name="hair_grain"/>
+ <texture_picker label="Alpha - hår" name="hair_alpha"/>
+ <texture_picker label="Hoved" name="head-baked"/>
+ <texture_picker label="Makeup" name="head_bodypaint"/>
+ <texture_picker label="Alpha - hoved" name="head_alpha"/>
+ <texture_picker label="Tatovering - hoved" name="head_tattoo"/>
+ <texture_picker label="Eyes" name="eyes-baked"/>
+ <texture_picker label="Øje" name="eyes_iris"/>
+ <texture_picker label="Alpha - øjne" name="eyes_alpha"/>
+ <texture_picker label="Overkrop" name="upper-baked"/>
+ <texture_picker label="Bodypaint - overkrop" name="upper_bodypaint"/>
+ <texture_picker label="Undertrøje" name="upper_undershirt"/>
+ <texture_picker label="Handsker" name="upper_gloves"/>
+ <texture_picker label="Trøje" name="upper_shirt"/>
+ <texture_picker label="Jakke - foroven" name="upper_jacket"/>
+ <texture_picker label="Alpha - øvre" name="upper_alpha"/>
+ <texture_picker label="Tatovering - øvre" name="upper_tattoo"/>
+ <texture_picker label="Ben" name="lower-baked"/>
+ <texture_picker label="Bodypaint - ben" name="lower_bodypaint"/>
+ <texture_picker label="Underbukser" name="lower_underpants"/>
+ <texture_picker label="Strømper" name="lower_socks"/>
+ <texture_picker label="Sko" name="lower_shoes"/>
+ <texture_picker label="Bukser" name="lower_pants"/>
+ <texture_picker label="Jakke" name="lower_jacket"/>
+ <texture_picker label="Alpha - nedre" name="lower_alpha"/>
+ <texture_picker label="Tatovering - nedre" name="lower_tattoo"/>
+ <texture_picker label="Nederdel" name="skirt-baked"/>
+ <texture_picker label="Nederdel" name="skirt"/>
+ </panel>
+ </scroll_container>
</floater>
diff --git a/indra/newview/skins/default/xui/da/floater_beacons.xml b/indra/newview/skins/default/xui/da/floater_beacons.xml
index d67d859e7b..8049b072ce 100644
--- a/indra/newview/skins/default/xui/da/floater_beacons.xml
+++ b/indra/newview/skins/default/xui/da/floater_beacons.xml
@@ -2,7 +2,7 @@
<floater name="beacons" title="PEJLELYS">
<panel name="beacons_panel">
<text name="label_show">
- Vis:
+ Vis :
</text>
<check_box label="Pejlelys" name="beacons"/>
<check_box label="Fremhævninger" name="highlights"/>
diff --git a/indra/newview/skins/default/xui/da/floater_bulk_perms.xml b/indra/newview/skins/default/xui/da/floater_bulk_perms.xml
index 0dd1a4f6ba..58a1c1b73e 100644
--- a/indra/newview/skins/default/xui/da/floater_bulk_perms.xml
+++ b/indra/newview/skins/default/xui/da/floater_bulk_perms.xml
@@ -49,6 +49,6 @@
<check_box label="Redigere" name="next_owner_modify"/>
<check_box label="Kopiére" name="next_owner_copy"/>
<check_box initial_value="true" label="Overfør" name="next_owner_transfer" tool_tip="Næste ejer kan sælge eller forære dette objekt væk"/>
- <button label="Ok" name="apply"/>
+ <button label="OK" name="apply"/>
<button label="Annullér" name="close"/>
</floater>
diff --git a/indra/newview/skins/default/xui/da/floater_buy_currency.xml b/indra/newview/skins/default/xui/da/floater_buy_currency.xml
index 18ee0e0597..49c2264956 100644
--- a/indra/newview/skins/default/xui/da/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/da/floater_buy_currency.xml
@@ -46,7 +46,7 @@
L$ [AMT]
</text>
<text name="currency_links">
- [http://www.secondlife.com/ payment method] | [http://www.secondlife.com/ currency] | [http://www.secondlife.com/my/account/exchange_rates.php exchange rate]
+ [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/exchange_rates.php exchange rate]
</text>
<text name="exchange_rate_note">
Indtast beløbet for at se nyeste valutakurs.
diff --git a/indra/newview/skins/default/xui/da/floater_buy_land.xml b/indra/newview/skins/default/xui/da/floater_buy_land.xml
index 987ad6585f..57bcc7ad9d 100644
--- a/indra/newview/skins/default/xui/da/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/da/floater_buy_land.xml
@@ -1,5 +1,134 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="buy land" title="KØB LAND">
+ <floater.string name="can_resell">
+ Kan videresælges.
+ </floater.string>
+ <floater.string name="can_not_resell">
+ Kan ikke videresælges.
+ </floater.string>
+ <floater.string name="can_change">
+ Kan samles eller opdeles.
+ </floater.string>
+ <floater.string name="can_not_change">
+ Kan ikke samles eller opdeles.
+ </floater.string>
+ <floater.string name="cant_buy_for_group">
+ Du har ikke tilladelse til at købe land for din aktive gruppe.
+ </floater.string>
+ <floater.string name="no_land_selected">
+ Intet land er valgt.
+ </floater.string>
+ <floater.string name="multiple_parcels_selected">
+ Flere forskellige parceller er valgt.
+Prøv at vælge et mindre område.
+ </floater.string>
+ <floater.string name="no_permission">
+ Du har ikke tilladelse til at købe jord for din aktive gruppe.
+ </floater.string>
+ <floater.string name="parcel_not_for_sale">
+ Det udvalgte parcel er ikke til salg.
+ </floater.string>
+ <floater.string name="group_already_owns">
+ Gruppen ejer allerede parcellet.
+ </floater.string>
+ <floater.string name="you_already_own">
+ Du ejer allerede parcellet.
+ </floater.string>
+ <floater.string name="set_to_sell_to_other">
+ Det udvalgte parcel er sat til salg til en anden.
+ </floater.string>
+ <floater.string name="no_public_land">
+ Det valgte område har ingen offentlige arealer.
+ </floater.string>
+ <floater.string name="not_owned_by_you">
+ Jord, der ejes af en anden bruger er valgt.
+Prøv at vælge et mindre område.
+ </floater.string>
+ <floater.string name="processing">
+ Forarbejder dit køb...
+
+(Dette kan tage et minut eller to.)
+ </floater.string>
+ <floater.string name="fetching_error">
+ Der er sket en fejl under hentning af jord købs oplysninger.
+ </floater.string>
+ <floater.string name="buying_will">
+ Køb af dette areal vil:
+ </floater.string>
+ <floater.string name="buying_for_group">
+ Køb af dette areal vil:
+ </floater.string>
+ <floater.string name="cannot_buy_now">
+ Kan ikke købe nu:
+ </floater.string>
+ <floater.string name="not_for_sale">
+ Ikke til salg:
+ </floater.string>
+ <floater.string name="none_needed">
+ ikke nødvendigt
+ </floater.string>
+ <floater.string name="must_upgrade">
+ Din konto skal være opgraderet for at eje jord.
+ </floater.string>
+ <floater.string name="cant_own_land">
+ Din konto kan eje jord.
+ </floater.string>
+ <floater.string name="land_holdings">
+ Du ejer [BUYER] m² land.
+ </floater.string>
+ <floater.string name="pay_to_for_land">
+ Betal L$ [AMOUNT] til [SELLER] for dette stykke jord
+ </floater.string>
+ <floater.string name="buy_for_US">
+ Køb L$ [AMOUNT] for ca. [LOCAL_AMOUNT],
+ </floater.string>
+ <floater.string name="parcel_meters">
+ Denne parcel er på [AMOUNT] m²
+ </floater.string>
+ <floater.string name="premium_land">
+ Dette stykke jord er premium, og vil tælle som [AMOUNT] m².
+ </floater.string>
+ <floater.string name="discounted_land">
+ Dette stykke jord er på tilbud, og vil tælle som [AMOUNT] m².
+ </floater.string>
+ <floater.string name="meters_supports_object">
+ [AMOUNT] m²
+kan indeholde [AMOUNT2] objekter
+ </floater.string>
+ <floater.string name="sold_with_objects">
+ solgt med objekter
+ </floater.string>
+ <floater.string name="sold_without_objects">
+ objekter ikke inkluderet
+ </floater.string>
+ <floater.string name="info_price_string">
+ L$ [PRICE]
+(L$ [PRICE_PER_SQM]/m²)
+[SOLD_WITH_OBJECTS]
+ </floater.string>
+ <floater.string name="insufficient_land_credits">
+ Gruppen [GROUP] skal bruge nok tildelt jord brugs
+kredit for at dække dette parcel før købet vil blive
+gennemført.
+ </floater.string>
+ <floater.string name="have_enough_lindens">
+ Du har L$ [AMOUNT], hvilket er nok til at købe denne jord.
+ </floater.string>
+ <floater.string name="not_enough_lindens">
+ Du har kun L$ [AMOUNT], og har brug for yderligere L$ [AMOUNT2].
+ </floater.string>
+ <floater.string name="balance_left">
+ Efter købet, vil du have L$ [AMOUNT] tilbage.
+ </floater.string>
+ <floater.string name="balance_needed">
+ Du skal købe mindst L$ [AMOUNT] for at have råd til denne jord.
+ </floater.string>
+ <floater.string name="no_parcel_selected">
+ (intet parcel er valgt)
+ </floater.string>
+ <floater.string name="icon_PG" value="Parcel_PG_Dark"/>
+ <floater.string name="icon_M" value="Parcel_M_Dark"/>
+ <floater.string name="icon_R" value="Parcel_R_Dark"/>
<text name="region_name_label">
Region:
</text>
@@ -107,133 +236,4 @@ Denne parcel er på 512 m².
<check_box label="Fjern [AMOUNT] m² af bidrag fra gruppe." name="remove_contribution"/>
<button label="Køb" name="buy_btn"/>
<button label="Annullér" name="cancel_btn"/>
- <string name="can_resell">
- Kan videresælges.
- </string>
- <string name="can_not_resell">
- Kan ikke videresælges.
- </string>
- <string name="can_change">
- Kan samles eller opdeles.
- </string>
- <string name="can_not_change">
- Kan ikke samles eller opdeles.
- </string>
- <string name="cant_buy_for_group">
- Du har ikke tilladelse til at købe land for din aktive gruppe.
- </string>
- <string name="no_land_selected">
- Intet land er valgt.
- </string>
- <string name="multiple_parcels_selected">
- Flere forskellige parceller er valgt.
-Prøv at vælge et mindre område.
- </string>
- <string name="no_permission">
- Du har ikke tilladelse til at købe jord for din aktive gruppe.
- </string>
- <string name="parcel_not_for_sale">
- Det udvalgte parcel er ikke til salg.
- </string>
- <string name="group_already_owns">
- Gruppen ejer allerede parcellet.
- </string>
- <string name="you_already_own">
- Du ejer allerede parcellet.
- </string>
- <string name="set_to_sell_to_other">
- Det udvalgte parcel er sat til salg til en anden.
- </string>
- <string name="no_public_land">
- Det valgte område har ingen offentlige arealer.
- </string>
- <string name="not_owned_by_you">
- Jord, der ejes af en anden bruger er valgt.
-Prøv at vælge et mindre område.
- </string>
- <string name="processing">
- Forarbejder dit køb...
-
-(Dette kan tage et minut eller to.)
- </string>
- <string name="fetching_error">
- Der er sket en fejl under hentning af jord købs oplysninger.
- </string>
- <string name="buying_will">
- Køb af dette areal vil:
- </string>
- <string name="buying_for_group">
- Køb af dette areal vil:
- </string>
- <string name="cannot_buy_now">
- Kan ikke købe nu:
- </string>
- <string name="not_for_sale">
- Ikke til salg:
- </string>
- <string name="none_needed">
- ikke nødvendigt
- </string>
- <string name="must_upgrade">
- Din konto skal være opgraderet for at eje jord.
- </string>
- <string name="cant_own_land">
- Din konto kan eje jord.
- </string>
- <string name="land_holdings">
- Du ejer [BUYER] m² land.
- </string>
- <string name="pay_to_for_land">
- Betal L$ [AMOUNT] til [SELLER] for dette stykke jord
- </string>
- <string name="buy_for_US">
- Køb L$ [AMOUNT] for ca. [LOCAL_AMOUNT],
- </string>
- <string name="parcel_meters">
- Denne parcel er på [AMOUNT] m²
- </string>
- <string name="premium_land">
- Dette stykke jord er premium, og vil tælle som [AMOUNT] m².
- </string>
- <string name="discounted_land">
- Dette stykke jord er på tilbud, og vil tælle som [AMOUNT] m².
- </string>
- <string name="meters_supports_object">
- [AMOUNT] m²
-kan indeholde [AMOUNT2] objekter
- </string>
- <string name="sold_with_objects">
- solgt med objekter
- </string>
- <string name="sold_without_objects">
- objekter ikke inkluderet
- </string>
- <string name="info_price_string">
- L$ [PRICE]
-(L$ [PRICE_PER_SQM]/m²)
-[SOLD_WITH_OBJECTS]
- </string>
- <string name="insufficient_land_credits">
- Gruppen [GROUP] skal bruge nok tildelt jord brugs
-kredit for at dække dette parcel før købet vil blive
-gennemført.
- </string>
- <string name="have_enough_lindens">
- Du har L$ [AMOUNT], hvilket er nok til at købe denne jord.
- </string>
- <string name="not_enough_lindens">
- Du har kun L$ [AMOUNT], og har brug for yderligere L$ [AMOUNT2].
- </string>
- <string name="balance_left">
- Efter købet, vil du have L$ [AMOUNT] tilbage.
- </string>
- <string name="balance_needed">
- Du skal købe mindst L$ [AMOUNT] for at have råd til denne jord.
- </string>
- <string name="no_parcel_selected">
- (intet parcel er valgt)
- </string>
- <string name="buy_currency">
- Køb L$ [LINDENS] for omkring US$ [USD]
- </string>
</floater>
diff --git a/indra/newview/skins/default/xui/da/floater_color_picker.xml b/indra/newview/skins/default/xui/da/floater_color_picker.xml
index 514b2c4331..f744b06277 100644
--- a/indra/newview/skins/default/xui/da/floater_color_picker.xml
+++ b/indra/newview/skins/default/xui/da/floater_color_picker.xml
@@ -21,7 +21,7 @@
<check_box label="Benyt nu" name="apply_immediate"/>
<button label="" label_selected="" name="color_pipette"/>
<button label="Annullér" label_selected="Annullér" name="cancel_btn"/>
- <button label="Ok" label_selected="Ok" name="select_btn"/>
+ <button label="OK" label_selected="OK" name="select_btn"/>
<text name="Current color:">
Nuværende Farve:
</text>
diff --git a/indra/newview/skins/default/xui/da/floater_customize.xml b/indra/newview/skins/default/xui/da/floater_customize.xml
index 379302ef6a..b8b4b03277 100644
--- a/indra/newview/skins/default/xui/da/floater_customize.xml
+++ b/indra/newview/skins/default/xui/da/floater_customize.xml
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater customize" title="UDSEENDE" width="509">
<tab_container name="customize tab container" width="507">
- <placeholder label="Krops Dele" name="body_parts_placeholder"/>
+ <text label="Krops Dele" name="body_parts_placeholder">
+ Kropsdele
+ </text>
<panel label="Kropsbygning" name="Shape">
<button label="Annullér" label_selected="Annullér" name="Revert"/>
<button label="Krop" label_selected="Krop" name="Body"/>
@@ -14,8 +16,8 @@
<button label="Overkrop" label_selected="Overkrop" name="Torso"/>
<button label="Ben" label_selected="Ben" name="Legs"/>
<radio_group name="sex radio">
- <radio_item label="Kvinde" name="radio"/>
- <radio_item label="Mand" name="radio2"/>
+ <radio_item label="Kvinde" name="radio" value="0"/>
+ <radio_item label="Mand" name="radio2" value="1"/>
</radio_group>
<text name="title">
[DESC]
@@ -33,9 +35,7 @@
Fundet i [PATH]
</text>
<text name="not worn instructions">
- Vælg en ny krop ved at trække en sådan fra din beholdning
-over på din avatar. Du kan også oprette en fra bunden
-og bagefter &apos;tage den på&apos;.
+ Vælg en ny kropsbygning ved at trække en sådan fra din beholdning over på din avatar. Du kan også oprette en fra bunden og bagefter &apos;tage den på&apos;.
</text>
<text name="no modify instructions">
Du har ikke rettigheder til at redigere denne del.
@@ -68,9 +68,7 @@ og bagefter &apos;tage den på&apos;.
Fundet i [PATH]
</text>
<text name="not worn instructions">
- Tag en ny hud på ved at trække en sådan fra din beholdning
-over på din avatar. Du kan også oprette en hud fra bunden
-og bagefter &apos;tage den på&apos;.
+ Vælg en ny hud ved at trække en sådan fra din beholdning over på din avatar. Du kan også oprette en fra bunden og bagefter &apos;tage den på&apos;.
</text>
<text name="no modify instructions">
Du har ikke rettigheder til at redigere denne del.
@@ -107,9 +105,7 @@ og bagefter &apos;tage den på&apos;.
Fundet i [PATH]
</text>
<text name="not worn instructions">
- Tag et ny hår på ved at trække et fra din beholdning
-over på din avatar. Du kan også oprette et nyt hår fra bunden
-og bagefter &apos;tage det på&apos;.
+ Vælg et nyt hår ved at trække et sådant fra din beholdning over på din avatar. Du kan også oprette et fra bunden og bagefter &apos;tage det på&apos;.
</text>
<text name="no modify instructions">
Du har ikke rettigheder til at redigere denne del.
@@ -140,9 +136,7 @@ og bagefter &apos;tage det på&apos;.
Fundet i [PATH]
</text>
<text name="not worn instructions">
- Tag et ny sæt øjne på ved at trække et sæt fra din beholdning
-over på din avatar. Du kan også oprette et nyt sæt øjne fra bunden
-og bagefter &apos;tage dem på&apos;.
+ Vælg et nyt sæt øjne ved at trække et sådant par fra din beholdning over på din avatar. Du kan også oprette et par fra bunden og bagefter &apos;tage dem på&apos;.
</text>
<text name="no modify instructions">
Du har ikke rettigheder til at redigere denne del.
@@ -156,12 +150,14 @@ og bagefter &apos;tage dem på&apos;.
<button label="Gem som..." label_selected="Gem som..." name="Save As"/>
<button label="Annullér" label_selected="Annullér" name="Revert"/>
</panel>
- <placeholder label="Tøje" name="clothes_placeholder"/>
+ <text label="Tøje" name="clothes_placeholder">
+ Tøj
+ </text>
<panel label="Trøje" name="Shirt">
<texture_picker label="Stof" name="Fabric" tool_tip="Klik for at vælge et billede"/>
<color_swatch label="Farve" name="Color/Tint" tool_tip="Klik for at åbne farvevælger"/>
- <button label="Lav ny trøje" label_selected="Lav ny trøje" name="Create New"/>
<button label="Tag af" label_selected="Tag af" name="Take Off"/>
+ <button label="Lav ny trøje" label_selected="Lav ny trøje" name="Create New"/>
<button label="Gem" label_selected="Gem" name="Save"/>
<button label="Gem som..." label_selected="Gem som..." name="Save As"/>
<button label="Annullér" label_selected="Annullér" name="Revert"/>
@@ -181,8 +177,7 @@ og bagefter &apos;tage dem på&apos;.
Fundet i [PATH]
</text>
<text name="not worn instructions">
- Tag en ny Tøje på ved at trække en fra din beholdning over på din avatar.
-Du kan også oprette en ny Tøje fra bunden og bagefter &apos;tage den på&apos;.
+ Vælg en ny trøje ved at trække en fra din beholdning over på din avatar. Du kan også oprette en fra bunden og bagefter &apos;tage den på&apos;.
</text>
<text name="no modify instructions">
Du har ikke rettigheder til at redigere denne del.
@@ -194,8 +189,8 @@ Du kan også oprette en ny Tøje fra bunden og bagefter &apos;tage den på&apos;
<panel label="Bukser" name="Pants">
<texture_picker label="Stof" name="Fabric" tool_tip="Klik for at vælge et billede"/>
<color_swatch label="Farve" name="Color/Tint" tool_tip="Klik for at åbne farvevælger"/>
- <button label="Lav nye bukser" label_selected="Lav nye bukser" name="Create New"/>
<button label="Tag af" label_selected="Tag af" name="Take Off"/>
+ <button label="Lav nye bukser" label_selected="Lav nye bukser" name="Create New"/>
<button label="Gem" label_selected="Gem" name="Save"/>
<button label="Gem som..." label_selected="Gem som..." name="Save As"/>
<button label="Annullér" label_selected="Annullér" name="Revert"/>
@@ -215,9 +210,7 @@ Du kan også oprette en ny Tøje fra bunden og bagefter &apos;tage den på&apos;
Fundet i [PATH]
</text>
<text name="not worn instructions">
- Tag nyr bukser på ved at trække dem fra din beholdning over på
-din avatar. Du kan også oprette ny bukser fra bunden og bagefter
-&apos;tage dem på&apos;.
+ Vælg et nyt par bukser ved at trække et par fra din beholdning over på din avatar. Du kan også oprette et par fra bunden og bagefter &apos;tage dem på&apos;.
</text>
<text name="no modify instructions">
Du har ikke rettigheder til at redigere denne del.
@@ -243,10 +236,9 @@ din avatar. Du kan også oprette ny bukser fra bunden og bagefter
Fundet i [PATH]
</text>
<text name="not worn instructions">
- Tag et ny par sko på ved at trække dem fra din beholdning
-over på din avatar. Du kan også oprette et nyt par sko fra bunden
-og bagefter &apos;tage dem på&apos;.
+ Vælg et nyt par sko ved at trække et par fra din beholdning over på din avatar. Du kan også oprette et par fra bunden og bagefter &apos;tage dem på&apos;.
</text>
+ <button label="Lav nye sko" label_selected="Lav nye sko" name="Create New"/>
<text name="no modify instructions">
Du har ikke rettigheder til at redigere denne del.
</text>
@@ -255,7 +247,6 @@ og bagefter &apos;tage dem på&apos;.
</text>
<texture_picker label="Stof" name="Fabric" tool_tip="Klik for at vælge et billede"/>
<color_swatch label="Farve" name="Color/Tint" tool_tip="Klik for at åbne farvevælger"/>
- <button label="Lav nye sko" label_selected="Lav nye sko" name="Create New"/>
<button label="Tag af" label_selected="Tag af" name="Take Off"/>
<button label="Gem" label_selected="Gem" name="Save"/>
<button label="Gem som..." label_selected="Gem som..." name="Save As"/>
@@ -278,10 +269,9 @@ og bagefter &apos;tage dem på&apos;.
Fundet i [PATH]
</text>
<text name="not worn instructions">
- Tag et ny par Strømper på ved at trække dem fra din beholdning
-over på din avatar. Du kan også oprette et nyt par Strømper fra bunden
-og bagefter &apos;tage dem på&apos;.
+ Vælg et nyt par sokker ved at trække et par fra din beholdning over på din avatar. Du kan også oprette et par fra bunden og bagefter &apos;tage dem på&apos;.
</text>
+ <button label="Lav nye strømper" label_selected="Lav nye strømper" name="Create New"/>
<text name="no modify instructions">
Du har ikke rettigheder til at redigere denne del.
</text>
@@ -290,7 +280,6 @@ og bagefter &apos;tage dem på&apos;.
</text>
<texture_picker label="Stof" name="Fabric" tool_tip="Klik for at vælge et billede"/>
<color_swatch label="Farve" name="Color/Tint" tool_tip="Klik for at åbne farvevælger"/>
- <button label="Lav nye strømper" label_selected="Lav nye strømper" name="Create New"/>
<button label="Tag af" label_selected="Tag af" name="Take Off"/>
<button label="Gem" label_selected="Gem" name="Save"/>
<button label="Gem som..." label_selected="Gem som..." name="Save As"/>
@@ -313,9 +302,9 @@ og bagefter &apos;tage dem på&apos;.
Fundet i [PATH]
</text>
<text name="not worn instructions">
- Tag en ny jakke på ved at trække en fra din beholdning over på din avatar.
-Du kan også oprette en ny jakke fra bunden og bagefter &apos;tage den på&apos;.
+ Vælg en ny jakke ved at trække en fra din beholdning over på din avatar. Du kan også oprette en fra bunden og bagefter &apos;tage den på&apos;.
</text>
+ <button label="Lav ny jakke" label_selected="Lav ny jakke" name="Create New"/>
<text name="no modify instructions">
Du har ikke rettigheder til at redigere denne del.
</text>
@@ -325,7 +314,6 @@ Du kan også oprette en ny jakke fra bunden og bagefter &apos;tage den på&apos;
<texture_picker label="Stof øverst" name="Upper Fabric" tool_tip="Klik for at vælge et billede"/>
<texture_picker label="Stof nederst" name="Lower Fabric" tool_tip="Klik for at vælge et billede"/>
<color_swatch label="Farve" name="Color/Tint" tool_tip="Klik for at åbne farvevælger"/>
- <button label="Lav ny jakke" label_selected="Lav ny jakke" name="Create New"/>
<button label="Tag af" label_selected="Tag af" name="Take Off"/>
<button label="Gem" label_selected="Gem" name="Save"/>
<button label="Gem som..." label_selected="Gem som..." name="Save As"/>
@@ -348,10 +336,9 @@ Du kan også oprette en ny jakke fra bunden og bagefter &apos;tage den på&apos;
Fundet i [PATH]
</text>
<text name="not worn instructions">
- Tag nye handsker på ved at trække et par fra din beholdning over på
-din avatar. Du kan også oprette nye handsker fra bunden
-og bagefter &apos;tage dem på&apos;.
+ Vælg et sæt nye handsker ved at trække et par fra din beholdning over på din avatar. Du kan også oprette et par fra bunden og bagefter &apos;tage dem på&apos;.
</text>
+ <button label="Lav nye handsker" label_selected="Lav nye handsker" name="Create New"/>
<text name="no modify instructions">
Du har ikke rettigheder til at redigere denne del.
</text>
@@ -360,7 +347,6 @@ og bagefter &apos;tage dem på&apos;.
</text>
<texture_picker label="Stof" name="Fabric" tool_tip="Klik for at vælge et billede"/>
<color_swatch label="Farve" name="Color/Tint" tool_tip="Klik for at åbne farvevælger"/>
- <button label="Lav nye handsker" label_selected="Lav nye handsker" name="Create New"/>
<button label="Tag af" label_selected="Tag af" name="Take Off"/>
<button label="Gem" label_selected="Gem" name="Save"/>
<button label="Gem som..." label_selected="Gem som..." name="Save As"/>
@@ -383,10 +369,9 @@ og bagefter &apos;tage dem på&apos;.
Fundet i [PATH]
</text>
<text name="not worn instructions">
- Tag en ny undertrøje på ved at trække en fra din beholdning over på
-din avatar. Du kan også oprette en ny undertrøje fra bunden
-og bagefter &apos;tage den på&apos;.
+ Vælg en ny undertrøje ved at trække en fra din beholdning over på din avatar. Du kan også oprette en fra bunden og bagefter &apos;tage den på&apos;.
</text>
+ <button label="Lav ny undertrøje" label_selected="Lav ny undertrøje" name="Create New"/>
<text name="no modify instructions">
Du har ikke rettigheder til at redigere denne del.
</text>
@@ -395,7 +380,6 @@ og bagefter &apos;tage den på&apos;.
</text>
<texture_picker label="Stof" name="Fabric" tool_tip="Klik for at vælge et billede"/>
<color_swatch label="Farve" name="Color/Tint" tool_tip="Klik for at åbne farvevælger"/>
- <button label="Lav ny undertrøje" label_selected="Lav ny undertrøje" name="Create New"/>
<button label="Tag af" label_selected="Tag af" name="Take Off"/>
<button label="Gem" label_selected="Gem" name="Save"/>
<button label="Gem som..." label_selected="Gem som..." name="Save As"/>
@@ -418,10 +402,9 @@ og bagefter &apos;tage den på&apos;.
Fundet i [PATH]
</text>
<text name="not worn instructions">
- Tag nye underbukser på ved at trække dem fra din beholdning over på
-din avatar. Du kan også oprette en par nye underbukser fra bunden
-og bagefter &apos;tage dem på&apos;.
+ Vælg et nyt par underbukser ved at trække et par fra din beholdning over på din avatar. Du kan også oprette et par fra bunden og bagefter &apos;tage dem på&apos;.
</text>
+ <button label="Lav nye underbukser" label_selected="Lav nye underbukser" name="Create New"/>
<text name="no modify instructions">
Du har ikke rettigheder til at redigere denne del.
</text>
@@ -430,7 +413,6 @@ og bagefter &apos;tage dem på&apos;.
</text>
<texture_picker label="Stof" name="Fabric" tool_tip="Klik for at vælge et billede"/>
<color_swatch label="Farve" name="Color/Tint" tool_tip="Klik for at åbne farvevælger"/>
- <button label="Lav nye underbukser" label_selected="Lav nye underbukser" name="Create New"/>
<button label="Tag af" label_selected="Tag af" name="Take Off"/>
<button label="Gem" label_selected="Gem" name="Save"/>
<button label="Gem som..." label_selected="Gem som..." name="Save As"/>
@@ -453,10 +435,9 @@ og bagefter &apos;tage dem på&apos;.
Fundet i [PATH]
</text>
<text name="not worn instructions">
- Tag en ny nederdel på ved at trække en fra din beholdning over på
-din avatar. Du kan også oprette en ny nederdel fra bunden
-og bagefter &apos;tage den på&apos;.
+ Vælg en ny nederdel ved at trække en fra din beholdning over på din avatar. Du kan også oprette en fra bunden og bagefter &apos;tage den på&apos;.
</text>
+ <button label="Lav ny nederdel" label_selected="Lav ny nederdel" name="Create New"/>
<text name="no modify instructions">
Du har ikke rettigheder til at redigere denne del.
</text>
@@ -465,13 +446,12 @@ og bagefter &apos;tage den på&apos;.
</text>
<texture_picker label="Stof" name="Fabric" tool_tip="Klik for at vælge et billede"/>
<color_swatch label="Farve" name="Color/Tint" tool_tip="Klik for at åbne farvevælger"/>
- <button label="Lav ny nederdel" label_selected="Lav ny nederdel" name="Create New"/>
<button label="Tag af" label_selected="Tag af" name="Take Off"/>
<button label="Gem" label_selected="Gem" name="Save"/>
<button label="Gem som..." label_selected="Gem som..." name="Save As"/>
<button label="Annullér" label_selected="Annullér" name="Revert"/>
</panel>
- <panel label="Alpha" name="Alpha">
+ <panel label="Tatovering" name="Tattoo">
<text name="title">
[DESC]
</text>
@@ -488,27 +468,24 @@ og bagefter &apos;tage den på&apos;.
Placeret i [PATH]
</text>
<text name="not worn instructions">
- Brug en ny &quot;alpha mask&quot; ved at trække en fra din beholding til din avatar.
-Alternativt kan du lave en fra bunden og bære denne.
+ Vælg en ny tatovering ved at trække en fra din beholdning over på din avatar. Du kan også oprette en fra bunden og bagefter &apos;tage den på&apos;.
</text>
+ <button label="lav ny tatovering" label_selected="Lav ny tatovering" name="Create New"/>
<text name="no modify instructions">
Du har ikke rettigheder til at ændre denne.
</text>
<text name="Item Action Label">
- Alpha:
+ Tatovering:
</text>
- <texture_picker label="Alpha - nedre" name="Lower Alpha" tool_tip="Klik for at vælge et billede"/>
- <texture_picker label="Øvre alpha" name="Upper Alpha" tool_tip="Klik for at vælge et billede"/>
- <texture_picker label="Alpha - hoved" name="Head Alpha" tool_tip="Klik for at vælge et billede"/>
- <texture_picker label="Alpha - øjne" name="Eye Alpha" tool_tip="Klik for at vælge et billede"/>
- <texture_picker label="Alpha - hår" name="Hair Alpha" tool_tip="Klik for at vælge et billede"/>
- <button label="Lav ny &quot;Alpha&quot;" label_selected="Lav ny &quot;Alpha&quot;" name="Create New"/>
+ <texture_picker label="Tatovering - hovede" name="Head Tattoo" tool_tip="Klik for at vælge et billede"/>
+ <texture_picker label="Øvre tatovering" name="Upper Tattoo" tool_tip="Klik for at vælge et billede"/>
+ <texture_picker label="Nedre tatovering" name="Lower Tattoo" tool_tip="Klik for at vælge et billede"/>
<button label="Tag af" label_selected="Tag af" name="Take Off"/>
<button label="Gem" label_selected="Gem" name="Save"/>
<button label="Gem som..." label_selected="Gem som..." name="Save As"/>
<button label="Vend tilbage" label_selected="Vend tilbage" name="Revert"/>
</panel>
- <panel label="Tatovering" name="Tattoo">
+ <panel label="Alpha" name="Alpha">
<text name="title">
[DESC]
</text>
@@ -525,19 +502,20 @@ Alternativt kan du lave en fra bunden og bære denne.
Placeret i [PATH]
</text>
<text name="not worn instructions">
- Brug en ny tatovering ved at trække en fra din beholding til din avatar.
-Alternativt kan du lave en fra bunden og bære denne.
+ Vælg en ny &apos;alpha maske&apos; ved at trække en fra din beholdning over på din avatar. Du kan også oprette en fra bunden og bagefter &apos;tage den på&apos;.
</text>
+ <button label="Lav ny &quot;Alpha&quot;" label_selected="Lav ny &quot;Alpha&quot;" name="Create New"/>
<text name="no modify instructions">
Du har ikke rettigheder til at ændre denne.
</text>
<text name="Item Action Label">
- Tatovering:
+ Alpha:
</text>
- <texture_picker label="Tatovering - hovede" name="Head Tattoo" tool_tip="Klik for at vælge et billede"/>
- <texture_picker label="Øvre tatovering" name="Upper Tattoo" tool_tip="Klik for at vælge et billede"/>
- <texture_picker label="Nedre tatovering" name="Lower Tattoo" tool_tip="Klik for at vælge et billede"/>
- <button label="lav ny tatovering" label_selected="Lav ny tatovering" name="Create New"/>
+ <texture_picker label="Alpha - nedre" name="Lower Alpha" tool_tip="Klik for at vælge et billede"/>
+ <texture_picker label="Øvre alpha" name="Upper Alpha" tool_tip="Klik for at vælge et billede"/>
+ <texture_picker label="Alpha - hoved" name="Head Alpha" tool_tip="Klik for at vælge et billede"/>
+ <texture_picker label="Alpha - øjne" name="Eye Alpha" tool_tip="Klik for at vælge et billede"/>
+ <texture_picker label="Alpha - hår" name="Hair Alpha" tool_tip="Klik for at vælge et billede"/>
<button label="Tag af" label_selected="Tag af" name="Take Off"/>
<button label="Gem" label_selected="Gem" name="Save"/>
<button label="Gem som..." label_selected="Gem som..." name="Save As"/>
@@ -545,6 +523,7 @@ Alternativt kan du lave en fra bunden og bære denne.
</panel>
</tab_container>
<scroll_container left="212" name="panel_container"/>
+ <button label="Script info" label_selected="Script info" name="script_info" tool_tip="Vis scripts vedhæftet på din avatar"/>
<button label="Lav sæt" label_selected="Lav sæt" name="make_outfit_btn"/>
<button label="Annullér" label_selected="Annullér" name="Cancel"/>
<button label="OK" label_selected="OK" name="Ok"/>
diff --git a/indra/newview/skins/default/xui/da/floater_event.xml b/indra/newview/skins/default/xui/da/floater_event.xml
new file mode 100644
index 0000000000..267a36b26c
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/floater_event.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater label="Event" name="Event" title="EVENT DETALJER">
+ <floater.string name="none">
+ ingen
+ </floater.string>
+ <floater.string name="notify">
+ Meddel
+ </floater.string>
+ <floater.string name="dont_notify">
+ Meddel ikke
+ </floater.string>
+ <layout_stack name="layout">
+ <layout_panel name="profile_stack">
+ <text name="event_name">
+ Event uden navn.
+ </text>
+ <text name="event_category">
+ (ingen kategori)
+ </text>
+ <text name="event_runby_label">
+ Afholdt af:
+ </text>
+ <text initial_value="(henter)" name="event_runby"/>
+ <text name="event_date">
+ 10/10/2010
+ </text>
+ <text name="event_duration">
+ 1 time
+ </text>
+ <text name="event_cover">
+ Gratis
+ </text>
+ <text name="event_location_label">
+ Lokation:
+ </text>
+ <text name="event_location" value="SampleParcel, Name Long (145, 228, 26)"/>
+ <text name="rating_label" value="Rating:"/>
+ <text name="rating_value" value="ukendt"/>
+ </layout_panel>
+ <layout_panel name="button_panel">
+ <button name="create_event_btn" tool_tip="Opret event"/>
+ <button name="god_delete_event_btn" tool_tip="Slet event"/>
+ <button label="Giv besked" name="notify_btn"/>
+ <button label="Teleport" name="teleport_btn"/>
+ <button label="Kort" name="map_btn"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/da/floater_god_tools.xml b/indra/newview/skins/default/xui/da/floater_god_tools.xml
new file mode 100644
index 0000000000..ea045538c5
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/floater_god_tools.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="godtools floater" title="GOD TOOLS">
+ <tab_container name="GodTools Tabs">
+ <panel label="Region" name="region">
+ <check_box label="Reset Home On Teleport" name="check reset home" tool_tip="Når beboere teleporterer væk, så sæt deres hjemmeadresse til deres destinations position."/>
+ </panel>
+ </tab_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/da/floater_help_browser.xml b/indra/newview/skins/default/xui/da/floater_help_browser.xml
index fc52796344..4eba4aee1f 100644
--- a/indra/newview/skins/default/xui/da/floater_help_browser.xml
+++ b/indra/newview/skins/default/xui/da/floater_help_browser.xml
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_help_browser" title="HJÆLP">
+ <floater.string name="loading_text">
+ Henter...
+ </floater.string>
<layout_stack name="stack1">
- <layout_panel name="external_controls">
- <button label="Åben i min web browser" name="open_browser"/>
- </layout_panel>
+ <layout_panel name="external_controls"/>
</layout_stack>
</floater>
diff --git a/indra/newview/skins/default/xui/da/floater_im.xml b/indra/newview/skins/default/xui/da/floater_im.xml
index 519a70d1d9..2ef8a7ce36 100644
--- a/indra/newview/skins/default/xui/da/floater_im.xml
+++ b/indra/newview/skins/default/xui/da/floater_im.xml
@@ -10,7 +10,7 @@
Tryk på [BUTTON NAME] knappen for at acceptére/tilslutte til denne stemme chat.
</string>
<string name="muted_message">
- Du har blokeret denne beboer. Hvis du sender besked vil denne blokering fjernes.
+ Du har blokeret denne beboer. Hvis du sender en besked til beboeren vil dette automatisk medføre fjernelse af blokeringen
</string>
<string name="generic_request_error">
Kunne ikke etablere forbindelse, prøv igen senere
diff --git a/indra/newview/skins/default/xui/da/floater_im_container.xml b/indra/newview/skins/default/xui/da/floater_im_container.xml
index da6f877f56..28b2f7f7eb 100644
--- a/indra/newview/skins/default/xui/da/floater_im_container.xml
+++ b/indra/newview/skins/default/xui/da/floater_im_container.xml
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<multi_floater name="floater_im_box" title="Personlige beskeder"/>
+<multi_floater name="floater_im_box" title="SAMTALER"/>
diff --git a/indra/newview/skins/default/xui/da/floater_incoming_call.xml b/indra/newview/skins/default/xui/da/floater_incoming_call.xml
index 3a1ef2e47d..2349174db2 100644
--- a/indra/newview/skins/default/xui/da/floater_incoming_call.xml
+++ b/indra/newview/skins/default/xui/da/floater_incoming_call.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="incoming call" title="UKENDT PERSON KALDER OP">
+ <floater.string name="lifetime">
+ 5
+ </floater.string>
<floater.string name="localchat">
Stemme chat nærved
</floater.string>
@@ -12,6 +15,9 @@
<floater.string name="VoiceInviteAdHoc">
har sluttet sig til stemme chat opkald med en konference chat.
</floater.string>
+ <floater.string name="VoiceInviteGroup">
+ deltager nu i Stemme chat opkald med denne gruppe [GROUP].
+ </floater.string>
<text name="question">
Ønsker du at forlade [CURRENT_CHAT] og slutte dig til denne stemme chat?
</text>
diff --git a/indra/newview/skins/default/xui/da/floater_inventory.xml b/indra/newview/skins/default/xui/da/floater_inventory.xml
index d80051fb84..3a4b0fbd6b 100644
--- a/indra/newview/skins/default/xui/da/floater_inventory.xml
+++ b/indra/newview/skins/default/xui/da/floater_inventory.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Inventory" title="BEHOLDNING">
+<floater name="Inventory" title="MIN BEHOLDNING">
<floater.string name="Title">
- Beholdning
+ MIN BEHOLDNING
</floater.string>
<floater.string name="TitleFetching">
- Beholdning (henter [ITEM_COUNT] genstande...) [FILTER]
+ MIN BEHOLDNING (Henter [ITEM_COUNT] genstande...) [FILTER]
</floater.string>
<floater.string name="TitleCompleted">
- Beholdning ([ITEM_COUNT] genstande) [FILTER]
+ MIN BEHOLDNING ([ITEM_COUNT] genstande) [FILTER]
</floater.string>
<floater.string name="Fetched">
Hentet
diff --git a/indra/newview/skins/default/xui/da/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/da/floater_live_lsleditor.xml
index 4079ff9f38..0cc13fd736 100644
--- a/indra/newview/skins/default/xui/da/floater_live_lsleditor.xml
+++ b/indra/newview/skins/default/xui/da/floater_live_lsleditor.xml
@@ -7,7 +7,7 @@
Kører
</floater.string>
<floater.string name="Title">
- Script: [NAME]
+ SCRIPT: [NAME]
</floater.string>
<button label="Nulstil" label_selected="Reset" name="Reset"/>
<check_box initial_value="true" label="Kører" name="running"/>
diff --git a/indra/newview/skins/default/xui/da/floater_lsl_guide.xml b/indra/newview/skins/default/xui/da/floater_lsl_guide.xml
index 2b008f133c..2594d6bb9d 100644
--- a/indra/newview/skins/default/xui/da/floater_lsl_guide.xml
+++ b/indra/newview/skins/default/xui/da/floater_lsl_guide.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="script ed float" title="LSL WIKI">
+<floater name="script ed float" title="LSL REFERENCE">
<check_box label="Følg markøreren" name="lock_check"/>
<combo_box label="Lås" left_delta="114" name="history_combo" width="70"/>
<button label="Tilbage" name="back_btn"/>
diff --git a/indra/newview/skins/default/xui/da/floater_map.xml b/indra/newview/skins/default/xui/da/floater_map.xml
index f618548908..82897d545a 100644
--- a/indra/newview/skins/default/xui/da/floater_map.xml
+++ b/indra/newview/skins/default/xui/da/floater_map.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Map">
+<floater name="Map" title="Mini-kort">
<floater.string name="mini_map_north">
N
</floater.string>
diff --git a/indra/newview/skins/default/xui/da/floater_media_browser.xml b/indra/newview/skins/default/xui/da/floater_media_browser.xml
index 47667973ba..d3028c32f9 100644
--- a/indra/newview/skins/default/xui/da/floater_media_browser.xml
+++ b/indra/newview/skins/default/xui/da/floater_media_browser.xml
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_about" title="MEDIE VÆLGER">
<layout_stack name="stack1">
<layout_panel name="nav_controls">
- <button label="Tilbage" name="back" />
- <button label="Frem" name="forward" />
- <button label="Opdater" name="reload" />
- <button label="Gå til" name="go" />
+ <button label="Tilbage" name="back"/>
+ <button label="Frem" name="forward"/>
+ <button label="Opdater" name="reload"/>
+ <button label="Gå til" name="go"/>
</layout_panel>
<layout_panel name="parcel_owner_controls">
- <button label="Send nuværende URL til parcel" name="assign" />
+ <button label="Send denne side til parcel" name="assign"/>
</layout_panel>
<layout_panel name="external_controls">
- <button label="Åben i min browser" name="open_browser" />
- <check_box label="Åben altid i min browser" name="open_always" />
- <button label="Luk" name="close" />
+ <button label="Åben i min browser" name="open_browser"/>
+ <check_box label="Åben altid i min browser" name="open_always"/>
+ <button label="Luk" name="close"/>
</layout_panel>
</layout_stack>
</floater>
diff --git a/indra/newview/skins/default/xui/da/floater_moveview.xml b/indra/newview/skins/default/xui/da/floater_moveview.xml
index b00dc6bf4d..258af489e7 100644
--- a/indra/newview/skins/default/xui/da/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/da/floater_moveview.xml
@@ -19,11 +19,10 @@
Flyv baglæns (Tryk på Ned piletast eller S)
</string>
<panel name="panel_actions">
- <button label="" label_selected="" name="turn left btn" tool_tip="xxx
- Drej til venstre (Tryk på venstre piletast eller A)"/>
+ <button label="" label_selected="" name="turn left btn" tool_tip="xxx Drej til venstre (Tryk på venstre piletast eller A)"/>
<button label="" label_selected="" name="turn right btn" tool_tip="Drej til højre (Tryk på højre piletast eller D)"/>
- <button label="" label_selected="" name="move up btn" tool_tip="Flyv op, Tryk på &quot;E&quot;"/>
- <button label="" label_selected="" name="move down btn" tool_tip="Flyv ned, Tryk på &quot;C&quot;"/>
+ <button label="" label_selected="" name="move up btn" tool_tip="Flyv op, tryk E"/>
+ <button label="" label_selected="" name="move down btn" tool_tip="Flyv ned, tryk C"/>
<joystick_turn name="forward btn" tool_tip="Gå frem (Tryk på Op piletast eller W)"/>
<joystick_turn name="backward btn" tool_tip="Gå tilbage (Tryk på Ned piletast eller S)"/>
</panel>
diff --git a/indra/newview/skins/default/xui/da/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/da/floater_outfit_save_as.xml
new file mode 100644
index 0000000000..0bcb96b151
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/floater_outfit_save_as.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="modal container" title="Gem sæt">
+ <button label="Gem" label_selected="Gem" name="Save"/>
+ <button label="Annullér" label_selected="Annullér" name="Cancel"/>
+ <text name="Save item as:">
+ Gem hvad jeg har på som et nyt sæt:
+ </text>
+ <line_editor name="name ed">
+ [DESC] (ny)
+ </line_editor>
+</floater>
diff --git a/indra/newview/skins/default/xui/da/floater_outgoing_call.xml b/indra/newview/skins/default/xui/da/floater_outgoing_call.xml
index 5c98d9855f..ef4e22dd8f 100644
--- a/indra/newview/skins/default/xui/da/floater_outgoing_call.xml
+++ b/indra/newview/skins/default/xui/da/floater_outgoing_call.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="outgoing call" title="KALDER">
+ <floater.string name="lifetime">
+ 5
+ </floater.string>
<floater.string name="localchat">
Stemme chat nærved
</floater.string>
@@ -21,6 +24,15 @@
<text name="noanswer">
Intet svar. Prøv igen senere.
</text>
+ <text name="nearby">
+ Du er blevet koblet af fra [VOICE_CHANNEL_NAME]. [RECONNECT_NEARBY]
+ </text>
+ <text name="nearby_P2P_by_other">
+ [VOICE_CHANNEL_NAME] har afsluttet opkaldet. [RECONNECT_NEARBY]
+ </text>
+ <text name="nearby_P2P_by_agent">
+ Du har afsluttet opkaldet. [RECONNECT_NEARBY]
+ </text>
<text name="leaving">
Forlader [CURRENT_CHAT].
</text>
diff --git a/indra/newview/skins/default/xui/da/floater_pay_object.xml b/indra/newview/skins/default/xui/da/floater_pay_object.xml
index f74e097da2..368d678681 100644
--- a/indra/newview/skins/default/xui/da/floater_pay_object.xml
+++ b/indra/newview/skins/default/xui/da/floater_pay_object.xml
@@ -15,7 +15,7 @@
</text>
<icon name="icon_object" tool_tip="Objekter"/>
<text name="object_name_text">
- ...
+ Mit fantastiske objekt med et virkeligt langt navn
</text>
<button label="L$1" label_selected="L$1" name="fastpay 1"/>
<button label="L$5" label_selected="L$5" name="fastpay 5"/>
diff --git a/indra/newview/skins/default/xui/da/floater_preferences.xml b/indra/newview/skins/default/xui/da/floater_preferences.xml
index f0fe3472d0..a53586eaaf 100644
--- a/indra/newview/skins/default/xui/da/floater_preferences.xml
+++ b/indra/newview/skins/default/xui/da/floater_preferences.xml
@@ -6,7 +6,7 @@
<panel label="Generelt" name="general"/>
<panel label="Grafik" name="display"/>
<panel label="Privatliv" name="im"/>
- <panel label="Sound" name="audio"/>
+ <panel label="Lyd &amp; medier" name="audio"/>
<panel label="Chat" name="chat"/>
<panel label="Beskeder" name="msgs"/>
<panel label="Opsætning" name="input"/>
diff --git a/indra/newview/skins/default/xui/da/floater_preview_gesture.xml b/indra/newview/skins/default/xui/da/floater_preview_gesture.xml
index bfa3c150a9..f49fd8c99a 100644
--- a/indra/newview/skins/default/xui/da/floater_preview_gesture.xml
+++ b/indra/newview/skins/default/xui/da/floater_preview_gesture.xml
@@ -24,6 +24,9 @@
<floater.string name="Title">
Bevægelse: [NAME]
</floater.string>
+ <text name="name_text">
+ Navn:
+ </text>
<text name="desc_label">
Beskrivelse:
</text>
diff --git a/indra/newview/skins/default/xui/da/floater_preview_notecard.xml b/indra/newview/skins/default/xui/da/floater_preview_notecard.xml
index 2ebec4462f..e600a774ec 100644
--- a/indra/newview/skins/default/xui/da/floater_preview_notecard.xml
+++ b/indra/newview/skins/default/xui/da/floater_preview_notecard.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="preview notecard" title="NOTE:">
<floater.string name="no_object">
- Kunne ikke finde objekt der indeholder denne note.
+ Kunne ikke finde objekt som indeholder denne note.
</floater.string>
<floater.string name="not_allowed">
Du har ikke rettigheder til at se denne note.
diff --git a/indra/newview/skins/default/xui/da/floater_preview_texture.xml b/indra/newview/skins/default/xui/da/floater_preview_texture.xml
index ab7ddbcc72..48cf53f563 100644
--- a/indra/newview/skins/default/xui/da/floater_preview_texture.xml
+++ b/indra/newview/skins/default/xui/da/floater_preview_texture.xml
@@ -12,6 +12,9 @@
<text name="dimensions">
[WIDTH]px x [HEIGHT]px
</text>
+ <text name="aspect_ratio">
+ Vis aspekt forhold
+ </text>
<combo_box name="combo_aspect_ratio" tool_tip="Forhåndsvisning med et bestemt billedformat">
<combo_item name="Unconstrained">
Ikke låst
@@ -38,7 +41,7 @@
2:1
</combo_item>
</combo_box>
- <button label="OK" name="keep"/>
- <button label="Annullér" name="discard"/>
+ <button label="OK" name="Keep"/>
+ <button label="Kassér" name="Discard"/>
<button label="Gem som" name="save_tex_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/da/floater_report_abuse.xml b/indra/newview/skins/default/xui/da/floater_report_abuse.xml
index 9ef17a3cbb..07978792b9 100644
--- a/indra/newview/skins/default/xui/da/floater_report_abuse.xml
+++ b/indra/newview/skins/default/xui/da/floater_report_abuse.xml
@@ -42,7 +42,7 @@
<combo_box.item label="Vælg kategori" name="Select_category"/>
<combo_box.item label="Alder &gt; Falsk alder" name="Age__Age_play"/>
<combo_box.item label="Alder &gt; Voksen beboer på Teen Second Life" name="Age__Adult_resident_on_Teen_Second_Life"/>
- <combo_box.item label="Alder &gt; Mindreårig beboer udenfor Teen Second Life" name="Age__Underage_resident_outside_of_Teen_Second_Life"/>
+ <combo_box.item label="Alder &gt; Mindreårig beboer uden for Teen Second Life" name="Age__Underage_resident_outside_of_Teen_Second_Life"/>
<combo_box.item label="Overfald &gt; Kamp sandkasse / Usikkert område" name="Assault__Combat_sandbox___unsafe_area"/>
<combo_box.item label="Overfald &gt; Sikkert område" name="Assault__Safe_area"/>
<combo_box.item label="Overfald &gt; Sandkasse til våbentest" name="Assault__Weapons_testing_sandbox"/>
diff --git a/indra/newview/skins/default/xui/da/floater_script_limits.xml b/indra/newview/skins/default/xui/da/floater_script_limits.xml
new file mode 100644
index 0000000000..a7f86a782a
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/floater_script_limits.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="scriptlimits" title="SCRIPT INFORMATION"/>
diff --git a/indra/newview/skins/default/xui/da/floater_script_preview.xml b/indra/newview/skins/default/xui/da/floater_script_preview.xml
index 1e8d869716..1aacab6915 100644
--- a/indra/newview/skins/default/xui/da/floater_script_preview.xml
+++ b/indra/newview/skins/default/xui/da/floater_script_preview.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="preview lsl text" title="SCRIPT: ROTATIONS SCRIPT">
<floater.string name="Title">
- Script: [NAME]
+ SCRIPT: [NAME]
</floater.string>
<text name="desc txt">
Beskrivelse:
diff --git a/indra/newview/skins/default/xui/da/floater_select_key.xml b/indra/newview/skins/default/xui/da/floater_select_key.xml
index fe0d31c6c3..9f7aad5e03 100644
--- a/indra/newview/skins/default/xui/da/floater_select_key.xml
+++ b/indra/newview/skins/default/xui/da/floater_select_key.xml
@@ -2,6 +2,6 @@
<floater name="modal container" title="">
<button label="Annullér" label_selected="Annullér" name="Cancel"/>
<text name="Save item as:">
- Tryk på en taste for at sætte din &quot;Tale&quot; knap udløser.
+ Tryk en taste for at angive trigger til at tale.
</text>
</floater>
diff --git a/indra/newview/skins/default/xui/da/floater_settings_debug.xml b/indra/newview/skins/default/xui/da/floater_settings_debug.xml
index 41cf100d94..016e5af378 100644
--- a/indra/newview/skins/default/xui/da/floater_settings_debug.xml
+++ b/indra/newview/skins/default/xui/da/floater_settings_debug.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="settings_debug" title="DEBUG INDSTILLINGER">
- <combo_box name="boolean_combo">
- <combo_box.item label="SANDT" name="TRUE"/>
- <combo_box.item label="FALSK" name="FALSE"/>
- </combo_box>
+ <radio_group name="boolean_combo">
+ <radio_item label="SANDT" name="TRUE" value="sand"/>
+ <radio_item label="FALSK" name="FALSE" value=""/>
+ </radio_group>
<color_swatch label="Farve" name="val_color_swatch"/>
<spinner label="x" name="val_spinner_1"/>
<spinner label="x" name="val_spinner_2"/>
diff --git a/indra/newview/skins/default/xui/da/floater_snapshot.xml b/indra/newview/skins/default/xui/da/floater_snapshot.xml
index 5e8c64e21f..6140055d74 100644
--- a/indra/newview/skins/default/xui/da/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/da/floater_snapshot.xml
@@ -4,12 +4,12 @@
Hvor skal foto hen?
</text>
<radio_group label="Snapshot type" name="snapshot_type_radio">
- <radio_item label="Send via e-mail" name="postcard"/>
- <radio_item label="Gem i din beholdning (L$[AMOUNT])" name="texture"/>
- <radio_item label="Gem på din computer" name="local"/>
+ <radio_item label="Email" name="postcard"/>
+ <radio_item label="Min beholdning (L$[AMOUNT])" name="texture"/>
+ <radio_item label="Gem på min computer" name="local"/>
</radio_group>
<text name="file_size_label">
- Fil størrelse: [SIZE] KB
+ [SIZE] KB
</text>
<button label="Tag nyt foto" name="new_snapshot_btn"/>
<button label="Send" name="send_btn"/>
@@ -19,8 +19,8 @@
<flyout_button_item label="Gem som..." name="saveas_item"/>
</flyout_button>
<button label="Annullér" name="discard_btn"/>
- <button label="Mere &gt;&gt;" name="more_btn" tool_tip="Avancerede muligheder"/>
- <button label="&lt;&lt; Mindre" name="less_btn" tool_tip="Avancerede muligheder"/>
+ <button label="Mere" name="more_btn" tool_tip="Avancerede muligheder"/>
+ <button label="Mindre" name="less_btn" tool_tip="Avancerede muligheder"/>
<text name="type_label2">
Størrelse
</text>
@@ -59,7 +59,7 @@
<spinner label="Bredde" label_width="41" name="snapshot_width" width="101"/>
<spinner label="Højde" label_width="32" left="117" name="snapshot_height" width="92"/>
<check_box label="Fasthold proportioner" name="keep_aspect_check"/>
- <slider label="Billed-kvalitet" name="image_quality_slider"/>
+ <slider label="Billedkvalitet" name="image_quality_slider"/>
<text name="layer_type_label">
Benyt:
</text>
@@ -68,10 +68,10 @@
<combo_box.item label="Dybde" name="Depth"/>
<combo_box.item label="Materinger" name="ObjectMattes"/>
</combo_box>
- <check_box label="Vis brugerflade på foto" name="ui_check"/>
- <check_box label="Vis HUD objekter på foto" name="hud_check"/>
+ <check_box label="Snitflade" name="ui_check"/>
+ <check_box label="HUDs" name="hud_check"/>
<check_box label="Luk ikke vindue ved gemning" name="keep_open_check"/>
- <check_box label="Frys billede og vis" name="freeze_frame_check"/>
+ <check_box label="Fastfrys (fuldt billede)" name="freeze_frame_check"/>
<check_box label="Auto-opdater" name="auto_snapshot_check"/>
<string name="unknown">
ukendt
diff --git a/indra/newview/skins/default/xui/da/floater_sys_well.xml b/indra/newview/skins/default/xui/da/floater_sys_well.xml
index b5cecf93e9..f203c2504f 100644
--- a/indra/newview/skins/default/xui/da/floater_sys_well.xml
+++ b/indra/newview/skins/default/xui/da/floater_sys_well.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="sys_well_window" title="BESKEDER">
<string name="title_im_well_window">
- IM SESSIONER
+ SAMTALER
</string>
<string name="title_notification_well_window">
BESKEDER
diff --git a/indra/newview/skins/default/xui/da/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/da/floater_texture_ctrl.xml
index 00b49a9df9..fbc7fe2319 100644
--- a/indra/newview/skins/default/xui/da/floater_texture_ctrl.xml
+++ b/indra/newview/skins/default/xui/da/floater_texture_ctrl.xml
@@ -17,7 +17,7 @@
<check_box label="Benyt ny" name="apply_immediate_check"/>
<button label="" label_selected="" name="Pipette"/>
<button label="Annullér" label_selected="Annullér" name="Cancel"/>
- <button label="Ok" label_selected="Ok" name="Select"/>
+ <button label="OK" label_selected="OK" name="Select"/>
<string name="pick title">
Vælg:
</string>
diff --git a/indra/newview/skins/default/xui/da/floater_top_objects.xml b/indra/newview/skins/default/xui/da/floater_top_objects.xml
index 3f19350e30..86c24d2c19 100644
--- a/indra/newview/skins/default/xui/da/floater_top_objects.xml
+++ b/indra/newview/skins/default/xui/da/floater_top_objects.xml
@@ -1,15 +1,40 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="top_objects" title="Top objekter">
+ <floater.string name="top_scripts_title">
+ Mest krævende scripts
+ </floater.string>
+ <floater.string name="top_scripts_text">
+ [COUNT] scripts bruger ialt [TIME] ms
+ </floater.string>
+ <floater.string name="scripts_score_label">
+ Tid
+ </floater.string>
+ <floater.string name="scripts_mono_time_label">
+ Mono tid
+ </floater.string>
+ <floater.string name="top_colliders_title">
+ Mest kolliderende
+ </floater.string>
+ <floater.string name="top_colliders_text">
+ Top [COUNT] genstande der potentielt har mange kollisioner
+ </floater.string>
+ <floater.string name="colliders_score_label">
+ Point
+ </floater.string>
+ <floater.string name="none_descriptor">
+ Ingen fundet
+ </floater.string>
<text name="title_text">
Henter...
</text>
<scroll_list name="objects_list">
- <column label="Point" name="score"/>
- <column label="Navn" name="name"/>
- <column label="Ejer" name="owner"/>
- <column label="Lokation" name="location"/>
- <column label="Tid" name="time"/>
- <column label="Mono tid" name="mono_time"/>
+ <scroll_list.columns label="Point" name="score"/>
+ <scroll_list.columns label="Navn" name="name"/>
+ <scroll_list.columns label="Ejer" name="owner"/>
+ <scroll_list.columns label="Lokation" name="location"/>
+ <scroll_list.columns label="Tid" name="time"/>
+ <scroll_list.columns label="Mono tid" name="mono_time"/>
+ <scroll_list.columns label="URL&apos;er" name="URLs"/>
</scroll_list>
<text name="id_text">
Objekt ID:
@@ -23,33 +48,9 @@
Ejer:
</text>
<button label="Filter" name="filter_owner_btn"/>
+ <button label="Genopfrisk" name="refresh_btn"/>
<button label="Returnér valgte" name="return_selected_btn"/>
<button label="Returnér alle" name="return_all_btn"/>
<button label="Afbryd valgte" name="disable_selected_btn"/>
<button label="Afbryd alle" name="disable_all_btn"/>
- <button label="Genopfrisk" name="refresh_btn"/>
- <string name="top_scripts_title">
- Mest krævende scripts
- </string>
- <string name="top_scripts_text">
- [COUNT] scripts bruger ialt [TIME] ms
- </string>
- <string name="scripts_score_label">
- Tid
- </string>
- <string name="scripts_mono_time_label">
- Mono tid
- </string>
- <string name="top_colliders_title">
- Mest kolliderende
- </string>
- <string name="top_colliders_text">
- Top [COUNT] genstande der potentielt har mange kollisioner
- </string>
- <string name="colliders_score_label">
- Point
- </string>
- <string name="none_descriptor">
- Ingen fundet
- </string>
</floater>
diff --git a/indra/newview/skins/default/xui/da/floater_tos.xml b/indra/newview/skins/default/xui/da/floater_tos.xml
index 77906f0f46..6f61d9b310 100644
--- a/indra/newview/skins/default/xui/da/floater_tos.xml
+++ b/indra/newview/skins/default/xui/da/floater_tos.xml
@@ -4,7 +4,7 @@
<button label="Annullér" label_selected="Annullér" name="Cancel"/>
<check_box label="Jeg accepterer vilkårene for brug af tjenesten" name="agree_chk"/>
<text name="tos_heading">
- Læs venligst de almindelige bestemmelser og vilkår igennem, for at fortsætte til [SECOND LIFE] skal du acceptere vilkårene.
+ Læs venligst følgende servicebetingelser grundigt. For at kunne logge på [SECOND_LIFE], skal du acceptere aftalen.
</text>
<text_editor name="tos_text">
TOS_TEXT
diff --git a/indra/newview/skins/default/xui/da/floater_voice_controls.xml b/indra/newview/skins/default/xui/da/floater_voice_controls.xml
index 8651851233..05e9eb6cdd 100644
--- a/indra/newview/skins/default/xui/da/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/da/floater_voice_controls.xml
@@ -13,13 +13,14 @@
Opkald med [NAME]
</string>
<string name="no_one_near">
- Ingen nær
+ Ingen i nærheden har aktiveret stemmer
</string>
- <panel name="control_panel">
- <layout_stack>
- <layout_panel name="leave_btn_panel">
- <button label="Forlad opkald" name="leave_call_btn"/>
- </layout_panel>
- </layout_stack>
- </panel>
+ <layout_stack name="my_call_stack">
+ <layout_panel name="my_panel">
+ <text name="user_text" value="Min avatar:"/>
+ </layout_panel>
+ <layout_panel name="leave_call_btn_panel">
+ <button label="Forlad opkald" name="leave_call_btn"/>
+ </layout_panel>
+ </layout_stack>
</floater>
diff --git a/indra/newview/skins/default/xui/da/floater_wearable_save_as.xml b/indra/newview/skins/default/xui/da/floater_wearable_save_as.xml
index a70db6a6f1..17d5b9c205 100644
--- a/indra/newview/skins/default/xui/da/floater_wearable_save_as.xml
+++ b/indra/newview/skins/default/xui/da/floater_wearable_save_as.xml
@@ -1,9 +1,9 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="modal container" title="">
- <button label="Gem" label_selected="Gem" name="Save" />
- <button label="Annullér" label_selected="Annullér" name="Cancel" />
+ <button label="Gem" label_selected="Gem" name="Save"/>
+ <button label="Annullér" label_selected="Annullér" name="Cancel"/>
<text name="Save item as:">
- Gem ting som::
+ Gem genstand i min beholdning som:
</text>
<line_editor name="name ed">
Ny [DESC]
diff --git a/indra/newview/skins/default/xui/da/floater_whitelist_entry.xml b/indra/newview/skins/default/xui/da/floater_whitelist_entry.xml
index d2f618579d..443e84b64a 100644
--- a/indra/newview/skins/default/xui/da/floater_whitelist_entry.xml
+++ b/indra/newview/skins/default/xui/da/floater_whitelist_entry.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="whitelist_entry">
+<floater name="whitelist_entry" title="GODKENDTE SIDER">
<text name="media_label">
Indtast en URL eller et URL mønster for at tilføje til listen med godkendte domæner
</text>
diff --git a/indra/newview/skins/default/xui/da/floater_window_size.xml b/indra/newview/skins/default/xui/da/floater_window_size.xml
new file mode 100644
index 0000000000..db8ead21bd
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/floater_window_size.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="window_size" title="VINDUE STØRRELSE">
+ <string name="resolution_format">
+ [RES_X] x [RES_Y]
+ </string>
+ <text name="windowsize_text">
+ Sæt størrelse på vindue:
+ </text>
+ <combo_box name="window_size_combo" tool_tip="bredde x højde">
+ <combo_box.item label="1000 x 700 (standard)" name="item0"/>
+ <combo_box.item label="1024 x 768" name="item1"/>
+ <combo_box.item label="1280 x 720 (720p)" name="item2"/>
+ <combo_box.item label="1920 x 1080 (1080p)" name="item3"/>
+ </combo_box>
+ <button label="Sæt" name="set_btn"/>
+ <button label="Annullér" name="cancel_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/da/floater_world_map.xml b/indra/newview/skins/default/xui/da/floater_world_map.xml
index 137e8509a4..7d4a81d655 100644
--- a/indra/newview/skins/default/xui/da/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/da/floater_world_map.xml
@@ -6,64 +6,29 @@
</text>
</panel>
<panel>
- <button label="Vis min position" label_selected="Vis min position" name="Show My Location" tool_tip="Centrér kort om min avatars position"/>
- <text name="person_label">
+ <text name="me_label">
Mig
</text>
- <check_box label="Beboer" name="people_chk"/>
- <check_box label="Infohub" name="infohub_chk"/>
- <text name="infohub_label">
- Infohub
+ <text name="person_label">
+ Person
</text>
- <check_box label="Land til salg" name="land_for_sale_chk"/>
- <text name="land_sale_label">
- Land til salg
+ <text name="by_owner_label">
+ efter ejer
</text>
<text name="auction_label">
- af ejer
- </text>
- <button label="Tag hjem" label_selected="Tag hjem" name="Go Home" tool_tip="Teleportér til min hjemmelokation"/>
- <text name="Home_label">
- Hjem
+ land auktion
</text>
- <text name="events_label">
- Events:
+ <text name="pg_label">
+ Generelt
</text>
- <check_box label="PG" name="event_chk"/>
- <check_box initial_value="true" label="Mature" name="event_mature_chk"/>
<text name="mature_label">
- Mature
+ Moderat
</text>
- <check_box label="Adult" name="event_adult_chk"/>
- </panel>
- <panel>
- <text name="find_on_map_label">
- Find på kort
- </text>
- </panel>
- <panel>
- <combo_box label="Venner online" name="friend combo" tool_tip="Vis venner på kort">
- <combo_box.item label="Mine venner online" name="item1"/>
- </combo_box>
- <combo_box label="Mine landemærker" name="landmark combo" tool_tip="Landemærke der skal vises på kort">
- <combo_box.item label="Mine landemærker" name="item1"/>
- </combo_box>
- <search_editor label="Regioner efter navn" name="location" tool_tip="Skriv navnet på en region"/>
- <button label="Find" name="DoSearch" tool_tip="Søg efter en region"/>
- <scroll_list name="search_results">
- <scroll_list.columns label="" name="icon"/>
- <scroll_list.columns label="" name="sim_name"/>
- </scroll_list>
- <button label="Teleport" label_selected="Teleport" name="Teleport" tool_tip="Teleportér til den valgte lokation"/>
- <button label="Kopiér SLurl" name="copy_slurl" tool_tip="Kopierer denne lokation som SLurl der kan bruges på web."/>
- <button label="Vis selektion" label_selected="Vis destination" name="Show Destination" tool_tip="Centrér kortet på valgte lokation"/>
- </panel>
- <panel>
- <text name="zoom_label">
- Zoom
+ <text name="adult_label">
+ Voksen
</text>
</panel>
<panel>
- <slider label="Zoom" name="zoom slider"/>
+ <button name="Clear" tool_tip="Fjern søgelinier og nulstil kort"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/da/inspect_avatar.xml b/indra/newview/skins/default/xui/da/inspect_avatar.xml
index 1b85544303..d4bc0813e5 100644
--- a/indra/newview/skins/default/xui/da/inspect_avatar.xml
+++ b/indra/newview/skins/default/xui/da/inspect_avatar.xml
@@ -13,7 +13,7 @@
<slider name="volume_slider" tool_tip="Stemme lydstyrke" value="0.5"/>
<button label="Tilføj ven" name="add_friend_btn"/>
<button label="IM" name="im_btn"/>
- <button label="Mere" name="view_profile_btn"/>
+ <button label="Profil" name="view_profile_btn"/>
<panel name="moderator_panel">
<button label="Slå stemme-chat fra" name="disable_voice"/>
<button label="Slå stemme-chat til" name="enable_voice"/>
diff --git a/indra/newview/skins/default/xui/da/menu_avatar_self.xml b/indra/newview/skins/default/xui/da/menu_avatar_self.xml
index 29620fca27..6a6831c2e3 100644
--- a/indra/newview/skins/default/xui/da/menu_avatar_self.xml
+++ b/indra/newview/skins/default/xui/da/menu_avatar_self.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Self Pie">
<menu_item_call label="Stå op" name="Stand Up"/>
- <context_menu label="Tag af &gt;" name="Take Off &gt;">
- <context_menu label="Tøj &gt;" name="Clothes &gt;">
+ <context_menu label="Tag af ▶" name="Take Off &gt;">
+ <context_menu label="Tøj ▶" name="Clothes &gt;">
<menu_item_call label="Trøje" name="Shirt"/>
<menu_item_call label="Bukser" name="Pants"/>
<menu_item_call label="Nederdel" name="Skirt"/>
@@ -16,8 +16,8 @@
<menu_item_call label="Alpha" name="Self Alpha"/>
<menu_item_call label="Alt tøj" name="All Clothes"/>
</context_menu>
- <context_menu label="HUD &gt;" name="Object Detach HUD"/>
- <context_menu label="Tag af &gt;" name="Object Detach"/>
+ <context_menu label="HUD ▶" name="Object Detach HUD"/>
+ <context_menu label="Tag af ▶" name="Object Detach"/>
<menu_item_call label="Tag alt af" name="Detach All"/>
</context_menu>
<menu_item_call label="Udseende" name="Appearance..."/>
diff --git a/indra/newview/skins/default/xui/da/menu_im_well_button.xml b/indra/newview/skins/default/xui/da/menu_im_well_button.xml
new file mode 100644
index 0000000000..4889230919
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/menu_im_well_button.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="IM Well Button Context Menu">
+ <menu_item_call label="Luk alle" name="Close All"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/da/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/da/menu_inspect_avatar_gear.xml
index 5b8089bfe0..7434f2c3a2 100644
--- a/indra/newview/skins/default/xui/da/menu_inspect_avatar_gear.xml
+++ b/indra/newview/skins/default/xui/da/menu_inspect_avatar_gear.xml
@@ -7,6 +7,7 @@
<menu_item_call label="Teleportér" name="teleport"/>
<menu_item_call label="Invitér til gruppe" name="invite_to_group"/>
<menu_item_call label="Blokér" name="block"/>
+ <menu_item_call label="Fjern blokering" name="unblock"/>
<menu_item_call label="Rapportér" name="report"/>
<menu_item_call label="Frys" name="freeze"/>
<menu_item_call label="Smid ud" name="eject"/>
@@ -14,4 +15,5 @@
<menu_item_call label="Find på kort" name="find_on_map"/>
<menu_item_call label="Zoom ind" name="zoom_in"/>
<menu_item_call label="Betal" name="pay"/>
+ <menu_item_call label="Del" name="share"/>
</menu>
diff --git a/indra/newview/skins/default/xui/da/menu_inventory.xml b/indra/newview/skins/default/xui/da/menu_inventory.xml
index 376af507d0..cdfcad9b1c 100644
--- a/indra/newview/skins/default/xui/da/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/da/menu_inventory.xml
@@ -46,9 +46,10 @@
<menu_item_call label="Teleport" name="Landmark Open"/>
<menu_item_call label="åben" name="Animation Open"/>
<menu_item_call label="åben" name="Sound Open"/>
+ <menu_item_call label="Erstat påklædning" name="Replace Outfit"/>
+ <menu_item_call label="Tilføj til påklædning" name="Add To Outfit"/>
<menu_item_call label="Slet ting" name="Purge Item"/>
<menu_item_call label="Genskab ting" name="Restore Item"/>
- <menu_item_call label="Gå til link" name="Goto Link"/>
<menu_item_call label="åben" name="Open"/>
<menu_item_call label="Egenskaber" name="Properties"/>
<menu_item_call label="Omdøb" name="Rename"/>
@@ -57,13 +58,11 @@
<menu_item_call label="Indsæt" name="Paste"/>
<menu_item_call label="Sæt ind som link" name="Paste As Link"/>
<menu_item_call label="Slet" name="Delete"/>
- <menu_item_call label="Tag ting af" name="Take Off Items"/>
- <menu_item_call label="Tilføj til påklædning" name="Add To Outfit"/>
- <menu_item_call label="Erstat påklædning" name="Replace Outfit"/>
+ <menu_item_call label="Slet systemfolder" name="Delete System Folder"/>
<menu_item_call label="start konference chat" name="Conference Chat Folder"/>
<menu_item_call label="Afspil" name="Sound Play"/>
<menu_item_call label="Om landemærke" name="About Landmark"/>
- <menu_item_call label="Afspil offentligt" name="Animation Play"/>
+ <menu_item_call label="Afspil i verden" name="Animation Play"/>
<menu_item_call label="Afspil lokalt" name="Animation Audition"/>
<menu_item_call label="Send privat besked (IM)" name="Send Instant Message"/>
<menu_item_call label="Tilbyd teleport..." name="Offer Teleport..."/>
diff --git a/indra/newview/skins/default/xui/da/menu_login.xml b/indra/newview/skins/default/xui/da/menu_login.xml
index 0942f1b807..7fc7d43c20 100644
--- a/indra/newview/skins/default/xui/da/menu_login.xml
+++ b/indra/newview/skins/default/xui/da/menu_login.xml
@@ -21,8 +21,8 @@
</menu>
<menu_item_call label="Vis debug opsætning" name="Debug Settings"/>
<menu_item_call label="UI/farve opsætning" name="UI/Color Settings"/>
- <menu_item_call label="Vis sidebakke" name="Show Side Tray"/>
<menu label="UI tests" name="UI Tests"/>
+ <menu_item_call label="Sæt vinduesstørrelse" name="Set Window Size..."/>
<menu_item_call label="Vis betingelser" name="TOS"/>
<menu_item_call label="Vis vigtig besked" name="Critical"/>
<menu_item_call label="Test i web browser" name="Web Browser Test"/>
diff --git a/indra/newview/skins/default/xui/da/menu_notification_well_button.xml b/indra/newview/skins/default/xui/da/menu_notification_well_button.xml
new file mode 100644
index 0000000000..40b35b5fdd
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/menu_notification_well_button.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Notification Well Button Context Menu">
+ <menu_item_call label="Luk alle" name="Close All"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/da/menu_object.xml b/indra/newview/skins/default/xui/da/menu_object.xml
index 0714b67ec3..232f3f64e2 100644
--- a/indra/newview/skins/default/xui/da/menu_object.xml
+++ b/indra/newview/skins/default/xui/da/menu_object.xml
@@ -6,18 +6,20 @@
<menu_item_call label="Åben" name="Open"/>
<menu_item_call label="Sid her" name="Object Sit"/>
<menu_item_call label="Objekt profil" name="Object Inspect"/>
- <context_menu label="Sæt på &gt;" name="Put On">
+ <menu_item_call label="Zoom In" name="Zoom In"/>
+ <context_menu label="Tag på ▶" name="Put On">
<menu_item_call label="Tag på" name="Wear"/>
- <context_menu label="Vedhæft &gt;" name="Object Attach"/>
- <context_menu label="Vedhæft HUD &gt;" name="Object Attach HUD"/>
+ <context_menu label="Vedhæft ▶" name="Object Attach"/>
+ <context_menu label="Vedhæft HUD ▶" name="Object Attach HUD"/>
</context_menu>
- <context_menu label="Fjern &gt;" name="Remove">
- <menu_item_call label="Tag" name="Pie Object Take"/>
+ <context_menu label="Fjern ▶" name="Remove">
<menu_item_call label="Rapportér misbrug" name="Report Abuse..."/>
<menu_item_call label="Blokér" name="Object Mute"/>
<menu_item_call label="Returnér" name="Return..."/>
<menu_item_call label="Slet" name="Delete"/>
</context_menu>
+ <menu_item_call label="Køb" name="Pie Object Bye"/>
+ <menu_item_call label="Tag" name="Pie Object Take"/>
<menu_item_call label="Tag kopi" name="Take Copy"/>
<menu_item_call label="Betal" name="Pay..."/>
<menu_item_call label="Køb" name="Buy..."/>
diff --git a/indra/newview/skins/default/xui/da/menu_participant_list.xml b/indra/newview/skins/default/xui/da/menu_participant_list.xml
index 44a016026c..c2595dcb3d 100644
--- a/indra/newview/skins/default/xui/da/menu_participant_list.xml
+++ b/indra/newview/skins/default/xui/da/menu_participant_list.xml
@@ -1,16 +1,20 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Participant List Context Menu">
+ <menu_item_check label="Sortér efter navn" name="SortByName"/>
+ <menu_item_check label="Sortér efter nylige talere" name="SortByRecentSpeakers"/>
<menu_item_call label="Profil" name="View Profile"/>
<menu_item_call label="Tilføj ven" name="Add Friend"/>
<menu_item_call label="Send besked" name="IM"/>
<menu_item_call label="Opkald" name="Call"/>
<menu_item_call label="Del" name="Share"/>
<menu_item_call label="Betal" name="Pay"/>
- <menu_item_check label="Blokér/Fjern blokering" name="Block/Unblock"/>
- <menu_item_check label="Sluk for tekst" name="MuteText"/>
- <menu_item_check label="Tillad tekst chat" name="AllowTextChat"/>
- <menu_item_call label="Sluk for denne deltager" name="ModerateVoiceMuteSelected"/>
- <menu_item_call label="Sluk for alle andre" name="ModerateVoiceMuteOthers"/>
- <menu_item_call label="Åben for denne deltager" name="ModerateVoiceUnMuteSelected"/>
- <menu_item_call label="Åben for alle andre" name="ModerateVoiceUnMuteOthers"/>
+ <menu_item_check label="Blokér stemme" name="Block/Unblock"/>
+ <menu_item_check label="Blokér tekst" name="MuteText"/>
+ <context_menu label="Moderator muligheder &gt;" name="Moderator Options">
+ <menu_item_check label="Tillad tekst chat" name="AllowTextChat"/>
+ <menu_item_call label="Sluk for denne deltager" name="ModerateVoiceMuteSelected"/>
+ <menu_item_call label="Sluk for alle andre" name="ModerateVoiceMuteOthers"/>
+ <menu_item_call label="Fjern slukning for denne deltager" name="ModerateVoiceUnMuteSelected"/>
+ <menu_item_call label="Fjern slukning for alle andre" name="ModerateVoiceUnMuteOthers"/>
+ </context_menu>
</context_menu>
diff --git a/indra/newview/skins/default/xui/da/menu_people_groups.xml b/indra/newview/skins/default/xui/da/menu_people_groups.xml
new file mode 100644
index 0000000000..841f58b619
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/menu_people_groups.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_group_plus">
+ <menu_item_call label="Se info" name="View Info"/>
+ <menu_item_call label="Chat" name="Chat"/>
+ <menu_item_call label="Opkald" name="Call"/>
+ <menu_item_call label="Aktivér" name="Activate"/>
+ <menu_item_call label="Forlad" name="Leave"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/da/menu_people_nearby.xml b/indra/newview/skins/default/xui/da/menu_people_nearby.xml
index 224190149b..5470c32761 100644
--- a/indra/newview/skins/default/xui/da/menu_people_nearby.xml
+++ b/indra/newview/skins/default/xui/da/menu_people_nearby.xml
@@ -2,9 +2,12 @@
<context_menu name="Avatar Context Menu">
<menu_item_call label="Profil" name="View Profile"/>
<menu_item_call label="Tilføj ven" name="Add Friend"/>
+ <menu_item_call label="Fjern ven" name="Remove Friend"/>
<menu_item_call label="Besked" name="IM"/>
<menu_item_call label="Opkald" name="Call"/>
+ <menu_item_call label="Kort" name="Map"/>
<menu_item_call label="Del" name="Share"/>
<menu_item_call label="Betal" name="Pay"/>
<menu_item_check label="Blokér/Fjern blokering" name="Block/Unblock"/>
+ <menu_item_call label="Tilbyd teleport" name="teleport"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/da/menu_people_nearby_multiselect.xml b/indra/newview/skins/default/xui/da/menu_people_nearby_multiselect.xml
index 92c6d2c960..08b7136b97 100644
--- a/indra/newview/skins/default/xui/da/menu_people_nearby_multiselect.xml
+++ b/indra/newview/skins/default/xui/da/menu_people_nearby_multiselect.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Multi-Selected People Context Menu">
<menu_item_call label="Tilføj venner" name="Add Friends"/>
+ <menu_item_call label="Fjern venner" name="Remove Friend"/>
<menu_item_call label="Besked" name="IM"/>
<menu_item_call label="Opkald" name="Call"/>
<menu_item_call label="Del" name="Share"/>
diff --git a/indra/newview/skins/default/xui/da/menu_profile_overflow.xml b/indra/newview/skins/default/xui/da/menu_profile_overflow.xml
index 58fbc62643..9609b424a1 100644
--- a/indra/newview/skins/default/xui/da/menu_profile_overflow.xml
+++ b/indra/newview/skins/default/xui/da/menu_profile_overflow.xml
@@ -2,4 +2,10 @@
<toggleable_menu name="profile_overflow_menu">
<menu_item_call label="Betal" name="pay"/>
<menu_item_call label="Del" name="share"/>
+ <menu_item_call label="Blokér" name="block"/>
+ <menu_item_call label="Fjern blokering" name="unblock"/>
+ <menu_item_call label="Spark" name="kick"/>
+ <menu_item_call label="Frys" name="freeze"/>
+ <menu_item_call label="Fjern frys" name="unfreeze"/>
+ <menu_item_call label="Kundeservicemedarbejder (CSR)" name="csr"/>
</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/da/menu_viewer.xml b/indra/newview/skins/default/xui/da/menu_viewer.xml
index ec0631d54f..18ad7cfffa 100644
--- a/indra/newview/skins/default/xui/da/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/da/menu_viewer.xml
@@ -7,8 +7,8 @@
<menu_item_call label="Profil" name="Profile"/>
<menu_item_call label="Udseende" name="Appearance"/>
<menu_item_check label="Beholdning" name="Inventory"/>
- <menu_item_call label="Vis beholdning i sidebakke" name="ShowSidetrayInventory"/>
- <menu_item_call label="Mine bevægelser" name="Gestures"/>
+ <menu_item_check label="Min beholdning" name="ShowSidetrayInventory"/>
+ <menu_item_check label="Mine bevægelser" name="Gestures"/>
<menu label="Min status" name="Status">
<menu_item_call label="Væk" name="Set Away"/>
<menu_item_call label="Optaget" name="Set Busy"/>
@@ -22,35 +22,36 @@
<menu_item_call label="Grupper" name="My Groups"/>
<menu_item_check label="Chat i nærheden" name="Nearby Chat"/>
<menu_item_call label="Personer tæt på" name="Active Speakers"/>
- <menu_item_check label="Media i nærheden" name="Nearby Media"/>
</menu>
<menu label="Verden" name="World">
- <menu_item_check label="Flyt" name="Movement Controls"/>
- <menu_item_check label="Vis" name="Camera Controls"/>
- <menu_item_call label="Om land" name="About Land"/>
- <menu_item_call label="Region/Estate" name="Region/Estate"/>
- <menu_item_call label="Køb land" name="Buy Land"/>
+ <menu_item_check label="Mini-kort" name="Mini-Map"/>
+ <menu_item_check label="Verdenskort" name="World Map"/>
+ <menu_item_call label="Foto" name="Take Snapshot"/>
+ <menu_item_call label="Opret landemærke for dette sted" name="Create Landmark Here"/>
+ <menu label="Profil for sted" name="Land">
+ <menu_item_call label="Om land" name="About Land"/>
+ <menu_item_call label="Region/Estate" name="Region/Estate"/>
+ </menu>
+ <menu_item_call label="Køb dette land" name="Buy Land"/>
<menu_item_call label="Mit land" name="My Land"/>
- <menu label="Vis" name="Land">
- <menu_item_check label="Ban Lines" name="Ban Lines"/>
+ <menu label="Vis" name="LandShow">
+ <menu_item_check label="Bevægelses kontrol" name="Movement Controls"/>
+ <menu_item_check label="Vis kontroller" name="Camera Controls"/>
+ <menu_item_check label="&apos;Ingen adgang&apos; markering" name="Ban Lines"/>
<menu_item_check label="Pejlelys" name="beacons"/>
<menu_item_check label="Parcel skel" name="Property Lines"/>
- <menu_item_check label="Land-ejere" name="Land Owners"/>
- </menu>
- <menu label="Landemærker" name="Landmarks">
- <menu_item_call label="Opret landemærke her" name="Create Landmark Here"/>
- <menu_item_call label="Sæt hjem til her" name="Set Home to Here"/>
+ <menu_item_check label="Grundejere" name="Land Owners"/>
+ <menu_item_check label="Koordinater" name="Coordinates"/>
+ <menu_item_check label="Parcel egenskaber" name="Parcel Properties"/>
</menu>
- <menu_item_call label="Hjem" name="Teleport Home"/>
- <menu_item_check label="Mini-kort" name="Mini-Map"/>
- <menu_item_check label="Verdenskort" name="World Map"/>
- <menu_item_call label="Foto" name="Take Snapshot"/>
+ <menu_item_call label="Teleport hjem" name="Teleport Home"/>
+ <menu_item_call label="Sæt dette sted som &apos;Hjem&apos;" name="Set Home to Here"/>
<menu label="Sol" name="Environment Settings">
<menu_item_call label="Solopgang" name="Sunrise"/>
<menu_item_call label="Middag" name="Noon"/>
<menu_item_call label="Solnedgang" name="Sunset"/>
<menu_item_call label="Midnat" name="Midnight"/>
- <menu_item_call label="Benyt tid fra estate" name="Revert to Region Default"/>
+ <menu_item_call label="Estate tid" name="Revert to Region Default"/>
<menu_item_call label="Redigering af omgivelser" name="Environment Editor"/>
</menu>
</menu>
@@ -76,10 +77,12 @@
</menu>
<menu_item_call label="Sammenkæde" name="Link"/>
<menu_item_call label="Adskil" name="Unlink"/>
+ <menu_item_check label="Redigér sammekædede objekter" name="Edit Linked Parts"/>
<menu_item_call label="Fokusér på valgte" name="Focus on Selection"/>
<menu_item_call label="Zoom til valgte" name="Zoom to Selection"/>
<menu label="Objekt" name="Object">
- <menu_item_call label="Køb" name="Menu Object Take"/>
+ <menu_item_call label="Køb" name="Menu Object Buy"/>
+ <menu_item_call label="Tag" name="Menu Object Take"/>
<menu_item_call label="Tag kopi" name="Take Copy"/>
<menu_item_call label="Opdatér ændringer til beholdning" name="Save Object Back to My Inventory"/>
<menu_item_call label="Opdater ændringer i indhold til objekt" name="Save Object Back to Object Contents"/>
@@ -92,25 +95,18 @@
<menu_item_call label="Sæt scripts til &quot;Not Running&quot;" name="Set Scripts to Not Running"/>
</menu>
<menu label="Valg" name="Options">
- <menu_item_check label="Redigér sammenlænkede dele" name="Edit Linked Parts"/>
<menu_item_call label="Sæt standard rettigheder" name="perm prefs"/>
<menu_item_check label="Vis avancerede rettigheder" name="DebugPermissions"/>
- <menu label="Selektion" name="Selection">
- <menu_item_check label="Vælg kun egne objekter" name="Select Only My Objects"/>
- <menu_item_check label="Vælg kun flytbare objekter" name="Select Only Movable Objects"/>
- <menu_item_check label="Vælg ved at omkrandse" name="Select By Surrounding"/>
- </menu>
- <menu label="Vis" name="Show">
- <menu_item_check label="Vis skjult selektion" name="Show Hidden Selection"/>
- <menu_item_check label="Vis lys-radius for valgte" name="Show Light Radius for Selection"/>
- <menu_item_check label="Vis udvælgelses stråle" name="Show Selection Beam"/>
- </menu>
- <menu label="Gitter" name="Grid">
- <menu_item_check label="Ret ind til gitter" name="Snap to Grid"/>
- <menu_item_call label="Ret XY for objekt ind til gitter" name="Snap Object XY to Grid"/>
- <menu_item_call label="Benyt valgte som grundlag for gitter" name="Use Selection for Grid"/>
- <menu_item_call label="Gitter valg" name="Grid Options"/>
- </menu>
+ <menu_item_check label="Vælg kun egne objekter" name="Select Only My Objects"/>
+ <menu_item_check label="Vis kun flytbare objekter" name="Select Only Movable Objects"/>
+ <menu_item_check label="Vælg ved at omkrandse" name="Select By Surrounding"/>
+ <menu_item_check label="Vis skjulte objekter" name="Show Hidden Selection"/>
+ <menu_item_check label="Vis lys-radius for valgte" name="Show Light Radius for Selection"/>
+ <menu_item_check label="Vis pejlelys for valgte" name="Show Selection Beam"/>
+ <menu_item_check label="Ret ind til gitter" name="Snap to Grid"/>
+ <menu_item_call label="Ret XY for objekt ind til gitter" name="Snap Object XY to Grid"/>
+ <menu_item_call label="Benyt valgte som grundlag for gitter" name="Use Selection for Grid"/>
+ <menu_item_call label="Gitter indstillinger" name="Grid Options"/>
</menu>
<menu label="Vis lænkede dele" name="Select Linked Parts">
<menu_item_call label="Vælg næste del" name="Select Next Part"/>
@@ -121,15 +117,14 @@
</menu>
<menu label="Hjælp" name="Help">
<menu_item_call label="[SECOND_LIFE] Help" name="Second Life Help"/>
- <menu_item_call label="Tutorial" name="Tutorial"/>
<menu_item_call label="Rapporter misbrug" name="Report Abuse"/>
<menu_item_call label="Rapportér fejl" name="Report Bug"/>
</menu>
<menu label="Avanceret" name="Advanced">
- <menu_item_check label="Sæt til &quot;væk&quot; efter 30 minutter" name="Go Away/AFK When Idle"/>
<menu_item_call label="Stop animering af min avatar" name="Stop Animating My Avatar"/>
<menu_item_call label="Gendan teksturer" name="Rebake Texture"/>
<menu_item_call label="Sæt UI størrelse til standard" name="Set UI Size to Default"/>
+ <menu_item_call label="Vælg vinduesstørrelse..." name="Set Window Size..."/>
<menu_item_check label="Begræns valg afstand" name="Limit Select Distance"/>
<menu_item_check label="Fjern kamerabegrænsninger" name="Disable Camera Distance"/>
<menu_item_check label="Højopløsningsfoto" name="HighResSnapshot"/>
@@ -176,8 +171,8 @@
<menu_item_check label="Kør flere tråde" name="Run Multiple Threads"/>
<menu_item_call label="Tøm gruppe cache" name="ClearGroupCache"/>
<menu_item_check label="Muse udjævning" name="Mouse Smoothing"/>
- <menu_item_check label="Vis IM&apos;s i lokal chat" name="IMInChat"/>
<menu label="Shortcuts" name="Shortcuts">
+ <menu_item_call label="Billede (L$[COST])..." name="Upload Image"/>
<menu_item_check label="Søg" name="Search"/>
<menu_item_call label="Frigør taster" name="Release Keys"/>
<menu_item_call label="Sæt UI størrelse til standard" name="Set UI Size to Default"/>
@@ -217,6 +212,7 @@
<menu_item_call label="Vis Regionsinfo i debug-konsol" name="Region Info to Debug Console"/>
<menu_item_check label="Kamera" name="Camera"/>
<menu_item_check label="Vind" name="Wind"/>
+ <menu_item_check label="Badge" name="Badge"/>
</menu>
<menu label="Vis info" name="Display Info">
<menu_item_check label="Vis tid" name="Show Time"/>
diff --git a/indra/newview/skins/default/xui/da/notifications.xml b/indra/newview/skins/default/xui/da/notifications.xml
index 42eac1be7a..9193bd43e8 100644
--- a/indra/newview/skins/default/xui/da/notifications.xml
+++ b/indra/newview/skins/default/xui/da/notifications.xml
@@ -11,18 +11,29 @@
</global>
<template name="okbutton">
<form>
- <button name="OK" text="$yestext"/>
+ <button name="OK_okbutton" text="$yestext"/>
+ </form>
+ </template>
+ <template name="okignore">
+ <form>
+ <button name="OK_okignore" text="$yestext"/>
</form>
</template>
- <template name="okignore"/>
<template name="okcancelbuttons">
<form>
- <button name="Cancel" text="$notext"/>
+ <button name="OK_okcancelbuttons" text="$yestext"/>
+ <button name="Cancel_okcancelbuttons" text="$notext"/>
+ </form>
+ </template>
+ <template name="okcancelignore">
+ <form>
+ <button name="OK_okcancelignore" text="$yestext"/>
+ <button name="Cancel_okcancelignore" text="$notext"/>
</form>
</template>
- <template name="okcancelignore"/>
<template name="okhelpbuttons">
<form>
+ <button name="OK_okhelpbuttons" text="$yestext"/>
<button name="Help" text="$helptext"/>
</form>
</template>
@@ -30,6 +41,7 @@
<form>
<button name="Yes" text="$yestext"/>
<button name="No" text="$notext"/>
+ <button name="Cancel_yesnocancelbuttons" text="$canceltext"/>
</form>
</template>
<notification functor="GenericAcknowledge" label="Ukendt notificeringsbesked" name="MissingAlert">
@@ -93,13 +105,17 @@ Vælg kun en genstand, og prøv igen.
Gem alle ændringer til tøj/krops dele?
<usetemplate canceltext="Annullér" name="yesnocancelbuttons" notext="Gem Ikke" yestext="Gem Alt"/>
</notification>
+ <notification name="FriendsAndGroupsOnly">
+ &apos;Ikke-venner&apos; vil ikke vide, at du har valgt at ignorere deres opkald og personlige beskeder (IM)
+ <usetemplate name="okbutton" yestext="Ja"/>
+ </notification>
<notification name="GrantModifyRights">
- At give redigerings rettigheder til en anden beboer, giver dem mulighed for at ændre, slette eller tage alle genstande, du måtte have i verden. Vær meget forsigtig når uddeler denne tilladelse.
+ At give redigerings rettigheder til en anden beboer, giver dem mulighed for at ændre, slette eller tage ALLE genstande, du måtte have i verden. Vær MEGET forsigtig når uddeler denne tilladelse.
Ønsker du at ændre rettigheder for [FIRST_NAME] [LAST_NAME]?
<usetemplate name="okcancelbuttons" notext="Nej" yestext="Ja"/>
</notification>
<notification name="GrantModifyRightsMultiple">
- At give redigerings rettigheder til en anden beboer, giver dem mulighed for at ændre, slette eller tage alle genstande, du måtte have i verden. Vær meget forsigtig når uddeler denne tilladelse.
+ At give redigerings rettigheder til en anden beboer, giver dem mulighed for at ændre, slette eller tage ALLE genstande, du måtte have i verden. Vær MEGET forsigtig når uddeler denne tilladelse.
Ønsker du at ændre rettigheder for de valgte beboere?
<usetemplate name="okcancelbuttons" notext="Nej" yestext="Ja"/>
</notification>
@@ -142,8 +158,15 @@ Ethvert medlem i en rolle med denne evne kan tildele sig selv -- og et andet med
Add this Ability to &apos;[ROLE_NAME]&apos;?
<usetemplate name="okcancelbuttons" notext="Nej" yestext="Ja"/>
</notification>
- <notification name="ClickUnimplemented">
- Beklager, ikke implementeret endnu.
+ <notification name="AttachmentDrop">
+ Du er ved at smide et vedhæng.
+ Er du sikker på at du vil fortsætte?
+ <usetemplate ignoretext="Bekræft før vedhæng smides" name="okcancelignore" notext="Nej" yestext="Ja"/>
+ </notification>
+ <notification name="JoinGroupNoCost">
+ Du melder dig ind i gruppen [NAME].
+Ønsker du at fortsætte?
+ <usetemplate name="okcancelbuttons" notext="Annullér" yestext="Bliv medlem"/>
</notification>
<notification name="JoinGroupCannotAfford">
Tilmelding til denne gruppe koster L$[COST].
@@ -197,13 +220,9 @@ Jo mere du betaler, jo højere oppe på listen vises annoncen, og den vil også
Er du sikker på at du vil fortsætte?
<usetemplate ignoretext="Bekræft før jeg slette media i et objekt" name="okcancelignore" notext="Nej" yestext="Ja"/>
</notification>
- <notification name="ResetShowNextTimeDialogs">
- Vil du gerne genaktivere alle disse popups, som du tidligere har bedt om ikke at få vist?
- <usetemplate name="okcancelbuttons" notext="Annullér" yestext="OK"/>
- </notification>
- <notification name="SkipShowNextTimeDialogs">
- Vil du deaktivere alle popups som kan undværes?
- <usetemplate name="okcancelbuttons" notext="Annullér" yestext="OK"/>
+ <notification name="ClassifiedInsufficientFunds">
+ Ikke nok penge til at oprette annonce.
+ <usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="CacheWillClear">
Cache vil blive tømt ved næste genstart af [APP_NAME].
@@ -224,11 +243,14 @@ Indtast venligst navn på region i Start lokation feltet eller vælg &quot;Min s
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="UnsupportedHardware">
+ Bare så du ved det, din computer opfylder ikke minimumskravene til [APP_NAME]. Du kan opleve dårlig hastighed. Desværre kan [SUPPORT_SITE] ikke give teknisk support til ikke-supporterede konfigurationer.
+MINSPECS
+Besøg [_URL] for mere information?
<usetemplate ignoretext="Din computer hardware understøttes ikke" name="okcancelignore" notext="No" yestext="Yes"/>
</notification>
<notification name="UnknownGPU">
- Dit system har et grafikkort som er ukendt for [APP_NAME] lige nu.
-Dette er tilfældet med nyt hardware som endnu ikke er blevet testet med [APP_NAME]. [APP_NAME] vil sandsynligvis kunne køre normalt, men det kan være nødvendigt at justere opsætningen af grafik.
+ Dit system indeholder et grafikkort som [APP_NAME] ikke kan genkende.
+Dette skyldes ofte nyt hardware som endnu ikke er blevet testet med [APP_NAME]. Kortet vil sandsynligvis virke fint, med det kan være nødvendigt at justere grafik opsætningen.
(Mig &gt; Indstillinger &gt; Grafik).
<form name="form">
<ignore name="ignore" text="Dit grafikkort kunne ikke identificeres"/>
@@ -260,9 +282,17 @@ Gå til [_URL] for information om køb af L$?
<notification name="LandmarkCreated">
Du har tilføjet &quot;[LANDMARK_NAME]&quot; til din [FOLDER_NAME] mappe.
</notification>
+ <notification name="LandmarkAlreadyExists">
+ Du har allerede et landemærke for denne lokation.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="CannotOpenScriptObjectNoMod">
Ikke muligt at åbne script i objekt uden &apos;Redigére&apos; rettigheder.
</notification>
+ <notification name="CouldNotTeleportReason">
+ Teleport fejlede.
+[REASON]
+ </notification>
<notification name="invalid_tport">
Der opstod et problem ved din teleport. Det kan være nødvendigt at logge ind igen, før du kan teleporte.
Hvis du bliver ved med at få denne fejl, check venligst [SUPPORT_SITE].
@@ -305,6 +335,10 @@ Prøv evt. igen om lidt.
<notification name="no_inventory_host">
Beholdningssystemet er ikke tilgængelig lige nu.
</notification>
+ <notification name="ForceOwnerAuctionWarning">
+ Denne parcel er sat på auktion. Gennemtving ejerskab vil annullere denne auktion og måske irritere nogen beboere hvis bud allerede er afgivet.
+Gennemtving ejerskab?
+ </notification>
<notification name="CannotBuyLandNoRegion">
Ikke i stand til at købe land:
Kan ikke finde region som dette land er i.
@@ -316,13 +350,6 @@ Kan ikke finde region som dette land er i.
Land kunne ikke dedikeres:
Kunne ikke finde den region land ligger i.
</notification>
- <notification name="ParcelCanPlayMedia">
- Dette sted kan afspille &apos;streaming media&apos;.
-&apos;Streaming media&apos; kræver en hurtig internet opkobling.
-
-Afspil altid &apos;streaming media&apos; når det er tilgængeligt?
-(Du kan ændre dette valg senere under Indstillinger &gt; Privatliv.)
- </notification>
<notification name="CannotReleaseLandRegionNotFound">
Kunne ikke efterlade land:
Kan ikke finde den region landet ligger i.
@@ -340,9 +367,8 @@ Kan ikke finde den region landet ligger i.
Dette er typisk en midlertidig fejl. Venligst rediger og gem igen om et par minutter.
</notification>
<notification name="YouHaveBeenLoggedOut">
- Du er blevet logget af [SECOND_LIFE]:
+ Du er blevet logget af [SECOND_LIFE]
[MESSAGE]
-Du kan stadig se igangværende samtaler (IM) og chat ved at klikke på &apos;Se IM &amp; chat. Ellers klik på &apos;Afslut&apos; for at lukke [APP_NAME] med det samme.
<usetemplate name="okcancelbuttons" notext="Afslut" yestext="Se PB &amp; Chat"/>
</notification>
<notification label="Tilføj ven" name="AddFriend">
@@ -365,6 +391,9 @@ Tilbyd venskab til [NAME]?
<button name="Cancel" text="Annullér"/>
</form>
</notification>
+ <notification name="ErrorMessage">
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="AvatarMovedDesired">
Den ønskede lokation er ikke tilgængelig lige nu.
Du er blevet flyttet til en region in nærheden.
@@ -511,9 +540,12 @@ Chat og personlige beskeder vil blive skjult. Personlige beskeder vil få din &a
<usetemplate ignoretext="Jeg skrifter min status til &apos;optaget" name="okignore" yestext="OK"/>
</notification>
<notification name="JoinedTooManyGroupsMember">
- Du har nået det maksimale antal grupper. Du skal forlade en anden gruppe for at kunne være med i denne - eller afvis tilbudet.
-[NAME] har inviteret dig til at være medlem af en gruppe.
-[INVITE]
+ Du er oppe på det maksimale antal grupper. Forlad venligst en anden gruppe inden du melder dig ind i denne, eller afvis tilbuddet.
+[NAME] har inviteret dig til en gruppe.
+ </notification>
+ <notification name="JoinedTooManyGroups">
+ Du er oppe på det maksimale antal grupper. Forlad venligst en gruppe inden du melder dig ind i enndnu en gruppe eller opretter en ny.
+ <usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="OfferTeleport">
<form name="form">
@@ -525,6 +557,7 @@ Chat og personlige beskeder vil blive skjult. Personlige beskeder vil få din &a
</form>
</notification>
<notification name="TeleportFromLandmark">
+ Er du sikker på at du vil teleportere til &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
<usetemplate ignoretext="Bekræft at jeg vil teleportere til et landemærke" name="okcancelignore" notext="Cancel" yestext="Teleport"/>
</notification>
<notification name="TeleportToPick">
@@ -626,6 +659,12 @@ Du kan klikke på &apos;Ændre præference&apos; for at ændre din indholdsratin
Indeholder denne gruppe &apos;Mature&apos; indhold?
<usetemplate canceltext="Annullér" name="yesnocancelbuttons" notext="Nej" yestext="Ja"/>
</notification>
+ <notification label="Changed Region Maturity" name="RegionMaturityChange">
+ Ratingen for denne region er ændret.
+Det kan tage noget tid inden ændringen slår igennem på kortet.
+
+For at få adgang til voksen regioner, skal beboere være alders-checket, enten via aldersverifikation eller betalingsverifikation.
+ </notification>
<notification label="Voice Version Mismatch" name="VoiceVersionMismatch">
Denne version af [APP_NAME] er ikke kompatibel med stemme chat funktionen i denne region. For at kunne få stemme chat til at fungere skal du opdatere [APP_NAME].
</notification>
@@ -649,9 +688,9 @@ Du kan klikke på &apos;Ændre præference&apos; for at ændre din indholdsratin
<usetemplate ignoretext="Bekræft før jeg afslutter" name="okcancelignore" notext="Afslut ikke" yestext="Quit"/>
</notification>
<notification name="HelpReportAbuseEmailLL">
- Benyt dette værktøj til at rapportere Use this tool to report krænkelser af [http://secondlife.com/corporate/tos.php Terms of Service] og [http://secondlife.com/corporate/cs.php Community Standards].
+ Benyt dette værktøj til at rapportere krænkninger af [http://secondlife.com/corporate/tos.php Terms of Service] og [http://secondlife.com/corporate/cs.php Community Standards].
-Alle indrapporterede krænkelser er undersøgt og and afgjort. Du kan se løsning ved at læse [http://secondlife.com/support/incidentreport.php Incident Report].
+Alle rapporter om krænkninger vil blive undersøgt og behandlet.
</notification>
<notification name="HelpReportAbuseContainsCopyright">
Kære beboer,
@@ -792,8 +831,7 @@ Henvis til dette fra en hjemmeside for at give andre nem adgang til denne lokati
Bevægelsen [NAME] mangler i databasen.
</notification>
<notification name="UnableToLoadGesture">
- Ikke muligt at indlæse gestus [NAME].
-Prøv venligst igen.
+ Kunne ikke indlæse læse bevægelse [NAME].
</notification>
<notification name="LandmarkMissing">
Landmærke mangler i databasen.
@@ -885,10 +923,9 @@ Click on any landmark to select it, then click &apos;Teleport&apos; at the botto
(You can also double-click on the landmark, or right-click it and choose &apos;Teleport&apos;.)
</notification>
<notification name="TeleportToPerson">
- Du kan kontakte beboere som f.eks. &apos;[NAME]&apos; ved at åbne &apos;Personer&apos; panelet til højre på skærmen.
-Vælg beboeren fra listen og klik så på &apos;IM&apos; i bunden af panelet.
-(Du kan også dobbelt-klikke på navnet i listen eller højreklikke og vælge &apos;IM&apos;)
-(You can also double-click on their name in the list, or right-click and choose &apos;IM&apos;).
+ Du kan kontakte beboere som &apos;[NAME]&apos; ved at åbne Personer panelet til højre på skærmen.
+Vælg beboeren fra listen og klik så &apos;IM&apos; i bundet af panelet.
+(Du kan også dobbelt-klikke på navnet i listen, eller højre-klikke og vælge &apos;IM&apos;).
</notification>
<notification name="CantSelectLandFromMultipleRegions">
Kan ikke vælge land på tværs af grænser.
@@ -959,7 +996,7 @@ Prøv venligst at geninstallere plugin eller kontakt leverandøren hvis probleme
Genstandene på det valgte stykke land der er ejet af [FIRST] [LAST] er blevet returneret til hans eller hendes beholdning.
</notification>
<notification name="OtherObjectsReturned2">
- Genstandene på det valgte stykke land der er ejet af beboeren &apos;[NAME]&apos; er blevet returneret til deres ejere.
+ Objekterne i den valgte parcel, ejet af beboeren &apos;[NAME]&apos;, er blevet returneret til deres ejer.
</notification>
<notification name="GroupObjectsReturned">
Genstandene på det valgte stykke land, delt med gruppen [GROUPNAME], er blevet returneret til deres ejeres beholdninger.
@@ -971,7 +1008,7 @@ Genstande, der ikke kan overføres og som er dedikeret til gruppen, er blevet sl
</notification>
<notification name="ServerObjectMessage">
Besked fra [NAME]:
-[MSG]
+&lt;nolink&gt;[MSG]&lt;/nolink&gt;
</notification>
<notification name="NotSafe">
Dette land er åbnet for &apos;skade&apos;.
@@ -1080,7 +1117,7 @@ Prøv igen om lidt.
No valid parcel could be found.
</notification>
<notification name="ObjectGiveItem">
- Et objekt med navnet [OBJECTFROMNAME], ejet af [NAME_SLURL], har givet dig [OBJECTTYPE]:
+ Et objekt med navnet [OBJECTFROMNAME] ejet af [NAME_SLURL] har givet dig denne/dette [OBJECTTYPE]:
[ITEM_SLURL]
<form name="form">
<button name="Keep" text="Behold"/>
@@ -1089,7 +1126,7 @@ Prøv igen om lidt.
</form>
</notification>
<notification name="ObjectGiveItemUnknownUser">
- Et objekt med navnet [OBJECTFROMNAME], ejet af en ukendt beboer, har givet dig [OBJECTTYPE]:
+ Et objekt med navnet [OBJECTFROMNAME] ejet af (en ukendt beboer) har givet dig denne/dette [OBJECTTYPE]:
[ITEM_SLURL]
<form name="form">
<button name="Keep" text="Behold"/>
@@ -1098,12 +1135,12 @@ Prøv igen om lidt.
</form>
</notification>
<notification name="UserGiveItem">
- [NAME_SLURL] har givet dig [OBJECTTYPE]:
+ [NAME_SLURL] har givet dig denne/dette [OBJECTTYPE]:
[ITEM_SLURL]
<form name="form">
- <button name="Keep" text="Behold"/>
<button name="Show" text="Vis"/>
<button name="Discard" text="Smid væk"/>
+ <button name="Mute" text="Blokér"/>
</form>
</notification>
<notification name="GodMessage">
@@ -1128,6 +1165,9 @@ Prøv igen om lidt.
<button name="Cancel" text="Annullér"/>
</form>
</notification>
+ <notification name="TeleportOfferSent">
+ Tilbud om teleport sendt til [TO_NAME]
+ </notification>
<notification name="GotoURL">
[MESSAGE]
[URL]
@@ -1154,9 +1194,15 @@ Som standard vil du kunne se andres onlinestatus.
<notification name="FriendshipDeclined">
[NAME] afviste dit tilbud om venskab.
</notification>
+ <notification name="FriendshipAcceptedByMe">
+ Tilbud om venskab accepteret.
+ </notification>
+ <notification name="FriendshipDeclinedByMe">
+ Tilbud om venskab afvist.
+ </notification>
<notification name="OfferCallingCard">
- [FIRST] [LAST] tilbyder vedkommendes visitkort.
-Dette vil tilføje et bogmærke i din beholdning, så du hurtigt kan sende en personlig besked (IM) til denne beboer.
+ [FIRST] [LAST] tilbyder dig et visitkort.
+Dette vil lave et bogmørke i din beholding, så du hurtigt kan sende en IM til denne beboer.
<form name="form">
<button name="Accept" text="Acceptér"/>
<button name="Decline" text="Afvis"/>
@@ -1235,14 +1281,6 @@ Tillad denne anmodning?
<button name="Block" text="Blokér"/>
</form>
</notification>
- <notification name="FirstBalanceIncrease">
- Du har netop modtaget [AMOUNT] L$.
-Din balance vises øverst til højre.
- </notification>
- <notification name="FirstBalanceDecrease">
- Du har netop betalt [AMOUNT] L$.
-Din balance vises øverst til højre.
- </notification>
<notification name="BuyLindenDollarSuccess">
Tak for din betaling!
@@ -1250,58 +1288,17 @@ Din L$ balance vil blive opdateret når transaktionen er gennemført. Ved transa
Status for din betaling kan ses i din &apos;Transaction History&apos; side på din [http://secondlife.com/account/ Dashboard]
</notification>
- <notification name="FirstSit">
- Du sidder ned.
-Benyt piletasterne (eller AWSD) til at se rundt.
-Klik på &apos;Stå op&apos; tasten for at rejse dig.
- </notification>
- <notification name="FirstMap">
- Klik og træk på kortet for at se rundt.
-Dobbelt-klik for at teleportere.
-Benyt kontrollerne til højre for at finde ting og se forskellige baggrunde.
- </notification>
- <notification name="FirstBuild">
- Du har åbnet bygge værktøjer. Alle objekter du ser omkring dig er lavet via disse værktøjer.
- </notification>
- <notification name="FirstTeleport">
- Du kan kun teleportere til bestemte områder i denne region. Pilen peger på din specifikke destination. Klik på pilen for at fjerne den.
- </notification>
<notification name="FirstOverrideKeys">
Dine bevælgelsestaster bliver nu håndteret af et objekt.
Brug piletasterne eller AWSD for at se, hvad de gør.
Nogle genstande (som skydevåben) kræver at du går ind i musevisning for at bruge dem.
Tryk på &apos;M&apos; for at gåre det.
</notification>
- <notification name="FirstAppearance">
- Du redigerer dit udseende.
-Benyt piletasterne til at se rundt.
-Når du er færdig, tryk på &apos;Gem alt&apos;.
- </notification>
- <notification name="FirstInventory">
- Dette er din beholdning, som indeholder de genstande du ejer.
-
-* For at tage noget på, træk det over på dig selv.
-* For at &apos;rezze&apos; noget, træk det over på jorden.
-* For at læse en note, dobbelt-klik på den.
- </notification>
<notification name="FirstSandbox">
Dette er et sandkasse område. Her kan beboere lære ast bygge.
De ting du bygger vil blive slettet senere, så glem ikke at højre-klikke og vælge &quot;Tag&quot; for at tage en kopi af din kreation til din beholdning.
</notification>
- <notification name="FirstFlexible">
- Dette objekt er fleksibelt/blødt. Sådanne objekter skal være &apos;uden masse&apos; og ikke fysiske.
- </notification>
- <notification name="FirstDebugMenus">
- Du har åbnet menuen &apos;Avanceret&apos;.
-
-For at slå denne menu fra og til,
- Windows: Ctrl+Alt+D
- Mac: &#8997;&#8984;D
- </notification>
- <notification name="FirstSculptedPrim">
- Du redigerer en &apos;Sculpted prim&apos;. Sådanne objekter kræver en speciel tekstur for at definere faconen.
- </notification>
<notification name="MaxListSelectMessage">
Du må kun vælge op til [MAX_SELECT] genstande på denne liste.
</notification>
@@ -1408,6 +1405,10 @@ De vil blive blokeret nogle få sekunder af sikkerhedsmæssige årsager.
<button name="respondbutton" text="Svar"/>
</form>
</notification>
+ <notification name="ConfirmCloseAll">
+ Er du sikker på at du vil lukke alle personlige samtaler (IM)?
+ <usetemplate name="okcancelignore" notext="Annullér" yestext="OK"/>
+ </notification>
<notification name="AttachmentSaved">
Vedhæng er blevet gemt.
</notification>
diff --git a/indra/newview/skins/default/xui/da/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/da/panel_adhoc_control_panel.xml
index ab2e7a6e31..1953fad31f 100644
--- a/indra/newview/skins/default/xui/da/panel_adhoc_control_panel.xml
+++ b/indra/newview/skins/default/xui/da/panel_adhoc_control_panel.xml
@@ -1,8 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="panel_im_control_panel">
- <panel name="panel_call_buttons">
- <button label="Opkald" name="call_btn"/>
- <button label="Forlad samtale" name="end_call_btn"/>
- <button label="Stemmekontroller" name="voice_ctrls_btn"/>
- </panel>
+ <layout_stack name="vertical_stack">
+ <layout_panel name="call_btn_panel">
+ <button label="Opkald" name="call_btn"/>
+ </layout_panel>
+ <layout_panel name="end_call_btn_panel">
+ <button label="Forlad opkald" name="end_call_btn"/>
+ </layout_panel>
+ <layout_panel name="voice_ctrls_btn_panel">
+ <button label="Stemmekontroller" name="voice_ctrls_btn"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/da/panel_avatar_list_item.xml
index a9d5ba73ac..56332c00e6 100644
--- a/indra/newview/skins/default/xui/da/panel_avatar_list_item.xml
+++ b/indra/newview/skins/default/xui/da/panel_avatar_list_item.xml
@@ -22,4 +22,5 @@
[COUNT]å
</string>
<text name="avatar_name" value="Ukendt"/>
+ <button name="profile_btn" tool_tip="Vis profil"/>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/da/panel_block_list_sidetray.xml
index 986a4131de..4f5041ad54 100644
--- a/indra/newview/skins/default/xui/da/panel_block_list_sidetray.xml
+++ b/indra/newview/skins/default/xui/da/panel_block_list_sidetray.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="block_list_panel">
<text name="title_text">
- Blokérede avatarer
+ Blokerede
</text>
- <scroll_list name="blocked" tool_tip="Vis liste over blokerede avatarer"/>
+ <scroll_list name="blocked" tool_tip="Liste med beboerer der p.t. er blokeret"/>
<button label="Blokér beboer..." label_selected="Blokér beboer..." name="Block resident..." tool_tip="Vælg en beboer der skal blokeres"/>
<button label="Blokér objekt via navn..." label_selected="Blokér objekt via navn..." name="Block object by name..."/>
- <button label="Fjern blokering" label_selected="Fjern blokering" name="Unblock" tool_tip="Fjern beboer fra liste med blokeringer"/>
+ <button label="Fjern blokering" label_selected="Fjern blokering" name="Unblock" tool_tip="Fjerm en beboer fra blokeringslisten"/>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_bottomtray.xml b/indra/newview/skins/default/xui/da/panel_bottomtray.xml
index 2085840bb5..4a038e89ba 100644
--- a/indra/newview/skins/default/xui/da/panel_bottomtray.xml
+++ b/indra/newview/skins/default/xui/da/panel_bottomtray.xml
@@ -7,8 +7,13 @@
Skjuler/viser stemme kontrol panel
</string>
<layout_stack name="toolbar_stack">
+ <layout_panel name="speak_panel">
+ <talk_button name="talk">
+ <speak_button label="Tal" label_selected="Tal" name="speak_btn"/>
+ </talk_button>
+ </layout_panel>
<layout_panel name="gesture_panel">
- <gesture_combo_box label="Bevægelse" name="Gesture" tool_tip="Skjuler/viser bevægelser"/>
+ <gesture_combo_list label="Bevægelse" name="Gesture" tool_tip="Skjuler/viser bevægelser"/>
</layout_panel>
<layout_panel name="movement_panel">
<button label="Flyt" name="movement_btn" tool_tip="Vis/skjul bevægelseskontroller"/>
@@ -19,5 +24,15 @@
<layout_panel name="snapshot_panel">
<button label="" name="snapshots" tool_tip="Tag foto"/>
</layout_panel>
+ <layout_panel name="im_well_panel">
+ <chiclet_im_well name="im_well">
+ <button name="Unread IM messages" tool_tip="Konversationer"/>
+ </chiclet_im_well>
+ </layout_panel>
+ <layout_panel name="notification_well_panel">
+ <chiclet_notification name="notification_well">
+ <button name="Unread" tool_tip="Notifikationer"/>
+ </chiclet_notification>
+ </layout_panel>
</layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_bottomtray_lite.xml b/indra/newview/skins/default/xui/da/panel_bottomtray_lite.xml
new file mode 100644
index 0000000000..bd31253ca4
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/panel_bottomtray_lite.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="bottom_tray_lite">
+ <layout_stack name="toolbar_stack_lite">
+ <layout_panel name="gesture_panel">
+ <gesture_combo_list label="Bevægelse" name="Gesture" tool_tip="Vis/skjul bevægelser"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_classified_info.xml b/indra/newview/skins/default/xui/da/panel_classified_info.xml
index a9cce7bf45..6eba024981 100644
--- a/indra/newview/skins/default/xui/da/panel_classified_info.xml
+++ b/indra/newview/skins/default/xui/da/panel_classified_info.xml
@@ -1,17 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="panel_classified_info">
+ <panel.string name="l$_price">
+ L$[PRICE]
+ </panel.string>
<text name="title" value="Annonce info"/>
<scroll_container name="profile_scroll">
<panel name="scroll_content_panel">
- <text name="classified_name" value="[name]"/>
- <text name="classified_location" value="[loading...]"/>
- <text name="content_type" value="[content type]"/>
- <text name="category" value="[category]"/>
+ <text_editor name="classified_name" value="[name]"/>
+ <text_editor name="classified_location" value="[loading...]"/>
+ <text_editor name="content_type" value="[content type]"/>
+ <text_editor name="category" value="[category]"/>
<check_box label="Forny automatisk hver uge" name="auto_renew"/>
- <text name="price_for_listing" tool_tip="Pris for optagelse.">
- L$[PRICE]
- </text>
- <text name="classified_desc" value="[description]"/>
+ <text_editor name="price_for_listing" tool_tip="Pris for optagelse."/>
+ <text_editor name="classified_desc" value="[description]"/>
</panel>
</scroll_container>
<panel name="buttons">
diff --git a/indra/newview/skins/default/xui/da/panel_edit_profile.xml b/indra/newview/skins/default/xui/da/panel_edit_profile.xml
index d3cfdbba52..85461e23a7 100644
--- a/indra/newview/skins/default/xui/da/panel_edit_profile.xml
+++ b/indra/newview/skins/default/xui/da/panel_edit_profile.xml
@@ -35,9 +35,12 @@
</text>
<check_box label="Vis mig i søgeresultater" name="show_in_search_checkbox"/>
<text name="title_acc_status_text" value="Min konto:"/>
+ <text_editor name="acc_status_text" value="Beboer. Ingen betalingsinfo."/>
<text name="my_account_link" value="[[URL] Go to My Dashboard]"/>
- <text name="acc_status_text" value="Beboer. Ingen betalingsinfo."/>
<text name="title_partner_text" value="Min partner:"/>
+ <panel name="partner_data_panel">
+ <name_box initial_value="(henter)" name="partner_text"/>
+ </panel>
<text name="partner_edit_link" value="[[URL] Edit]"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_friends.xml b/indra/newview/skins/default/xui/da/panel_friends.xml
index a41eaf20c1..a1a25bdc77 100644
--- a/indra/newview/skins/default/xui/da/panel_friends.xml
+++ b/indra/newview/skins/default/xui/da/panel_friends.xml
@@ -16,5 +16,5 @@
<button label="Teleport" name="offer_teleport_btn" tool_tip="Tilbyd denne ven at blive teleporteret til din nuværende position"/>
<button label="Betal" name="pay_btn" tool_tip="Giv Linden dollars (L$) til denne ven"/>
<button label="Fjern" name="remove_btn" tool_tip="Fjern denne beboer fra din venneliste"/>
- <button label="Tilføj" name="add_btn" tool_tip="Tilbyd venskab til denne beboer"/>
+ <button label="Tilføj" name="add_btn" tool_tip="Tilbyd venskab til en beboer"/>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_group_control_panel.xml b/indra/newview/skins/default/xui/da/panel_group_control_panel.xml
index 1db2db45af..26fe4f6ebe 100644
--- a/indra/newview/skins/default/xui/da/panel_group_control_panel.xml
+++ b/indra/newview/skins/default/xui/da/panel_group_control_panel.xml
@@ -1,9 +1,17 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="panel_im_control_panel">
- <button label="Group Profile" name="group_info_btn"/>
- <panel name="panel_call_buttons">
- <button label="Opkaldsgruppe" name="call_btn"/>
- <button label="Forlad samtale" name="end_call_btn"/>
- <button label="Kontroller for åben stemmechat" name="voice_ctrls_btn"/>
- </panel>
+ <layout_stack name="vertical_stack">
+ <layout_panel name="group_info_btn_panel">
+ <button label="Gruppe profil" name="group_info_btn"/>
+ </layout_panel>
+ <layout_panel name="call_btn_panel">
+ <button label="Opkald gruppe" name="call_btn"/>
+ </layout_panel>
+ <layout_panel name="end_call_btn_panel">
+ <button label="Forlad opkald" name="end_call_btn"/>
+ </layout_panel>
+ <layout_panel name="voice_ctrls_btn_panel">
+ <button label="Åben stemmekontroller" name="voice_ctrls_btn"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_group_general.xml b/indra/newview/skins/default/xui/da/panel_group_general.xml
index ec957e6094..becb5ab70a 100644
--- a/indra/newview/skins/default/xui/da/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/da/panel_group_general.xml
@@ -9,20 +9,38 @@
<panel.string name="incomplete_member_data_str">
Henter medlemsinformationer
</panel.string>
+ <panel name="group_info_top">
+ <texture_picker label="" name="insignia" tool_tip="Klik for at vælge et billede"/>
+ <text name="prepend_founded_by">
+ Grundlagt af:
+ </text>
+ <name_box initial_value="(henter)" name="founder_name"/>
+ <text name="join_cost_text">
+ Gratis
+ </text>
+ <button label="TILMELD NU!" name="btn_join"/>
+ </panel>
<text_editor name="charter">
Gruppens formål
</text_editor>
<name_list name="visible_members">
<name_list.columns label="Medlem" name="name"/>
<name_list.columns label="Titel" name="title"/>
+ <name_list.columns label="Status" name="status"/>
</name_list>
+ <text name="my_group_settngs_label">
+ MeMig
+ </text>
<text name="active_title_label">
- Min titel
+ Min titel:
</text>
<combo_box name="active_title" tool_tip="Angiver den titel der vises i din avatars navnefelt, når denne gruppe er aktiv"/>
<check_box label="Modtag gruppeinformationer" name="receive_notices" tool_tip="Angiver om du vil modtage informationer fra denne gruppe. Fjern markeringen i boksen hvis gruppen spammer dig."/>
<check_box label="Vis gruppen i min profil" name="list_groups_in_profile" tool_tip="Angiver om du vil vise denne gruppe i dine profilinformationer"/>
<panel name="preferences_container">
+ <text name="group_settngs_label">
+ Gruppe
+ </text>
<check_box label="Åben tilmelding" name="open_enrollement" tool_tip="Angiver om denne gruppe tillader nye medlemmer at tilmelde sig, uden de er inviteret."/>
<check_box label="Tilmeldingsgebyr" name="check_enrollment_fee" tool_tip="Angiver om der kræves et gebyr, for at tilmelde sig gruppen"/>
<spinner label="L$" left_delta="130" name="spin_enrollment_fee" tool_tip="Nye medlemmer skal betale dette gebyr for at tilmelde sig gruppen, når &quot;Tilmeldingsgebyr&quot; er valgt." width="60"/>
diff --git a/indra/newview/skins/default/xui/da/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/da/panel_group_info_sidetray.xml
index 9940ebbd4d..a7aa842439 100644
--- a/indra/newview/skins/default/xui/da/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/da/panel_group_info_sidetray.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel label="Gruppe info" name="GroupInfo">
+<panel label="Gruppe profil" name="GroupInfo">
<panel.string name="default_needs_apply_text">
- Der er ændringer på denne fane der ikke er gemt
+ Der er ændringer der ikke er gemt
</panel.string>
<panel.string name="want_apply_text">
Ønsker du at gemme disse ændringer?
@@ -12,25 +12,24 @@
<panel.string name="group_join_free">
Gratis
</panel.string>
- <text name="group_name" value="(Henter...)"/>
- <line_editor label="Indtast dit nye gruppenavn her" name="group_name_editor"/>
- <texture_picker label="" name="insignia" tool_tip="Klik for at vælge bilede"/>
- <text name="prepend_founded_by">
- Grundlægger:
- </text>
- <name_box initial_value="(finder)" name="founder_name"/>
- <text name="join_cost_text">
- Gratis
- </text>
- <button label="MELD IND NU!" name="btn_join"/>
- <accordion name="groups_accordion">
- <accordion_tab name="group_general_tab" title="Generelt"/>
- <accordion_tab name="group_roles_tab" title="Roller"/>
- <accordion_tab name="group_notices_tab" title="Beskeder"/>
- <accordion_tab name="group_land_tab" title="Land/Aktiver"/>
- </accordion>
- <panel name="button_row">
- <button label="Lav" label_selected="Ny gruppe" name="btn_create"/>
- <button label="Gem" label_selected="Gem" name="btn_apply"/>
+ <panel name="group_info_top">
+ <text name="group_name" value="(Henter...)"/>
+ <line_editor label="Indtast nyt gruppenavn her" name="group_name_editor"/>
</panel>
+ <layout_stack name="layout">
+ <layout_panel name="group_accordions">
+ <accordion name="groups_accordion">
+ <accordion_tab name="group_general_tab" title="Generelt"/>
+ <accordion_tab name="group_roles_tab" title="Roller"/>
+ <accordion_tab name="group_notices_tab" title="Noter"/>
+ <accordion_tab name="group_land_tab" title="Land/Aktiver"/>
+ </accordion>
+ </layout_panel>
+ <layout_panel name="button_row">
+ <button label="Chat" name="btn_chat"/>
+ <button label="Gruppeopkald" name="btn_call" tool_tip="Opkald til denne gruppe"/>
+ <button label="Gem" label_selected="Save" name="btn_apply"/>
+ <button label="Opret gruppe" name="btn_create" tool_tip="Opret en ny gruppe"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_group_invite.xml b/indra/newview/skins/default/xui/da/panel_group_invite.xml
index 1e00642c29..49daf6c9f2 100644
--- a/indra/newview/skins/default/xui/da/panel_group_invite.xml
+++ b/indra/newview/skins/default/xui/da/panel_group_invite.xml
@@ -7,17 +7,14 @@
(indlæser...)
</panel.string>
<panel.string name="already_in_group">
- Nogen af avatarerne var allerede i gruppen og blev ikke inviteret
+ Nogle af de beboere du vælger er allerede i gruppen, så de får ikke tilsendt en invitation.
</panel.string>
<text name="help_text">
- Du kan invitere flere beboere ad
-gangen til at blive medlem af din
-gruppe. Klik &apos;Åben personvælger&apos; for
-at begynde.
+ Du kan invitere flere beboere ad gangen til at blive medlem af din gruppe. Klik &apos;Åben personvælger&apos; for at begynde.
</text>
<button bottom_delta="-30" label="Åben personvælger" name="add_button"/>
- <name_list name="invitee_list" tool_tip="Hold Ctrl knappen nede og klik på beboer navne for at vælge flere"/>
- <button label="Fjern valgte fra listen" name="remove_button" tool_tip="Fjern beboere valgt ovenfor fra invitationslisten"/>
+ <name_list name="invitee_list" tool_tip="Hold Ctrl-tasten nede og klik på beboere for at vælge flere."/>
+ <button label="Fjern valgte fra listen" name="remove_button" tool_tip="Fjerner beboere, der er valgt på ovenstående invitationsliste."/>
<text name="role_text">
Vælg hvilken rolle, du vil tildele dem:
</text>
diff --git a/indra/newview/skins/default/xui/da/panel_group_land_money.xml b/indra/newview/skins/default/xui/da/panel_group_land_money.xml
index c73d7c807d..9b0267529c 100644
--- a/indra/newview/skins/default/xui/da/panel_group_land_money.xml
+++ b/indra/newview/skins/default/xui/da/panel_group_land_money.xml
@@ -1,65 +1,62 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Land &amp; L$" name="land_money_tab">
- <string name="help_text">
+ <panel.string name="help_text">
En advarsel vises indtil Total land i brug er mindre end eller lig med det totale bidrag.
- </string>
- <button label="?" name="help_button"/>
- <string name="cant_view_group_land_text">
+ </panel.string>
+ <panel.string name="cant_view_group_land_text">
Du har ikke tilladelse til at se gruppeejet land.
- </string>
- <string name="cant_view_group_accounting_text">
+ </panel.string>
+ <panel.string name="cant_view_group_accounting_text">
Du har ikke tilladelse til at se gruppens økonomiinformationer.
- </string>
- <string name="loading_txt">
+ </panel.string>
+ <panel.string name="loading_txt">
Indlæser...
- </string>
- <text name="group_land_heading">
- Gruppeejet land
- </text>
- <scroll_list name="group_parcel_list">
- <column label="Parcel" name="name"/>
- <column label="Region" name="location"/>
- <column label="Type" name="type"/>
- <column label="Område" name="area"/>
- <column label="" name="hidden"/>
- </scroll_list>
- <button label="Kort" label_selected="Kort" name="map_button"/>
- <text name="total_contributed_land_label">
- Totalt bidrag:
- </text>
- <text name="total_contributed_land_value">
- [AREA] m²
- </text>
- <text name="total_land_in_use_label">
- Totalt land i brug:
- </text>
- <text name="total_land_in_use_value">
- [AREA] m²
- </text>
- <text name="land_available_label">
- Ledigt land:
- </text>
- <text name="land_available_value">
- [AREA] m²
- </text>
- <text name="your_contribution_label">
- Dit bidrag:
- </text>
- <string name="land_contrib_error">
+ </panel.string>
+ <panel.string name="land_contrib_error">
Ikke muligt at lave dit bidrag til landet
- </string>
- <text name="your_contribution_units">
- m²
- </text>
- <text name="your_contribution_max_value">
- ([AMOUNT] maks.)
- </text>
- <text name="group_over_limit_text">
- Gruppemedlemmer må bidrag med mere, for at understøtte med det land der bliver brugt
- </text>
- <text name="group_money_heading">
- Gruppe L$
- </text>
+ </panel.string>
+ <panel name="layout_panel_landmoney">
+ <scroll_list name="group_parcel_list">
+ <scroll_list.columns label="Parcel" name="name"/>
+ <scroll_list.columns label="Region" name="location"/>
+ <scroll_list.columns label="Type" name="type"/>
+ <scroll_list.columns label="Areal" name="area"/>
+ </scroll_list>
+ <text name="total_contributed_land_label">
+ Totalt bidrag:
+ </text>
+ <text name="total_contributed_land_value">
+ [AREA] m²
+ </text>
+ <button label="Kort" label_selected="Kort" name="map_button"/>
+ <text name="total_land_in_use_label">
+ Totalt land i brug:
+ </text>
+ <text name="total_land_in_use_value">
+ [AREA] m²
+ </text>
+ <text name="land_available_label">
+ Land tilgængelgt:
+ </text>
+ <text name="land_available_value">
+ [AREA] m²
+ </text>
+ <text name="your_contribution_label">
+ Dit bidrag:
+ </text>
+ <text name="your_contribution_units">
+ m²
+ </text>
+ <text name="your_contribution_max_value">
+ ([BELØB] maks.)
+ </text>
+ <text name="group_over_limit_text">
+ Der kræves flere penge for at supportere det land der er i brug
+ </text>
+ <text name="group_money_heading">
+ Gruppe L$
+ </text>
+ </panel>
<tab_container name="group_money_tab_container">
<panel label="PLANLÆGNING" name="group_money_planning_tab">
<text_editor name="group_money_planning_text">
diff --git a/indra/newview/skins/default/xui/da/panel_group_list_item.xml b/indra/newview/skins/default/xui/da/panel_group_list_item.xml
index bfffdccc5e..e77e548340 100644
--- a/indra/newview/skins/default/xui/da/panel_group_list_item.xml
+++ b/indra/newview/skins/default/xui/da/panel_group_list_item.xml
@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="group_list_item">
<text name="group_name" value="Ukendt"/>
+ <button name="profile_btn" tool_tip="Se profil"/>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_group_notices.xml b/indra/newview/skins/default/xui/da/panel_group_notices.xml
index ec503c37dc..7046ac4d7c 100644
--- a/indra/newview/skins/default/xui/da/panel_group_notices.xml
+++ b/indra/newview/skins/default/xui/da/panel_group_notices.xml
@@ -42,7 +42,7 @@ Maksimum er 200 pr. gruppe pr. dag
<text name="string">
Træk og slip en gensand for at vedhæfte den:
</text>
- <button label="Fjern" label_selected="Fjern bilag" name="remove_attachment"/>
+ <button label="Fjern" label_selected="Fjern bilag" name="remove_attachment" tool_tip="Fjern vedhæng fra din note"/>
<button label="Send" label_selected="Send" name="send_notice"/>
<group_drop_target name="drop_target" tool_tip="Træk en genstand fra din beholdning til dette felt for at sende den med denne besked. Du skal have rettigheder til at kopiere og overdrage denne genstand for at kunne vedhæfte den."/>
</panel>
@@ -59,6 +59,6 @@ Maksimum er 200 pr. gruppe pr. dag
<text name="lbl4">
Besked:
</text>
- <button label="Åben bilag" label_selected="åben bilag" name="open_attachment"/>
+ <button label="Åben vedhæng" label_selected="åben bilag" name="open_attachment"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_group_notify.xml b/indra/newview/skins/default/xui/da/panel_group_notify.xml
index 43a84298e2..8a684ca031 100644
--- a/indra/newview/skins/default/xui/da/panel_group_notify.xml
+++ b/indra/newview/skins/default/xui/da/panel_group_notify.xml
@@ -4,5 +4,5 @@
<text name="title" value="Afsender navn / Gruppe navn"/>
</panel>
<text name="attachment" value="Bilag"/>
- <button label="Ok" name="btn_ok"/>
+ <button label="OK" name="btn_ok"/>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_group_roles.xml b/indra/newview/skins/default/xui/da/panel_group_roles.xml
index 74bea831fb..3ab3dd8bf8 100644
--- a/indra/newview/skins/default/xui/da/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/da/panel_group_roles.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Medlemmer &amp; roller" name="roles_tab">
<panel.string name="default_needs_apply_text">
- Der er ændringer her, der ikke er gemt.
+ Der er ændringer som ikke er gemt
</panel.string>
<panel.string name="want_apply_text">
Vil du gemme disse ændringer?
@@ -58,7 +58,7 @@ ting i denne gruppe. Der er en bred vifte af rettigheder.
</tab_container>
<panel name="members_footer">
<text name="static">
- Medlemmer
+ Tildelte roller
</text>
<scroll_list name="member_assigned_roles">
<scroll_list.columns label="" name="checkbox"/>
diff --git a/indra/newview/skins/default/xui/da/panel_im_control_panel.xml b/indra/newview/skins/default/xui/da/panel_im_control_panel.xml
index 0384652e5d..1ba6b8b97f 100644
--- a/indra/newview/skins/default/xui/da/panel_im_control_panel.xml
+++ b/indra/newview/skins/default/xui/da/panel_im_control_panel.xml
@@ -1,13 +1,29 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="panel_im_control_panel">
- <text name="avatar_name" value="Ukendt"/>
- <button label="Profil" name="view_profile_btn"/>
- <button label="Tilføj ven" name="add_friend_btn"/>
- <button label="Teleportér" name="teleport_btn"/>
- <button label="Del" name="share_btn"/>
- <panel name="panel_call_buttons">
- <button label="Opkald" name="call_btn"/>
- <button label="Læg på" name="end_call_btn"/>
- <button label="Stemme opsætning" name="voice_ctrls_btn"/>
- </panel>
+ <layout_stack name="button_stack">
+ <layout_panel name="view_profile_btn_panel">
+ <button label="Profil" name="view_profile_btn"/>
+ </layout_panel>
+ <layout_panel name="add_friend_btn_panel">
+ <button label="Tilføj ven" name="add_friend_btn"/>
+ </layout_panel>
+ <layout_panel name="teleport_btn_panel">
+ <button label="Teleport" name="teleport_btn" tool_tip="Tilbyd teleport til denne person"/>
+ </layout_panel>
+ <layout_panel name="share_btn_panel">
+ <button label="Del" name="share_btn"/>
+ </layout_panel>
+ <layout_panel name="share_btn_panel">
+ <button label="Betal" name="pay_btn"/>
+ </layout_panel>
+ <layout_panel name="call_btn_panel">
+ <button label="Opkald" name="call_btn"/>
+ </layout_panel>
+ <layout_panel name="end_call_btn_panel">
+ <button label="Forlad opkald" name="end_call_btn"/>
+ </layout_panel>
+ <layout_panel name="voice_ctrls_btn_panel">
+ <button label="Stemme kontroller" name="voice_ctrls_btn"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_landmark_info.xml b/indra/newview/skins/default/xui/da/panel_landmark_info.xml
index 202a4d4664..8503a41763 100644
--- a/indra/newview/skins/default/xui/da/panel_landmark_info.xml
+++ b/indra/newview/skins/default/xui/da/panel_landmark_info.xml
@@ -18,6 +18,7 @@
<string name="acquired_date">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</string>
+ <button name="back_btn" tool_tip="Tilbage"/>
<text name="title" value="Sted profil"/>
<scroll_container name="place_scroll">
<panel name="scrolling_panel">
diff --git a/indra/newview/skins/default/xui/da/panel_landmarks.xml b/indra/newview/skins/default/xui/da/panel_landmarks.xml
index 47487832cb..8adce2c819 100644
--- a/indra/newview/skins/default/xui/da/panel_landmarks.xml
+++ b/indra/newview/skins/default/xui/da/panel_landmarks.xml
@@ -2,7 +2,7 @@
<panel name="Landmarks">
<accordion name="landmarks_accordion">
<accordion_tab name="tab_favorites" title="Favorites bjælke"/>
- <accordion_tab name="tab_landmarks" title="Landemærker"/>
+ <accordion_tab name="tab_landmarks" title="Mine landmærker"/>
<accordion_tab name="tab_inventory" title="Min beholdning"/>
<accordion_tab name="tab_library" title="Bibliotek"/>
</accordion>
diff --git a/indra/newview/skins/default/xui/da/panel_login.xml b/indra/newview/skins/default/xui/da/panel_login.xml
index c8c275d84d..9276ff3a09 100644
--- a/indra/newview/skins/default/xui/da/panel_login.xml
+++ b/indra/newview/skins/default/xui/da/panel_login.xml
@@ -13,7 +13,7 @@
</text>
<line_editor label="Fornavn" name="first_name_edit" tool_tip="[SECOND_LIFE] First Name"/>
<line_editor label="Efternavn" name="last_name_edit" tool_tip="[SECOND_LIFE] Last Name"/>
- <check_box label="Husk" name="remember_check"/>
+ <check_box label="Husk password" name="remember_check"/>
<text name="start_location_text">
Start ved:
</text>
diff --git a/indra/newview/skins/default/xui/da/panel_me.xml b/indra/newview/skins/default/xui/da/panel_me.xml
index 2cfd358d13..f98ced5f91 100644
--- a/indra/newview/skins/default/xui/da/panel_me.xml
+++ b/indra/newview/skins/default/xui/da/panel_me.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Min profil" name="panel_me">
<tab_container name="tabs">
- <panel label="PROFIL" name="panel_profile"/>
- <panel label="FAVORITTER" name="panel_picks"/>
+ <panel label="MIN PROFIL" name="panel_profile"/>
+ <panel label="MINE FAVORITTER" name="panel_picks"/>
</tab_container>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_media_settings_general.xml b/indra/newview/skins/default/xui/da/panel_media_settings_general.xml
index 7f1581888d..48f08b9dfd 100644
--- a/indra/newview/skins/default/xui/da/panel_media_settings_general.xml
+++ b/indra/newview/skins/default/xui/da/panel_media_settings_general.xml
@@ -4,16 +4,16 @@
Hjemmeside:
</text>
<text name="home_fails_whitelist_label">
- (Denne side optræder ikke i godkendte sider)
+ (Siden er ikke på listen med godkendte sider)
</text>
- <line_editor name="home_url" tool_tip="Hjemmesiden for kilden til dette media"/>
+ <line_editor name="home_url" tool_tip="Hjemmesiden for kilden til dette medie"/>
<text name="preview_label">
Vis
</text>
<text name="current_url_label">
Nuværende side:
</text>
- <text name="current_url" tool_tip="Den nuværende hjemmeside for kilden til dette media" value=""/>
+ <text name="current_url" tool_tip="Nuværende side for kilden til dett medie" value=""/>
<button label="Nulstil" name="current_url_reset_btn"/>
<check_box initial_value="false" label="Gentag afspil" name="auto_loop"/>
<check_box initial_value="false" label="Første klik medfører interaktion" name="first_click_interact"/>
diff --git a/indra/newview/skins/default/xui/da/panel_media_settings_security.xml b/indra/newview/skins/default/xui/da/panel_media_settings_security.xml
index ee341f9142..278fe0eeea 100644
--- a/indra/newview/skins/default/xui/da/panel_media_settings_security.xml
+++ b/indra/newview/skins/default/xui/da/panel_media_settings_security.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Sikkerhed" name="Media Settings Security">
- <check_box initial_value="false" label="Tillad kun adgang til specifikke URL&apos;er (via &quot;prefix&quot;)" name="whitelist_enable"/>
+ <check_box initial_value="false" label="Tillad kun adgang til angivne URL mønstre" name="whitelist_enable"/>
<text name="home_url_fails_some_items_in_whitelist">
- Opslag som hjemmesiden fejler ved er markeret:
+ Angivelser som hjemmesiden fejler imod er markeret:
</text>
<button label="Tilføj" name="whitelist_add"/>
<button label="Slet" name="whitelist_del"/>
<text name="home_url_fails_whitelist">
- Advarsel: Hjemmesiden angive i &quot;Generelt&quot; fanen er ikke indeholdt i godkendte sider. Den er slået fra, indtil en gyldig værdi er tilføjet.
+ Advarsel: hjemmesiden specificeret i Generelt fanen opfylder ikke krav på listen med godkendte URL. Den er de-aktiveret indtil en gyldig hjemmeside er tilføjet.
</text>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_my_profile.xml b/indra/newview/skins/default/xui/da/panel_my_profile.xml
index 1dffc73239..7eb3c9f4e5 100644
--- a/indra/newview/skins/default/xui/da/panel_my_profile.xml
+++ b/indra/newview/skins/default/xui/da/panel_my_profile.xml
@@ -1,37 +1,35 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Profil" name="panel_profile">
<string name="no_partner_text" value="Ingen"/>
+ <string name="no_group_text" value="Ingen"/>
<string name="RegisterDateFormat">
[REG_DATE] ([AGE])
</string>
- <scroll_container name="profile_scroll">
- <panel name="scroll_content_panel">
- <panel name="second_life_image_panel">
- <icon label="" name="2nd_life_edit_icon" tool_tip="Klik på Rediger Profil knappen nedenfor for at ændre billede"/>
- </panel>
- <panel name="first_life_image_panel">
- <icon label="" name="real_world_edit_icon" tool_tip="Klik på Rediger Profil knappen nedenfor for at ændre billede"/>
- <text name="title_rw_descr_text" value="RL:"/>
- </panel>
- <text name="me_homepage_text">
- Web:
- </text>
- <text name="title_member_text" value="Medlem siden:"/>
- <text name="title_acc_status_text" value="Konto:"/>
- <text name="acc_status_text" value="Beboer. Ingen betalingsinfo"/>
- <text name="title_partner_text" value="Partner:"/>
- <text name="title_groups_text" value="Grupper:"/>
- </panel>
- </scroll_container>
- <panel name="profile_buttons_panel">
- <button label="Tilføj ven" name="add_friend"/>
- <button label="IM" name="im"/>
- <button label="Opkald" name="call"/>
- <button label="Kort" name="show_on_map_btn"/>
- <button label="Teleportér" name="teleport"/>
- </panel>
- <panel name="profile_me_buttons_panel">
- <button label="Rediger profil" name="edit_profile_btn" tool_tip="Redigér personlig information"/>
- <button label="Ændre udseende" name="edit_appearance_btn" tool_tip="Ændre dit udseende: fysiske data, tøj m.v."/>
- </panel>
+ <layout_stack name="layout">
+ <layout_panel name="profile_stack">
+ <scroll_container name="profile_scroll">
+ <panel name="scroll_content_panel">
+ <panel name="second_life_image_panel">
+ <icon label="" name="2nd_life_edit_icon" tool_tip="Klik på Redigér profil knappen forneden for at ændre billede"/>
+ <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/>
+ </panel>
+ <panel name="first_life_image_panel">
+ <icon label="" name="real_world_edit_icon" tool_tip="Klik på Redigér profil knappen forneden for at ændre billede"/>
+ <text name="title_rw_descr_text" value="Real World:"/>
+ </panel>
+ <text name="title_member_text" value="Beboer siden:"/>
+ <text name="title_acc_status_text" value="Konto status:"/>
+ <text name="title_partner_text" value="Partner:"/>
+ <panel name="partner_data_panel">
+ <name_box initial_value="(henter)" name="partner_text"/>
+ </panel>
+ <text name="title_groups_text" value="Grupper:"/>
+ </panel>
+ </scroll_container>
+ </layout_panel>
+ <layout_panel name="profile_me_buttons_panel">
+ <button label="Redigér profil" name="edit_profile_btn" tool_tip="Redigér din personlige information"/>
+ <button label="Rediger udseende" name="edit_appearance_btn" tool_tip="Opret/tilret dit udseende: fysiske data, tøj m.v."/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_navigation_bar.xml b/indra/newview/skins/default/xui/da/panel_navigation_bar.xml
index 465bc75a1b..79f7e81b35 100644
--- a/indra/newview/skins/default/xui/da/panel_navigation_bar.xml
+++ b/indra/newview/skins/default/xui/da/panel_navigation_bar.xml
@@ -1,15 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="navigation_bar">
<panel name="navigation_panel">
- <button name="back_btn" tool_tip="Gå tilbage til min forrige lokation"/>
- <button name="forward_btn" tool_tip="Gå en lokation fremad"/>
+ <pull_button name="back_btn" tool_tip="Gå tilbage til min forrige lokation"/>
+ <pull_button name="forward_btn" tool_tip="Gå en lokation fremad"/>
<button name="home_btn" tool_tip="Teleport til min hjemme lokation"/>
<location_input label="Lokation" name="location_combo"/>
<search_combo_box label="Søg" name="search_combo_box" tool_tip="Søg">
<combo_editor label="Søg [SECOND_LIFE]" name="search_combo_editor"/>
</search_combo_box>
</panel>
- <favorites_bar name="favorite">
+ <favorites_bar name="favorite" tool_tip="Træk landemærker hertil for at få hurtig adgang til dine favoritsteder i Second Life!">
+ <label name="favorites_bar_label" tool_tip="Træk landemærker hertil for at få hurtig adgang til dine favoritsteder i Second Life!">
+ Favorit bar
+ </label>
<chevron_button name="&gt;&gt;" tool_tip="Søg mere af mine favoritter"/>
</favorites_bar>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/da/panel_nearby_chat_bar.xml
index 2aa7ed7c6c..949cbcbd7b 100644
--- a/indra/newview/skins/default/xui/da/panel_nearby_chat_bar.xml
+++ b/indra/newview/skins/default/xui/da/panel_nearby_chat_bar.xml
@@ -1,11 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="chat_bar">
- <string name="min_width">
- 192
- </string>
- <string name="max_width">
- 320
- </string>
<line_editor label="Klik her for at chatte." name="chat_box" tool_tip="Tryk på enter for at tale, Ctrl-Enter for at råbe."/>
<button name="show_nearby_chat" tool_tip="Viser/skjuler log for chat nærved"/>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_nearby_media.xml b/indra/newview/skins/default/xui/da/panel_nearby_media.xml
new file mode 100644
index 0000000000..32905a2deb
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/panel_nearby_media.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="nearby_media">
+ <string name="empty_item_text">
+ &lt;tom&gt;
+ </string>
+ <string name="parcel_media_name">
+ Streaming Media dette sted
+ </string>
+ <string name="parcel_audio_name">
+ Streaming Audio dette sted
+ </string>
+ <string name="playing_suffix">
+ (afspilles)
+ </string>
+ <panel name="minimized_controls">
+ <button label="Stop alt" name="all_nearby_media_disable_btn" tool_tip="Stop al media tæt på"/>
+ <button label="Start alt" name="all_nearby_media_enable_btn" tool_tip="Tænd al media tæt på"/>
+ <button name="open_prefs_btn" tool_tip="Vis media preferencer"/>
+ <button label="Mere &gt;&gt;" label_selected="Mindre &lt;&lt;" name="more_less_btn" tool_tip="Avanceret opsætning"/>
+ </panel>
+ <panel name="nearby_media_panel">
+ <combo_box name="show_combo">
+ <combo_box.item label="Overalt" name="All"/>
+ <combo_box.item label="På dette sted" name="WithinParcel"/>
+ <combo_box.item label="Udenfor dette sted" name="OutsideParcel"/>
+ </combo_box>
+ <scroll_list name="media_list">
+ <scroll_list.columns label="I nærheden" name="media_proximity"/>
+ <scroll_list.columns label="Synligt" name="media_visibility"/>
+ <scroll_list.columns label="Klasse" name="media_class"/>
+ <scroll_list.columns label="Navn" name="media_name"/>
+ <scroll_list.columns label="Debug" name="media_debug"/>
+ </scroll_list>
+ <panel>
+ <layout_stack name="media_controls">
+ <layout_panel name="stop">
+ <button name="stop_btn" tool_tip="Stop valgte medie"/>
+ </layout_panel>
+ <layout_panel name="play">
+ <button name="play_btn" tool_tip="Afspil valgte medie"/>
+ </layout_panel>
+ <layout_panel name="pause">
+ <button name="pause_btn" tool_tip="Pause valgte medie"/>
+ </layout_panel>
+ <layout_panel name="volume_slider_ctrl">
+ <slider_bar initial_value="0.5" name="volume_slider" tool_tip="Volumen for valgte medie"/>
+ </layout_panel>
+ <layout_panel name="mute">
+ <button name="mute_btn" tool_tip="Sluk for lyd for valgte medie"/>
+ </layout_panel>
+ <layout_panel name="zoom">
+ <button name="zoom_btn" tool_tip="Zoom ind til valgte medie"/>
+ </layout_panel>
+ <layout_panel name="unzoom">
+ <button name="unzoom_btn" tool_tip="Zoom tilbage fra valgte medie"/>
+ </layout_panel>
+ </layout_stack>
+ </panel>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_notes.xml b/indra/newview/skins/default/xui/da/panel_notes.xml
index f8d911b9e5..5b3a2d0906 100644
--- a/indra/newview/skins/default/xui/da/panel_notes.xml
+++ b/indra/newview/skins/default/xui/da/panel_notes.xml
@@ -13,10 +13,10 @@
</scroll_container>
</panel>
<panel name="notes_buttons_panel">
- <button label="Tilføj" name="add_friend" tool_tip="Tilbyd venskab til beboeren"/>
+ <button label="Tilføj ven" name="add_friend" tool_tip="Tilbyd venskab til beboer"/>
<button label="IM" name="im" tool_tip="Åben session med personlig besked (IM)"/>
<button label="Kald" name="call" tool_tip="Opkald til denne beboer"/>
- <button label="Kort" name="show_on_map_btn" tool_tip="Vis beboeren på kortet"/>
+ <button label="Kort" name="show_on_map_btn" tool_tip="Vis beboer på kort"/>
<button label="Teleport" name="teleport" tool_tip="Tilbyd teleport"/>
</panel>
</layout_stack>
diff --git a/indra/newview/skins/default/xui/da/panel_online_status.xml b/indra/newview/skins/default/xui/da/panel_online_status.xml
new file mode 100644
index 0000000000..fdc489f375
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/panel_online_status.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="friend_online_status" name="friend_online_status"/>
diff --git a/indra/newview/skins/default/xui/da/panel_online_status_toast.xml b/indra/newview/skins/default/xui/da/panel_online_status_toast.xml
new file mode 100644
index 0000000000..fdc489f375
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/panel_online_status_toast.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="friend_online_status" name="friend_online_status"/>
diff --git a/indra/newview/skins/default/xui/da/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/da/panel_outfits_inventory.xml
index 7d6401283e..df00cfb2eb 100644
--- a/indra/newview/skins/default/xui/da/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/da/panel_outfits_inventory.xml
@@ -1,7 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="Outfits">
- <accordion name="outfits_accordion">
- <accordion_tab name="tab_cof" title="Nuværende sæt"/>
- <accordion_tab name="tab_outfits" title="Mine sæt"/>
- </accordion>
+<panel label="Ting" name="Outfits">
+ <tab_container name="appearance_tabs">
+ <inventory_panel label="MINE SÆT" name="outfitslist_tab"/>
+ <inventory_panel label="HAR PÅ" name="cof_tab"/>
+ </tab_container>
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Vis flere muligheder"/>
+ <dnd_button name="trash_btn" tool_tip="Fjern valgte genstand"/>
+ <button label="Gem sæt" name="make_outfit_btn" tool_tip="Gem udseende som nyt sæt"/>
+ <button label="Tag på" name="wear_btn" tool_tip="Tag valgte sæt på"/>
+ <button label="M" name="look_edit_btn"/>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_outfits_inventory_gear_default.xml b/indra/newview/skins/default/xui/da/panel_outfits_inventory_gear_default.xml
index a6a796f612..7b6469023b 100644
--- a/indra/newview/skins/default/xui/da/panel_outfits_inventory_gear_default.xml
+++ b/indra/newview/skins/default/xui/da/panel_outfits_inventory_gear_default.xml
@@ -4,6 +4,6 @@
<menu_item_call label="Tilføj til nuværende sæt" name="add"/>
<menu_item_call label="Fjern fra nuværende sæt" name="remove"/>
<menu_item_call label="Omdøb" name="rename"/>
- <menu_item_call label="Fjern" name="remove_link"/>
- <menu_item_call label="Slet" name="delete"/>
+ <menu_item_call label="Fjern link" name="remove_link"/>
+ <menu_item_call label="Slet sæt" name="delete"/>
</menu>
diff --git a/indra/newview/skins/default/xui/da/panel_people.xml b/indra/newview/skins/default/xui/da/panel_people.xml
index 07b7f60810..ecfac67b1a 100644
--- a/indra/newview/skins/default/xui/da/panel_people.xml
+++ b/indra/newview/skins/default/xui/da/panel_people.xml
@@ -5,7 +5,6 @@
<string name="no_one_near" value="Ingen tæt på"/>
<string name="no_friends_online" value="Ingen venner online"/>
<string name="no_friends" value="Ingen venner"/>
- <string name="no_groups" value="Ingen grupper"/>
<string name="people_filter_label" value="Filtrér personer"/>
<string name="groups_filter_label" value="Filtrér grupper"/>
<filter_editor label="Filtrér" name="filter_input"/>
@@ -13,21 +12,25 @@
<panel label="TÆT PÅ" name="nearby_panel">
<panel label="bottom_panel" name="bottom_panel">
<button name="nearby_view_sort_btn" tool_tip="Valg"/>
- <button name="add_friend_btn" tool_tip="Tilføjer valgte beboere til din venneliste"/>
+ <button name="add_friend_btn" tool_tip="Tilføj valgte beboer til din venneliste"/>
</panel>
</panel>
- <panel label="VENNER" name="friends_panel">
+ <panel label="MINE VENNER" name="friends_panel">
<accordion name="friends_accordion">
<accordion_tab name="tab_online" title="Online"/>
<accordion_tab name="tab_all" title="Alle"/>
</accordion>
<panel label="bottom_panel" name="bottom_panel">
<button name="friends_viewsort_btn" tool_tip="Valg"/>
- <button name="add_btn" tool_tip="Tilbyd venskab til beboer"/>
+ <button name="add_btn" tool_tip="Tilbyd venskab til en beboer"/>
<button name="del_btn" tool_tip="Fjern valgte person fra din venneliste"/>
</panel>
+ <text name="no_friends_msg">
+ For at tilføje venner prøv [secondlife:///app/search/people global search] eller klik på en bruger for at tilføje dem som ven.
+Hvis du leder efter beboere at være sammen med, [secondlife:///app/worldmap prøv kortet].
+ </text>
</panel>
- <panel label="GRUPPER" name="groups_panel">
+ <panel label="MINE GRUPPER" name="groups_panel">
<panel label="bottom_panel" name="bottom_panel">
<button name="groups_viewsort_btn" tool_tip="Valg"/>
<button name="plus_btn" tool_tip="Bliv medlem af gruppe/Opret ny gruppe"/>
@@ -37,17 +40,18 @@
<panel label="NYLIGE" name="recent_panel">
<panel label="bottom_panel" name="bottom_panel">
<button name="recent_viewsort_btn" tool_tip="Valg"/>
- <button name="add_friend_btn" tool_tip="Tilføj valgte person til din venneliste"/>
+ <button name="add_friend_btn" tool_tip="Tilføj valgte beboer til din venneliste"/>
</panel>
</panel>
</tab_container>
<panel name="button_bar">
- <button label="Profil" name="view_profile_btn" tool_tip="Vis billede, grupper og anden information om beboer"/>
+ <button label="Profil" name="view_profile_btn" tool_tip="Vis billede, gruppe og anden information om beboer"/>
<button label="IM" name="im_btn" tool_tip="Chat privat med denne person"/>
<button label="Opkald" name="call_btn" tool_tip="Opkald til denne beboer"/>
<button label="Del" name="share_btn"/>
<button label="Teleport" name="teleport_btn" tool_tip="Tilbyd teleport"/>
<button label="Group profil" name="group_info_btn" tool_tip="Vis gruppe information"/>
<button label="Gruppe chat" name="chat_btn" tool_tip="Åben chat session"/>
+ <button label="Gruppe opkald" name="group_call_btn" tool_tip="Opkald til denne gruppe"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_place_profile.xml b/indra/newview/skins/default/xui/da/panel_place_profile.xml
index 24316fea14..c1ed95f580 100644
--- a/indra/newview/skins/default/xui/da/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/da/panel_place_profile.xml
@@ -6,7 +6,7 @@
<string name="available" value="ledig"/>
<string name="allocated" value="fordelt"/>
<string name="title_place" value="Sted profil"/>
- <string name="title_teleport_history" value="Teleport historik sted"/>
+ <string name="title_teleport_history" value="Teleport historik"/>
<string name="not_available" value="(N\A)"/>
<string name="unknown" value="(ukendt)"/>
<string name="public" value="(offentlig)"/>
@@ -41,62 +41,17 @@
<string name="acquired_date">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</string>
+ <button name="back_btn" tool_tip="Tilbage"/>
<text name="title" value="Sted profil"/>
<scroll_container name="place_scroll">
<panel name="scrolling_panel">
<text name="owner_label" value="Ejer:"/>
<text name="maturity_value" value="ukendt"/>
<accordion name="advanced_info_accordion">
- <accordion_tab name="parcel_characteristics_tab" title="Parcel">
- <panel>
- <text name="rating_label" value="Rating:"/>
- <text name="rating_value" value="ukendt"/>
- <text name="voice_label" value="Stem:"/>
- <text name="voice_value" value="Til"/>
- <text name="fly_label" value="Flyve:"/>
- <text name="fly_value" value="Til"/>
- <text name="push_label" value="Skub:"/>
- <text name="push_value" value="Fra"/>
- <text name="build_label" value="Byg:"/>
- <text name="build_value" value="Til"/>
- <text name="scripts_label" value="Scripts:"/>
- <text name="scripts_value" value="Til"/>
- <text name="damage_label" value="Skade:"/>
- <text name="damage_value" value="Fra"/>
- <button label="Om land" name="about_land_btn"/>
- </panel>
- </accordion_tab>
- <accordion_tab name="region_information_tab" title="Region">
- <panel>
- <text name="region_name_label" value="Region:"/>
- <text name="region_type_label" value="Type:"/>
- <text name="region_rating_label" value="Rating:"/>
- <text name="region_owner_label" value="Ejer:"/>
- <text name="region_group_label" value="Gruppe:"/>
- <button label="Region/Estate" name="region_info_btn"/>
- </panel>
- </accordion_tab>
- <accordion_tab name="estate_information_tab" title="Estate">
- <panel>
- <text name="estate_name_label" value="Estate:"/>
- <text name="estate_rating_label" value="Rating:"/>
- <text name="estate_owner_label" value="Ejer:"/>
- <text name="covenant_label" value="Regler:"/>
- </panel>
- </accordion_tab>
- <accordion_tab name="sales_tab" title="Til salg">
- <panel>
- <text name="sales_price_label" value="Pris:"/>
- <text name="area_label" value="Areal:"/>
- <text name="traffic_label" value="Trafik:"/>
- <text name="primitives_label" value="Prims:"/>
- <text name="parcel_scripts_label" value="Scripts:"/>
- <text name="terraform_limits_label" value="Terraform begrænsninger:"/>
- <text name="subdivide_label" value="Mulighed for at Opdele/samle:"/>
- <text name="resale_label" value="Mulighed for videresalg:"/>
- <text name="sale_to_label" value="Til salg til:"/>
- </panel>
- </accordion_tab>
+ <accordion_tab name="parcel_characteristics_tab" title="Parcel"/>
+ <accordion_tab name="region_information_tab" title="Region"/>
+ <accordion_tab name="estate_information_tab" title="Estate"/>
+ <accordion_tab name="sales_tab" title="Til salg"/>
</accordion>
</panel>
</scroll_container>
diff --git a/indra/newview/skins/default/xui/da/panel_places.xml b/indra/newview/skins/default/xui/da/panel_places.xml
index 052bf749cb..3ac4ebaae9 100644
--- a/indra/newview/skins/default/xui/da/panel_places.xml
+++ b/indra/newview/skins/default/xui/da/panel_places.xml
@@ -2,13 +2,14 @@
<panel label="Steder" name="places panel">
<string name="landmarks_tab_title" value="MINE LANDEMÆRKER"/>
<string name="teleport_history_tab_title" value="TELEPORT HISTORIK"/>
- <filter_editor label="Filtrér steder" name="Filter"/>
+ <filter_editor label="Filtrér mine steder" name="Filter"/>
<panel name="button_panel">
- <button label="Teleportér" name="teleport_btn"/>
+ <button label="Teleportér" name="teleport_btn" tool_tip="Teleportér til det valgte område"/>
<button label="Kort" name="map_btn"/>
- <button label="Redigér" name="edit_btn"/>
- <button label="Luk" name="close_btn"/>
- <button label="Annullér" name="cancel_btn"/>
+ <button label="Redigér" name="edit_btn" tool_tip="Redigér landemærke information"/>
+ <button label="▼" name="overflow_btn" tool_tip="Vise flere valgmuligheder"/>
<button label="Gem" name="save_btn"/>
+ <button label="Annullér" name="cancel_btn"/>
+ <button label="Luk" name="close_btn"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/da/panel_preferences_advanced.xml
index 87b749b4eb..30665dfa0e 100644
--- a/indra/newview/skins/default/xui/da/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/da/panel_preferences_advanced.xml
@@ -1,27 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
-<panel name="advanced">
- <panel.string name="resolution_format">
- [RES_X] x [RES_Y]
- </panel.string>
+<panel label="Avanceret" name="advanced">
<panel.string name="aspect_ratio_text">
[NUM]:[DEN]
</panel.string>
- <check_box label="Talebobler" name="bubble_text_chat"/>
- <color_swatch name="background" tool_tip="Vælg farve for talebobler"/>
- <slider label="Gennemsigtighed" name="bubble_chat_opacity"/>
- <text name="AspectRatioLabel1" tool_tip="bredde / højde">
- Format
- </text>
- <combo_box name="aspect_ratio" tool_tip="bredde/ højde">
- <combo_box.item label="4:3 (Standard CRT)" name="item1"/>
- <combo_box.item label="5:4 (1280x1024 LCD)" name="item2"/>
- <combo_box.item label="8:5 (Widescreen)" name="item3"/>
- <combo_box.item label="16:9 (Widescreen)" name="item4"/>
- </combo_box>
- <check_box label="Registrér automatisk" name="aspect_auto_detect"/>
- <text name="heading1">
- Kamera:
- </text>
<slider label="Synsvinkel" name="camera_fov"/>
<slider label="Distance" name="camera_offset_scale"/>
<text name="heading2">
@@ -29,20 +10,20 @@
</text>
<check_box label="Byg/Redigér" name="edit_camera_movement" tool_tip="Benyt automatisk kamera positionering ved start og slut af editerings modus"/>
<check_box label="Udseende" name="appearance_camera_movement" tool_tip="Benyt automatisk kamera positionering ved redigering"/>
- <text name="heading3">
- Avatarer:
- </text>
<check_box label="Vis avatar i førsteperson" name="first_person_avatar_visible"/>
<check_box label="Piletaster bruges altid til bevægelse" name="arrow_keys_move_avatar_check"/>
<check_box label="Tast-tast-hold for at løbe" name="tap_tap_hold_to_run"/>
<check_box label="Bevæg avatarlæber når der tales" name="enable_lip_sync"/>
- <check_box label="Vis scriptfejl" name="show_script_errors"/>
+ <check_box label="Talebobler" name="bubble_text_chat"/>
+ <slider label="Gennemsigtighed" name="bubble_chat_opacity"/>
+ <color_swatch name="background" tool_tip="Vælg farve for talebobler"/>
+ <check_box label="Vis script fejl i:" name="show_script_errors"/>
<radio_group name="show_location">
- <radio_item label="I chat" name="0"/>
- <radio_item label="I et vindue" name="1"/>
+ <radio_item label="Chat" name="0"/>
+ <radio_item label="Separat vindue" name="1"/>
</radio_group>
- <check_box label="Knap til aktivering af mikrofon:" name="push_to_talk_toggle_check" tool_tip="I walkie-talkie-modus sendes stemme kun når knappen er trykket ned, ellers vil tryk på knap tænde og slukke mikrofon."/>
+ <check_box label="Knap til aktiverering af mikrofon:" name="push_to_talk_toggle_check" tool_tip="I walkie-talkie-modus sendes stemme kun når knappen er trykket ned, ellers vil tryk på knap tænde og slukke mikrofon."/>
<line_editor label="Brug walkie-talkie modus" name="modifier_combo"/>
<button label="Angiv taste" name="set_voice_hotkey_button"/>
- <button label="Midterste museknap" name="set_voice_middlemouse_button"/>
+ <button label="Midterste museknap" name="set_voice_middlemouse_button" tool_tip="Nulstil til midterste musetaste"/>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/da/panel_preferences_alerts.xml
index 4791033757..7caa17d514 100644
--- a/indra/newview/skins/default/xui/da/panel_preferences_alerts.xml
+++ b/indra/newview/skins/default/xui/da/panel_preferences_alerts.xml
@@ -4,11 +4,11 @@
Vis mig når:
</text>
<check_box label="Når jeg bruger eller får L$" name="notify_money_change_checkbox"/>
- <check_box label="Når mine venner logger af eller på" name="friends_online_notify_checkbox"/>
+ <check_box label="Når mine venner logger på eller af" name="friends_online_notify_checkbox"/>
<text name="show_label">
- Vis altid disse beskeder:
+ Vis altid:
</text>
<text name="dont_show_label">
- Vis aldrig disse beskeder:
+ Vis aldrig:
</text>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_preferences_chat.xml b/indra/newview/skins/default/xui/da/panel_preferences_chat.xml
index 609512bc1b..3345bceff7 100644
--- a/indra/newview/skins/default/xui/da/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/da/panel_preferences_chat.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Tekst chat" name="chat">
<radio_group name="chat_font_size">
- <radio_item label="Lille" name="radio"/>
- <radio_item label="Mellem" name="radio2"/>
- <radio_item label="Stor" name="radio3"/>
+ <radio_item label="Lille" name="radio" value="0"/>
+ <radio_item label="Mellem" name="radio2" value="1"/>
+ <radio_item label="Stor" name="radio3" value="2"/>
</radio_group>
<color_swatch label="Dig" name="user"/>
<text name="text_box1">
@@ -39,8 +39,8 @@
</text>
<check_box initial_value="true" label="Afspil skrive animation ved chat" name="play_typing_animation"/>
<check_box label="Send e-mail til mig når jeg modtager IM og er offline" name="send_im_to_email"/>
- <radio_group name="chat_window" tool_tip="Vis dine personlige beskeder i separate vinduer eller i ét vindue med mange faner (ændring kræver genstart)">
- <radio_item label="Flere vinduer" name="radio"/>
- <radio_item label="Et vindue" name="radio2"/>
+ <radio_group name="chat_window" tool_tip="Vise dine personlige beskeder i separate vinduer, eller i ét vindue med flere faner (Kræver genstart)">
+ <radio_item label="Separate vinduer" name="radio" value="0"/>
+ <radio_item label="Faner" name="radio2" value="1"/>
</radio_group>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_preferences_general.xml b/indra/newview/skins/default/xui/da/panel_preferences_general.xml
index e17ccca4a1..f2c59f3d81 100644
--- a/indra/newview/skins/default/xui/da/panel_preferences_general.xml
+++ b/indra/newview/skins/default/xui/da/panel_preferences_general.xml
@@ -38,9 +38,9 @@
Navneskilte:
</text>
<radio_group name="Name_Tag_Preference">
- <radio_item label="Skjul" name="radio"/>
- <radio_item label="Vis" name="radio2"/>
- <radio_item label="Vis et øjeblik" name="radio3"/>
+ <radio_item label="Skjul" name="radio" value="0"/>
+ <radio_item label="Vis" name="radio2" value="1"/>
+ <radio_item label="Vis et øjeblik" name="radio3" value="2"/>
</radio_group>
<check_box label="Vis mit navn" name="show_my_name_checkbox1"/>
<check_box initial_value="true" label="Små avatar navne" name="small_avatar_names_checkbox"/>
@@ -48,14 +48,17 @@
<text name="effects_color_textbox">
Farve til mine effekter:
</text>
- <color_swatch label="" name="effect_color_swatch" tool_tip="Klik for at åbne farvevælger"/>
<text name="title_afk_text">
Tid inden &quot;væk&quot;:
</text>
- <spinner label="Tid før inaktiv:" name="afk_timeout_spinner"/>
- <text name="seconds_textbox">
- sekunder
- </text>
+ <color_swatch label="" name="effect_color_swatch" tool_tip="Klik for at åbne farvevælger"/>
+ <combo_box label="Timeout før &apos;væk&apos;:" name="afk">
+ <combo_box.item label="2 minutter" name="item0"/>
+ <combo_box.item label="5 minutter" name="item1"/>
+ <combo_box.item label="10 minutter" name="item2"/>
+ <combo_box.item label="30 minutter" name="item3"/>
+ <combo_box.item label="aldrig" name="item4"/>
+ </combo_box>
<text name="text_box3">
Optaget autosvar:
</text>
diff --git a/indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml
index bb1cacc773..07e3aec72a 100644
--- a/indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml
+++ b/indra/newview/skins/default/xui/da/panel_preferences_graphics1.xml
@@ -88,8 +88,8 @@
Lys detaljer:
</text>
<radio_group name="LightingDetailRadio">
- <radio_item label="Kun sol og måne" name="SunMoon"/>
- <radio_item label="Lys i nærheden" name="LocalLights"/>
+ <radio_item label="Kun sol og måne" name="SunMoon" value="0"/>
+ <radio_item label="Lys i nærheden" name="LocalLights" value="1"/>
</radio_group>
<text name="TerrainDetailText">
Terræn detaljer:
diff --git a/indra/newview/skins/default/xui/da/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/da/panel_preferences_privacy.xml
index c382b222ea..cdb407dbad 100644
--- a/indra/newview/skins/default/xui/da/panel_preferences_privacy.xml
+++ b/indra/newview/skins/default/xui/da/panel_preferences_privacy.xml
@@ -3,7 +3,7 @@
<panel.string name="log_in_to_change">
log på for at ændre
</panel.string>
- <button label="Nulstil historik" name="clear_cache"/>
+ <button label="Nulstil historik" name="clear_cache" tool_tip="Fjern login billede, sidste lokation, teleport historik, samt web og tekstur cache"/>
<text name="cache_size_label_l">
(Lokationer, billeder, web, søge historik)
</text>
@@ -11,7 +11,6 @@
<check_box label="Kun venner og grupper kan sende besked til mig" name="voice_call_friends_only_check"/>
<check_box label="Slå mikrofon fra når opkald slutter" name="auto_disengage_mic_check"/>
<check_box label="Acceptér cookies" name="cookies_enabled"/>
- <check_box label="Tillad media autoplay" name="autoplay_enabled"/>
<text name="Logs:">
Logs:
</text>
@@ -19,7 +18,7 @@
<check_box label="Gem en log med private beskeder (IM) på min computer" name="log_instant_messages"/>
<check_box label="Tilføj tidsstempel" name="show_timestamps_check_im"/>
<text name="log_path_desc">
- Placering af logfiler
+ Placering af logfiler:
</text>
<button label="Ændre sti" label_selected="Ændre sti" left="150" name="log_path_button"/>
<button label="Liste med blokeringer" name="block_list"/>
diff --git a/indra/newview/skins/default/xui/da/panel_preferences_setup.xml b/indra/newview/skins/default/xui/da/panel_preferences_setup.xml
index 2dd0b71d8f..279e288096 100644
--- a/indra/newview/skins/default/xui/da/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/da/panel_preferences_setup.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel label="Input og kamera" name="Input panel">
+<panel label="Opsætning" name="Input panel">
<button label="Andre enheder" name="joystick_setup_button"/>
<text name="Mouselook:">
Første person:
@@ -18,29 +18,29 @@
kbps
</text>
<check_box label="Speciel port" name="connection_port_enabled"/>
- <spinner label="Port nummer:" name="web_proxy_port"/>
+ <spinner label="Port nummer:" name="connection_port"/>
<text name="cache_size_label_l">
Cache størrelse
</text>
<text name="text_box5">
MB
</text>
- <button label="Vælg" label_selected="Vælg" name="set_cache"/>
- <button label="Nulstil" label_selected="Gem" name="reset_cache"/>
<text name="Cache location">
- Cache lokation
+ Cache placering:
</text>
+ <button label="Vælg" label_selected="Vælg" name="set_cache"/>
+ <button label="Nulstil" label_selected="Nulstil" name="reset_cache"/>
<text name="Web:">
Web:
</text>
<radio_group name="use_external_browser">
- <radio_item label="Benyt den indbyggede browser" name="internal" tool_tip="Brug den indbyggede web browser til hjælp, web links m.v. Denne browser åbner et nyt vindue i [APP_NAME]."/>
- <radio_item label="Brug min normale browser (IE, Firefox)" name="external" tool_tip="Brug systemets standard web browser til hjælp, web links, m.v. Ikke anbefalet hvis du kører i fuld-skærm."/>
+ <radio_item label="Benyt den indbyggede browser" name="internal" tool_tip="Brug den indbyggede web browser til hjælp, web links m.v. Denne browser åbner et nyt vindue i [APP_NAME]." value="0"/>
+ <radio_item label="Benyt min browser(IE, Firefox, Safari)" name="external" tool_tip="Brug systemets standard web browser til hjælp, web links, m.v. Ikke anbefalet hvis du kører i fuld-skærm." value="1"/>
</radio_group>
- <check_box initial_value="false" label="Web proxy" name="web_proxy_enabled"/>
- <line_editor name="web_proxy_editor" tool_tip="Angiv navn eller IP addresse på den proxy du ønsker at anvende"/>
- <button label="Vælg" label_selected="Vælg" name="set_proxy"/>
+ <check_box initial_value="false" label="Aktivér web proxy" name="web_proxy_enabled"/>
<text name="Proxy location">
- Proxy placering
+ Proxy placering:
</text>
+ <line_editor name="web_proxy_editor" tool_tip="Angiv navn eller IP addresse på den proxy du ønsker at anvende"/>
+ <spinner label="Port nummer:" name="web_proxy_port"/>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_preferences_sound.xml b/indra/newview/skins/default/xui/da/panel_preferences_sound.xml
index ce77018f72..856f978ebd 100644
--- a/indra/newview/skins/default/xui/da/panel_preferences_sound.xml
+++ b/indra/newview/skins/default/xui/da/panel_preferences_sound.xml
@@ -1,14 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Lyde" name="Preference Media panel">
<slider label="Generel" name="System Volume"/>
- <check_box initial_value="true" label="Sluk lyd når vinduet er minimeret" name="mute_when_minimized"/>
- <slider label="Omgivelser" name="Wind Volume"/>
+ <check_box initial_value="true" label="Sluk lyd når minimeret" name="mute_when_minimized"/>
<slider label="Knapper" name="UI Volume"/>
- <slider label="Media" name="Media Volume"/>
- <slider label="Effekter" name="SFX Volume"/>
+ <slider label="Omgivelser" name="Wind Volume"/>
+ <slider label="Lyd effekter" name="SFX Volume"/>
<slider label="Musik" name="Music Volume"/>
- <check_box label="Tale" name="enable_voice_check"/>
- <slider label="Tale" name="Voice Volume"/>
+ <check_box label="Aktiveret" name="music_enabled"/>
+ <slider label="Media" name="Media Volume"/>
+ <check_box label="Aktiveret" name="enable_media"/>
+ <slider label="Stemme chat" name="Voice Volume"/>
+ <check_box label="Aktiveret" name="enable_voice_check"/>
+ <check_box label="Tillad media at afspilles automatisk" name="media_auto_play_btn" tool_tip="Vælg dette for at media afspille automatisk hvis det ønsker det" value="sandt"/>
+ <check_box label="Afspil media vedhæftet andre avatarer" name="media_show_on_others_btn" tool_tip="Deaktiver dette for at skjule vedhæftet media for avatarer i nærheden" value="sandt"/>
+ <text name="voice_chat_settings">
+ Stemme chat opsætning
+ </text>
<text name="Listen from">
Hør stemmer fra:
</text>
diff --git a/indra/newview/skins/default/xui/da/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/da/panel_prim_media_controls.xml
index 987ba2a3f8..d3b3c7e21e 100644
--- a/indra/newview/skins/default/xui/da/panel_prim_media_controls.xml
+++ b/indra/newview/skins/default/xui/da/panel_prim_media_controls.xml
@@ -1,6 +1,47 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="MediaControls">
+ <string name="min_width">
+ 300
+ </string>
+ <string name="min_height">
+ 75
+ </string>
+ <string name="zoom_medium_padding">
+ 1.1
+ </string>
+ <string name="top_world_view_avoid_zone">
+ 50
+ </string>
+ <layout_stack name="progress_indicator_area">
+ <panel name="media_progress_indicator">
+ <progress_bar name="media_progress_bar" tool_tip="Medie hentes"/>
+ </panel>
+ </layout_stack>
<layout_stack name="media_controls">
+ <layout_panel name="back">
+ <button name="back_btn" tool_tip="Navigér tilbage"/>
+ </layout_panel>
+ <layout_panel name="fwd">
+ <button name="fwd_btn" tool_tip="Navigér frem"/>
+ </layout_panel>
+ <layout_panel name="home">
+ <button name="home_btn" tool_tip="Hjemmeside"/>
+ </layout_panel>
+ <layout_panel name="media_stop">
+ <button name="media_stop_btn" tool_tip="Stop medie"/>
+ </layout_panel>
+ <layout_panel name="reload">
+ <button name="reload_btn" tool_tip="Indlæs igen"/>
+ </layout_panel>
+ <layout_panel name="stop">
+ <button name="stop_btn" tool_tip="Stop indlæsning"/>
+ </layout_panel>
+ <layout_panel name="play">
+ <button name="play_btn" tool_tip="Afspil medie"/>
+ </layout_panel>
+ <layout_panel name="pause">
+ <button name="pause_btn" tool_tip="Pause medie"/>
+ </layout_panel>
<layout_panel name="media_address">
<line_editor name="media_address_url" tool_tip="Media URL"/>
<layout_stack name="media_address_url_icons">
@@ -15,14 +56,24 @@
<layout_panel name="media_play_position">
<slider_bar initial_value="0.5" name="media_play_slider" tool_tip="Filmafspilning fremskridt"/>
</layout_panel>
+ <layout_panel name="skip_back">
+ <button name="skip_back_btn" tool_tip="Gå tilbage"/>
+ </layout_panel>
+ <layout_panel name="skip_forward">
+ <button name="skip_forward_btn" tool_tip="Gå frem"/>
+ </layout_panel>
<layout_panel name="media_volume">
<button name="media_mute_button" tool_tip="Sluk for dette media"/>
<slider name="volume_slider" tool_tip="Media lydstyrke"/>
</layout_panel>
- </layout_stack>
- <layout_stack>
- <panel name="media_progress_indicator">
- <progress_bar name="media_progress_bar" tool_tip="Media hentes"/>
- </panel>
+ <layout_panel name="zoom_frame">
+ <button name="zoom_frame_btn" tool_tip="Zoom til medie"/>
+ </layout_panel>
+ <layout_panel name="close">
+ <button name="close_btn" tool_tip="Zoom tilbage"/>
+ </layout_panel>
+ <layout_panel name="new_window">
+ <button name="new_window_btn" tool_tip="Åben URL i browser"/>
+ </layout_panel>
</layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_profile.xml b/indra/newview/skins/default/xui/da/panel_profile.xml
index ef7110ffcf..c5bfc3ae80 100644
--- a/indra/newview/skins/default/xui/da/panel_profile.xml
+++ b/indra/newview/skins/default/xui/da/panel_profile.xml
@@ -1,37 +1,41 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Profil" name="panel_profile">
<string name="no_partner_text" value="Ingen"/>
+ <string name="no_group_text" value="Ingen"/>
<string name="RegisterDateFormat">
[REG_DATE] ([AGE])
</string>
- <scroll_container name="profile_scroll">
- <panel name="scroll_content_panel">
- <panel name="second_life_image_panel">
- <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/>
- </panel>
- <panel name="first_life_image_panel">
- <text name="title_rw_descr_text" value="Real world:"/>
- </panel>
- <text name="me_homepage_text">
- Hjemmeside:
- </text>
- <text name="title_member_text" value="Medlem siden:"/>
- <text name="title_acc_status_text" value="Konto status:"/>
- <text name="acc_status_text" value="Beboer. Ingen betalingsinfo"/>
- <text name="title_partner_text" value="Partner:"/>
- <text name="title_groups_text" value="Grupper:"/>
- </panel>
- </scroll_container>
- <panel name="profile_buttons_panel">
- <button label="Tilføj ven" name="add_friend" tool_tip="Tilbyd venskab til denne beboer"/>
- <button label="IM" name="im" tool_tip="Skriv en personlig besked (IM)"/>
- <button label="Opkald" name="call" tool_tip="Opkald til denne beboer"/>
- <button label="Map" name="show_on_map_btn" tool_tip="Show the resident on the map"/>
- <button label="Tilbyd teleport" name="teleport" tool_tip="Tilbyd en teleport til denne beboer"/>
- <button label="▼" name="overflow_btn" tool_tip="Betal penge til eller del beholdning med denne beboer"/>
- </panel>
- <panel name="profile_me_buttons_panel">
- <button label="Redigér profil" name="edit_profile_btn"/>
- <button label="Redigér udseende" name="edit_appearance_btn"/>
- </panel>
+ <layout_stack name="layout">
+ <layout_panel name="profile_stack">
+ <scroll_container name="profile_scroll">
+ <panel name="profile_scroll_panel">
+ <panel name="second_life_image_panel">
+ <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/>
+ </panel>
+ <panel name="first_life_image_panel">
+ <text name="title_rw_descr_text" value="Real World:"/>
+ </panel>
+ <text name="title_member_text" value="Beboer siden:"/>
+ <text name="title_acc_status_text" value="Konto status:"/>
+ <text name="title_partner_text" value="Partner:"/>
+ <panel name="partner_data_panel">
+ <name_box initial_value="(henter)" name="partner_text"/>
+ </panel>
+ <text name="title_groups_text" value="Grupper:"/>
+ </panel>
+ </scroll_container>
+ </layout_panel>
+ <layout_panel name="profile_buttons_panel">
+ <button label="Tilføj ven" name="add_friend" tool_tip="Tilbyd venskab til beboeren"/>
+ <button label="IM" name="im" tool_tip="Åben session med personlige beskeder (IM)"/>
+ <button label="Opkald" name="call" tool_tip="Opkald til denne beboer"/>
+ <button label="Kort" name="show_on_map_btn" tool_tip="Vis beboeren på kortet"/>
+ <button label="Teleport" name="teleport" tool_tip="Tilbyd teleport"/>
+ <button label="▼" name="overflow_btn" tool_tip="Betal penge til eller del beholdning med beboeren"/>
+ </layout_panel>
+ <layout_panel name="profile_me_buttons_panel">
+ <button label="Redigér profil" name="edit_profile_btn" tool_tip="Redigér din personlige information"/>
+ <button label="Redigér udseende" name="edit_appearance_btn" tool_tip="Opret/redigér dit udseende: fysiske data, tøj m.v."/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_region_covenant.xml b/indra/newview/skins/default/xui/da/panel_region_covenant.xml
index 0e8ab7556f..564d8e6665 100644
--- a/indra/newview/skins/default/xui/da/panel_region_covenant.xml
+++ b/indra/newview/skins/default/xui/da/panel_region_covenant.xml
@@ -27,7 +27,7 @@
Ændringer i regler vil blive vist i alle parceller til denne estate.
</text>
<text name="covenant_instructions">
- Træk og slip en note for at ændre regler for denne estate.
+ Træk og slip et notecard her for at ændre regler for denne estate.
</text>
<text name="region_section_lbl">
Region
diff --git a/indra/newview/skins/default/xui/da/panel_region_estate.xml b/indra/newview/skins/default/xui/da/panel_region_estate.xml
index d726fedfe9..c21fd9db37 100644
--- a/indra/newview/skins/default/xui/da/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/da/panel_region_estate.xml
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Estate" name="Estate">
<text name="estate_help_text">
- Ændringer i dette afsnit vil påvirke alle
-regioner i dette estate.
+ Ændringer her vil påvirke alle regioner i dette estate.
</text>
<text name="estate_text">
Estate:
@@ -24,10 +23,10 @@ regioner i dette estate.
<check_box label="Tillad offentlig adgang" name="externally_visible_check"/>
<button label="?" name="externally_visible_help"/>
<text name="Only Allow">
- Begræns adgang til:
+ Begræns adgang til konti bekræftet med:
</text>
- <check_box label="Beboere med betalingsoplysninger" name="limit_payment" tool_tip="Blokér for brugere uden identifikation"/>
- <check_box label="Beboere der er godkendt som voksne" name="limit_age_verified" tool_tip="Blokér for brugere der ikke har verificéret deres alder. Se [SUPPORT_SITE] for mere information."/>
+ <check_box label="Beboere med betalingsoplysninger" name="limit_payment" tool_tip="Blokér for uidentificerede beboere"/>
+ <check_box label="Beboere der er godkendt som voksne" name="limit_age_verified" tool_tip="Blokér for beboere som ikke er blevet aldersverificeret. Se [SUPPORT_SITE] for mere information."/>
<check_box label="Tillad stemme chat" name="voice_chat_check"/>
<button label="?" name="voice_chat_help"/>
<check_box label="Tillad direkte teleport" name="allow_direct_teleport"/>
diff --git a/indra/newview/skins/default/xui/da/panel_region_general_layout.xml b/indra/newview/skins/default/xui/da/panel_region_general_layout.xml
new file mode 100644
index 0000000000..467684f712
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/panel_region_general_layout.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Region" name="General">
+ <text name="region_text_lbl">
+ Region:
+ </text>
+ <text name="region_text">
+ ukendt
+ </text>
+ <text name="version_channel_text_lbl">
+ Version:
+ </text>
+ <text name="version_channel_text">
+ ukendt
+ </text>
+ <text name="region_type_lbl">
+ Type:
+ </text>
+ <text name="region_type">
+ ukendt
+ </text>
+ <check_box label="Blokér for redigering af terræn" name="block_terraform_check"/>
+ <check_box label="Blokér for flyvning" name="block_fly_check"/>
+ <check_box label="Tillad skader" name="allow_damage_check"/>
+ <check_box label="Begræns skubning" name="restrict_pushobject"/>
+ <check_box label="Tillad at sælge land" name="allow_land_resell_check"/>
+ <check_box label="Tillad at samle/dele land" name="allow_parcel_changes_check"/>
+ <check_box label="Blokér visning af land i Søgning" name="block_parcel_search_check" tool_tip="Lad beboere se denne region og dens parceller i søgeresultater"/>
+ <spinner label="Max besøgende" name="agent_limit_spin"/>
+ <spinner label="Objekt bonus" name="object_bonus_spin"/>
+ <text label="Rating" name="access_text">
+ Rating:
+ </text>
+ <combo_box label="Moderat" name="access_combo">
+ <combo_box.item label="Voksent" name="Adult"/>
+ <combo_box.item label="Moderat" name="Mature"/>
+ <combo_box.item label="Generel" name="PG"/>
+ </combo_box>
+ <button label="Gem" name="apply_btn"/>
+ <button label="Send en beboer hjem ..." name="kick_btn"/>
+ <button label="Send alle beboere hjem...&quot;" name="kick_all_btn"/>
+ <button label="Send besked til region..." name="im_btn"/>
+ <button label="Vedligehold telehub..." name="manage_telehub_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_region_texture.xml b/indra/newview/skins/default/xui/da/panel_region_texture.xml
index fc597eee15..8e324ab777 100644
--- a/indra/newview/skins/default/xui/da/panel_region_texture.xml
+++ b/indra/newview/skins/default/xui/da/panel_region_texture.xml
@@ -45,10 +45,10 @@
<spinner label="Høj" name="height_range_spin_2"/>
<spinner label="Høj" name="height_range_spin_3"/>
<text name="height_text_lbl10">
- Disse værdier repræsenterer blandingsområder for teksturer ovenfor.
+ Disse værdier repræsenterer blandingsforhold for teksturer ovenfor.
</text>
<text name="height_text_lbl11">
- Målt i meter, angiver LAV værdien MAKSIMUM højden for tekstur 1, og HØJ værdien er minimumshøjden for tekstur 4.
+ Målt i meter, angiver LAV værdien MAKSIMUM højden for tekstur 1 og HØJ værdien er MINIMUMSshøjden for tekstur 4.
</text>
<text name="height_text_lbl12">
og HØJ værdien er MIMIMUM højde for texture nummer 4.
diff --git a/indra/newview/skins/default/xui/da/panel_script_limits_my_avatar.xml b/indra/newview/skins/default/xui/da/panel_script_limits_my_avatar.xml
new file mode 100644
index 0000000000..821c82ccda
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/panel_script_limits_my_avatar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="MIN AVATAR" name="script_limits_my_avatar_panel">
+ <text name="script_memory">
+ Avatar Script forbrug
+ </text>
+ <text name="loading_text">
+ Henter...
+ </text>
+ <scroll_list name="scripts_list">
+ <scroll_list.columns label="Størrelse (kb)" name="size"/>
+ <scroll_list.columns label="URL&apos;er" name="urls"/>
+ <scroll_list.columns label="Objekt navn" name="name"/>
+ <scroll_list.columns label="Lokation" name="location"/>
+ </scroll_list>
+ <button label="Gentegn liste" name="refresh_list_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_script_limits_region_memory.xml b/indra/newview/skins/default/xui/da/panel_script_limits_region_memory.xml
new file mode 100644
index 0000000000..91fc76dbb4
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/panel_script_limits_region_memory.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="REGION MEMORY" name="script_limits_region_memory_panel">
+ <text name="script_memory">
+ Parcel script memory
+ </text>
+ <text name="loading_text">
+ Henter...
+ </text>
+ <scroll_list name="scripts_list">
+ <scroll_list.columns label="Størrelse (kb)" name="size"/>
+ <scroll_list.columns label="URL&apos;er" name="urls"/>
+ <scroll_list.columns label="Objekt navn" name="name"/>
+ <scroll_list.columns label="Objekt ejer" name="owner"/>
+ <scroll_list.columns label="Parcel" name="parcel"/>
+ <scroll_list.columns label="Lokation" name="location"/>
+ </scroll_list>
+ <button label="Gentegn liste" name="refresh_list_btn"/>
+ <button label="Fremhæv" name="highlight_btn"/>
+ <button label="Retur" name="return_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_side_tray.xml b/indra/newview/skins/default/xui/da/panel_side_tray.xml
index ab4a2a134e..ec430d6fd4 100644
--- a/indra/newview/skins/default/xui/da/panel_side_tray.xml
+++ b/indra/newview/skins/default/xui/da/panel_side_tray.xml
@@ -2,25 +2,28 @@
<!-- Side tray cannot show background because it is always
partially on screen to hold tab buttons. -->
<side_tray name="sidebar">
- <sidetray_tab description="Hjem." name="sidebar_home">
+ <sidetray_tab description="Åbn/luk sidebar" name="sidebar_openclose" tab_title="Åbn/luk sidebar"/>
+ <sidetray_tab description="Hjem." name="sidebar_home" tab_title="Home">
<panel label="hjem" name="panel_home"/>
</sidetray_tab>
- <sidetray_tab description="Find venner, kontakter og personer tæt på." name="sidebar_people">
+ <sidetray_tab description="Redigér din profile og favoritter." name="sidebar_me" tab_title="My Profile">
<panel_container name="panel_container">
- <panel label="Gruppe info" name="panel_group_info_sidetray"/>
+ <panel label="Mig" name="panel_me"/>
+ </panel_container>
+ </sidetray_tab>
+ <sidetray_tab description="Find venner, kontakter og personer tæt på." name="sidebar_people" tab_title="People">
+ <panel_container name="panel_container">
+ <panel label="Gruppe profil" name="panel_group_info_sidetray"/>
<panel label="Blokerede beboere og objekter" name="panel_block_list_sidetray"/>
</panel_container>
</sidetray_tab>
- <sidetray_tab description="Find steder du vil hen og steder du har været før." label="Steder" name="sidebar_places">
+ <sidetray_tab description="Find steder du vil hen og steder du har været før." label="Steder" name="sidebar_places" tab_title="Places">
<panel label="Steder" name="panel_places"/>
</sidetray_tab>
- <sidetray_tab description="Redigér din profile og favoritter." name="sidebar_me">
- <panel label="Mig" name="panel_me"/>
+ <sidetray_tab description="Browse din beholdning." name="sidebar_inventory" tab_title="My Inventory">
+ <panel label="Redigér beholdning" name="sidepanel_inventory"/>
</sidetray_tab>
- <sidetray_tab description="Ændre dit nuværende udseende" name="sidebar_appearance">
+ <sidetray_tab description="Ændre dit nuværende udseende" name="sidebar_appearance" tab_title="My Appearance">
<panel label="Redigér fremtoning" name="sidepanel_appearance"/>
</sidetray_tab>
- <sidetray_tab description="Browse din beholdning." name="sidebar_inventory">
- <panel label="Redigér beholdning" name="sidepanel_inventory"/>
- </sidetray_tab>
</side_tray>
diff --git a/indra/newview/skins/default/xui/da/panel_status_bar.xml b/indra/newview/skins/default/xui/da/panel_status_bar.xml
index 4e45b7e328..08ffafd5a6 100644
--- a/indra/newview/skins/default/xui/da/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/da/panel_status_bar.xml
@@ -21,9 +21,11 @@
<panel.string name="buycurrencylabel">
L$ [AMT]
</panel.string>
- <button label="" label_selected="" name="buycurrency" tool_tip="My Balance: Click to buy more L$"/>
+ <button label="" label_selected="" name="buycurrency" tool_tip="Min balance"/>
+ <button label="Køb L$" name="buyL" tool_tip="Klik for at købe flere L$"/>
<text name="TimeText" tool_tip="Nuværende tid (Pacific)">
- 12:00
+ 24:00 PST
</text>
+ <button name="media_toggle_btn" tool_tip="Start/Stop Alle medier (musik, video, hjemmesider)"/>
<button name="volume_btn" tool_tip="Kontrol for generel lydstyrke"/>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_teleport_history.xml b/indra/newview/skins/default/xui/da/panel_teleport_history.xml
index 64b5ecf5cf..a1859b64d8 100644
--- a/indra/newview/skins/default/xui/da/panel_teleport_history.xml
+++ b/indra/newview/skins/default/xui/da/panel_teleport_history.xml
@@ -4,6 +4,7 @@
<accordion_tab name="today" title="I dag"/>
<accordion_tab name="yesterday" title="I går"/>
<accordion_tab name="2_days_ago" title="2 dage siden"/>
+ 5
<accordion_tab name="3_days_ago" title="3 dage siden"/>
<accordion_tab name="4_days_ago" title="4 dage siden"/>
<accordion_tab name="5_days_ago" title="5 dage siden"/>
@@ -11,4 +12,7 @@
<accordion_tab name="1_month_and_older" title="1 måned eller ældre"/>
<accordion_tab name="6_months_and_older" title="6 måneder eller ældre"/>
</accordion>
+ <panel name="bottom_panel">
+ <button name="gear_btn" tool_tip="Vi flere valgmuligheder"/>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/da/panel_teleport_history_item.xml b/indra/newview/skins/default/xui/da/panel_teleport_history_item.xml
new file mode 100644
index 0000000000..8148588c86
--- /dev/null
+++ b/indra/newview/skins/default/xui/da/panel_teleport_history_item.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="teleport_history_item">
+ <button name="profile_btn" tool_tip="Vis info om genstand"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/da/sidepanel_appearance.xml b/indra/newview/skins/default/xui/da/sidepanel_appearance.xml
index 27708f5c7a..43ddfdada7 100644
--- a/indra/newview/skins/default/xui/da/sidepanel_appearance.xml
+++ b/indra/newview/skins/default/xui/da/sidepanel_appearance.xml
@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Sæt" name="appearance panel">
<string name="No Outfit" value="Intet sæt"/>
- <filter_editor label="Filtrér sæt" name="Filter"/>
- <panel name="bottom_panel">
- <button name="options_gear_btn" tool_tip="Vis flere muligheder"/>
- <button name="newlook_btn" tool_tip="Tilføj nyt sæt"/>
- <dnd_button name="trash_btn" tool_tip="Fjern valgte del"/>
- <button label="Bær" name="wear_btn"/>
+ <panel name="panel_currentlook">
+ <text name="currentlook_title">
+ (ikke gemt)
+ </text>
</panel>
+ <filter_editor label="Filtrér sæt" name="Filter"/>
</panel>
diff --git a/indra/newview/skins/default/xui/da/sidepanel_item_info.xml b/indra/newview/skins/default/xui/da/sidepanel_item_info.xml
index 685601b922..77db828c20 100644
--- a/indra/newview/skins/default/xui/da/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/da/sidepanel_item_info.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="item properties" title="Egenskaber for beholdningsgenstand">
+<panel name="item properties" title="Objekt profil">
<panel.string name="unknown">
(ukendt)
</panel.string>
@@ -15,7 +15,8 @@
<panel.string name="acquiredDate">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</panel.string>
- <text name="title" value="Egenskaber for genstand"/>
+ <text name="title" value="Objekt profil"/>
+ <text name="where" value="(Beholdning)"/>
<panel label="">
<text name="LabelItemNameTitle">
Navn:
@@ -37,34 +38,36 @@
<text name="LabelAcquiredDate">
Ons Maj 24 12:50:46 2006
</text>
- <text name="OwnerLabel">
- Dig:
- </text>
- <check_box label="Editér" name="CheckOwnerModify"/>
- <check_box label="Kopiér" name="CheckOwnerCopy"/>
- <check_box label="Sælg" name="CheckOwnerTransfer"/>
- <text name="AnyoneLabel">
- Enhver:
- </text>
- <check_box label="Kopiér" name="CheckEveryoneCopy"/>
- <text name="GroupLabel">
- Gruppe:
- </text>
- <check_box label="Del" name="CheckShareWithGroup"/>
- <text name="NextOwnerLabel">
- Næste ejer:
- </text>
- <check_box label="Editér" name="CheckNextOwnerModify"/>
- <check_box label="Kopiér" name="CheckNextOwnerCopy"/>
- <check_box label="Sælg" name="CheckNextOwnerTransfer"/>
+ <panel name="perms_inv">
+ <text name="perm_modify">
+ Du kan:
+ </text>
+ <check_box label="Redigér" name="CheckOwnerModify"/>
+ <check_box label="Kopi" name="CheckOwnerCopy"/>
+ <check_box label="Giv væk" name="CheckOwnerTransfer"/>
+ <text name="AnyoneLabel">
+ Enhver:
+ </text>
+ <check_box label="Kopi" name="CheckEveryoneCopy"/>
+ <text name="GroupLabel">
+ Gruppe:
+ </text>
+ <check_box label="Del" name="CheckShareWithGroup" tool_tip="Tillad alle medlemmer i den aktive gruppe at dele dine &apos;redigere&apos; rettigheder for dette objekt. Du skal dedikere for at åbne for rolle begrænsninger."/>
+ <text name="NextOwnerLabel">
+ Næste ejer:
+ </text>
+ <check_box label="Redigere" name="CheckNextOwnerModify"/>
+ <check_box label="Kopi" name="CheckNextOwnerCopy"/>
+ <check_box label="Giv væk" name="CheckNextOwnerTransfer" tool_tip="Næste ejer kan give væk eller sælge dette objekt"/>
+ </panel>
<check_box label="Til salg" name="CheckPurchase"/>
<combo_box name="combobox sale copy">
<combo_box.item label="Kopiér" name="Copy"/>
<combo_box.item label="Original" name="Original"/>
</combo_box>
- <spinner label="Pris:" name="Edit Cost"/>
- <text name="CurrencySymbol">
- L$
- </text>
+ <spinner label="Pris: L$" name="Edit Cost"/>
+ </panel>
+ <panel name="button_panel">
+ <button label="Annullér" name="cancel_btn"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/da/sidepanel_task_info.xml b/indra/newview/skins/default/xui/da/sidepanel_task_info.xml
index 6ade03ce56..add2fa3c73 100644
--- a/indra/newview/skins/default/xui/da/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/da/sidepanel_task_info.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="object properties" title="Egenskaber for objekt">
+<panel name="object properties" title="Objekt profil">
<panel.string name="text deed continued">
Dedikér
</panel.string>
@@ -36,84 +36,61 @@
<panel.string name="Sale Mixed">
Blandet salg
</panel.string>
+ <text name="title" value="Objekt profil"/>
+ <text name="where" value="(verden)"/>
<panel label="">
- <text name="Name:">
- Navn:
+ <text name="CreatorNameLabel">
+ Skaber
</text>
- <text name="Description:">
- Beskrivelse:
+ <text name="Creator Name">
+ Erica Linden
</text>
- <text name="Creator:">
- Skaber:
- </text>
- <text name="Owner:">
- Ejer:
- </text>
- <text name="Group:">
+ <text name="Group_label">
Gruppe:
</text>
- <button name="button set group" tool_tip="Vælg en gruppe der skal dele dette objekts rettigheder"/>
- <name_box initial_value="Henter..." name="Group Name Proxy"/>
- <button label="Dedikér" label_selected="Dedikér" name="button deed" tool_tip="Dedikering giver denne genstand væk med næste ejers rettigheder. Gruppedelte genstande kan dedikeres af en gruppeadministrator."/>
- <check_box label="Del" name="checkbox share with group" tool_tip="Tillad alle medlemmer i den angivne gruppe at videregive dine &quot;redigere&quot; rettigheder for dette objekt. Du må dedikere for at tillade rolle begrænsninger."/>
- <text name="label click action">
- Klik for at:
- </text>
- <combo_box name="clickaction">
- <combo_box.item label="Røre (standard)" name="Touch/grab(default)"/>
- <combo_box.item label="Sidde på objekt" name="Sitonobject"/>
- <combo_box.item label="Købe objekt" name="Buyobject"/>
- <combo_box.item label="Betale til objekt" name="Payobject"/>
- <combo_box.item label="Åbne" name="Open"/>
- </combo_box>
- <check_box label="Til salg:" name="checkbox for sale"/>
- <combo_box name="sale type">
- <combo_box.item label="Kopi" name="Copy"/>
- <combo_box.item label="Indhold" name="Contents"/>
- <combo_box.item label="Original" name="Original"/>
- </combo_box>
- <spinner label="Pris: L$" name="Edit Cost"/>
- <check_box label="Vis i søgning" name="search_check" tool_tip="Lad personer se dette objekt i søgeresultater"/>
- <panel name="perms_build">
+ <panel name="perms_inv">
<text name="perm_modify">
Du kan redigere dette objekt
</text>
<text name="Anyone can:">
Enhver:
</text>
- <check_box label="Flytte" name="checkbox allow everyone move"/>
- <check_box label="Kopiere" name="checkbox allow everyone copy"/>
- <text name="Next owner can:">
+ <check_box label="Kopi" name="checkbox allow everyone copy"/>
+ <check_box label="Flyt" name="checkbox allow everyone move"/>
+ <text name="GroupLabel">
+ Gruppe:
+ </text>
+ <check_box label="Del" name="checkbox share with group" tool_tip="Tillad alle medlemmer i den aktive gruppe at dele dine &apos;rediger&apos; rettigheder for dette objekt. Du skal dedikere for at åbne for rolle begrænsninger."/>
+ <text name="NextOwnerLabel">
Næste ejer:
</text>
<check_box label="Redigere" name="checkbox next owner can modify"/>
- <check_box label="Kopiere" name="checkbox next owner can copy"/>
- <check_box label="Overfør" name="checkbox next owner can transfer" tool_tip="Næste ejer kan sælge eller give dette objekt væk"/>
- <text name="B:">
- B:
- </text>
- <text name="O:">
- Å:
- </text>
- <text name="G:">
- O:
- </text>
- <text name="E:">
- R:
- </text>
- <text name="N:">
- N:
- </text>
- <text name="F:">
- F:
- </text>
+ <check_box label="Kopi" name="checkbox next owner can copy"/>
+ <check_box label="Give væk" name="checkbox next owner can transfer" tool_tip="Næste ejer kan give væk eller sælge objekt"/>
</panel>
+ <check_box label="Til salg" name="checkbox for sale"/>
+ <text name="B:">
+ B:
+ </text>
+ <text name="O:">
+ O:
+ </text>
+ <text name="G:">
+ G:
+ </text>
+ <text name="E:">
+ E:
+ </text>
+ <text name="N:">
+ N:
+ </text>
+ <text name="F:">
+ F:
+ </text>
</panel>
<panel name="button_panel">
<button label="Åben" name="open_btn"/>
<button label="Betal" name="pay_btn"/>
<button label="Køb" name="buy_btn"/>
- <button label="Annullér" name="cancel_btn"/>
- <button label="Gem" name="save_btn"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/da/strings.xml b/indra/newview/skins/default/xui/da/strings.xml
index 493bb4cb20..412f946acc 100644
--- a/indra/newview/skins/default/xui/da/strings.xml
+++ b/indra/newview/skins/default/xui/da/strings.xml
@@ -1,9 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- This file contains strings that used to be hardcoded in the source.
It is only for those strings which do not belong in a floater.
- For example, the strings used in avatar chat bubbles, and strings
+ For example, the strings used in avatar chat bubbles, and strings
that are returned from one component and may appear in many places-->
<strings>
+ <string name="CAPITALIZED_APP_NAME">
+ SECOND LIFE
+ </string>
<string name="SUPPORT_SITE">
Second Life Support Portal
</string>
@@ -131,7 +134,7 @@
Klik for at se information om denne lokation
</string>
<string name="TooltipAgentUrl">
- Klik for at denne beboers profil
+ Klik for at se beboers profil
</string>
<string name="TooltipGroupUrl">
Klik for at se denne gruppes beskrivelse
@@ -165,7 +168,7 @@
Vis kort for
</string>
<string name="BUTTON_CLOSE_DARWIN">
- Luk (&#8984;W)
+ Luk (⌘W)
</string>
<string name="BUTTON_CLOSE_WIN">
Luk (Ctrl+W)
@@ -182,9 +185,6 @@
<string name="BUTTON_DOCK">
Fastgør
</string>
- <string name="BUTTON_UNDOCK">
- Frigør
- </string>
<string name="BUTTON_HELP">
Vis hjælp
</string>
@@ -209,9 +209,6 @@
<string name="AvatarNameWaiting">
(venter)
</string>
- <string name="AvatarNameHippos">
- (hippos)
- </string>
<string name="GroupNameNone">
(ingen)
</string>
@@ -572,6 +569,9 @@
<string name="hang_up">
Stemme chat er afbrudt
</string>
+ <string name="reconnect_nearby">
+ Du vil nu blive dirigeret til lokal stemme chat
+ </string>
<string name="ScriptQuestionCautionChatGranted">
&apos;[OBJECTNAME]&apos;, en genstand, ejet af &apos;[OWNERNAME]&apos;, lokaliseret i [REGIONNAME] på [REGIONPOS], har fået tilladelse til: [PERMISSIONS].
</string>
@@ -764,9 +764,6 @@
<string name="TeleportOffer">
Teleport tilbud
</string>
- <string name="StartUpNotification">
- %d nye besked modtaget mens du var væk...
- </string>
<string name="StartUpNotifications">
%d nye beskeder modtaget mens du var væk......
</string>
@@ -804,11 +801,13 @@
Tryk ESC for at skift til normalt udsyn
</string>
<string name="InventoryNoMatchingItems">
- No matching items found in inventory.
+ Ingen matchende genstande fundet i beholdning. Prøv evt. [secondlife:///app/search/groups &quot;Search&quot;].
+ </string>
+ <string name="FavoritesNoMatchingItems">
+ Træk et landemærke hertil for at tilføje den som favorit.
</string>
<string name="InventoryNoTexture">
- Du har ikke en kopi af denne
-tekstur i din beholdning.
+ Du har ikke en kopi af denne tekstur i din beholdning
</string>
<string name="no_transfer" value=" (ikke overdragbar)"/>
<string name="no_modify" value=" (ikke redigere)"/>
@@ -1266,11 +1265,164 @@ tekstur i din beholdning.
alle estates du administrerer for [OWNER]
</string>
<string name="RegionInfoAllowedResidents">
- Godkendte beboere: ([ALLOWEDAGENTS], max. [MAXACCESS])
+ Godkendte beboere: ([ALLOWEDAGENTS], maks. [MAXACCESS])
</string>
<string name="RegionInfoAllowedGroups">
Godkendte grupper: ([ALLOWEDGROUPS], max. [MAXACCESS])
</string>
+ <string name="ScriptLimitsParcelScriptMemory">
+ Parcel script memory
+ </string>
+ <string name="ScriptLimitsParcelsOwned">
+ Parceller listet: [PARCELS]
+ </string>
+ <string name="ScriptLimitsMemoryUsed">
+ Memory brugt: [COUNT] kb ud af [MAX] kb; [AVAILABLE] kb tilgængeligt
+ </string>
+ <string name="ScriptLimitsMemoryUsedSimple">
+ Memory brugt: [COUNT] kb
+ </string>
+ <string name="ScriptLimitsParcelScriptURLs">
+ Parcel Script URL&apos;er
+ </string>
+ <string name="ScriptLimitsURLsUsed">
+ URL&apos;er brugt: [COUNT] ud af [MAX]; [AVAILABLE] tilgængelige
+ </string>
+ <string name="ScriptLimitsURLsUsedSimple">
+ URL&apos;er brugt: [COUNT]
+ </string>
+ <string name="ScriptLimitsRequestError">
+ Fejl ved anmodning om information
+ </string>
+ <string name="ScriptLimitsRequestNoParcelSelected">
+ Ingen parcel valgt
+ </string>
+ <string name="ScriptLimitsRequestWrongRegion">
+ Fejl: script information er kun tilgængelig i den nuværende region
+ </string>
+ <string name="ScriptLimitsRequestWaiting">
+ Henter information...
+ </string>
+ <string name="ScriptLimitsRequestDontOwnParcel">
+ Du har ikke rettigheder til at undersøge denne parcel
+ </string>
+ <string name="SITTING_ON">
+ Sidder på
+ </string>
+ <string name="ATTACH_CHEST">
+ Bryst
+ </string>
+ <string name="ATTACH_HEAD">
+ Hoved
+ </string>
+ <string name="ATTACH_LSHOULDER">
+ Venstre skulder
+ </string>
+ <string name="ATTACH_RSHOULDER">
+ Højre skulder
+ </string>
+ <string name="ATTACH_LHAND">
+ Venstre hånd
+ </string>
+ <string name="ATTACH_RHAND">
+ Højre hånd
+ </string>
+ <string name="ATTACH_LFOOT">
+ Venstre fod
+ </string>
+ <string name="ATTACH_RFOOT">
+ Højre fod
+ </string>
+ <string name="ATTACH_BACK">
+ Ryg
+ </string>
+ <string name="ATTACH_PELVIS">
+ Bækken
+ </string>
+ <string name="ATTACH_MOUTH">
+ Mund
+ </string>
+ <string name="ATTACH_CHIN">
+ Hage
+ </string>
+ <string name="ATTACH_LEAR">
+ Venstre øre
+ </string>
+ <string name="ATTACH_REAR">
+ Højre øre
+ </string>
+ <string name="ATTACH_LEYE">
+ Venstre øje
+ </string>
+ <string name="ATTACH_REYE">
+ Højre øje
+ </string>
+ <string name="ATTACH_NOSE">
+ Næse
+ </string>
+ <string name="ATTACH_RUARM">
+ Højre overarm
+ </string>
+ <string name="ATTACH_RLARM">
+ Højre underarm
+ </string>
+ <string name="ATTACH_LUARM">
+ Venstre overarm
+ </string>
+ <string name="ATTACH_LLARM">
+ Venstre underarm
+ </string>
+ <string name="ATTACH_RHIP">
+ Højre hofte
+ </string>
+ <string name="ATTACH_RULEG">
+ Højre lår
+ </string>
+ <string name="ATTACH_RLLEG">
+ Højre underben
+ </string>
+ <string name="ATTACH_LHIP">
+ Venstre hofte
+ </string>
+ <string name="ATTACH_LULEG">
+ Venste lår
+ </string>
+ <string name="ATTACH_LLLEG">
+ Venstre underben
+ </string>
+ <string name="ATTACH_BELLY">
+ Mave
+ </string>
+ <string name="ATTACH_RPEC">
+ Højre bryst
+ </string>
+ <string name="ATTACH_LPEC">
+ Venstre bryst
+ </string>
+ <string name="ATTACH_HUD_CENTER_2">
+ HUD Center 2
+ </string>
+ <string name="ATTACH_HUD_TOP_RIGHT">
+ HUD Øverst til højre
+ </string>
+ <string name="ATTACH_HUD_TOP_CENTER">
+ HUD Foroven midtpå
+ </string>
+ <string name="ATTACH_HUD_TOP_LEFT">
+ HUD Øverst til venstre
+ </string>
+ <string name="ATTACH_HUD_CENTER_1">
+ HUD Center 1
+ </string>
+ <string name="ATTACH_HUD_BOTTOM_LEFT">
+ HUD Nederst til venstre
+ </string>
+ <string name="ATTACH_HUD_BOTTOM">
+ HUD For neden
+ </string>
+ <string name="ATTACH_HUD_BOTTOM_RIGHT">
+ HUD Nederst til højre
+ </string>
<string name="CursorPos">
Linie [LINE], Kolonne [COLUMN]
</string>
@@ -1315,6 +1467,15 @@ tekstur i din beholdning.
<string name="ClassifiedUpdateAfterPublish">
(vil blive opdateret efter offentliggørelse)
</string>
+ <string name="NoPicksClassifiedsText">
+ Du har ikke oprettet nogen favoritter eller annoncer. Klik på plus knappen nedenfor for at oprette en favorit eller en annonce.
+ </string>
+ <string name="NoAvatarPicksClassifiedsText">
+ Bruger har ingen favoritter eller annoncer
+ </string>
+ <string name="PicksClassifiedsLoadingText">
+ Henter...
+ </string>
<string name="MultiPreviewTitle">
Vis først
</string>
@@ -1391,16 +1552,27 @@ tekstur i din beholdning.
Ukendt fil efternavn [.%s]
Forventet .wav, .tga, .bmp, .jpg, .jpeg, or .bvh
</string>
+ <string name="MuteObject2">
+ Blokér
+ </string>
<string name="AddLandmarkNavBarMenu">
Tilføj landemærke...
</string>
<string name="EditLandmarkNavBarMenu">
Redigér landemærke...
</string>
- <string name="accel-mac-control">&#8963;</string>
- <string name="accel-mac-command">&#8984;</string>
- <string name="accel-mac-option">&#8997;</string>
- <string name="accel-mac-shift">&#8679;</string>
+ <string name="accel-mac-control">
+ ⌃
+ </string>
+ <string name="accel-mac-command">
+ ⌘
+ </string>
+ <string name="accel-mac-option">
+ ⌥
+ </string>
+ <string name="accel-mac-shift">
+ ⇧
+ </string>
<string name="accel-win-control">
Ctrl+
</string>
@@ -1655,39 +1827,15 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Attached Earlobes">
Vedhæftede øreflipper
</string>
- <string name="Back Bangs">
- Nakkehår
- </string>
- <string name="Back Bangs Down">
- Nakkehår langt
- </string>
- <string name="Back Bangs Up">
- Nakkehår kort
- </string>
<string name="Back Fringe">
Nakkehår
</string>
- <string name="Back Hair">
- Volumen
- </string>
- <string name="Back Hair Down">
- Volumen nedad
- </string>
- <string name="Back Hair Up">
- Volumen op
- </string>
<string name="Baggy">
Posede
</string>
<string name="Bangs">
Pandehår
</string>
- <string name="Bangs Down">
- Pandehår ned
- </string>
- <string name="Bangs Up">
- Pandehår op
- </string>
<string name="Beady Eyes">
Stikkende øjne
</string>
@@ -1700,9 +1848,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Big Butt">
Stor bagdel
</string>
- <string name="Big Eyeball">
- Store øjenæbler
- </string>
<string name="Big Hair Back">
Stort hår: Bag
</string>
@@ -1877,9 +2022,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Corner Down">
Nedadvendt
</string>
- <string name="Corner Normal">
- Normalt
- </string>
<string name="Corner Up">
Opadvendt
</string>
@@ -1889,9 +2031,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Crooked Nose">
Skæv næse
</string>
- <string name="Cropped Hair">
- Kort hår
- </string>
<string name="Cuff Flare">
Svaj
</string>
@@ -1910,15 +2049,9 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Default Heels">
Standard hæle
</string>
- <string name="Default Toe">
- Standard snude
- </string>
<string name="Dense">
Tæt
</string>
- <string name="Dense hair">
- Tæt hår
- </string>
<string name="Double Chin">
Dobbelthage
</string>
@@ -1964,9 +2097,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Eye Spacing">
Øjenafstand
</string>
- <string name="Eyeball Size">
- Størrelse øjenæble
- </string>
<string name="Eyebrow Arc">
Bue på øjenbryn
</string>
@@ -1991,36 +2121,9 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Eyeliner Color">
Eyeliner farve
</string>
- <string name="Eyes Back">
- Dybtliggende øjne
- </string>
<string name="Eyes Bugged">
Udstående øjne
</string>
- <string name="Eyes Forward">
- Øjne fremme
- </string>
- <string name="Eyes Long Head">
- Eyes Long Head
- </string>
- <string name="Eyes Shear Left Up">
- Eyes Shear Left Up
- </string>
- <string name="Eyes Shear Right Up">
- Eyes Shear Right Up
- </string>
- <string name="Eyes Short Head">
- Eyes Short Head
- </string>
- <string name="Eyes Spread">
- Stor afstand
- </string>
- <string name="Eyes Sunken">
- Indsunkne øjne
- </string>
- <string name="Eyes Together">
- Tætsiddende
- </string>
<string name="Face Shear">
Ansigts symmetri
</string>
@@ -2030,30 +2133,9 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Far Set Eyes">
Stor afstand mellem øjne
</string>
- <string name="Fat">
- Tyk
- </string>
- <string name="Fat Head">
- Tykt hovede
- </string>
<string name="Fat Lips">
Tykke læber
</string>
- <string name="Fat Lower">
- Tyk nedre
- </string>
- <string name="Fat Lower Lip">
- Tyk underlæbe
- </string>
- <string name="Fat Torso">
- Tyk overkrop
- </string>
- <string name="Fat Upper">
- Tyk øvre
- </string>
- <string name="Fat Upper Lip">
- Tyk overlæbe
- </string>
<string name="Female">
Kvinde
</string>
@@ -2090,24 +2172,9 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Freckles">
Fregner
</string>
- <string name="Front Bangs Down">
- Pandehår - ned
- </string>
- <string name="Front Bangs Up">
- Pandehår - op
- </string>
<string name="Front Fringe">
Frynser foran
</string>
- <string name="Front Hair">
- Hår foran
- </string>
- <string name="Front Hair Down">
- Hår foran - ned
- </string>
- <string name="Front Hair Up">
- Hår foran - op
- </string>
<string name="Full Back">
Langt ud bagtil
</string>
@@ -2381,9 +2448,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Long arms">
Lange arme
</string>
- <string name="Longcuffs">
- Longcuffs
- </string>
<string name="Loose Pants">
Løse bukser
</string>
@@ -2546,9 +2610,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="No Eyeshadow">
Ingen øjenskygge
</string>
- <string name="No Heels">
- Ingen hæle
- </string>
<string name="No Lipgloss">
Ingen lipgloss
</string>
@@ -2606,9 +2667,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Nostril Width">
Næsebor bredde
</string>
- <string name="Old">
- Gammel
- </string>
<string name="Opaque">
Uigennemsigtig
</string>
@@ -2708,9 +2766,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Pointy Heels">
Spidse hæle
</string>
- <string name="Pointy Toe">
- Spids snude
- </string>
<string name="Ponytail">
Hestehale
</string>
@@ -2735,15 +2790,9 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Red Hair">
Rødt hår
</string>
- <string name="Red Skin">
- Rød hud
- </string>
<string name="Regular">
Almindelig
</string>
- <string name="Regular Muscles">
- Almindelige muskler
- </string>
<string name="Right Part">
Højre skildning
</string>
@@ -2753,9 +2802,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Round">
Rund
</string>
- <string name="Round Forehead">
- Rund pande
- </string>
<string name="Ruddiness">
Rødmossethed
</string>
@@ -2768,24 +2814,12 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Saddle Bags">
Ridebukselår
</string>
- <string name="Saddlebags">
- Ridebukselår
- </string>
- <string name="Scrawny">
- Radmager
- </string>
<string name="Scrawny Leg">
Magert ben
</string>
<string name="Separate">
Separat
</string>
- <string name="Shading">
- Skygger
- </string>
- <string name="Shadow hair">
- Skygge hår
- </string>
<string name="Shallow">
Lille
</string>
@@ -2798,15 +2832,9 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Shear Front">
&quot;Måne&quot;
</string>
- <string name="Shear Left">
- Venstre
- </string>
<string name="Shear Left Up">
Venstre op
</string>
- <string name="Shear Right">
- Højre
- </string>
<string name="Shear Right Up">
Højre op
</string>
@@ -2867,15 +2895,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Shoulders">
Skuldre
</string>
- <string name="Side Bangs">
- Sidehår
- </string>
- <string name="Side Bangs Down">
- Ned
- </string>
- <string name="Side Bangs Up">
- Op
- </string>
<string name="Side Fringe">
Side frynser
</string>
@@ -2891,9 +2910,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Sides Hair Up">
Op
</string>
- <string name="Skinny">
- Tynd
- </string>
<string name="Skinny Neck">
Tynd hals
</string>
@@ -2942,9 +2958,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Socks Length">
Strømper - længde
</string>
- <string name="Some">
- Nogen
- </string>
<string name="Soulpatch">
Soulpatch
</string>
@@ -2963,9 +2976,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Squash Head">
Bredt hovede
</string>
- <string name="Squash/Stretch Head">
- Sammentryk/stræk hovede
- </string>
<string name="Stretch Head">
Stræk hovede
</string>
@@ -2984,18 +2994,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Sweep Forward">
Stryge fremad
</string>
- <string name="Swept Back">
- Tilbagestrøget
- </string>
- <string name="Swept Back Hair">
- Tilbagestrøget hår
- </string>
- <string name="Swept Forward">
- Fremadstrøget
- </string>
- <string name="Swept Forward Hair">
- Fremadstrøget hår
- </string>
<string name="Tall">
Høj
</string>
@@ -3014,9 +3012,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Thick Toe">
Bred snude
</string>
- <string name="Thickness">
- Tykkelse
- </string>
<string name="Thin">
Tynd
</string>
@@ -3047,12 +3042,6 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="Tight Sleeves">
Stramme ærmer
</string>
- <string name="Tilt Left">
- Hæld til venstre
- </string>
- <string name="Tilt Right">
- Hæld til højre
- </string>
<string name="Toe Shape">
Sko form
</string>
@@ -3194,6 +3183,21 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="IM_moderator_label">
(Moderator)
</string>
+ <string name="started_call">
+ Startet et stemme opkald
+ </string>
+ <string name="joined_call">
+ Tilsluttet stemme opkaldet
+ </string>
+ <string name="ringing-im">
+ Tilslutter stemme opkald...
+ </string>
+ <string name="connected-im">
+ Forbundet, klik på Forlad for at lægge på
+ </string>
+ <string name="hang_up-im">
+ Forladt stemme opkald
+ </string>
<string name="only_user_message">
Du er den eneste deltager i denne samtale
</string>
@@ -3204,7 +3208,10 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
Tryk på [BUTTON NAME] knappen for at acceptére/tilslutte til denne stemme chat.
</string>
<string name="muted_message">
- Du har blokeret denne beboer. Hvis du starter en samtale vil denne blokering automatisk blive fjernet.
+ Du har blokeret denne beboer. Sendes en besked, vil beboeren fjernes fra blokeringslisten.
+ </string>
+ <string name="generic">
+ Fejl ved anmodning, prøv venligst igen senere
</string>
<string name="generic_request_error">
Kunne ikke etablere forbindelse, prøv igen senere
@@ -3224,19 +3231,37 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
<string name="not_a_mod_error">
Du er ikke moderator for denne samtale.
</string>
+ <string name="muted">
+ En gruppe moderator har deaktiveret din tekst chat.
+ </string>
<string name="muted_error">
Du er blevet &quot;blokeret&quot;.
</string>
<string name="add_session_event">
Ikke muligt at tilføge brugere til samtale med [RECIPIENT].
</string>
+ <string name="message">
+ Kunne ikke sende din besked til session med [RECIPIENT].
+ </string>
<string name="message_session_event">
Ikke muligt at sende din besked til samtalen med [RECIPIENT].
</string>
+ <string name="mute">
+ Fejl under moderation.
+ </string>
+ <string name="removed">
+ Du er blevet fjernet fra denne gruppe.
+ </string>
<string name="removed_from_group">
Du er blevet fjernet fra gruppen.
</string>
<string name="close_on_no_ability">
Du har ikke længere mulighed for at deltage i samtalen
</string>
+ <string name="unread_chat_single">
+ [SOURCES] har sagt noget nyt
+ </string>
+ <string name="unread_chat_multiple">
+ [SOURCES] har sagt noget nyt
+ </string>
</strings>
diff --git a/indra/newview/skins/default/xui/de/floater_avatar_picker.xml b/indra/newview/skins/default/xui/de/floater_avatar_picker.xml
index f1281bfb9b..6eb99f8b42 100644
--- a/indra/newview/skins/default/xui/de/floater_avatar_picker.xml
+++ b/indra/newview/skins/default/xui/de/floater_avatar_picker.xml
@@ -41,8 +41,24 @@ Person ein:
<text name="meters">
Meter
</text>
- <button font="SansSerifSmall" label="Liste aktualisieren" label_selected="Liste aktualisieren" left_delta="10" name="Refresh" width="105"/>
- <scroll_list bottom_delta="-169" height="159" name="NearMe"/>
+ <button
+ follows="top|left"
+ layout="topleft"
+ left_pad="0"
+ height="28"
+ width="28"
+ name="Refresh"
+ image_overlay="Refresh_Off" />
+ <scroll_list
+ follows="all"
+ height="100"
+ border="false"
+ layout="topleft"
+ left="0"
+ name="NearMe"
+ sort_column="0"
+ top="50"
+ width="132" />
</panel>
</tab_container>
<button label="OK" label_selected="OK" name="ok_btn"/>
diff --git a/indra/newview/skins/default/xui/de/floater_avatar_textures.xml b/indra/newview/skins/default/xui/de/floater_avatar_textures.xml
index cf1b809aa1..92c0c4a27a 100644
--- a/indra/newview/skins/default/xui/de/floater_avatar_textures.xml
+++ b/indra/newview/skins/default/xui/de/floater_avatar_textures.xml
@@ -16,7 +16,7 @@
<texture_picker label="Haare" name="hair_grain"/>
<texture_picker label="Alpha: Haare" name="hair_alpha"/>
<texture_picker label="Kopf" name="head-baked"/>
- <texture_picker label="Make-Uup" name="head_bodypaint"/>
+ <texture_picker label="Make-Up" name="head_bodypaint"/>
<texture_picker label="Kopf: Alpha" name="head_alpha"/>
<texture_picker label="Kopftattoo" name="head_tattoo"/>
<texture_picker label="Augen" name="eyes-baked"/>
diff --git a/indra/newview/skins/default/xui/de/floater_beacons.xml b/indra/newview/skins/default/xui/de/floater_beacons.xml
index 50a4555ae0..6e83e0419b 100644
--- a/indra/newview/skins/default/xui/de/floater_beacons.xml
+++ b/indra/newview/skins/default/xui/de/floater_beacons.xml
@@ -5,7 +5,7 @@
Anzeigen:
</text>
<check_box label="Strahlen" name="beacons"/>
- <check_box label="Glanzlichter" name="highlights"/>
+ <check_box label="Hervorhebung" name="highlights"/>
<text name="beacon_width_label" tool_tip="Strahlbreite">
Breite:
</text>
diff --git a/indra/newview/skins/default/xui/de/floater_bulk_perms.xml b/indra/newview/skins/default/xui/de/floater_bulk_perms.xml
index 1d766ac07b..d3f0d6d78f 100644
--- a/indra/newview/skins/default/xui/de/floater_bulk_perms.xml
+++ b/indra/newview/skins/default/xui/de/floater_bulk_perms.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="floaterbulkperms" title="INHALTS-BERECHTIGUNGEN BEARBEITEN">
+<floater name="floaterbulkperms" title="BERECHTIGUNGEN BEARBEITEN">
<floater.string name="nothing_to_modify_text">
Auswahl enthält keinen Inhalt, der bearbeitet werden kann.
</floater.string>
@@ -43,7 +43,7 @@
Jeder:
</text>
<check_box label="Kopieren" name="everyone_copy"/>
- <text name="NextOwnerLabel" top="160" left="10">
+ <text name="NextOwnerLabel" top="160" left="10" width="200">
Nächster Eigentümer:
</text>
<check_box label="Bearbeiten" name="next_owner_modify"/>
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 72959c7a0c..d0d3628448 100644
--- a/indra/newview/skins/default/xui/de/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/de/floater_buy_currency.xml
@@ -18,13 +18,13 @@
<text name="balance_amount">
[AMT] L$
</text>
- <text name="currency_action" width="90">
+ <text name="currency_action">
Ich möchte kaufen
</text>
<text name="currency_label">
L$
</text>
- <line_editor label="L$" left_delta="55" name="currency_amt">
+ <line_editor label="L$" name="currency_amt">
1234
</line_editor>
<text name="buying_label">
@@ -52,7 +52,7 @@
Geben Sie den Betrag erneut ein, um die aktuellste Umtauschrate anzuzeigen.
</text>
<text name="purchase_warning_repurchase">
- Nach Bestätigung dieses Kaufs werden nur L$ gekauft, nicht das Objekt.
+ Achtung: Sie kaufen L$, nicht das Objekt.
</text>
<text name="purchase_warning_notenough">
Sie kaufen nicht genügend L$. Bitte erhöhen Sie den Betrag.
diff --git a/indra/newview/skins/default/xui/de/floater_camera.xml b/indra/newview/skins/default/xui/de/floater_camera.xml
index b8616ea128..87371b05e3 100644
--- a/indra/newview/skins/default/xui/de/floater_camera.xml
+++ b/indra/newview/skins/default/xui/de/floater_camera.xml
@@ -9,6 +9,18 @@
<floater.string name="move_tooltip">
Kamera nach oben, unten, links und rechts bewegen
</floater.string>
+ <floater.string name="orbit_mode_title">
+ Kreisen
+ </floater.string>
+ <floater.string name="pan_mode_title">
+ Schwenken
+ </floater.string>
+ <floater.string name="avatar_view_mode_title">
+ Voreinstellungen
+ </floater.string>
+ <floater.string name="free_mode_title">
+ Objekt ansehen
+ </floater.string>
<panel name="controls">
<joystick_track name="cam_track_stick" tool_tip="Kamera nach oben, unten, links und rechts bewegen"/>
<panel name="zoom" tool_tip="Kamera auf Fokus zoomen">
@@ -25,7 +37,7 @@
<panel name="buttons">
<button label="" name="orbit_btn" tool_tip="Kamera kreisen"/>
<button label="" name="pan_btn" tool_tip="Kamera schwenken"/>
- <button label="" name="avatarview_btn" tool_tip="Avatarsicht"/>
+ <button label="" name="avatarview_btn" tool_tip="Voreinstellungen"/>
<button label="" name="freecamera_btn" tool_tip="Objekt ansehen"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_customize.xml b/indra/newview/skins/default/xui/de/floater_customize.xml
index b1e9ef6f19..f45ae53e99 100644
--- a/indra/newview/skins/default/xui/de/floater_customize.xml
+++ b/indra/newview/skins/default/xui/de/floater_customize.xml
@@ -40,17 +40,17 @@
<text name="no modify instructions">
Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
</text>
- <text name="Item Action Label" right="100">
+ <text name="Item Action Label">
Form:
</text>
<button label="Neue Form/Gestalt" label_selected="Neue Form/Gestalt" name="Create New"/>
- <button font="SansSerifSmall" label="Speichern" label_selected="Speichern" left="107" name="Save"/>
- <button font="SansSerifSmall" label="Speichern unter..." label_selected="Speichern unter..." left="194" name="Save As" width="105"/>
+ <button font="SansSerifSmall" label="Speichern" label_selected="Speichern" name="Save"/>
+ <button font="SansSerifSmall" label="Speichern unter..." label_selected="Speichern unter..." name="Save As"/>
</panel>
<panel label="Haut" name="Skin">
<button label="Hautfarbe" label_selected="Hautfarbe" left="2" name="Skin Color" width="92"/>
<button label="Gesichtsdetails" label_selected="Gesichtsdetails" left="2" name="Face Detail" width="92"/>
- <button label="Make-Uup" label_selected="Make-Uup" left="2" name="Makeup" width="92"/>
+ <button label="Make-Up" label_selected="Make-Up" left="2" name="Makeup" width="92"/>
<button label="Körperdetails" label_selected="Körperdetails" left="2" name="Body Detail" width="92"/>
<text name="title">
[DESC]
@@ -105,7 +105,7 @@
In [PATH]
</text>
<text name="not worn instructions">
- Ziehen Sie Haar aus dem Inventar auf Ihren Avatar, um dieses anzulegen. Sie können aber auch eine neue erstellen und diese anlegen.
+ Ziehen Sie Haar aus dem Inventar auf Ihren Avatar, um dieses anzulegen. Sie können aber auch neues Haar erstellen und anlegen.
</text>
<text name="no modify instructions">
Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
@@ -136,7 +136,7 @@
In [PATH]
</text>
<text name="not worn instructions">
- Ziehen Sie neue Augen aus dem Inventar auf Ihren Avatar, um diese anzulegen. Sie können aber auch eine neue erstellen und diese anlegen.
+ Ziehen Sie neue Augen aus dem Inventar auf Ihren Avatar, um diese anzulegen. Sie können aber auch neue Augen erstellen und diese anlegen.
</text>
<text name="no modify instructions">
Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
@@ -177,7 +177,7 @@
In [PATH]
</text>
<text name="not worn instructions">
- Ziehen Sie ein neues Hemd aus dem Inventar auf Ihren Avatar, um dieses anzuziehen. Sie können aber auch eine neue erstellen und diese anlegen.
+ Ziehen Sie ein neues Hemd aus dem Inventar auf Ihren Avatar, um dieses anzuziehen. Sie können aber auch ein neues Hemd erstellen und dieses anlegen.
</text>
<text name="no modify instructions">
Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
@@ -210,7 +210,7 @@
In [PATH]
</text>
<text name="not worn instructions">
- Ziehen Sie eine neue Hose aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch eine neue erstellen und diese anlegen.
+ Ziehen Sie eine neue Hose aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch eine neue erstellen und diese anziehen.
</text>
<text name="no modify instructions">
Sie sind nicht berechtigt, diese Kleidung zu bearbeiten.
@@ -236,7 +236,7 @@
In [PATH]
</text>
<text name="not worn instructions">
- Ziehen Sie neue Schuhe aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch eine neue erstellen und diese anlegen.
+ Ziehen Sie neue Schuhe aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch neue Schuhe erstellen und diese anlegen.
</text>
<button label="Neue Schuhe" label_selected="Neue Schuhe" name="Create New"/>
<text name="no modify instructions">
@@ -269,7 +269,7 @@
In [PATH]
</text>
<text name="not worn instructions">
- Ziehen Sie neue Strümpfe aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch eine neue erstellen und diese anlegen.
+ Ziehen Sie neue Socken aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch neue erstellen und diese anziehen.
</text>
<button label="Neue Socken" label_selected="Neue Socken" name="Create New"/>
<text name="no modify instructions">
@@ -302,7 +302,7 @@
In [PATH]
</text>
<text name="not worn instructions">
- Ziehen Sie eine neue Jacke aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch eine neue erstellen und diese anlegen.
+ Ziehen Sie eine neue Jacke aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch eine neue erstellen und diese anziehen.
</text>
<button label="Neue Jacke" label_selected="Neue Jacke" name="Create New"/>
<text name="no modify instructions">
@@ -336,7 +336,7 @@
In [PATH]
</text>
<text name="not worn instructions">
- Ziehen Sie neue Handschuhe aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch eine neue erstellen und diese anlegen.
+ Ziehen Sie neue Handschuhe aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch neue erstellen und diese anziehen.
</text>
<button label="Neue Handschuhe" label_selected="Neue Handschuhe" name="Create New"/>
<text name="no modify instructions">
@@ -369,7 +369,7 @@
In [PATH]
</text>
<text name="not worn instructions">
- Ziehen Sie ein neues Unterhemd aus dem Inventar auf Ihren Avatar, um dieses anzuziehen. Sie können aber auch eine neue erstellen und diese anlegen.
+ Ziehen Sie ein neues Unterhemd aus dem Inventar auf Ihren Avatar, um dieses anzuziehen. Sie können aber auch ein neues Unterhemd erstellen und dieses anziehen.
</text>
<button label="Neues Unterhemd" label_selected="Neues Unterhemd" name="Create New"/>
<text name="no modify instructions">
@@ -402,7 +402,7 @@
In [PATH]
</text>
<text name="not worn instructions">
- Ziehen Sie eine neue Unterhose aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch eine neue erstellen und diese anlegen.
+ Ziehen Sie eine neue Unterhose aus dem Inventar auf Ihren Avatar, um diese anzuziehen. Sie können aber auch eine neue erstellen und diese anziehen.
</text>
<button label="Neue Unterhose" label_selected="Neue Unterhose" name="Create New"/>
<text name="no modify instructions">
@@ -435,7 +435,7 @@
In [PATH]
</text>
<text name="not worn instructions">
- Ziehen Sie einen neuen Rock aus dem Inventar auf Ihren Avatar, um diesen anzuziehen. Sie können aber auch eine neue erstellen und diese anlegen.
+ Ziehen Sie einen neuen Rock aus dem Inventar auf Ihren Avatar, um diesen anzuziehen. Sie können aber auch einen neuen Rock erstellen und diesen anziehen.
</text>
<button label="Neuer Rock" label_selected="Neuer Rock" name="Create New"/>
<text name="no modify instructions">
@@ -453,7 +453,7 @@
</panel>
<panel label="Tätowierung" name="Tattoo">
<text name="title">
- [BESCHR]
+ Tätowierung
</text>
<text name="title_no_modify">
[BESCHR]: bearbeiten nicht möglich
@@ -487,7 +487,7 @@
</panel>
<panel label="Alpha" name="Alpha">
<text name="title">
- [BESCHR]
+ Alpha
</text>
<text name="title_no_modify">
[BESCHR]: bearbeiten nicht möglich
diff --git a/indra/newview/skins/default/xui/de/floater_event.xml b/indra/newview/skins/default/xui/de/floater_event.xml
index a41ac521a3..cf663e2e1b 100644
--- a/indra/newview/skins/default/xui/de/floater_event.xml
+++ b/indra/newview/skins/default/xui/de/floater_event.xml
@@ -9,6 +9,18 @@
<floater.string name="dont_notify">
Nicht benachrichtigen
</floater.string>
+ <floater.string name="moderate">
+ Moderat
+ </floater.string>
+ <floater.string name="adult">
+ Adult
+ </floater.string>
+ <floater.string name="general">
+ Allgemein
+ </floater.string>
+ <floater.string name="unknown">
+ Unbekannt
+ </floater.string>
<layout_stack name="layout">
<layout_panel name="profile_stack">
<text name="event_name">
@@ -21,12 +33,21 @@
Ausgeführt von:
</text>
<text initial_value="(wird in Datenbank gesucht)" name="event_runby"/>
+ <text name="event_date_label">
+ Datum:
+ </text>
<text name="event_date">
10/10/2010
</text>
+ <text name="event_duration_label">
+ Dauer:
+ </text>
<text name="event_duration">
1 Stunde
</text>
+ <text name="event_covercharge_label">
+ Eintritt:
+ </text>
<text name="event_cover">
Kostenlos
</text>
diff --git a/indra/newview/skins/default/xui/de/floater_god_tools.xml b/indra/newview/skins/default/xui/de/floater_god_tools.xml
index 30b151ca58..2bb123ad51 100644
--- a/indra/newview/skins/default/xui/de/floater_god_tools.xml
+++ b/indra/newview/skins/default/xui/de/floater_god_tools.xml
@@ -7,7 +7,7 @@
</panel>
<panel label="Region" name="region">
<text name="Sim Name:" width="55">
- Sim-Name:
+ Sim:
</text>
<check_box label="Startbereich Einleitung" name="check prelude" tool_tip="Diese Region zu einem Startbereich machen."/>
<check_box label="Sonne fest" name="check fixed sun" tool_tip="Fixiert den Sonnenstand (wie in „Region/Grundstück“ &gt; „Terrain“."/>
@@ -41,7 +41,7 @@
Abrechnungsfaktor:
</text>
<text name="land cost text">
- L$ pro qm:
+ L$ pro m²:
</text>
<button label="Aktualisieren" label_selected="Aktualisieren" name="Refresh" tool_tip="Klicken Sie hier, um die obigen Informationen zu aktualisieren."/>
<button label="Übernehmen" label_selected="Übernehmen" name="Apply" tool_tip="Klicken Sie hier, um die obigen Änderungen zu übernehmen."/>
diff --git a/indra/newview/skins/default/xui/de/floater_im_session.xml b/indra/newview/skins/default/xui/de/floater_im_session.xml
index 7bde3a3453..c69bb600ea 100644
--- a/indra/newview/skins/default/xui/de/floater_im_session.xml
+++ b/indra/newview/skins/default/xui/de/floater_im_session.xml
@@ -3,7 +3,7 @@
<layout_stack name="im_panels">
<layout_panel label="IM Steuerkonsole" name="panel_im_control_panel"/>
<layout_panel>
- <line_editor label="Bis" name="chat_editor"/>
+ <line_editor label="An" name="chat_editor"/>
</layout_panel>
</layout_stack>
</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_moveview.xml b/indra/newview/skins/default/xui/de/floater_moveview.xml
index 03930c8ed6..b978322cef 100644
--- a/indra/newview/skins/default/xui/de/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/de/floater_moveview.xml
@@ -18,6 +18,15 @@
<string name="fly_back_tooltip">
Rückwärts fliegen (Nach-Unten-Pfeil oder S drücken)
</string>
+ <string name="walk_title">
+ Gehen
+ </string>
+ <string name="run_title">
+ Rennen
+ </string>
+ <string name="fly_title">
+ Fliegen
+ </string>
<panel name="panel_actions">
<button label="" label_selected="" name="turn left btn" tool_tip="Nach links (Links-Pfeil oder A drücken)"/>
<button label="" label_selected="" name="turn right btn" tool_tip="Nach rechts (Rechts-Pfeil oder D drücken)"/>
@@ -30,6 +39,5 @@
<button label="" name="mode_walk_btn" tool_tip="Gehen"/>
<button label="" name="mode_run_btn" tool_tip="Rennen"/>
<button label="" name="mode_fly_btn" tool_tip="Fliegen"/>
- <button label="Landen" name="stop_fly_btn" tool_tip="Landen"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/de/floater_pay.xml b/indra/newview/skins/default/xui/de/floater_pay.xml
index fb89eeb600..ec3c45dccf 100644
--- a/indra/newview/skins/default/xui/de/floater_pay.xml
+++ b/indra/newview/skins/default/xui/de/floater_pay.xml
@@ -18,7 +18,7 @@
<button label="10 L$" label_selected="10 L$" name="fastpay 10"/>
<button label="20 L$" label_selected="20 L$" name="fastpay 20"/>
<text name="amount text">
- Oder Betrag auswählen:
+ oder Betrag auswählen:
</text>
<button label="Bezahlen" label_selected="Bezahlen" name="pay btn"/>
<button label="Abbrechen" label_selected="Abbrechen" name="cancel btn"/>
diff --git a/indra/newview/skins/default/xui/de/floater_pay_object.xml b/indra/newview/skins/default/xui/de/floater_pay_object.xml
index ff85efad50..59494cc100 100644
--- a/indra/newview/skins/default/xui/de/floater_pay_object.xml
+++ b/indra/newview/skins/default/xui/de/floater_pay_object.xml
@@ -22,7 +22,7 @@
<button label="10 L$" label_selected="10 L$" name="fastpay 10"/>
<button label="20 L$" label_selected="20 L$" name="fastpay 20"/>
<text name="amount text">
- Oder Betrag auswählen:
+ oder Betrag auswählen:
</text>
<button label="Bezahlen" label_selected="Bezahlen" name="pay btn"/>
<button label="Abbrechen" label_selected="Abbrechen" name="cancel btn" width="76"/>
diff --git a/indra/newview/skins/default/xui/de/floater_report_abuse.xml b/indra/newview/skins/default/xui/de/floater_report_abuse.xml
index 02be3b3ed9..49e6d031d6 100644
--- a/indra/newview/skins/default/xui/de/floater_report_abuse.xml
+++ b/indra/newview/skins/default/xui/de/floater_report_abuse.xml
@@ -23,7 +23,7 @@
{128.1, 128.1, 15.4}
</text>
<text bottom_delta="-38" height="32" name="select_object_label">
- Klicken Sie auf die Schaltfläche, dann auf das entsprechende
+ Klicken Sie die Schaltfläche, dann das entsprechende
Objekt:
</text>
<button label="" label_selected="" name="pick_btn" tool_tip="Objektauswahl – Wählen Sie ein Objekt als Thema dieses Berichts aus"/>
diff --git a/indra/newview/skins/default/xui/de/floater_sell_land.xml b/indra/newview/skins/default/xui/de/floater_sell_land.xml
index 09eae40477..8f67fae464 100644
--- a/indra/newview/skins/default/xui/de/floater_sell_land.xml
+++ b/indra/newview/skins/default/xui/de/floater_sell_land.xml
@@ -21,7 +21,7 @@
1. Preis festlegen:
</text>
<text name="price_text" >
- Prei angeben
+ Preis eingeben
</text>
<text name="price_ld">
L$
@@ -58,7 +58,7 @@
<text name="nag_message_label">
ACHTUNG: Verkäufe sind endgültig.
</text>
- <button label="Land zum Verkauf freigeben" name="sell_btn" width="180"/>
+ <button label="Zum Verkauf freigeben" name="sell_btn" width="180"/>
<button label="Abbrechen" name="cancel_btn"/>
</panel>
</scroll_container>
diff --git a/indra/newview/skins/default/xui/de/floater_telehub.xml b/indra/newview/skins/default/xui/de/floater_telehub.xml
index 4d3c96bc87..83d37b2ce4 100644
--- a/indra/newview/skins/default/xui/de/floater_telehub.xml
+++ b/indra/newview/skins/default/xui/de/floater_telehub.xml
@@ -21,7 +21,7 @@
<button label="Spawn hinzufügen" name="add_spawn_point_btn"/>
<button label="Spawn entfernen" name="remove_spawn_point_btn"/>
<text name="spawn_point_help">
- Wählen Sie ein Objekt und klicken zur Positionsangabe auf Spawn hinzufügen.
+ Wählen Sie ein Objekt und klicken Sie zur Positionsangabe auf Spawn hinzufügen.
Anschließend können Sie das Objekt verschieben oder löschen.
Positionsangaben sind relativ zum Telehub-Mittelpunkt.
Wählen Sie ein Objekt aus der Liste aus, um dieses inworld zu markieren.
diff --git a/indra/newview/skins/default/xui/de/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/de/floater_texture_ctrl.xml
index 4e2d8a9274..d20ab8d1c3 100644
--- a/indra/newview/skins/default/xui/de/floater_texture_ctrl.xml
+++ b/indra/newview/skins/default/xui/de/floater_texture_ctrl.xml
@@ -4,7 +4,7 @@
Zum Auswählen eines Bildes hier klicken
</string>
<text name="Multiple">
- Mehrer Texturen
+ Mehrere Texturen
</text>
<text name="unknown">
Größe: [DIMENSIONS]
diff --git a/indra/newview/skins/default/xui/de/floater_tools.xml b/indra/newview/skins/default/xui/de/floater_tools.xml
index b5c02cce0b..4efe0dd7f3 100644
--- a/indra/newview/skins/default/xui/de/floater_tools.xml
+++ b/indra/newview/skins/default/xui/de/floater_tools.xml
@@ -64,12 +64,12 @@
<radio_item label="Fläche auswählen" name="radio select face"/>
</radio_group>
<check_box label="Verknüpfte Teile bearbeiten" name="checkbox edit linked parts"/>
- <text name="RenderingCost" tool_tip="Zeigt die errechneten Wiedergabekosten für diesen Objekt">
+ <text name="RenderingCost" tool_tip="Zeigt die errechneten Wiedergabekosten für dieses Objekt">
þ: [COUNT]
</text>
<check_box label="Beide Seiten dehnen" name="checkbox uniform"/>
<check_box initial_value="true" label="Texturen dehnen" name="checkbox stretch textures"/>
- <check_box initial_value="true" label="An Raster ausrichten" name="checkbox snap to grid"/>
+ <check_box initial_value="true" label="An Raster ausrichten" name="checkbox snap to grid" top_pad="10"/>
<combo_box name="combobox grid mode" tool_tip="Wählen Sie das Rasterlineal aus, um das Objekt zu positionieren.">
<combo_box.item label="Globales Raster" name="World"/>
<combo_box.item label="Lokales Raster" name="Local"/>
@@ -196,7 +196,7 @@
</combo_box>
<check_box label="Zum Verkauf:" name="checkbox for sale"/>
<combo_box name="sale type">
- <combo_box.item label="Kopieren" name="Copy"/>
+ <combo_box.item label="Kopie" name="Copy"/>
<combo_box.item label="Inhalt" name="Contents"/>
<combo_box.item label="Original" name="Original"/>
</combo_box>
@@ -364,14 +364,14 @@
Objekteigenschaften bearbeiten:
</text>
<check_box label="Flexibler Pfad" name="Flexible1D Checkbox Ctrl" tool_tip="Bewirkt, dass sich das Objekt um die Z-Achse biegen kann. (Nur Client-Seite)"/>
- <spinner label="Weichheit" name="FlexNumSections"/>
- <spinner label="Schwerkraft" name="FlexGravity"/>
- <spinner label="Ziehen" name="FlexFriction"/>
- <spinner label="Wind" name="FlexWind"/>
- <spinner label="Spannung" name="FlexTension"/>
- <spinner label="Erzwingen X" name="FlexForceX"/>
- <spinner label="Erzwingen Y" name="FlexForceY"/>
- <spinner label="Erzwingen Z" name="FlexForceZ"/>
+ <spinner label="Weichheit" name="FlexNumSections" width="140"/>
+ <spinner label="Schwerkraft" name="FlexGravity" width="140"/>
+ <spinner label="Ziehen" name="FlexFriction" width="140"/>
+ <spinner label="Wind" name="FlexWind" width="140"/>
+ <spinner label="Spannung" name="FlexTension" width="140"/>
+ <spinner label="Erzwingen X" name="FlexForceX" width="140"/>
+ <spinner label="Erzwingen Y" name="FlexForceY" width="140"/>
+ <spinner label="Erzwingen Z" name="FlexForceZ" width="140"/>
<check_box label="Licht" name="Light Checkbox Ctrl" tool_tip="Verursacht, dass Objekt Licht emittiert"/>
<color_swatch label="" name="colorswatch" tool_tip="Klicken Sie hier, um die Farbauswahl zu öffnen"/>
<texture_picker label="" name="light texture control" tool_tip="Klicken, um eine Bild auszuwählen (dieser Effekt funktioniert nur, wenn zeitversetzte Wiedergabe aktiviert ist)"/>
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 f978042cc2..aa582838a4 100644
--- a/indra/newview/skins/default/xui/de/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/de/floater_voice_controls.xml
@@ -16,6 +16,9 @@
Es ist niemand in der Nähe, der Voice aktiviert hat.
</string>
<layout_stack name="my_call_stack">
+ <layout_panel name="my_panel">
+ <text name="user_text" value="Mein Avatar:"/>
+ </layout_panel>
<layout_panel name="leave_call_btn_panel">
<button label="Anruf beenden" name="leave_call_btn"/>
</layout_panel>
diff --git a/indra/newview/skins/default/xui/de/floater_water.xml b/indra/newview/skins/default/xui/de/floater_water.xml
index ecd6d7ff3e..097a60a444 100644
--- a/indra/newview/skins/default/xui/de/floater_water.xml
+++ b/indra/newview/skins/default/xui/de/floater_water.xml
@@ -10,7 +10,7 @@
<button label="Speichern" label_selected="Speichern" name="WaterSavePreset"/>
<button label="Löschen" label_selected="Löschen" name="WaterDeletePreset"/>
<tab_container name="Water Tabs">
- <panel label="Einstellungen" name="Settings">
+ <panel label="EINSTELLUNGEN" name="Settings">
<text name="BHText">
Wassertrübungsfarbe
</text>
@@ -44,7 +44,7 @@
Mischungsmultiplikator
</text>
</panel>
- <panel label="Bild" name="Waves">
+ <panel label="BILD" name="Waves">
<text name="BHText">
Richtung große Welle
</text>
diff --git a/indra/newview/skins/default/xui/de/floater_windlight_options.xml b/indra/newview/skins/default/xui/de/floater_windlight_options.xml
index 3e06d8f06b..5b59336f9d 100644
--- a/indra/newview/skins/default/xui/de/floater_windlight_options.xml
+++ b/indra/newview/skins/default/xui/de/floater_windlight_options.xml
@@ -8,7 +8,7 @@
<button label="Löschen" label_selected="Löschen" name="WLDeletePreset"/>
<button label="Tageszyklus-Editor" label_selected="Tageszyklus-Editor" name="WLDayCycleMenuButton"/>
<tab_container name="WindLight Tabs">
- <panel label="Atmosphäre" name="Atmosphere">
+ <panel label="ATMOSPHÄRE" name="Atmosphere">
<text name="BHText">
Horizontfarbe
</text>
@@ -62,7 +62,7 @@
</text>
<button label=" ?" name="WLMaxAltitudeHelp"/>
</panel>
- <panel label="Licht" name="Lighting">
+ <panel label="LICHT" name="Lighting">
<text name="SLCText">
Sonne/Mond-Farbe
</text>
@@ -118,7 +118,7 @@
</text>
<button label=" ?" name="WLStarBrightnessHelp"/>
</panel>
- <panel label="Wolken" name="Clouds">
+ <panel label="WOLKEN" name="Clouds">
<text name="WLCloudColorText">
Wolkenfarbe
</text>
diff --git a/indra/newview/skins/default/xui/de/floater_world_map.xml b/indra/newview/skins/default/xui/de/floater_world_map.xml
index 7d8a634452..a80be2b594 100644
--- a/indra/newview/skins/default/xui/de/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/de/floater_world_map.xml
@@ -5,7 +5,8 @@
Legende
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_2">
<button label="Meine Position" label_selected="Wo bin ich?" name="Show My Location" tool_tip="Karte auf Position meines Avatars zentrieren"/>
<text name="me_label">
Ich
@@ -37,7 +38,7 @@
</text>
<check_box label="PG" name="event_chk"/>
<text name="pg_label">
- Allgemein
+ Generell
</text>
<check_box initial_value="true" label="Mature" name="event_mature_chk"/>
<text name="mature_label">
@@ -48,12 +49,14 @@
Adult
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_3">
<text name="find_on_map_label">
Auf Karte anzeigen
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_4">
<combo_box label="Online-Freunde" name="friend combo" tool_tip="Freunde auf Karte anzeigen">
<combo_box.item label="Meine Freunde: Online" name="item1"/>
</combo_box>
@@ -71,12 +74,14 @@
<button font="SansSerifSmall" label="SLurl kopieren" name="copy_slurl" tool_tip="Kopiert die aktuelle Position als SLurl zur Verwendung im Web."/>
<button label="Auswahl anzeigen" label_selected="Ziel anzeigen" name="Show Destination" tool_tip="Karte auf ausgewählte Position zentrieren"/>
</panel>
- <panel>
+ <panel
+ name="layout_panel_5">
<text name="zoom_label">
Zoom
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_6">
<slider label="Zoom" name="zoom slider"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/de/menu_inventory_add.xml b/indra/newview/skins/default/xui/de/menu_inventory_add.xml
index 448b1d80bf..531edc02f1 100644
--- a/indra/newview/skins/default/xui/de/menu_inventory_add.xml
+++ b/indra/newview/skins/default/xui/de/menu_inventory_add.xml
@@ -20,7 +20,7 @@
<menu_item_call label="Neue Handschuhe" name="New Gloves"/>
<menu_item_call label="Neues Unterhemd" name="New Undershirt"/>
<menu_item_call label="Neue Unterhose" name="New Underpants"/>
- <menu_item_call label="Alpha: Neu" name="New Alpha"/>
+ <menu_item_call label="Neues Alpha" name="New Alpha"/>
<menu_item_call label="Neue Tätowierung" name="New Tattoo"/>
</menu>
<menu label="Neue Körperteile" name="New Body Parts">
diff --git a/indra/newview/skins/default/xui/de/menu_object.xml b/indra/newview/skins/default/xui/de/menu_object.xml
index 320f93c796..8bb7b66482 100644
--- a/indra/newview/skins/default/xui/de/menu_object.xml
+++ b/indra/newview/skins/default/xui/de/menu_object.xml
@@ -5,6 +5,7 @@
<menu_item_call label="Bauen" name="Build"/>
<menu_item_call label="Öffnen" name="Open"/>
<menu_item_call label="Hier sitzen" name="Object Sit"/>
+ <menu_item_call label="Aufstehen" name="Object Stand Up"/>
<menu_item_call label="Objektprofil" name="Object Inspect"/>
<menu_item_call label="Hineinzoomen" name="Zoom In"/>
<context_menu label="Anziehen ▶" name="Put On">
@@ -18,6 +19,7 @@
<menu_item_call label="Zurückgeben" name="Return..."/>
<menu_item_call label="Löschen" name="Delete"/>
</context_menu>
+ <menu_item_call label="Kaufen" name="Pie Object Bye"/>
<menu_item_call label="Nehmen" name="Pie Object Take"/>
<menu_item_call label="Kopie nehmen" name="Take Copy"/>
<menu_item_call label="Bezahlen" name="Pay..."/>
diff --git a/indra/newview/skins/default/xui/de/menu_people_nearby.xml b/indra/newview/skins/default/xui/de/menu_people_nearby.xml
index a69ef3891a..1db964357f 100644
--- a/indra/newview/skins/default/xui/de/menu_people_nearby.xml
+++ b/indra/newview/skins/default/xui/de/menu_people_nearby.xml
@@ -5,6 +5,7 @@
<menu_item_call label="Freund entfernen" name="Remove Friend"/>
<menu_item_call label="IM" name="IM"/>
<menu_item_call label="Anrufen" name="Call"/>
+ <menu_item_call label="Karte" name="Map"/>
<menu_item_call label="Teilen" name="Share"/>
<menu_item_call label="Bezahlen" name="Pay"/>
<menu_item_check label="Ignorieren/Freischalten" name="Block/Unblock"/>
diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml
index a04532376c..c628cb4b61 100644
--- a/indra/newview/skins/default/xui/de/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/de/menu_viewer.xml
@@ -43,6 +43,8 @@
<menu_item_check label="Strahlen" name="beacons"/>
<menu_item_check label="Grundstücksgrenzen" name="Property Lines"/>
<menu_item_check label="Landeigentümer" name="Land Owners"/>
+ <menu_item_check label="Koordinaten" name="Coordinates"/>
+ <menu_item_check label="Parzelleneigenschaften" name="Parcel Properties"/>
</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"/>
@@ -81,7 +83,8 @@
<menu_item_call label="Fokus auf Auswahl" name="Focus on Selection"/>
<menu_item_call label="Auf Auswahl zoomen" name="Zoom to Selection"/>
<menu label="Objekt" name="Object">
- <menu_item_call label="Kaufen" name="Menu Object Take"/>
+ <menu_item_call label="Kaufen" name="Menu Object Buy"/>
+ <menu_item_call label="Nehmen" name="Menu Object Take"/>
<menu_item_call label="Kopie nehmen" name="Take Copy"/>
<menu_item_call label="Objekt wieder in meinem Inventar speichern" name="Save Object Back to My Inventory"/>
<menu_item_call label="Wieder in Objektinhalt speichern" name="Save Object Back to Object Contents"/>
@@ -159,7 +162,7 @@
<menu_item_check label="Partikel" name="Particles"/>
<menu_item_check label="Unebenheiten" name="Bump"/>
</menu>
- <menu label="Rederning-Eigenschaften" name="Rendering Features">
+ <menu label="Rendering-Eigenschaften" name="Rendering Features">
<menu_item_check label="UI" name="UI"/>
<menu_item_check label="Ausgewählt" name="Selected"/>
<menu_item_check label="Farblich hervorgehoben" name="Highlighted"/>
@@ -169,7 +172,7 @@
<menu_item_check label="FRInfo testen" name="Test FRInfo"/>
<menu_item_check label="Flexible Objekte" name="Flexible Objects"/>
</menu>
- <menu_item_check label="Mehrer Threads ausführen" name="Run Multiple Threads"/>
+ <menu_item_check label="Mehrere Threads ausführen" name="Run Multiple Threads"/>
<menu_item_call label="Gruppen-Cache löschen" name="ClearGroupCache"/>
<menu_item_check label="Weiche Mausbewegung" name="Mouse Smoothing"/>
<menu label="Tastaturkürzel" name="Shortcuts">
@@ -405,7 +408,7 @@
<menu_item_call label="Offizielles Linden-Blog" name="Official Linden Blog"/>
<menu_item_call label="Scripting-Portal" name="Scripting Portal"/>
<menu label="Fehlermeldungen" name="Bug Reporting">
- <menu_item_call label="Allgemeine Probleme-Tracker" name="Public Issue Tracker"/>
+ <menu_item_call label="Allgemeiner Probleme-Tracker" name="Public Issue Tracker"/>
<menu_item_call label="Hilfe zum Allgemeinen Probleme-Tracker" name="Publc Issue Tracker Help"/>
<menu_item_call label="Fehlermeldungs-1x1" name="Bug Reporing 101"/>
<menu_item_call label="Sicherheitsfragen" name="Security Issues"/>
diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml
index da4a96962e..acfbee7f36 100644
--- a/indra/newview/skins/default/xui/de/notifications.xml
+++ b/indra/newview/skins/default/xui/de/notifications.xml
@@ -207,15 +207,15 @@ Bitte laden Sie innerhalb von 48 Stunden Mitglieder in Ihre Gruppe ein.
Wählen Sie eine bestimmte Person aus, wenn Sie für 0 L$ verkaufen.
</notification>
<notification name="ConfirmLandSaleChange">
- Die ausgewählten [LAND_SIZE] qm Land werden zum Verkauf freigegeben.
-Der Verkaufspreis beträgt [SALE_PRICE] L$ und wird automatisch für den Verkauf an [NAME] autorisiert.
+ Die ausgewählten [LAND_SIZE] m² Land werden zum Verkauf freigegeben.
+Der Verkaufspreis beträgt [SALE_PRICE] L$. Der Verkauf an [NAME] wird zu diesem Preis freigegeben.
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
</notification>
<notification name="ConfirmLandSaleToAnyoneChange">
ACHTUNG: Wenn Sie auf An jeden verkaufen klicken, kann jeder in [SECOND_LIFE] Ihr Land kaufen, auch Einwohner in anderen Regionen.
Die ausgewählten [LAND_SIZE] m² Land werden zum Verkauf freigegeben.
-Der Verkaufspreis beträgt [SALE_PRICE] L$ und wird automatisch für den Verkauf an [NAME] autorisiert.
+Der Verkaufspreis beträgt [SALE_PRICE] L$. Der Verkauf an [NAME] wird zu diesem Preis freigegeben.
<usetemplate name="okcancelbuttons" notext="Abbrechen" yestext="OK"/>
</notification>
<notification name="ReturnObjectsDeededToGroup">
@@ -455,7 +455,6 @@ Das Objekt ist möglicherweise außer Reichweite oder wurde gelöscht.
<notification name="UnsupportedHardware">
Ihr Computer entspricht leider nicht den Mindestanforderungen von [APP_NAME]. Dies kann zur Folge haben, dass das Programm nicht sehr gut ausgeführt wird. Bei nicht unterstützten Systemkonfigurationen kann Ihnen unser [SUPPORT_SITE] leider nicht helfen.
-MINDESTANF.
Weitere Informationen finden Sie auf [_URL].
<url name="url" option="0">
http://secondlife.com/support/sysreqs.php?lang=de
@@ -1741,7 +1740,7 @@ Inventarobjekt(e) verschieben?
<usetemplate ignoretext="Bestätigen, bevor Sitzung beendet wird" name="okcancelignore" notext="Nicht beenden" yestext="Beenden"/>
</notification>
<notification name="HelpReportAbuseEmailLL">
- Mit dieser Funktion können Sie Verstöße gegen die [http://secondlife.com/corporate/tos.php Servicebedingungen (EN)] and [http://secondlife.com/corporate/cs.php Community-Standards] melden.
+ Mit dieser Funktion können Sie Verstöße gegen die [http://secondlife.com/corporate/tos.php Servicebedingungen (EN)] und [http://secondlife.com/corporate/cs.php Community-Standards] melden.
Alle gemeldeten Verstöße werden bearbeitet.
</notification>
@@ -2062,9 +2061,9 @@ 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 „Landmarken“ auswählen.
-Klicken Sie auf eine Landmarke, um diese auszuwählen. Klicken Sie anschließend auf „Teleport“ unten in der Konsole.
-(Sie können auch auf die Landmarke doppelt klicken oder mit rechts auf die Landmarke klicken und dann „Teleport“ auswählen).
+ 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).
</notification>
<notification name="TeleportToPerson">
Sie können Einwohner wie „[NAME]“ kontaktieren, wenn Sie die Tafel „Leute“ auf der rechten Seite Ihres Bildschirms öffnen.
@@ -2079,7 +2078,7 @@ Wählen Sie eine kleinere Landfläche.
Einige Begriffe in Ihrer Suchanfrage wurden ausgeschlossen, aufgrund von in den Community Standards definierten Inhaltsbeschränkungen.
</notification>
<notification name="NoContentToSearch">
- Bitte wählen Sie mindestens eine Inhaltsart für die Suche aus (Allgemein, Moderat oder Adult).
+ Bitte wählen Sie mindestens eine Inhaltsart für die Suche aus (Generell, Moderat oder Adult).
</notification>
<notification name="GroupVote">
[NAME] hat eine Abstimmung vorgeschlagen über:
@@ -2353,6 +2352,12 @@ Versuchen Sie es in einigen Minuten erneut.
<notification name="FriendshipDeclined">
[NAME] hat Ihr Freundschaftsangebot abgelehnt.
</notification>
+ <notification name="FriendshipAcceptedByMe">
+ Ihr Freundschaftsangebot wurde angeommen.
+ </notification>
+ <notification name="FriendshipDeclinedByMe">
+ Ihr Freundschaftsangebot wurde abgelehnt.
+ </notification>
<notification name="OfferCallingCard">
[FIRST] [LAST] bietet Ihnen ihre/seine Visitenkarte an.
Ihrem Inventar wird ein Lesezeichen erstellt, damit Sie diesem Einwohner einfach eine IM schicken können.
@@ -2562,7 +2567,7 @@ Diese werden für ein paar Sekunden sicherheitshalber gesperrt.
</notification>
<notification name="ConfirmCloseAll">
Möchten Sie wirklich alle IMs schließen?
- <usetemplate name="okcancelignore" notext="Abbrechen" yestext="OK"/>
+ <usetemplate ignoretext="Bestätigen, bevor ich alle IMs schließe." name="okcancelignore" notext="Abbrechen" yestext="OK"/>
</notification>
<notification name="AttachmentSaved">
Der Anhang wurde gespeichert.
diff --git a/indra/newview/skins/default/xui/de/panel_classified_info.xml b/indra/newview/skins/default/xui/de/panel_classified_info.xml
index d824eff338..2bbbaf2537 100644
--- a/indra/newview/skins/default/xui/de/panel_classified_info.xml
+++ b/indra/newview/skins/default/xui/de/panel_classified_info.xml
@@ -4,7 +4,7 @@
Moderat
</panel.string>
<panel.string name="type_pg">
- Allgemeiner Inhalt
+ Genereller Inhalt
</panel.string>
<panel.string name="l$_price">
[PRICE] L$
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 46bd1d9f4d..90b06a29bc 100644
--- a/indra/newview/skins/default/xui/de/panel_edit_skin.xml
+++ b/indra/newview/skins/default/xui/de/panel_edit_skin.xml
@@ -8,7 +8,7 @@
<accordion name="wearable_accordion">
<accordion_tab name="skin_color_tab" title="Hautfarbe"/>
<accordion_tab name="skin_face_tab" title="Gesichtsdetails"/>
- <accordion_tab name="skin_makeup_tab" title="Make-Uup"/>
+ <accordion_tab name="skin_makeup_tab" title="Make-Up"/>
<accordion_tab name="skin_body_tab" title="Körperdetails"/>
</accordion>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_group_general.xml b/indra/newview/skins/default/xui/de/panel_group_general.xml
index 0d3c082a16..f300679e16 100644
--- a/indra/newview/skins/default/xui/de/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/de/panel_group_general.xml
@@ -47,7 +47,7 @@ Bewegen Sie die Maus über die Optionen, um weitere Informationen anzuzeigen.
<check_box label="Kosten für Beitritt" name="check_enrollment_fee" tool_tip="Festlegen, ob Neumitglieder eine Beitrittsgebühr zahlen müssen"/>
<spinner label="L$" name="spin_enrollment_fee" tool_tip="Wenn Beitrittsgebühr aktiviert ist, müssen neue Mitglieder diesen Betrag zahlen."/>
<combo_box name="group_mature_check" tool_tip="Legt fest, ob Ihre Gruppeninformation moderate Inhalte enthält">
- <combo_box.item label="Allgemeiner Inhalt" name="pg"/>
+ <combo_box.item label="Genereller Inhalt" name="pg"/>
<combo_box.item label="Moderater Inhalt" name="mature"/>
</combo_box>
<check_box initial_value="true" label="In Suche anzeigen" name="show_in_group_list" tool_tip="Diese Gruppe in Suchergebnissen anzeigen"/>
diff --git a/indra/newview/skins/default/xui/de/panel_group_invite.xml b/indra/newview/skins/default/xui/de/panel_group_invite.xml
index fb357093bb..dfc1e26750 100644
--- a/indra/newview/skins/default/xui/de/panel_group_invite.xml
+++ b/indra/newview/skins/default/xui/de/panel_group_invite.xml
@@ -10,7 +10,7 @@
Einige der ausgewählten Einwohner sind bereits Gruppenmitglieder und haben aus diesem Grund keine Einladung erhalten.
</panel.string>
<text name="help_text" top="10">
- Sie können mehrere Einwohner auswählen, um diese in Ihre Gruppe einzuladen. Klicken Sie hierzu auf „Einwohnerliste öffnen“.
+ Sie können mehrere Einwohner Ihre Gruppe einladen. Klicken Sie hierzu auf „Einwohnerliste öffnen“.
</text>
<button label="Einwohnerliste öffnen" name="add_button" tool_tip="" top_delta="62"/>
<name_list name="invitee_list" tool_tip="Halten Sie zur Mehrfachauswahl die Strg-Taste gedrückt und klicken Sie auf die Namen."/>
diff --git a/indra/newview/skins/default/xui/de/panel_im_control_panel.xml b/indra/newview/skins/default/xui/de/panel_im_control_panel.xml
index 0dca272633..abf8011d9d 100644
--- a/indra/newview/skins/default/xui/de/panel_im_control_panel.xml
+++ b/indra/newview/skins/default/xui/de/panel_im_control_panel.xml
@@ -14,7 +14,7 @@
<layout_panel name="share_btn_panel">
<button label="Teilen" name="share_btn"/>
</layout_panel>
- <layout_panel name="share_btn_panel">
+ <layout_panel name="pay_btn_panel">
<button label="Bezahlen" name="pay_btn"/>
</layout_panel>
<layout_panel name="call_btn_panel">
diff --git a/indra/newview/skins/default/xui/de/panel_main_inventory.xml b/indra/newview/skins/default/xui/de/panel_main_inventory.xml
index eed365a1bb..7d57a3b3f2 100644
--- a/indra/newview/skins/default/xui/de/panel_main_inventory.xml
+++ b/indra/newview/skins/default/xui/de/panel_main_inventory.xml
@@ -44,7 +44,7 @@
<menu_item_call label="Neue Handschuhe" name="New Gloves"/>
<menu_item_call label="Neues Unterhemd" name="New Undershirt"/>
<menu_item_call label="Neue Unterhose" name="New Underpants"/>
- <menu_item_call label="Alpha: Neu" name="New Alpha"/>
+ <menu_item_call label="Neues Alpha" name="New Alpha"/>
<menu_item_call label="Neue Tätowierung" name="New Tattoo"/>
</menu>
<menu label="Neue Körperteile" name="New Body Parts">
diff --git a/indra/newview/skins/default/xui/de/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/de/panel_nearby_chat_bar.xml
index 5e6e460c65..08cc0b0ec8 100644
--- a/indra/newview/skins/default/xui/de/panel_nearby_chat_bar.xml
+++ b/indra/newview/skins/default/xui/de/panel_nearby_chat_bar.xml
@@ -1,11 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="chat_bar">
- <string name="min_width">
- 192
- </string>
- <string name="max_width">
- 320
- </string>
<line_editor label="Zum Chatten hier klicken." name="chat_box" tool_tip="Eingabe drücken, um zu sprechen, Strg-Eingabe drücken, um zu Rufen."/>
<button name="show_nearby_chat" tool_tip="Protokoll des Chats in der Nähe anzeigen/ausblenden"/>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_nearby_media.xml b/indra/newview/skins/default/xui/de/panel_nearby_media.xml
index ec2ad42fa1..2d97a25fa9 100644
--- a/indra/newview/skins/default/xui/de/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/de/panel_nearby_media.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="nearby_media">
- <string name="media_item_count_format">
- (%ls Medien-Objekte)
- </string>
<string name="empty_item_text">
&lt;leer&gt;
</string>
diff --git a/indra/newview/skins/default/xui/de/panel_online_status_toast.xml b/indra/newview/skins/default/xui/de/panel_online_status_toast.xml
new file mode 100644
index 0000000000..7c7448c061
--- /dev/null
+++ b/indra/newview/skins/default/xui/de/panel_online_status_toast.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Freunde_online_Status" name="friend_online_status"/>
diff --git a/indra/newview/skins/default/xui/de/panel_people.xml b/indra/newview/skins/default/xui/de/panel_people.xml
index a119c86b47..cf61f0870d 100644
--- a/indra/newview/skins/default/xui/de/panel_people.xml
+++ b/indra/newview/skins/default/xui/de/panel_people.xml
@@ -21,7 +21,7 @@
<accordion_tab name="tab_all" title="Alle"/>
</accordion>
<text name="no_friends_msg">
- Verwenden Sie [secondlife:///app/search/people die globale Suche], um Freunde hinzuzufügen. Oder klicken Sie auf einen Einwohner und fügen Sie diesen als Freund hinzu.
+ Verwenden Sie [secondlife:///app/search/people die globale Suche], um Freunde hinzuzufügen. Oder klicken Sie mit rechts auf einen Einwohner und fügen Sie diesen als Freund hinzu.
Wenn Sie nach Orten suchen, an denen sich Leute befinden, verwenden Sie [secondlife:///app/worldmap die Karte].
</text>
<panel label="bottom_panel" name="bottom_panel">
diff --git a/indra/newview/skins/default/xui/de/panel_place_profile.xml b/indra/newview/skins/default/xui/de/panel_place_profile.xml
index fd4da94edc..3af4ee5a1e 100644
--- a/indra/newview/skins/default/xui/de/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/de/panel_place_profile.xml
@@ -68,7 +68,7 @@
<text name="maturity_value" value="unbekannt"/>
<accordion name="advanced_info_accordion">
<accordion_tab name="parcel_characteristics_tab" title="Parzelle">
- <panel>
+ <panel name="parcel_characteristics_panel">
<text name="rating_label" value="Einstufung:"/>
<text name="rating_value" value="unbekannt"/>
<text name="voice_label" value="Voice:"/>
@@ -87,7 +87,7 @@
</panel>
</accordion_tab>
<accordion_tab name="region_information_tab" title="Region">
- <panel>
+ <panel name="region_information_panel">
<text name="region_name_label" value="Region:"/>
<text name="region_name" value="Mooseland"/>
<text name="region_type_label" value="Typ:"/>
@@ -104,7 +104,7 @@
</panel>
</accordion_tab>
<accordion_tab name="estate_information_tab" title="Grundstück">
- <panel>
+ <panel name="estate_information_panel">
<text name="estate_name_label" value="Grundstück:"/>
<text name="estate_rating_label" value="Einstufung:"/>
<text name="estate_owner_label" value="Eigentümer:"/>
@@ -112,7 +112,7 @@
</panel>
</accordion_tab>
<accordion_tab name="sales_tab" title="Zum Verkauf">
- <panel>
+ <panel name="sales_panel">
<text name="sales_price_label" value="Preis:"/>
<text name="area_label" value="Gebiet:"/>
<text name="traffic_label" value="Traffic:"/>
diff --git a/indra/newview/skins/default/xui/de/panel_places.xml b/indra/newview/skins/default/xui/de/panel_places.xml
index 7359a4fda4..2215ea3988 100644
--- a/indra/newview/skins/default/xui/de/panel_places.xml
+++ b/indra/newview/skins/default/xui/de/panel_places.xml
@@ -7,9 +7,9 @@
<button label="Teleportieren" name="teleport_btn" tool_tip="Zu ausgewähltem Standort teleportieren"/>
<button label="Karte" name="map_btn" width="60"/>
<button label="Bearbeiten" name="edit_btn" tool_tip="Landmarken-Info bearbeiten"/>
- <button name="overflow_btn" tool_tip="Zusätzliche Optionen anzeigen"/>
- <button label="Schließen" name="close_btn"/>
- <button label="Abbrechen" name="cancel_btn" width="66"/>
+ <button label="▼" name="overflow_btn" tool_tip="Zusätzliche Optionen anzeigen"/>
<button label="Speichern" name="save_btn" width="66"/>
+ <button label="Abbrechen" name="cancel_btn" width="66"/>
+ <button label="Schließen" name="close_btn"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml
index df1bbd5d52..78c495e377 100644
--- a/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/de/panel_preferences_advanced.xml
@@ -16,7 +16,7 @@
<check_box label="Avatarlippen beim Sprechen bewegen" name="enable_lip_sync"/>
<check_box label="Blasen-Chat" name="bubble_text_chat"/>
<slider label="Deckkraft" label_width="66" name="bubble_chat_opacity"/>
- <color_swatch name="background" tool_tip="Farbe für Blasen-Chat auswählen"/>
+ <color_swatch name="background" tool_tip="Farbe für Blasen-Chat auswählen" left_pad="35"/>
<check_box label="Skript-Fehler anzeigen:" name="show_script_errors"/>
<radio_group name="show_location">
<radio_item label="Chat in der Nähe" name="0"/>
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 f580691c0d..626e35dd0b 100644
--- a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml
@@ -1,10 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Text-Chat" name="chat">
+ <text name="font_size">
+ Schriftgröße:
+ </text>
<radio_group name="chat_font_size">
<radio_item label="Klein" name="radio" value="0"/>
<radio_item label="Mittel" name="radio2" value="1"/>
<radio_item label="Groß" name="radio3" value="2"/>
</radio_group>
+ <text name="font_colors">
+ Schriftfarbe:
+ </text>
<color_swatch label="Sie" name="user"/>
<text name="text_box1">
Ich
diff --git a/indra/newview/skins/default/xui/de/panel_preferences_general.xml b/indra/newview/skins/default/xui/de/panel_preferences_general.xml
index bd9e10b641..b59a779853 100644
--- a/indra/newview/skins/default/xui/de/panel_preferences_general.xml
+++ b/indra/newview/skins/default/xui/de/panel_preferences_general.xml
@@ -20,13 +20,13 @@
(Erfordert Neustart)
</text>
<text name="maturity_desired_prompt" width="350">
- Ich möchte auf Inhalt mit folgender Alterseinstufung zugreifen:
+ Ich möchte auf Inhalt mit folgender Einstufung zugreifen:
</text>
<text name="maturity_desired_textbox"/>
<combo_box name="maturity_desired_combobox">
- <combo_box.item label="Allgemein, Moderat, Adult" name="Desired_Adult"/>
- <combo_box.item label="Allgemein und Moderat" name="Desired_Mature"/>
- <combo_box.item label="Allgemein" name="Desired_PG"/>
+ <combo_box.item label="Generell, Moderat, Adult" name="Desired_Adult"/>
+ <combo_box.item label="Generell und Moderat" name="Desired_Mature"/>
+ <combo_box.item label="Generell" name="Desired_PG"/>
</combo_box>
<text name="start_location_textbox">
Startstandort:
diff --git a/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml
index e7bb768925..16b4598486 100644
--- a/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml
+++ b/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml
@@ -55,7 +55,7 @@
<text name="AvatarRenderingText">
Avatar-Darstellung:
</text>
- <check_box initial_value="true" label="Scheinavatare" name="AvatarImpostors"/>
+ <check_box initial_value="true" label="Vereinfachte Avatardarstellung" name="AvatarImpostors"/>
<check_box initial_value="true" label="Hardware-Hautberechnung" name="AvatarVertexProgram"/>
<check_box initial_value="true" label="Avatar-Kleidung" name="AvatarCloth"/>
<slider label="Sichtweite:" name="DrawDistance"/>
diff --git a/indra/newview/skins/default/xui/de/panel_preferences_sound.xml b/indra/newview/skins/default/xui/de/panel_preferences_sound.xml
index b01db30c82..96a86ed85d 100644
--- a/indra/newview/skins/default/xui/de/panel_preferences_sound.xml
+++ b/indra/newview/skins/default/xui/de/panel_preferences_sound.xml
@@ -13,9 +13,12 @@
<check_box label="Aktiviert" name="enable_voice_check"/>
<check_box label="Automatische Wiedergabe zulassen" name="media_auto_play_btn" tool_tip="Hier aktivieren, um Medien automatisch wiederzugeben." value="wahr"/>
<check_box label="Medien, die an andere Avatare angehängt sind, wiedergeben." name="media_show_on_others_btn" tool_tip="Diese Option deaktivieren, um Medien für andere Avataren, die sich in der Nähe befinden, auszublenden." value="wahr"/>
- <text name="Listen from">
+ <text name="voice_chat_settings">
Voice-Chat-Einstellungen
</text>
+ <text name="Listen from">
+ Zuhören von:
+ </text>
<radio_group name="ear_location">
<radio_item label="Kameraposition" name="0"/>
<radio_item label="Avatarposition" name="1"/>
diff --git a/indra/newview/skins/default/xui/de/panel_region_estate.xml b/indra/newview/skins/default/xui/de/panel_region_estate.xml
index b0c6dce8cf..59a4c148a8 100644
--- a/indra/newview/skins/default/xui/de/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/de/panel_region_estate.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Grundstück" name="Estate">
<text name="estate_help_text">
- Änderungen auf dieser Registerkarte wirken sich auf alle Regionen auf dem Grundstück aus.
+ Änderungen wirken sich auf alle Regionen des Grundstücks aus.
</text>
<text name="estate_text">
Grundstück:
@@ -16,7 +16,7 @@
(unbekannt)
</text>
<text name="Only Allow">
- Zugang auf Einwohner beschränken, die überprüft wurden von:
+ Zugang nur dann, wenn überprüft mit:
</text>
<check_box label="Zahlungsinformation gespeichert" name="limit_payment" tool_tip="Nicht identifizierte Einwohner verbannen"/>
<check_box label="Altersüberprüfung" name="limit_age_verified" tool_tip="Einwohner ohne Altersüberprüfung verbannen. Weitere Informationen finden Sie auf [SUPPORT_SITE]."/>
@@ -69,6 +69,6 @@
<button label="?" name="ban_resident_help"/>
<button label="Hinzufügen..." name="add_banned_avatar_btn"/>
<button label="Entfernen..." name="remove_banned_avatar_btn"/>
- <button label="Nachricht an Grundstück senden..." name="message_estate_btn"/>
- <button label="Benutzer von Grundstück werfen..." name="kick_user_from_estate_btn"/>
+ <button label="Nachricht an Grundstück" name="message_estate_btn"/>
+ <button label="Einwohner hinauswerfen" name="kick_user_from_estate_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_region_general.xml b/indra/newview/skins/default/xui/de/panel_region_general.xml
index 978b701054..2885e5bd3a 100644
--- a/indra/newview/skins/default/xui/de/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/de/panel_region_general.xml
@@ -36,7 +36,7 @@
<button label="?" name="agent_limit_help"/>
<spinner label="Objektbonus" name="object_bonus_spin"/>
<button label="?" name="object_bonus_help"/>
- <text label="Alterseinstufung" name="access_text">
+ <text label="Inhaltseinstufung" name="access_text">
Einstufung:
</text>
<combo_box label="Moderat" name="access_combo">
diff --git a/indra/newview/skins/default/xui/de/panel_stand_stop_flying.xml b/indra/newview/skins/default/xui/de/panel_stand_stop_flying.xml
index 5b8137af4a..be21429007 100644
--- a/indra/newview/skins/default/xui/de/panel_stand_stop_flying.xml
+++ b/indra/newview/skins/default/xui/de/panel_stand_stop_flying.xml
@@ -2,5 +2,5 @@
<!-- Width and height of this panel should be synchronized with "panel_modes" in the floater_moveview.xml-->
<panel name="panel_stand_stop_flying">
<button label="Stehen" name="stand_btn" tool_tip="Klicken Sie hier, um aufzustehen."/>
- <button label="Landen" name="stop_fly_btn" tool_tip="Landen"/>
+ <button label="Flug stoppen" name="stop_fly_btn" tool_tip="Flug stoppen"/>
</panel>
diff --git a/indra/newview/skins/default/xui/de/panel_status_bar.xml b/indra/newview/skins/default/xui/de/panel_status_bar.xml
index 283df990ae..0e182fa417 100644
--- a/indra/newview/skins/default/xui/de/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/de/panel_status_bar.xml
@@ -22,10 +22,10 @@
[AMT] L$
</panel.string>
<button label="" label_selected="" name="buycurrency" tool_tip="Mein Kontostand"/>
- <button label="L$ kaufen" name="buyL" tool_tip="Hier klicken, um mehr L$ zu kaufen"/>
+ <button label="Kaufen" name="buyL" tool_tip="Hier klicken, um mehr L$ zu kaufen"/>
<text name="TimeText" tool_tip="Aktuelle Zeit (Pazifik)">
24:00 H PST
</text>
- <button name="media_toggle_btn" tool_tip="Klicken, um Medien ein-/auszuschalten"/>
+ <button name="media_toggle_btn" tool_tip="Alle Medien starten/stoppen (Musik, Video, Webseiten)"/>
<button name="volume_btn" tool_tip="Steuerung der Gesamtlautstärke"/>
</panel>
diff --git a/indra/newview/skins/default/xui/de/sidepanel_task_info.xml b/indra/newview/skins/default/xui/de/sidepanel_task_info.xml
index 825acac79d..81f1ebdf91 100644
--- a/indra/newview/skins/default/xui/de/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/de/sidepanel_task_info.xml
@@ -38,7 +38,7 @@
</panel.string>
<text name="title" value="Objektprofil"/>
<text name="where" value="(inworld)"/>
- <panel label="">
+ <panel name="properties_panel" label="">
<text name="Name:">
Name:
</text>
diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml
index c9307a5d7d..c4b540d08a 100644
--- a/indra/newview/skins/default/xui/de/strings.xml
+++ b/indra/newview/skins/default/xui/de/strings.xml
@@ -636,7 +636,7 @@
Nicht verbunden
</string>
<string name="SIM_ACCESS_PG">
- Allgemein
+ Generell
</string>
<string name="SIM_ACCESS_MATURE">
Moderat
@@ -753,7 +753,7 @@
Alpha
</string>
<string name="tattoo">
- Tätowierung
+ Taetowierung
</string>
<string name="invalid">
ungültig
@@ -828,7 +828,7 @@
Im Inventar wurden keine passenden Objekte gefunden. Versuchen Sie es mit [secondlife:///app/search/groups „Suche&quot;].
</string>
<string name="FavoritesNoMatchingItems">
- Hier eine Landmarke hin ziehen, um diese zu Ihrem Favoriten hinzuzufügen.
+ Landmarke hier hin ziehen, um diese hinzuzufügen.
</string>
<string name="InventoryNoTexture">
Sie haben keine Kopie dieser Textur in Ihrem Inventar.
@@ -979,7 +979,7 @@
Gummi
</string>
<string name="Light">
- Licht
+ Hell
</string>
<string name="KBShift">
Umschalt-Taste
@@ -1506,6 +1506,9 @@
<string name="NoPicksClassifiedsText">
Sie haben keine Auswahl oder Anzeigen erstelllt. Klicken Sie auf die „Plus&quot;-Schaltfläche, um eine Auswahl oder Anzeige zu erstellen.
</string>
+ <string name="NoAvatarPicksClassifiedsText">
+ Der Einwohner hat eine Auswahl oder Anzeigen im Profil.
+ </string>
<string name="PicksClassifiedsLoadingText">
Wird geladen...
</string>
@@ -2056,7 +2059,7 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich bitte an [SUPPORT_
Kinn-Hals
</string>
<string name="Clear">
- Löschen
+ Transparent
</string>
<string name="Cleft">
Spalte
@@ -2359,16 +2362,16 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich bitte an [SUPPORT_
Farbe Innenseite
</string>
<string name="In Shdw Opacity">
- Deckkraft: innerer Lidschatten
+ Deckkraft: innen
</string>
<string name="Inner Eye Corner">
Ecke: Nasenseite
</string>
<string name="Inner Eye Shadow">
- Innerer Lidschatten
+ Innenlid
</string>
<string name="Inner Shadow">
- Innerer Lidschatten
+ Innenlid
</string>
<string name="Jacket Length">
Jackenlänge
@@ -2761,10 +2764,10 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich bitte an [SUPPORT_
Aus
</string>
<string name="Out Shdw Color">
- Farbe: Oberer Lidschatten
+ Farbe: Oben
</string>
<string name="Out Shdw Opacity">
- Deckkraft: Oberer Lidschatten
+ Deckkraft: Oben
</string>
<string name="Outer Eye Corner">
Äußerer Augenwinkel
@@ -2935,7 +2938,7 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich bitte an [SUPPORT_
Schuhart
</string>
<string name="Short">
- Sandale
+ Klein
</string>
<string name="Short Arms">
Kurze Arme
@@ -3064,7 +3067,7 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich bitte an [SUPPORT_
Nach vorne
</string>
<string name="Tall">
- Stiefel
+ Groß
</string>
<string name="Taper Back">
Ansatzbreite hinten
@@ -3268,7 +3271,7 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich bitte an [SUPPORT_
Für Instant Message hier klicken.
</string>
<string name="IM_to_label">
- Bis
+ An
</string>
<string name="IM_moderator_label">
(Moderator)
diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml
index 593bbe4b5e..3297150c7f 100644
--- a/indra/newview/skins/default/xui/en/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/en/floater_about_land.xml
@@ -46,7 +46,7 @@
top="0">
<panel.string
name="new users only">
- New users only
+ New Residents only
</panel.string>
<panel.string
name="anyone">
@@ -395,7 +395,7 @@ Leyla Linden </text>
name="Cancel Land Sale"
left_pad="5"
top_pad="-25"
- width="145" />
+ width="155" />
<text
type="string"
length="1"
@@ -1504,7 +1504,7 @@ Only large parcels can be listed in search.
name="Clear"
tool_tip="Clear the landing point"
right="-10"
- width="50" />
+ width="55" />
<text
type="string"
length="1"
@@ -1609,41 +1609,12 @@ Only large parcels can be listed in search.
name="set_media_url"
width="50"
top_delta="0"/>
- <text
- type="string"
- length="1"
- follows="left|top"
- height="20"
- layout="topleft"
- left="10"
- name="CurrentURL:"
- width="100"
- top_pad="10">
- Current Page:
- </text>
- <button
- follows="top|right"
- height="23"
- image_overlay="Refresh_Off"
- layout="topleft"
- name="reset_media_url"
- left_pad="0"
- tool_tip="Refresh URL"
- width="23"
- top_delta="0"/>
- <text
- follows="left|top"
- height="16"
- layout="topleft"
- left_pad="10"
- name="current_url"
- width="300" />
<check_box
follows="top|left"
height="16"
label="Hide URL"
layout="topleft"
- left_delta="-36"
+ left="110"
name="hide_media_url"
tool_tip="Checking this option will hide the media url to any non-authorized viewers of this parcel information. Note this is not available for HTML types."
width="50"
diff --git a/indra/newview/skins/default/xui/en/floater_buy_land.xml b/indra/newview/skins/default/xui/en/floater_buy_land.xml
index 6e0c3dfe54..125b080519 100644
--- a/indra/newview/skins/default/xui/en/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/en/floater_buy_land.xml
@@ -64,7 +64,7 @@ Try selecting a smaller area.
</floater.string>
<floater.string
name="not_owned_by_you">
- Land owned by another user is selected.
+ Land owned by another Resident is selected.
Try selecting a smaller area.
</floater.string>
<floater.string
@@ -172,6 +172,15 @@ supports [AMOUNT2] objects
name="no_parcel_selected">
(no parcel selected)
</floater.string>
+ <floater.string
+ name="icon_PG"
+ value="Parcel_PG_Dark"/>
+ <floater.string
+ name="icon_M"
+ value="Parcel_M_Dark"/>
+ <floater.string
+ name="icon_R"
+ value="Parcel_R_Dark"/>
<text
type="string"
length="1"
@@ -195,9 +204,17 @@ supports [AMOUNT2] objects
left_delta="110"
name="region_name_text"
top_delta="0"
- width="175">
+ use_ellipses="true"
+ width="155">
(unknown)
</text>
+ <icon
+ follows="left|top"
+ height="16"
+ layout="topleft"
+ name="rating_icon"
+ top_delta="-2"
+ width="18"/>
<text
type="string"
length="1"
diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml
index 2bd8420925..b45e39a111 100644
--- a/indra/newview/skins/default/xui/en/floater_camera.xml
+++ b/indra/newview/skins/default/xui/en/floater_camera.xml
@@ -12,6 +12,7 @@
help_topic="camera_floater"
save_rect="true"
save_visibility="true"
+ save_dock_state="true"
single_instance="true"
width="150">
<floater.string
@@ -26,6 +27,22 @@
name="move_tooltip">
Move Camera Up and Down, Left and Right
</floater.string>
+ <floater.string
+ name="orbit_mode_title">
+ Orbit
+ </floater.string>
+ <floater.string
+ name="pan_mode_title">
+ Pan
+ </floater.string>
+ <floater.string
+ name="avatar_view_mode_title">
+ Presets
+ </floater.string>
+ <floater.string
+ name="free_mode_title">
+ View Object
+ </floater.string>
<panel
border="false"
height="110"
@@ -131,6 +148,7 @@
height="40"
image_selected="Cam_Preset_Back_On"
image_unselected="Cam_Preset_Back_Off"
+ is_toggle="true"
layout="topleft"
left="0"
name="rear_view"
@@ -145,6 +163,7 @@
height="40"
image_selected="Cam_Preset_Side_On"
image_unselected="Cam_Preset_Side_Off"
+ is_toggle="true"
layout="topleft"
left_pad="5"
name="group_view"
@@ -159,6 +178,7 @@
height="40"
image_selected="Cam_Preset_Front_On"
image_unselected="Cam_Preset_Front_Off"
+ is_toggle="true"
layout="topleft"
left="0"
name="front_view"
@@ -173,6 +193,7 @@
height="40"
image_selected="Cam_Preset_Eye_Off"
image_unselected="Cam_Preset_Eye_Off"
+ is_toggle="true"
layout="topleft"
left_pad="5"
name="mouselook_view"
@@ -227,7 +248,7 @@
image_selected="PushButton_Selected_Press"
name="avatarview_btn"
tab_stop="false"
- tool_tip="See as avatar"
+ tool_tip="Presets"
width="25">
</button>
<button
diff --git a/indra/newview/skins/default/xui/en/floater_customize.xml b/indra/newview/skins/default/xui/en/floater_customize.xml
index b048eeceb6..6f2b0fc3ea 100644
--- a/indra/newview/skins/default/xui/en/floater_customize.xml
+++ b/indra/newview/skins/default/xui/en/floater_customize.xml
@@ -286,7 +286,7 @@
height="23"
layout="topleft"
name="Item Action Label"
- right="132"
+ right="90"
width="100">
Shape:
</text>
@@ -307,7 +307,7 @@
label_selected="Save"
layout="topleft"
name="Save"
- right="218"
+ right="186"
top="477"
width="82" />
<button
@@ -319,7 +319,7 @@
name="Save As"
top="477"
right="304"
- width="82" />
+ width="115" />
</panel>
<panel
border="false"
@@ -489,7 +489,7 @@
height="23"
layout="topleft"
name="Item Action Label"
- right="132"
+ right="90"
width="100">
Skin:
</text>
@@ -548,7 +548,7 @@
label="Save"
label_selected="Save"
layout="topleft"
- right="218"
+ right="186"
name="Save"
top="477"
width="82" />
@@ -561,7 +561,7 @@
right="304"
name="Save As"
top="477"
- width="82" />
+ width="115" />
<button
follows="right|bottom"
height="23"
@@ -739,7 +739,7 @@
height="23"
layout="topleft"
name="Item Action Label"
- right="132"
+ right="90"
width="100">
Hair:
</text>
@@ -771,7 +771,7 @@
label="Save"
label_selected="Save"
layout="topleft"
- right="218"
+ right="186"
name="Save"
top="477"
width="82" />
@@ -784,7 +784,7 @@
right="304"
name="Save As"
top="477"
- width="82" />
+ width="115" />
<button
follows="right|bottom"
height="23"
@@ -924,7 +924,7 @@
height="23"
layout="bottomleft"
name="Item Action Label"
- right="132"
+ right="90"
width="100">
Eyes:
</text>
@@ -955,7 +955,7 @@
label="Save"
label_selected="Save"
layout="topleft"
- right="218"
+ right="186"
name="Save"
top="477"
width="82" />
@@ -968,7 +968,7 @@
right="304"
name="Save As"
top="477"
- width="82" />
+ width="115" />
<button
follows="right|bottom"
height="23"
@@ -1069,7 +1069,7 @@
label="Save"
label_selected="Save"
layout="topleft"
- right="218"
+ right="186"
name="Save"
top="477"
width="82" />
@@ -1082,7 +1082,7 @@
right="304"
name="Save As"
top="477"
- width="82" />
+ width="115" />
<button
follows="right|bottom"
height="23"
@@ -1193,7 +1193,7 @@
height="23"
layout="bottomleft"
name="Item Action Label"
- right="132"
+ right="90"
width="100">
Shirt:
</text>
@@ -1272,7 +1272,7 @@
label="Save"
label_selected="Save"
layout="topleft"
- right="218"
+ right="186"
name="Save"
top="477"
width="82" />
@@ -1285,7 +1285,7 @@
right="304"
name="Save As"
top="477"
- width="82" />
+ width="115" />
<button
follows="right|bottom"
height="23"
@@ -1396,7 +1396,7 @@
height="23"
layout="bottomleft"
name="Item Action Label"
- right="132"
+ right="90"
width="100">
Pants:
</text>
@@ -1538,7 +1538,7 @@
height="23"
layout="bottomleft"
name="Item Action Label"
- right="132"
+ right="90"
width="100">
Shoes:
</text>
@@ -1579,7 +1579,7 @@
label="Save"
label_selected="Save"
layout="topleft"
- right="218"
+ right="186"
name="Save"
top="477"
width="82" />
@@ -1592,7 +1592,7 @@
right="304"
name="Save As"
top="477"
- width="82" />
+ width="115" />
<button
follows="right|bottom"
height="23"
@@ -1741,7 +1741,7 @@
height="23"
layout="bottomleft"
name="Item Action Label"
- right="132"
+ right="90"
width="100">
Socks:
</text>
@@ -1782,7 +1782,7 @@
label="Save"
label_selected="Save"
layout="topleft"
- right="218"
+ right="186"
name="Save"
top="477"
width="82" />
@@ -1795,7 +1795,7 @@
right="304"
name="Save As"
top="477"
- width="82" />
+ width="115" />
<button
follows="right|bottom"
height="23"
@@ -1944,7 +1944,7 @@
height="23"
layout="bottomleft"
name="Item Action Label"
- right="132"
+ right="90"
width="100">
Jacket:
</text>
@@ -1996,7 +1996,7 @@
label="Save"
label_selected="Save"
layout="topleft"
- right="218"
+ right="186"
name="Save"
top="477"
width="82" />
@@ -2009,7 +2009,7 @@
right="304"
name="Save As"
top="477"
- width="82" />
+ width="115" />
<button
follows="right|bottom"
height="23"
@@ -2158,7 +2158,7 @@
height="23"
layout="bottomleft"
name="Item Action Label"
- right="132"
+ right="90"
width="100">
Gloves:
</text>
@@ -2199,7 +2199,7 @@
label="Save"
label_selected="Save"
layout="topleft"
- right="218"
+ right="186"
name="Save"
top="477"
width="82" />
@@ -2212,7 +2212,7 @@
right="304"
name="Save As"
top="477"
- width="82" />
+ width="115" />
<button
follows="right|bottom"
height="23"
@@ -2361,7 +2361,7 @@
height="23"
layout="bottomleft"
name="Item Action Label"
- right="132"
+ right="90"
width="100">
Undershirt:
</text>
@@ -2402,7 +2402,7 @@
label="Save"
label_selected="Save"
layout="topleft"
- right="218"
+ right="186"
name="Save"
top="477"
width="82" />
@@ -2415,7 +2415,7 @@
right="304"
name="Save As"
top="477"
- width="82" />
+ width="115" />
<button
follows="right|bottom"
height="23"
@@ -2564,7 +2564,7 @@
height="23"
layout="bottomleft"
name="Item Action Label"
- right="132"
+ right="90"
width="100">
Underpants:
</text>
@@ -2605,7 +2605,7 @@
label="Save"
label_selected="Save"
layout="topleft"
- right="218"
+ right="186"
name="Save"
top="477"
width="82" />
@@ -2618,7 +2618,7 @@
right="304"
name="Save As"
top="477"
- width="82" />
+ width="115" />
<button
follows="right|bottom"
height="23"
@@ -2767,7 +2767,7 @@
height="23"
layout="bottomleft"
name="Item Action Label"
- right="132"
+ right="90"
width="100">
Skirt:
</text>
@@ -2808,7 +2808,7 @@
label="Save"
label_selected="Save"
layout="topleft"
- right="218"
+ right="186"
name="Save"
top="477"
width="82" />
@@ -2821,7 +2821,7 @@
right="304"
name="Save As"
top="477"
- width="82" />
+ width="115" />
<button
follows="right|bottom"
height="23"
@@ -2970,7 +2970,7 @@
height="23"
layout="bottomleft"
name="Item Action Label"
- right="132"
+ right="90"
width="100">
Tattoo:
</text>
@@ -3024,7 +3024,7 @@
label="Save"
label_selected="Save"
layout="topleft"
- right="218"
+ right="186"
name="Save"
top="477"
width="82" />
@@ -3037,7 +3037,7 @@
right="304"
name="Save As"
top="477"
- width="82" />
+ width="115" />
<button
follows="right|bottom"
height="23"
@@ -3186,7 +3186,7 @@
height="23"
layout="bottomleft"
name="Item Action Label"
- right="132"
+ right="90"
width="100">
Alpha:
</text>
@@ -3305,7 +3305,7 @@
label="Save"
label_selected="Save"
layout="topleft"
- right="218"
+ right="186"
name="Save"
top="477"
width="82" />
@@ -3318,7 +3318,7 @@
right="304"
name="Save As"
top="477"
- width="82" />
+ width="115" />
<button
follows="right|bottom"
height="23"
diff --git a/indra/newview/skins/default/xui/en/floater_env_settings.xml b/indra/newview/skins/default/xui/en/floater_env_settings.xml
index 8c87bd42dd..14f9e2db95 100644
--- a/indra/newview/skins/default/xui/en/floater_env_settings.xml
+++ b/indra/newview/skins/default/xui/en/floater_env_settings.xml
@@ -135,28 +135,28 @@
width="210" />
<button
follows="left|top"
- height="20"
+ height="23"
label="Use Estate Time"
layout="topleft"
- left="8"
+ left="10"
name="EnvUseEstateTimeButton"
top="120"
width="137" />
<button
follows="left|top"
- height="20"
+ height="23"
label="Advanced Sky"
layout="topleft"
- left_pad="9"
+ left_pad="3"
name="EnvAdvancedSkyButton"
top_delta="0"
width="137" />
<button
follows="left|top"
- height="20"
+ height="23"
label="Advanced Water"
layout="topleft"
- left_pad="9"
+ left_pad="3"
name="EnvAdvancedWaterButton"
top_delta="0"
width="137" />
diff --git a/indra/newview/skins/default/xui/en/floater_event.xml b/indra/newview/skins/default/xui/en/floater_event.xml
index 50f0f0454c..bcf15d7193 100644
--- a/indra/newview/skins/default/xui/en/floater_event.xml
+++ b/indra/newview/skins/default/xui/en/floater_event.xml
@@ -20,6 +20,22 @@
name="dont_notify">
Don&apos;t Notify
</floater.string>
+ <floater.string
+ name="moderate">
+ Moderate
+ </floater.string>
+ <floater.string
+ name="adult">
+ Adult
+ </floater.string>
+ <floater.string
+ name="general">
+ General
+ </floater.string>
+ <floater.string
+ name="unknown">
+ Unknown
+ </floater.string>
<layout_stack
name="layout"
orientation="vertical"
@@ -32,7 +48,7 @@
border_size="0">
<layout_panel
name="profile_stack"
- follows="all"
+ follows="top|left"
layout="topleft"
top="0"
left="0"
@@ -72,7 +88,7 @@
left="10"
top_pad="7"
name="event_runby_label"
- width="310">
+ width="90">
Run by:
</text>
<text
@@ -80,48 +96,79 @@
height="20"
initial_value="(retrieving)"
layout="topleft"
- left="10"
+ left_pad="0"
link="true"
name="event_runby"
- top_pad="2"
+ top_delta="0"
use_ellipses="true"
- width="310" />
+ width="240" />
+ <text
+ type="string"
+ length="1"
+ follows="top|left"
+ layout="topleft"
+ left="10"
+ top_pad="5"
+ name="event_date_label"
+ width="90">
+ Date:
+ </text>
<text
type="string"
length="1"
- left="10"
+ left_pad="0"
height="17"
- font="SansSerifMedium"
- text_color="EmphasisColor"
- top_pad="5"
+ top_delta="0"
follows="top|left"
layout="topleft"
name="event_date"
- width="310">
+ width="240">
10/10/2010
</text>
<text
type="string"
- height="14"
length="1"
+ follows="top|left"
+ layout="topleft"
left="10"
+ top_pad="5"
+ name="event_duration_label"
+ width="90">
+ Duration:
+ </text>
+ <text
+ type="string"
+ height="14"
+ length="1"
+ left_pad="0"
follows="top|left"
layout="topleft"
name="event_duration"
- width="310">
+ top_delta="0"
+ width="240">
1 hour
</text>
<text
- font="SansSerifMedium"
- text_color="EmphasisColor"
+ type="string"
+ length="1"
+ follows="top|left"
+ layout="topleft"
+ left="10"
+ top_pad="5"
+ name="event_covercharge_label"
+ width="90">
+ Cover charge:
+ </text>
+ <text
type="string"
follows="left|top"
height="16"
layout="topleft"
- left="10"
+ left_pad="0"
name="event_cover"
visible="true"
- width="310">
+ width="240"
+ top_delta="0">
Free
</text>
<text
@@ -131,28 +178,48 @@
layout="topleft"
left="10"
top_pad="5"
- name="event_location_label">
+ name="event_location_label"
+ width="90">
Location:
</text>
<text
type="string"
length="1"
height="20"
- left="10"
+ left_pad="0"
follows="top|left"
layout="topleft"
name="event_location"
use_ellipses="true"
+ top_delta="0"
value="SampleParcel, Name Long (145, 228, 26)"
- width="310" />
+ width="240" />
<icon
- follows="top|left"
- height="16"
- image_name="Parcel_PG_Dark"
- layout="topleft"
- left="10"
- name="rating_icon"
- width="18" />
+ follows="top|left"
+ height="16"
+ image_name="Parcel_PG_Dark"
+ layout="topleft"
+ left="10"
+ name="rating_icon_pg"
+ width="18" />
+ <icon
+ follows="top|left"
+ height="16"
+ image_name="Parcel_M_Dark"
+ layout="topleft"
+ left="10"
+ name="rating_icon_m"
+ top_delta="0"
+ width="18" />
+ <icon
+ follows="top|left"
+ height="16"
+ image_name="Parcel_R_Dark"
+ layout="topleft"
+ left="10"
+ name="rating_icon_r"
+ top_delta="0"
+ width="18" />
<text
follows="left|top"
height="16"
@@ -161,33 +228,34 @@
name="rating_label"
top_delta="3"
value="Rating:"
- width="60" />
+ width="58" />
<text
follows="left|right|top"
height="16"
layout="topleft"
- left_pad="0"
+ left_pad="2"
name="rating_value"
top_delta="0"
value="unknown"
- width="200" />
+ width="240" />
<expandable_text
- follows="left|top|right"
- height="106"
- layout="topleft"
- left="6"
- name="event_desc"
- width="313" />
+ follows="left|top|right"
+ height="65"
+ layout="topleft"
+ left="6"
+ name="event_desc"
+ width="322">
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</expandable_text>
</layout_panel>
<layout_panel
- follows="left|right"
- height="24"
- layout="topleft"
- mouse_opaque="false"
- name="button_panel"
- top="0"
- left="0"
- user_resize="false">
+ follows="left|right"
+ height="24"
+ layout="topleft"
+ mouse_opaque="false"
+ name="button_panel"
+ top="0"
+ left="0"
+ user_resize="false">
<button
follows="left|top"
height="18"
diff --git a/indra/newview/skins/default/xui/en/floater_god_tools.xml b/indra/newview/skins/default/xui/en/floater_god_tools.xml
index 0fac6cd5f1..36ef6beb59 100644
--- a/indra/newview/skins/default/xui/en/floater_god_tools.xml
+++ b/indra/newview/skins/default/xui/en/floater_god_tools.xml
@@ -31,8 +31,8 @@
<button
follows="left|top"
height="20"
- label="Kick all users"
- label_selected="Kick all users"
+ label="Kick all Residents"
+ label_selected="Kick all Residents"
layout="topleft"
left="10"
name="Kick all users"
diff --git a/indra/newview/skins/default/xui/en/floater_im.xml b/indra/newview/skins/default/xui/en/floater_im.xml
index a21242ffe1..55efe83820 100644
--- a/indra/newview/skins/default/xui/en/floater_im.xml
+++ b/indra/newview/skins/default/xui/en/floater_im.xml
@@ -14,7 +14,7 @@
width="419">
<multi_floater.string
name="only_user_message">
- You are the only user in this session.
+ You are the only Resident in this session.
</multi_floater.string>
<multi_floater.string
name="offline_message">
@@ -54,7 +54,7 @@
</multi_floater.string>
<multi_floater.string
name="add_session_event">
- Unable to add users to chat session with [RECIPIENT].
+ Unable to add Residents to chat session with [RECIPIENT].
</multi_floater.string>
<multi_floater.string
name="message_session_event">
diff --git a/indra/newview/skins/default/xui/en/floater_im_container.xml b/indra/newview/skins/default/xui/en/floater_im_container.xml
index 964713adbf..65a05f3ec5 100644
--- a/indra/newview/skins/default/xui/en/floater_im_container.xml
+++ b/indra/newview/skins/default/xui/en/floater_im_container.xml
@@ -24,7 +24,7 @@
tab_height="16"
use_custom_icon_ctrl="true"
tab_icon_ctrl_pad="2"
- font_halign="left"
+ halign="left"
use_ellipses="true"
top="0"
width="390" />
diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml
index d2e5473157..25016e0673 100644
--- a/indra/newview/skins/default/xui/en/floater_im_session.xml
+++ b/indra/newview/skins/default/xui/en/floater_im_session.xml
@@ -2,6 +2,7 @@
<floater
legacy_header_height="18"
background_visible="true"
+ default_tab_group="1"
follows="all"
height="350"
layout="topleft"
@@ -18,12 +19,14 @@
min_height="190">
<layout_stack
animate="false"
+ default_tab_group="2"
follows="all"
height="320"
width="360"
layout="topleft"
orientation="horizontal"
name="im_panels"
+ tab_group="1"
top="20"
left="0">
<layout_panel
@@ -35,7 +38,9 @@
auto_resize="false"
user_resize="true" />
<layout_panel
+ default_tab_group="3"
left="0"
+ tab_group="2"
top="0"
height="200"
width="245"
@@ -75,6 +80,7 @@
label="To"
layout="bottomleft"
name="chat_editor"
+ tab_group="3"
width="240">
</line_editor>
</layout_panel>
diff --git a/indra/newview/skins/default/xui/en/floater_inspect.xml b/indra/newview/skins/default/xui/en/floater_inspect.xml
index 3f7642fafe..bea35e5fc1 100644
--- a/indra/newview/skins/default/xui/en/floater_inspect.xml
+++ b/indra/newview/skins/default/xui/en/floater_inspect.xml
@@ -16,7 +16,7 @@
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</floater.string>
<scroll_list
- bottom="270"
+ bottom="268"
column_padding="0"
draw_heading="true"
follows="top|right|left|bottom"
@@ -47,23 +47,23 @@
</scroll_list>
<button
follows="left|bottom"
- height="20"
+ height="23"
label="See Owner Profile..."
layout="topleft"
- left_delta="0"
+ left_delta="-1"
name="button owner"
tool_tip="See profile of the highlighted object&apos;s owner"
- top_pad="5"
+ top_pad="4"
width="150">
<button.commit_callback
function="Inspect.OwnerProfile" />
</button>
<button
follows="left|bottom"
- height="20"
+ height="23"
label="See Creator Profile..."
layout="topleft"
- left_pad="10"
+ left_pad="5"
name="button creator"
tool_tip="See profile of the highlighted object&apos;s original creator"
top_delta="0"
diff --git a/indra/newview/skins/default/xui/en/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/en/floater_live_lsleditor.xml
index 990be55847..1f192f9b28 100644
--- a/indra/newview/skins/default/xui/en/floater_live_lsleditor.xml
+++ b/indra/newview/skins/default/xui/en/floater_live_lsleditor.xml
@@ -45,9 +45,9 @@
layout="topleft"
name="Reset"
left="10"
- width="61" />
+ width="85" />
<check_box
- left_delta="71"
+ left_delta="90"
top_delta="3"
enabled="false"
follows="left|bottom"
@@ -57,9 +57,9 @@
label="Running"
layout="topleft"
name="running"
- width="100" />
+ width="205" />
<check_box
- left_delta="75"
+ left_delta="140"
enabled="true"
follows="left|bottom"
font="SansSerif"
diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml
index 0bdcbf30df..8e2c57764b 100644
--- a/indra/newview/skins/default/xui/en/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/en/floater_moveview.xml
@@ -12,6 +12,7 @@
help_topic="move_floater"
save_rect="true"
save_visibility="true"
+ save_dock_state="true"
width="115">
<string
name="walk_forward_tooltip">
@@ -37,6 +38,18 @@
name="fly_back_tooltip">
Fly Backwards (press Down Arrow or S)
</string>
+ <string
+ name="walk_title">
+ Walk
+ </string>
+ <string
+ name="run_title">
+ Run
+ </string>
+ <string
+ name="fly_title">
+ Fly
+ </string>
<panel
border="false"
height="83"
@@ -83,7 +96,7 @@
left="10"
name="move up btn"
scale_image="false"
- tool_tip="Fly up, press &quot;E&quot;"
+ tool_tip="Fly up, press E"
top="14"
width="25" />
<button
@@ -96,7 +109,7 @@
left_pad="45"
name="move down btn"
scale_image="false"
- tool_tip="Fly down, press &quot;C&quot;"
+ tool_tip="Fly down, press C"
top_delta="0"
width="20" />
<joystick_turn
@@ -178,16 +191,5 @@
tool_tip="Flying mode"
top="2"
width="31" />
- <button
- visible="false"
- follows="left|bottom"
- height="20"
- label="Stop Flying"
- layout="topleft"
- left="0"
- name="stop_fly_btn"
- tool_tip="Stop flying"
- top="2"
- width="115" />
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_nearby_chat.xml b/indra/newview/skins/default/xui/en/floater_nearby_chat.xml
index ae686d9ab7..28616d503b 100644
--- a/indra/newview/skins/default/xui/en/floater_nearby_chat.xml
+++ b/indra/newview/skins/default/xui/en/floater_nearby_chat.xml
@@ -6,7 +6,7 @@
border="false"
bg_opaque_image="Window_Foreground"
bg_alpha_image="Window_Background"
- bg_alpha_color="0 0 0 0"
+ bg_alpha_image_overlay="DkGray_66"
legacy_header_height="18"
can_minimize="true"
can_tear_off="false"
diff --git a/indra/newview/skins/default/xui/en/floater_preferences.xml b/indra/newview/skins/default/xui/en/floater_preferences.xml
index 7aa8e23e76..d7a7daf30c 100644
--- a/indra/newview/skins/default/xui/en/floater_preferences.xml
+++ b/indra/newview/skins/default/xui/en/floater_preferences.xml
@@ -46,6 +46,7 @@
tab_group="1"
tab_position="left"
tab_width="115"
+ tab_padding_right="5"
top="21"
width="620">
<panel
diff --git a/indra/newview/skins/default/xui/en/floater_publish_classified.xml b/indra/newview/skins/default/xui/en/floater_publish_classified.xml
new file mode 100644
index 0000000000..3225843d09
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/floater_publish_classified.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<floater
+ legacy_header_height="18"
+ can_minimize="false"
+ height="200"
+ layout="topleft"
+ name="publish_classified"
+ help_topic="price_for_listing"
+ title="Publishing Classified"
+ width="320">
+ <text
+ top="20"
+ follows="top|left"
+ font="SansSerif"
+ height="60"
+ layout="topleft"
+ left="15"
+ word_wrap="true"
+ name="explanation_text">
+
+Your classified ad will run for one week from the date it is published.
+
+Remember, Classified fees are non-refundable.
+
+ </text>
+ <spinner
+ decimal_digits="0"
+ follows="left|top"
+ halign="left"
+ height="23"
+ increment="1"
+ label_width="70"
+ label="Price for Ad: "
+ v_pad="10"
+ layout="topleft"
+ left="15"
+ value="50"
+ min_val="50"
+ max_val="99999"
+ name="price_for_listing"
+ top_pad="10"
+ tool_tip="Price for listing."
+ width="150" />
+ <text
+ follows="top|left"
+ font="SansSerif"
+ height="60"
+ layout="topleft"
+ left_pad="5"
+ top_delta="0"
+ word_wrap="true"
+ value="L$"
+ name="l$_text" />
+ <text
+ follows="top|right"
+ font="SansSerif"
+ height="20"
+ layout="topleft"
+ left="15"
+ name="more_info_text"
+ top_pad="-20"
+ width="300">
+More info (link to classified help)
+ </text>
+ <button
+ follows="top|left"
+ height="22"
+ label="Publish"
+ layout="topleft"
+ left="105"
+ name="publish_btn"
+ top="160"
+ width="100" />
+ <button
+ follows="top|left"
+ height="22"
+ label="Cancel"
+ layout="topleft"
+ left_pad="5"
+ name="cancel_btn"
+ width="100" />
+</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_script.xml b/indra/newview/skins/default/xui/en/floater_script.xml
index c3e974d978..663899d4b3 100644
--- a/indra/newview/skins/default/xui/en/floater_script.xml
+++ b/indra/newview/skins/default/xui/en/floater_script.xml
@@ -10,9 +10,9 @@
top="0"
can_dock="true"
can_minimize="true"
- visible="true"
+ visible="false"
width="520"
- can_resize="true"
+ can_resize="false"
min_width="350"
min_height="369">
</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml
index 2c9402f6cb..dda14f02ff 100644
--- a/indra/newview/skins/default/xui/en/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml
@@ -45,7 +45,7 @@
</radio_group>
<ui_ctrl
height="90"
- width="90"
+ width="125"
layout="topleft"
name="thumbnail_placeholder"
top_pad="6"
@@ -105,9 +105,11 @@
width="100">
<flyout_button.item
label="Save"
+ name="save_item"
value="save" />
<flyout_button.item
label="Save As..."
+ name="saveas_item"
value="save as" />
</flyout_button>
<button
@@ -147,7 +149,7 @@
left="10"
name="type_label2"
top_pad="5"
- width="120">
+ width="127">
Size
</text>
<text
@@ -197,7 +199,7 @@
left_delta="0"
name="texture_size_combo"
top_delta="0"
- width="120">
+ width="127">
<combo_box.item
label="Current Window"
name="CurrentWindow"
@@ -226,7 +228,7 @@
left_delta="0"
name="local_size_combo"
top_delta="0"
- width="120">
+ width="127">
<combo_box.item
label="Current Window"
name="CurrentWindow"
@@ -354,10 +356,6 @@
label="Depth"
name="Depth"
value="depth" />
- <combo_box.item
- label="Object Mattes"
- name="ObjectMattes"
- value="objects" />
</combo_box>
<check_box
label="Interface"
diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml
index d989282b9f..affe74d148 100644
--- a/indra/newview/skins/default/xui/en/floater_tools.xml
+++ b/indra/newview/skins/default/xui/en/floater_tools.xml
@@ -2,7 +2,7 @@
<floater
legacy_header_height="18"
follows="left|top|right"
- height="570"
+ height="580"
layout="topleft"
bg_opaque_image="Window_NoTitle_Foreground"
bg_alpha_image="Window_NoTitle_Background"
@@ -581,7 +581,7 @@
left="0"
name="radio select land"
top="-1"
- width="114" />
+ width="134" />
<radio_item
height="19"
label="Flatten"
@@ -639,7 +639,7 @@
follows="left|top"
height="12"
layout="topleft"
- left="125"
+ left="150"
name="Bulldozer:"
top="57"
width="100">
@@ -737,7 +737,7 @@
</text>
<tab_container
follows="left|top"
- height="400"
+ height="410"
halign="center"
left="0"
name="Object Info Tabs"
@@ -1054,7 +1054,7 @@ even though the user gets a free copy.
name="perms_build"
left="0"
top="241"
- height="120"
+ height="130"
width="278">
<text
type="string"
@@ -1135,7 +1135,7 @@ even though the user gets a free copy.
left="10"
name="B:"
height="10"
- width="45">
+ width="80">
B:
</text>
<text
@@ -1147,7 +1147,7 @@ even though the user gets a free copy.
left_pad="0"
name="O:"
height="10"
- width="44">
+ width="80">
O:
</text>
<text
@@ -1159,7 +1159,7 @@ even though the user gets a free copy.
left_pad="0"
name="G:"
height="10"
- width="43">
+ width="80">
G:
</text>
<text
@@ -1167,11 +1167,12 @@ even though the user gets a free copy.
text_color="White"
length="1"
follows="left|top"
- left_pad="0"
+ left="10"
+ top_pad="2"
layout="topleft"
name="E:"
height="10"
- width="43">
+ width="80">
E:
</text>
<text
@@ -1183,7 +1184,7 @@ even though the user gets a free copy.
left_pad="0"
name="N:"
height="10"
- width="48">
+ width="80">
N:
</text>
<text
@@ -1195,7 +1196,7 @@ even though the user gets a free copy.
left_pad="0"
name="F:"
height="10"
- width="50">
+ width="80">
F:
</text>
</panel>
@@ -2815,7 +2816,7 @@ even though the user gets a free copy.
left="20"
name="label_parcel_info"
top="24"
- width="150">
+ width="240">
Parcel Information
</text>
<text
diff --git a/indra/newview/skins/default/xui/en/floater_ui_preview.xml b/indra/newview/skins/default/xui/en/floater_ui_preview.xml
index e86cb23c1e..3a981adfdf 100644
--- a/indra/newview/skins/default/xui/en/floater_ui_preview.xml
+++ b/indra/newview/skins/default/xui/en/floater_ui_preview.xml
@@ -112,7 +112,7 @@
layout="topleft"
left_pad="15"
name="toggle_overlap_panel"
- tool_tip="Toggle highlighting and display panel for overlapping elements; right click an element to select it for this feature. The selected element is marked by a red rectangle."
+ tool_tip="Toggle highlighting and display panel for overlapping elements; right-click an element to select it for this feature. The selected element is marked by a red rectangle."
top_delta="0"
width="30" />
<text
diff --git a/indra/newview/skins/default/xui/en/floater_voice_controls.xml b/indra/newview/skins/default/xui/en/floater_voice_controls.xml
index c4411db8c5..114b9a84e3 100644
--- a/indra/newview/skins/default/xui/en/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/en/floater_voice_controls.xml
@@ -70,7 +70,7 @@
text_color="white"
top="4"
use_ellipses="true"
- value="Mya Avatar:"
+ value="My Avatar:"
width="210" />
<output_monitor
auto_update="true"
diff --git a/indra/newview/skins/default/xui/en/floater_water.xml b/indra/newview/skins/default/xui/en/floater_water.xml
index 32739ac953..3a44ba3763 100644
--- a/indra/newview/skins/default/xui/en/floater_water.xml
+++ b/indra/newview/skins/default/xui/en/floater_water.xml
@@ -16,49 +16,49 @@
type="string"
length="1"
follows="left|top|right"
- font.style="BOLD"
height="16"
layout="topleft"
left="10"
name="KeyFramePresetsText"
top="34"
- width="110">
+ font="SansSerif"
+ width="85">
Water Presets:
</text>
<combo_box
- height="18"
+ height="23"
layout="topleft"
- left_pad="10"
+ left_delta="95"
name="WaterPresetsCombo"
- top_delta="-2"
+ top_delta="-4"
width="150" />
<button
- height="20"
+ height="23"
label="New"
label_selected="New"
layout="topleft"
- left_pad="20"
+ left_pad="3"
name="WaterNewPreset"
- top_delta="1"
- width="90" />
+ top_delta="0"
+ width="70" />
<button
- height="20"
+ height="23"
label="Save"
label_selected="Save"
layout="topleft"
- left_pad="10"
+ left_pad="3"
name="WaterSavePreset"
top_delta="0"
- width="90" />
+ width="70" />
<button
- height="20"
+ height="23"
label="Delete"
label_selected="Delete"
layout="topleft"
- left_pad="10"
+ left_pad="3"
name="WaterDeletePreset"
top_delta="0"
- width="90" />
+ width="70" />
<tab_container
border="false"
follows="left|top"
@@ -74,7 +74,7 @@
border="true"
follows="all"
height="180"
- label="Settings"
+ label="SETTINGS"
layout="topleft"
left="0"
mouse_opaque="false"
@@ -331,7 +331,7 @@
border="true"
follows="all"
height="180"
- label="Image"
+ label="IMAGE"
layout="topleft"
left="0"
mouse_opaque="false"
@@ -348,7 +348,7 @@
layout="topleft"
left="10"
name="BHText"
- top="10"
+ top="4"
width="200">
Big Wave Direction
</text>
@@ -361,23 +361,10 @@
layout="topleft"
left="10"
name="WaterWave1DirXText"
- top_pad="4"
+ top_pad="5"
width="10">
X
</text>
- <text
- type="string"
- length="1"
- follows="left|top|right"
- halign="center"
- height="16"
- layout="topleft"
- left_delta="0"
- name="WaterWave1DirYText"
- top_delta="18"
- width="10">
- Y
- </text>
<slider
control_name="WaterWave1DirX"
decimal_digits="2"
@@ -390,8 +377,22 @@
max_val="4"
min_val="-4"
name="WaterWave1DirX"
- top="55"
+ left_pad="3"
+ top_pad="6"
width="200" />
+ <text
+ type="string"
+ length="1"
+ follows="left|top|right"
+ halign="center"
+ height="16"
+ layout="topleft"
+ left_delta="-13"
+ name="WaterWave1DirYText"
+ top_pad="-15"
+ width="10">
+ Y
+ </text>
<slider
control_name="WaterWave1DirY"
decimal_digits="2"
@@ -404,7 +405,8 @@
max_val="4"
min_val="-4"
name="WaterWave1DirY"
- top_pad="5"
+ left_pad="3"
+ top_pad="6"
width="200" />
<text
type="string"
@@ -413,9 +415,9 @@
font="SansSerif"
height="16"
layout="topleft"
- left_delta="-14"
+ left_delta="-13"
name="BHText2"
- top_delta="3"
+ top_pad="-10"
width="355">
Little Wave Direction
</text>
@@ -427,24 +429,12 @@
height="16"
layout="topleft"
left="10"
+ left_delta="0"
name="WaterWave2DirXText"
- top="90"
+ top_pad="5"
width="10">
X
</text>
- <text
- type="string"
- length="1"
- follows="left|top|right"
- halign="center"
- height="16"
- layout="topleft"
- left_delta="0"
- name="WaterWave2DirYText"
- top_delta="20"
- width="10">
- Y
- </text>
<slider
control_name="WaterWave2DirX"
decimal_digits="2"
@@ -457,8 +447,22 @@
max_val="4"
min_val="-4"
name="WaterWave2DirX"
- top="115"
+ left_pad="3"
+ top_pad="6"
width="200" />
+ <text
+ type="string"
+ length="1"
+ follows="left|top|right"
+ halign="center"
+ height="16"
+ layout="topleft"
+ left_delta="-13"
+ name="WaterWave2DirYText"
+ top_pad="-15"
+ width="10">
+ Y
+ </text>
<slider
control_name="WaterWave2DirY"
decimal_digits="2"
@@ -471,7 +475,8 @@
max_val="4"
min_val="-4"
name="WaterWave2DirY"
- top_pad="10"
+ left_pad="3"
+ top_pad="6"
width="200" />
<text
type="string"
diff --git a/indra/newview/skins/default/xui/en/floater_windlight_options.xml b/indra/newview/skins/default/xui/en/floater_windlight_options.xml
index 0cb7814c6a..d09a41978d 100644
--- a/indra/newview/skins/default/xui/en/floater_windlight_options.xml
+++ b/indra/newview/skins/default/xui/en/floater_windlight_options.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater
legacy_header_height="18"
- height="220"
+ height="256"
layout="topleft"
name="WindLight floater"
help_topic="windlight_floater"
@@ -22,68 +22,64 @@
left="10"
name="KeyFramePresetsText"
top="34"
- width="110">
+ width="85">
Sky Presets:
</text>
<combo_box
- height="18"
+ height="23"
layout="topleft"
- left_delta="110"
+ left_delta="85"
name="WLPresetsCombo"
- top_delta="-2"
+ top_delta="-4"
width="150" />
<button
- height="20"
+ height="23"
label="New"
label_selected="New"
layout="topleft"
- left_pad="20"
+ left_pad="3"
name="WLNewPreset"
- top_delta="1"
width="70" />
<button
- height="20"
+ height="23"
label="Save"
label_selected="Save"
layout="topleft"
- left_pad="10"
+ left_pad="3"
name="WLSavePreset"
- top_delta="0"
width="70" />
<button
- height="20"
+ height="23"
label="Delete"
label_selected="Delete"
layout="topleft"
- left_pad="10"
+ left_pad="3"
name="WLDeletePreset"
- top_delta="0"
width="70" />
<button
- height="20"
+ height="23"
label="Day Cycle Editor"
label_selected="Day Cycle Editor"
layout="topleft"
- left_pad="50"
+ right="-10"
name="WLDayCycleMenuButton"
- top_delta="0"
+ top_pad="-23"
width="120" />
<tab_container
follows="left|top"
- height="160"
+ height="196"
halign="center"
layout="topleft"
left="0"
name="WindLight Tabs"
tab_position="top"
- tab_height="20"
top="60"
width="700">
<panel
border="true"
follows="left|top|right|bottom"
- height="160"
- label="Atmosphere"
+ height="196"
+ label="ATMOSPHERE"
layout="topleft"
left="1"
mouse_opaque="false"
@@ -113,10 +109,22 @@
layout="topleft"
left="10"
name="BHText2"
- top="21"
+ top_pad="5"
width="10">
R
</text>
+ <slider
+ control_name="WLBlueHorizonR"
+ decimal_digits="2"
+ follows="left"
+ height="10"
+ increment="0.01"
+ initial_value="0.7"
+ layout="topleft"
+ left_pad="3"
+ top_pad="6"
+ name="WLBlueHorizonR"
+ width="200" />
<text
type="string"
length="1"
@@ -124,12 +132,25 @@
halign="center"
height="16"
layout="topleft"
- left_delta="0"
+ left="10"
+ top_pad="-15"
name="BHText3"
- top_delta="11"
width="10">
G
</text>
+ <slider
+ control_name="WLBlueHorizonG"
+ decimal_digits="2"
+ follows="left"
+ height="10"
+ increment="0.01"
+ initial_value="0.7"
+ layout="topleft"
+ left_delta="0"
+ name="WLBlueHorizonG"
+ left_pad="3"
+ top_pad="6"
+ width="200" />
<text
type="string"
length="1"
@@ -137,12 +158,24 @@
halign="center"
height="16"
layout="topleft"
- left_delta="0"
name="BHText4"
- top_delta="11"
+ left="10"
+ top_pad="-15"
width="10">
B
</text>
+ <slider
+ control_name="WLBlueHorizonB"
+ decimal_digits="2"
+ follows="left"
+ height="10"
+ increment="0.01"
+ initial_value="0.7"
+ layout="topleft"
+ name="WLBlueHorizonB"
+ left_pad="3"
+ top_pad="6"
+ width="200" />
<text
type="string"
length="1"
@@ -150,49 +183,13 @@
halign="center"
height="16"
layout="topleft"
- left_delta="0"
name="BHText5"
- top_delta="11"
+ left="10"
+ top_pad="-15"
width="10">
I
</text>
<slider
- control_name="WLBlueHorizonR"
- decimal_digits="2"
- follows="left"
- height="10"
- increment="0.01"
- initial_value="0.7"
- layout="topleft"
- left="24"
- name="WLBlueHorizonR"
- top="40"
- width="200" />
- <slider
- control_name="WLBlueHorizonG"
- decimal_digits="2"
- follows="left"
- height="10"
- increment="0.01"
- initial_value="0.7"
- layout="topleft"
- left_delta="0"
- name="WLBlueHorizonG"
- top_pad="1"
- width="200" />
- <slider
- control_name="WLBlueHorizonB"
- decimal_digits="2"
- follows="left"
- height="10"
- increment="0.01"
- initial_value="0.7"
- layout="topleft"
- left_delta="0"
- name="WLBlueHorizonB"
- top_pad="1"
- width="200" />
- <slider
control_name="WLBlueHorizonI"
decimal_digits="2"
follows="left"
@@ -200,9 +197,9 @@
increment="0.01"
initial_value="1.0"
layout="topleft"
- left_delta="0"
name="WLBlueHorizonI"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
<text
type="string"
@@ -211,9 +208,9 @@
font="SansSerif"
height="16"
layout="topleft"
- left_delta="-14"
+ left="10"
+ top_pad="-10"
name="BDensText"
- top_delta="-2"
width="355">
Haze Horizon
</text>
@@ -225,9 +222,10 @@
increment="0.01"
initial_value="0.25"
layout="topleft"
- left="24"
+ left="23"
+ top_delta="0"
+ top_pad="27"
name="WLHazeHorizon"
- top="107"
width="200" />
<text
type="string"
@@ -251,10 +249,22 @@
layout="topleft"
left="245"
name="BHText6"
- top="21"
+ top_pad="5"
width="10">
R
</text>
+ <slider
+ control_name="WLBlueDensityR"
+ decimal_digits="2"
+ follows="left"
+ height="10"
+ increment="0.01"
+ initial_value="0.7"
+ layout="topleft"
+ left_pad="3"
+ top_pad="6"
+ name="WLBlueDensityR"
+ width="200" />
<text
type="string"
length="1"
@@ -262,50 +272,12 @@
halign="center"
height="16"
layout="topleft"
- left_delta="0"
+ left="245"
name="BHText7"
- top_delta="11"
+ top_pad="-15"
width="10">
G
</text>
- <text
- type="string"
- length="1"
- follows="left|top|right"
- halign="center"
- height="16"
- layout="topleft"
- left_delta="0"
- name="BHText8"
- top_delta="11"
- width="10">
- B
- </text>
- <text
- type="string"
- length="1"
- follows="left|top|right"
- halign="center"
- height="16"
- layout="topleft"
- left_delta="0"
- name="BHText9"
- top_delta="11"
- width="10">
- I
- </text>
- <slider
- control_name="WLBlueDensityR"
- decimal_digits="2"
- follows="left"
- height="10"
- increment="0.01"
- initial_value="0.7"
- layout="topleft"
- left="259"
- name="WLBlueDensityR"
- top="40"
- width="200" />
<slider
control_name="WLBlueDensityG"
decimal_digits="2"
@@ -316,8 +288,22 @@
layout="topleft"
left_delta="0"
name="WLBlueDensityG"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
+ <text
+ type="string"
+ length="1"
+ follows="left|top|right"
+ halign="center"
+ height="16"
+ layout="topleft"
+ left="245"
+ name="BHText8"
+ top_pad="-15"
+ width="10">
+ B
+ </text>
<slider
control_name="WLBlueDensityB"
decimal_digits="2"
@@ -328,8 +314,22 @@
layout="topleft"
left_delta="0"
name="WLBlueDensityB"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
+ <text
+ type="string"
+ length="1"
+ follows="left|top|right"
+ halign="center"
+ height="16"
+ layout="topleft"
+ left="245"
+ name="BHText9"
+ top_pad="-15"
+ width="10">
+ I
+ </text>
<slider
control_name="WLBlueDensityI"
decimal_digits="2"
@@ -340,7 +340,8 @@
layout="topleft"
left_delta="0"
name="WLBlueDensityI"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
<text
type="string"
@@ -349,9 +350,9 @@
font="SansSerif"
height="16"
layout="topleft"
- left_delta="-14"
+ left="245"
name="HDText"
- top_delta="-2"
+ top_pad="-10"
width="355">
Haze Density
</text>
@@ -363,10 +364,10 @@
increment="0.01"
initial_value="0.7"
layout="topleft"
- left="259"
+ left="258"
max_val="4"
name="WLHazeDensity"
- top="107"
+ top_pad="27"
width="200" />
<text
type="string"
@@ -389,10 +390,10 @@
increment="0.01"
initial_value="0.1"
layout="topleft"
- left="494"
+ left_delta="13"
max_val="0.9"
name="WLDensityMult"
- top="40"
+ top_pad="27"
width="200" />
<text
type="string"
@@ -401,9 +402,9 @@
font="SansSerif"
height="16"
layout="topleft"
- left_delta="-14"
+ left_delta="-13"
name="WLDistanceMultText"
- top_delta="-3"
+ top_pad="-10"
width="355">
Distance Multiplier
</text>
@@ -414,11 +415,11 @@
height="10"
initial_value="1.0"
layout="topleft"
- left="494"
+ left_delta="13"
max_val="100"
name="WLDistanceMult"
- top="73"
- width="207" />
+ top_pad="27"
+ width="200" />
<text
type="string"
length="1"
@@ -426,9 +427,9 @@
font="SansSerif"
height="16"
layout="topleft"
- left_delta="-14"
+ left_delta="-13"
name="MaxAltText"
- top_delta="-2"
+ top_pad="-15"
width="355">
Max Altitude
</text>
@@ -440,17 +441,17 @@
increment="1"
initial_value="500"
layout="topleft"
- left="494"
+ left_delta="13"
max_val="4000"
name="WLMaxAltitude"
- top="107"
- width="205" />
+ top_pad="27"
+ width="200" />
</panel>
<panel
border="true"
follows="left|top|right|bottom"
- height="160"
- label="Lighting"
+ height="196"
+ label="LIGHTING"
layout="topleft"
left_delta="0"
help_topic="windlight_lighting_tab"
@@ -477,12 +478,24 @@
halign="center"
height="16"
layout="topleft"
- left="10"
+ left_delta="0"
name="BHText"
- top="21"
+ top_pad="5"
width="10">
R
</text>
+ <slider
+ control_name="WLSunlightR"
+ decimal_digits="2"
+ follows="left"
+ height="10"
+ increment="0.01"
+ initial_value="0.7"
+ layout="topleft"
+ left_pad="3"
+ top_pad="6"
+ name="WLSunlightR"
+ width="200" />
<text
type="string"
length="1"
@@ -490,50 +503,12 @@
halign="center"
height="16"
layout="topleft"
- left_delta="0"
+ left_delta="-13"
name="BHText2"
- top_delta="11"
+ top_pad="-15"
width="10">
G
</text>
- <text
- type="string"
- length="1"
- follows="left|top|right"
- halign="center"
- height="16"
- layout="topleft"
- left_delta="0"
- name="BHText3"
- top_delta="11"
- width="10">
- B
- </text>
- <text
- type="string"
- length="1"
- follows="left|top|right"
- halign="center"
- height="16"
- layout="topleft"
- left_delta="0"
- name="BHText4"
- top_delta="11"
- width="10">
- I
- </text>
- <slider
- control_name="WLSunlightR"
- decimal_digits="2"
- follows="left"
- height="10"
- increment="0.01"
- initial_value="0.7"
- layout="topleft"
- left="24"
- name="WLSunlightR"
- top="40"
- width="200" />
<slider
control_name="WLSunlightG"
decimal_digits="2"
@@ -544,8 +519,22 @@
layout="topleft"
left_delta="0"
name="WLSunlightG"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
+ <text
+ type="string"
+ length="1"
+ follows="left|top|right"
+ halign="center"
+ height="16"
+ layout="topleft"
+ left_delta="-13"
+ name="BHText3"
+ top_pad="-15"
+ width="10">
+ B
+ </text>
<slider
control_name="WLSunlightB"
decimal_digits="2"
@@ -556,8 +545,22 @@
layout="topleft"
left_delta="0"
name="WLSunlightB"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
+ <text
+ type="string"
+ length="1"
+ follows="left|top|right"
+ halign="center"
+ height="16"
+ layout="topleft"
+ left_delta="-13"
+ name="BHText4"
+ top_pad="-15"
+ width="10">
+ I
+ </text>
<slider
control_name="WLSunlightI"
decimal_digits="2"
@@ -568,7 +571,8 @@
layout="topleft"
left_delta="0"
name="WLSunlightI"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
<text
type="string"
@@ -577,9 +581,9 @@
font="SansSerif"
height="16"
layout="topleft"
- left_delta="-14"
+ left_delta="-13"
name="TODText"
- top_delta="-2"
+ top_pad="-10"
width="355">
Sun/Moon Position
</text>
@@ -587,9 +591,9 @@
height="20"
image_name="icon_diurnal.tga"
layout="topleft"
- left="30"
+ left_delta="14"
+ top_pad="10"
name="SkyDayCycle"
- top="97"
width="148" />
<slider
control_name="WLSunAngle"
@@ -598,10 +602,10 @@
increment="0.001"
initial_value="0.7"
layout="topleft"
- left="24"
+ left_delta="-8"
name="WLSunAngle"
- top="137"
- width="204" />
+ top_pad="20"
+ width="207" />
<text
type="string"
length="1"
@@ -622,12 +626,24 @@
halign="center"
height="16"
layout="topleft"
- left="245"
+ left_delta="0"
name="BHText5"
- top="21"
+ top_pad="5"
width="10">
R
</text>
+ <slider
+ control_name="WLAmbientR"
+ decimal_digits="2"
+ follows="left"
+ height="10"
+ increment="0.01"
+ initial_value="0.7"
+ layout="topleft"
+ left_pad="3"
+ top_pad="6"
+ name="WLAmbientR"
+ width="200" />
<text
type="string"
length="1"
@@ -635,50 +651,12 @@
halign="center"
height="16"
layout="topleft"
- left_delta="0"
+ left_delta="-13"
name="BHText6"
- top_delta="11"
+ top_pad="-15"
width="10">
G
</text>
- <text
- type="string"
- length="1"
- follows="left|top|right"
- halign="center"
- height="16"
- layout="topleft"
- left_delta="0"
- name="BHText7"
- top_delta="11"
- width="10">
- B
- </text>
- <text
- type="string"
- length="1"
- follows="left|top|right"
- halign="center"
- height="16"
- layout="topleft"
- left_delta="0"
- name="BHText8"
- top_delta="11"
- width="10">
- I
- </text>
- <slider
- control_name="WLAmbientR"
- decimal_digits="2"
- follows="left"
- height="10"
- increment="0.01"
- initial_value="0.7"
- layout="topleft"
- left="259"
- name="WLAmbientR"
- top="40"
- width="200" />
<slider
control_name="WLAmbientG"
decimal_digits="2"
@@ -689,8 +667,22 @@
layout="topleft"
left_delta="0"
name="WLAmbientG"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
+ <text
+ type="string"
+ length="1"
+ follows="left|top|right"
+ halign="center"
+ height="16"
+ layout="topleft"
+ left_delta="-13"
+ name="BHText7"
+ top_pad="-15"
+ width="10">
+ B
+ </text>
<slider
control_name="WLAmbientB"
decimal_digits="2"
@@ -701,8 +693,22 @@
layout="topleft"
left_delta="0"
name="WLAmbientB"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
+ <text
+ type="string"
+ length="1"
+ follows="left|top|right"
+ halign="center"
+ height="16"
+ layout="topleft"
+ left_delta="-13"
+ name="BHText8"
+ top_pad="-15"
+ width="10">
+ I
+ </text>
<slider
control_name="WLAmbientI"
decimal_digits="2"
@@ -713,7 +719,8 @@
layout="topleft"
left_delta="0"
name="WLAmbientI"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
<text
type="string"
@@ -722,9 +729,9 @@
font="SansSerif"
height="16"
layout="topleft"
- left_delta="-14"
+ left_delta="-13"
name="WLEastAngleText"
- top_delta="-2"
+ top_pad="-10"
width="355">
East Angle
</text>
@@ -736,9 +743,9 @@
increment="0.01"
initial_value="0.0"
layout="topleft"
- left="259"
+ left_delta="13"
name="WLEastAngle"
- top="107"
+ top_pad="27"
width="200" />
<text
type="string"
@@ -762,10 +769,10 @@
initial_value="0.1"
label="Focus "
layout="topleft"
- left="494"
+ left_delta="0"
max_val="0.5"
name="WLGlowB"
- top="40"
+ top_pad="27"
width="200" />
<slider
control_name="WLGlowR"
@@ -780,7 +787,7 @@
max_val="1.99"
min_val="1"
name="WLGlowR"
- top_pad="1"
+ top_pad="6"
width="200" />
<text
type="string"
@@ -789,9 +796,9 @@
font="SansSerif"
height="16"
layout="topleft"
- left_delta="-14"
+ left_delta="0"
name="SceneGammaText"
- top_delta="0"
+ top_pad="-10"
width="200">
Scene Gamma
</text>
@@ -803,11 +810,11 @@
increment="0.01"
initial_value="2.0"
layout="topleft"
- left="494"
+ left_delta="0"
max_val="10"
name="WLGamma"
- top="87"
- width="207" />
+ top_pad="27"
+ width="200" />
<text
type="string"
length="1"
@@ -815,9 +822,9 @@
font="SansSerif"
height="16"
layout="topleft"
- left_delta="-14"
+ left_delta="0"
name="WLStarText"
- top_delta="-1"
+ top_pad="-10"
width="355">
Star Brightness
</text>
@@ -829,17 +836,17 @@
increment="0.01"
initial_value="0"
layout="topleft"
- left="494"
+ left_delta="0"
max_val="2"
name="WLStarAlpha"
- top="122"
+ top_pad="27"
width="200" />
</panel>
<panel
border="true"
follows="left|top|right|bottom"
- height="160"
- label="Clouds"
+ height="196"
+ label="CLOUDS"
layout="topleft"
left_delta="0"
mouse_opaque="false"
@@ -867,12 +874,24 @@
halign="center"
height="16"
layout="topleft"
- left="10"
+ left_delta="0"
name="BHText"
- top="21"
+ top_pad="5"
width="10">
R
</text>
+ <slider
+ control_name="WLCloudColorR"
+ decimal_digits="2"
+ follows="left"
+ height="10"
+ increment="0.01"
+ initial_value="0.7"
+ layout="topleft"
+ left_pad="3"
+ top_pad="6"
+ name="WLCloudColorR"
+ width="200" />
<text
type="string"
length="1"
@@ -880,50 +899,12 @@
halign="center"
height="16"
layout="topleft"
- left_delta="0"
+ left_delta="-13"
name="BHText2"
- top_delta="11"
+ top_pad="-15"
width="10">
G
</text>
- <text
- type="string"
- length="1"
- follows="left|top|right"
- halign="center"
- height="16"
- layout="topleft"
- left_delta="0"
- name="BHText3"
- top_delta="11"
- width="10">
- B
- </text>
- <text
- type="string"
- length="1"
- follows="left|top|right"
- halign="center"
- height="16"
- layout="topleft"
- left_delta="0"
- name="BHText4"
- top_delta="11"
- width="10">
- I
- </text>
- <slider
- control_name="WLCloudColorR"
- decimal_digits="2"
- follows="left"
- height="10"
- increment="0.01"
- initial_value="0.7"
- layout="topleft"
- left="24"
- name="WLCloudColorR"
- top="40"
- width="200" />
<slider
control_name="WLCloudColorG"
decimal_digits="2"
@@ -934,8 +915,22 @@
layout="topleft"
left_delta="0"
name="WLCloudColorG"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
+ <text
+ type="string"
+ length="1"
+ follows="left|top|right"
+ halign="center"
+ height="16"
+ layout="topleft"
+ left_delta="-13"
+ name="BHText3"
+ top_pad="-15"
+ width="10">
+ B
+ </text>
<slider
control_name="WLCloudColorB"
decimal_digits="2"
@@ -946,8 +941,22 @@
layout="topleft"
left_delta="0"
name="WLCloudColorB"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
+ <text
+ type="string"
+ length="1"
+ follows="left|top|right"
+ halign="center"
+ height="16"
+ layout="topleft"
+ left_delta="-13"
+ name="BHText4"
+ top_pad="-15"
+ width="10">
+ I
+ </text>
<slider
control_name="WLCloudColorI"
decimal_digits="2"
@@ -958,7 +967,8 @@
layout="topleft"
left_delta="0"
name="WLCloudColorI"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
<text
type="string"
@@ -967,9 +977,9 @@
font="SansSerif"
height="16"
layout="topleft"
- left_delta="-14"
+ left_delta="-13"
name="WLCloudColorText2"
- top_delta="-2"
+ top_pad="-10"
width="355">
Cloud XY/Density
</text>
@@ -980,12 +990,24 @@
halign="center"
height="16"
layout="topleft"
- left="10"
+ left_delta="0"
name="BHText5"
- top="87"
+ top_pad="5"
width="10">
X
</text>
+ <slider
+ control_name="WLCloudX"
+ decimal_digits="2"
+ follows="left"
+ height="10"
+ increment="0.01"
+ initial_value="0.5"
+ layout="topleft"
+ left_pad="3"
+ top_pad="6"
+ name="WLCloudX"
+ width="200" />
<text
type="string"
length="1"
@@ -993,12 +1015,24 @@
halign="center"
height="16"
layout="topleft"
- left_delta="0"
+ left_delta="-13"
name="BHText6"
- top_delta="11"
+ top_pad="-15"
width="10">
Y
</text>
+ <slider
+ control_name="WLCloudY"
+ decimal_digits="2"
+ follows="left"
+ height="10"
+ increment="0.01"
+ initial_value="0.5"
+ layout="topleft"
+ left_pad="3"
+ top_pad="6"
+ name="WLCloudY"
+ width="200" />
<text
type="string"
length="1"
@@ -1006,37 +1040,13 @@
halign="center"
height="16"
layout="topleft"
- left_delta="0"
+ left_delta="-13"
name="BHText7"
- top_delta="11"
+ top_pad="-15"
width="10">
D
</text>
<slider
- control_name="WLCloudX"
- decimal_digits="2"
- follows="left"
- height="10"
- increment="0.01"
- initial_value="0.5"
- layout="topleft"
- left_pad="4"
- name="WLCloudX"
- top_delta="-2"
- width="200" />
- <slider
- control_name="WLCloudY"
- decimal_digits="2"
- follows="left"
- height="10"
- increment="0.01"
- initial_value="0.5"
- layout="topleft"
- left_delta="0"
- name="WLCloudY"
- top_pad="1"
- width="200" />
- <slider
control_name="WLCloudDensity"
decimal_digits="2"
follows="left"
@@ -1046,7 +1056,8 @@
layout="topleft"
left_delta="0"
name="WLCloudDensity"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
<text
type="string"
@@ -1069,9 +1080,9 @@
increment="0.01"
initial_value="0.5"
layout="topleft"
- left="259"
+ left_delta="13"
name="WLCloudCoverage"
- top="40"
+ top_pad="27"
width="200" />
<text
type="string"
@@ -1080,9 +1091,9 @@
font="SansSerif"
height="16"
layout="topleft"
- left_delta="-14"
+ left_delta="-13"
name="WLCloudScaleText"
- top_delta="-1"
+ top_pad="-10"
width="355">
Cloud Scale
</text>
@@ -1094,10 +1105,10 @@
increment="0.01"
initial_value="1.0"
layout="topleft"
- left="259"
+ left_delta="13"
min_val="0.01"
name="WLCloudScale"
- top="75"
+ top_pad="27"
width="200" />
<text
type="string"
@@ -1106,9 +1117,9 @@
font="SansSerif"
height="16"
layout="topleft"
- left_delta="-14"
+ left_delta="-13"
name="WLCloudDetailText"
- top_delta="-4"
+ top_pad="-10"
width="355">
Cloud Detail (XY/Density)
</text>
@@ -1119,12 +1130,24 @@
halign="center"
height="16"
layout="topleft"
- left="245"
+ left_delta="0"
name="BHText8"
- top="87"
+ top_pad="5"
width="10">
X
</text>
+ <slider
+ control_name="WLCloudDetailX"
+ decimal_digits="2"
+ follows="left"
+ height="10"
+ increment="0.01"
+ initial_value="0.5"
+ layout="topleft"
+ left_pad="3"
+ top_pad="6"
+ name="WLCloudDetailX"
+ width="200" />
<text
type="string"
length="1"
@@ -1132,37 +1155,12 @@
halign="center"
height="16"
layout="topleft"
- left_delta="0"
+ left_delta="-13"
name="BHText9"
- top_delta="11"
+ top_pad="-15"
width="10">
Y
</text>
- <text
- type="string"
- length="1"
- follows="left|top|right"
- halign="center"
- height="16"
- layout="topleft"
- left_delta="0"
- name="BHText10"
- top_delta="11"
- width="10">
- D
- </text>
- <slider
- control_name="WLCloudDetailX"
- decimal_digits="2"
- follows="left"
- height="10"
- increment="0.01"
- initial_value="0.5"
- layout="topleft"
- left_pad="4"
- name="WLCloudDetailX"
- top_delta="-2"
- width="200" />
<slider
control_name="WLCloudDetailY"
decimal_digits="2"
@@ -1173,8 +1171,22 @@
layout="topleft"
left_delta="0"
name="WLCloudDetailY"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
+ <text
+ type="string"
+ length="1"
+ follows="left|top|right"
+ halign="center"
+ height="16"
+ layout="topleft"
+ left_delta="-13"
+ name="BHText10"
+ top_pad="-15"
+ width="10">
+ D
+ </text>
<slider
control_name="WLCloudDetailDensity"
decimal_digits="2"
@@ -1185,7 +1197,8 @@
layout="topleft"
left_delta="0"
name="WLCloudDetailDensity"
- top_pad="1"
+ left_pad="3"
+ top_pad="6"
width="200" />
<text
type="string"
diff --git a/indra/newview/skins/default/xui/en/floater_world_map.xml b/indra/newview/skins/default/xui/en/floater_world_map.xml
index 86ac7c8e54..291f8f6f51 100644
--- a/indra/newview/skins/default/xui/en/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/en/floater_world_map.xml
@@ -53,7 +53,8 @@
follows="right|top"
height="126"
top_pad="0"
- width="238">
+ width="238"
+ name="layout_panel_2">
<button
follows="right|top"
height="22"
@@ -374,7 +375,8 @@
top_pad="0"
width="238"
background_visible="true"
- bg_alpha_color="DkGray2">
+ bg_alpha_color="DkGray2"
+ name="layout_panel_3">
<text
text_color="White"
font="SansSerifLarge"
@@ -396,7 +398,8 @@
follows="right|top|bottom"
height="310"
top_pad="0"
- width="238">
+ width="238"
+ name="layout_panel_4">
<icon
color="0.5 0 0 1"
follows="top|right"
@@ -638,7 +641,8 @@
top_pad="0"
width="238"
background_visible="true"
- bg_alpha_color="DkGray2">
+ bg_alpha_color="DkGray2"
+ name="layout_panel_5">
<text
text_color="White"
font="SansSerifLarge"
@@ -660,7 +664,8 @@
height="30"
min_height="30"
top_pad="0"
- width="238">
+ width="238"
+ name="layout_panel_6">
<icon
follows="left|bottom"
height="16"
@@ -670,7 +675,7 @@
mouse_opaque="true"
name="zoom_icon"
top_pad="7"
- width="16" />
+ width="16" ></icon>
<slider
follows="left|bottom"
height="16"
diff --git a/indra/newview/skins/default/xui/en/inspector_info_ctrl.xml b/indra/newview/skins/default/xui/en/inspector_info_ctrl.xml
new file mode 100644
index 0000000000..39fb54d513
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/inspector_info_ctrl.xml
@@ -0,0 +1,9 @@
+<button
+ chrome="true"
+ image_selected="Info_Small"
+ image_unselected="Info_Small"
+ image_pressed="Info_Small"
+ height="12"
+ name="inspector_info_ctrl"
+ width="12" />
+ \ No newline at end of file
diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml
index 7b6081d7be..85853f39bb 100644
--- a/indra/newview/skins/default/xui/en/main_view.xml
+++ b/indra/newview/skins/default/xui/en/main_view.xml
@@ -156,18 +156,19 @@
name="notify_container"
tab_group="-2"
width="1024"/>
- <menu_holder top="0"
- follows="all"
- height="768"
- mouse_opaque="false"
- name="Menu Holder"
- width="1024"/>
<panel top="0"
follows="all"
height="768"
mouse_opaque="false"
name="popup_holder"
+ class="popup_holder"
width="1024"/>
+ <menu_holder top="0"
+ follows="all"
+ height="768"
+ mouse_opaque="false"
+ name="Menu Holder"
+ width="1024"/>
<snapshot_floater_view enabled="false"
follows="all"
height="768"
diff --git a/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml
index 85ec174829..1b002b1c32 100644
--- a/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml
+++ b/indra/newview/skins/default/xui/en/menu_inspect_avatar_gear.xml
@@ -116,4 +116,10 @@
<menu_item_call.on_click
function="InspectAvatar.Pay"/>
</menu_item_call>
+ <menu_item_call
+ label="Share"
+ name="share">
+ <menu_item_call.on_click
+ function="InspectAvatar.Share"/>
+ </menu_item_call>
</menu>
diff --git a/indra/newview/skins/default/xui/en/menu_object.xml b/indra/newview/skins/default/xui/en/menu_object.xml
index d66818e91a..2c97112e38 100644
--- a/indra/newview/skins/default/xui/en/menu_object.xml
+++ b/indra/newview/skins/default/xui/en/menu_object.xml
@@ -44,11 +44,24 @@
name="Object Sit">
<menu_item_call.on_click
function="Object.SitOrStand" />
+ <menu_item_call.on_visible
+ function="Object.SitVisible" />
<menu_item_call.on_enable
function="Object.EnableSitOrStand"
- name="EnableSitOrStand"
- parameter="Sit Here,Stand Up" />
- </menu_item_call>
+ name="EnableSitOrStand" />
+ </menu_item_call>
+ <menu_item_call
+ enabled="false"
+ label="Stand Up"
+ name="Object Stand Up">
+ <menu_item_call.on_click
+ function="Object.SitOrStand" />
+ <menu_item_call.on_visible
+ function="Object.StandUpVisible" />
+ <menu_item_call.on_enable
+ function="Object.EnableSitOrStand"
+ name="EnableSitOrStand" />
+ </menu_item_call>
<menu_item_call
label="Object Profile"
name="Object Inspect">
@@ -124,16 +137,28 @@
</menu_item_call>
</context_menu>
<menu_item_separator layout="topleft" />
- <menu_item_call
- enabled="false"
+ <menu_item_call
+ label="Buy"
+ layout="topleft"
+ name="Pie Object Bye">
+ <menu_item_call.on_click
+ function="Tools.BuyOrTake"/>
+ <menu_item_call.on_visible
+ function="Tools.VisibleBuyObject"/>
+ <menu_item_call.on_enable
+ function="Tools.EnableBuyOrTake"/>
+ </menu_item_call>
+ <menu_item_call
label="Take"
+ layout="topleft"
name="Pie Object Take">
- <menu_item_call.on_click
- function="Tools.BuyOrTake" />
- <menu_item_call.on_enable
- function="Tools.EnableBuyOrTake"
- parameter="Buy,Take" />
- </menu_item_call>
+ <menu_item_call.on_click
+ function="Tools.BuyOrTake"/>
+ <menu_item_call.on_visible
+ function="Tools.VisibleTakeObject"/>
+ <menu_item_call.on_enable
+ function="Tools.EnableBuyOrTake"/>
+ </menu_item_call>
<menu_item_call
enabled="false"
label="Take Copy"
diff --git a/indra/newview/skins/default/xui/en/menu_people_nearby.xml b/indra/newview/skins/default/xui/en/menu_people_nearby.xml
index 9d2ccba4da..014a52bb4f 100644
--- a/indra/newview/skins/default/xui/en/menu_people_nearby.xml
+++ b/indra/newview/skins/default/xui/en/menu_people_nearby.xml
@@ -47,6 +47,16 @@
parameter="can_call" />
</menu_item_call>
<menu_item_call
+ label="Map"
+ layout="topleft"
+ name="Map">
+ <menu_item_call.on_click
+ function="Avatar.ShowOnMap" />
+ <menu_item_call.on_enable
+ function="Avatar.EnableItem"
+ parameter="can_show_on_map" />
+ </menu_item_call>
+ <menu_item_call
label="Share"
layout="topleft"
name="Share">
diff --git a/indra/newview/skins/default/xui/en/menu_places_gear_folder.xml b/indra/newview/skins/default/xui/en/menu_places_gear_folder.xml
index 9b3948b29b..3e38503e43 100644
--- a/indra/newview/skins/default/xui/en/menu_places_gear_folder.xml
+++ b/indra/newview/skins/default/xui/en/menu_places_gear_folder.xml
@@ -45,6 +45,9 @@
<on_click
function="Places.LandmarksGear.CopyPaste.Action"
parameter="copy" />
+ <on_enable
+ function="Places.LandmarksGear.Enable"
+ parameter="copy" />
</menu_item_call>
<menu_item_call
label="Paste"
@@ -88,6 +91,9 @@
<on_click
function="Places.LandmarksGear.Folding.Action"
parameter="expand" />
+ <on_enable
+ function="Places.LandmarksGear.Enable"
+ parameter="expand" />
</menu_item_call>
<menu_item_call
label="Collapse"
@@ -96,6 +102,9 @@
<on_click
function="Places.LandmarksGear.Folding.Action"
parameter="collapse" />
+ <on_enable
+ function="Places.LandmarksGear.Enable"
+ parameter="collapse" />
</menu_item_call>
<menu_item_call
label="Expand all folders"
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 2df7f58d4d..806c28d141 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -308,8 +308,7 @@
function="Floater.Visible"
parameter="moveview" />
<menu_item_check.on_click
- function="Floater.Toggle"
- parameter="moveview" />
+ function="World.Toggle.MovementControls" />
</menu_item_check>
<menu_item_check
label="View Controls"
@@ -319,8 +318,7 @@
function="Floater.Visible"
parameter="camera" />
<menu_item_check.on_click
- function="Floater.Toggle"
- parameter="camera" />
+ function="World.Toggle.CameraControls" />
</menu_item_check>
<menu_item_check
label="Ban Lines"
@@ -365,6 +363,24 @@
function="ToggleControl"
parameter="ShowParcelOwners" />
</menu_item_check>
+ <menu_item_check
+ label="Coordinates"
+ name="Coordinates">
+ <menu_item_check.on_click
+ function="ToggleControl"
+ parameter="NavBarShowCoordinates" />
+ <menu_item_check.on_check
+ control="NavBarShowCoordinates" />
+ </menu_item_check>
+ <menu_item_check
+ label="Parcel Properties"
+ name="Parcel Properties">
+ <menu_item_check.on_click
+ function="ToggleControl"
+ parameter="NavBarShowParcelProperties" />
+ <menu_item_check.on_check
+ control="NavBarShowParcelProperties" />
+ </menu_item_check>
</menu>
<menu_item_separator
layout="topleft" />
@@ -712,16 +728,26 @@
name="Object"
tear_off="true">
<menu_item_call
- label="Buy"
- layout="topleft"
- name="Menu Object Take"
- visible="true">
- <menu_item_call.on_click
- function="Tools.BuyOrTake" />
- <menu_item_call.on_enable
- function="Tools.EnableBuyOrTake"
- name="EnableBuyOrTake"
- parameter="Buy,Take" />
+ label="Buy"
+ layout="topleft"
+ name="Menu Object Buy">
+ <menu_item_call.on_click
+ function="Tools.BuyOrTake"/>
+ <menu_item_call.on_visible
+ function="Tools.VisibleBuyObject"/>
+ <menu_item_call.on_enable
+ function="Tools.EnableBuyOrTake"/>
+ </menu_item_call>
+ <menu_item_call
+ label="Take"
+ layout="topleft"
+ name="Menu Object Take">
+ <menu_item_call.on_click
+ function="Tools.BuyOrTake"/>
+ <menu_item_call.on_visible
+ function="Tools.VisibleTakeObject"/>
+ <menu_item_call.on_enable
+ function="Tools.EnableBuyOrTake"/>
</menu_item_call>
<menu_item_call
label="Take Copy"
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index ae4ee7a377..7f0a3ff360 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -249,7 +249,7 @@ Save all changes to clothing/body parts?
Non-friends won't know that you've choosen to ignore their calls and instant messages.
<usetemplate
name="okbutton"
- yestext="Yes"/>
+ yestext="OK"/>
</notification>
<notification
@@ -1036,7 +1036,6 @@ Unable to write file [[FILE]]
type="alertmodal">
Just so you know, your computer does not meet [APP_NAME]&apos;s minimum system requirements. You may experience poor performance. Unfortunately, the [SUPPORT_SITE] can't provide technical support for unsupported system configurations.
-MINSPECS
Visit [_URL] for more information?
<url option="0" name="url">
@@ -2849,11 +2848,11 @@ Leave Group?
icon="alert.tga"
name="ConfirmKick"
type="alert">
-Do you REALLY want to kick all users off the grid?
+Do you REALLY want to kick all Residents off the grid?
<usetemplate
name="okcancelbuttons"
notext="Cancel"
- yestext="Kick All Users"/>
+ yestext="Kick All Residents"/>
</notification>
<notification
@@ -2953,7 +2952,7 @@ You have reached your maximum number of groups. Please leave some group before j
icon="alert.tga"
name="KickUser"
type="alert">
-Kick this user with what message?
+Kick this Resident with what message?
<form name="form">
<input name="message" type="text">
An administrator has logged you off.
@@ -2995,7 +2994,7 @@ An administrator has logged you off.
icon="alert.tga"
name="FreezeUser"
type="alert">
-Freeze this user with what message?
+Freeze this Resident with what message?
<form name="form">
<input name="message" type="text">
You have been frozen. You cannot move or chat. An administrator will contact you via instant message (IM).
@@ -3016,7 +3015,7 @@ You have been frozen. You cannot move or chat. An administrator will contact you
icon="alert.tga"
name="UnFreezeUser"
type="alert">
-Unfreeze this user with what message?
+Unfreeze this Resident with what message?
<form name="form">
<input name="message" type="text">
You are no longer frozen.
@@ -3079,7 +3078,7 @@ Join me in [REGION]
icon="alertmodal.tga"
name="OfferTeleportFromGod"
type="alertmodal">
-God summon user to your location?
+God summon Resident to your location?
<form name="form">
<input name="message" type="text">
Join me in [REGION]
@@ -3159,7 +3158,7 @@ Type a short announcement which will be sent to everyone currently in your estat
type="alert">
You are about to change a Linden owned estate (mainland, teen grid, orientation, etc.).
-This is EXTREMELY DANGEROUS because it can fundamentally affect the user experience. On the mainland, it will change thousands of regions and make the spaceserver hiccup.
+This is EXTREMELY DANGEROUS because it can fundamentally affect the Resident experience. On the mainland, it will change thousands of regions and make the spaceserver hiccup.
Proceed?
<usetemplate
@@ -4331,14 +4330,14 @@ Topic: [SUBJECT], Message: [MESSAGE]
icon="notifytip.tga"
name="FriendOnline"
type="notifytip">
-[NAME_SLURL] is Online
+[FIRST] [LAST] is Online
</notification>
<notification
icon="notifytip.tga"
name="FriendOffline"
type="notifytip">
-[NAME_SLURL] is Offline
+[FIRST] [LAST] is Offline
</notification>
<notification
@@ -5211,9 +5210,23 @@ An object named [OBJECTFROMNAME] owned by [NAME_SLURL] has given you this [OBJEC
type="notify">
[NAME] declined your friendship offer.
</notification>
+
+ <notification
+ icon="notify.tga"
+ name="FriendshipAcceptedByMe"
+ type="offer">
+Friendship offer accepted.
+ </notification>
<notification
icon="notify.tga"
+ name="FriendshipDeclinedByMe"
+ type="offer">
+Friendship offer declined.
+ </notification>
+
+ <notification
+ icon="notify.tga"
name="OfferCallingCard"
type="notify">
[FIRST] [LAST] is offering their calling card.
@@ -5376,7 +5389,7 @@ Grant this request?
icon="notify.tga"
name="ScriptToast"
type="notify">
- [FIRST] [LAST]&apos;s &apos;[TITLE]&apos; is requesting user input.
+ [FIRST] [LAST]&apos;s &apos;[TITLE]&apos; is requesting Resident input.
<form name="form">
<button
index="0"
@@ -5842,7 +5855,8 @@ Are you sure you want to close all IMs?
<usetemplate
name="okcancelignore"
notext="Cancel"
- yestext="OK"/>
+ yestext="OK"
+ ignoretext="Confirm before I close all IMs"/>
</notification>
<notification icon="notifytip.tga"
diff --git a/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml
index c605975c8e..1e2e74f882 100644
--- a/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml
+++ b/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml
@@ -75,6 +75,7 @@
height="16"
image_pressed="Info_Press"
image_unselected="Info_Over"
+ layout="topleft"
left_pad="3"
right="-53"
name="info_btn"
diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray.xml b/indra/newview/skins/default/xui/en/panel_bottomtray.xml
index 4c5d5a1b96..015a2e91ff 100644
--- a/indra/newview/skins/default/xui/en/panel_bottomtray.xml
+++ b/indra/newview/skins/default/xui/en/panel_bottomtray.xml
@@ -47,6 +47,7 @@
min_height="23"
width="310"
top="4"
+ max_width="320"
min_width="216"
name="chat_bar"
user_resize="false"
diff --git a/indra/newview/skins/default/xui/en/panel_chat_header.xml b/indra/newview/skins/default/xui/en/panel_chat_header.xml
index 51e2256a7d..250dadd390 100644
--- a/indra/newview/skins/default/xui/en/panel_chat_header.xml
+++ b/indra/newview/skins/default/xui/en/panel_chat_header.xml
@@ -2,7 +2,8 @@
<panel
background_visible="true"
bevel_style="in"
- bg_alpha_color="black"
+ bg_opaque_color="Black"
+ bg_alpha_color="DkGray_66"
follows="top|left|right"
height="24"
label="im_header"
diff --git a/indra/newview/skins/default/xui/en/panel_classified_info.xml b/indra/newview/skins/default/xui/en/panel_classified_info.xml
index 34c1923582..1535ce2978 100644
--- a/indra/newview/skins/default/xui/en/panel_classified_info.xml
+++ b/indra/newview/skins/default/xui/en/panel_classified_info.xml
@@ -22,6 +22,22 @@
name="l$_price">
L$[PRICE]
</panel.string>
+ <panel.string
+ name="click_through_text_fmt">
+ [TELEPORT] teleport, [MAP] map, [MAP] profile
+ </panel.string>
+ <panel.string
+ name="date_fmt">
+ [mthnum,datetime,slt]/[day,datetime,slt]/[year,datetime,slt]
+ </panel.string>
+ <panel.string
+ name="auto_renew_on">
+ Enabled
+ </panel.string>
+ <panel.string
+ name="auto_renew_off">
+ Disabled
+ </panel.string>
<button
follows="top|right"
height="23"
@@ -51,11 +67,11 @@
follows="all"
height="502"
layout="topleft"
- left="9"
+ left="10"
top_pad="10"
name="profile_scroll"
reserve_scroll_corner="false"
- width="310">
+ width="312">
<panel
name="scroll_content_panel"
follows="left|top"
@@ -63,18 +79,28 @@
layout="topleft"
top="0"
background_visible="false"
- height="500"
+ height="610"
left="0"
width="285">
+ <panel
+ name="snapshot_panel"
+ layout="topleft"
+ follows="left|top|right"
+ height="197"
+ left="10"
+ top="10"
+ width="275"
+ >
<texture_picker
enabled="false"
follows="left|top|right"
height="197"
layout="topleft"
- left="11"
+ left="0"
name="classified_snapshot"
- top="10"
- width="286" />
+ top="0"
+ width="275" />
+ </panel>
<text_editor
allow_scroll="false"
bg_visible="false"
@@ -93,20 +119,43 @@
v_pad="0"
value="[name]"
use_ellipses="true" />
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="10"
+ name="classified_location_label"
+ text_color="white"
+ top_pad="5"
+ value="Location:"
+ width="250" />
<text_editor
allow_scroll="false"
bg_visible="false"
follows="left|top"
h_pad="0"
- height="25"
+ height="30"
layout="topleft"
left="10"
name="classified_location"
read_only="true"
+ top_pad="5"
width="290"
word_wrap="true"
v_pad="0"
value="[loading...]" />
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="10"
+ name="content_type_label"
+ text_color="white"
+ top_pad="10"
+ value="Content Type:"
+ width="140" />
<text_editor
allow_scroll="false"
bg_visible="false"
@@ -114,13 +163,24 @@
h_pad="0"
height="18"
layout="topleft"
- left="10"
+ left_pad="0"
name="content_type"
read_only="true"
- width="290"
- top_pad="5"
+ width="150"
+ top_pad="-10"
v_pad="0"
value="[content type]" />
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="10"
+ name="category_label"
+ text_color="white"
+ top_pad="0"
+ value="Category:"
+ width="140" />
<text_editor
allow_html="true"
allow_scroll="false"
@@ -129,23 +189,51 @@
h_pad="0"
height="18"
layout="topleft"
- left="10"
+ left_pad="0"
name="category"
read_only="true"
- width="290"
- top_pad="5"
+ width="150"
+ top_pad="-10"
v_pad="0"
value="[category]" />
- <check_box
- enabled="false"
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="10"
+ name="creation_date_label"
+ text_color="white"
+ top_pad="0"
+ value="Creation date:"
+ width="140" />
+ <text_editor
+ allow_scroll="false"
+ bg_visible="false"
+ follows="left|top"
+ h_pad="0"
+ halign="left"
height="16"
- label="Auto renew each week"
+ layout="topleft"
+ left_pad="0"
+ name="creation_date"
+ read_only="true"
+ top_pad="-10"
+ tool_tip="Creation date"
+ v_pad="0"
+ value="[date]"
+ width="150" />
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
layout="topleft"
left="10"
- name="auto_renew"
+ name="price_for_listing_label"
+ text_color="white"
top_pad="5"
- v_pad="0"
- width="290" />
+ value="Price for listing:"
+ width="140" />
<text_editor
allow_scroll="false"
bg_visible="false"
@@ -154,29 +242,133 @@
halign="left"
height="16"
layout="topleft"
- left="10"
+ left_pad="0"
name="price_for_listing"
read_only="true"
- top_pad="5"
+ top_pad="-10"
tool_tip="Price for listing."
v_pad="0"
+ value="[price]"
width="105" />
+ <layout_stack
+ animate="false"
+ name="descr_stack"
+ layout="topleft"
+ follows="all"
+ orientation="vertical"
+ left="10"
+ top_pad="5"
+ width="290"
+ height="215">
+ <layout_panel
+ auto_resize="false"
+ name="clickthrough_layout_panel"
+ layout="topleft"
+ follows="all"
+ left="0"
+ top="0"
+ width="290"
+ height="16"
+ user_resize="false">
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="0"
+ name="click_through_label"
+ text_color="white"
+ top_pad="0"
+ value="Clicks:"
+ width="140" />
<text_editor
- allow_html="true"
allow_scroll="false"
bg_visible="false"
- follows="left|top|right"
+ follows="left|top"
+ h_pad="0"
+ halign="left"
+ height="16"
+ layout="topleft"
+ left_pad="0"
+ name="click_through_text"
+ read_only="true"
+ top_pad="-10"
+ tool_tip="Click through data"
+ v_pad="0"
+ value="[clicks]"
+ width="150" />
+ </layout_panel>
+ <layout_panel
+ auto_resize="false"
+ name="price_layout_panel"
+ layout="topleft"
+ follows="all"
+ left="0"
+ top="0"
+ width="290"
+ height="16"
+ user_resize="false">
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="0"
+ name="auto_renew_label"
+ text_color="white"
+ top="0"
+ value="Auto renew:"
+ width="140" />
+ <text
+ height="16"
+ layout="topleft"
+ follows="top|left"
+ left_pad="0"
+ name="auto_renew"
+ top_pad="-10"
+ value="Enabled"
+ width="150" />
+ </layout_panel>
+ <layout_panel
+ name="descr_layout_panel"
+ layout="topleft"
+ follows="all"
+ left="0"
+ top="0"
+ width="290"
+ height="215"
+ user_resize="false">
+ <text
+ auto_resize="false"
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="0"
+ name="classified_desc_label"
+ text_color="white"
+ top="0"
+ value="Description:"
+ width="250" />
+ <text_editor
+ allow_html="true"
+ allow_scroll="true"
+ bg_visible="false"
+ follows="all"
h_pad="0"
height="200"
layout="topleft"
- left="10"
+ left="0"
max_length="1023"
name="classified_desc"
read_only="true"
- width="290"
+ top_pad="7"
+ width="280"
v_pad="0"
value="[description]"
word_wrap="true" />
+ </layout_panel>
+ </layout_stack>
</panel>
</scroll_container>
<panel
diff --git a/indra/newview/skins/default/xui/en/panel_classifieds_list_item.xml b/indra/newview/skins/default/xui/en/panel_classifieds_list_item.xml
index 1375eb87d9..996e28c575 100644
--- a/indra/newview/skins/default/xui/en/panel_classifieds_list_item.xml
+++ b/indra/newview/skins/default/xui/en/panel_classifieds_list_item.xml
@@ -64,6 +64,7 @@
layout="topleft"
left="103"
name="description"
+ textbox.max_length="1024"
textbox.show_context_menu="false"
top_pad="0"
width="178"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_classified.xml b/indra/newview/skins/default/xui/en/panel_edit_classified.xml
index cc09835049..c1b352031f 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_classified.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_classified.xml
@@ -16,6 +16,12 @@
name="location_notice">
(will update after save)
</panel.string>
+ <string name="publish_label">
+ Publish
+ </string>
+ <string name="save_label">
+ Save
+ </string>
<button
follows="top|right"
height="23"
@@ -42,16 +48,16 @@
Edit Classified
</text>
<scroll_container
- color="DkGray2"
- follows="all"
- height="502"
- layout="topleft"
- left="8"
- top_pad="10"
- name="profile_scroll"
- reserve_scroll_corner="false"
- opaque="true"
- width="312">
+ color="DkGray2"
+ follows="all"
+ height="502"
+ layout="topleft"
+ left="8"
+ top_pad="10"
+ name="profile_scroll"
+ reserve_scroll_corner="false"
+ opaque="true"
+ width="312">
<panel
name="scroll_content_panel"
follows="left|top"
@@ -59,27 +65,36 @@
layout="topleft"
top="0"
background_visible="false"
- height="600"
+ height="690"
left="0"
- width="295">
- <texture_picker
- follows="left|top|right"
- height="197"
- width="286"
- layout="topleft"
- top="10"
- left="11"
- name="classified_snapshot" />
- <icon
+ width="285">
+ <panel
+ name="snapshot_panel"
+ layout="topleft"
+ follows="left|top|right"
+ height="197"
+ left="10"
+ top="10"
+ width="272">
+ <texture_picker
+ follows="left|top|right"
+ height="197"
+ width="272"
+ layout="topleft"
+ top="0"
+ left="0"
+ name="classified_snapshot" />
+ <icon
height="197"
image_name="spacer24.tga"
layout="topleft"
name="edit_icon"
label=""
tool_tip="Click to select an image"
- top="10"
- left="11"
- width="286" />
+ top="0"
+ left="0"
+ width="272" />
+ </panel>
<text
type="string"
length="1"
@@ -92,7 +107,7 @@
top="215"
name="Name:"
text_color="white"
- width="290">
+ width="280">
Title:
</text>
<line_editor
@@ -106,7 +121,7 @@
name="classified_name"
prevalidate_callback="ascii"
text_color="black"
- width="290" />
+ width="273" />
<text
type="string"
length="1"
@@ -119,13 +134,13 @@
top_pad="20"
name="description_label"
text_color="white"
- width="290">
+ width="280">
Description:
</text>
<text_editor
follows="left|top|right"
height="100"
- width="290"
+ width="273"
hide_scrollbar="false"
layout="topleft"
left="10"
@@ -146,20 +161,20 @@
name="location_label"
text_color="white"
top_pad="20"
- width="290">
+ width="280">
Location:
</text>
<text
type="string"
length="1"
follows="left|top"
- height="50"
+ height="30"
layout="topleft"
left="10"
name="classified_location"
right="-10"
top_pad="2"
- width="290"
+ width="280"
word_wrap="true">
loading...
</text>
@@ -172,6 +187,17 @@
top_pad="5"
name="set_to_curr_location_btn"
width="156" />
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="10"
+ name="category_label"
+ text_color="white"
+ top_pad="15"
+ value="Category:"
+ width="250" />
<combo_box
follows="left|top"
height="23"
@@ -180,6 +206,17 @@
name="category"
top_pad="5"
width="156" />
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="10"
+ name="content_type_label"
+ text_color="white"
+ top_pad="15"
+ value="Content type:"
+ width="250" />
<combo_box
allow_text_entry="false"
follows="left|top"
@@ -199,6 +236,17 @@
General Content
</combo_item>
</combo_box>
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="10"
+ name="price_for_listing_label"
+ text_color="white"
+ top_pad="15"
+ value="Price for listing:"
+ width="250" />
<spinner
decimal_digits="0"
follows="left|top"
@@ -223,9 +271,9 @@
layout="topleft"
left="10"
name="auto_renew"
- top_pad="5"
+ top_pad="15"
width="250" />
- </panel>
+ </panel>
</scroll_container>
<panel
follows="left|right|bottom"
@@ -239,7 +287,7 @@
<button
follows="bottom|left"
height="23"
- label="Save"
+ label="[LABEL]"
layout="topleft"
name="save_changes_btn"
left="0"
diff --git a/indra/newview/skins/default/xui/en/panel_group_general.xml b/indra/newview/skins/default/xui/en/panel_group_general.xml
index 41e53be29e..f913c58cc9 100644
--- a/indra/newview/skins/default/xui/en/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_general.xml
@@ -1,9 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel
label="General"
- follows="all"
height="604"
- width="303"
+ width="304"
class="panel_group_general"
name="general_tab">
<panel.string
@@ -26,7 +25,7 @@ Hover your mouse over the options for more help.
top="0"
left="0"
height="129"
- width="313"
+ width="304"
layout="topleft">
<texture_picker
follows="left|top"
diff --git a/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml
index b196d8eeb7..701a14e1c5 100644
--- a/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml
@@ -44,11 +44,16 @@ background_visible="true"
tab_stop="false"
top="2"
width="23" />
- <text
+ <text_editor
+ allow_scroll="false"
+ bg_visible="false"
+ read_only = "true"
layout="topleft"
name="group_name"
+ v_pad="0"
value="(Loading...)"
font="SansSerifHugeBold"
+ h_pad="0"
height="26"
left_pad="10"
text_color="LtGray"
@@ -81,80 +86,86 @@ background_visible="true"
width="292"
border_size="0">
<layout_panel
- bg_alpha_color="DkGray2"
- bg_opaque_color="DkGray2"
- background_visible="true"
- background_opaque="true"
- name="group_accordions"
- follows="all"
- layout="topleft"
- auto_resize="true"
- >
+ bg_alpha_color="DkGray2"
+ bg_opaque_color="DkGray2"
+ background_visible="true"
+ background_opaque="true"
+ name="group_accordions"
+ follows="all"
+ layout="topleft"
+ auto_resize="true">
<accordion
left="0"
top="0"
- single_expansion="true"
- follows="all"
- layout="topleft"
- name="groups_accordion">
- <accordion_tab
+ single_expansion="true"
+ follows="all"
+ layout="topleft"
+ name="groups_accordion">
+ <accordion_tab
expanded="true"
layout="topleft"
name="group_general_tab"
- title="General">
- <panel
- border="false"
- class="panel_group_general"
- filename="panel_group_general.xml"
- layout="topleft"
- left="0"
- follows="all"
- help_topic="group_general_tab"
- name="group_general_tab_panel"
- top="0" />
+ title="General"
+ fit_panel="false">
+ <panel
+ border="false"
+ class="panel_group_general"
+ filename="panel_group_general.xml"
+ layout="topleft"
+ left="0"
+ follows="left|top|right"
+ help_topic="group_general_tab"
+ name="group_general_tab_panel"
+ top="0" />
</accordion_tab>
<accordion_tab
expanded="false"
layout="topleft"
name="group_roles_tab"
- title="Roles">
- <panel
- border="false"
- class="panel_group_roles"
- filename="panel_group_roles.xml"
- layout="topleft"
- left="0"
- name="group_roles_tab_panel"
- top="0" />
+ title="Roles"
+ fit_panel="false">
+ <panel
+ border="false"
+ class="panel_group_roles"
+ filename="panel_group_roles.xml"
+ follows="left|top|right"
+ layout="topleft"
+ left="0"
+ name="group_roles_tab_panel"
+ top="0" />
</accordion_tab>
<accordion_tab
- expanded="false"
- layout="topleft"
- name="group_notices_tab"
- title="Notices">
- <panel
- border="false"
- class="panel_group_notices"
- filename="panel_group_notices.xml"
- layout="topleft"
- left="0"
- help_topic="group_notices_tab"
- name="group_notices_tab_panel"
- top="0" />
+ expanded="false"
+ layout="topleft"
+ name="group_notices_tab"
+ title="Notices"
+ fit_panel="false">
+ <panel
+ border="false"
+ class="panel_group_notices"
+ filename="panel_group_notices.xml"
+ follows="left|top|right"
+ layout="topleft"
+ left="0"
+ help_topic="group_notices_tab"
+ name="group_notices_tab_panel"
+ top="0" />
</accordion_tab>
- <accordion_tab
- expanded="false"
- layout="topleft"
- name="group_land_tab"
- title="Land/Assets">
- <panel
- border="false"
- class="panel_group_land_money"
- filename="panel_group_land_money.xml"
- layout="topleft"
- left="0"
- name="group_land_tab_panel"
- top="0" />
+ <accordion_tab
+ expanded="false"
+ layout="topleft"
+ name="group_land_tab"
+ title="Land/Assets"
+ fit_panel="false">
+ <panel
+ border="false"
+ class="panel_group_land_money"
+ filename="panel_group_land_money.xml"
+ follows="left|top|right"
+ layout="topleft"
+ left="0"
+ name="group_land_tab_panel"
+ top="0" />
</accordion_tab>
</accordion>
</layout_panel>
diff --git a/indra/newview/skins/default/xui/en/panel_group_land_money.xml b/indra/newview/skins/default/xui/en/panel_group_land_money.xml
index 38b0f234d5..7996a89e72 100644
--- a/indra/newview/skins/default/xui/en/panel_group_land_money.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_land_money.xml
@@ -1,14 +1,13 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel
border="false"
- follows="all"
height="500"
label="Land &amp; L$"
layout="topleft"
left="0"
name="land_money_tab"
top="0"
- width="313">
+ width="304">
<panel.string
name="help_text">
A warning appears until the Total Land in Use is less than or = to the Total Contribution.
diff --git a/indra/newview/skins/default/xui/en/panel_group_notices.xml b/indra/newview/skins/default/xui/en/panel_group_notices.xml
index 5f46ad7860..731b3c119c 100644
--- a/indra/newview/skins/default/xui/en/panel_group_notices.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_notices.xml
@@ -1,13 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel
- follows="all"
height="530"
label="Notices"
layout="topleft"
left="0"
name="notices_tab"
top="0"
- width="313">
+ width="304">
<panel.string
name="help_text">
Notices let you send a message and an optionally attached item.
@@ -44,7 +43,7 @@ Maximum 200 per group daily
right="-1"
name="notice_list"
top_pad="0"
- width="313">
+ width="304">
<scroll_list.columns
label=""
name="icon"
diff --git a/indra/newview/skins/default/xui/en/panel_group_roles.xml b/indra/newview/skins/default/xui/en/panel_group_roles.xml
index 7557e2cc5e..19c0da4f08 100644
--- a/indra/newview/skins/default/xui/en/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_roles.xml
@@ -1,13 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<panel
- follows="all"
height="680"
label="Members &amp; Roles"
layout="topleft"
left="0"
top="0"
name="roles_tab"
- width="313">
+ width="304">
<panel.string
name="default_needs_apply_text">
There are unsaved changes
@@ -31,7 +30,7 @@
tab_height="22"
tab_min_width="90"
top="0"
- width="313">
+ width="304">
<panel
border="false"
follows="all"
diff --git a/indra/newview/skins/default/xui/en/panel_im_control_panel.xml b/indra/newview/skins/default/xui/en/panel_im_control_panel.xml
index 28c4adf67c..88566ea037 100644
--- a/indra/newview/skins/default/xui/en/panel_im_control_panel.xml
+++ b/indra/newview/skins/default/xui/en/panel_im_control_panel.xml
@@ -111,7 +111,7 @@
layout="topleft"
min_height="25"
width="100"
- name="share_btn_panel"
+ name="pay_btn_panel"
user_resize="false">
<button
auto_resize="true"
diff --git a/indra/newview/skins/default/xui/en/panel_landmark_info.xml b/indra/newview/skins/default/xui/en/panel_landmark_info.xml
index 66070c028d..befeb182f9 100644
--- a/indra/newview/skins/default/xui/en/panel_landmark_info.xml
+++ b/indra/newview/skins/default/xui/en/panel_landmark_info.xml
@@ -89,13 +89,13 @@
<panel
bg_alpha_color="DkGray2"
follows="left|top|right"
- height="700"
+ height="630"
layout="topleft"
left="0"
min_height="300"
name="scrolling_panel"
top="0"
- width="285">
+ width="310">
<texture_picker
enabled="false"
follows="left|top|right"
diff --git a/indra/newview/skins/default/xui/en/panel_landmarks.xml b/indra/newview/skins/default/xui/en/panel_landmarks.xml
index fdc26b5c46..ee8bca6f83 100644
--- a/indra/newview/skins/default/xui/en/panel_landmarks.xml
+++ b/indra/newview/skins/default/xui/en/panel_landmarks.xml
@@ -10,10 +10,10 @@
border="false"
background_visible="true"
bg_alpha_color="DkGray2"
- follows="left|top|right|bottom">
+ follows="all">
<accordion
- follows="left|top|right|bottom"
- height="368"
+ follows="all"
+ height="360"
layout="topleft"
left="0"
name="landmarks_accordion"
@@ -27,7 +27,7 @@
allow_multi_select="true"
border="false"
bottom="0"
- follows="left|top|right|bottom"
+ follows="all"
height="126"
left="0"
mouse_opaque="true"
@@ -43,7 +43,7 @@
allow_multi_select="true"
border="false"
bottom="0"
- follows="left|top|right|bottom"
+ follows="all"
height="126"
left="0"
mouse_opaque="true"
@@ -59,7 +59,7 @@
allow_multi_select="true"
border="false"
bottom="0"
- follows="left|top|right|bottom"
+ follows="all"
height="126"
left="0"
mouse_opaque="true"
@@ -75,8 +75,8 @@
allow_multi_select="true"
border="false"
bottom="0"
- follows="left|top|right|bottom"
- height="120"
+ follows="all"
+ height="126"
left="0"
mouse_opaque="true"
name="library_list"
diff --git a/indra/newview/skins/default/xui/en/panel_main_inventory.xml b/indra/newview/skins/default/xui/en/panel_main_inventory.xml
index e6f67078d1..50983d2976 100644
--- a/indra/newview/skins/default/xui/en/panel_main_inventory.xml
+++ b/indra/newview/skins/default/xui/en/panel_main_inventory.xml
@@ -415,6 +415,7 @@ halign="center"
layout="topleft"
left="0"
name="All Items"
+ sort_order_setting="InventorySortOrder"
top="16"
width="290" />
<inventory_panel
diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
index d484564e0d..a314cedc21 100644
--- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
@@ -151,7 +151,6 @@
width="590">
<label
follows="left|top"
- font.style="BOLD"
height="15"
layout="topleft"
left="10"
diff --git a/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml
index 2b361c0628..1d99de1fa7 100644
--- a/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_nearby_chat_bar.xml
@@ -8,12 +8,6 @@
name="chat_bar"
top="21"
width="310">
- <string name="min_width">
- 188
- </string>
- <string name="max_width">
- 320
- </string>
<line_editor
border_style="line"
border_thickness="1"
diff --git a/indra/newview/skins/default/xui/en/panel_nearby_media.xml b/indra/newview/skins/default/xui/en/panel_nearby_media.xml
index 0f911f789e..7c0ce9e62e 100644
--- a/indra/newview/skins/default/xui/en/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/en/panel_nearby_media.xml
@@ -2,23 +2,23 @@
<panel
can_resize="true"
can_close="false"
- bg_opaque_image="Volume_Background"
- bg_alpha_image="Volume_Background"
- background_opaque="true"
+ mouse_opaque="true"
+ bg_opaque_image="Volume_Background"
+ bg_alpha_image="Volume_Background"
+ background_opaque="true"
background_visible="true"
layout="topleft"
width="270"
height="235"
name="nearby_media"
help_topic="nearby_media">
- <string name="media_item_count_format">(%ld media items)</string>
<string name="empty_item_text">&lt;empty&gt;</string>
<string name="parcel_media_name">Parcel Streaming Media</string>
<string name="parcel_audio_name">Parcel Streaming Audio</string>
<string name="playing_suffix">(playing)</string>
<panel
bevel_style="in"
- background_visible="false"
+ background_visible="false"
follows="left|right|top"
top="0"
height="30"
@@ -98,20 +98,6 @@
width="100">
Nearby Media
</text>
- <!-- nix for now
- <text
- bottom_delta="1"
- type="string"
- follows="top|left|right"
- font="SansSerif"
- font.style="ITALIC"
- font.size="Small"
- name="media_item_count"
- left="115"
- right="-10">
- (?? media items)
- </text>
- -->
<text
type="string"
length="1"
@@ -147,6 +133,7 @@
ame="OnOthers" />
</combo_box>
<scroll_list
+ name="media_list"
follows="left|top|bottom|right"
column_padding="0"
height="105"
@@ -155,8 +142,7 @@
bg_stripe_color="0.25 0.25 0.25 0.25"
top_pad="8"
left="10"
- right="-10"
- name="media_list">
+ right="-10">
<scroll_list.columns
type="checkbox"
width="-1"
@@ -204,11 +190,9 @@
left="10"
right="-10"
border_size="0"
- mouse_opaque="false"
orientation="horizontal">
<layout_panel
name="stop"
- mouse_opaque="false"
auto_resize="false"
user_resize="false"
layout="topleft"
@@ -236,7 +220,6 @@
</layout_panel>
<layout_panel
name="play"
- mouse_opaque="false"
auto_resize="false"
user_resize="false"
layout="topleft"
@@ -264,7 +247,6 @@
</layout_panel>
<layout_panel
name="pause"
- mouse_opaque="false"
auto_resize="false"
user_resize="false"
layout="topleft"
@@ -291,7 +273,6 @@
</layout_panel>
<layout_panel
name="volume_slider_ctrl"
- mouse_opaque="false"
auto_resize="true"
user_resize="false"
follows="left|right"
@@ -316,7 +297,6 @@
</layout_panel>
<layout_panel
name="mute"
- mouse_opaque="false"
auto_resize="false"
user_resize="false"
layout="topleft"
@@ -345,7 +325,6 @@
</layout_panel>
<layout_panel
name="zoom"
- mouse_opaque="false"
auto_resize="false"
user_resize="false"
layout="topleft"
@@ -373,7 +352,6 @@
</layout_panel>
<layout_panel
name="unzoom"
- mouse_opaque="false"
auto_resize="false"
user_resize="false"
layout="topleft"
@@ -402,7 +380,6 @@
<layout_panel
name="right_bookend"
width="0"
- mouse_opaque="false"
user_resize="false" />
</layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_online_status.xml b/indra/newview/skins/default/xui/en/panel_online_status.xml
new file mode 100644
index 0000000000..14cb5fffee
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/panel_online_status.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<panel
+ background_visible="false"
+ height="152"
+ label="friend_online_status"
+ layout="topleft"
+ left="0"
+ name="friend_online_status"
+ top="0"
+ width="305">
+ <avatar_icon
+ follows="top|left"
+ height="18"
+ image_name="Generic_Person"
+ layout="topleft"
+ left="3"
+ mouse_opaque="false"
+ name="avatar_icon"
+ top="10"
+ width="18" />
+ <text
+ font="SansSerifSmall"
+ follows="all"
+ height="137"
+ layout="topleft"
+ left_pad="5"
+ name="message"
+ text_color="white"
+ top="15"
+ use_ellipses="true"
+ value=""
+ width="285"
+ word_wrap="true"
+ max_length="350" />
+</panel> \ No newline at end of file
diff --git a/indra/newview/skins/default/xui/en/panel_online_status_toast.xml b/indra/newview/skins/default/xui/en/panel_online_status_toast.xml
new file mode 100644
index 0000000000..14cb5fffee
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/panel_online_status_toast.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<panel
+ background_visible="false"
+ height="152"
+ label="friend_online_status"
+ layout="topleft"
+ left="0"
+ name="friend_online_status"
+ top="0"
+ width="305">
+ <avatar_icon
+ follows="top|left"
+ height="18"
+ image_name="Generic_Person"
+ layout="topleft"
+ left="3"
+ mouse_opaque="false"
+ name="avatar_icon"
+ top="10"
+ width="18" />
+ <text
+ font="SansSerifSmall"
+ follows="all"
+ height="137"
+ layout="topleft"
+ left_pad="5"
+ name="message"
+ text_color="white"
+ top="15"
+ use_ellipses="true"
+ value=""
+ width="285"
+ word_wrap="true"
+ max_length="350" />
+</panel> \ No newline at end of file
diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml
index daab52f06a..13791a6d32 100644
--- a/indra/newview/skins/default/xui/en/panel_people.xml
+++ b/indra/newview/skins/default/xui/en/panel_people.xml
@@ -28,6 +28,16 @@
<string
name="groups_filter_label"
value="Filter Groups" />
+ <!--
+ *WORKAROUND: for group_list.no_groups_msg & group_list.no_filtered_groups_msg attributes.
+ They are not defined as translatable in VLT. See EXT-5931
+ -->
+ <string
+ name="no_filtered_groups_msg"
+ value="[secondlife:///app/search/groups Try finding the group in search?]" />
+ <string
+ name="no_groups_msg"
+ value="[secondlife:///app/search/groups Try searching for some groups to join.]" />
<filter_editor
text_pad_left="10"
follows="left|top|right"
@@ -222,7 +232,7 @@
top="10"
width="293"
wrap="true">
- To add friends try [secondlife:///app/search/people global search] or click on a user to add them as a friend.
+ To add friends try [secondlife:///app/search/people global search] or use right-click on a Resident to add them as a friend.
If you're looking for people to hang out with, [secondlife:///app/worldmap try the Map].
</text>
</panel>
@@ -240,13 +250,17 @@ If you're looking for people to hang out with, [secondlife:///app/worldmap try t
name="groups_panel"
top="0"
width="313">
+ <!--
+ *NOTE: no_groups_msg & group_list attributes are not defined as translatable in VLT. See EXT-5931
+ Values are set from appropriate strings at the top of file via LLPeoplePanel::postBuild()
+ -->
<group_list
follows="all"
height="345"
layout="topleft"
left="0"
name="group_list"
- no_filtered_groups_msg="[secondlife:///app/search/groups Try fine the group in search?]"
+ no_filtered_groups_msg="[secondlife:///app/search/groups Try finding the group in search?]"
no_groups_msg="[secondlife:///app/search/groups Try searching for some groups to join.]"
top="0"
width="313" />
@@ -373,7 +387,7 @@ If you're looking for people to hang out with, [secondlife:///app/worldmap try t
layout="topleft"
name="view_profile_btn"
tool_tip="Show picture, groups, and other Residents information"
- width="64" />
+ width="70" />
<button
follows="bottom|left"
left_pad="3"
diff --git a/indra/newview/skins/default/xui/en/panel_pick_list_item.xml b/indra/newview/skins/default/xui/en/panel_pick_list_item.xml
index 8b25fb5d2a..715dc5f23c 100644
--- a/indra/newview/skins/default/xui/en/panel_pick_list_item.xml
+++ b/indra/newview/skins/default/xui/en/panel_pick_list_item.xml
@@ -64,6 +64,7 @@
layout="topleft"
left="103"
name="picture_descr"
+ textbox.max_length="1024"
textbox.show_context_menu="false"
top_pad="0"
width="178"
diff --git a/indra/newview/skins/default/xui/en/panel_place_profile.xml b/indra/newview/skins/default/xui/en/panel_place_profile.xml
index b22dad5841..01a27a08c7 100644
--- a/indra/newview/skins/default/xui/en/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_place_profile.xml
@@ -174,13 +174,13 @@
<panel
bg_alpha_color="DkGray2"
follows="left|top|right"
- height="700"
+ height="540"
layout="topleft"
left="0"
min_height="300"
name="scrolling_panel"
top="0"
- width="285">
+ width="310">
<texture_picker
enabled="false"
follows="left|top|right"
@@ -318,7 +318,7 @@
width="268" />
<accordion
follows="all"
- height="230"
+ height="223"
layout="topleft"
left="0"
name="advanced_info_accordion"
@@ -333,6 +333,7 @@
height="160"
layout="topleft"
left="0"
+ name="parcel_characteristics_panel"
top="0"
width="275">
<icon
@@ -544,6 +545,7 @@
height="125"
layout="topleft"
left="0"
+ name="region_information_panel"
top="0"
width="290">
<text
@@ -670,6 +672,7 @@
height="189"
layout="topleft"
left="0"
+ name="estate_information_panel"
top="0"
width="290">
<text
@@ -758,6 +761,7 @@
height="300"
layout="topleft"
left="0"
+ name="sales_panel"
top="0"
width="290">
<text
diff --git a/indra/newview/skins/default/xui/en/panel_places.xml b/indra/newview/skins/default/xui/en/panel_places.xml
index 57535649de..ff5d89470c 100644
--- a/indra/newview/skins/default/xui/en/panel_places.xml
+++ b/indra/newview/skins/default/xui/en/panel_places.xml
@@ -129,7 +129,8 @@ background_visible="true"
label="Close"
layout="topleft"
name="close_btn"
- left_pad="3"
+ right="-10"
+ top="1"
width="60" />
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml
index 05a3771edf..4be4d6b432 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml
@@ -171,6 +171,7 @@ Automatic position for:
height="50"
layout="topleft"
left_pad="10"
+ top="190"
name="background"
tool_tip="Choose color for bubble chat"
width="38">
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
index 2e81139ef2..3d434361b9 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
@@ -14,6 +14,7 @@
layout="topleft"
left="30"
height="12"
+ name="font_size"
width="120"
top="10">
Font size:
@@ -60,6 +61,7 @@
layout="topleft"
left="30"
height="12"
+ name="font_colors"
top_pad="10"
width="120"
>
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_general.xml
index acc9321abd..39a597a372 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_general.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_general.xml
@@ -141,7 +141,34 @@
label="General"
name="Desired_PG"
value="13" />
+ <combo_box.commit_callback
+ function="Pref.MaturitySettings"/>
</combo_box>
+ <icon
+ follows="left|top"
+ height="16"
+ image_name="Parcel_PG_Dark"
+ layout="topleft"
+ left_pad="5"
+ name="rating_icon_general"
+ top_delta="3"
+ width="18"/>
+ <icon
+ follows="left|top"
+ height="16"
+ image_name="Parcel_M_Dark"
+ layout="topleft"
+ left_pad="2"
+ name="rating_icon_moderate"
+ width="18"/>
+ <icon
+ follows="left|top"
+ height="16"
+ image_name="Parcel_R_Dark"
+ layout="topleft"
+ left_pad="2"
+ name="rating_icon_adult"
+ width="18"/>
<text
type="string"
length="1"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml
index 82821a1dfe..f20526b491 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml
@@ -366,10 +366,7 @@
min_val="64"
name="DrawDistance"
top="3"
- width="255">
- <slider.commit_callback
- function="Pref.UpdateMeterText" />
- </slider>
+ width="255" />
<text
type="string"
length="1"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml
index c371b19fc5..e03ecd8f04 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml
@@ -17,7 +17,7 @@
increment="0.05"
initial_value="0.5"
label="Master volume"
- label_width="120"
+ label_width="120"
layout="topleft"
left="0"
name="System Volume"
@@ -38,7 +38,7 @@
image_unselected="Audio_Off"
is_toggle="true"
layout="topleft"
- left_pad="5"
+ left_pad="5"
name="mute_audio"
tab_stop="false"
width="16" />
@@ -49,9 +49,9 @@
label="Mute when minimized"
layout="topleft"
name="mute_when_minimized"
- top_delta="3"
+ top_delta="3"
left_pad="5"
- width="215" />
+ width="235" />
<slider
control_name="AudioLevelUI"
disabled_control="MuteAudio"
@@ -177,14 +177,14 @@
</slider>
<button
control_name="MuteMusic"
- disabled_control="MuteAudio"
+ disabled_control="MuteAudio"
follows="top|left"
height="16"
image_selected="AudioMute_Off"
image_unselected="Audio_Off"
is_toggle="true"
layout="topleft"
- left_pad="5"
+ left_pad="5"
name="mute_audio"
tab_stop="false"
width="16" />
@@ -316,7 +316,7 @@
height="20"
layout="topleft"
left="25"
- name="Listen from"
+ name="voice_chat_settings"
width="200"
top="210">
Voice Chat Settings
@@ -326,10 +326,10 @@
length="1"
follows="left|top"
layout="topleft"
- left="80"
- top_delta="16"
+ left="80"
+ top_delta="16"
name="Listen from"
- width="80">
+ width="142">
Listen from:
</text>
<icon
@@ -521,7 +521,7 @@
visible="true"
width="22" />
<text
- font.style="BOLD"
+ font.style="BOLD"
type="string"
length="1"
follows="left|top"
diff --git a/indra/newview/skins/default/xui/en/panel_profile.xml b/indra/newview/skins/default/xui/en/panel_profile.xml
index d72e175bc4..412485e03f 100644
--- a/indra/newview/skins/default/xui/en/panel_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_profile.xml
@@ -284,10 +284,11 @@
width="300" />
<expandable_text
follows="all"
- height="113"
+ height="103"
layout="topleft"
left="7"
name="sl_groups"
+ textbox.max_length="512"
top_pad="0"
translate="false"
width="290"
diff --git a/indra/newview/skins/default/xui/en/panel_region_estate.xml b/indra/newview/skins/default/xui/en/panel_region_estate.xml
index 3980eb86d3..3913b6d709 100644
--- a/indra/newview/skins/default/xui/en/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/en/panel_region_estate.xml
@@ -198,7 +198,7 @@
<button
follows="left|top"
height="23"
- label="Kick User from Estate..."
+ label="Kick Resident from Estate..."
layout="topleft"
left="50"
name="kick_user_from_estate_btn"
diff --git a/indra/newview/skins/default/xui/en/panel_region_general.xml b/indra/newview/skins/default/xui/en/panel_region_general.xml
index c06e67a4bb..4acfa42c23 100644
--- a/indra/newview/skins/default/xui/en/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/en/panel_region_general.xml
@@ -171,27 +171,48 @@
width="100">
Rating:
</text>
- <combo_box
+ <icons_combo_box
+ follows="left|top"
height="20"
label="Moderate"
layout="topleft"
left_delta="100"
name="access_combo"
top_delta="0"
- width="85">
- <combo_box.item
+ width="105">
+ <icons_combo_box.drop_down_button
+ image_overlay="Parcel_M_Light"
+ image_overlay_alignment="left"
+ imgoverlay_label_space="3"
+ pad_left="3"/>
+ <icons_combo_box.item
label="Adult"
- name="Adult"
- value="42" />
- <combo_box.item
+ value="42">
+ <item.columns
+ halign="center"
+ type="icon"
+ value="Parcel_R_Light"
+ width="20"/>
+ </icons_combo_box.item>
+ <icons_combo_box.item
label="Moderate"
- name="Mature"
- value="21" />
- <combo_box.item
+ value="21">
+ <item.columns
+ halign="center"
+ type="icon"
+ value="Parcel_M_Light"
+ width="20"/>
+ </icons_combo_box.item>
+ <icons_combo_box.item
label="General"
- name="PG"
- value="13" />
- </combo_box>
+ value="13">
+ <item.columns
+ halign="center"
+ type="icon"
+ value="Parcel_PG_Light"
+ width="20"/>
+ </icons_combo_box.item>
+ </icons_combo_box>
<button
enabled="false"
follows="left|top"
@@ -205,7 +226,7 @@
<button
follows="left|top"
height="20"
- label="Teleport Home One User..."
+ label="Teleport Home One Resident..."
layout="topleft"
left="10"
name="kick_btn"
@@ -214,7 +235,7 @@
<button
follows="left|top"
height="20"
- label="Teleport Home All Users..."
+ label="Teleport Home All Residents..."
layout="topleft"
left_delta="0"
name="kick_all_btn"
diff --git a/indra/newview/skins/default/xui/en/panel_region_general_layout.xml b/indra/newview/skins/default/xui/en/panel_region_general_layout.xml
index 525c5aa8e7..ffa1a257d5 100644
--- a/indra/newview/skins/default/xui/en/panel_region_general_layout.xml
+++ b/indra/newview/skins/default/xui/en/panel_region_general_layout.xml
@@ -203,7 +203,7 @@
<button
follows="left|top"
height="20"
- label="Teleport Home One User..."
+ label="Teleport Home One Resident..."
layout="topleft"
left="10"
name="kick_btn"
@@ -212,7 +212,7 @@
<button
follows="left|top"
height="20"
- label="Teleport Home All Users..."
+ label="Teleport Home All Residents..."
layout="topleft"
left_delta="0"
name="kick_all_btn"
diff --git a/indra/newview/skins/default/xui/en/panel_region_texture.xml b/indra/newview/skins/default/xui/en/panel_region_texture.xml
index 04dbf73be9..5d910ea659 100644
--- a/indra/newview/skins/default/xui/en/panel_region_texture.xml
+++ b/indra/newview/skins/default/xui/en/panel_region_texture.xml
@@ -148,103 +148,33 @@
name="height_text_lbl6"
top="185"
width="100">
- Southwest
- </text>
- <text
- follows="left|top"
- height="20"
- layout="topleft"
- left_pad="10"
- name="height_text_lbl7"
- top_delta="0"
- width="100">
Northwest
</text>
- <spinner
- follows="left|top"
- height="20"
- increment="0.5"
- label="Low"
- label_width="37"
- layout="topleft"
- left="10"
- max_val="500"
- min_val="-500"
- name="height_start_spin_0"
- top_delta="15"
- width="100" />
- <spinner
- follows="left|top"
- height="20"
- increment="0.5"
- label="Low"
- label_width="37"
- layout="topleft"
- left_pad="10"
- max_val="500"
- min_val="-500"
- name="height_start_spin_1"
- top_delta="0"
- width="100" />
- <spinner
- follows="left|top"
- height="20"
- increment="0.5"
- label="High"
- label_width="37"
- layout="topleft"
- left="10"
- max_val="500"
- min_val="-500"
- name="height_range_spin_0"
- top_delta="20"
- width="100" />
- <spinner
- follows="left|top"
- height="20"
- increment="0.5"
- label="High"
- label_width="37"
- layout="topleft"
- left_pad="10"
- max_val="500"
- min_val="-500"
- name="height_range_spin_1"
- top_delta="0"
- width="100" />
- <text
- follows="left|top"
- height="20"
- layout="topleft"
- left="51"
- name="height_text_lbl8"
- top_pad="10"
- width="100">
- Southeast
- </text>
<text
follows="left|top"
height="20"
layout="topleft"
left_pad="10"
- name="height_text_lbl9"
+ name="height_text_lbl7"
top_delta="0"
width="100">
Northeast
</text>
- <spinner
- follows="left|top"
- height="20"
- increment="0.5"
- label="Low"
- label_width="37"
- layout="topleft"
- left="10"
- max_val="500"
- min_val="-500"
- name="height_start_spin_2"
- top_delta="15"
- width="100" />
+<!-- northwest low-->
+ <spinner
+ follows="left|top"
+ height="20"
+ increment="0.5"
+ label="Low"
+ label_width="37"
+ layout="topleft"
+ left="10"
+ max_val="500"
+ min_val="-500"
+ name="height_start_spin_1"
+ top_delta="15"
+ width="100" />
+<!-- northeast low-->
<spinner
follows="left|top"
height="20"
@@ -258,20 +188,22 @@
name="height_start_spin_3"
top_delta="0"
width="100" />
- <spinner
- follows="left|top"
- height="20"
- increment="0.5"
- label="High"
- label_width="37"
- layout="topleft"
- left="10"
- max_val="500"
- min_val="-500"
- name="height_range_spin_2"
- top_delta="20"
- width="100" />
- <spinner
+<!-- northwest high-->
+ <spinner
+ follows="left|top"
+ height="20"
+ increment="0.5"
+ label="High"
+ label_width="37"
+ layout="topleft"
+ left="10"
+ max_val="500"
+ min_val="-500"
+ name="height_range_spin_1"
+ top_delta="20"
+ width="100" />
+<!-- northeast high-->
+ <spinner
follows="left|top"
height="20"
increment="0.5"
@@ -284,18 +216,94 @@
name="height_range_spin_3"
top_delta="0"
width="100" />
- <text
- follows="left|top"
- height="20"
- layout="topleft"
- left="10"
- name="height_text_lbl10"
- top_delta="30"
- width="400"
- word_wrap="true">
- These values represent the blend range for the textures above.
- </text>
- <text
+ <text
+ follows="left|top"
+ height="20"
+ layout="topleft"
+ left="51"
+ name="height_text_lbl8"
+ top_pad="10"
+ width="100">
+ Southwest
+ </text>
+ <text
+ follows="left|top"
+ height="20"
+ layout="topleft"
+ left_pad="10"
+ name="height_text_lbl9"
+ top_delta="0"
+ width="100">
+ Southeast
+ </text>
+<!-- southwest low-->
+ <spinner
+ follows="left|top"
+ height="20"
+ increment="0.5"
+ label="Low"
+ label_width="37"
+ layout="topleft"
+ left="10"
+ max_val="500"
+ min_val="-500"
+ name="height_start_spin_0"
+ top_delta="15"
+ width="100" />
+<!-- southeast low-->
+ <spinner
+ follows="left|top"
+ height="20"
+ increment="0.5"
+ label="Low"
+ label_width="37"
+ layout="topleft"
+ left_pad="10"
+ max_val="500"
+ min_val="-500"
+ name="height_start_spin_2"
+ top_delta="0"
+ width="100" />
+<!--southwest high-->
+ <spinner
+ follows="left|top"
+ height="20"
+ increment="0.5"
+ label="High"
+ label_width="37"
+ layout="topleft"
+ left="10"
+ max_val="500"
+ min_val="-500"
+ name="height_range_spin_0"
+ top_delta="20"
+ width="100" />
+<!-- southeast high-->
+ <spinner
+ follows="left|top"
+ height="20"
+ increment="0.5"
+ label="High"
+ label_width="37"
+ layout="topleft"
+ left_pad="10"
+ max_val="500"
+ min_val="-500"
+ name="height_range_spin_2"
+ top_delta="0"
+ width="100" />
+ <text
+ follows="left|top"
+ height="20"
+ layout="topleft"
+ left="10"
+ name="height_text_lbl10"
+ top_delta="30"
+ width="400"
+ word_wrap="true">
+ These values represent the blend range for the textures above.
+ </text>
+ <text
follows="left|top"
height="20"
layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/panel_script_ed.xml b/indra/newview/skins/default/xui/en/panel_script_ed.xml
index d14355b9f4..d444420550 100644
--- a/indra/newview/skins/default/xui/en/panel_script_ed.xml
+++ b/indra/newview/skins/default/xui/en/panel_script_ed.xml
@@ -178,5 +178,5 @@
top_pad="-35"
right="487"
name="Save_btn"
- width="61" />
+ width="81" />
</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml
index 96c61b69f5..0c870e155b 100644
--- a/indra/newview/skins/default/xui/en/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml
@@ -3,7 +3,7 @@
background_opaque="true"
background_visible="true"
bg_opaque_color="MouseGray"
- chrome="true"
+ chrome="true"
follows="top|right"
height="19"
layout="topleft"
@@ -11,7 +11,7 @@
mouse_opaque="false"
name="status"
top="19"
- tab_stop="false"
+ tab_stop="false"
width="1000">
<panel.string
name="StatBarDaysOfWeek">
@@ -51,12 +51,12 @@
image_unselected="spacer35.tga"
image_pressed="spacer35.tga"
height="16"
- right="-204"
+ right="-230"
label_shadow="false"
name="buycurrency"
tool_tip="My Balance"
top="3"
- width="100" />
+ width="120" />
<button
auto_resize="true"
halign="right"
@@ -66,7 +66,7 @@
image_unselected="BuyArrow_Over"
image_pressed="BuyArrow_Press"
height="16"
- label="Buy L$"
+ label="Buy"
label_color="EmphasisColor"
left_pad="0"
label_shadow="false"
@@ -75,7 +75,7 @@
pad_bottom="2"
tool_tip="Click to buy more L$"
top="2"
- width="45" />
+ width="55" />
<text
type="string"
font="SansSerifSmall"
@@ -88,26 +88,26 @@
left_pad="0"
name="TimeText"
tool_tip="Current time (Pacific)"
- width="80">
+ width="100">
24:00 AM PST
</text>
<button
follows="right|top"
- height="15"
+ height="16"
image_selected="Pause_Off"
image_unselected="Play_Off"
image_pressed="Play_Press"
image_pressed_selected="Pause_Press"
is_toggle="true"
left_pad="15"
- top="2"
+ top="1"
name="media_toggle_btn"
- tool_tip="Click to toggle media"
+ tool_tip="Start/Stop All Media (Music, Video, Web pages)"
width="16" >
</button>
<button
follows="right|top"
- height="15"
+ height="16"
image_selected="AudioMute_Off"
image_pressed="Audio_Press"
image_unselected="Audio_Off"
diff --git a/indra/newview/skins/default/xui/en/panel_teleport_history.xml b/indra/newview/skins/default/xui/en/panel_teleport_history.xml
index ecf7252a11..0d4f67f94c 100644
--- a/indra/newview/skins/default/xui/en/panel_teleport_history.xml
+++ b/indra/newview/skins/default/xui/en/panel_teleport_history.xml
@@ -53,7 +53,7 @@
top="0"
width="380">
</flat_list_view>
- </accordion_tab>5
+ </accordion_tab>
<accordion_tab
layout="topleft"
name="3_days_ago"
@@ -154,7 +154,7 @@
width="380">
<button
follows="bottom|left"
- tool_tip="Show additional optioins"
+ tool_tip="Show additional options"
height="18"
image_disabled="OptionsMenu_Disabled"
image_selected="OptionsMenu_Press"
diff --git a/indra/newview/skins/default/xui/en/panel_toast.xml b/indra/newview/skins/default/xui/en/panel_toast.xml
index bfe3cce7d0..11069b3ac3 100644
--- a/indra/newview/skins/default/xui/en/panel_toast.xml
+++ b/indra/newview/skins/default/xui/en/panel_toast.xml
@@ -3,17 +3,25 @@
<!-- Don't remove floater's height! It is needed for Overflow and Start-Up toasts!-->
+<!--
+ This floater is invisible. To make toast look like a floater we render wrapper_panel
+ like a floater(draw shadows and so on). This is done with one purpose - make close button
+ look like it is positioned out of floater and able to accept mouse clicks (see EXT-4246)
+-->
+
<floater
- legacy_header_height="18"
+ legacy_header_height="0"
+ header_height="0"
name="toast"
title=""
visible="false"
layout="topleft"
- height="40"
- width="305"
+ height="47"
+ width="310"
left="0"
top="0"
follows="right|bottom"
+ background_visible="false"
bg_opaque_image="Toast_Over"
bg_alpha_image="Toast_Background"
can_minimize="false"
@@ -27,6 +35,21 @@
drop_shadow_visible = "false"
border = "false"
>
+ <panel
+ background_opaque="false"
+ border_visible="false"
+ background_visible="true"
+ bg_opaque_image="Toast_Over"
+ bg_alpha_image="Toast_Background"
+ label="wrapper_panel"
+ layout="topleft"
+ left="0"
+ name="wrapper_panel"
+ top="7"
+ height="40"
+ follows="all"
+ translate="false"
+ width="305">
<!-- Don't remove this wiget! It is needed for Overflow and Start-Up toasts!-->
<text
clip_partial="true"
@@ -46,10 +69,11 @@
width="260">
Toast text;
</text>
+ </panel>
<button
layout="topleft"
- top="-14"
- left="293"
+ top="0"
+ right="310"
width="17"
height="17"
follows="top|right"
diff --git a/indra/newview/skins/default/xui/en/sidepanel_task_info.xml b/indra/newview/skins/default/xui/en/sidepanel_task_info.xml
index d2c9e56bc3..86739b24c8 100644
--- a/indra/newview/skins/default/xui/en/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/en/sidepanel_task_info.xml
@@ -94,6 +94,7 @@
layout="topleft"
left="10"
help_topic=""
+ name="properties_panel"
top="45"
width="313"
background_visible="true"
@@ -549,5 +550,16 @@
name="buy_btn"
top="0"
width="100" />
+ <button
+ follows="bottom|left"
+ height="23"
+ label="Details"
+ layout="topleft"
+ left="5"
+ name="details_btn"
+ top="0"
+ width="100"
+ visible="false" />
+
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index fd800754f6..543f047ce5 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -1769,6 +1769,9 @@ Clears (deletes) the media and all params from the given face.
<string name="tattoo">Tattoo</string>
<string name="invalid">invalid</string>
+ <!-- Wearable List-->
+ <string name="NewWearable">New [WEARABLE_ITEM]</string>
+
<!-- LLGroupNotify -->
<!-- used in the construction of a Group Notice blue dialog box, buttons, tooltip etc. Seems to be no longer utilized by code in Viewer 2.0 -->
<string name="next">Next</string>
@@ -2104,6 +2107,9 @@ Clears (deletes) the media and all params from the given face.
<!-- panel contents -->
<string name="PanelContentsNewScript">New Script</string>
+ <!-- panel preferences general -->
+ <string name="BusyModeResponseDefault">The Resident you messaged is in &apos;busy mode&apos; which means they have requested not to be disturbed. Your message will still be shown in their IM panel for later viewing.</string>
+
<!-- Mute -->
<string name="MuteByName">(by name)</string>
<string name="MuteAgent">(Resident)</string>
@@ -2127,6 +2133,7 @@ Clears (deletes) the media and all params from the given face.
<!-- panel picks -->
<string name="NoPicksClassifiedsText">You haven't created any Picks or Classifieds. Click the Plus button below to create a Pick or Classified.</string>
+ <string name="NoAvatarPicksClassifiedsText">User has no picks or classfields</string>
<string name="PicksClassifiedsLoadingText">Loading...</string>
<!-- Multi Preview Floater -->
diff --git a/indra/newview/skins/default/xui/en/teleport_strings.xml b/indra/newview/skins/default/xui/en/teleport_strings.xml
index e8f6b1319a..bae821d3b5 100644
--- a/indra/newview/skins/default/xui/en/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/en/teleport_strings.xml
@@ -61,6 +61,9 @@ Try again in a moment.
<message name="completing">
Completing teleport.
</message>
+ <message name="completed_from">
+ Teleport completed from [T_SLURL]
+ </message>
<message name="resolving">
Resolving destination.
</message>
diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml
index 63f08a4250..413ca1d1ef 100644
--- a/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml
+++ b/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml
@@ -24,7 +24,7 @@
follows="left|top|bottom"
height="20"
left="2"
- mouse_opaque="true"
+ mouse_opaque="false"
name="adhoc_icon"
width="21" />
<chiclet_im_adhoc.unread_notifications
diff --git a/indra/newview/skins/default/xui/en/widgets/panel.xml b/indra/newview/skins/default/xui/en/widgets/panel.xml
index 7262c0dc5c..9bf99fa363 100644
--- a/indra/newview/skins/default/xui/en/widgets/panel.xml
+++ b/indra/newview/skins/default/xui/en/widgets/panel.xml
@@ -6,6 +6,8 @@
-->
<panel bg_opaque_color="PanelFocusBackgroundColor"
bg_alpha_color="PanelDefaultBackgroundColor"
+ bg_opaque_image_overlay="White"
+ bg_alpha_image_overlay="White"
background_visible="false"
background_opaque="false"
chrome="false"/> \ No newline at end of file
diff --git a/indra/newview/skins/default/xui/en/widgets/search_editor.xml b/indra/newview/skins/default/xui/en/widgets/search_editor.xml
index a9a760b3a4..32e443a058 100644
--- a/indra/newview/skins/default/xui/en/widgets/search_editor.xml
+++ b/indra/newview/skins/default/xui/en/widgets/search_editor.xml
@@ -3,6 +3,7 @@
clear_button_visible="false"
search_button_visible="true"
text_pad_left="6"
+ text_pad_right="6"
select_on_focus="true"
text_tentative_color="TextFgTentativeColor"
background_image="TextField_Search_Off"
@@ -21,5 +22,6 @@
image_unselected="Icon_Close_Foreground"
image_selected="Icon_Close_Press"
pad_right="4"
+ pad_left="4"
width="16" />
</search_editor>
diff --git a/indra/newview/skins/default/xui/en/widgets/tab_container.xml b/indra/newview/skins/default/xui/en/widgets/tab_container.xml
index 4a163fc1e3..8d6b0c1cfe 100644
--- a/indra/newview/skins/default/xui/en/widgets/tab_container.xml
+++ b/indra/newview/skins/default/xui/en/widgets/tab_container.xml
@@ -16,17 +16,17 @@ label_pad_left - padding to the left of tab button labels
tab_bottom_image_unselected="Toolbar_Left_Off"
tab_bottom_image_selected="Toolbar_Left_Selected"
tab_left_image_unselected="SegmentedBtn_Left_Disabled"
- tab_left_image_selected="SegmentedBtn_Left_Off"/>
+ tab_left_image_selected="SegmentedBtn_Left_Selected_Over"/>
<middle_tab tab_top_image_unselected="TabTop_Middle_Off"
tab_top_image_selected="TabTop_Middle_Selected"
tab_bottom_image_unselected="Toolbar_Middle_Off"
tab_bottom_image_selected="Toolbar_Middle_Selected"
tab_left_image_unselected="SegmentedBtn_Left_Disabled"
- tab_left_image_selected="SegmentedBtn_Left_Off"/>
+ tab_left_image_selected="SegmentedBtn_Left_Selected_Over"/>
<last_tab tab_top_image_unselected="TabTop_Right_Off"
tab_top_image_selected="TabTop_Right_Selected"
tab_bottom_image_unselected="Toolbar_Right_Off"
tab_bottom_image_selected="Toolbar_Right_Selected"
tab_left_image_unselected="SegmentedBtn_Left_Disabled"
- tab_left_image_selected="SegmentedBtn_Left_Off"/>
+ tab_left_image_selected="SegmentedBtn_Left_Selected_Over"/>
</tab_container>
diff --git a/indra/newview/skins/default/xui/es/floater_about.xml b/indra/newview/skins/default/xui/es/floater_about.xml
index 0ba8fdad18..cb1aa5eaa1 100644
--- a/indra/newview/skins/default/xui/es/floater_about.xml
+++ b/indra/newview/skins/default/xui/es/floater_about.xml
@@ -8,7 +8,7 @@
Compilado con [COMPILER], versión [COMPILER_VERSION]
</floater.string>
<floater.string name="AboutPosition">
- Estás en [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1] en la región de [REGION], alojada en [HOSTNAME] ([HOSTIP])
+ Estás en la posición [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1], de [REGION], alojada en &lt;nolink&gt;[HOSTNAME]&lt;/nolink&gt; ([HOSTIP])
[SERVER_VERSION]
[[SERVER_RELEASE_NOTES_URL] [ReleaseNotes]]
</floater.string>
@@ -39,17 +39,23 @@ Versión de Vivox: [VIVOX_VERSION]
</floater.string>
<tab_container name="about_tab">
<panel label="Información" name="support_panel">
- <button label="Copiar al portapapeles" name="copy_btn"/>
+ <button label="Copiar al portapapeles" name="copy_btn" width="165"/>
</panel>
<panel label="Créditos" name="credits_panel">
<text_editor name="credits_editor">
- Le ofrecen Second Life Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl, y otros muchos.
+ Te ofrecen Second Life Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les y muchos otros.
- Gracias a todos estos residentes por contribuir a garantizar que esta es la mejor versión: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar
+Gracias a los siguientes Residentes por ayudarnos a estar seguros de que, hoy por hoy, esta es la mejor versión: (pendiente)
- Para tener éxito en los negocios, se atrevido, se el primero, se diferente. (Henry Marchant)
+
+
+
+
+
+No es frecuente la mente que puede hacer que lo que hasta ahora no existía de pronto salte a la vista. Sí es frecuente -y engañoso- gritar &apos;A mí se me podía haber ocurrido eso&apos;, pero el hecho es que no se hizo, un hecho muy significativo y revelador.
+ -- Douglas Adams
</text_editor>
</panel>
<panel label="Licencias" name="licenses_panel">
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 f215348b00..46531c5e58 100644
--- a/indra/newview/skins/default/xui/es/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/es/floater_about_land.xml
@@ -81,6 +81,9 @@ Vaya al menú Mundo &gt; Acerca del terreno o seleccione otra parcela para ver s
<text name="Group:">
Grupo:
</text>
+ <text name="GroupText">
+ Leyla Linden
+ </text>
<button label="Configurar..." label_selected="Configurar..." name="Set..."/>
<check_box label="Permitir transferir al grupo" name="check deed" tool_tip="Un oficial del grupo puede transferir este terreno al grupo. El terreno será apoyado por el grupo en sus asignaciones de terreno."/>
<button label="Transferir..." label_selected="Transferir..." name="Deed..." tool_tip="Sólo si es usted un oficial del grupo seleccionado puede transferir terreno."/>
@@ -124,6 +127,7 @@ Vaya al menú Mundo &gt; Acerca del terreno o seleccione otra parcela para ver s
0
</text>
<button label="Comprar terreno..." label_selected="Comprar terreno..." left="130" name="Buy Land..." width="125"/>
+ <button label="Información del script" name="Scripts..."/>
<button label="Comprar para el grupo..." label_selected="Comprar para el grupo..." name="Buy For Group..."/>
<button label="Comprar un pase..." label_selected="Comprar un pase..." left="130" name="Buy Pass..." tool_tip="Un pase le da acceso temporal a este terreno." width="125"/>
<button label="Abandonar el terreno..." label_selected="Abandonar el terreno..." name="Abandon Land..."/>
@@ -251,7 +255,7 @@ Vaya al menú Mundo &gt; Acerca del terreno o seleccione otra parcela para ver s
[COUNT]
</text>
<text left="4" name="Autoreturn" width="412">
- Autodevolución de objetos a otros residentes (minutos; 0 la desactiva):
+ Devolución automática de objetos de otros Residentes (minutos, 0 para desactivarla):
</text>
<line_editor name="clean other time" right="-20"/>
<text name="Object Owners:" width="150">
@@ -299,7 +303,7 @@ 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>
<text name="allow_label">
- Permitir a otros residentes:
+ 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."/>
@@ -382,9 +386,6 @@ Sólo las parcelas más grandes pueden listarse en la búsqueda.
</text>
<line_editor left="97" name="media_url"/>
<button label="Definir..." label_selected="Definir..." name="set_media_url"/>
- <text name="CurrentURL:">
- Página actual:
- </text>
<check_box label="Ocultar la URL del media" left="97" name="hide_media_url" tool_tip="Marcando esta opción esconderá en la información de esta parcela -a quien no esté autorizado a verla- la URL del media. Note que esto no está disponible para HTML."/>
<text name="Description:">
Descripción:
@@ -396,8 +397,7 @@ la textura:
</text>
<texture_picker label="" left="97" name="media texture" tool_tip="Pulse para elegir una imagen"/>
<text name="replace_texture_help" width="285">
- (Los objetos que usen esta textura mostrarán la
-película o la web cuando pulse la flecha de play.)
+ Cuando pulses la flecha &apos;play&apos;, los objetos que usen esta textura mostrarán la película o la página web. Selecciona la miniatura para elegir una textura distinta.
</text>
<check_box label="Escala automática" left="97" name="media_auto_scale" tool_tip="Marcando esta opción, se ajustará el tamaño del contenido automáticamente. Puede ser ligeramente más lento y con menor calidad visual, pero no tendrá que ajustar ni alinear ninguna textura."/>
<text left="102" name="media_size" tool_tip="Tamaño en el que mostrar las web (marque 0 para por defecto)." width="120">
@@ -415,8 +415,10 @@ los media:
<check_box label="Media en bucle" name="media_loop" tool_tip="Ejecuta el media en bucle: cuando acaba su ejecución, vuelve a empezar."/>
</panel>
<panel label="SONIDO" name="land_audio_panel">
+ <check_box label="Ocultar la URL" name="hide_music_url" tool_tip="Al marcar esta opción se ocultará la URL de la música a quien no esté autorizado a ver la información de esta parcela."/>
<check_box label="Activar la voz" name="parcel_enable_voice_channel"/>
<check_box label="Autorizar la voz (establecido por el Estado)" name="parcel_enable_voice_channel_is_estate_disabled"/>
+ <check_box label="Limitar la voz a esta parcela" name="parcel_enable_voice_channel_local"/>
</panel>
<panel label="ACCESO" name="land_access_panel">
<panel.string name="access_estate_defined">
@@ -432,8 +434,8 @@ los media:
<text name="Only Allow">
Restringir el acceso a residentes verificados con:
</text>
- <check_box label="Información de pago aportada [ESTATE_PAYMENT_LIMIT]" name="limit_payment" tool_tip="Impedir el acceso a los residentes no identificados."/>
- <check_box label="Verificación de edad [ESTATE_AGE_LIMIT]" name="limit_age_verified" tool_tip="Prohibir el acceso a residentes que no hayan verificado su edad. Para más información, ver [SUPPORT_SITE]."/>
+ <check_box label="Información de pago aportada [ESTATE_PAYMENT_LIMIT]" name="limit_payment" tool_tip="Expulsa a los Residentes no identificados."/>
+ <check_box label="Verificación de edad [ESTATE_AGE_LIMIT]" name="limit_age_verified" tool_tip="Expulsa a los Residentes que no hayan verificado su edad. Más información en [SUPPORT_SITE]."/>
<check_box label="Acceso permitido al grupo: [GROUP]" name="GroupCheck" tool_tip="Elija el grupo en la pestaña General."/>
<check_box label="Vender pases a:" name="PassCheck" tool_tip="Permitir acceso temporal a esta parcela"/>
<combo_box name="pass_combo">
diff --git a/indra/newview/skins/default/xui/es/floater_animation_preview.xml b/indra/newview/skins/default/xui/es/floater_animation_preview.xml
index 39835968ae..2fc18e55f6 100644
--- a/indra/newview/skins/default/xui/es/floater_animation_preview.xml
+++ b/indra/newview/skins/default/xui/es/floater_animation_preview.xml
@@ -106,6 +106,9 @@ La duración máxima de una animación es de [MAX_LENGTH] segundos.
<floater.string name="E_ST_NO_XLT_EMOTE">
No se puede leer el nombre del gesto.
</floater.string>
+ <floater.string name="E_ST_BAD_ROOT">
+ Nombre incorrecto de &apos;root joint&apos;, usa &quot;hip&quot;.
+ </floater.string>
<text name="name_label">
Nombre:
</text>
diff --git a/indra/newview/skins/default/xui/es/floater_avatar_textures.xml b/indra/newview/skins/default/xui/es/floater_avatar_textures.xml
index d9ad3da633..089ff3cd68 100644
--- a/indra/newview/skins/default/xui/es/floater_avatar_textures.xml
+++ b/indra/newview/skins/default/xui/es/floater_avatar_textures.xml
@@ -7,26 +7,37 @@
Texturas compuestas
</text>
<button label="Soltar" label_selected="Soltar" name="Dump"/>
- <texture_picker label="Pelo" name="hair_grain"/>
- <texture_picker label="Alfa del pelo" name="hair_alpha"/>
- <texture_picker label="Maquillaje" name="head_bodypaint"/>
- <texture_picker label="Alfa de la cabeza" name="head_alpha"/>
- <texture_picker label="Tatuaje de la cabeza" name="head_tattoo"/>
- <texture_picker label="Ojo" name="eyes_iris"/>
- <texture_picker label="Alfa de los ojos" name="eyes_alpha"/>
- <texture_picker label="Pintura corporal: parte superior del cuerpo" name="upper_bodypaint"/>
- <texture_picker label="Camiseta" name="upper_undershirt"/>
- <texture_picker label="Guantes" name="upper_gloves"/>
- <texture_picker label="Camisa" name="upper_shirt"/>
- <texture_picker label="Parte superior de la chaqueta" name="upper_jacket"/>
- <texture_picker label="Alfa superior" name="upper_alpha"/>
- <texture_picker label="Tatuaje superior" name="upper_tattoo"/>
- <texture_picker label="Pintura corporal: parte inferior del cuerpo" name="lower_bodypaint"/>
- <texture_picker label="Ropa interior" name="lower_underpants"/>
- <texture_picker label="Calcetines" name="lower_socks"/>
- <texture_picker label="Zapatos" name="lower_shoes"/>
- <texture_picker label="Pantalones" name="lower_pants"/>
- <texture_picker label="Chaqueta" name="lower_jacket"/>
- <texture_picker label="Alfa inferior" name="lower_alpha"/>
- <texture_picker label="Tatuaje inferior" name="lower_tattoo"/>
+ <scroll_container name="profile_scroll">
+ <panel name="scroll_content_panel">
+ <texture_picker label="Pelo" name="hair-baked"/>
+ <texture_picker label="Pelo" name="hair_grain"/>
+ <texture_picker label="Alfa del pelo" name="hair_alpha"/>
+ <texture_picker label="Cabeza" name="head-baked"/>
+ <texture_picker label="Maquillaje" name="head_bodypaint"/>
+ <texture_picker label="Alfa de la cabeza" name="head_alpha"/>
+ <texture_picker label="Tatuaje de la cabeza" name="head_tattoo"/>
+ <texture_picker label="Ojos" name="eyes-baked"/>
+ <texture_picker label="Ojo" name="eyes_iris"/>
+ <texture_picker label="Alfa de los ojos" name="eyes_alpha"/>
+ <texture_picker label="Parte superior del cuerpo" name="upper-baked"/>
+ <texture_picker label="Pintura corporal: parte superior del cuerpo" name="upper_bodypaint"/>
+ <texture_picker label="Camiseta" name="upper_undershirt"/>
+ <texture_picker label="Guantes" name="upper_gloves"/>
+ <texture_picker label="Camisa" name="upper_shirt"/>
+ <texture_picker label="Parte superior de la chaqueta" name="upper_jacket"/>
+ <texture_picker label="Alfa superior" name="upper_alpha"/>
+ <texture_picker label="Tatuaje superior" name="upper_tattoo"/>
+ <texture_picker label="Parte inferior del cuerpo" name="lower-baked"/>
+ <texture_picker label="Pintura corporal: parte inferior del cuerpo" name="lower_bodypaint"/>
+ <texture_picker label="Ropa interior" name="lower_underpants"/>
+ <texture_picker label="Calcetines" name="lower_socks"/>
+ <texture_picker label="Zapatos" name="lower_shoes"/>
+ <texture_picker label="Pantalones" name="lower_pants"/>
+ <texture_picker label="Chaqueta" name="lower_jacket"/>
+ <texture_picker label="Alfa inferior" name="lower_alpha"/>
+ <texture_picker label="Tatuaje inferior" name="lower_tattoo"/>
+ <texture_picker label="Falda" name="skirt-baked"/>
+ <texture_picker label="Falda" name="skirt"/>
+ </panel>
+ </scroll_container>
</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_buy_currency.xml b/indra/newview/skins/default/xui/es/floater_buy_currency.xml
index 30c4ea965d..81c54cf600 100644
--- a/indra/newview/skins/default/xui/es/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/es/floater_buy_currency.xml
@@ -46,7 +46,7 @@
[AMT] L$
</text>
<text name="currency_links">
- [http://www.secondlife.com/ método de pago] | [http://www.secondlife.com/ moneda] | [http://www.secondlife.com/my/account/exchange_rates.php tipo de cambio]
+ [http://www.secondlife.com/my/account/payment_method_management.php método de pago] | [http://www.secondlife.com/my/account/currency.php moneda] | [http://www.secondlife.com/my/account/exchange_rates.php tipo de cambio]
</text>
<text name="exchange_rate_note">
Vuelve a escribir la cantidad para ver el tipo de cambio más reciente.
diff --git a/indra/newview/skins/default/xui/es/floater_buy_land.xml b/indra/newview/skins/default/xui/es/floater_buy_land.xml
index 9e5af72199..496e719c6d 100644
--- a/indra/newview/skins/default/xui/es/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/es/floater_buy_land.xml
@@ -1,5 +1,134 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="buy land" title="COMPRAR TERRENO">
+ <floater.string name="can_resell">
+ Puede revenderse.
+ </floater.string>
+ <floater.string name="can_not_resell">
+ No se puede revender.
+ </floater.string>
+ <floater.string name="can_change">
+ Puede unirse o dividirse.
+ </floater.string>
+ <floater.string name="can_not_change">
+ No puede unirse ni dividirse.
+ </floater.string>
+ <floater.string name="cant_buy_for_group">
+ No tiene permiso de comprar terreno para el grupo que tiene activado.
+ </floater.string>
+ <floater.string name="no_land_selected">
+ No se ha seleccionado terreno.
+ </floater.string>
+ <floater.string name="multiple_parcels_selected">
+ Se han seleccionado varias parcelas diferentes.
+Inténtelo seleccionando un área más pequeña.
+ </floater.string>
+ <floater.string name="no_permission">
+ No tiene permiso de comprar terreno para el grupo que tiene activado.
+ </floater.string>
+ <floater.string name="parcel_not_for_sale">
+ La parcela seleccionada no está en venta.
+ </floater.string>
+ <floater.string name="group_already_owns">
+ El grupo ya es propietario de la parcela.
+ </floater.string>
+ <floater.string name="you_already_own">
+ Usted ya es propietario de la parcela.
+ </floater.string>
+ <floater.string name="set_to_sell_to_other">
+ La parcela seleccionada está marcada para ser vendida a otro
+ </floater.string>
+ <floater.string name="no_public_land">
+ El área seleccionada no tiene terreno público.
+ </floater.string>
+ <floater.string name="not_owned_by_you">
+ Se ha seleccionado terreno propiedad de otro.
+Inténtelo seleccionando un área más pequeña.
+ </floater.string>
+ <floater.string name="processing">
+ Procesando su compra...
+
+(Llevará uno o dos minutos).
+ </floater.string>
+ <floater.string name="fetching_error">
+ Se ha producido un error al ir a buscar la información de compra de terreno.
+ </floater.string>
+ <floater.string name="buying_will">
+ Al comprar este terreno:
+ </floater.string>
+ <floater.string name="buying_for_group">
+ Comprando terreno para el grupo:
+ </floater.string>
+ <floater.string name="cannot_buy_now">
+ No se puede comprar ahora:
+ </floater.string>
+ <floater.string name="not_for_sale">
+ No está en venta:
+ </floater.string>
+ <floater.string name="none_needed">
+ no necesita
+ </floater.string>
+ <floater.string name="must_upgrade">
+ Para poseer terreno, su cuenta debe ascender de categoría.
+ </floater.string>
+ <floater.string name="cant_own_land">
+ Su cuenta puede poseer terreno.
+ </floater.string>
+ <floater.string name="land_holdings">
+ Tienes [BUYER] m² de terreno.
+ </floater.string>
+ <floater.string name="pay_to_for_land">
+ Pagar por este terreno [AMOUNT] L$ a [SELLER]
+ </floater.string>
+ <floater.string name="buy_for_US">
+ Comprar [AMOUNT] L$ por, aprox., [LOCAL_AMOUNT],
+ </floater.string>
+ <floater.string name="parcel_meters">
+ Este terreno tiene [AMOUNT] m²
+ </floater.string>
+ <floater.string name="premium_land">
+ Este terreno es &apos;premium&apos;, y se considerará como de [AMOUNT] m².
+ </floater.string>
+ <floater.string name="discounted_land">
+ Este terreno es &apos;discounted&apos;, y se considerará como de [AMOUNT] m².
+ </floater.string>
+ <floater.string name="meters_supports_object">
+ [AMOUNT] m²
+admite [AMOUNT2] objetos
+ </floater.string>
+ <floater.string name="sold_with_objects">
+ vendido con los objetos
+ </floater.string>
+ <floater.string name="sold_without_objects">
+ objetos no incluidos
+ </floater.string>
+ <floater.string name="info_price_string">
+ [PRICE] L$
+([PRICE_PER_SQM] L$/m²)
+[SOLD_WITH_OBJECTS]
+ </floater.string>
+ <floater.string name="insufficient_land_credits">
+ Antes de que se complete la compra, el grupo [GROUP] necesitará
+los suficientes créditos de uso en contribución de terreno
+para cubrir esta parcela.
+ </floater.string>
+ <floater.string name="have_enough_lindens">
+ Tiene [AMOUNT] L$, cantidad suficiente para comprar este terreno.
+ </floater.string>
+ <floater.string name="not_enough_lindens">
+ Sólo tiene [AMOUNT] L$. Necesitaría [AMOUNT2] L$ más.
+ </floater.string>
+ <floater.string name="balance_left">
+ Tras la compra, aún tendrá [AMOUNT] L$.
+ </floater.string>
+ <floater.string name="balance_needed">
+ Para costearse este terreno, deberá comprar, al menos, [AMOUNT] L$.
+ </floater.string>
+ <floater.string name="no_parcel_selected">
+ (No se ha seleccionado una parcela)
+ </floater.string>
+ <floater.string name="icon_PG" value="Parcel_PG_Dark"/>
+ <floater.string name="icon_M" value="Parcel_M_Dark"/>
+ <floater.string name="icon_R" value="Parcel_R_Dark"/>
<text name="region_name_label">
Región:
</text>
@@ -107,133 +236,4 @@ Esta parcela es de 512 m².
<check_box label="Quitar [AMOUNT] m² de las contribuciones de grupo." name="remove_contribution"/>
<button label="Comprar" name="buy_btn"/>
<button label="Cancelar" name="cancel_btn"/>
- <string name="can_resell">
- Puede revenderse.
- </string>
- <string name="can_not_resell">
- No se puede revender.
- </string>
- <string name="can_change">
- Puede unirse o dividirse.
- </string>
- <string name="can_not_change">
- No puede unirse ni dividirse.
- </string>
- <string name="cant_buy_for_group">
- No tiene permiso de comprar terreno para el grupo que tiene activado.
- </string>
- <string name="no_land_selected">
- No se ha seleccionado terreno.
- </string>
- <string name="multiple_parcels_selected">
- Se han seleccionado varias parcelas diferentes.
-Inténtelo seleccionando un área más pequeña.
- </string>
- <string name="no_permission">
- No tiene permiso de comprar terreno para el grupo que tiene activado.
- </string>
- <string name="parcel_not_for_sale">
- La parcela seleccionada no está en venta.
- </string>
- <string name="group_already_owns">
- El grupo ya es propietario de la parcela.
- </string>
- <string name="you_already_own">
- Usted ya es propietario de la parcela.
- </string>
- <string name="set_to_sell_to_other">
- La parcela seleccionada está marcada para ser vendida a otro
- </string>
- <string name="no_public_land">
- El área seleccionada no tiene terreno público.
- </string>
- <string name="not_owned_by_you">
- Se ha seleccionado terreno propiedad de otro.
-Inténtelo seleccionando un área más pequeña.
- </string>
- <string name="processing">
- Procesando su compra...
-
-(Llevará uno o dos minutos).
- </string>
- <string name="fetching_error">
- Se ha producido un error al ir a buscar la información de compra de terreno.
- </string>
- <string name="buying_will">
- Al comprar este terreno:
- </string>
- <string name="buying_for_group">
- Comprando terreno para el grupo:
- </string>
- <string name="cannot_buy_now">
- No se puede comprar ahora:
- </string>
- <string name="not_for_sale">
- No está en venta:
- </string>
- <string name="none_needed">
- no necesita
- </string>
- <string name="must_upgrade">
- Para poseer terreno, su cuenta debe ascender de categoría.
- </string>
- <string name="cant_own_land">
- Su cuenta puede poseer terreno.
- </string>
- <string name="land_holdings">
- Tienes [BUYER] m² de terreno.
- </string>
- <string name="pay_to_for_land">
- Pagar por este terreno [AMOUNT] L$ a [SELLER]
- </string>
- <string name="buy_for_US">
- Comprar [AMOUNT] L$ por, aprox., [LOCAL_AMOUNT],
- </string>
- <string name="parcel_meters">
- Este terreno tiene [AMOUNT] m²
- </string>
- <string name="premium_land">
- Este terreno es &apos;premium&apos;, y se considerará como de [AMOUNT] m².
- </string>
- <string name="discounted_land">
- Este terreno es &apos;discounted&apos;, y se considerará como de [AMOUNT] m².
- </string>
- <string name="meters_supports_object">
- [AMOUNT] m²
-admite [AMOUNT2] objetos
- </string>
- <string name="sold_with_objects">
- vendido con los objetos
- </string>
- <string name="sold_without_objects">
- objetos no incluidos
- </string>
- <string name="info_price_string">
- [PRICE] L$
-([PRICE_PER_SQM] L$/m²)
-[SOLD_WITH_OBJECTS]
- </string>
- <string name="insufficient_land_credits">
- Antes de que se complete la compra, el grupo [GROUP] necesitará
-los suficientes créditos de uso en contribución de terreno
-para cubrir esta parcela.
- </string>
- <string name="have_enough_lindens">
- Tiene [AMOUNT] L$, cantidad suficiente para comprar este terreno.
- </string>
- <string name="not_enough_lindens">
- Sólo tiene [AMOUNT] L$. Necesitaría [AMOUNT2] L$ más.
- </string>
- <string name="balance_left">
- Tras la compra, aún tendrá [AMOUNT] L$.
- </string>
- <string name="balance_needed">
- Para costearse este terreno, deberá comprar, al menos, [AMOUNT] L$.
- </string>
- <string name="no_parcel_selected">
- (No se ha seleccionado una parcela)
- </string>
- <string name="buy_currency">
- Comprar [LINDENS] L$ por, aprox., [USD] US$
- </string>
</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_customize.xml b/indra/newview/skins/default/xui/es/floater_customize.xml
index 672a6fbc8b..4b332cd9c3 100644
--- a/indra/newview/skins/default/xui/es/floater_customize.xml
+++ b/indra/newview/skins/default/xui/es/floater_customize.xml
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater customize" title="APARIENCIA" width="527">
<tab_container name="customize tab container" width="525">
- <placeholder label="Partes del cuerpo" name="body_parts_placeholder"/>
+ <text label="Partes del cuerpo" name="body_parts_placeholder">
+ Partes del cuerpo
+ </text>
<panel label="Forma" name="Shape" width="389">
<button label="Restablecer" label_selected="Restablecer" name="Revert"/>
<button label="Cuerpo" label_selected="Cuerpo" name="Body"/>
@@ -14,8 +16,8 @@
<button label="Torso" label_selected="Torso" name="Torso"/>
<button label="Piernas" label_selected="Piernas" name="Legs"/>
<radio_group name="sex radio">
- <radio_item label="Mujer" name="radio"/>
- <radio_item label="Varón" name="radio2"/>
+ <radio_item label="Mujer" name="radio" value="0"/>
+ <radio_item label="Varón" name="radio2" value="1"/>
</radio_group>
<text name="title">
[DESC]
@@ -33,8 +35,7 @@
Situada en [PATH]
</text>
<text name="not worn instructions">
- Póngase una forma nueva arrastrando una desde su inventario hasta su
-avatar. O parta de cero creando una nueva y vistiéndola.
+ Ponte una anatomía nueva arrastrándola desde tu inventario hasta tu avatar. O bien puedes crear una nueva partiendo de cero.
</text>
<text name="no modify instructions">
No tiene permiso para modificar este ítem.
@@ -67,8 +68,7 @@ avatar. O parta de cero creando una nueva y vistiéndola.
Situada en [PATH]
</text>
<text name="not worn instructions">
- Póngase otra piel arrastrando una desde su inventario hasta su
-avatar. O parta de cero creando una nueva y vistiéndola.
+ Ponte una piel nueva arrastrándola desde tu inventario hasta tu avatar. O bien puedes crear una nueva partiendo de cero.
</text>
<text name="no modify instructions">
No tiene permiso para modificar este ítem.
@@ -105,8 +105,7 @@ avatar. O parta de cero creando una nueva y vistiéndola.
Situado en [PATH]
</text>
<text name="not worn instructions">
- Póngase otro pelo arrastrando uno desde su inventario hasta su
-avatar. O parta de cero creando uno nueva y vistiéndolo.
+ Ponte un pelo nuevo arrastrándolo desde tu inventario hasta tu avatar. O bien puedes crear uno nuevo partiendo de cero.
</text>
<text name="no modify instructions">
No tiene permiso para modificar este ítem.
@@ -137,8 +136,7 @@ avatar. O parta de cero creando uno nueva y vistiéndolo.
Situados en [PATH]
</text>
<text name="not worn instructions">
- Póngase otros ojos arrastrando unos desde su inventario hasta su
-avatar. O parta de cero creando unos nuevos y vistiéndoselos.
+ Ponte unos ojos nuevos arrastrándolos desde tu inventario hasta tu avatar. O bien puedes crear unos nuevos partiendo de cero.
</text>
<text name="no modify instructions">
No tiene permiso para modificar este ítem.
@@ -152,12 +150,14 @@ avatar. O parta de cero creando unos nuevos y vistiéndoselos.
<button label="Guardar como..." label_selected="Guardar como..." left="199" name="Save As" width="102"/>
<button label="Restablecer" label_selected="Restablecer" name="Revert"/>
</panel>
- <placeholder label="Ropa" name="clothes_placeholder"/>
+ <text label="Ropa" name="clothes_placeholder">
+ Ropas
+ </text>
<panel label="Camisa" name="Shirt">
<texture_picker label="Tela" name="Fabric" tool_tip="Pulse para elegir una imagen"/>
<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
- <button label="Crear una falda nueva" label_selected="Crear una falda nueva" name="Create New"/>
<button label="Quitarla" label_selected="Quitarla" name="Take Off"/>
+ <button label="Crear una falda nueva" label_selected="Crear una falda nueva" name="Create New"/>
<button label="Guardar" label_selected="Guardar" left="113" name="Save"/>
<button label="Guardar como..." label_selected="Guardar como..." left="199" name="Save As" width="102"/>
<button label="Restablecer" label_selected="Restablecer" name="Revert"/>
@@ -177,8 +177,7 @@ avatar. O parta de cero creando unos nuevos y vistiéndoselos.
Situada en [PATH]
</text>
<text name="not worn instructions">
- Póngase otra camisa arrastrando una desde su inventario hasta su
-avatar. O parta de cero creando una nueva y vistiéndola.
+ Ponte una camisa nueva arrastrándola desde tu inventario hasta tu avatar. O bien puedes crear una nueva partiendo de cero.
</text>
<text name="no modify instructions">
No tiene permiso para modificar este ítem.
@@ -190,8 +189,8 @@ avatar. O parta de cero creando una nueva y vistiéndola.
<panel label="Pantalones" name="Pants">
<texture_picker label="Tela" name="Fabric" tool_tip="Pulse para elegir una imagen"/>
<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
- <button label="Crear unos pantalones nuevos" label_selected="Crear unos pantalones nuevos" name="Create New" width="185"/>
<button label="Quitarlos" label_selected="Quitarlos" name="Take Off"/>
+ <button label="Crear unos pantalones nuevos" label_selected="Crear unos pantalones nuevos" name="Create New" width="185"/>
<button label="Guardar" label_selected="Guardar" left="113" name="Save"/>
<button label="Guardar como..." label_selected="Guardar como..." left="199" name="Save As" width="102"/>
<button label="Restablecer" label_selected="Restablecer" name="Revert"/>
@@ -211,8 +210,7 @@ avatar. O parta de cero creando una nueva y vistiéndola.
Situados en [PATH]
</text>
<text name="not worn instructions">
- Póngase otros pantalones arrastrando unos desde su inventario hasta su
-avatar. O parta de cero creando unos nuevos y vistiéndoselos.
+ Ponte unos pantalones nuevos arrastrándolos desde tu inventario hasta tu avatar. O bien puedes crear unos nuevos partiendo de cero.
</text>
<text name="no modify instructions">
No tiene permiso para modificar este ítem.
@@ -238,9 +236,9 @@ avatar. O parta de cero creando unos nuevos y vistiéndoselos.
Situados en [PATH]
</text>
<text name="not worn instructions">
- Póngase otros zapatos arrastrando unos desde su inventario hasta su
-avatar. O parta de cero creando unos nuevos y vistiéndoselos.
+ Ponte unos zapatos nuevos arrastrándolos desde tu inventario hasta tu avatar. O bien puedes crear unos nuevos partiendo de cero.
</text>
+ <button label="Crear unos zapatos nuevos" label_selected="Crear unos zapatos nuevos" name="Create New"/>
<text name="no modify instructions">
No tiene permiso para modificar este ítem.
</text>
@@ -249,7 +247,6 @@ avatar. O parta de cero creando unos nuevos y vistiéndoselos.
</text>
<texture_picker label="Tela" name="Fabric" tool_tip="Pulse para elegir una imagen"/>
<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
- <button label="Crear unos zapatos nuevos" label_selected="Crear unos zapatos nuevos" name="Create New"/>
<button label="Quitarlos" label_selected="Quitarlos" name="Take Off"/>
<button label="Guardar" label_selected="Guardar" left="113" name="Save"/>
<button label="Guardar como..." label_selected="Guardar como..." left="199" name="Save As" width="102"/>
@@ -272,9 +269,9 @@ avatar. O parta de cero creando unos nuevos y vistiéndoselos.
Situados en [PATH]
</text>
<text name="not worn instructions">
- Póngase otros calcetines arrastrando unos desde su inventario hasta su
-avatar. O parta de cero creando unos nuevos y vistiéndoselos.
+ Ponte unos calcetines nuevos arrastrándolos desde tu inventario hasta tu avatar. O bien puedes crear unos nuevos partiendo de cero.
</text>
+ <button label="Crear unos calcetines nuevos" label_selected="Crear unos calcetines nuevos" name="Create New" width="185"/>
<text name="no modify instructions">
No tiene permiso para modificar este ítem.
</text>
@@ -283,7 +280,6 @@ avatar. O parta de cero creando unos nuevos y vistiéndoselos.
</text>
<texture_picker label="Tela" name="Fabric" tool_tip="Pulse para elegir una imagen"/>
<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
- <button label="Crear unos calcetines nuevos" label_selected="Crear unos calcetines nuevos" name="Create New" width="185"/>
<button label="Quitarlos" label_selected="Quitarlos" name="Take Off"/>
<button label="Guardar" label_selected="Guardar" left="113" name="Save"/>
<button label="Guardar como..." label_selected="Guardar como..." left="199" name="Save As" width="102"/>
@@ -306,9 +302,9 @@ avatar. O parta de cero creando unos nuevos y vistiéndoselos.
Situada en [PATH]
</text>
<text name="not worn instructions">
- Póngase otra chaqueta arrastrando una desde su inventario hasta su
-avatar. O parta de cero creando una nueva y vistiéndola.
+ Ponte una chaqueta nueva arrastrándola desde tu inventario hasta tu avatar. O bien puedes crear una nueva partiendo de cero.
</text>
+ <button label="Crear una chaqueta nueva" label_selected="Crear una chaqueta nueva" name="Create New"/>
<text name="no modify instructions">
No tiene permiso para modificar este ítem.
</text>
@@ -318,7 +314,6 @@ avatar. O parta de cero creando una nueva y vistiéndola.
<texture_picker label="Tela superior" name="Upper Fabric" tool_tip="Pulse para elegir una imagen"/>
<texture_picker label="Tela inferior" name="Lower Fabric" tool_tip="Pulse para elegir una imagen"/>
<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
- <button label="Crear una chaqueta nueva" label_selected="Crear una chaqueta nueva" name="Create New"/>
<button label="Quitarla" label_selected="Quitarla" name="Take Off"/>
<button label="Guardar" label_selected="Guardar" left="113" name="Save"/>
<button label="Guardar como..." label_selected="Guardar como..." left="199" name="Save As" width="102"/>
@@ -341,9 +336,9 @@ avatar. O parta de cero creando una nueva y vistiéndola.
Situados en [PATH]
</text>
<text name="not worn instructions">
- Póngase otros guantes arrastrando unos desde su inventario hasta su
-avatar. O parta de cero creando unos nuevos y vistiéndoselos.
+ Ponte unos guantes nuevos arrastrándolos desde tu inventario hasta tu avatar. O bien puedes crear unos nuevos partiendo de cero.
</text>
+ <button label="Crear unos guantes nuevos" label_selected="Crear unos guantes nuevos" name="Create New"/>
<text name="no modify instructions">
No tiene permiso para modificar este ítem.
</text>
@@ -352,7 +347,6 @@ avatar. O parta de cero creando unos nuevos y vistiéndoselos.
</text>
<texture_picker label="Tela" name="Fabric" tool_tip="Pulse para elegir una imagen"/>
<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
- <button label="Crear unos guantes nuevos" label_selected="Crear unos guantes nuevos" name="Create New"/>
<button label="Quitarlos" label_selected="Quitarlos" name="Take Off"/>
<button label="Guardar" label_selected="Guardar" left="113" name="Save"/>
<button label="Guardar como..." label_selected="Guardar como..." left="199" name="Save As" width="102"/>
@@ -375,9 +369,9 @@ avatar. O parta de cero creando unos nuevos y vistiéndoselos.
Situada en [PATH]
</text>
<text name="not worn instructions">
- Póngase otra camiseta arrastrando una desde su inventario hasta su
-avatar. O parta de cero creando una nueva y vistiéndola.
+ Ponte una camiseta nueva arrastrándola desde tu inventario hasta tu avatar. O bien puedes crear una nueva partiendo de cero.
</text>
+ <button label="Crear una camiseta nueva" label_selected="Crear una camiseta nueva" name="Create New"/>
<text name="no modify instructions">
No tiene permiso para modificar este ítem.
</text>
@@ -386,7 +380,6 @@ avatar. O parta de cero creando una nueva y vistiéndola.
</text>
<texture_picker label="Tela" name="Fabric" tool_tip="Pulse para elegir una imagen"/>
<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
- <button label="Crear una camiseta nueva" label_selected="Crear una camiseta nueva" name="Create New"/>
<button label="Quitarla" label_selected="Quitarla" name="Take Off"/>
<button label="Guardar" label_selected="Guardar" left="113" name="Save"/>
<button label="Guardar como..." label_selected="Guardar como..." left="199" name="Save As" width="102"/>
@@ -409,9 +402,9 @@ avatar. O parta de cero creando una nueva y vistiéndola.
Situada en [PATH]
</text>
<text name="not worn instructions">
- Póngase otra ropa interior arrastrando una desde su inventario hasta su
-avatar. O parta de cero creando una nueva y vistiéndola.
+ Ponte una ropa interior nueva arrastrándola desde tu inventario hasta tu avatar. O bien puedes crear una nueva partiendo de cero.
</text>
+ <button label="Crear una ropa interior nueva" label_selected="Crear una ropa interior nueva" name="Create New" width="185"/>
<text name="no modify instructions">
No tiene permiso para modificar este ítem.
</text>
@@ -420,7 +413,6 @@ avatar. O parta de cero creando una nueva y vistiéndola.
</text>
<texture_picker label="Tela" name="Fabric" tool_tip="Pulse para elegir una imagen"/>
<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
- <button label="Crear una ropa interior nueva" label_selected="Crear una ropa interior nueva" name="Create New" width="185"/>
<button label="Quitarla" label_selected="Quitarla" name="Take Off"/>
<button label="Guardar" label_selected="Guardar" left="113" name="Save"/>
<button label="Guardar como..." label_selected="Guardar como..." left="199" name="Save As" width="102"/>
@@ -443,9 +435,9 @@ avatar. O parta de cero creando una nueva y vistiéndola.
Situada en [PATH]
</text>
<text name="not worn instructions">
- Póngase otra falda arrastrando una desde su inventario hasta su
-avatar. O parta de cero creando una nueva y vistiéndola.
+ Ponte una falda nueva arrastrándola desde tu inventario hasta tu avatar. O bien puedes crear una nueva partiendo de cero.
</text>
+ <button label="Crear una falda nueva" label_selected="Crear una falda nueva" name="Create New"/>
<text name="no modify instructions">
No tiene permiso para modificar este ítem.
</text>
@@ -454,13 +446,12 @@ avatar. O parta de cero creando una nueva y vistiéndola.
</text>
<texture_picker label="Tela" name="Fabric" tool_tip="Pulse para elegir una imagen"/>
<color_swatch label="Color/Tinte" name="Color/Tint" tool_tip="Pulsa para abrir el selector de color"/>
- <button label="Crear una falda nueva" label_selected="Crear una falda nueva" name="Create New"/>
<button label="Quitarla" label_selected="Quitarla" name="Take Off"/>
<button label="Guardar" label_selected="Guardar" left="113" name="Save"/>
<button label="Guardar como..." label_selected="Guardar como..." left="199" name="Save As" width="102"/>
<button label="Restablecer" label_selected="Restablecer" name="Revert"/>
</panel>
- <panel label="Alfa" name="Alpha">
+ <panel label="Tatuaje" name="Tattoo">
<text name="title">
[DESC]
</text>
@@ -477,27 +468,24 @@ avatar. O parta de cero creando una nueva y vistiéndola.
Situado en [PATH]
</text>
<text name="not worn instructions">
- Pon una capa Alfa nueva arrastrándola desde tu inventario a tu avatar.
-O crea una nueva y vístetela.
+ Pon un tatuaje nuevo arrastrándolo desde tu inventario a tu avatar. O bien puedes crear uno nuevo partiendo de cero.
</text>
+ <button label="Crear un tatuaje nuevo" label_selected="Crear un tatuaje nuevo" name="Create New"/>
<text name="no modify instructions">
No tienes permiso para modificar este artículo.
</text>
<text name="Item Action Label">
- Alfa:
+ Tatuaje:
</text>
- <texture_picker label="Alfa inferior" name="Lower Alpha" tool_tip="Pulsa para elegir una imagen"/>
- <texture_picker label="Alfa superior" name="Upper Alpha" tool_tip="Pulsa para elegir una imagen"/>
- <texture_picker label="Alfa de la cabeza" name="Head Alpha" tool_tip="Pulsa para elegir una imagen"/>
- <texture_picker label="Alfa de los ojos" name="Eye Alpha" tool_tip="Pulsa para elegir una imagen"/>
- <texture_picker label="Alfa del pelo" name="Hair Alpha" tool_tip="Pulsa para elegir una imagen"/>
- <button label="Crear una capa Alfa nueva" label_selected="Crear una capa Alfa nueva" name="Create New"/>
+ <texture_picker label="Tatuaje de la cabeza" name="Head Tattoo" tool_tip="Pulsa para elegir una imagen"/>
+ <texture_picker label="Tatuaje superior" name="Upper Tattoo" tool_tip="Pulsa para elegir una imagen"/>
+ <texture_picker label="Tatuaje inferior" name="Lower Tattoo" tool_tip="Pulsa para elegir una imagen"/>
<button label="Quitarme" label_selected="Quitarme" name="Take Off"/>
<button label="Guardar" label_selected="Guardar" name="Save"/>
<button label="Guardar como..." label_selected="Guardar como..." name="Save As"/>
<button label="Revertir" label_selected="Revertir" name="Revert"/>
</panel>
- <panel label="Tatuaje" name="Tattoo">
+ <panel label="Alfa" name="Alpha">
<text name="title">
[DESC]
</text>
@@ -514,19 +502,20 @@ O crea una nueva y vístetela.
Situado en [PATH]
</text>
<text name="not worn instructions">
- Pon un tatuaje nuevo arrastrándolo desde tu inventario a tu avatar.
-O crea una nueva y vístetela.
+ Pon una capa Alfa nueva arrastrándola desde tu inventario a tu avatar. O bien puedes crear una nueva partiendo de cero.
</text>
+ <button label="Crear una capa Alfa nueva" label_selected="Crear una capa Alfa nueva" name="Create New"/>
<text name="no modify instructions">
No tienes permiso para modificar este artículo.
</text>
<text name="Item Action Label">
- Tatuaje:
+ Alfa:
</text>
- <texture_picker label="Tatuaje de la cabeza" name="Head Tattoo" tool_tip="Pulsa para elegir una imagen"/>
- <texture_picker label="Tatuaje superior" name="Upper Tattoo" tool_tip="Pulsa para elegir una imagen"/>
- <texture_picker label="Tatuaje inferior" name="Lower Tattoo" tool_tip="Pulsa para elegir una imagen"/>
- <button label="Crear un tatuaje nuevo" label_selected="Crear un tatuaje nuevo" name="Create New"/>
+ <texture_picker label="Alfa inferior" name="Lower Alpha" tool_tip="Pulsa para elegir una imagen"/>
+ <texture_picker label="Alfa superior" name="Upper Alpha" tool_tip="Pulsa para elegir una imagen"/>
+ <texture_picker label="Alfa de la cabeza" name="Head Alpha" tool_tip="Pulsa para elegir una imagen"/>
+ <texture_picker label="Alfa de los ojos" name="Eye Alpha" tool_tip="Pulsa para elegir una imagen"/>
+ <texture_picker label="Alfa del pelo" name="Hair Alpha" tool_tip="Pulsa para elegir una imagen"/>
<button label="Quitarme" label_selected="Quitarme" name="Take Off"/>
<button label="Guardar" label_selected="Guardar" name="Save"/>
<button label="Guardar como..." label_selected="Guardar como..." name="Save As"/>
@@ -534,6 +523,7 @@ O crea una nueva y vístetela.
</panel>
</tab_container>
<scroll_container left="230" name="panel_container"/>
+ <button label="Información del script" label_selected="Información del script" name="script_info" tool_tip="Mostrar los scripts anexados a tu avatar"/>
<button label="Hacer un vestuario" label_selected="Hacer un vestuario" name="make_outfit_btn"/>
<button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
<button label="OK" label_selected="OK" name="Ok"/>
diff --git a/indra/newview/skins/default/xui/es/floater_event.xml b/indra/newview/skins/default/xui/es/floater_event.xml
new file mode 100644
index 0000000000..81909e997c
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_event.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater label="Evento" name="Event" title="DETALLES DEL EVENTO">
+ <floater.string name="none">
+ ninguno
+ </floater.string>
+ <floater.string name="notify">
+ Notificar
+ </floater.string>
+ <floater.string name="dont_notify">
+ No notificar
+ </floater.string>
+ <layout_stack name="layout">
+ <layout_panel name="profile_stack">
+ <text name="event_name">
+ Evento sin nombre...
+ </text>
+ <text name="event_category">
+ (sin categoría)
+ </text>
+ <text name="event_runby_label">
+ Organizado por:
+ </text>
+ <text initial_value="(obteniendo)" name="event_runby"/>
+ <text name="event_date">
+ 10/10/2010
+ </text>
+ <text name="event_duration">
+ 1 hora
+ </text>
+ <text name="event_cover">
+ Gratis
+ </text>
+ <text name="event_location_label">
+ Localización:
+ </text>
+ <text name="event_location" value="SampleParcel, Name Long (145, 228, 26)"/>
+ <text name="rating_label" value="Calificación:"/>
+ <text name="rating_value" value="desconocida"/>
+ </layout_panel>
+ <layout_panel name="button_panel">
+ <button name="create_event_btn" tool_tip="Crear el evento"/>
+ <button name="god_delete_event_btn" tool_tip="Borrar el evento"/>
+ <button label="Notificarme" name="notify_btn"/>
+ <button label="Teleportar" name="teleport_btn"/>
+ <button label="Mapa" name="map_btn"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_god_tools.xml b/indra/newview/skins/default/xui/es/floater_god_tools.xml
index 78ec76e32b..b604f7f46f 100644
--- a/indra/newview/skins/default/xui/es/floater_god_tools.xml
+++ b/indra/newview/skins/default/xui/es/floater_god_tools.xml
@@ -1,52 +1,37 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="godtools floater" title="HERRAMIENTAS DE DIOS">
<tab_container name="GodTools Tabs">
<panel label="Red" name="grid">
- <button label="Expulsar a todos los usuarios"
- label_selected="Expulsar a todos los usuarios" name="Kick all users" />
- <button label="Vaciar los caches de visibilidad del mapa de la región"
- label_selected="Vaciar los caches de visibilidad del mapa de la región"
- name="Flush This Region&apos;s Map Visibility Caches" />
+ <button label="Expulsar a todos los usuarios" label_selected="Expulsar a todos los usuarios" name="Kick all users"/>
+ <button label="Vaciar los caches de visibilidad del mapa de la región" label_selected="Vaciar los caches de visibilidad del mapa de la región" name="Flush This Region&apos;s Map Visibility Caches"/>
</panel>
<panel label="Región" name="region">
<text name="Sim Name:">
Nombre del Sim:
</text>
- <check_box label="Preludio" name="check prelude"
- tool_tip="Defina esté para hacer un preludio de la región." />
- <check_box label="Sol fijo" name="check fixed sun"
- tool_tip="Fijar la posición del sol (así como en Región/Propiedad &gt; Terreno." />
- <check_box label="Restaurar casa en el teletransporte" name="check reset home"
- tool_tip="Cuando el residente sea teletransportado hacia fuera, restaurar su casa para la posición de destino." />
- <check_box label="Visible" name="check visible"
- tool_tip="Defina esté para tornar la región visible a no dioses." />
- <check_box label="Daño" name="check damage"
- tool_tip="Defina esté para activar el daño en esta región." />
- <check_box label="Bloquear rastreo de tráfico" name="block dwell"
- tool_tip="Defina esté para hacer que una región no compute el tráfico." />
- <check_box label="Bloquear formar terreno" name="block terraform"
- tool_tip="Defina esté para no permitir que personas muden la formación del terreno de ellas" />
- <check_box label="Caja de arena" name="is sandbox"
- tool_tip="Activar/desactivar si ésta es una región caja de arena." />
- <button label="Formar terreno" label_selected="Formar terreno" name="Bake Terrain"
- tool_tip="Guardar el terreno actual como patrón." />
- <button label="Revertir terreno" label_selected="Revertir terreno"
- name="Revert Terrain"
- tool_tip="Sustituir el terreno actual por el patrón." />
- <button label="Cambiar terreno" label_selected="Cambiar terreno" name="Swap Terrain"
- tool_tip="Cambiar terreno actual por el patrón." />
+ <check_box label="Preludio" name="check prelude" tool_tip="Defina esté para hacer un preludio de la región."/>
+ <check_box label="Sol fijo" name="check fixed sun" tool_tip="Fijar la posición del sol (así como en Región/Propiedad &gt; Terreno."/>
+ <check_box label="Restaurar casa en el teletransporte" name="check reset home" tool_tip="When Resident teleports out, reset their home to the destination position."/>
+ <check_box label="Visible" name="check visible" tool_tip="Defina esté para tornar la región visible a no dioses."/>
+ <check_box label="Daño" name="check damage" tool_tip="Defina esté para activar el daño en esta región."/>
+ <check_box label="Bloquear rastreo de tráfico" name="block dwell" tool_tip="Defina esté para hacer que una región no compute el tráfico."/>
+ <check_box label="Bloquear formar terreno" name="block terraform" tool_tip="Defina esté para no permitir que personas muden la formación del terreno de ellas"/>
+ <check_box label="Caja de arena" name="is sandbox" tool_tip="Activar/desactivar si ésta es una región caja de arena."/>
+ <button label="Formar terreno" label_selected="Formar terreno" name="Bake Terrain" tool_tip="Guardar el terreno actual como patrón."/>
+ <button label="Revertir terreno" label_selected="Revertir terreno" name="Revert Terrain" tool_tip="Sustituir el terreno actual por el patrón."/>
+ <button label="Cambiar terreno" label_selected="Cambiar terreno" name="Swap Terrain" tool_tip="Cambiar terreno actual por el patrón."/>
<text name="estate id">
ID de la propiedad:
</text>
<text name="parent id">
ID del padre:
</text>
- <line_editor name="parentestate" tool_tip="Ésta es una propiedad padre para esta región" />
+ <line_editor name="parentestate" tool_tip="Ésta es una propiedad padre para esta región"/>
<text name="Grid Pos: ">
Red Pos:
</text>
- <line_editor name="gridposx" tool_tip="Ésta es la posición x de la reja para esta región" />
- <line_editor name="gridposy" tool_tip="Ésta es la posición y de la reja para esta región" />
+ <line_editor name="gridposx" tool_tip="Ésta es la posición x de la reja para esta región"/>
+ <line_editor name="gridposy" tool_tip="Ésta es la posición y de la reja para esta región"/>
<text name="Redirect to Grid: ">
Redireccionar para red:
</text>
@@ -56,16 +41,10 @@
<text name="land cost text">
L$ por m²:
</text>
- <button label="Actualizar" label_selected="Actualizar" name="Refresh"
- tool_tip="Haga clic aquí para actualizar la información arriba." />
- <button label="Aplicar" label_selected="Aplicar" name="Apply"
- tool_tip="Haga clic aquí para aplicar cualesquiera de las mudanzas arriba." />
- <button label="Seleccionar región" label_selected="Seleccionar región"
- name="Select Region"
- tool_tip="Seleccione toda la región con esta herramienta de terreno." />
- <button label="Guardado automático ahora" label_selected="Guardado automático ahora"
- name="Autosave now"
- tool_tip="Guardar estado con gzip en el directorio de guardado automático." />
+ <button label="Actualizar" label_selected="Actualizar" name="Refresh" tool_tip="Haga clic aquí para actualizar la información arriba."/>
+ <button label="Aplicar" label_selected="Aplicar" name="Apply" tool_tip="Haga clic aquí para aplicar cualesquiera de las mudanzas arriba."/>
+ <button label="Seleccionar región" label_selected="Seleccionar región" name="Select Region" tool_tip="Seleccione toda la región con esta herramienta de terreno."/>
+ <button label="Guardado automático ahora" label_selected="Guardado automático ahora" name="Autosave now" tool_tip="Guardar estado con gzip en el directorio de guardado automático."/>
</panel>
<panel label="Objetos" name="objects">
<text name="Sim Name:">
@@ -74,62 +53,42 @@
<text name="region name">
Galés
</text>
- <check_box label="Desactivar scripts" name="disable scripts"
- tool_tip="Defina esté para desactivar todos los scripts en esta región" />
- <check_box label="Desactivar colisiones" name="disable collisions"
- tool_tip="Defina esté para desactivar las colisiones entre no agentes en esta región" />
- <check_box label="Desactivar física" name="disable physics"
- tool_tip="Defina esté para desactivar toda la física en esta región" />
- <button label="Aplicar" label_selected="Aplicar" name="Apply"
- tool_tip="Haga clic aquí para aplicar cualesquiera de las mudanzas arriba." />
- <button label="Definir blanco" label_selected="Definir blanco" name="Set Target"
- tool_tip="Ajuste el avatar del blanco para la exclusión del objeto." />
+ <check_box label="Desactivar scripts" name="disable scripts" tool_tip="Defina esté para desactivar todos los scripts en esta región"/>
+ <check_box label="Desactivar colisiones" name="disable collisions" tool_tip="Defina esté para desactivar las colisiones entre no agentes en esta región"/>
+ <check_box label="Desactivar física" name="disable physics" tool_tip="Defina esté para desactivar toda la física en esta región"/>
+ <button label="Aplicar" label_selected="Aplicar" name="Apply" tool_tip="Haga clic aquí para aplicar cualesquiera de las mudanzas arriba."/>
+ <button label="Definir blanco" label_selected="Definir blanco" name="Set Target" tool_tip="Ajuste el avatar del blanco para la exclusión del objeto."/>
<text name="target_avatar_name">
(sin blanco)
</text>
- <button label="Borrar objetos con script del blanco en otros terrenos"
- label_selected="Borrar objetos con script del blanco en otros terrenos"
- name="Delete Target&apos;s Scripted Objects On Others Land"
- tool_tip="Borrar todos los objetos con script pertenecientes al blanco en el terreno que no pertenece a él. Objetos (sin copia) retornarán." />
- <button label="Borrar objetos con script del blanco en *TODOS* los terrenos"
- label_selected="Borrar objetos con script del blanco en *TODOS* los terrenos"
- name="Delete Target&apos;s Scripted Objects On *Any* Land"
- tool_tip="Borrar todos los objetos con script pertenecientes al blanco en esta región. Objetos (sin copia) retornarán." />
- <button label="Borrar *TODOS* los objetos del blanco"
- label_selected="Borrar *TODOS* los objetos del blanco"
- name="Delete *ALL* Of Target&apos;s Objects"
- tool_tip="Borrar todos los objetos pertenecientes al blanco en esta región. Objetos (sin copia) retornarán." />
- <button label="Obtener top de colisionadores"
- label_selected="Obtener top de colisionadores" name="Get Top Colliders"
- tool_tip="Coger lista de objetos que están recibiendo narrowphase callbacks." />
- <button label="Obtener top de scripts" label_selected="Obtener top de scripts"
- name="Get Top Scripts"
- tool_tip="Coger lista de objetos que están consumiendo más tiempo de ejecución de scripts." />
- <button label="Compilador de scripts" label_selected="Compilador de scripts"
- name="Scripts digest"
- tool_tip="Coger una lista de todos los scripts y sus respectivos números de ocurrencia." />
+ <button label="Borrar objetos con script del blanco en otros terrenos" label_selected="Borrar objetos con script del blanco en otros terrenos" name="Delete Target&apos;s Scripted Objects On Others Land" tool_tip="Borrar todos los objetos con script pertenecientes al blanco en el terreno que no pertenece a él. Objetos (sin copia) retornarán."/>
+ <button label="Borrar objetos con script del blanco en *TODOS* los terrenos" label_selected="Borrar objetos con script del blanco en *TODOS* los terrenos" name="Delete Target&apos;s Scripted Objects On *Any* Land" tool_tip="Borrar todos los objetos con script pertenecientes al blanco en esta región. Objetos (sin copia) retornarán."/>
+ <button label="Borrar *TODOS* los objetos del blanco" label_selected="Borrar *TODOS* los objetos del blanco" name="Delete *ALL* Of Target&apos;s Objects" tool_tip="Borrar todos los objetos pertenecientes al blanco en esta región. Objetos (sin copia) retornarán."/>
+ <button label="Obtener top de colisionadores" label_selected="Obtener top de colisionadores" name="Get Top Colliders" tool_tip="Coger lista de objetos que están recibiendo narrowphase callbacks."/>
+ <button label="Obtener top de scripts" label_selected="Obtener top de scripts" name="Get Top Scripts" tool_tip="Coger lista de objetos que están consumiendo más tiempo de ejecución de scripts."/>
+ <button label="Compilador de scripts" label_selected="Compilador de scripts" name="Scripts digest" tool_tip="Coger una lista de todos los scripts y sus respectivos números de ocurrencia."/>
</panel>
<panel label="Requerir" name="request">
<text name="Destination:">
Destino:
</text>
<combo_box name="destination">
- <combo_box.item name="item1" label="Selección" />
- <combo_box.item name="item2" label="Agente de región" />
+ <combo_box.item label="Selección" name="item1"/>
+ <combo_box.item label="Agente de región" name="item2"/>
</combo_box>
<text name="Request:">
Exigencia:
</text>
<combo_box name="request">
- <combo_box.item name="item1" label="colisionadores &lt;pasos&gt;" />
- <combo_box.item name="item2" label="scripts &lt;contar&gt;,&lt;patrón opcional&gt;" />
- <combo_box.item name="item3" label="objetos &lt;patrón&gt;" />
- <combo_box.item name="item4" label="rez &lt;asset_id&gt;" />
+ <combo_box.item label="colisionadores &lt;pasos&gt;" name="item1"/>
+ <combo_box.item label="scripts &lt;contar&gt;,&lt;patrón opcional&gt;" name="item2"/>
+ <combo_box.item label="objetos &lt;patrón&gt;" name="item3"/>
+ <combo_box.item label="rez &lt;asset_id&gt;" name="item4"/>
</combo_box>
<text name="Parameter:">
Parámetro:
</text>
- <button label="Hacer exigencia" label_selected="Hacer exigencia" name="Make Request" />
+ <button label="Hacer exigencia" label_selected="Hacer exigencia" name="Make Request"/>
</panel>
</tab_container>
</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_help_browser.xml b/indra/newview/skins/default/xui/es/floater_help_browser.xml
index 2a26bb8453..ec3c38e8c7 100644
--- a/indra/newview/skins/default/xui/es/floater_help_browser.xml
+++ b/indra/newview/skins/default/xui/es/floater_help_browser.xml
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_help_browser" title="BUSCADOR DE AYUDA">
+ <floater.string name="loading_text">
+ Cargando...
+ </floater.string>
<layout_stack name="stack1">
- <layout_panel name="external_controls">
- <button label="Abrir en mi propio navegador" name="open_browser"/>
- </layout_panel>
+ <layout_panel name="external_controls"/>
</layout_stack>
</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_im.xml b/indra/newview/skins/default/xui/es/floater_im.xml
index 8589718b88..e6b01a4946 100644
--- a/indra/newview/skins/default/xui/es/floater_im.xml
+++ b/indra/newview/skins/default/xui/es/floater_im.xml
@@ -10,7 +10,7 @@
Pulse el botón [BUTTON NAME] para aceptar/conectar este chat de voz.
</string>
<string name="muted_message">
- Has ignorado a este residente. Enviándole un mensaje, automáticamente dejarás de ignorarle.
+ Has ignorado a este Residente. Enviándole un mensaje, automáticamente dejarás de ignorarle.
</string>
<string name="generic_request_error">
Error al hacer lo solicitado; por favor, inténtelo más tarde.
diff --git a/indra/newview/skins/default/xui/es/floater_im_container.xml b/indra/newview/skins/default/xui/es/floater_im_container.xml
index 617097e9c9..1cd752e6ec 100644
--- a/indra/newview/skins/default/xui/es/floater_im_container.xml
+++ b/indra/newview/skins/default/xui/es/floater_im_container.xml
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<multi_floater name="floater_im_box" title="Mensajes instantáneos"/>
+<multi_floater name="floater_im_box" title="CONVERSACIONES"/>
diff --git a/indra/newview/skins/default/xui/es/floater_incoming_call.xml b/indra/newview/skins/default/xui/es/floater_incoming_call.xml
index f499198b31..2b5fc7f193 100644
--- a/indra/newview/skins/default/xui/es/floater_incoming_call.xml
+++ b/indra/newview/skins/default/xui/es/floater_incoming_call.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="incoming call" title="ESTÁ LLAMANDO ALGUIEN DESCONOCIDO">
+ <floater.string name="lifetime">
+ 5
+ </floater.string>
<floater.string name="localchat">
Chat de voz
</floater.string>
@@ -12,6 +15,9 @@
<floater.string name="VoiceInviteAdHoc">
ha entrado en un chat de voz en multiconferencia.
</floater.string>
+ <floater.string name="VoiceInviteGroup">
+ ha hecho una llamada de voz al grupo [GROUP].
+ </floater.string>
<text name="question">
¿Quieres dejar [CURRENT_CHAT] y entrar a este chat de voz?
</text>
diff --git a/indra/newview/skins/default/xui/es/floater_inventory.xml b/indra/newview/skins/default/xui/es/floater_inventory.xml
index c2a1e4e91d..0f0ba2fce6 100644
--- a/indra/newview/skins/default/xui/es/floater_inventory.xml
+++ b/indra/newview/skins/default/xui/es/floater_inventory.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Inventory" title="INVENTARIO">
+<floater name="Inventory" title="MI INVENTARIO">
<floater.string name="Title">
- Inventario
+ MI INVENTARIO
</floater.string>
<floater.string name="TitleFetching">
- Inventario (obtenidos [ITEM_COUNT] ítems...) [FILTER]
+ MI INVENTARIO (obteniendo [ITEM_COUNT] ítems...) [FILTER]
</floater.string>
<floater.string name="TitleCompleted">
- Inventario ([ITEM_COUNT] ítems) [FILTER]
+ MI INVENTARIO ([ITEM_COUNT] ítems) [FILTER]
</floater.string>
<floater.string name="Fetched">
Obtenido
diff --git a/indra/newview/skins/default/xui/es/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/es/floater_live_lsleditor.xml
index a1ec0eba4d..4ff54bccb5 100644
--- a/indra/newview/skins/default/xui/es/floater_live_lsleditor.xml
+++ b/indra/newview/skins/default/xui/es/floater_live_lsleditor.xml
@@ -7,7 +7,7 @@
Ejecutándose
</floater.string>
<floater.string name="Title">
- Script: [NAME]
+ SCRIPT: [NAME]
</floater.string>
<button label="Reiniciar" label_selected="Reiniciar" name="Reset"/>
<check_box initial_value="true" label="Ejecutándose" left="4" name="running"/>
diff --git a/indra/newview/skins/default/xui/es/floater_lsl_guide.xml b/indra/newview/skins/default/xui/es/floater_lsl_guide.xml
index d4a6e52f9f..43a7ede030 100644
--- a/indra/newview/skins/default/xui/es/floater_lsl_guide.xml
+++ b/indra/newview/skins/default/xui/es/floater_lsl_guide.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="script ed float" title="WIKI DE LSL">
+<floater name="script ed float" title="GUÍA DE LSL">
<check_box label="Seguir al cursor" name="lock_check"/>
<combo_box label="Bloquear" left_delta="120" name="history_combo" width="70"/>
<button label="Atrás" left_delta="75" name="back_btn"/>
diff --git a/indra/newview/skins/default/xui/es/floater_map.xml b/indra/newview/skins/default/xui/es/floater_map.xml
index eee9caf830..fde4d37caf 100644
--- a/indra/newview/skins/default/xui/es/floater_map.xml
+++ b/indra/newview/skins/default/xui/es/floater_map.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Map">
+<floater name="Map" title="Minimapa">
<floater.string name="mini_map_north">
N
</floater.string>
diff --git a/indra/newview/skins/default/xui/es/floater_media_browser.xml b/indra/newview/skins/default/xui/es/floater_media_browser.xml
index cdc7ae49ff..9c4ef1eb2f 100644
--- a/indra/newview/skins/default/xui/es/floater_media_browser.xml
+++ b/indra/newview/skins/default/xui/es/floater_media_browser.xml
@@ -9,13 +9,13 @@
<layout_stack name="stack1">
<layout_panel name="nav_controls">
<button label="Atrás" name="back" width="75"/>
- <button label="Adelante" name="forward" left_delta="75" width="70"/>
- <button label="Actualizar" name="reload" left_delta="75"/>
+ <button label="Adelante" left_delta="75" name="forward" width="70"/>
+ <button label="Actualizar" left_delta="75" name="reload"/>
<combo_box left_delta="75" name="address" width="510"/>
- <button label="Ir" name="go" left_delta="515"/>
+ <button label="Ir" left_delta="515" name="go"/>
</layout_panel>
<layout_panel name="parcel_owner_controls">
- <button label="Enviar a la parcela la URL actual" name="assign"/>
+ <button label="Enviar a la parcela la página actual" name="assign"/>
</layout_panel>
<layout_panel name="external_controls">
<button label="Abrir en mi navegador" name="open_browser"/>
diff --git a/indra/newview/skins/default/xui/es/floater_moveview.xml b/indra/newview/skins/default/xui/es/floater_moveview.xml
index 00a7a3fd6b..1269943879 100644
--- a/indra/newview/skins/default/xui/es/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/es/floater_moveview.xml
@@ -21,8 +21,8 @@
<panel name="panel_actions">
<button label="" label_selected="" name="turn left btn" tool_tip="Girar a la izq. (cursor izq. o A)"/>
<button label="" label_selected="" name="turn right btn" tool_tip="Girar a la der. (cursor der. o D)"/>
- <button label="" label_selected="" name="move up btn" tool_tip="Volar subiendo, pulsa &quot;E&quot;"/>
- <button label="" label_selected="" name="move down btn" tool_tip="Volar bajando, pulsa &quot;C&quot;"/>
+ <button label="" label_selected="" name="move up btn" tool_tip="Volar: pulsa E para subir"/>
+ <button label="" label_selected="" name="move down btn" tool_tip="Volar: pulsa C para descender"/>
<joystick_turn name="forward btn" tool_tip="Caminar hacia adelante (cursor arriba o W)"/>
<joystick_turn name="backward btn" tool_tip="Caminar de espaldas (cursor abajo o S)"/>
</panel>
diff --git a/indra/newview/skins/default/xui/es/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/es/floater_outfit_save_as.xml
new file mode 100644
index 0000000000..9f9902a3a0
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_outfit_save_as.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="modal container" title="Guardar el vestuario">
+ <button label="Guardar" label_selected="Guardar" name="Save"/>
+ <button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
+ <text name="Save item as:">
+ Guardar lo que llevo puesto
+como un vestuario nuevo:
+ </text>
+ <line_editor name="name ed">
+ [DESC] (nuevo)
+ </line_editor>
+</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_outgoing_call.xml b/indra/newview/skins/default/xui/es/floater_outgoing_call.xml
index 51ff71dd17..e2a53693b5 100644
--- a/indra/newview/skins/default/xui/es/floater_outgoing_call.xml
+++ b/indra/newview/skins/default/xui/es/floater_outgoing_call.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="outgoing call" title="LLAMANDO">
+ <floater.string name="lifetime">
+ 5
+ </floater.string>
<floater.string name="localchat">
Chat de voz
</floater.string>
@@ -21,6 +24,15 @@
<text name="noanswer">
Sin respuesta. Vuelve a intentarlo más tarde.
</text>
+ <text name="nearby">
+ Has sido desconectado de [VOICE_CHANNEL_NAME]. [RECONNECT_NEARBY]
+ </text>
+ <text name="nearby_P2P_by_other">
+ [VOICE_CHANNEL_NAME] ha colgado la llamada. [RECONNECT_NEARBY]
+ </text>
+ <text name="nearby_P2P_by_agent">
+ Has finalizado la llamada. [RECONNECT_NEARBY]
+ </text>
<text name="leaving">
Saliendo de [CURRENT_CHAT].
</text>
diff --git a/indra/newview/skins/default/xui/es/floater_pay_object.xml b/indra/newview/skins/default/xui/es/floater_pay_object.xml
index 2af8c8cc13..f29745ea9b 100644
--- a/indra/newview/skins/default/xui/es/floater_pay_object.xml
+++ b/indra/newview/skins/default/xui/es/floater_pay_object.xml
@@ -15,7 +15,7 @@
</text>
<icon name="icon_object" tool_tip="Objetos"/>
<text left="120" name="object_name_text" width="180">
- ...
+ El muy largo nombre de mi objeto
</text>
<button label="1 L$" label_selected="1 L$" name="fastpay 1"/>
<button label="5 L$" label_selected="5 L$" name="fastpay 5"/>
diff --git a/indra/newview/skins/default/xui/es/floater_preferences.xml b/indra/newview/skins/default/xui/es/floater_preferences.xml
index 8f71fdd035..37d56ea839 100644
--- a/indra/newview/skins/default/xui/es/floater_preferences.xml
+++ b/indra/newview/skins/default/xui/es/floater_preferences.xml
@@ -6,7 +6,7 @@
<panel label="General" name="general"/>
<panel label="Gráficos" name="display"/>
<panel label="Privacidad" name="im"/>
- <panel label="Sonido" name="audio"/>
+ <panel label="Sonido y Media" name="audio"/>
<panel label="Chat" name="chat"/>
<panel label="Notificaciones" name="msgs"/>
<panel label="Configurar" name="input"/>
diff --git a/indra/newview/skins/default/xui/es/floater_preview_animation.xml b/indra/newview/skins/default/xui/es/floater_preview_animation.xml
index c10648db73..6b8c8b6ff5 100644
--- a/indra/newview/skins/default/xui/es/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/es/floater_preview_animation.xml
@@ -6,6 +6,6 @@
<text name="desc txt">
Descripción:
</text>
- <button label="Ejecutarla en el mundo" label_selected="Parar" left="12" name="Anim play btn" tool_tip="Ejecutar esta animación de modo que puedan verla los demás" width="142"/>
+ <button label="Ver en el mundo" label_selected="Parar" left="12" name="Anim play btn" tool_tip="Ejecutar esta animación de modo que puedan verla los demás" width="142"/>
<button label="Ejecutarla para usted" label_selected="Parar" left="156" name="Anim audition btn" tool_tip="Ejecutar esta animación de modo que sólo la vea yo" width="136"/>
</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_preview_gesture.xml b/indra/newview/skins/default/xui/es/floater_preview_gesture.xml
index febcd9d485..44179d6b28 100644
--- a/indra/newview/skins/default/xui/es/floater_preview_gesture.xml
+++ b/indra/newview/skins/default/xui/es/floater_preview_gesture.xml
@@ -24,6 +24,9 @@
<floater.string name="Title">
Gesto: [NAME]
</floater.string>
+ <text name="name_text">
+ Nombre:
+ </text>
<text name="desc_label">
Descripción:
</text>
@@ -55,8 +58,7 @@
<radio_item label="Empezar" name="start"/>
<radio_item label="Parar" name="stop"/>
</radio_group>
- <check_box bottom_delta="34" label="hasta que las animaciones
-estén hechas" name="wait_anim_check"/>
+ <check_box bottom_delta="34" label="hasta que las animaciones estén hechas" name="wait_anim_check"/>
<check_box bottom_delta="-30" label="tiempo en segundos" name="wait_time_check"/>
<line_editor left_delta="130" name="wait_time_editor"/>
<text name="help_label">
diff --git a/indra/newview/skins/default/xui/es/floater_preview_notecard.xml b/indra/newview/skins/default/xui/es/floater_preview_notecard.xml
index ee2e06a3d7..57ec5eb7b4 100644
--- a/indra/newview/skins/default/xui/es/floater_preview_notecard.xml
+++ b/indra/newview/skins/default/xui/es/floater_preview_notecard.xml
@@ -4,7 +4,7 @@
No se ha podido encontrar el objeto que contiene esta nota.
</floater.string>
<floater.string name="not_allowed">
- no tienes permiso para ver esta nota.
+ No tienes permiso para ver esta nota.
</floater.string>
<floater.string name="Title">
Nota: [NAME]
diff --git a/indra/newview/skins/default/xui/es/floater_preview_sound.xml b/indra/newview/skins/default/xui/es/floater_preview_sound.xml
index 07ec53581c..62525c9536 100644
--- a/indra/newview/skins/default/xui/es/floater_preview_sound.xml
+++ b/indra/newview/skins/default/xui/es/floater_preview_sound.xml
@@ -6,6 +6,6 @@
<text name="desc txt">
Descripción:
</text>
- <button label="Tocar en el mundo" label_selected="Tocar en el mundo" name="Sound play btn" tool_tip="Ejecutar este sonido de modo que lo oigan todos"/>
+ <button label="Escuchar en el mundo" label_selected="Escuchar en el mundo" name="Sound play btn" tool_tip="Ejecutar este sonido de modo que lo oigan todos"/>
<button label="Oír sólo uno mismo" label_selected="Oír sólo uno mismo" name="Sound audition btn" tool_tip="Ejecutar este sonido de modo que sólo tú lo oigas"/>
</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_preview_texture.xml b/indra/newview/skins/default/xui/es/floater_preview_texture.xml
index 412b31abb9..4012191c78 100644
--- a/indra/newview/skins/default/xui/es/floater_preview_texture.xml
+++ b/indra/newview/skins/default/xui/es/floater_preview_texture.xml
@@ -12,6 +12,9 @@
<text name="dimensions">
[WIDTH] px x [HEIGHT] px
</text>
+ <text name="aspect_ratio">
+ Previsualizar la ratio de las proporciones
+ </text>
<combo_box name="combo_aspect_ratio" tool_tip="Vista previa en una proporción concreta">
<combo_item name="Unconstrained">
Sin restricciones
@@ -38,7 +41,7 @@
2:1
</combo_item>
</combo_box>
- <button label="OK" name="keep"/>
- <button label="Cancelar" name="discard"/>
+ <button label="OK" name="Keep"/>
+ <button label="Descartar" name="Discard"/>
<button label="Guardar como" name="save_tex_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_script_limits.xml b/indra/newview/skins/default/xui/es/floater_script_limits.xml
new file mode 100644
index 0000000000..410f7b5e36
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_script_limits.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="scriptlimits" title="INFORMACIÓN DEL SCRIPT"/>
diff --git a/indra/newview/skins/default/xui/es/floater_script_preview.xml b/indra/newview/skins/default/xui/es/floater_script_preview.xml
index 36b58b608b..5c190a4682 100644
--- a/indra/newview/skins/default/xui/es/floater_script_preview.xml
+++ b/indra/newview/skins/default/xui/es/floater_script_preview.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="preview lsl text" title="SCRIPT: ROTACIÓN DEL SCRIPT">
<floater.string name="Title">
- Script: [NAME]
+ SCRIPT: [NAME]
</floater.string>
<text name="desc txt">
Descripción:
diff --git a/indra/newview/skins/default/xui/es/floater_settings_debug.xml b/indra/newview/skins/default/xui/es/floater_settings_debug.xml
index 36234763b0..bca1839f09 100644
--- a/indra/newview/skins/default/xui/es/floater_settings_debug.xml
+++ b/indra/newview/skins/default/xui/es/floater_settings_debug.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="settings_debug" title="CONFIGURACIONES DEL DEPURADOR">
- <combo_box name="boolean_combo">
- <combo_box.item label="VERDADERO" name="TRUE"/>
- <combo_box.item label="FALSO" name="FALSE"/>
- </combo_box>
+ <radio_group name="boolean_combo">
+ <radio_item label="VERDADERO" name="TRUE" value="verdadero"/>
+ <radio_item label="FALSO" name="FALSE" value=""/>
+ </radio_group>
<color_swatch label="Color" name="val_color_swatch"/>
<spinner label="x" name="val_spinner_1"/>
<spinner label="x" name="val_spinner_2"/>
diff --git a/indra/newview/skins/default/xui/es/floater_snapshot.xml b/indra/newview/skins/default/xui/es/floater_snapshot.xml
index 9417c74d28..febb51e5d6 100644
--- a/indra/newview/skins/default/xui/es/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/es/floater_snapshot.xml
@@ -4,12 +4,12 @@
Destino de la foto
</text>
<radio_group label="Tipo de la foto" name="snapshot_type_radio">
- <radio_item label="Enviar por correo electrónico" name="postcard"/>
- <radio_item label="Guardarla en su inventario ([AMOUNT] L$)" name="texture"/>
- <radio_item label="Guardarla en su disco duro" name="local"/>
+ <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>
<text name="file_size_label">
- Tamaño del archivo: [SIZE] KB
+ [SIZE] KB
</text>
<button label="Actualizar la foto" name="new_snapshot_btn"/>
<button label="Enviar" name="send_btn"/>
@@ -19,8 +19,8 @@
<flyout_button_item label="Guardar como..." name="saveas_item"/>
</flyout_button>
<button label="Cancelar" name="discard_btn"/>
- <button label="Más &gt;&gt;" name="more_btn" tool_tip="Opciones avanzadas"/>
- <button label="&lt;&lt; Menos" name="less_btn" tool_tip="Opciones avanzadas"/>
+ <button label="Más" name="more_btn" tool_tip="Opciones avanzadas"/>
+ <button label="Menos" name="less_btn" tool_tip="Opciones avanzadas"/>
<text name="type_label2">
Tamaño
</text>
@@ -68,11 +68,10 @@
<combo_box.item label="Profundidad" name="Depth"/>
<combo_box.item label="Bandas negras" name="ObjectMattes"/>
</combo_box>
- <check_box label="Incluir la interfaz en la foto" name="ui_check"/>
- <check_box bottom_delta="-17" label="Incluir los HUD en la foto" name="hud_check"/>
+ <check_box label="Interfaz" name="ui_check"/>
+ <check_box bottom_delta="-17" label="HUDs" name="hud_check"/>
<check_box bottom_delta="-17" label="Mantenerla abierta tras guardarla" name="keep_open_check"/>
- <check_box bottom_delta="-17" label="Congelar la toma
-(vista previa en pantalla completa)" name="freeze_frame_check"/>
+ <check_box bottom_delta="-17" label="Congelar la toma (pantalla completa)" name="freeze_frame_check"/>
<check_box bottom_delta="-29" label="Actualizar automáticamente" name="auto_snapshot_check"/>
<string name="unknown">
desconocido
diff --git a/indra/newview/skins/default/xui/es/floater_sys_well.xml b/indra/newview/skins/default/xui/es/floater_sys_well.xml
index 34c87351a4..8c8190be55 100644
--- a/indra/newview/skins/default/xui/es/floater_sys_well.xml
+++ b/indra/newview/skins/default/xui/es/floater_sys_well.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="sys_well_window" title="NOTIFICACIONES">
<string name="title_im_well_window">
- SESIONES DE MI
+ CONVERSACIONES
</string>
<string name="title_notification_well_window">
NOTIFICACIONES
diff --git a/indra/newview/skins/default/xui/es/floater_top_objects.xml b/indra/newview/skins/default/xui/es/floater_top_objects.xml
index d2311c734b..7c2522e8a9 100644
--- a/indra/newview/skins/default/xui/es/floater_top_objects.xml
+++ b/indra/newview/skins/default/xui/es/floater_top_objects.xml
@@ -1,58 +1,59 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="top_objects" title="Objetos superiores">
+ <floater.string name="top_scripts_title">
+ Scripts según su uso
+ </floater.string>
+ <floater.string name="top_scripts_text">
+ [COUNT] scripts con un total de [TIME] ms
+ </floater.string>
+ <floater.string name="scripts_score_label">
+ Tiempo
+ </floater.string>
+ <floater.string name="scripts_mono_time_label">
+ Tiempo en Mono
+ </floater.string>
+ <floater.string name="top_colliders_title">
+ Objetos que colisionan
+ </floater.string>
+ <floater.string name="top_colliders_text">
+ [COUNT] objetos con muchas posibles colisiones
+ </floater.string>
+ <floater.string name="colliders_score_label">
+ Resultado
+ </floater.string>
+ <floater.string name="none_descriptor">
+ No se ha encontrado ninguno.
+ </floater.string>
<text name="title_text">
Cargando...
</text>
<scroll_list name="objects_list">
- <column label="Resultado" name="score"/>
- <column label="Nombre" name="name"/>
- <column label="Propietario" name="owner"/>
- <column label="Posición" name="location"/>
- <column label="Tiempo" name="time"/>
- <column label="Tiempo en Mono" name="mono_time"/>
+ <scroll_list.columns label="Resultado" name="score"/>
+ <scroll_list.columns label="Nombre" name="name"/>
+ <scroll_list.columns label="Propietario" name="owner"/>
+ <scroll_list.columns label="Posición" name="location"/>
+ <scroll_list.columns label="Tiempo" name="time"/>
+ <scroll_list.columns label="Tiempo en Mono" name="mono_time"/>
+ <scroll_list.columns label="URLs" name="URLs"/>
</scroll_list>
- <line_editor font="SansSerifSmall" left="140" name="id_editor" width="280"/>
- <line_editor font="SansSerifSmall" left="140" name="object_name_editor" width="280"/>
- <line_editor font="SansSerifSmall" left="140" name="owner_name_editor" width="280"/>
<text name="id_text">
ID del objeto:
</text>
+ <line_editor font="SansSerifSmall" left="140" name="id_editor" width="280"/>
<button label="Mostrar la baliza" name="show_beacon_btn" width="115"/>
<text name="obj_name_text">
Nombre del objeto:
</text>
+ <line_editor font="SansSerifSmall" left="140" name="object_name_editor" width="280"/>
<button label="Filtro" name="filter_object_btn" width="115"/>
<text name="owner_name_text" width="130">
Propietario:
</text>
+ <line_editor font="SansSerifSmall" left="140" name="owner_name_editor" width="280"/>
<button label="Filtro" name="filter_owner_btn" width="115"/>
+ <button label="Actualizar" name="refresh_btn" width="115"/>
<button label="Devolver lo seleccionado" name="return_selected_btn" width="170"/>
<button label="Devolver todo" left="190" name="return_all_btn"/>
<button label="Desactivar lo seleccionado" name="disable_selected_btn" width="170"/>
<button label="Desactivar todo" left="190" name="disable_all_btn"/>
- <button label="Actualizar" name="refresh_btn" width="115"/>
- <string name="top_scripts_title">
- Scripts según su uso
- </string>
- <string name="top_scripts_text">
- [COUNT] scripts con un total de [TIME] ms
- </string>
- <string name="scripts_score_label">
- Tiempo
- </string>
- <string name="scripts_mono_time_label">
- Tiempo en Mono
- </string>
- <string name="top_colliders_title">
- Objetos que colisionan
- </string>
- <string name="top_colliders_text">
- [COUNT] objetos con muchas posibles colisiones
- </string>
- <string name="colliders_score_label">
- Resultado
- </string>
- <string name="none_descriptor">
- No se ha encontrado ninguno.
- </string>
</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 dfd03c6f83..934d14a45c 100644
--- a/indra/newview/skins/default/xui/es/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/es/floater_voice_controls.xml
@@ -13,13 +13,14 @@
Llamada: [NAME]
</string>
<string name="no_one_near">
- No hay nadie cerca
+ Nadie cercano tiene activada la voz
</string>
- <panel name="control_panel">
- <layout_stack>
- <layout_panel name="leave_btn_panel">
- <button label="Colgar" name="leave_call_btn"/>
- </layout_panel>
- </layout_stack>
- </panel>
+ <layout_stack name="my_call_stack">
+ <layout_panel name="my_panel">
+ <text name="user_text" value="Mi avatar:"/>
+ </layout_panel>
+ <layout_panel name="leave_call_btn_panel">
+ <button label="Colgar" name="leave_call_btn"/>
+ </layout_panel>
+ </layout_stack>
</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_wearable_save_as.xml b/indra/newview/skins/default/xui/es/floater_wearable_save_as.xml
index 1dfff90004..bf96ed53ce 100644
--- a/indra/newview/skins/default/xui/es/floater_wearable_save_as.xml
+++ b/indra/newview/skins/default/xui/es/floater_wearable_save_as.xml
@@ -3,7 +3,7 @@
<button label="Guardar" label_selected="Guardar" name="Save"/>
<button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
<text name="Save item as:">
- Guardar el ítem como:
+ Guardar el ítem en mi inventario como:
</text>
<line_editor name="name ed">
Nuevo [DESC]
diff --git a/indra/newview/skins/default/xui/es/floater_whitelist_entry.xml b/indra/newview/skins/default/xui/es/floater_whitelist_entry.xml
index 71b185aa0a..7dc47ca367 100644
--- a/indra/newview/skins/default/xui/es/floater_whitelist_entry.xml
+++ b/indra/newview/skins/default/xui/es/floater_whitelist_entry.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="whitelist_entry">
+<floater name="whitelist_entry" title="ENTRADA DE LA LISTA BLANCA">
<text name="media_label">
Escribe una URL o un rango de URL para añadirla a lista de dominios autorizados
</text>
diff --git a/indra/newview/skins/default/xui/es/floater_window_size.xml b/indra/newview/skins/default/xui/es/floater_window_size.xml
new file mode 100644
index 0000000000..f57ce08eac
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/floater_window_size.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="window_size" title="TAMAÑO DE LA VENTANA">
+ <string name="resolution_format">
+ [RES_X] x [RES_Y]
+ </string>
+ <text name="windowsize_text">
+ Definir el tamaño de la ventana:
+ </text>
+ <combo_box name="window_size_combo" tool_tip="ancho x alto">
+ <combo_box.item label="1000 x 700 (por defecto)" name="item0"/>
+ <combo_box.item label="1024 x 768" name="item1"/>
+ <combo_box.item label="1280 x 720 (720 p)" name="item2"/>
+ <combo_box.item label="1920 x 1080 (1080 p)" name="item3"/>
+ </combo_box>
+ <button label="Configurar" name="set_btn"/>
+ <button label="Cancelar" name="cancel_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/es/floater_world_map.xml b/indra/newview/skins/default/xui/es/floater_world_map.xml
index 37c4e2a377..a8dc05703c 100644
--- a/indra/newview/skins/default/xui/es/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/es/floater_world_map.xml
@@ -6,64 +6,29 @@
</text>
</panel>
<panel>
- <button label="Mostrar mi posición" label_selected="Mostrar mi posición" name="Show My Location" tool_tip="Centrar el mapa en la posición de mi avatar"/>
- <text name="person_label">
+ <text name="me_label">
Yo
</text>
- <check_box label="Residente" name="people_chk"/>
- <check_box label="Punto de Info" name="infohub_chk"/>
- <text name="infohub_label">
- Punto de Info
- </text>
- <check_box label="Terreno en venta" name="land_for_sale_chk"/>
- <text name="land_sale_label">
- Venta de terreno
+ <text name="person_label">
+ Persona
</text>
- <text name="auction_label">
+ <text name="by_owner_label">
por el propietario
</text>
- <button label="Ir a la Base" label_selected="Ir a la Base" name="Go Home" tool_tip="Teleportar a mi Base"/>
- <text name="Home_label">
- Base
+ <text name="auction_label">
+ subasta de terreno
</text>
- <text name="events_label">
- Eventos:
+ <text name="pg_label">
+ General
</text>
- <check_box label="&apos;PG&apos;" name="event_chk"/>
- <check_box initial_value="true" label="&apos;Mature&apos;" name="event_mature_chk"/>
<text name="mature_label">
- Mature
+ Moderado
</text>
- <check_box label="&apos;Adult&apos;" name="event_adult_chk"/>
- </panel>
- <panel>
- <text name="find_on_map_label">
- Encontrar en el mapa
- </text>
- </panel>
- <panel>
- <combo_box label="Amigos conectados" name="friend combo" tool_tip="Ver a los amigos en el mapa">
- <combo_box.item label="Mis amigos conectados" name="item1"/>
- </combo_box>
- <combo_box label="Mis hitos" name="landmark combo" tool_tip="Hito a ver en el mapa">
- <combo_box.item label="Mis hitos" name="item1"/>
- </combo_box>
- <search_editor label="Regiones alfabéticamente" name="location" tool_tip="Escriba el nombre de una región"/>
- <button label="Encontrar" name="DoSearch" tool_tip="Buscar una región"/>
- <scroll_list name="search_results">
- <scroll_list.columns label="" name="icon"/>
- <scroll_list.columns label="" name="sim_name"/>
- </scroll_list>
- <button label="Teleportar" label_selected="Teleportar" name="Teleport" tool_tip="Teleportarse a la localización elegida"/>
- <button label="Copiar la SLurl" name="copy_slurl" tool_tip="Copiar la SLurl de esta posición para usarla en una web."/>
- <button label="Ver lo elegido" label_selected="Mostrar el destino" name="Show Destination" tool_tip="Centrar el mapa en la localización elegida"/>
- </panel>
- <panel>
- <text name="zoom_label">
- Zoom
+ <text name="adult_label">
+ Adulto
</text>
</panel>
<panel>
- <slider label="Zoom" name="zoom slider"/>
+ <button name="Clear" tool_tip="Limpia las marcas y actualiza el mapa"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/es/inspect_avatar.xml b/indra/newview/skins/default/xui/es/inspect_avatar.xml
index dff09aaace..bff10d9292 100644
--- a/indra/newview/skins/default/xui/es/inspect_avatar.xml
+++ b/indra/newview/skins/default/xui/es/inspect_avatar.xml
@@ -13,7 +13,7 @@
<slider name="volume_slider" tool_tip="Volumen de la voz" value="0.5"/>
<button label="Añadir como amigo" name="add_friend_btn"/>
<button label="MI" name="im_btn"/>
- <button label="Más" name="view_profile_btn"/>
+ <button label="Perfil" name="view_profile_btn"/>
<panel name="moderator_panel">
<button label="Desactivar la voz" name="disable_voice"/>
<button label="Activar la voz" name="enable_voice"/>
diff --git a/indra/newview/skins/default/xui/es/menu_avatar_self.xml b/indra/newview/skins/default/xui/es/menu_avatar_self.xml
index 8d3790a4d1..46b6d3ece6 100644
--- a/indra/newview/skins/default/xui/es/menu_avatar_self.xml
+++ b/indra/newview/skins/default/xui/es/menu_avatar_self.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Self Pie">
<menu_item_call label="Levantarse" name="Stand Up"/>
- <context_menu label="Quitarse &gt;" name="Take Off &gt;">
- <context_menu label="Ropa &gt;" name="Clothes &gt;">
+ <context_menu label="Quitarme ▶" name="Take Off &gt;">
+ <context_menu label="Ropas ▶" name="Clothes &gt;">
<menu_item_call label="Camisa" name="Shirt"/>
<menu_item_call label="Pantalón" name="Pants"/>
<menu_item_call label="Falda" name="Skirt"/>
@@ -16,8 +16,8 @@
<menu_item_call label="Alfa" name="Self Alpha"/>
<menu_item_call label="Toda la ropa" name="All Clothes"/>
</context_menu>
- <context_menu label="HUD &gt;" name="Object Detach HUD"/>
- <context_menu label="Quitarse &gt;" name="Object Detach"/>
+ <context_menu label="HUD ▶" name="Object Detach HUD"/>
+ <context_menu label="Desanexar ▶" name="Object Detach"/>
<menu_item_call label="Quitarse todo" name="Detach All"/>
</context_menu>
<menu_item_call label="Mi apariencia" name="Appearance..."/>
diff --git a/indra/newview/skins/default/xui/es/menu_im_well_button.xml b/indra/newview/skins/default/xui/es/menu_im_well_button.xml
new file mode 100644
index 0000000000..c8f6c217cc
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/menu_im_well_button.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="IM Well Button Context Menu">
+ <menu_item_call label="Cerrar todo" name="Close All"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/es/menu_inspect_avatar_gear.xml
index c6728f948d..34f6b8ece7 100644
--- a/indra/newview/skins/default/xui/es/menu_inspect_avatar_gear.xml
+++ b/indra/newview/skins/default/xui/es/menu_inspect_avatar_gear.xml
@@ -7,6 +7,7 @@
<menu_item_call label="Teleportarse" name="teleport"/>
<menu_item_call label="Invitar al grupo" name="invite_to_group"/>
<menu_item_call label="Ignorar" name="block"/>
+ <menu_item_call label="Designorar" name="unblock"/>
<menu_item_call label="Denunciar" name="report"/>
<menu_item_call label="Congelar" name="freeze"/>
<menu_item_call label="Expulsar" name="eject"/>
@@ -14,4 +15,5 @@
<menu_item_call label="Encontrar en el mapa" name="find_on_map"/>
<menu_item_call label="Acercar el zoom" name="zoom_in"/>
<menu_item_call label="Pagar" name="pay"/>
+ <menu_item_call label="Compartir" name="share"/>
</menu>
diff --git a/indra/newview/skins/default/xui/es/menu_inventory.xml b/indra/newview/skins/default/xui/es/menu_inventory.xml
index ae3eb1c845..602798b108 100644
--- a/indra/newview/skins/default/xui/es/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/es/menu_inventory.xml
@@ -46,9 +46,10 @@
<menu_item_call label="Teleportar" name="Landmark Open"/>
<menu_item_call label="Abrir" name="Animation Open"/>
<menu_item_call label="Abrir" name="Sound Open"/>
+ <menu_item_call label="Reemplazar el vestuario" name="Replace Outfit"/>
+ <menu_item_call label="Añadir al vestuario" name="Add To Outfit"/>
<menu_item_call label="Eliminar el ítem" name="Purge Item"/>
<menu_item_call label="Restaurar el ítem" name="Restore Item"/>
- <menu_item_call label="Ir al enlace" name="Goto Link"/>
<menu_item_call label="Abrir" name="Open"/>
<menu_item_call label="Propiedades" name="Properties"/>
<menu_item_call label="Renombrar" name="Rename"/>
@@ -57,13 +58,11 @@
<menu_item_call label="Pegar" name="Paste"/>
<menu_item_call label="Pegar como enlace" name="Paste As Link"/>
<menu_item_call label="Borrar" name="Delete"/>
- <menu_item_call label="Quitarse los ítems" name="Take Off Items"/>
- <menu_item_call label="Añadir al vestuario" name="Add To Outfit"/>
- <menu_item_call label="Reemplazar el vestuario" name="Replace Outfit"/>
+ <menu_item_call label="Borrar carpeta del sistema" name="Delete System Folder"/>
<menu_item_call label="Empezar multiconferencia" name="Conference Chat Folder"/>
<menu_item_call label="Escuchar" name="Sound Play"/>
<menu_item_call label="Acerca del hito" name="About Landmark"/>
- <menu_item_call label="Ver en el mundo" name="Animation Play"/>
+ <menu_item_call label="Escuchar en el mundo" name="Animation Play"/>
<menu_item_call label="Ejecutarla para usted" name="Animation Audition"/>
<menu_item_call label="Enviar un mensaje instantáneo" name="Send Instant Message"/>
<menu_item_call label="Ofrecer teleporte..." name="Offer Teleport..."/>
diff --git a/indra/newview/skins/default/xui/es/menu_login.xml b/indra/newview/skins/default/xui/es/menu_login.xml
index 7e1a537122..7ebe2e0c31 100644
--- a/indra/newview/skins/default/xui/es/menu_login.xml
+++ b/indra/newview/skins/default/xui/es/menu_login.xml
@@ -21,8 +21,8 @@
</menu>
<menu_item_call label="Mostrar las configuraciones del depurador" name="Debug Settings"/>
<menu_item_call label="Configuraciones del Visor/Color" name="UI/Color Settings"/>
- <menu_item_call label="Mostrar el panel lateral" name="Show Side Tray"/>
<menu label="Pruebas de la interfaz" name="UI Tests"/>
+ <menu_item_call label="Definir el tamaño de la ventana..." name="Set Window Size..."/>
<menu_item_call label="Mostrar los &apos;TOS&apos;" name="TOS"/>
<menu_item_call label="Mostrar mensaje crítico" name="Critical"/>
<menu_item_call label="Web Browser Test" name="Web Browser Test"/>
diff --git a/indra/newview/skins/default/xui/es/menu_notification_well_button.xml b/indra/newview/skins/default/xui/es/menu_notification_well_button.xml
new file mode 100644
index 0000000000..0562d35be7
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/menu_notification_well_button.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Notification Well Button Context Menu">
+ <menu_item_call label="Cerrar todo" name="Close All"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_object.xml b/indra/newview/skins/default/xui/es/menu_object.xml
index 2d701a89c3..18b6363bbb 100644
--- a/indra/newview/skins/default/xui/es/menu_object.xml
+++ b/indra/newview/skins/default/xui/es/menu_object.xml
@@ -6,18 +6,20 @@
<menu_item_call label="Abrir" name="Open"/>
<menu_item_call label="Sentarse aquí" name="Object Sit"/>
<menu_item_call label="Perfil del objeto" name="Object Inspect"/>
- <context_menu label="Poner &gt;" name="Put On">
+ <menu_item_call label="Acercar el zoom" name="Zoom In"/>
+ <context_menu label="Ponerme ▶" name="Put On">
<menu_item_call label="Ponerse" name="Wear"/>
- <context_menu label="Anexar &gt;" name="Object Attach"/>
- <context_menu label="Anexar el HUD &gt;" name="Object Attach HUD"/>
+ <context_menu label="Anexar ▶" name="Object Attach"/>
+ <context_menu label="Anexar como HUD ▶" name="Object Attach HUD"/>
</context_menu>
- <context_menu label="Quitar &gt;" name="Remove">
- <menu_item_call label="Tomar" name="Pie Object Take"/>
+ <context_menu label="Quitarme ▶" name="Remove">
<menu_item_call label="Denunciar una infracción" name="Report Abuse..."/>
<menu_item_call label="Ignorar" name="Object Mute"/>
<menu_item_call label="Devolver" name="Return..."/>
<menu_item_call label="Eliminar" name="Delete"/>
</context_menu>
+ <menu_item_call label="Comprar" name="Pie Object Bye"/>
+ <menu_item_call label="Tomar" name="Pie Object Take"/>
<menu_item_call label="Coger una copia" name="Take Copy"/>
<menu_item_call label="Pagar" name="Pay..."/>
<menu_item_call label="Comprar" name="Buy..."/>
diff --git a/indra/newview/skins/default/xui/es/menu_participant_list.xml b/indra/newview/skins/default/xui/es/menu_participant_list.xml
index bc7e2617be..60c92eec75 100644
--- a/indra/newview/skins/default/xui/es/menu_participant_list.xml
+++ b/indra/newview/skins/default/xui/es/menu_participant_list.xml
@@ -1,16 +1,20 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Participant List Context Menu">
+ <menu_item_check label="Ordenar alfabéticamente" name="SortByName"/>
+ <menu_item_check label="Ordenar según las intervenciones recientes" name="SortByRecentSpeakers"/>
<menu_item_call label="Ver el perfil" name="View Profile"/>
<menu_item_call label="Añadir como amigo" name="Add Friend"/>
<menu_item_call label="MI" name="IM"/>
<menu_item_call label="Llamada" name="Call"/>
<menu_item_call label="Compartir" name="Share"/>
<menu_item_call label="Pagar" name="Pay"/>
- <menu_item_check label="Ignorar / No ignorar" name="Block/Unblock"/>
- <menu_item_check label="Silenciar el texto" name="MuteText"/>
- <menu_item_check label="Permitir el chat de texto" name="AllowTextChat"/>
- <menu_item_call label="Ignorar a este participante" name="ModerateVoiceMuteSelected"/>
- <menu_item_call label="Silenciar a todos los demás" name="ModerateVoiceMuteOthers"/>
- <menu_item_call label="Quitar el silencio a este participante" name="ModerateVoiceUnMuteSelected"/>
- <menu_item_call label="Quitar el silencio a todos los demás" name="ModerateVoiceUnMuteOthers"/>
+ <menu_item_check label="Ignorar la voz" name="Block/Unblock"/>
+ <menu_item_check label="Ignorar el texto" name="MuteText"/>
+ <context_menu label="Opciones del moderador &gt;" name="Moderator Options">
+ <menu_item_check label="Permitir el chat de texto" name="AllowTextChat"/>
+ <menu_item_call label="Ignorar a este participante" name="ModerateVoiceMuteSelected"/>
+ <menu_item_call label="Silenciar a todos los demás" name="ModerateVoiceMuteOthers"/>
+ <menu_item_call label="Quitar el silencio a este participante" name="ModerateVoiceUnMuteSelected"/>
+ <menu_item_call label="Quitar el silencio a todos los demás" name="ModerateVoiceUnMuteOthers"/>
+ </context_menu>
</context_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_people_groups.xml b/indra/newview/skins/default/xui/es/menu_people_groups.xml
new file mode 100644
index 0000000000..51bd2c7208
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/menu_people_groups.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_group_plus">
+ <menu_item_call label="Ver la información" name="View Info"/>
+ <menu_item_call label="Chat" name="Chat"/>
+ <menu_item_call label="Llamar" name="Call"/>
+ <menu_item_call label="Activar" name="Activate"/>
+ <menu_item_call label="Dejar" name="Leave"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/es/menu_people_nearby.xml b/indra/newview/skins/default/xui/es/menu_people_nearby.xml
index 310a96d740..88df983838 100644
--- a/indra/newview/skins/default/xui/es/menu_people_nearby.xml
+++ b/indra/newview/skins/default/xui/es/menu_people_nearby.xml
@@ -2,9 +2,12 @@
<context_menu name="Avatar Context Menu">
<menu_item_call label="Ver el perfil" name="View Profile"/>
<menu_item_call label="Añadir como amigo" name="Add Friend"/>
+ <menu_item_call label="Quitarle como amigo" name="Remove Friend"/>
<menu_item_call label="MI" name="IM"/>
<menu_item_call label="Llamada" name="Call"/>
+ <menu_item_call label="Mapa" name="Map"/>
<menu_item_call label="Compartir" name="Share"/>
<menu_item_call label="Pagar" name="Pay"/>
<menu_item_check label="Ignorar / No ignorar" name="Block/Unblock"/>
+ <menu_item_call label="Ofrecer teleporte" name="teleport"/>
</context_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_people_nearby_multiselect.xml b/indra/newview/skins/default/xui/es/menu_people_nearby_multiselect.xml
index 7d6979256e..b87d6c6deb 100644
--- a/indra/newview/skins/default/xui/es/menu_people_nearby_multiselect.xml
+++ b/indra/newview/skins/default/xui/es/menu_people_nearby_multiselect.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Multi-Selected People Context Menu">
<menu_item_call label="Añadir como amigos" name="Add Friends"/>
+ <menu_item_call label="Quitar amigos" name="Remove Friend"/>
<menu_item_call label="MI" name="IM"/>
<menu_item_call label="Llamada" name="Call"/>
<menu_item_call label="Compartir" name="Share"/>
diff --git a/indra/newview/skins/default/xui/es/menu_profile_overflow.xml b/indra/newview/skins/default/xui/es/menu_profile_overflow.xml
index c1e01f0554..37ad29d8ec 100644
--- a/indra/newview/skins/default/xui/es/menu_profile_overflow.xml
+++ b/indra/newview/skins/default/xui/es/menu_profile_overflow.xml
@@ -2,4 +2,10 @@
<toggleable_menu name="profile_overflow_menu">
<menu_item_call label="Pagar" name="pay"/>
<menu_item_call label="Compartir" name="share"/>
+ <menu_item_call label="Ignorar" name="block"/>
+ <menu_item_call label="Designorar" name="unblock"/>
+ <menu_item_call label="Expulsar" name="kick"/>
+ <menu_item_call label="Congelar" name="freeze"/>
+ <menu_item_call label="Descongelar" name="unfreeze"/>
+ <menu_item_call label="CSR" name="csr"/>
</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/es/menu_viewer.xml b/indra/newview/skins/default/xui/es/menu_viewer.xml
index acd7319b31..9c08fbb2c8 100644
--- a/indra/newview/skins/default/xui/es/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/es/menu_viewer.xml
@@ -9,8 +9,8 @@
<menu_item_call label="Mi perfil" name="Profile"/>
<menu_item_call label="Mi apariencia" name="Appearance"/>
<menu_item_check label="Mi Inventario" name="Inventory"/>
- <menu_item_call label="Mostrar el inventario en el panel lateral" name="ShowSidetrayInventory"/>
- <menu_item_call label="Mis gestos" name="Gestures"/>
+ <menu_item_check label="Mi Inventario" name="ShowSidetrayInventory"/>
+ <menu_item_check label="Mis gestos" name="Gestures"/>
<menu label="Mi estatus" name="Status">
<menu_item_call label="Ausente" name="Set Away"/>
<menu_item_call label="Ocupado" name="Set Busy"/>
@@ -24,35 +24,36 @@
<menu_item_call label="Mis grupos" name="My Groups"/>
<menu_item_check label="Chat" name="Nearby Chat"/>
<menu_item_call label="Gente cerca" name="Active Speakers"/>
- <menu_item_check label="Media cercanos" name="Nearby Media"/>
</menu>
<menu label="Mundo" name="World">
- <menu_item_check label="Moverse" name="Movement Controls"/>
- <menu_item_check label="Vista" name="Camera Controls"/>
- <menu_item_call label="Acerca del terreno" name="About Land"/>
- <menu_item_call label="Región/Estado" name="Region/Estate"/>
- <menu_item_call label="Comprar terreno" name="Buy Land"/>
+ <menu_item_check label="Minimapa" name="Mini-Map"/>
+ <menu_item_check label="Mapa del mundo" name="World Map"/>
+ <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="Acerca del terreno" name="About Land"/>
+ <menu_item_call label="Región/Estado" name="Region/Estate"/>
+ </menu>
+ <menu_item_call label="Comprar este terreno" name="Buy Land"/>
<menu_item_call label="Mi terreno" name="My Land"/>
- <menu label="Mostrar" name="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"/>
<menu_item_check label="Propietarios del terreno" name="Land Owners"/>
+ <menu_item_check label="Coordenadas" name="Coordinates"/>
+ <menu_item_check label="Propiedades de la parcela" name="Parcel Properties"/>
</menu>
- <menu label="Hitos" name="Landmarks">
- <menu_item_call label="Crear aquí un hito" name="Create Landmark Here"/>
- <menu_item_call label="Fijar mi base aquí" name="Set Home to Here"/>
- </menu>
- <menu_item_call label="Base" name="Teleport Home"/>
- <menu_item_check label="Minimapa" name="Mini-Map"/>
- <menu_item_check label="Mapa del mundo" name="World Map"/>
- <menu_item_call label="Foto" name="Take Snapshot"/>
+ <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 el horario del estado" name="Revert to Region Default"/>
+ <menu_item_call label="Hora del Estado" name="Revert to Region Default"/>
<menu_item_call label="Editor del entorno" name="Environment Editor"/>
</menu>
</menu>
@@ -78,10 +79,12 @@
</menu>
<menu_item_call label="Enlazar" name="Link"/>
<menu_item_call label="Desenlazar" name="Unlink"/>
+ <menu_item_check label="Editar las partes enlazadas" name="Edit Linked Parts"/>
<menu_item_call label="Visión en lo seleccionado" name="Focus on Selection"/>
<menu_item_call label="Zoom en lo seleccionado" name="Zoom to Selection"/>
<menu label="Objeto" name="Object">
- <menu_item_call label="Comprar" name="Menu Object Take"/>
+ <menu_item_call label="Comprar" name="Menu Object Buy"/>
+ <menu_item_call label="Tomar" name="Menu Object Take"/>
<menu_item_call label="Coger una copia" name="Take Copy"/>
<menu_item_call label="Guardar una copia en mi inventario" name="Save Object Back to My Inventory"/>
<menu_item_call label="Guardar una copia del objeto en los contenidos de donde salió" name="Save Object Back to Object Contents"/>
@@ -94,25 +97,18 @@
<menu_item_call label="Configurar scripts como no ejecutándose" name="Set Scripts to Not Running"/>
</menu>
<menu label="Opciones" name="Options">
- <menu_item_check label="Editar las partes enlazadas" name="Edit Linked Parts"/>
<menu_item_call label="Configurar los permisos por defecto de subida" name="perm prefs"/>
<menu_item_check label="Mostrar los permisos avanzados" name="DebugPermissions"/>
- <menu label="Selección" name="Selection">
- <menu_item_check label="Seleccionar sólo mis objetos" name="Select Only My Objects"/>
- <menu_item_check label="Seleccionar sólo los objetos movibles" name="Select Only Movable Objects"/>
- <menu_item_check label="Seleccionar marcando los alrededores" name="Select By Surrounding"/>
- </menu>
- <menu label="Mostrar" name="Show">
- <menu_item_check label="Al seleccionar, mostrar lo oculto" name="Show Hidden Selection"/>
- <menu_item_check label="Al seleccionar, mostrar el radio de la luz" name="Show Light Radius for Selection"/>
- <menu_item_check label="Mostrar el rayo indicador" name="Show Selection Beam"/>
- </menu>
- <menu label="Cuadrícula" name="Grid">
- <menu_item_check label="Ajustar a la cuadrícula" name="Snap to Grid"/>
- <menu_item_call label="Ajustar a la cuadrícula los ejes X e Y" name="Snap Object XY to Grid"/>
- <menu_item_call label="Usar lo seleccionado como cuadrícula" name="Use Selection for Grid"/>
- <menu_item_call label="Opciones de la cuadrícula" name="Grid Options"/>
- </menu>
+ <menu_item_check label="Seleccionar sólo mis objetos" name="Select Only My Objects"/>
+ <menu_item_check label="Seleccionar sólo los objetos movibles" name="Select Only Movable Objects"/>
+ <menu_item_check label="Seleccionar marcando los alrededores" name="Select By Surrounding"/>
+ <menu_item_check label="Al seleccionar, mostrar lo oculto" name="Show Hidden Selection"/>
+ <menu_item_check label="Al seleccionar, mostrar el radio de la luz" name="Show Light Radius for Selection"/>
+ <menu_item_check label="Mostrar el rayo indicador" name="Show Selection Beam"/>
+ <menu_item_check label="Ajustar a la cuadrícula" name="Snap to Grid"/>
+ <menu_item_call label="Ajustar a la cuadrícula los ejes X e Y" name="Snap Object XY to Grid"/>
+ <menu_item_call label="Usar lo seleccionado como cuadrícula" name="Use Selection for Grid"/>
+ <menu_item_call label="Opciones de la cuadrícula" name="Grid Options"/>
</menu>
<menu label="Seleccionar las partes enlazadas" name="Select Linked Parts">
<menu_item_call label="Seleccionar la parte siguiente" name="Select Next Part"/>
@@ -123,15 +119,14 @@
</menu>
<menu label="Ayuda" name="Help">
<menu_item_call label="Ayuda de [SECOND_LIFE]" name="Second Life Help"/>
- <menu_item_call label="Tutorial" name="Tutorial"/>
<menu_item_call label="Denunciar una infracción" name="Report Abuse"/>
<menu_item_call label="Informar de un fallo" name="Report Bug"/>
</menu>
<menu label="Avanzado" name="Advanced">
- <menu_item_check label="Pasar al estado ausente tras 30 min." name="Go Away/AFK When Idle"/>
<menu_item_call label="Parar mis animaciones" name="Stop Animating My Avatar"/>
<menu_item_call label="Recargar las texturas" name="Rebake Texture"/>
<menu_item_call label="Interfaz en el tamaño predeterminado" name="Set UI Size to Default"/>
+ <menu_item_call label="Definir el tamaño de la ventana..." name="Set Window Size..."/>
<menu_item_check label="Limitar la distancia para Seleccionar" name="Limit Select Distance"/>
<menu_item_check label="Desactivar los límites de la cámara" name="Disable Camera Distance"/>
<menu_item_check label="Foto en Alta Resolución" name="HighResSnapshot"/>
@@ -178,8 +173,8 @@
<menu_item_check label="Ejecutar múltiples temas" name="Run Multiple Threads"/>
<menu_item_call label="Vaciar la caché de grupo" name="ClearGroupCache"/>
<menu_item_check label="Vista subjetiva suavizada" name="Mouse Smoothing"/>
- <menu_item_check label="Mostrar los MI en el chat" name="IMInChat"/>
<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"/>
@@ -219,6 +214,7 @@
<menu_item_call label="Region Info to Debug Console" name="Region Info to Debug Console"/>
<menu_item_check label="Camera" name="Camera"/>
<menu_item_check label="Wind" name="Wind"/>
+ <menu_item_check label="Badge" name="Badge"/>
</menu>
<menu label="Show Info" name="Display Info">
<menu_item_check label="Show Time" name="Show Time"/>
diff --git a/indra/newview/skins/default/xui/es/notifications.xml b/indra/newview/skins/default/xui/es/notifications.xml
index 08b0ab1720..d7f7fc4987 100644
--- a/indra/newview/skins/default/xui/es/notifications.xml
+++ b/indra/newview/skins/default/xui/es/notifications.xml
@@ -11,18 +11,29 @@
</global>
<template name="okbutton">
<form>
- <button name="OK" text="$yestext"/>
+ <button name="OK_okbutton" text="$yestext"/>
+ </form>
+ </template>
+ <template name="okignore">
+ <form>
+ <button name="OK_okignore" text="$yestext"/>
</form>
</template>
- <template name="okignore"/>
<template name="okcancelbuttons">
<form>
- <button name="Cancel" text="$notext"/>
+ <button name="OK_okcancelbuttons" text="$yestext"/>
+ <button name="Cancel_okcancelbuttons" text="$notext"/>
+ </form>
+ </template>
+ <template name="okcancelignore">
+ <form>
+ <button name="OK_okcancelignore" text="$yestext"/>
+ <button name="Cancel_okcancelignore" text="$notext"/>
</form>
</template>
- <template name="okcancelignore"/>
<template name="okhelpbuttons">
<form>
+ <button name="OK_okhelpbuttons" text="$yestext"/>
<button name="Help" text="$helptext"/>
</form>
</template>
@@ -30,6 +41,7 @@
<form>
<button name="Yes" text="$yestext"/>
<button name="No" text="$notext"/>
+ <button name="Cancel_yesnocancelbuttons" text="$canceltext"/>
</form>
</template>
<notification functor="GenericAcknowledge" label="Mensaje de notificación desconocida" name="MissingAlert">
@@ -92,12 +104,18 @@ Asegúrate de que tu conexión a internet está funcionando adecuadamente.
¿Guardar todos los cambios en la ropa y partes del cuerpo?
<usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="No guardarlos" yestext="Guardarlos todos"/>
</notification>
+ <notification name="FriendsAndGroupsOnly">
+ Quienes no sean tus amigos no sabrán que has elegido ignorar sus llamadas y mensajes instantáneos.
+ <usetemplate name="okbutton" yestext="Sí"/>
+ </notification>
<notification name="GrantModifyRights">
- Al conceder derechos de modificación a otro residente le autoriza a cambiar, borrar, o coger CUALQUIER objeto que usted tenga en el mundo. Sea MUY cuidadoso dando este permiso. ¿Quiere conceder derechos de modificación a [FIRST_NAME] [LAST_NAME]?
+ Al conceder permisos de modificación a otro Residente, le estás permitiendo cambiar, borrar o tomar CUALQUIER objeto que tengas en el mundo. Sé MUY cuidadoso al conceder este permiso.
+¿Quieres conceder permisos de modificación a [FIRST_NAME] [LAST_NAME]?
<usetemplate name="okcancelbuttons" notext="No" yestext="Sí"/>
</notification>
<notification name="GrantModifyRightsMultiple">
- Al conceder derechos de modificación a otros residentes les autoriza a cambiar, borrar, o coger CUALQUIER objeto que usted tenga en el mundo. Sea MUY cuidadoso dando este permiso. ¿Quiere conceder derechos de modificación a los residentes seleccionados?
+ Al conceder permisos de modificación a otro Residente, le estás permitiendo cambiar CUALQUIER objeto que tengas en el mundo. Sé MUY cuidadoso al conceder este permiso.
+¿Quieres conceder permisos de modificación a los Residentes elegidos?
<usetemplate name="okcancelbuttons" notext="No" yestext="Sí"/>
</notification>
<notification name="RevokeModifyRights">
@@ -144,14 +162,21 @@ No podrá removérseles de ese rol, sino que deberán renunciar a él por sí mi
¿Añadir esta capacidad a &apos;[ROLE_NAME]&apos;?
<usetemplate name="okcancelbuttons" notext="No" yestext="Sí"/>
</notification>
- <notification name="ClickUnimplemented">
- Lo sentimos, aún no está implementado.
+ <notification name="AttachmentDrop">
+ Vas a soltar tu anexado.
+ ¿Estás seguro de que quieres continuar?
+ <usetemplate ignoretext="Confirmar antes de soltar anexados" name="okcancelignore" notext="No" yestext="Sí"/>
</notification>
<notification name="JoinGroupCanAfford">
Entrar a este grupo cuesta [COST] L$.
¿Quiere hacerlo??
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Entrar"/>
</notification>
+ <notification name="JoinGroupNoCost">
+ Vas a entrar al grupo [NAME].
+¿Quieres seguir?
+ <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Entrar"/>
+ </notification>
<notification name="JoinGroupCannotAfford">
Entrar a este grupo cuesta [COST] L$.
No tiene dinero suficiente para entrar.
@@ -319,6 +344,10 @@ No se reembolsan las cuotas pagadas.
¿Guardar los cambios en el clasificado [NAME]?
<usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="No guardar" yestext="Guardar"/>
</notification>
+ <notification name="ClassifiedInsufficientFunds">
+ Dinero insuficiente para crear un clasificado.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="DeleteAvatarPick">
¿Borrar el destacado [PICK]?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
@@ -336,14 +365,6 @@ No se reembolsan las cuotas pagadas.
<notification name="SelectHistoryItemToView">
Por favor, seleccione un ítem del historial para verlo.
</notification>
- <notification name="ResetShowNextTimeDialogs">
- ¿Quiere reactivar todas estas ventanas emergentes, incluso las que marcó previamente como &apos;No mostrarme más esto&apos;?
- <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
- </notification>
- <notification name="SkipShowNextTimeDialogs">
- ¿Quiere activar todas las ventanas emergentes que puedan habilitarse?
- <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
- </notification>
<notification name="CacheWillClear">
La caché se limpiará cuando reinices [APP_NAME].
</notification>
@@ -420,18 +441,18 @@ El objeto debe de haber sido borrado o estar fuera de rango (&apos;out of range&
No se ha podido escribir el archivo [[FILE]]
</notification>
<notification name="UnsupportedHardware">
- Atención: su sistema no tiene los requerimientos mínimos que necesita [APP_NAME]. Si sigue usando [APP_NAME], tendrá un funcionamiento pobre. Desafortunadamente, no podemos ofrecer soporte técnico para configuraciones inadecuadas del sistema.
+ Debes saber que tu ordenador no cumple los requisitos mínimos para la utilización de [APP_NAME]. Puede que experimentes un rendimiento muy bajo. Desafortunadamente, [SUPPORT_SITE] no puede dar asistencia técnica a sistemas con una configuración no admitida.
MINSPECS
-Para más información, ¿quiere visitar [_URL]?
+¿Ir a [_URL] para más información?
<url name="url" option="0">
http://secondlife.com/support/sysreqs.php?lang=es
</url>
<usetemplate ignoretext="El hardware de mi ordenador no está admitido" name="okcancelignore" notext="No" yestext="Sí"/>
</notification>
<notification name="UnknownGPU">
- Tu sistema tiene una tarjeta gráfica desconocida, hoy por hoy, para [APP_NAME].
-Suele suceder con hardware nuevo aún no probado con [APP_NAME]. Lo más probable es que [APP_NAME] se ejecute correctamente, pero debes ajustar tus preferencias gráficas a niveles más adecuados.
+ Tu sistema usa una tarjeta gráfica que [APP_NAME] no reconoce.
+Suele suceder con hardware nuevo que todavía no ha sido probado con [APP_NAME]. Probablemente todo irá bien, pero deberás ajustar tus configuraciones gráficas.
(Yo &gt; Preferencias &gt; Gráficos).
<form name="form">
<ignore name="ignore" text="No se ha podido identificar mi tarjeta gráfica"/>
@@ -610,6 +631,10 @@ Por favor, inténtelo más tarde.
<notification name="LandmarkCreated">
Se ha añadido &quot;[LANDMARK_NAME]&quot; a tu carpeta [FOLDER_NAME].
</notification>
+ <notification name="LandmarkAlreadyExists">
+ Ya tienes un hito de esta localización.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="CannotCreateLandmarkNotOwner">
No puede crear un hito aquí porque el propietario del terreno no lo permite.
</notification>
@@ -659,7 +684,7 @@ Buscando: [FINALQUERY]
por lo que no se ha hecho la búsqueda.
</notification>
<notification name="CouldNotTeleportReason">
- No se ha podido teleportar.
+ Fallo en el teleporte.
[REASON]
</notification>
<notification name="invalid_tport">
@@ -709,7 +734,8 @@ no se ha seleccionado una parcela.
No se ha podido obtener la propiedad del terreno porque la selección se extiende por varias regiones. Por favor, seleccione un área más pequeña y reinténtelo.
</notification>
<notification name="ForceOwnerAuctionWarning">
- Está parcela está siendo subastada. Forzar su propiedad cancelará la subasta y, probablemente, disguste a algunos residentes que ya hayan empezado a pujar. ¿Forzar la propiedad?
+ Esta parcela está subastándose. Forzar su propiedad cancelará la subasta y, potencialmente, puede disgustar a algunos residentes si la puja ya ha empezado.
+¿Forzar la propiedad?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
</notification>
<notification name="CannotContentifyNothingSelected">
@@ -757,14 +783,6 @@ ha seleccionado varias parcelas.
Inténtelo seleccionando sólo una.
</notification>
- <notification name="ParcelCanPlayMedia">
- Esta localización puede ejecutar media en streaming.
-Los media en streaming necesitan una conexión a internet rápida.
-
-Si hay media, ¿reproducirlos en streaming?
-(Puedes cambiar más adelante esta opción en Preferencias &gt; Privacidad).
- <usetemplate name="okcancelbuttons" notext="Desactivar" yestext="Ejecutar los media"/>
- </notification>
<notification name="CannotDeedLandWaitingForServer">
No se ha podido transferir el terreno:
esperando que el servidor informe acerca de la propiedad.
@@ -886,9 +904,8 @@ Deberá reconfigurar el nombre y las opciones de la nueva parcela.
Generalmente, esto es un fallo pasajero. Por favor, personaliza y guarda el ítem de aquí a unos minutos.
</notification>
<notification name="YouHaveBeenLoggedOut">
- Se te ha cerrado la sesión en [SECOND_LIFE]:
+ Vaya, se te ha cerrado la sesión en [SECOND_LIFE]
[MESSAGE]
-Aún puedes ver el chat y los MI existentes pulsando &apos;Ver MI y Chat&apos;. Si no, pulsa &apos;Salir&apos; para dejar ahora [SECOND_LIFE].
<usetemplate name="okcancelbuttons" notext="Salir" yestext="Ver MI y Chat"/>
</notification>
<notification name="OnlyOfficerCanBuyLand">
@@ -1047,6 +1064,7 @@ Si se vende una parcela transferida, el precio de venta se dividirá a partes ig
</notification>
<notification name="ErrorMessage">
[ERROR_MESSAGE]
+ <usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="AvatarMovedDesired">
La localización que querías no está disponible en estos momentos.
@@ -1324,11 +1342,14 @@ Se ocultará el chat y los mensajes instantáneos (éstos recibirán tu Respue
<usetemplate ignoretext="Cambio mi estado al modo ocupado" name="okignore" yestext="OK"/>
</notification>
<notification name="JoinedTooManyGroupsMember">
- Perteneces a demasiados grupos para poder entrar en otro. Por favor, sal de al menos uno antes de entrar en éste, o rehúsa la oferta.
+ Has superado tu número máximo de grupos. Por favor, sal de al menos uno antes de entrar en éste, o rehúsa la oferta.
[NAME] te ha invitado a ser miembro de un grupo.
-[INVITE]
<usetemplate name="okcancelbuttons" notext="Rehusar" yestext="Entrar"/>
</notification>
+ <notification name="JoinedTooManyGroups">
+ Has superado tu número máximo de grupos. Por favor, sal de al menos uno de ellos antes de crear uno nuevo o entrar en alguno.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="KickUser">
¿Con qué mensaje se expulsará a este usuario?
<form name="form">
@@ -1390,7 +1411,7 @@ Se ocultará el chat y los mensajes instantáneos (éstos recibirán tu Respue
</form>
</notification>
<notification name="TeleportFromLandmark">
- ¿Está seguro de que quiere teleportarse?
+ ¿Seguro que quieres teleportarte a &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
<usetemplate ignoretext="Confirmar que quiero teleportarme a un hito" name="okcancelignore" notext="Cancelar" yestext="Teleportar"/>
</notification>
<notification name="TeleportToPick">
@@ -1593,8 +1614,10 @@ Puedes pulsar &apos;Cambiar las Preferencias&apos; para incrementar las preferen
</form>
</notification>
<notification label="Cambiada la calificación de la región" name="RegionMaturityChange">
- Se ha actualizado la calificación de esta región.
-Llevará algún tiempo que el cambio se refleje en el mapa.
+ Se ha actualizado el nivel de calificación de esta región.
+Puede que lleve algún tiempo hasta que el cambio se vea reflejado en el mapa.
+
+Para entrar a regiones Adultas, los Residentes deben haber verificado su cuenta, bien verificando la edad o bien verificando una forma de pago.
</notification>
<notification label="Desajuste en la versión de voz" name="VoiceVersionMismatch">
Esta versión de [APP_NAME] no es compatible con la prestación de voz de esta región. Para que el chat de voz funcione correctamente debes actualizar [APP_NAME].
@@ -1714,7 +1737,7 @@ Dado que estos objetos tienen scripts, moverlos a su inventario puede provocar u
<notification name="HelpReportAbuseEmailLL">
Usa esta herramienta para denunciar violaciones de las [http://secondlife.com/corporate/tos.php Condiciones de Servicio] o las [http://secondlife.com/corporate/cs.php Normas de la Comunidad].
-Se investigan y resuelven todas las infracciones denunciadas. Puedes ver la resolución tomada en el [http://secondlife.com/support/incidentreport.php Informe de Incidentes].
+Se investigan y resuelven todas las infracciones denunciadas.
</notification>
<notification name="HelpReportAbuseSelectCategory">
Por favor, elija una categoría para esta denuncia de infracción.
@@ -1948,8 +1971,7 @@ Publícala en una página web para que otros puedan acceder fácilmente a esta p
No se encuentra en la base de datos el gesto [NAME].
</notification>
<notification name="UnableToLoadGesture">
- No se ha podido cargar el gesto [NAME].
-Por favor, vuelva a intentarlo.
+ No se puede cargar el gesto [NAME].
</notification>
<notification name="LandmarkMissing">
El hito ha desaparecido de la base de datos.
@@ -2039,8 +2061,8 @@ Pulsa en un hito para seleccionarlo, y, luego, pulsa &apos;Teleportar&apos; en l
(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 residentes como &apos;[NAME]&apos; abriendo el panel Gente, a la derecha de tu pantalla.
-Selecciona un residente de la lista y pulsa &apos;MI&apos; en la parte inferior del panel.
+ 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;).
</notification>
<notification name="CantSelectLandFromMultipleRegions">
@@ -2113,7 +2135,7 @@ Por favor, reinstala el plugin o contacta con el vendedor si sigues teniendo pro
Se han devuelto a su inventario los objetos de los que usted era propietario en la parcela propiedad de [FIRST] [LAST].
</notification>
<notification name="OtherObjectsReturned2">
- Se han devuelto a su propietario los objetos que, en la parcela seleccionada, eran propiedad del residente &apos;[NAME]&apos;.
+ Se han devuelto a su propietario los objetos seleccionados en la parcela de terreno propiedad de &apos;[NAME]&apos;.
</notification>
<notification name="GroupObjectsReturned">
Se han devuelto a los inventarios de sus propietarios los objetos que estaban compartidos con el grupo [GROUPNAME] en la parcela seleccionada.
@@ -2125,7 +2147,7 @@ Los objetos no transferibles que se transfirieron al grupo han sido borrados.
</notification>
<notification name="ServerObjectMessage">
Mensaje de [NAME]:
-[MSG]
+&lt;nolink&gt;[MSG]&lt;/nolink&gt;
</notification>
<notification name="NotSafe">
Este terreno tiene el daño activado.
@@ -2234,7 +2256,7 @@ Por favor, reinténtelo en unos momentos.
No se ha podido encontrar una parcela válida.
</notification>
<notification name="ObjectGiveItem">
- Un objeto de nombre [OBJECTFROMNAME], propiedad de [NAME_SLURL], te ha dado un/a [OBJECTTYPE]:
+ Un objeto de nombre [OBJECTFROMNAME], propiedad de [NAME_SLURL], te ha dado este [OBJECTTYPE]:
[ITEM_SLURL]
<form name="form">
<button name="Keep" text="Guardar"/>
@@ -2243,7 +2265,7 @@ Por favor, reinténtelo en unos momentos.
</form>
</notification>
<notification name="ObjectGiveItemUnknownUser">
- Un objeto de nombre [OBJECTFROMNAME], propiedad de (un residente desconocido) te ha dado un/a [OBJECTTYPE]:
+ Un objeto de nombre [OBJECTFROMNAME] propiedad de (un Residente desconocido) te ha dado este [OBJECTTYPE]:
[ITEM_SLURL]
<form name="form">
<button name="Keep" text="Guardar"/>
@@ -2252,12 +2274,12 @@ Por favor, reinténtelo en unos momentos.
</form>
</notification>
<notification name="UserGiveItem">
- [NAME_SLURL] te ha dado un/a [OBJECTTYPE]:
+ [NAME_SLURL] te ha dado este [OBJECTTYPE]:
[ITEM_SLURL]
<form name="form">
- <button name="Keep" text="Guardar"/>
<button name="Show" text="Mostrar"/>
<button name="Discard" text="Descartar"/>
+ <button name="Mute" text="Ignorar"/>
</form>
</notification>
<notification name="GodMessage">
@@ -2282,6 +2304,9 @@ Por favor, reinténtelo en unos momentos.
<button name="Cancel" text="Cancelar"/>
</form>
</notification>
+ <notification name="TeleportOfferSent">
+ Teleporte ofrecido a [TO_NAME]
+ </notification>
<notification name="GotoURL">
[MESSAGE]
[URL]
@@ -2319,9 +2344,15 @@ Por favor, reinténtelo en unos momentos.
<notification name="FriendshipDeclined">
[NAME] ha rehusado su oferta de amistad.
</notification>
+ <notification name="FriendshipAcceptedByMe">
+ Aceptado el ofrecimiento de amistad.
+ </notification>
+ <notification name="FriendshipDeclinedByMe">
+ Rehusado el ofrecimiento de amistad.
+ </notification>
<notification name="OfferCallingCard">
- [FIRST] [LAST] le está ofreciendo su tarjeta de visita.
-Esto añadirá un ítem a su inventario para que pueda enviar rápidamente a este residente un MI.
+ [FIRST] [LAST] te está ofreciendo su tarjeta de visita.
+Esto añadirá un marcador en tu inventario para que puedas enviarle rápidamente un MI.
<form name="form">
<button name="Accept" text="Aceptar"/>
<button name="Decline" text="Rehusar"/>
@@ -2401,14 +2432,6 @@ Si no confias en este objeto y en su creador, deberías rehusar esta petición.
<button name="Block" text="Ignorar"/>
</form>
</notification>
- <notification name="FirstBalanceIncrease">
- Has recibido [AMOUNT] L$.
-Tu saldo de L$ se muestra arriba a la derecha.
- </notification>
- <notification name="FirstBalanceDecrease">
- Acabas de pagar [AMOUNT] L$.
-Tu saldo de L$ se muestra arriba a la derecha.
- </notification>
<notification name="BuyLindenDollarSuccess">
¡Gracias por tu pago!
@@ -2416,57 +2439,16 @@ Tu saldo de L$ se actualizará cuando se complete el proceso. Si el proceso tard
Puedes revisar el estado de tu pago en el Historial de transacciones de tu [http://secondlife.com/account/ Panel de Control]
</notification>
- <notification name="FirstSit">
- Estás sentado.
-Usa las teclas de cursor (o AWSD) para mirar alrededor.
-Pulsa el botón &apos;Levantarme&apos; para ponerte de pie.
- </notification>
- <notification name="FirstMap">
- Pulsa y arrastra el mapa para ver los alrededores.
-Pulsa dos veces para teleportarte.
-Usa los controles de la derecha para encontrar cosas y mostrar diferentes fondos.
- </notification>
- <notification name="FirstBuild">
- Has abierto las herramientas de construcción. Cada objeto que estás viendo alrededor de ti se ha creado usando estas herramientas.
- </notification>
- <notification name="FirstTeleport">
- Sólo puedes teleportarte a ciertos lugares de esta región. La flecha apunta al destino que elegiste. Pulsa la flecha para que desaparezca.
- </notification>
<notification name="FirstOverrideKeys">
A partir de ahora, sus teclas de movimiento las gestiona un objeto.
Pruebe las teclas del cursor o AWSD para ver qué hacen.
Algunos objetos (las pistolas, por ejemplo) le pedirán que, para usarlos, entre usted en vista subjetiva. Pulse &apos;M&apos; para hacerlo.
</notification>
- <notification name="FirstAppearance">
- Estás modicando tu apariencia.
-Usa las teclas de cursor para mirar alrededor.
-Cuando lo hayas hecho, pulsa &apos;Guardar todo&apos;.
- </notification>
- <notification name="FirstInventory">
- Este es tu inventario: contiene los ítems de los que eres propietario.
-
-* Para vestirte algo, arrástralo hasta ti mismo.
-* Para colocar un objeto en el mundo, arrástralo hasta el suelo.
-* Para leer una nota, pulsa dos veces en ella.
- </notification>
<notification name="FirstSandbox">
Esta es una región &apos;sandbox&apos; (zona de pruebas) donde los Residentes pueden aprender a construir.
Los objetos que construyas aquí serán eliminados cuando la abandones; por tanto, no olvides pulsarlos con el botón derecho y elegir &apos;Tomar&apos; para que tu creación vaya a tu inventario.
</notification>
- <notification name="FirstFlexible">
- Este objeto es flexible. Los objetos flexibles han de ser inmateriales, no materiales.
- </notification>
- <notification name="FirstDebugMenus">
- Has abierto el menú Avanzado.
-
-Para activar este menú,
- Windows: Ctrl+Alt+D
- Mac: ⌥⌘D
- </notification>
- <notification name="FirstSculptedPrim">
- Está editando un prim &apos;sculpted&apos;. Los prim sculpted necesitan una textura especial para definir su forma.
- </notification>
<notification name="MaxListSelectMessage">
Puede seleccionar un máximo de [MAX_SELECT] ítems de esta lista.
</notification>
@@ -2573,6 +2555,10 @@ Por tu seguridad, serán bloqueadas durante unos segundos.
<button name="respondbutton" text="Responder"/>
</form>
</notification>
+ <notification name="ConfirmCloseAll">
+ ¿Seguro que quieres cerrar todos los MI?
+ <usetemplate name="okcancelignore" notext="Cancelar" yestext="OK"/>
+ </notification>
<notification name="AttachmentSaved">
Se ha guardado el adjunto.
</notification>
diff --git a/indra/newview/skins/default/xui/es/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/es/panel_adhoc_control_panel.xml
index 6f30286216..c64a93e0e5 100644
--- a/indra/newview/skins/default/xui/es/panel_adhoc_control_panel.xml
+++ b/indra/newview/skins/default/xui/es/panel_adhoc_control_panel.xml
@@ -1,8 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="panel_im_control_panel">
- <panel name="panel_call_buttons">
- <button label="Llamar" name="call_btn"/>
- <button label="Colgar" name="end_call_btn"/>
- <button label="Controles de la voz" name="voice_ctrls_btn"/>
- </panel>
+ <layout_stack name="vertical_stack">
+ <layout_panel name="call_btn_panel">
+ <button label="Llamar" name="call_btn"/>
+ </layout_panel>
+ <layout_panel name="end_call_btn_panel">
+ <button label="Colgar" name="end_call_btn"/>
+ </layout_panel>
+ <layout_panel name="voice_ctrls_btn_panel">
+ <button label="Controles de la voz" name="voice_ctrls_btn"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/es/panel_avatar_list_item.xml
index 83d7223272..e1ffc14823 100644
--- a/indra/newview/skins/default/xui/es/panel_avatar_list_item.xml
+++ b/indra/newview/skins/default/xui/es/panel_avatar_list_item.xml
@@ -22,4 +22,5 @@
[COUNT] año/s
</string>
<text name="avatar_name" value="Desconocido"/>
+ <button name="profile_btn" tool_tip="Ver el perfil"/>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/es/panel_block_list_sidetray.xml
index 6513345448..cddbad1195 100644
--- a/indra/newview/skins/default/xui/es/panel_block_list_sidetray.xml
+++ b/indra/newview/skins/default/xui/es/panel_block_list_sidetray.xml
@@ -4,7 +4,7 @@
Lista de ignorados
</text>
<scroll_list name="blocked" tool_tip="Lista de los residentes ignorados actualmente"/>
- <button label="Ignorar al residente..." label_selected="Ignorar al residente..." name="Block resident..." tool_tip="Elige a un residente para ignorarle"/>
+ <button label="Ignorar al residente..." label_selected="Ignorar al residente..." name="Block resident..." tool_tip="Elige a un Residente para ignorarle"/>
<button label="Ignorar objetos según el nombre..." label_selected="Ignorar objetos según el nombre..." name="Block object by name..."/>
- <button label="No ignorar" label_selected="No ignorar" name="Unblock" tool_tip="Quitar objetos o residentes de la lista de ignorados"/>
+ <button label="No ignorar" label_selected="No ignorar" name="Unblock" tool_tip="Quita al Residente o al objeto de la lista de ignorados"/>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_bottomtray.xml b/indra/newview/skins/default/xui/es/panel_bottomtray.xml
index 9924cd5ed6..74dc17f3de 100644
--- a/indra/newview/skins/default/xui/es/panel_bottomtray.xml
+++ b/indra/newview/skins/default/xui/es/panel_bottomtray.xml
@@ -7,8 +7,13 @@
Muestra/Oculta el panel del control de voz
</string>
<layout_stack name="toolbar_stack">
+ <layout_panel name="speak_panel">
+ <talk_button name="talk">
+ <speak_button label="Hablar" label_selected="Hablar" name="speak_btn"/>
+ </talk_button>
+ </layout_panel>
<layout_panel name="gesture_panel">
- <gesture_combo_box label="Gestos" name="Gesture" tool_tip="Muestra/Oculta los gestos"/>
+ <gesture_combo_list label="Gestos" name="Gesture" tool_tip="Muestra/Oculta los gestos"/>
</layout_panel>
<layout_panel name="movement_panel">
<button label="Moverme" name="movement_btn" tool_tip="Muestra/Oculta los controles del movimiento"/>
@@ -19,5 +24,15 @@
<layout_panel name="snapshot_panel">
<button label="" name="snapshots" tool_tip="Hacer una foto"/>
</layout_panel>
+ <layout_panel name="im_well_panel">
+ <chiclet_im_well name="im_well">
+ <button name="Unread IM messages" tool_tip="Conversaciones"/>
+ </chiclet_im_well>
+ </layout_panel>
+ <layout_panel name="notification_well_panel">
+ <chiclet_notification name="notification_well">
+ <button name="Unread" tool_tip="Notificaciones"/>
+ </chiclet_notification>
+ </layout_panel>
</layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_bottomtray_lite.xml b/indra/newview/skins/default/xui/es/panel_bottomtray_lite.xml
new file mode 100644
index 0000000000..8d1b84a5fd
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_bottomtray_lite.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="bottom_tray_lite">
+ <layout_stack name="toolbar_stack_lite">
+ <layout_panel name="gesture_panel">
+ <gesture_combo_list label="Gestos" name="Gesture" tool_tip="Muestra/Oculta los gestos"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_classified_info.xml b/indra/newview/skins/default/xui/es/panel_classified_info.xml
index 3b82994e32..d46eadde48 100644
--- a/indra/newview/skins/default/xui/es/panel_classified_info.xml
+++ b/indra/newview/skins/default/xui/es/panel_classified_info.xml
@@ -1,17 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="panel_classified_info">
+ <panel.string name="l$_price">
+ [PRICE] L$
+ </panel.string>
<text name="title" value="Información del clasificado"/>
<scroll_container name="profile_scroll">
<panel name="scroll_content_panel">
- <text name="classified_name" value="[nombre]"/>
- <text name="classified_location" value="[cargando...]"/>
- <text name="content_type" value="[tipo de contenido]"/>
- <text name="category" value="[categoría]"/>
+ <text_editor name="classified_name" value="[nombre]"/>
+ <text_editor name="classified_location" value="[cargando...]"/>
+ <text_editor name="content_type" value="[tipo de contenido]"/>
+ <text_editor name="category" value="[categoría]"/>
<check_box label="Renovar automáticamente cada semana" name="auto_renew"/>
- <text name="price_for_listing" tool_tip="Precio por publicarlo.">
- [PRICE] L$
- </text>
- <text name="classified_desc" value="[descripción]"/>
+ <text_editor name="price_for_listing" tool_tip="Precio por publicarlo."/>
+ <text_editor name="classified_desc" value="[descripción]"/>
</panel>
</scroll_container>
<panel name="buttons">
diff --git a/indra/newview/skins/default/xui/es/panel_edit_profile.xml b/indra/newview/skins/default/xui/es/panel_edit_profile.xml
index e1ff6ec92a..e7bd7aba17 100644
--- a/indra/newview/skins/default/xui/es/panel_edit_profile.xml
+++ b/indra/newview/skins/default/xui/es/panel_edit_profile.xml
@@ -34,9 +34,12 @@
</text>
<check_box label="Mostrarme en los resultados de la búsqueda" name="show_in_search_checkbox"/>
<text name="title_acc_status_text" value="Mi cuenta:"/>
+ <text_editor name="acc_status_text" value="Residente. No ha aportado información de pago."/>
<text name="my_account_link" value="[[URL] Ir a mi Panel de Control]"/>
- <text name="acc_status_text" value="Residente. No ha aportado información de pago."/>
<text name="title_partner_text" value="Mi compañero/a:"/>
+ <panel name="partner_data_panel">
+ <name_box initial_value="(obteniendo)" name="partner_text"/>
+ </panel>
<text name="partner_edit_link" value="[[URL] Editar]"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_friends.xml b/indra/newview/skins/default/xui/es/panel_friends.xml
index 833b71a038..e1cac7c2c3 100644
--- a/indra/newview/skins/default/xui/es/panel_friends.xml
+++ b/indra/newview/skins/default/xui/es/panel_friends.xml
@@ -16,5 +16,5 @@
<button label="Teleporte" name="offer_teleport_btn" tool_tip="Ofrecer a este amigo teleportarle hasta su posición"/>
<button label="Pagar" name="pay_btn" tool_tip="Dar dólares Linden (L$) a este amigo"/>
<button label="Quitar" name="remove_btn" tool_tip="Quitar a esta persona de su lista de amigos"/>
- <button label="Añadir" name="add_btn" tool_tip="Ofrecer ser mi amigo a un residente"/>
+ <button label="Añadir" name="add_btn" tool_tip="Ofrecer amistad a un Residente"/>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_group_control_panel.xml b/indra/newview/skins/default/xui/es/panel_group_control_panel.xml
index c55d69b8a7..b398293175 100644
--- a/indra/newview/skins/default/xui/es/panel_group_control_panel.xml
+++ b/indra/newview/skins/default/xui/es/panel_group_control_panel.xml
@@ -1,9 +1,17 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="panel_im_control_panel">
- <button label="Perfil del grupo" name="group_info_btn"/>
- <panel name="panel_call_buttons">
- <button label="Llamar al grupo" name="call_btn"/>
- <button label="Colgar" name="end_call_btn"/>
- <button label="Abrir los controles de la voz" name="voice_ctrls_btn"/>
- </panel>
+ <layout_stack name="vertical_stack">
+ <layout_panel name="group_info_btn_panel">
+ <button label="Perfil del grupo" name="group_info_btn"/>
+ </layout_panel>
+ <layout_panel name="call_btn_panel">
+ <button label="Llamar al grupo" name="call_btn"/>
+ </layout_panel>
+ <layout_panel name="end_call_btn_panel">
+ <button label="Colgar" name="end_call_btn"/>
+ </layout_panel>
+ <layout_panel name="voice_ctrls_btn_panel">
+ <button label="Abrir los controles de la voz" name="voice_ctrls_btn"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_group_general.xml b/indra/newview/skins/default/xui/es/panel_group_general.xml
index 4f7c7e599e..66d0c5be93 100644
--- a/indra/newview/skins/default/xui/es/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/es/panel_group_general.xml
@@ -11,21 +11,39 @@ Deja el cursor sobre las opciones para ver más ayuda.
<panel.string name="incomplete_member_data_str">
Recuperando los datos de los miembros
</panel.string>
+ <panel name="group_info_top">
+ <texture_picker label="" name="insignia" tool_tip="Pulsa para elegir una imagen"/>
+ <text name="prepend_founded_by">
+ Fundador:
+ </text>
+ <name_box initial_value="(obteniendo)" name="founder_name"/>
+ <text name="join_cost_text">
+ Gratis
+ </text>
+ <button label="¡ENTRA AHORA!" name="btn_join"/>
+ </panel>
<text_editor name="charter">
Carta del grupo
</text_editor>
<name_list name="visible_members">
<name_list.columns label="Miembro" name="name" relwidth="0.40"/>
<name_list.columns label="Etiqueta" name="title" relwidth="0.25"/>
+ <name_list.columns label="Estado" name="status"/>
</name_list>
+ <text name="my_group_settngs_label">
+ Yo
+ </text>
<text name="active_title_label">
- Mi etiqueta
+ Mi etiqueta:
</text>
<combo_box name="active_title" tool_tip="Configura la etiqueta que se verá sobre el nombre de tu avatar cuando tengas activo este grupo."/>
<check_box label="Recibir los avisos del grupo" name="receive_notices" tool_tip="Configura si quieres recibir avisos del grupo. Desmárcalo si este grupo te envía &apos;spam&apos;."/>
<check_box label="Mostrarlo en mi perfil" name="list_groups_in_profile" tool_tip="Configura si quieres que este grupo se vea en tu perfil"/>
<panel name="preferences_container">
- <check_box label="Inscripción libre" name="open_enrollement" tool_tip="Configura si se permite la entrada de nuevos miembros sin ser invitados."/>
+ <text name="group_settngs_label">
+ Grupo
+ </text>
+ <check_box label="Cualquiera puede entrar" name="open_enrollement" tool_tip="Configura si se permite la entrada de nuevos miembros sin ser invitados."/>
<check_box label="Cuota de entrada" name="check_enrollment_fee" tool_tip="Configura si hay que pagar una cuota para entrar al grupo"/>
<spinner label="L$" left_delta="130" name="spin_enrollment_fee" tool_tip="Si la opción Cuota de entrada está marcada, los nuevos miembros han de pagar esta cuota para entrar al grupo." width="60"/>
<combo_box bottom_delta="-38" name="group_mature_check" tool_tip="Establece si la información de su grupo es &apos;mature&apos;." width="150">
diff --git a/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml
index be08a1aaa7..872dfb13d7 100644
--- a/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/es/panel_group_info_sidetray.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel label="Información del grupo" name="GroupInfo">
+<panel label="Perfil del grupo" name="GroupInfo">
<panel.string name="default_needs_apply_text">
- Hay cambios sin guardar en la pestaña actual
+ Hay cambios sin guardar
</panel.string>
<panel.string name="want_apply_text">
¿Quieres guardar estos cambios?
@@ -12,25 +12,24 @@
<panel.string name="group_join_free">
Gratis
</panel.string>
- <text name="group_name" value="(Cargando...)"/>
- <line_editor label="Escribe aquí el nombre de tu nuevo grupo" name="group_name_editor"/>
- <texture_picker label="" name="insignia" tool_tip="Pulsa para elegir una imagen"/>
- <text name="prepend_founded_by">
- Fundador:
- </text>
- <name_box initial_value="(buscando)" name="founder_name"/>
- <text name="join_cost_text">
- Gratis
- </text>
- <button label="¡ENTRA AHORA!" name="btn_join"/>
- <accordion name="groups_accordion">
- <accordion_tab name="group_general_tab" title="General"/>
- <accordion_tab name="group_roles_tab" title="Roles"/>
- <accordion_tab name="group_notices_tab" title="Avisos"/>
- <accordion_tab name="group_land_tab" title="Terreno/Bienes"/>
- </accordion>
- <panel name="button_row">
- <button label="Crear" label_selected="Grupo nuevo" name="btn_create"/>
- <button label="Guardar" label_selected="Guardar" name="btn_apply"/>
+ <panel name="group_info_top">
+ <text name="group_name" value="(Cargando...)"/>
+ <line_editor label="Escribe aquí el nombre de tu nuevo grupo" name="group_name_editor"/>
</panel>
+ <layout_stack name="layout">
+ <layout_panel name="group_accordions">
+ <accordion name="groups_accordion">
+ <accordion_tab name="group_general_tab" title="General"/>
+ <accordion_tab name="group_roles_tab" title="Roles"/>
+ <accordion_tab name="group_notices_tab" title="Avisos"/>
+ <accordion_tab name="group_land_tab" title="Terreno/Bienes"/>
+ </accordion>
+ </layout_panel>
+ <layout_panel name="button_row">
+ <button label="Chat" name="btn_chat"/>
+ <button label="Llamar al grupo" name="btn_call" tool_tip="Llama a este grupo"/>
+ <button label="Guardar" label_selected="Guardar" name="btn_apply"/>
+ <button label="Crear un grupo" name="btn_create" tool_tip="Crea un grupo nuevo"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_group_invite.xml b/indra/newview/skins/default/xui/es/panel_group_invite.xml
index 08993d6ed8..0d877f78f2 100644
--- a/indra/newview/skins/default/xui/es/panel_group_invite.xml
+++ b/indra/newview/skins/default/xui/es/panel_group_invite.xml
@@ -7,17 +7,14 @@
(cargando...)
</panel.string>
<panel.string name="already_in_group">
- No se invitará a algunos avatares porque ya están en el grupo.
+ Alguno de los Residentes que has elegido ya están en el grupo: no se les enviará la invitación.
</panel.string>
<text bottom_delta="-96" height="72" name="help_text" width="214">
- Puede seleccionar a varios residentes
-para invitarles a su grupo. Para
-empezar, pulse &apos;Abrir el selector de
-residentes&apos;.
+ Puedes elegir a varios Residentes para invitarles a tu grupo. Para empezar, pulsa &apos;Abrir el selector de residentes&apos;.
</text>
<button bottom_delta="-10" label="Abrir el selector de residentes" name="add_button" tool_tip=""/>
- <name_list bottom_delta="-160" height="156" name="invitee_list" tool_tip="Apretando la tecla Ctrl, pulsa en los nombres de los residentes para elegir a varios"/>
- <button label="Eliminar de la lista a los seleccionados" left_delta="-7" name="remove_button" tool_tip="Quitar a los residentes seleccionados de la lista de invitaciones" width="214"/>
+ <name_list bottom_delta="-160" height="156" name="invitee_list" tool_tip="Para seleccionar a varios residentes, ve pulsando sus nombres mientras mantienes apretada la tecla Ctrl"/>
+ <button label="Eliminar de la lista a los seleccionados" left_delta="-7" name="remove_button" tool_tip="Quitar de la lista a los Residentes seleccionados arriba" width="214"/>
<text name="role_text">
Elegir qué rol asignarles:
</text>
diff --git a/indra/newview/skins/default/xui/es/panel_group_land_money.xml b/indra/newview/skins/default/xui/es/panel_group_land_money.xml
index 2ad290b49f..b763e2e74d 100644
--- a/indra/newview/skins/default/xui/es/panel_group_land_money.xml
+++ b/indra/newview/skins/default/xui/es/panel_group_land_money.xml
@@ -1,65 +1,62 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Terreno y L$" name="land_money_tab">
- <string name="help_text">
+ <panel.string name="help_text">
Aparece una advertencia si el Terreno total en uso es menor que o igual a la Contribución total.
- </string>
- <button label="?" name="help_button"/>
- <string name="cant_view_group_land_text">
+ </panel.string>
+ <panel.string name="cant_view_group_land_text">
No tienes permiso para ver el terreno propiedad del grupo
- </string>
- <string name="cant_view_group_accounting_text">
+ </panel.string>
+ <panel.string name="cant_view_group_accounting_text">
No tienes permiso para ver la información de la cuenta del grupo.
- </string>
- <string name="loading_txt">
+ </panel.string>
+ <panel.string name="loading_txt">
Cargando...
- </string>
- <text name="group_land_heading" width="250">
- Terreno propiedad del grupo
- </text>
- <scroll_list name="group_parcel_list">
- <column label="Parcela" name="name" width="100"/>
- <column label="Región" name="location" width="100"/>
- <column label="Tipo" name="type" width="100"/>
- <column label="Superficie" name="area" width="81"/>
- <column label="" name="hidden"/>
- </scroll_list>
- <button label="Mapa" label_selected="Mapa" left="282" name="map_button" width="130"/>
- <text name="total_contributed_land_label">
- Contribución total:
- </text>
- <text name="total_contributed_land_value">
- [AREA] m²
- </text>
- <text name="total_land_in_use_label">
- Terreno total en uso:
- </text>
- <text name="total_land_in_use_value">
- [AREA] m²
- </text>
- <text name="land_available_label">
- Terreno disponible:
- </text>
- <text name="land_available_value">
- [AREA] m²
- </text>
- <text name="your_contribution_label">
- Tu contribución:
- </text>
- <string name="land_contrib_error">
+ </panel.string>
+ <panel.string name="land_contrib_error">
No se ha podido definir tu contribución de terreno
- </string>
- <text name="your_contribution_units">
- m²
- </text>
- <text name="your_contribution_max_value">
- ([AMOUNT] máx.)
- </text>
- <text name="group_over_limit_text">
- Se necesitan más créditos de terreno para mantener el terreno en uso
- </text>
- <text name="group_money_heading">
- L$ del grupo
- </text>
+ </panel.string>
+ <panel name="layout_panel_landmoney">
+ <scroll_list name="group_parcel_list">
+ <scroll_list.columns label="Parcela" name="name"/>
+ <scroll_list.columns label="Región" name="location"/>
+ <scroll_list.columns label="Tipo" name="type"/>
+ <scroll_list.columns label="Área" name="area"/>
+ </scroll_list>
+ <text name="total_contributed_land_label">
+ Contribución total:
+ </text>
+ <text name="total_contributed_land_value">
+ [AREA] m²
+ </text>
+ <button label="Mapa" label_selected="Mapa" name="map_button"/>
+ <text name="total_land_in_use_label">
+ Terreno total en uso:
+ </text>
+ <text name="total_land_in_use_value">
+ [AREA] m²
+ </text>
+ <text name="land_available_label">
+ Terreno disponible:
+ </text>
+ <text name="land_available_value">
+ [AREA] m²
+ </text>
+ <text name="your_contribution_label">
+ Tu contribución:
+ </text>
+ <text name="your_contribution_units">
+ m²
+ </text>
+ <text name="your_contribution_max_value">
+ ([AMOUNT] máx.)
+ </text>
+ <text name="group_over_limit_text">
+ Se necesitan más créditos de terreno para mantener el terreno en uso
+ </text>
+ <text name="group_money_heading">
+ L$ del grupo
+ </text>
+ </panel>
<tab_container name="group_money_tab_container">
<panel label="RESUMEN" name="group_money_planning_tab">
<text_editor name="group_money_planning_text">
diff --git a/indra/newview/skins/default/xui/es/panel_group_list_item.xml b/indra/newview/skins/default/xui/es/panel_group_list_item.xml
index 4b6373f6ce..5c9f1c3688 100644
--- a/indra/newview/skins/default/xui/es/panel_group_list_item.xml
+++ b/indra/newview/skins/default/xui/es/panel_group_list_item.xml
@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="group_list_item">
<text name="group_name" value="Desconocido"/>
+ <button name="profile_btn" tool_tip="Ver el perfil"/>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_group_notices.xml b/indra/newview/skins/default/xui/es/panel_group_notices.xml
index 02365fc698..58e1919782 100644
--- a/indra/newview/skins/default/xui/es/panel_group_notices.xml
+++ b/indra/newview/skins/default/xui/es/panel_group_notices.xml
@@ -36,7 +36,7 @@ El máximo es de 200 por día y grupo.
<text name="string">
Arrastra y suelta aquí un ítem para adjuntarlo:
</text>
- <button label="Quitar" label_selected="Remover lo anexado" name="remove_attachment"/>
+ <button label="Quitar" label_selected="Remover lo anexado" name="remove_attachment" tool_tip="Quita el adjunto de tu aviso"/>
<button label="Enviar" label_selected="Enviar" name="send_notice"/>
<group_drop_target name="drop_target" tool_tip="Para enviar un ítem con el aviso, arrástralo desde tu inventario hasta este cajetín. Para poder adjuntarlo, debes tener permiso para copiarlo y transferirlo."/>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_group_roles.xml b/indra/newview/skins/default/xui/es/panel_group_roles.xml
index 29d96d8d9e..5ef81162bc 100644
--- a/indra/newview/skins/default/xui/es/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/es/panel_group_roles.xml
@@ -1,27 +1,27 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Miembros y Roles" name="roles_tab">
<panel.string name="default_needs_apply_text">
- En esta pestaña hay cambios sin guardar
+ Hay cambios sin guardar
</panel.string>
<panel.string name="want_apply_text">
¿Quieres guardar estos cambios?
</panel.string>
- <tab_container height="164" name="roles_tab_container">
- <panel height="148" label="MIEMBROS" name="members_sub_tab" tool_tip="Miembros">
+ <tab_container name="roles_tab_container">
+ <panel label="MIEMBROS" name="members_sub_tab" tool_tip="Miembros">
<panel.string name="help_text">
Puede añadir o quitar los roles asignados a los miembros.
Seleccione varios nombres manteniendo pulsada la tecla Ctrl y pulsando en cada uno de ellos.
</panel.string>
<filter_editor label="Filtrar los miembros" name="filter_input"/>
- <name_list bottom_delta="-105" height="104" name="member_list">
+ <name_list name="member_list">
<name_list.columns label="Miembro" name="name"/>
<name_list.columns label="Donaciones" name="donated"/>
<name_list.columns label="Estatus" name="online"/>
</name_list>
- <button label="Invitar" name="member_invite" width="175"/>
+ <button label="Invitar" name="member_invite"/>
<button label="Expulsar" name="member_eject"/>
</panel>
- <panel height="148" label="ROLES" name="roles_sub_tab">
+ <panel label="ROLES" name="roles_sub_tab">
<panel.string name="help_text">
Los roles tienen una etiqueta propia y unas capacidades que se
permiten ejercer a sus miembros. Los miembros pueden
@@ -35,7 +35,7 @@ incluyendo el de Todos y el de Propietarios.
Inv_FolderClosed
</panel.string>
<filter_editor label="Filtrar los roles" name="filter_input"/>
- <scroll_list bottom_delta="-104" height="104" name="role_list">
+ <scroll_list name="role_list">
<scroll_list.columns label="Rol" name="name"/>
<scroll_list.columns label="Etiqueta" name="title"/>
<scroll_list.columns label="#" name="members"/>
@@ -56,7 +56,7 @@ incluyendo el de Todos y el de Propietarios.
</tab_container>
<panel name="members_footer">
<text name="static">
- Miembros asignados
+ Roles asignados
</text>
<scroll_list name="member_assigned_roles">
<scroll_list.columns label="" name="checkbox"/>
diff --git a/indra/newview/skins/default/xui/es/panel_im_control_panel.xml b/indra/newview/skins/default/xui/es/panel_im_control_panel.xml
index 5f69c50b73..c3d5b017ad 100644
--- a/indra/newview/skins/default/xui/es/panel_im_control_panel.xml
+++ b/indra/newview/skins/default/xui/es/panel_im_control_panel.xml
@@ -1,13 +1,29 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="panel_im_control_panel">
- <text name="avatar_name" value="Desconocido"/>
- <button label="Perfil" name="view_profile_btn"/>
- <button label="Añadir como amigo" name="add_friend_btn"/>
- <button label="Teleportarse" name="teleport_btn"/>
- <button label="Compartir" name="share_btn"/>
- <panel name="panel_call_buttons">
- <button label="Llamada" name="call_btn"/>
- <button label="Colgar" name="end_call_btn"/>
- <button label="Controles de Voz" name="voice_ctrls_btn"/>
- </panel>
+ <layout_stack name="button_stack">
+ <layout_panel name="view_profile_btn_panel">
+ <button label="Perfil" name="view_profile_btn"/>
+ </layout_panel>
+ <layout_panel name="add_friend_btn_panel">
+ <button label="Añadir como amigo" name="add_friend_btn"/>
+ </layout_panel>
+ <layout_panel name="teleport_btn_panel">
+ <button label="Teleportarme" name="teleport_btn" tool_tip="Ofrecer teleporte a esta persona"/>
+ </layout_panel>
+ <layout_panel name="share_btn_panel">
+ <button label="Compartir" name="share_btn"/>
+ </layout_panel>
+ <layout_panel name="share_btn_panel">
+ <button label="Pagar" name="pay_btn"/>
+ </layout_panel>
+ <layout_panel name="call_btn_panel">
+ <button label="Llamar" name="call_btn"/>
+ </layout_panel>
+ <layout_panel name="end_call_btn_panel">
+ <button label="Colgar" name="end_call_btn"/>
+ </layout_panel>
+ <layout_panel name="voice_ctrls_btn_panel">
+ <button label="Controles de la voz" name="voice_ctrls_btn"/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_landmark_info.xml b/indra/newview/skins/default/xui/es/panel_landmark_info.xml
index c4d9d4a2b3..49a9f84cfe 100644
--- a/indra/newview/skins/default/xui/es/panel_landmark_info.xml
+++ b/indra/newview/skins/default/xui/es/panel_landmark_info.xml
@@ -18,6 +18,7 @@
<string name="acquired_date">
[wkday,datetime,local][day,datetime,local] [mth,datetime,local] [year,datetime,local][hour,datetime,local]:[min,datetime,local]:[second,datetime,local]
</string>
+ <button name="back_btn" tool_tip="Atrás"/>
<text name="title" value="Añadir el perfil"/>
<scroll_container name="place_scroll">
<panel name="scrolling_panel">
diff --git a/indra/newview/skins/default/xui/es/panel_landmarks.xml b/indra/newview/skins/default/xui/es/panel_landmarks.xml
index 8c2aa96b3b..8f476403c7 100644
--- a/indra/newview/skins/default/xui/es/panel_landmarks.xml
+++ b/indra/newview/skins/default/xui/es/panel_landmarks.xml
@@ -2,7 +2,7 @@
<panel name="Landmarks">
<accordion name="landmarks_accordion">
<accordion_tab name="tab_favorites" title="Barra de favoritos"/>
- <accordion_tab name="tab_landmarks" title="Hitos"/>
+ <accordion_tab name="tab_landmarks" title="Mis hitos"/>
<accordion_tab name="tab_inventory" title="Mi Inventario"/>
<accordion_tab name="tab_library" title="Biblioteca"/>
</accordion>
diff --git a/indra/newview/skins/default/xui/es/panel_login.xml b/indra/newview/skins/default/xui/es/panel_login.xml
index 5485575aec..8313306cf9 100644
--- a/indra/newview/skins/default/xui/es/panel_login.xml
+++ b/indra/newview/skins/default/xui/es/panel_login.xml
@@ -13,7 +13,7 @@
</text>
<line_editor label="Nombre" name="first_name_edit" tool_tip="[SECOND_LIFE] First Name"/>
<line_editor label="Apellido" name="last_name_edit" tool_tip="[SECOND_LIFE] Last Name"/>
- <check_box label="Recordar" name="remember_check"/>
+ <check_box label="Recordar la contraseña" name="remember_check"/>
<text name="start_location_text">
Empezar en:
</text>
diff --git a/indra/newview/skins/default/xui/es/panel_me.xml b/indra/newview/skins/default/xui/es/panel_me.xml
index fe5c91bafe..ed253904aa 100644
--- a/indra/newview/skins/default/xui/es/panel_me.xml
+++ b/indra/newview/skins/default/xui/es/panel_me.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Mi perfil" name="panel_me">
<tab_container name="tabs">
- <panel label="PERFIL" name="panel_profile"/>
- <panel label="Destacados" name="panel_picks"/>
+ <panel label="MI PERFIL" name="panel_profile"/>
+ <panel label="MIS DESTACADOS" name="panel_picks"/>
</tab_container>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_media_settings_general.xml b/indra/newview/skins/default/xui/es/panel_media_settings_general.xml
index 3cf10e0e2c..46326d1e8b 100644
--- a/indra/newview/skins/default/xui/es/panel_media_settings_general.xml
+++ b/indra/newview/skins/default/xui/es/panel_media_settings_general.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="General" name="Media Settings General">
<text name="home_label">
- Web:
+ Página inicial:
</text>
<text name="home_fails_whitelist_label">
(La Lista Blanca especificada no aprueba esta página)
@@ -13,7 +13,7 @@
<text name="current_url_label">
Página actual:
</text>
- <text name="current_url" tool_tip="La página actual para el origen de este media" value=""/>
+ <text name="current_url" tool_tip="Página actual para el origen de este media" value=""/>
<button label="Definir" name="current_url_reset_btn"/>
<check_box initial_value="false" label="Media en bucle" name="auto_loop"/>
<check_box initial_value="false" label="A la primera pulsación" name="first_click_interact"/>
diff --git a/indra/newview/skins/default/xui/es/panel_media_settings_security.xml b/indra/newview/skins/default/xui/es/panel_media_settings_security.xml
index f4debc88fc..c72f562a68 100644
--- a/indra/newview/skins/default/xui/es/panel_media_settings_security.xml
+++ b/indra/newview/skins/default/xui/es/panel_media_settings_security.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Seguridad" name="Media Settings Security">
- <check_box initial_value="false" label="Permitir el acceso sólo a estas URL (según prefijo)" name="whitelist_enable"/>
+ <check_box initial_value="false" label="Permitir el acceso sólo a los patrones de URL especificados" name="whitelist_enable"/>
<text name="home_url_fails_some_items_in_whitelist">
Están marcadas las entradas que la página web no admite:
</text>
<button label="Añadir" name="whitelist_add"/>
<button label="Borrar" name="whitelist_del"/>
<text name="home_url_fails_whitelist">
- Atención: la página web especificada en la pestaña General no se admite en esta Lista Blanca. Se ha desactivado hasta que se añada una entrada correcta.
+ Atención: la página web especificada en la pestaña General no se admite en esta lista blanca. Se ha desactivado hasta que se añada una entrada correcta.
</text>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_my_profile.xml b/indra/newview/skins/default/xui/es/panel_my_profile.xml
index 41623e8acb..5a6fd8b144 100644
--- a/indra/newview/skins/default/xui/es/panel_my_profile.xml
+++ b/indra/newview/skins/default/xui/es/panel_my_profile.xml
@@ -1,37 +1,35 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Perfil" name="panel_profile">
<string name="no_partner_text" value="Ninguno/a"/>
+ <string name="no_group_text" value="Ninguno"/>
<string name="RegisterDateFormat">
[REG_DATE] ([AGE])
</string>
- <scroll_container name="profile_scroll">
- <panel name="scroll_content_panel">
- <panel name="second_life_image_panel">
- <icon label="" name="2nd_life_edit_icon" tool_tip="Pulsa el botón Editar el perfil para cambiar la imagen"/>
- </panel>
- <panel name="first_life_image_panel">
- <icon label="" name="real_world_edit_icon" tool_tip="Pulsa el botón Editar el perfil para cambiar la imagen"/>
- <text name="title_rw_descr_text" value="Mundo real:"/>
- </panel>
- <text name="me_homepage_text">
- Página web:
- </text>
- <text name="title_member_text" value="Miembro desde:"/>
- <text name="title_acc_status_text" value="Estado de la cuenta:"/>
- <text name="acc_status_text" value="Residente. No ha aportado información de pago."/>
- <text name="title_partner_text" value="Compañero/a:"/>
- <text name="title_groups_text" value="Grupos:"/>
- </panel>
- </scroll_container>
- <panel name="profile_buttons_panel">
- <button label="Añadir como amigo" name="add_friend"/>
- <button label="MI" name="im"/>
- <button label="Llamada" name="call"/>
- <button label="Mapa" name="show_on_map_btn"/>
- <button label="Teleporte" name="teleport"/>
- </panel>
- <panel name="profile_me_buttons_panel">
- <button label="Editar el perfil" name="edit_profile_btn" tool_tip="Edita tu información personal"/>
- <button label="Editar la apariencia" name="edit_appearance_btn" tool_tip="Crea o edita tu apariencia: físico, ropas, etc."/>
- </panel>
+ <layout_stack name="layout">
+ <layout_panel name="profile_stack">
+ <scroll_container name="profile_scroll">
+ <panel name="scroll_content_panel">
+ <panel name="second_life_image_panel">
+ <icon label="" name="2nd_life_edit_icon" tool_tip="Pulsa el botón Editar el perfil para cambiar la imagen"/>
+ <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/>
+ </panel>
+ <panel name="first_life_image_panel">
+ <icon label="" name="real_world_edit_icon" tool_tip="Pulsa el botón Editar el perfil para cambiar la imagen"/>
+ <text name="title_rw_descr_text" value="Mundo real:"/>
+ </panel>
+ <text name="title_member_text" value="Residente desde:"/>
+ <text name="title_acc_status_text" value="Estado de la cuenta:"/>
+ <text name="title_partner_text" value="Compañero/a:"/>
+ <panel name="partner_data_panel">
+ <name_box initial_value="(obteniendo)" name="partner_text"/>
+ </panel>
+ <text name="title_groups_text" value="Grupos:"/>
+ </panel>
+ </scroll_container>
+ </layout_panel>
+ <layout_panel name="profile_me_buttons_panel">
+ <button label="Editar el perfil" name="edit_profile_btn" tool_tip="Modificar tu información personal"/>
+ <button label="Modificar la apariencia" name="edit_appearance_btn" tool_tip="Crear o modificar tu apariencia: tu físico, ropas, etc."/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_navigation_bar.xml b/indra/newview/skins/default/xui/es/panel_navigation_bar.xml
index 8e595096d9..e8e95c3bac 100644
--- a/indra/newview/skins/default/xui/es/panel_navigation_bar.xml
+++ b/indra/newview/skins/default/xui/es/panel_navigation_bar.xml
@@ -1,15 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="navigation_bar">
<panel name="navigation_panel">
- <button name="back_btn" tool_tip="Volver a lo localización anterior"/>
- <button name="forward_btn" tool_tip="Ir una localización adelante"/>
+ <pull_button name="back_btn" tool_tip="Volver a lo localización anterior"/>
+ <pull_button name="forward_btn" tool_tip="Ir una localización adelante"/>
<button name="home_btn" tool_tip="Teleportar a mi Base"/>
<location_input label="Localización" name="location_combo"/>
<search_combo_box label="Buscar" name="search_combo_box" tool_tip="Buscar">
<combo_editor label="Buscar en [SECOND_LIFE]" name="search_combo_editor"/>
</search_combo_box>
</panel>
- <favorites_bar name="favorite">
+ <favorites_bar name="favorite" tool_tip="¡Accede rápidamente a tus lugares favoritos de Second Life arrastrando hitos hasta aquí!">
+ <label name="favorites_bar_label" tool_tip="¡Accede rápidamente a tus lugares favoritos de Second Life arrastrando hitos hasta aquí!">
+ Barra de Favoritos
+ </label>
<chevron_button name="&gt;&gt;" tool_tip="Ver más de Mis favoritos"/>
</favorites_bar>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/es/panel_nearby_chat_bar.xml
index 1df45108ab..af2b6e920b 100644
--- a/indra/newview/skins/default/xui/es/panel_nearby_chat_bar.xml
+++ b/indra/newview/skins/default/xui/es/panel_nearby_chat_bar.xml
@@ -1,11 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="chat_bar">
- <string name="min_width">
- 192
- </string>
- <string name="max_width">
- 320
- </string>
<line_editor label="Pulsa aquí para chatear." name="chat_box" tool_tip="Pulsa Enter para decirlo o Ctrl+Enter para gritarlo"/>
<button name="show_nearby_chat" tool_tip="Muestra o esconde el registro del chat"/>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_nearby_media.xml b/indra/newview/skins/default/xui/es/panel_nearby_media.xml
new file mode 100644
index 0000000000..885c780e00
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_nearby_media.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="nearby_media">
+ <string name="empty_item_text">
+ &lt;vacío&gt;
+ </string>
+ <string name="parcel_media_name">
+ Media en streaming de la parcela
+ </string>
+ <string name="parcel_audio_name">
+ Audio en streaming de la parcela
+ </string>
+ <string name="playing_suffix">
+ (ejecutándose)
+ </string>
+ <panel name="minimized_controls">
+ <button label="Parar todo" name="all_nearby_media_disable_btn" tool_tip="Apagar todos los media cercanos"/>
+ <button label="Iniciar todo" name="all_nearby_media_enable_btn" tool_tip="Encender todos los media cercanos"/>
+ <button name="open_prefs_btn" tool_tip="Abrir las preferencias de los media"/>
+ <button label="Más &gt;&gt;" label_selected="Menos &lt;&lt;" name="more_less_btn" tool_tip="Controles avanzados"/>
+ </panel>
+ <panel name="nearby_media_panel">
+ <combo_box name="show_combo">
+ <combo_box.item label="Todo" name="All"/>
+ <combo_box.item label="En esta parcela" name="WithinParcel"/>
+ <combo_box.item label="Fuera de la parcela" name="OutsideParcel"/>
+ </combo_box>
+ <scroll_list name="media_list">
+ <scroll_list.columns label="Cercanía" name="media_proximity"/>
+ <scroll_list.columns label="Visibilidad" name="media_visibility"/>
+ <scroll_list.columns label="Clase" name="media_class"/>
+ <scroll_list.columns label="Nombre" name="media_name"/>
+ <scroll_list.columns label="Depurar" name="media_debug"/>
+ </scroll_list>
+ <panel>
+ <layout_stack name="media_controls">
+ <layout_panel name="stop">
+ <button name="stop_btn" tool_tip="Parar los media seleccionados"/>
+ </layout_panel>
+ <layout_panel name="play">
+ <button name="play_btn" tool_tip="Ejecutar los media seleccionados"/>
+ </layout_panel>
+ <layout_panel name="pause">
+ <button name="pause_btn" tool_tip="Pausar los media seleccionados"/>
+ </layout_panel>
+ <layout_panel name="volume_slider_ctrl">
+ <slider_bar initial_value="0.5" name="volume_slider" tool_tip="Volumen de los media seleccionados"/>
+ </layout_panel>
+ <layout_panel name="mute">
+ <button name="mute_btn" tool_tip="Silenciar el audio de los media seleccionados"/>
+ </layout_panel>
+ <layout_panel name="zoom">
+ <button name="zoom_btn" tool_tip="Zoom en los media seleccionados"/>
+ </layout_panel>
+ <layout_panel name="unzoom">
+ <button name="unzoom_btn" tool_tip="Alejar el zoom de los media seleccionados"/>
+ </layout_panel>
+ </layout_stack>
+ </panel>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_notes.xml b/indra/newview/skins/default/xui/es/panel_notes.xml
index 26d5a044c3..bf8da4cf73 100644
--- a/indra/newview/skins/default/xui/es/panel_notes.xml
+++ b/indra/newview/skins/default/xui/es/panel_notes.xml
@@ -13,10 +13,10 @@
</scroll_container>
</panel>
<panel name="notes_buttons_panel">
- <button label="Añadir" name="add_friend" tool_tip="Ofrecer amistad al residente"/>
+ <button label="Añadir como amigo" name="add_friend" tool_tip="Ofrecer amistad a este Residente"/>
<button label="MI" name="im" tool_tip="Abrir un mensaje instantáneo"/>
- <button label="Llamada" name="call" tool_tip="Llamar a este residente"/>
- <button label="Mapa" name="show_on_map_btn" tool_tip="Ver al residente en el mapa"/>
+ <button label="Llamada" name="call" tool_tip="Llamar a este Residente"/>
+ <button label="Mapa" name="show_on_map_btn" tool_tip="Mostrar al Residente en el mapa"/>
<button label="Teleportar" name="teleport" tool_tip="Ofrecer teleporte"/>
</panel>
</layout_stack>
diff --git a/indra/newview/skins/default/xui/es/panel_online_status.xml b/indra/newview/skins/default/xui/es/panel_online_status.xml
new file mode 100644
index 0000000000..fdc489f375
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_online_status.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="friend_online_status" name="friend_online_status"/>
diff --git a/indra/newview/skins/default/xui/es/panel_online_status_toast.xml b/indra/newview/skins/default/xui/es/panel_online_status_toast.xml
new file mode 100644
index 0000000000..fdc489f375
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_online_status_toast.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="friend_online_status" name="friend_online_status"/>
diff --git a/indra/newview/skins/default/xui/es/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/es/panel_outfits_inventory.xml
index 7d966bba37..2f60df7743 100644
--- a/indra/newview/skins/default/xui/es/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/es/panel_outfits_inventory.xml
@@ -1,7 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="Outfits">
- <accordion name="outfits_accordion">
- <accordion_tab name="tab_cof" title="Vestuario actual"/>
- <accordion_tab name="tab_outfits" title="Mis vestuarios"/>
- </accordion>
+<panel label="Cosas" name="Outfits">
+ <tab_container name="appearance_tabs">
+ <inventory_panel label="MIS VESTUARIOS" name="outfitslist_tab"/>
+ <inventory_panel label="PUESTO" name="cof_tab"/>
+ </tab_container>
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Ver más opciones"/>
+ <dnd_button name="trash_btn" tool_tip="Quitar el ítem seleccionado"/>
+ <button label="Guardar el vestuario" name="make_outfit_btn" tool_tip="Guardar la apariencia como un vestuario"/>
+ <button label="Ponerme" name="wear_btn" tool_tip="Ponerme el vestuario seleccionado"/>
+ <button label="M" name="look_edit_btn"/>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_outfits_inventory_gear_default.xml b/indra/newview/skins/default/xui/es/panel_outfits_inventory_gear_default.xml
index 8fc265504b..8f805c3d18 100644
--- a/indra/newview/skins/default/xui/es/panel_outfits_inventory_gear_default.xml
+++ b/indra/newview/skins/default/xui/es/panel_outfits_inventory_gear_default.xml
@@ -4,6 +4,6 @@
<menu_item_call label="Añadir al vestuario actual" name="add"/>
<menu_item_call label="Quitar del vestuario actual" name="remove"/>
<menu_item_call label="Renombrar" name="rename"/>
- <menu_item_call label="Quitar" name="remove_link"/>
- <menu_item_call label="Borrar" name="delete"/>
+ <menu_item_call label="Quitar el enlace" name="remove_link"/>
+ <menu_item_call label="Borrar el vestuario" name="delete"/>
</menu>
diff --git a/indra/newview/skins/default/xui/es/panel_people.xml b/indra/newview/skins/default/xui/es/panel_people.xml
index 35a6c4f641..03c449da93 100644
--- a/indra/newview/skins/default/xui/es/panel_people.xml
+++ b/indra/newview/skins/default/xui/es/panel_people.xml
@@ -5,7 +5,6 @@
<string name="no_one_near" value="No hay nadie cerca"/>
<string name="no_friends_online" value="No hay amigos conectados"/>
<string name="no_friends" value="No hay amigos"/>
- <string name="no_groups" value="No hay grupos"/>
<string name="people_filter_label" value="Filtrar a la gente"/>
<string name="groups_filter_label" value="Filtrar a los grupos"/>
<filter_editor label="Filtrar" name="filter_input"/>
@@ -13,21 +12,25 @@
<panel label="CERCANÍA" name="nearby_panel">
<panel label="bottom_panel" name="bottom_panel">
<button name="nearby_view_sort_btn" tool_tip="Opciones"/>
- <button name="add_friend_btn" tool_tip="Añadir a tu lista de amigos al residente seleccionado"/>
+ <button name="add_friend_btn" tool_tip="Añadir al Residente seleccionado a la lista de tus amigos"/>
</panel>
</panel>
- <panel label="AMIGOS" name="friends_panel">
+ <panel label="MIS AMIGOS" name="friends_panel">
<accordion name="friends_accordion">
<accordion_tab name="tab_online" title="Conectado"/>
<accordion_tab name="tab_all" title="Todas"/>
</accordion>
<panel label="bottom_panel" name="bottom_panel">
<button name="friends_viewsort_btn" tool_tip="Opciones"/>
- <button name="add_btn" tool_tip="Ofrecer amistad a un residente"/>
+ <button name="add_btn" tool_tip="Ofrecer amistad a un Residente"/>
<button name="del_btn" tool_tip="Quitar a la persona seleccionada de tu lista de amigos"/>
</panel>
+ <text name="no_friends_msg">
+ Para añadir amigos, prueba a hacer una [secondlife:///app/search/people búsqueda general] o pulsa en un usuario para añadirle como amigo.
+Si estás buscando gente para pasar el rato, [secondlife:///app/worldmap usa el mapa].
+ </text>
</panel>
- <panel label="GRUPOS" name="groups_panel">
+ <panel label="MIS GRUPOS" name="groups_panel">
<panel label="bottom_panel" name="bottom_panel">
<button name="groups_viewsort_btn" tool_tip="Opciones"/>
<button name="plus_btn" tool_tip="Entrar en un grupo o crear uno"/>
@@ -37,17 +40,18 @@
<panel label="RECIENTE" name="recent_panel">
<panel label="bottom_panel" name="bottom_panel">
<button name="recent_viewsort_btn" tool_tip="Opciones"/>
- <button name="add_friend_btn" tool_tip="Añadir a tu lista de amigos al residente seleccionado"/>
+ <button name="add_friend_btn" tool_tip="Añadir al Residente seleccionado a la lista de tus amigos"/>
</panel>
</panel>
</tab_container>
<panel name="button_bar">
- <button label="Perfil" name="view_profile_btn" tool_tip="Mostrar imagen, grupos y otra información de los residentes"/>
+ <button label="Perfil" name="view_profile_btn" tool_tip="Mostrar imágenes, grupos y otra información del Residente"/>
<button label="MI" name="im_btn" tool_tip="Abrir un mensaje instantáneo"/>
- <button label="Llamada" name="call_btn" tool_tip="Llamar a este residente"/>
+ <button label="Llamada" name="call_btn" tool_tip="Llamar a este Residente"/>
<button label="Compartir" name="share_btn"/>
<button label="Teleportarse" name="teleport_btn" tool_tip="Ofrecer teleporte"/>
<button label="Perfil del grupo" name="group_info_btn" tool_tip="Ver la información del grupo"/>
<button label="Chat de grupo" name="chat_btn" tool_tip="Abrir el chat"/>
+ <button label="Multiconferencia" name="group_call_btn" tool_tip="Llamar a este grupo"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_place_profile.xml b/indra/newview/skins/default/xui/es/panel_place_profile.xml
index ad1b832979..2c873ef464 100644
--- a/indra/newview/skins/default/xui/es/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/es/panel_place_profile.xml
@@ -6,7 +6,7 @@
<string name="available" value="disponible"/>
<string name="allocated" value="asignados"/>
<string name="title_place" value="Añadir el perfil"/>
- <string name="title_teleport_history" value="Localización del historial de teleportes"/>
+ <string name="title_teleport_history" value="Historial de teleportes"/>
<string name="not_available" value="(No disp.)"/>
<string name="unknown" value="(desconocido)"/>
<string name="public" value="(público)"/>
@@ -41,6 +41,7 @@
<string name="acquired_date">
[wkday,datetime,local][day,datetime,local] [mth,datetime,local] [year,datetime,local][hour,datetime,local]:[min,datetime,local]:[second,datetime,local]
</string>
+ <button name="back_btn" tool_tip="Atrás"/>
<text name="title" value="Añadir el perfil"/>
<scroll_container name="place_scroll">
<panel name="scrolling_panel">
@@ -48,7 +49,7 @@
<text name="maturity_value" value="desconocido"/>
<accordion name="advanced_info_accordion">
<accordion_tab name="parcel_characteristics_tab" title="Parcela">
- <panel>
+ <panel name="parcel_characteristics_panel">
<text name="rating_label" value="Calificación:"/>
<text name="rating_value" value="desconocida"/>
<text name="voice_label" value="Voz:"/>
@@ -67,7 +68,7 @@
</panel>
</accordion_tab>
<accordion_tab name="region_information_tab" title="Región">
- <panel>
+ <panel name="region_information_panel">
<text name="region_name_label" value="Región:"/>
<text name="region_type_label" value="Tipo:"/>
<text name="region_rating_label" value="Calificación:"/>
@@ -77,7 +78,7 @@
</panel>
</accordion_tab>
<accordion_tab name="estate_information_tab" title="Estado">
- <panel>
+ <panel name="estate_information_panel">
<text name="estate_name_label" value="Estado:"/>
<text name="estate_rating_label" value="Calificación:"/>
<text name="estate_owner_label" value="Propietario:"/>
@@ -85,7 +86,7 @@
</panel>
</accordion_tab>
<accordion_tab name="sales_tab" title="En venta">
- <panel>
+ <panel name="sales_panel">
<text name="sales_price_label" value="Precio:"/>
<text name="area_label" value="Área:"/>
<text name="traffic_label" value="Tráfico:"/>
diff --git a/indra/newview/skins/default/xui/es/panel_places.xml b/indra/newview/skins/default/xui/es/panel_places.xml
index 4a64fa3320..4818bff069 100644
--- a/indra/newview/skins/default/xui/es/panel_places.xml
+++ b/indra/newview/skins/default/xui/es/panel_places.xml
@@ -2,13 +2,14 @@
<panel label="Lugares" name="places panel">
<string name="landmarks_tab_title" value="MIS HITOS"/>
<string name="teleport_history_tab_title" value="HISTORIAL DE TELEPORTES"/>
- <filter_editor label="Filtrar los lugares" name="Filter"/>
+ <filter_editor label="Filtrar mis lugares" name="Filter"/>
<panel name="button_panel">
- <button label="Teleporte" name="teleport_btn"/>
+ <button label="Teleporte" name="teleport_btn" tool_tip="Teleportar a la zona elegida"/>
<button label="Mapa" name="map_btn"/>
- <button label="Editar" name="edit_btn"/>
- <button label="Cerrar" name="close_btn"/>
- <button label="Cancelar" name="cancel_btn"/>
+ <button label="Editar" name="edit_btn" tool_tip="Editar la información del hito"/>
+ <button label="▼" name="overflow_btn" tool_tip="Ver más opciones"/>
<button label="Guardar" name="save_btn"/>
+ <button label="Cancelar" name="cancel_btn"/>
+ <button label="Cerrar" name="close_btn"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/es/panel_preferences_advanced.xml
index 3dc6cad90e..add854932d 100644
--- a/indra/newview/skins/default/xui/es/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/es/panel_preferences_advanced.xml
@@ -1,48 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
-<panel name="advanced">
- <panel.string name="resolution_format">
- [RES_X] x [RES_Y]
- </panel.string>
+<panel label="Avanzado" name="advanced">
<panel.string name="aspect_ratio_text">
[NUM]:[DEN]
</panel.string>
- <check_box label="Bocadillos del chat" name="bubble_text_chat"/>
- <color_swatch name="background" tool_tip="Elegir el color de los bocadillos del chat"/>
- <slider label="Opacidad" name="bubble_chat_opacity"/>
- <text name="AspectRatioLabel1" tool_tip="ancho / alto">
- Proporción
- </text>
- <combo_box name="aspect_ratio" tool_tip="ancho / alto">
- <combo_box.item label="4:3 (Standard CRT)" name="item1"/>
- <combo_box.item label="5:4 (1280x1024 LCD)" name="item2"/>
- <combo_box.item label="8:5 (Widescreen)" name="item3"/>
- <combo_box.item label="16:9 (Widescreen)" name="item4"/>
- </combo_box>
- <check_box label="Detectar automáticamente" name="aspect_auto_detect"/>
- <text name="heading1">
- Cámara:
- </text>
<slider label="Ángulo de visión" name="camera_fov"/>
<slider label="Distancia" name="camera_offset_scale"/>
<text name="heading2">
- Posicionamiento automático para:
+ Posición automática para:
</text>
<check_box label="Construir/Editar" name="edit_camera_movement" tool_tip="Usar el posicionamiento automático de la cámara al entrar en o salir del modo de edición"/>
<check_box label="Apariencia" name="appearance_camera_movement" tool_tip="Usar el posicionamiento automático de la cámara mientras se está editando"/>
- <text name="heading3">
- Avatares:
- </text>
<check_box label="Verme en vista subjetiva" name="first_person_avatar_visible"/>
<check_box label="Las teclas del cursor siempre para moverme" name="arrow_keys_move_avatar_check"/>
<check_box label="Correr siempre: atajo de teclado" name="tap_tap_hold_to_run"/>
<check_box label="Al hablar, mover los labios del avatar" name="enable_lip_sync"/>
- <check_box label="Mostrar los errores de los scripts" name="show_script_errors"/>
+ <check_box label="Bocadillos del chat" name="bubble_text_chat"/>
+ <slider label="Opacidad" name="bubble_chat_opacity"/>
+ <color_swatch name="background" tool_tip="Elegir el color de los bocadillos del chat"/>
+ <check_box label="Mostrar los errores de los scripts en:" name="show_script_errors"/>
<radio_group name="show_location">
- <radio_item label="En el chat" name="0"/>
- <radio_item label="En una ventana" name="1"/>
+ <radio_item label="Chat" name="0"/>
+ <radio_item label="Ventanas distintas" name="1"/>
</radio_group>
- <check_box label="Modo &apos;un toque&apos; para el micrófono cuando pulses la tecla:" name="push_to_talk_toggle_check" tool_tip="En el modo &apos;un toque&apos;, pulsa y suelta el botón UNA VEZ para activar o desactivar el micrófono. Si no estás en el modo &apos;un toque&apos;, el micrófono sólo recogerá tu voz mientras mantengas pulsado el botón."/>
+ <check_box label="Cambiar entre hablar on/off cuando pulse:" name="push_to_talk_toggle_check" tool_tip="En el modo &apos;un toque&apos;, pulsa y suelta el botón UNA VEZ para activar o desactivar el micrófono. Si no estás en el modo &apos;un toque&apos;, el micrófono sólo recogerá tu voz mientras mantengas pulsado el botón."/>
<line_editor label="Botón de Apretar para Hablar" name="modifier_combo"/>
<button label="Elegir la tecla" name="set_voice_hotkey_button"/>
- <button label="Botón de en medio del ratón" name="set_voice_middlemouse_button"/>
+ <button label="Botón de en medio del ratón" name="set_voice_middlemouse_button" tool_tip="Reconfigurarlo al botón medio del ratón"/>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/es/panel_preferences_alerts.xml
index 433d7d15b4..0ccc307039 100644
--- a/indra/newview/skins/default/xui/es/panel_preferences_alerts.xml
+++ b/indra/newview/skins/default/xui/es/panel_preferences_alerts.xml
@@ -4,11 +4,11 @@
Avisarme:
</text>
<check_box label="Cuando gaste o consiga L$" name="notify_money_change_checkbox"/>
- <check_box label="Cuando mis amigos se conecten o desconecten" name="friends_online_notify_checkbox"/>
+ <check_box label="Cuando mis amigos se conectan o desconectan" name="friends_online_notify_checkbox"/>
<text name="show_label" width="300">
- Mostrar siempre estos avisos:
+ Mostrar siempre:
</text>
<text name="dont_show_label">
- No mostrar nunca estos avisos:
+ No mostrar nunca:
</text>
</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 89243afbb5..17e3b45beb 100644
--- a/indra/newview/skins/default/xui/es/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/es/panel_preferences_chat.xml
@@ -1,10 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Chat de texto" name="chat">
+ <text name="font_size">
+ Font size:
+ </text>
<radio_group name="chat_font_size">
- <radio_item label="Disminuir" name="radio"/>
- <radio_item label="Media" name="radio2"/>
- <radio_item label="Aumentar" name="radio3"/>
+ <radio_item label="Disminuir" name="radio" value="0"/>
+ <radio_item label="Media" name="radio2" value="1"/>
+ <radio_item label="Aumentar" name="radio3" value="2"/>
</radio_group>
+ <text name="font_colors">
+ Font colors:
+ </text>
<color_swatch label="Usted" name="user"/>
<text name="text_box1">
Yo
@@ -39,8 +45,8 @@
</text>
<check_box initial_value="true" label="Ejecutar la animación de escribir al hacerlo en el chat" name="play_typing_animation"/>
<check_box label="Cuando estoy desconectado, enviarme los MI al correo-e" name="send_im_to_email"/>
- <radio_group name="chat_window" tool_tip="Ver tus mensajes instantáneos en ventanas separadas o en una sola con varias pestañas (requiere volverse a conectar)">
- <radio_item label="Varias ventanas" name="radio"/>
- <radio_item label="Una ventana" name="radio2"/>
+ <radio_group name="chat_window" tool_tip="Muestra tus mensajes instantáneos en varias ventanas flotantes o en una sola con varias pestañas (requiere que reinicies)">
+ <radio_item label="Varias ventanas" name="radio" value="0"/>
+ <radio_item label="Pestañas" name="radio2" value="1"/>
</radio_group>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_preferences_general.xml b/indra/newview/skins/default/xui/es/panel_preferences_general.xml
index 7402f6270d..ed24ccacd7 100644
--- a/indra/newview/skins/default/xui/es/panel_preferences_general.xml
+++ b/indra/newview/skins/default/xui/es/panel_preferences_general.xml
@@ -40,9 +40,9 @@
Etiquetas de los nombres:
</text>
<radio_group name="Name_Tag_Preference">
- <radio_item label="Off" name="radio"/>
- <radio_item label="On" name="radio2"/>
- <radio_item label="Mostrar brevemente" name="radio3"/>
+ <radio_item label="Off" name="radio" value="0"/>
+ <radio_item label="On" name="radio2" value="1"/>
+ <radio_item label="Mostrar brevemente" name="radio3" value="2"/>
</radio_group>
<check_box label="Mostrar mi nombre" name="show_my_name_checkbox1"/>
<check_box initial_value="true" label="Etiquetas de los avatares en pequeño" name="small_avatar_names_checkbox"/>
@@ -50,14 +50,17 @@
<text name="effects_color_textbox">
Mis efectos:
</text>
- <color_swatch label="" name="effect_color_swatch" tool_tip="Pulse para abrir el selector de color"/>
<text name="title_afk_text">
Ausente tras:
</text>
- <spinner label="Ausente tras:" name="afk_timeout_spinner"/>
- <text name="seconds_textbox">
- segundos
- </text>
+ <color_swatch label="" name="effect_color_swatch" tool_tip="Pulse para abrir el selector de color"/>
+ <combo_box label="Ausente tras:" name="afk">
+ <combo_box.item label="2 minutos" name="item0"/>
+ <combo_box.item label="5 minutos" name="item1"/>
+ <combo_box.item label="10 minutos" name="item2"/>
+ <combo_box.item label="30 minutos" name="item3"/>
+ <combo_box.item label="nunca" name="item4"/>
+ </combo_box>
<text name="text_box3">
Respuesta cuando estoy en el modo ocupado:
</text>
diff --git a/indra/newview/skins/default/xui/es/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/es/panel_preferences_graphics1.xml
index dc7d692531..c5ecffc026 100644
--- a/indra/newview/skins/default/xui/es/panel_preferences_graphics1.xml
+++ b/indra/newview/skins/default/xui/es/panel_preferences_graphics1.xml
@@ -87,8 +87,8 @@
Detalles de la iluminación:
</text>
<radio_group name="LightingDetailRadio">
- <radio_item label="Sólo el Sol y la Luna" name="SunMoon"/>
- <radio_item label="Puntos de luz cercanos" name="LocalLights"/>
+ <radio_item label="Sólo el Sol y la Luna" name="SunMoon" value="0"/>
+ <radio_item label="Puntos de luz cercanos" name="LocalLights" value="1"/>
</radio_group>
<text name="TerrainDetailText">
Nivel de detalle del
diff --git a/indra/newview/skins/default/xui/es/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/es/panel_preferences_privacy.xml
index fbc885abc4..3632ecca7b 100644
--- a/indra/newview/skins/default/xui/es/panel_preferences_privacy.xml
+++ b/indra/newview/skins/default/xui/es/panel_preferences_privacy.xml
@@ -3,7 +3,7 @@
<panel.string name="log_in_to_change">
Conéctate para que cambie
</panel.string>
- <button label="Limpiar el historial" name="clear_cache"/>
+ <button label="Limpiar el historial" name="clear_cache" tool_tip="Limpia la imagen de la pantalla de conexión, la última posición, el historial de teleportes, web y caché de las texturas."/>
<text name="cache_size_label_l">
(Localizaciones, imágenes, web, historial de búsqueda)
</text>
@@ -11,17 +11,16 @@
<check_box label="Sólo pueden llamarme o mandarme un MI mis amigos y grupos" name="voice_call_friends_only_check"/>
<check_box label="Desconectar el micrófono cuando finalicen las llamadas" name="auto_disengage_mic_check"/>
<check_box label="Aceptar las &apos;cookies&apos;" name="cookies_enabled"/>
- <check_box label="Permitir la ejecución automática de los media" name="autoplay_enabled"/>
<text name="Logs:">
Registros:
</text>
<check_box label="Guardar en mi ordenador registros del chat" name="log_nearby_chat"/>
<check_box label="Guardar en mi ordenador registros de los MI" name="log_instant_messages"/>
<check_box label="Añadir fecha y hora" name="show_timestamps_check_im"/>
- <line_editor left="278" name="log_path_string" right="-20"/>
<text name="log_path_desc">
- Ruta de los registros
+ Localización de los registros:
</text>
+ <line_editor left="278" name="log_path_string" right="-20"/>
<button label="Elegir" label_selected="Elegir" name="log_path_button" width="120"/>
<button label="Lista de ignorados" name="block_list"/>
</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 d58878b120..ebf2b1084b 100644
--- a/indra/newview/skins/default/xui/es/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/es/panel_preferences_setup.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel label="Dispositivos y Cámara" name="Input panel">
+<panel label="Configurar" name="Input panel">
<button bottom_delta="-40" label="Otros dispositivos" name="joystick_setup_button"/>
<text name="Mouselook:">
Vista subjetiva:
@@ -18,29 +18,29 @@
kbps
</text>
<check_box label="Personalizar el puerto" name="connection_port_enabled"/>
- <spinner label="Número de puerto:" name="web_proxy_port"/>
+ <spinner label="Número de puerto:" name="connection_port"/>
<text name="cache_size_label_l">
Tamaño de la caché
</text>
<text name="text_box5">
MB
</text>
- <button label="Elegir" label_selected="Elegir" name="set_cache"/>
- <button label="Recuperar" label_selected="Configurar" name="reset_cache"/>
<text name="Cache location">
- Ruta de la caché
+ Localización de la caché:
</text>
+ <button label="Elegir" label_selected="Elegir" name="set_cache"/>
+ <button label="Recuperar" label_selected="Reconfigurar" name="reset_cache"/>
<text name="Web:">
Web:
</text>
<radio_group name="use_external_browser">
- <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]."/>
- <radio_item label="Usar mi navegador (IE, Firefox)" name="external" tool_tip="Usa tu navegador por defecto para ayuda, enlaces web, etc. No es aconsejable si estás a pantalla completa."/>
+ <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="0"/>
+ <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_group>
- <check_box initial_value="false" label="Web proxy" name="web_proxy_enabled"/>
- <line_editor name="web_proxy_editor" tool_tip="Nombre o dirección IP del proxy que quieres usar"/>
- <button label="Buscar" label_selected="Buscar" name="set_proxy"/>
+ <check_box initial_value="false" label="Activar web proxy" name="web_proxy_enabled"/>
<text name="Proxy location">
- Localización del proxy
+ Localización del proxy:
</text>
+ <line_editor name="web_proxy_editor" tool_tip="Nombre o dirección IP del proxy que quieres usar"/>
+ <spinner label="Número de puerto:" name="web_proxy_port"/>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_preferences_sound.xml b/indra/newview/skins/default/xui/es/panel_preferences_sound.xml
index 5ec5ba88fa..9e6cf49247 100644
--- a/indra/newview/skins/default/xui/es/panel_preferences_sound.xml
+++ b/indra/newview/skins/default/xui/es/panel_preferences_sound.xml
@@ -1,14 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Sonidos" name="Preference Media panel">
<slider label="Volumen general" name="System Volume"/>
- <check_box initial_value="true" label="Silenciar al minimizar" name="mute_when_minimized"/>
- <slider label="Ambiental" name="Wind Volume"/>
+ <check_box initial_value="true" label="Silenciar cuando minimice" name="mute_when_minimized"/>
<slider label="Botones" name="UI Volume"/>
- <slider label="Medios de comunicación" name="Media Volume"/>
- <slider label="Efectos sonoros" name="SFX Volume"/>
+ <slider label="Ambiental" name="Wind Volume"/>
+ <slider label="Efectos de sonido" name="SFX Volume"/>
<slider label="Música en streaming" name="Music Volume"/>
- <check_box label="Voz" name="enable_voice_check"/>
- <slider label="Voz" name="Voice Volume"/>
+ <check_box label="Activada" name="music_enabled"/>
+ <slider label="Medios de comunicación" name="Media Volume"/>
+ <check_box label="Activados" name="enable_media"/>
+ <slider label="Chat de voz" name="Voice Volume"/>
+ <check_box label="Activada" name="enable_voice_check"/>
+ <check_box label="Permitir la ejecución automática de los media" name="media_auto_play_btn" tool_tip="Marcar esto para permitir la ejecución automática de los media" value="Sí"/>
+ <check_box label="Ejecutar para otros avatares los media anexados" name="media_show_on_others_btn" tool_tip="Al desmarcar esto se esconderán los media anexados a otros avatares cercanos" value="Sí"/>
+ <text name="voice_chat_settings">
+ Configuración del chat de voz
+ </text>
<text name="Listen from">
Oír desde:
</text>
diff --git a/indra/newview/skins/default/xui/es/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/es/panel_prim_media_controls.xml
index 4701c67e06..174922e28e 100644
--- a/indra/newview/skins/default/xui/es/panel_prim_media_controls.xml
+++ b/indra/newview/skins/default/xui/es/panel_prim_media_controls.xml
@@ -1,6 +1,47 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="MediaControls">
+ <string name="min_width">
+ 300
+ </string>
+ <string name="min_height">
+ 75
+ </string>
+ <string name="zoom_medium_padding">
+ 1.1
+ </string>
+ <string name="top_world_view_avoid_zone">
+ 50
+ </string>
+ <layout_stack name="progress_indicator_area">
+ <panel name="media_progress_indicator">
+ <progress_bar name="media_progress_bar" tool_tip="Los media se están cargando"/>
+ </panel>
+ </layout_stack>
<layout_stack name="media_controls">
+ <layout_panel name="back">
+ <button name="back_btn" tool_tip="Navegar hacia atrás"/>
+ </layout_panel>
+ <layout_panel name="fwd">
+ <button name="fwd_btn" tool_tip="Navegar hacia adelante"/>
+ </layout_panel>
+ <layout_panel name="home">
+ <button name="home_btn" tool_tip="Página inicial"/>
+ </layout_panel>
+ <layout_panel name="media_stop">
+ <button name="media_stop_btn" tool_tip="Parar los media"/>
+ </layout_panel>
+ <layout_panel name="reload">
+ <button name="reload_btn" tool_tip="Recargar"/>
+ </layout_panel>
+ <layout_panel name="stop">
+ <button name="stop_btn" tool_tip="Parar la carga"/>
+ </layout_panel>
+ <layout_panel name="play">
+ <button name="play_btn" tool_tip="Ejecutar los media"/>
+ </layout_panel>
+ <layout_panel name="pause">
+ <button name="pause_btn" tool_tip="Pausar los media"/>
+ </layout_panel>
<layout_panel name="media_address">
<line_editor name="media_address_url" tool_tip="URL de los media"/>
<layout_stack name="media_address_url_icons">
@@ -15,14 +56,24 @@
<layout_panel name="media_play_position">
<slider_bar initial_value="0.5" name="media_play_slider" tool_tip="Progreso de la película"/>
</layout_panel>
+ <layout_panel name="skip_back">
+ <button name="skip_back_btn" tool_tip="Hacia atrás"/>
+ </layout_panel>
+ <layout_panel name="skip_forward">
+ <button name="skip_forward_btn" tool_tip="Hacia adelante"/>
+ </layout_panel>
<layout_panel name="media_volume">
<button name="media_mute_button" tool_tip="Silenciar este media"/>
<slider name="volume_slider" tool_tip="Volumen de los media"/>
</layout_panel>
- </layout_stack>
- <layout_stack>
- <panel name="media_progress_indicator">
- <progress_bar name="media_progress_bar" tool_tip="Los media se están cargando"/>
- </panel>
+ <layout_panel name="zoom_frame">
+ <button name="zoom_frame_btn" tool_tip="Zoom hacia los media"/>
+ </layout_panel>
+ <layout_panel name="close">
+ <button name="close_btn" tool_tip="Alejar el zoom"/>
+ </layout_panel>
+ <layout_panel name="new_window">
+ <button name="new_window_btn" tool_tip="Abrir la URL en el navegador"/>
+ </layout_panel>
</layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_profile.xml b/indra/newview/skins/default/xui/es/panel_profile.xml
index f61c7c3e33..d725bfe618 100644
--- a/indra/newview/skins/default/xui/es/panel_profile.xml
+++ b/indra/newview/skins/default/xui/es/panel_profile.xml
@@ -12,37 +12,41 @@
</string>
<string name="my_account_link_url" value="http://secondlife.com/my/account/index.php?lang=es-ES"/>
<string name="no_partner_text" value="Ninguno"/>
+ <string name="no_group_text" value="Ninguno"/>
<string name="RegisterDateFormat">
[REG_DATE] ([AGE])
</string>
- <scroll_container name="profile_scroll">
- <panel name="scroll_content_panel">
- <panel name="second_life_image_panel">
- <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/>
- </panel>
- <panel name="first_life_image_panel">
- <text name="title_rw_descr_text" value="Mundo real:"/>
- </panel>
- <text name="me_homepage_text">
- Web:
- </text>
- <text name="title_member_text" value="Miembro desde:"/>
- <text name="title_acc_status_text" value="Estado de la cuenta:"/>
- <text name="acc_status_text" value="Residente. No ha aportado información de pago."/>
- <text name="title_partner_text" value="Compañero/a:"/>
- <text name="title_groups_text" value="Grupos:"/>
- </panel>
- </scroll_container>
- <panel name="profile_buttons_panel">
- <button label="Añadir como amigo" name="add_friend" tool_tip="Ofrecer amistad al residente"/>
- <button label="MI" name="im" tool_tip="Abrir un mensaje instantáneo"/>
- <button label="Llamada" name="call" tool_tip="Llamar a este residente"/>
- <button label="Mapa" name="show_on_map_btn" tool_tip="Ver al residente en el mapa"/>
- <button label="Teleportarse" name="teleport" tool_tip="Ofrecer teleporte"/>
- <button label="▼" name="overflow_btn" tool_tip="Pagar dinero o dar algo del inventario al residente"/>
- </panel>
- <panel name="profile_me_buttons_panel">
- <button label="Editar el perfil" name="edit_profile_btn"/>
- <button label="Modificar la apariencia" name="edit_appearance_btn"/>
- </panel>
+ <layout_stack name="layout">
+ <layout_panel name="profile_stack">
+ <scroll_container name="profile_scroll">
+ <panel name="profile_scroll_panel">
+ <panel name="second_life_image_panel">
+ <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/>
+ </panel>
+ <panel name="first_life_image_panel">
+ <text name="title_rw_descr_text" value="Mundo real:"/>
+ </panel>
+ <text name="title_member_text" value="Residente desde:"/>
+ <text name="title_acc_status_text" value="Estado de la cuenta:"/>
+ <text name="title_partner_text" value="Compañero/a:"/>
+ <panel name="partner_data_panel">
+ <name_box initial_value="(obteniendo)" name="partner_text"/>
+ </panel>
+ <text name="title_groups_text" value="Grupos:"/>
+ </panel>
+ </scroll_container>
+ </layout_panel>
+ <layout_panel name="profile_buttons_panel">
+ <button label="Añadir como amigo" name="add_friend" tool_tip="Ofrecer amistad a este Residente"/>
+ <button label="MI" name="im" tool_tip="Abrir una sesión de mensajes instantáneos"/>
+ <button label="Llamar" name="call" tool_tip="Llamar a este Residente"/>
+ <button label="Mapa" name="show_on_map_btn" tool_tip="Mostrar al Residente en el mapa"/>
+ <button label="Teleportar" name="teleport" tool_tip="Ofrecer teleporte"/>
+ <button label="▼" name="overflow_btn" tool_tip="Pagar dinero al Residente o compartir algo del inventario con él"/>
+ </layout_panel>
+ <layout_panel name="profile_me_buttons_panel">
+ <button label="Editar el perfil" name="edit_profile_btn" tool_tip="Modificar tu información personal"/>
+ <button label="Modificar la apariencia" name="edit_appearance_btn" tool_tip="Crear o modificar tu apariencia: tu físico, ropas, etc."/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_region_covenant.xml b/indra/newview/skins/default/xui/es/panel_region_covenant.xml
index 7713a173e5..0a5d7c2786 100644
--- a/indra/newview/skins/default/xui/es/panel_region_covenant.xml
+++ b/indra/newview/skins/default/xui/es/panel_region_covenant.xml
@@ -31,7 +31,7 @@
del estado.
</text>
<text bottom_delta="-31" name="covenant_instructions">
- Arrastra y suelta una nota para cambiar el contrato de este Estado.
+ Arrastra y suelta una nota para cambiar el contrato de este estado.
</text>
<text name="region_section_lbl">
Región
diff --git a/indra/newview/skins/default/xui/es/panel_region_estate.xml b/indra/newview/skins/default/xui/es/panel_region_estate.xml
index 437ecd4e10..53d05cf2c9 100644
--- a/indra/newview/skins/default/xui/es/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/es/panel_region_estate.xml
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Estado" name="Estate">
<text name="estate_help_text">
- Los cambios en las configuraciones de esta
-pestaña afectarán a todas las regiones del estado.
+ En esta pestaña, los cambios en la configuración afectarán a todas las regiones del estado.
</text>
<text name="estate_text">
Estado:
@@ -24,10 +23,10 @@ pestaña afectarán a todas las regiones del estado.
<check_box label="Permitir el acceso público" name="externally_visible_check"/>
<button label="?" name="externally_visible_help"/>
<text name="Only Allow">
- Acceso restringido a cuentas verificadas por:
+ Restringir el acceso a cuentas verificadas por:
</text>
- <check_box label="Información de pago aportada" name="limit_payment" tool_tip="Expulsar a los residentes no identificados"/>
- <check_box label="Verificación de la edad" name="limit_age_verified" tool_tip="Prohibir el acceso a residentes que no hayan verificado su edad. Para más información, ver [SUPPORT_SITE]."/>
+ <check_box label="Información de pago aportada" name="limit_payment" tool_tip="Expulsa a los Residentes no identificados."/>
+ <check_box label="Verificación de la edad" name="limit_age_verified" tool_tip="Expulsa a los Residentes que no hayan verificado su edad. Más información en [SUPPORT_SITE]."/>
<check_box label="Permitir el chat de voz" name="voice_chat_check"/>
<button label="?" name="voice_chat_help"/>
<check_box label="Permitir el teleporte a cualquier punto" name="allow_direct_teleport"/>
diff --git a/indra/newview/skins/default/xui/es/panel_region_general_layout.xml b/indra/newview/skins/default/xui/es/panel_region_general_layout.xml
new file mode 100644
index 0000000000..89ad5549c8
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_region_general_layout.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Región" name="General">
+ <text name="region_text_lbl">
+ Región:
+ </text>
+ <text name="region_text">
+ desconocida
+ </text>
+ <text name="version_channel_text_lbl">
+ Versión:
+ </text>
+ <text name="version_channel_text">
+ desconocida
+ </text>
+ <text name="region_type_lbl">
+ Tipo:
+ </text>
+ <text name="region_type">
+ desconocido
+ </text>
+ <check_box label="No permitir modificar el terreno" name="block_terraform_check"/>
+ <check_box label="Prohibir volar" name="block_fly_check"/>
+ <check_box label="Permitir el daño" name="allow_damage_check"/>
+ <check_box label="Impedir los &apos;empujones&apos;" name="restrict_pushobject"/>
+ <check_box label="Permitir la reventa del terreno" name="allow_land_resell_check"/>
+ <check_box label="Permitir unir/dividir el terreno" name="allow_parcel_changes_check"/>
+ <check_box label="Bloquear el mostrar el terreno en la búsqueda" name="block_parcel_search_check" tool_tip="Permite que la gente vea esta región y sus parcelas en los resultados de la búsqueda"/>
+ <spinner label="Nº máximo de avatares" name="agent_limit_spin"/>
+ <spinner label="Plus de objetos" name="object_bonus_spin"/>
+ <text label="Calificación" name="access_text">
+ Calificación:
+ </text>
+ <combo_box label="Moderado" name="access_combo">
+ <combo_box.item label="Adulto" name="Adult"/>
+ <combo_box.item label="Moderado" name="Mature"/>
+ <combo_box.item label="General" name="PG"/>
+ </combo_box>
+ <button label="Aplicar" name="apply_btn"/>
+ <button label="Teleportar a su Base a un usuario..." name="kick_btn"/>
+ <button label="Teleportar a sus Bases a todos los usuarios..." name="kick_all_btn"/>
+ <button label="Enviar un mensaje a toda la región..." name="im_btn"/>
+ <button label="Administrar el Punto de Teleporte..." name="manage_telehub_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_script_limits_my_avatar.xml b/indra/newview/skins/default/xui/es/panel_script_limits_my_avatar.xml
new file mode 100644
index 0000000000..9334d58af2
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_script_limits_my_avatar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="MI AVATAR" name="script_limits_my_avatar_panel">
+ <text name="script_memory">
+ Uso de scripts en el avatar
+ </text>
+ <text name="loading_text">
+ Cargando...
+ </text>
+ <scroll_list name="scripts_list">
+ <scroll_list.columns label="Tamaño (kb)" name="size"/>
+ <scroll_list.columns label="URLs" name="urls"/>
+ <scroll_list.columns label="Nombre del objeto" name="name"/>
+ <scroll_list.columns label="Localización" name="location"/>
+ </scroll_list>
+ <button label="Actualizar la lista" name="refresh_list_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_script_limits_region_memory.xml b/indra/newview/skins/default/xui/es/panel_script_limits_region_memory.xml
new file mode 100644
index 0000000000..37dc0a576c
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_script_limits_region_memory.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="MEMORIA DE LA REGIÓN" name="script_limits_region_memory_panel">
+ <text name="script_memory">
+ Memoria de los scripts de la parcela
+ </text>
+ <text name="loading_text">
+ Cargando...
+ </text>
+ <scroll_list name="scripts_list">
+ <scroll_list.columns label="Tamaño (kb)" name="size"/>
+ <scroll_list.columns label="URLs" name="urls"/>
+ <scroll_list.columns label="Nombre del objeto" name="name"/>
+ <scroll_list.columns label="Propietario del objeto" name="owner"/>
+ <scroll_list.columns label="Parcela" name="parcel"/>
+ <scroll_list.columns label="Localización" name="location"/>
+ </scroll_list>
+ <button label="Actualizar la lista" name="refresh_list_btn"/>
+ <button label="Realzar" name="highlight_btn"/>
+ <button label="Devolver" name="return_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_side_tray.xml b/indra/newview/skins/default/xui/es/panel_side_tray.xml
index 1222f620f1..4e9834063b 100644
--- a/indra/newview/skins/default/xui/es/panel_side_tray.xml
+++ b/indra/newview/skins/default/xui/es/panel_side_tray.xml
@@ -2,25 +2,28 @@
<!-- Side tray cannot show background because it is always
partially on screen to hold tab buttons. -->
<side_tray name="sidebar">
+ <sidetray_tab description="Manejar la barra lateral." name="sidebar_openclose" tab_title="Barra lateral"/>
<sidetray_tab description="Base." name="sidebar_home" tab_title="Home">
<panel label="base" name="panel_home"/>
</sidetray_tab>
+ <sidetray_tab description="Edita tu perfil público y tus destacados." name="sidebar_me" tab_title="My Profile">
+ <panel_container name="panel_container">
+ <panel label="Yo" name="panel_me"/>
+ </panel_container>
+ </sidetray_tab>
<sidetray_tab description="Encuentra a tus amigos, contactos y gente que esté cerca." name="sidebar_people" tab_title="People">
<panel_container name="panel_container">
- <panel label="Información del grupo" name="panel_group_info_sidetray"/>
+ <panel label="Perfil del grupo" name="panel_group_info_sidetray"/>
<panel label="Residentes y objetos ignorados" name="panel_block_list_sidetray"/>
</panel_container>
</sidetray_tab>
<sidetray_tab description="Encontrar lugares donde ir o que ya visitaste." label="Lugares" name="sidebar_places" tab_title="Places">
<panel label="Lugares" name="panel_places"/>
</sidetray_tab>
- <sidetray_tab description="Edita tu perfil público y tus destacados." name="sidebar_me" tab_title="My Profile">
- <panel label="Yo" name="panel_me"/>
+ <sidetray_tab description="Mira tu inventario." name="sidebar_inventory" tab_title="My Inventory">
+ <panel label="Modificar el inventario" name="sidepanel_inventory"/>
</sidetray_tab>
<sidetray_tab description="Cambia tu apariencia y tu &apos;look&apos; actual." name="sidebar_appearance" tab_title="My Appearance">
<panel label="Modificar la apariencia" name="sidepanel_appearance"/>
</sidetray_tab>
- <sidetray_tab description="Mira tu inventario." name="sidebar_inventory" tab_title="My Inventory">
- <panel label="Modificar el inventario" name="sidepanel_inventory"/>
- </sidetray_tab>
</side_tray>
diff --git a/indra/newview/skins/default/xui/es/panel_status_bar.xml b/indra/newview/skins/default/xui/es/panel_status_bar.xml
index a3443aee25..d4404fd9b5 100644
--- a/indra/newview/skins/default/xui/es/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/es/panel_status_bar.xml
@@ -21,9 +21,11 @@
<panel.string name="buycurrencylabel">
[AMT] L$
</panel.string>
- <button label="" label_selected="" name="buycurrency" tool_tip="Mi saldo: pulsa para comprar más L$"/>
+ <button label="" label_selected="" name="buycurrency" tool_tip="Mi saldo"/>
+ <button label="Comprar L$" name="buyL" tool_tip="Pulsa para comprar más L$"/>
<text name="TimeText" tool_tip="Hora actual (Pacífico)">
- 12:00 AM
+ 24:00 AM PST
</text>
+ <button name="media_toggle_btn" tool_tip="Iniciar/Parar todos los media (música, vídeo, páginas web)"/>
<button name="volume_btn" tool_tip="Control general del volumen"/>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_teleport_history.xml b/indra/newview/skins/default/xui/es/panel_teleport_history.xml
index ff7cd5e723..a0ee30e8f6 100644
--- a/indra/newview/skins/default/xui/es/panel_teleport_history.xml
+++ b/indra/newview/skins/default/xui/es/panel_teleport_history.xml
@@ -4,6 +4,7 @@
<accordion_tab name="today" title="Hoy"/>
<accordion_tab name="yesterday" title="Ayer"/>
<accordion_tab name="2_days_ago" title="Hace 2 días"/>
+ 5
<accordion_tab name="3_days_ago" title="Hace 3 días"/>
<accordion_tab name="4_days_ago" title="Hace 4 días"/>
<accordion_tab name="5_days_ago" title="Hace 5 días"/>
@@ -11,4 +12,7 @@
<accordion_tab name="1_month_and_older" title="1 mes y más"/>
<accordion_tab name="6_months_and_older" title="6 y más meses"/>
</accordion>
+ <panel name="bottom_panel">
+ <button name="gear_btn" tool_tip="Ver más opciones"/>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_teleport_history_item.xml b/indra/newview/skins/default/xui/es/panel_teleport_history_item.xml
new file mode 100644
index 0000000000..10b37b6880
--- /dev/null
+++ b/indra/newview/skins/default/xui/es/panel_teleport_history_item.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="teleport_history_item">
+ <button name="profile_btn" tool_tip="Mostrar la información del ítem"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/es/sidepanel_appearance.xml b/indra/newview/skins/default/xui/es/sidepanel_appearance.xml
index da9f6bbcf1..0c7f63d662 100644
--- a/indra/newview/skins/default/xui/es/sidepanel_appearance.xml
+++ b/indra/newview/skins/default/xui/es/sidepanel_appearance.xml
@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Vestuarios" name="appearance panel">
<string name="No Outfit" value="No hay vestuario"/>
- <filter_editor label="Filtrar los vestuarios" name="Filter"/>
- <panel name="bottom_panel">
- <button name="options_gear_btn" tool_tip="Ver más opciones"/>
- <button name="newlook_btn" tool_tip="Añadir un vestuario nuevo"/>
- <dnd_button name="trash_btn" tool_tip="Quitar el ítem seleccionado"/>
- <button label="Ponerme" name="wear_btn"/>
+ <panel name="panel_currentlook">
+ <text name="currentlook_title">
+ (sin guardar)
+ </text>
</panel>
+ <filter_editor label="Filtrar los vestuarios" name="Filter"/>
</panel>
diff --git a/indra/newview/skins/default/xui/es/sidepanel_item_info.xml b/indra/newview/skins/default/xui/es/sidepanel_item_info.xml
index e5a132ce1f..0d2eb0ac35 100644
--- a/indra/newview/skins/default/xui/es/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/es/sidepanel_item_info.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="item properties" title="Propiedades del ítem del inventario">
+<panel name="item properties" title="Perfil del objeto">
<panel.string name="unknown">
(desconocidas)
</panel.string>
@@ -15,7 +15,8 @@
<panel.string name="acquiredDate">
[wkday,datetime,local][day,datetime,local] [mth,datetime,local] [year,datetime,local][hour,datetime,local]:[min,datetime,local]:[second,datetime,local]
</panel.string>
- <text name="title" value="Propiedades del ítem"/>
+ <text name="title" value="Perfil del objeto"/>
+ <text name="where" value="(Inventario)"/>
<panel label="">
<text name="LabelItemNameTitle">
Nombre:
@@ -37,34 +38,36 @@
<text name="LabelAcquiredDate">
Miér., 24 Mayo 2006 12:50:46
</text>
- <text name="OwnerLabel">
- Tú:
- </text>
- <check_box label="Editar" name="CheckOwnerModify"/>
- <check_box label="Copiar" name="CheckOwnerCopy"/>
- <check_box label="Revender" name="CheckOwnerTransfer"/>
- <text name="AnyoneLabel">
- Cualquiera:
- </text>
- <check_box label="Copiar" name="CheckEveryoneCopy"/>
- <text name="GroupLabel">
- Grupo:
- </text>
- <check_box label="Compartir" name="CheckShareWithGroup"/>
- <text name="NextOwnerLabel">
- El próximo propietario:
- </text>
- <check_box label="Editar" name="CheckNextOwnerModify"/>
- <check_box label="Copiar" name="CheckNextOwnerCopy"/>
- <check_box label="Revender" name="CheckNextOwnerTransfer"/>
+ <panel name="perms_inv">
+ <text name="perm_modify">
+ Tú puedes:
+ </text>
+ <check_box label="Modificar" name="CheckOwnerModify"/>
+ <check_box label="Copiarlo" name="CheckOwnerCopy"/>
+ <check_box label="Transferirlo" name="CheckOwnerTransfer"/>
+ <text name="AnyoneLabel">
+ Cualquiera:
+ </text>
+ <check_box label="Copiarlo" name="CheckEveryoneCopy"/>
+ <text name="GroupLabel">
+ Grupo:
+ </text>
+ <check_box label="Compartir" name="CheckShareWithGroup" tool_tip="Permite que todos los miembros del grupo compartan tus permisos de modificación en este objeto. Debes transferirlo para activar las restricciones según los roles."/>
+ <text name="NextOwnerLabel">
+ Próximo propietario:
+ </text>
+ <check_box label="Modificarlo" name="CheckNextOwnerModify"/>
+ <check_box label="Copiarlo" name="CheckNextOwnerCopy"/>
+ <check_box label="Transferirlo" name="CheckNextOwnerTransfer" tool_tip="El próximo propietario puede dar o revender este objeto"/>
+ </panel>
<check_box label="En venta" name="CheckPurchase"/>
<combo_box name="combobox sale copy">
<combo_box.item label="Copiar" name="Copy"/>
<combo_box.item label="Original" name="Original"/>
</combo_box>
- <spinner label="Precio:" name="Edit Cost"/>
- <text name="CurrencySymbol">
- L$
- </text>
+ <spinner label="Precio: L$" name="Edit Cost"/>
+ </panel>
+ <panel name="button_panel">
+ <button label="Cancelar" name="cancel_btn"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/es/sidepanel_task_info.xml b/indra/newview/skins/default/xui/es/sidepanel_task_info.xml
index a65a0d5e45..0cd3b40ca6 100644
--- a/indra/newview/skins/default/xui/es/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/es/sidepanel_task_info.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="object properties" title="Propiedades del objeto">
+<panel name="object properties" title="Perfil del objeto">
<panel.string name="text deed continued">
Transfeir
</panel.string>
@@ -36,84 +36,61 @@
<panel.string name="Sale Mixed">
Mixed Sale
</panel.string>
+ <text name="title" value="Perfil del objeto"/>
+ <text name="where" value="(en el mundo)"/>
<panel label="">
- <text name="Name:">
- Nombre:
- </text>
- <text name="Description:">
- Descripción:
- </text>
- <text name="Creator:">
+ <text name="CreatorNameLabel">
Creador:
</text>
- <text name="Owner:">
- Propietario:
+ <text name="Creator Name">
+ Erica Linden
</text>
- <text name="Group:">
+ <text name="Group_label">
Grupo:
</text>
- <button name="button set group" tool_tip="Elige un grupo con el que compartir los permisos de este objeto"/>
- <name_box initial_value="Cargando..." name="Group Name Proxy"/>
- <button label="Transfeir" label_selected="Transfeir" name="button deed" tool_tip="La transferencia entrega este objeto con los permisos del próximo propietario. Los objetos compartidos por el grupo pueden ser transferidos por un oficial del grupo."/>
- <check_box label="Compartir" name="checkbox share with group" tool_tip="Permite que todos los miembros del grupo compartan tus permisos de modificación en este objeto. Debes transferirlo para activar las restricciones según los roles."/>
- <text name="label click action">
- Al tocarlo:
- </text>
- <combo_box name="clickaction">
- <combo_box.item label="Tocarlo (por defecto)" name="Touch/grab(default)"/>
- <combo_box.item label="Sentarme en el objeto" name="Sitonobject"/>
- <combo_box.item label="Comprar el objeto" name="Buyobject"/>
- <combo_box.item label="Pagar al objeto" name="Payobject"/>
- <combo_box.item label="Abrir" name="Open"/>
- </combo_box>
- <check_box label="En venta:" name="checkbox for sale"/>
- <combo_box name="sale type">
- <combo_box.item label="Copiarlo" name="Copy"/>
- <combo_box.item label="Contenidos" name="Contents"/>
- <combo_box.item label="Original" name="Original"/>
- </combo_box>
- <spinner label="Precio: L$" name="Edit Cost"/>
- <check_box label="Mostrar en la búsqueda" name="search_check" tool_tip="Permitir que la gente vea este objetos en los resultados de la búsqueda"/>
- <panel name="perms_build">
+ <panel name="perms_inv">
<text name="perm_modify">
Puedes modificar este objeto
</text>
<text name="Anyone can:">
Cualquiera:
</text>
- <check_box label="Moverse" name="checkbox allow everyone move"/>
<check_box label="Copiarlo" name="checkbox allow everyone copy"/>
- <text name="Next owner can:">
+ <check_box label="Moverlo" name="checkbox allow everyone move"/>
+ <text name="GroupLabel">
+ Grupo:
+ </text>
+ <check_box label="Compartir" name="checkbox share with group" tool_tip="Permite que todos los miembros del grupo compartan tus permisos de modificación en este objeto. Debes transferirlo para activar las restricciones según los roles."/>
+ <text name="NextOwnerLabel">
Próximo propietario:
</text>
<check_box label="Modificarlo" name="checkbox next owner can modify"/>
<check_box label="Copiarlo" name="checkbox next owner can copy"/>
<check_box label="Transferirlo" name="checkbox next owner can transfer" tool_tip="El próximo propietario puede dar o revender este objeto"/>
- <text name="B:">
- B:
- </text>
- <text name="O:">
- O:
- </text>
- <text name="G:">
- G:
- </text>
- <text name="E:">
- E:
- </text>
- <text name="N:">
- N:
- </text>
- <text name="F:">
- F:
- </text>
</panel>
+ <check_box label="En venta" name="checkbox for sale"/>
+ <text name="B:">
+ B:
+ </text>
+ <text name="O:">
+ O:
+ </text>
+ <text name="G:">
+ G:
+ </text>
+ <text name="E:">
+ E:
+ </text>
+ <text name="N:">
+ N:
+ </text>
+ <text name="F:">
+ F:
+ </text>
</panel>
<panel name="button_panel">
<button label="Abrir" name="open_btn"/>
<button label="Pagar" name="pay_btn"/>
<button label="Comprar" name="buy_btn"/>
- <button label="Cancelar" name="cancel_btn"/>
- <button label="Guardar" name="save_btn"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml
index 4b96b7f31f..619094bbfa 100644
--- a/indra/newview/skins/default/xui/es/strings.xml
+++ b/indra/newview/skins/default/xui/es/strings.xml
@@ -1,9 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- This file contains strings that used to be hardcoded in the source.
It is only for those strings which do not belong in a floater.
- For example, the strings used in avatar chat bubbles, and strings
+ For example, the strings used in avatar chat bubbles, and strings
that are returned from one component and may appear in many places-->
<strings>
+ <string name="CAPITALIZED_APP_NAME">
+ SECOND LIFE
+ </string>
<string name="SUPPORT_SITE">
Portal de Soporte de Second Life
</string>
@@ -134,7 +137,7 @@
Pulsa para ver la información de este lugar
</string>
<string name="TooltipAgentUrl">
- Pulsa para ver el perfil de este residente
+ Pulsa para ver el perfil del Residente
</string>
<string name="TooltipGroupUrl">
Pulsa para ver la descripción de este grupo
@@ -185,9 +188,6 @@
<string name="BUTTON_DOCK">
Fijar
</string>
- <string name="BUTTON_UNDOCK">
- Soltar
- </string>
<string name="BUTTON_HELP">
Ver la Ayuda
</string>
@@ -212,9 +212,6 @@
<string name="AvatarNameWaiting">
(esperando)
</string>
- <string name="AvatarNameHippos">
- (hipopótamos)
- </string>
<string name="GroupNameNone">
(ninguno)
</string>
@@ -575,6 +572,9 @@
<string name="hang_up">
Desconectado del chat de voz
</string>
+ <string name="reconnect_nearby">
+ Vas a ser reconectado al chat de voz con los cercanos
+ </string>
<string name="ScriptQuestionCautionChatGranted">
&apos;[OBJECTNAME]&apos;, un objeto propiedad de &apos;[OWNERNAME]&apos;, localizado en [REGIONNAME] con la posición [REGIONPOS], ha recibido permiso para: [PERMISSIONS].
</string>
@@ -767,9 +767,6 @@
<string name="TeleportOffer">
Ofrecimiento de teleporte
</string>
- <string name="StartUpNotification">
- Llegó [%d] aviso nuevo mientras estabas ausente...
- </string>
<string name="StartUpNotifications">
Llegaron [%d] avisos nuevos mientras estabas ausente...
</string>
@@ -807,11 +804,13 @@
Pulsa ESC para salir de la vista subjetiva
</string>
<string name="InventoryNoMatchingItems">
- No se han encontrado tales ítems en el inventario.
+ No se han encontrado tales ítems en el inventario. Intenta con [secondlife:///app/search/groups &quot;Buscar&quot;].
+ </string>
+ <string name="FavoritesNoMatchingItems">
+ Arrastra aquí un hito para tenerlo en tus favoritos.
</string>
<string name="InventoryNoTexture">
- No tienes una copia de esta
-textura en tu inventario
+ No tienes en tu inventario una copia de esta textura
</string>
<string name="no_transfer" value="(no transferible)"/>
<string name="no_modify" value="(no modificable)"/>
@@ -1269,11 +1268,164 @@ textura en tu inventario
todos los estados que administras para [OWNER]
</string>
<string name="RegionInfoAllowedResidents">
- Residentes autorizados: ([ALLOWEDAGENTS], de un máx. de [MAXACCESS])
+ Resientes autorizados: ([ALLOWEDAGENTS], de un máx. de [MAXACCESS])
</string>
<string name="RegionInfoAllowedGroups">
Grupos autorizados: ([ALLOWEDGROUPS], de un máx. de [MAXACCESS])
</string>
+ <string name="ScriptLimitsParcelScriptMemory">
+ Memoria de los scripts de la parcela
+ </string>
+ <string name="ScriptLimitsParcelsOwned">
+ Parcelas listadas: [PARCELS]
+ </string>
+ <string name="ScriptLimitsMemoryUsed">
+ Memoria usada: [COUNT] kb de un máx de [MAX] kb; [AVAILABLE] kb disponibles
+ </string>
+ <string name="ScriptLimitsMemoryUsedSimple">
+ Memoria usada: [COUNT] kb
+ </string>
+ <string name="ScriptLimitsParcelScriptURLs">
+ URLs de los scripts de la parcela
+ </string>
+ <string name="ScriptLimitsURLsUsed">
+ URLs usadas: [COUNT] de un máx. de [MAX]; [AVAILABLE] disponibles
+ </string>
+ <string name="ScriptLimitsURLsUsedSimple">
+ URLs usadas: [COUNT]
+ </string>
+ <string name="ScriptLimitsRequestError">
+ Error al obtener la información
+ </string>
+ <string name="ScriptLimitsRequestNoParcelSelected">
+ No hay una parcela seleccionada
+ </string>
+ <string name="ScriptLimitsRequestWrongRegion">
+ Error: la información del script sólo está disponible en tu región actual
+ </string>
+ <string name="ScriptLimitsRequestWaiting">
+ Obteniendo la información...
+ </string>
+ <string name="ScriptLimitsRequestDontOwnParcel">
+ No tienes permiso para examinar esta parcela
+ </string>
+ <string name="SITTING_ON">
+ Sentado en
+ </string>
+ <string name="ATTACH_CHEST">
+ Tórax
+ </string>
+ <string name="ATTACH_HEAD">
+ Cabeza
+ </string>
+ <string name="ATTACH_LSHOULDER">
+ Hombro izquierdo
+ </string>
+ <string name="ATTACH_RSHOULDER">
+ Hombro derecho
+ </string>
+ <string name="ATTACH_LHAND">
+ Mano izq.
+ </string>
+ <string name="ATTACH_RHAND">
+ Mano der.
+ </string>
+ <string name="ATTACH_LFOOT">
+ Pie izq.
+ </string>
+ <string name="ATTACH_RFOOT">
+ Pie der.
+ </string>
+ <string name="ATTACH_BACK">
+ Anterior
+ </string>
+ <string name="ATTACH_PELVIS">
+ Pelvis
+ </string>
+ <string name="ATTACH_MOUTH">
+ Boca
+ </string>
+ <string name="ATTACH_CHIN">
+ Barbilla
+ </string>
+ <string name="ATTACH_LEAR">
+ Oreja izq.
+ </string>
+ <string name="ATTACH_REAR">
+ Oreja der.
+ </string>
+ <string name="ATTACH_LEYE">
+ Ojo izq.
+ </string>
+ <string name="ATTACH_REYE">
+ Ojo der.
+ </string>
+ <string name="ATTACH_NOSE">
+ Nariz
+ </string>
+ <string name="ATTACH_RUARM">
+ Brazo der.
+ </string>
+ <string name="ATTACH_RLARM">
+ Antebrazo der.
+ </string>
+ <string name="ATTACH_LUARM">
+ Brazo izq.
+ </string>
+ <string name="ATTACH_LLARM">
+ Antebrazo izq.
+ </string>
+ <string name="ATTACH_RHIP">
+ Cadera der.
+ </string>
+ <string name="ATTACH_RULEG">
+ Muslo der.
+ </string>
+ <string name="ATTACH_RLLEG">
+ Pantorrilla der.
+ </string>
+ <string name="ATTACH_LHIP">
+ Cadera izq.
+ </string>
+ <string name="ATTACH_LULEG">
+ Muslo izq.
+ </string>
+ <string name="ATTACH_LLLEG">
+ Pantorrilla izq.
+ </string>
+ <string name="ATTACH_BELLY">
+ Vientre
+ </string>
+ <string name="ATTACH_RPEC">
+ Pecho derecho
+ </string>
+ <string name="ATTACH_LPEC">
+ Pecho izquierdo
+ </string>
+ <string name="ATTACH_HUD_CENTER_2">
+ HUD: Centro 2
+ </string>
+ <string name="ATTACH_HUD_TOP_RIGHT">
+ HUD: arriba der.
+ </string>
+ <string name="ATTACH_HUD_TOP_CENTER">
+ HUD: arriba centro
+ </string>
+ <string name="ATTACH_HUD_TOP_LEFT">
+ HUD: arriba izq.
+ </string>
+ <string name="ATTACH_HUD_CENTER_1">
+ HUD: Centro 1
+ </string>
+ <string name="ATTACH_HUD_BOTTOM_LEFT">
+ HUD: abajo izq.
+ </string>
+ <string name="ATTACH_HUD_BOTTOM">
+ HUD: abajo
+ </string>
+ <string name="ATTACH_HUD_BOTTOM_RIGHT">
+ HUD: abajo der.
+ </string>
<string name="CursorPos">
Línea [LINE], Columna [COLUMN]
</string>
@@ -1287,7 +1439,7 @@ textura en tu inventario
(por el nombre)
</string>
<string name="MuteAgent">
- (residente)
+ (Residente)
</string>
<string name="MuteObject">
(objeto)
@@ -1318,6 +1470,15 @@ textura en tu inventario
<string name="ClassifiedUpdateAfterPublish">
(se actualizará tras la publicación)
</string>
+ <string name="NoPicksClassifiedsText">
+ No has creado destacados ni clasificados. Pulsa el botón Más para crear uno.
+ </string>
+ <string name="NoAvatarPicksClassifiedsText">
+ El usuario no tiene clasificados ni destacados
+ </string>
+ <string name="PicksClassifiedsLoadingText">
+ Cargando...
+ </string>
<string name="MultiPreviewTitle">
Vista previa
</string>
@@ -1394,6 +1555,9 @@ textura en tu inventario
Extensión de archivo desconocida [.%s]
Se esperaba .wav, .tga, .bmp, .jpg, .jpeg, o .bvh
</string>
+ <string name="MuteObject2">
+ Ignorar
+ </string>
<string name="AddLandmarkNavBarMenu">
Guardarme este hito...
</string>
@@ -1666,39 +1830,15 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Attached Earlobes">
Lóbulos cortos
</string>
- <string name="Back Bangs">
- Back Bangs
- </string>
- <string name="Back Bangs Down">
- Back Bangs Down
- </string>
- <string name="Back Bangs Up">
- Back Bangs Up
- </string>
<string name="Back Fringe">
Nuca: largo
</string>
- <string name="Back Hair">
- Back Hair
- </string>
- <string name="Back Hair Down">
- Back Hair Down
- </string>
- <string name="Back Hair Up">
- Back Hair Up
- </string>
<string name="Baggy">
Marcadas
</string>
<string name="Bangs">
Bangs
</string>
- <string name="Bangs Down">
- Bangs Down
- </string>
- <string name="Bangs Up">
- Bangs Up
- </string>
<string name="Beady Eyes">
Ojos pequeños
</string>
@@ -1711,9 +1851,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Big Butt">
Culo grande
</string>
- <string name="Big Eyeball">
- Big Eyeball
- </string>
<string name="Big Hair Back">
Pelo: moño
</string>
@@ -1888,9 +2025,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Corner Down">
Hacia abajo
</string>
- <string name="Corner Normal">
- Corner Normal
- </string>
<string name="Corner Up">
Hacia arriba
</string>
@@ -1900,9 +2034,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Crooked Nose">
Nariz torcida
</string>
- <string name="Cropped Hair">
- Cropped Hair
- </string>
<string name="Cuff Flare">
Acampanado
</string>
@@ -1921,15 +2052,9 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Default Heels">
Tacones por defecto
</string>
- <string name="Default Toe">
- Default Toe
- </string>
<string name="Dense">
Densas
</string>
- <string name="Dense hair">
- Dense hair
- </string>
<string name="Double Chin">
Mucha papada
</string>
@@ -1975,9 +2100,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Eye Spacing">
Ojos: separación
</string>
- <string name="Eyeball Size">
- Eyeball Size
- </string>
<string name="Eyebrow Arc">
Cejas: arco
</string>
@@ -2002,36 +2124,9 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Eyeliner Color">
Contorno de ojos: color
</string>
- <string name="Eyes Back">
- Eyes Back
- </string>
<string name="Eyes Bugged">
Eyes Bugged
</string>
- <string name="Eyes Forward">
- Eyes Forward
- </string>
- <string name="Eyes Long Head">
- Eyes Long Head
- </string>
- <string name="Eyes Shear Left Up">
- Ojos arriba - izq.
- </string>
- <string name="Eyes Shear Right Up">
- Ojos arriba - der.
- </string>
- <string name="Eyes Short Head">
- Eyes Short Head
- </string>
- <string name="Eyes Spread">
- Eyes Spread
- </string>
- <string name="Eyes Sunken">
- Eyes Sunken
- </string>
- <string name="Eyes Together">
- Eyes Together
- </string>
<string name="Face Shear">
Cara: simetría
</string>
@@ -2041,30 +2136,9 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Far Set Eyes">
Ojos separados
</string>
- <string name="Fat">
- Fat
- </string>
- <string name="Fat Head">
- Fat Head
- </string>
<string name="Fat Lips">
Prominentes
</string>
- <string name="Fat Lower">
- Fat Lower
- </string>
- <string name="Fat Lower Lip">
- Fat Lower Lip
- </string>
- <string name="Fat Torso">
- Fat Torso
- </string>
- <string name="Fat Upper">
- Fat Upper
- </string>
- <string name="Fat Upper Lip">
- Fat Upper Lip
- </string>
<string name="Female">
Mujer
</string>
@@ -2101,24 +2175,9 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Freckles">
Pecas
</string>
- <string name="Front Bangs Down">
- Front Bangs Down
- </string>
- <string name="Front Bangs Up">
- Front Bangs Up
- </string>
<string name="Front Fringe">
Flequillo
</string>
- <string name="Front Hair">
- Front Hair
- </string>
- <string name="Front Hair Down">
- Front Hair Down
- </string>
- <string name="Front Hair Up">
- Front Hair Up
- </string>
<string name="Full Back">
Sin cortar
</string>
@@ -2392,9 +2451,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Long arms">
Brazos largos
</string>
- <string name="Longcuffs">
- Longcuffs
- </string>
<string name="Loose Pants">
Pantalón suelto
</string>
@@ -2557,9 +2613,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="No Eyeshadow">
Menos
</string>
- <string name="No Heels">
- No Heels
- </string>
<string name="No Lipgloss">
Sin brillo
</string>
@@ -2617,9 +2670,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Nostril Width">
Ventana: ancho
</string>
- <string name="Old">
- Old
- </string>
<string name="Opaque">
Opaco
</string>
@@ -2719,9 +2769,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Pointy Heels">
De aguja
</string>
- <string name="Pointy Toe">
- Pointy Toe
- </string>
<string name="Ponytail">
Cola de caballo
</string>
@@ -2746,15 +2793,9 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Red Hair">
Pelirrojo
</string>
- <string name="Red Skin">
- Red Skin
- </string>
<string name="Regular">
Regular
</string>
- <string name="Regular Muscles">
- Regular Muscles
- </string>
<string name="Right Part">
Raya: der.
</string>
@@ -2764,9 +2805,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Round">
Redondear
</string>
- <string name="Round Forehead">
- Round Forehead
- </string>
<string name="Ruddiness">
Rubicundez
</string>
@@ -2779,24 +2817,12 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Saddle Bags">
Cartucheras
</string>
- <string name="Saddlebags">
- Cartucheras
- </string>
- <string name="Scrawny">
- Scrawny
- </string>
<string name="Scrawny Leg">
Piernas flacas
</string>
<string name="Separate">
Más ancho
</string>
- <string name="Shading">
- Shading
- </string>
- <string name="Shadow hair">
- Shadow hair
- </string>
<string name="Shallow">
Sin marcar
</string>
@@ -2809,15 +2835,9 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Shear Front">
Shear Front
</string>
- <string name="Shear Left">
- Shear Left
- </string>
<string name="Shear Left Up">
Arriba - izq.
</string>
- <string name="Shear Right">
- Shear Right
- </string>
<string name="Shear Right Up">
Arriba - der.
</string>
@@ -2878,15 +2898,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Shoulders">
Hombros
</string>
- <string name="Side Bangs">
- Side Bangs
- </string>
- <string name="Side Bangs Down">
- Side Bangs Down
- </string>
- <string name="Side Bangs Up">
- Side Bangs Up
- </string>
<string name="Side Fringe">
Lados: franja
</string>
@@ -2902,9 +2913,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Sides Hair Up">
Subir lados del pelo
</string>
- <string name="Skinny">
- Skinny
- </string>
<string name="Skinny Neck">
Cuello estrecho
</string>
@@ -2953,9 +2961,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Socks Length">
Calcetines: largo
</string>
- <string name="Some">
- Some
- </string>
<string name="Soulpatch">
Perilla
</string>
@@ -2974,9 +2979,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Squash Head">
Cabeza aplastada
</string>
- <string name="Squash/Stretch Head">
- Squash/Stretch Head
- </string>
<string name="Stretch Head">
Cabeza estirada
</string>
@@ -2995,18 +2997,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Sweep Forward">
Sweep Forward
</string>
- <string name="Swept Back">
- Swept Back
- </string>
- <string name="Swept Back Hair">
- Swept Back Hair
- </string>
- <string name="Swept Forward">
- Swept Forward
- </string>
- <string name="Swept Forward Hair">
- Swept Forward Hair
- </string>
<string name="Tall">
Alta
</string>
@@ -3025,9 +3015,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Thick Toe">
Empeine alto
</string>
- <string name="Thickness">
- Thickness
- </string>
<string name="Thin">
Delgadas
</string>
@@ -3058,12 +3045,6 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="Tight Sleeves">
Puños ceñidos
</string>
- <string name="Tilt Left">
- Tilt Left
- </string>
- <string name="Tilt Right">
- Tilt Right
- </string>
<string name="Toe Shape">
Punta: forma
</string>
@@ -3205,6 +3186,21 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="IM_moderator_label">
(Moderador)
</string>
+ <string name="started_call">
+ Llamada de voz iniciada
+ </string>
+ <string name="joined_call">
+ Entrando a la llamada de voz
+ </string>
+ <string name="ringing-im">
+ Haciendo la llamada de voz...
+ </string>
+ <string name="connected-im">
+ Conectado, pulsa Colgar para salir
+ </string>
+ <string name="hang_up-im">
+ Se colgó la llamada de voz
+ </string>
<string name="only_user_message">
Usted es el único usuario en esta sesión.
</string>
@@ -3214,6 +3210,12 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="invite_message">
Pulse el botón [BUTTON NAME] para aceptar/conectar este chat de voz.
</string>
+ <string name="muted_message">
+ Has ignorado a este residente. Enviándole un mensaje, automáticamente dejarás de ignorarle.
+ </string>
+ <string name="generic">
+ Error en lo solicitado, por favor, inténtalo más tarde.
+ </string>
<string name="generic_request_error">
Error al hacer lo solicitado; por favor, inténtelo más tarde.
</string>
@@ -3232,19 +3234,37 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="not_a_mod_error">
Usted no es un moderador de la sesión.
</string>
+ <string name="muted">
+ Un moderador del grupo ha desactivado tu chat de texto.
+ </string>
<string name="muted_error">
Un moderador del grupo le ha desactivado el chat de texto.
</string>
<string name="add_session_event">
No se ha podido añadir usuarios a la sesión de chat con [RECIPIENT].
</string>
+ <string name="message">
+ No se ha podido enviar tu mensaje a la sesión de chat con [RECIPIENT].
+ </string>
<string name="message_session_event">
No se ha podido enviar su mensaje a la sesión de chat con [RECIPIENT].
</string>
+ <string name="mute">
+ Error moderando.
+ </string>
+ <string name="removed">
+ Se te ha sacado del grupo.
+ </string>
<string name="removed_from_group">
Ha sido eliminado del grupo.
</string>
<string name="close_on_no_ability">
Usted ya no tendrá más la capacidad de estar en la sesión de chat.
</string>
+ <string name="unread_chat_single">
+ [SOURCES] ha dicho algo nuevo
+ </string>
+ <string name="unread_chat_multiple">
+ [SOURCES] ha dicho algo nuevo
+ </string>
</strings>
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 e7e2d8a0ee..d0e96583f0 100644
--- a/indra/newview/skins/default/xui/fr/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/fr/floater_about_land.xml
@@ -109,7 +109,7 @@
<text name="Selling with no objects in parcel.">
Objets non inclus dans la vente
</text>
- <button label="Annuler la vente du terrain" label_selected="Annuler la vente du terrain" left="275" name="Cancel Land Sale" width="165"/>
+ <button label="Annuler la vente du terrain" label_selected="Annuler la vente du terrain" name="Cancel Land Sale"/>
<text name="Claimed:">
Acquis :
</text>
@@ -312,17 +312,17 @@ Seules les parcelles de grande taille peuvent apparaître dans la recherche.
</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 left="152" name="allow_label2">
+ <text name="allow_label2">
Construire :
</text>
<check_box label="Tous" left="285" name="edit objects check"/>
<check_box label="Groupe" left="395" name="edit group objects check"/>
- <text left="152" name="allow_label3" width="150">
+ <text name="allow_label3">
Laisser entrer des objets :
</text>
<check_box label="Tous" left="285" name="all object entry check"/>
<check_box label="Groupe" left="395" name="group object entry check"/>
- <text left="152" name="allow_label4">
+ <text name="allow_label4">
Exécuter des scripts :
</text>
<check_box label="Tous" left="285" name="check other scripts"/>
@@ -367,11 +367,11 @@ Seules les parcelles de grande taille peuvent apparaître dans la recherche.
Photo :
</text>
<texture_picker bottom="-319" label="" name="snapshot_ctrl" tool_tip="Cliquez pour sélectionner une image"/>
- <text bottom="-323" name="landing_point">
+ <text name="landing_point">
Lieu d&apos;arrivée : [LANDING]
</text>
- <button bottom="-323" label="Définir" label_selected="Définir" name="Set" tool_tip="Définit le point d&apos;arrivée des visiteurs. Définit l&apos;emplacement de votre avatar sur ce terrain."/>
- <button bottom="-323" label="Annuler" label_selected="Annuler" name="Clear" tool_tip="Effacer le lieu d&apos;arrivée"/>
+ <button label="Définir" label_selected="Définir" name="Set" tool_tip="Définit le point d&apos;arrivée des visiteurs. Définit l&apos;emplacement de votre avatar sur ce terrain."/>
+ <button label="Annuler" label_selected="Annuler" name="Clear" tool_tip="Effacer le lieu d&apos;arrivée"/>
<text bottom="-343" name="Teleport Routing: ">
Règles de téléportation :
</text>
@@ -380,7 +380,7 @@ Seules les parcelles de grande taille peuvent apparaître dans la recherche.
<combo_box.item label="Lieu d&apos;arrivée fixe" name="LandingPoint"/>
<combo_box.item label="Lieu d&apos;arrivée libre" name="Anywhere"/>
</combo_box>
- </panel>
+ </panel>
<panel label="MÉDIA" name="land_media_panel">
<text name="with media:" width="85">
Type :
diff --git a/indra/newview/skins/default/xui/fr/floater_bulk_perms.xml b/indra/newview/skins/default/xui/fr/floater_bulk_perms.xml
index ecd9dd0863..241cf1af09 100644
--- a/indra/newview/skins/default/xui/fr/floater_bulk_perms.xml
+++ b/indra/newview/skins/default/xui/fr/floater_bulk_perms.xml
@@ -4,7 +4,7 @@
La sélection contient des contenus non modifiables.
</floater.string>
<floater.string name="status_text">
- Permissions paramétrées sur [NAME]
+ Droits paramétrés sur [NAME]
</floater.string>
<floater.string name="start_text">
Demande de changement des droits lancée...
@@ -33,7 +33,7 @@
<button label="√ Tout" label_selected="Tout" name="check_all"/>
<button label="Effacer" label_selected="Aucun" name="check_none"/>
<text name="newperms">
- Nouvelles permissions
+ Nouveaux droits
</text>
<text name="GroupLabel">
Groupe :
diff --git a/indra/newview/skins/default/xui/fr/floater_camera.xml b/indra/newview/skins/default/xui/fr/floater_camera.xml
index 309c93cf3b..558551b649 100644
--- a/indra/newview/skins/default/xui/fr/floater_camera.xml
+++ b/indra/newview/skins/default/xui/fr/floater_camera.xml
@@ -9,6 +9,18 @@
<floater.string name="move_tooltip">
Déplacer la caméra vers le haut et le bas, la gauche et la droite
</floater.string>
+ <floater.string name="orbit_mode_title">
+ Faire tourner
+ </floater.string>
+ <floater.string name="pan_mode_title">
+ Faire un panoramique
+ </floater.string>
+ <floater.string name="avatar_view_mode_title">
+ Préréglages
+ </floater.string>
+ <floater.string name="free_mode_title">
+ Voir l&apos;objet
+ </floater.string>
<panel name="controls">
<joystick_track name="cam_track_stick" tool_tip="Déplacer la caméra vers le haut et le bas, la gauche et la droite"/>
<panel name="zoom" tool_tip="Zoomer en direction du point central">
@@ -25,7 +37,7 @@
<panel name="buttons">
<button label="" name="orbit_btn" tool_tip="Faire tourner la caméra"/>
<button label="" name="pan_btn" tool_tip="Faire un panoramique"/>
- <button label="" name="avatarview_btn" tool_tip="Vue subjective"/>
+ <button label="" name="avatarview_btn" tool_tip="Préréglages"/>
<button label="" name="freecamera_btn" tool_tip="Voir l&apos;objet"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_customize.xml b/indra/newview/skins/default/xui/fr/floater_customize.xml
index 82b54aeffc..0343ff0014 100644
--- a/indra/newview/skins/default/xui/fr/floater_customize.xml
+++ b/indra/newview/skins/default/xui/fr/floater_customize.xml
@@ -483,7 +483,7 @@
<button label="Enlever" label_selected="Enlever" name="Take Off"/>
<button label="Enregistrer" label_selected="Enregistrer" name="Save"/>
<button label="Enregistrer sous..." label_selected="Enregistrer sous..." name="Save As"/>
- <button label="Annuler modification" label_selected="Annuler modification" name="Revert"/>
+ <button label="Rétablir" label_selected="Rétablir" name="Revert"/>
</panel>
<panel label="Alpha" name="Alpha">
<text name="title">
@@ -519,7 +519,7 @@
<button label="Enlever" label_selected="Enlever" name="Take Off"/>
<button label="Enregistrer" label_selected="Enregistrer" name="Save"/>
<button label="Enregistrer sous..." label_selected="Enregistrer sous..." name="Save As"/>
- <button label="Annuler modification" label_selected="Annuler modification" name="Revert"/>
+ <button label="Rétablir" label_selected="Rétablir" name="Revert"/>
</panel>
</tab_container>
<scroll_container left="251" name="panel_container"/>
diff --git a/indra/newview/skins/default/xui/fr/floater_event.xml b/indra/newview/skins/default/xui/fr/floater_event.xml
index 02192c65ec..b005ce3b36 100644
--- a/indra/newview/skins/default/xui/fr/floater_event.xml
+++ b/indra/newview/skins/default/xui/fr/floater_event.xml
@@ -9,6 +9,18 @@
<floater.string name="dont_notify">
Ne pas prévenir
</floater.string>
+ <floater.string name="moderate">
+ Modéré
+ </floater.string>
+ <floater.string name="adult">
+ Adulte
+ </floater.string>
+ <floater.string name="general">
+ Général
+ </floater.string>
+ <floater.string name="unknown">
+ Inconnu
+ </floater.string>
<layout_stack name="layout">
<layout_panel name="profile_stack">
<text name="event_name">
@@ -21,12 +33,21 @@
Organisé par :
</text>
<text initial_value="(récupération en cours)" name="event_runby"/>
+ <text name="event_date_label">
+ Date :
+ </text>
<text name="event_date">
10/10/2010
</text>
+ <text name="event_duration_label">
+ Durée :
+ </text>
<text name="event_duration">
1 heure
</text>
+ <text name="event_covercharge_label">
+ Prix :
+ </text>
<text name="event_cover">
Gratuit
</text>
diff --git a/indra/newview/skins/default/xui/fr/floater_lagmeter.xml b/indra/newview/skins/default/xui/fr/floater_lagmeter.xml
index 20dffbbbc8..39a861d8bd 100644
--- a/indra/newview/skins/default/xui/fr/floater_lagmeter.xml
+++ b/indra/newview/skins/default/xui/fr/floater_lagmeter.xml
@@ -25,16 +25,16 @@
Normal, fenêtre en arrière-plan
</floater.string>
<floater.string name="client_frame_time_critical_msg">
- Taux de défilement client ci-dessous [CLIENT_FRAME_RATE_CRITICAL]
+ Taux de défilement [CLIENT_FRAME_RATE_CRITICAL]
</floater.string>
<floater.string name="client_frame_time_warning_msg">
- Taux de défilement client entre [CLIENT_FRAME_RATE_CRITICAL] et [CLIENT_FRAME_RATE_WARNING]
+ Taux de défilement entre [CLIENT_FRAME_RATE_CRITICAL] et [CLIENT_FRAME_RATE_WARNING]
</floater.string>
<floater.string name="client_frame_time_normal_msg">
Normal
</floater.string>
<floater.string name="client_draw_distance_cause_msg">
- Cause possible : la limite d&apos;affichage est trop élevée
+ Cause possible : limite d&apos;affichage trop élevée
</floater.string>
<floater.string name="client_texture_loading_cause_msg">
Cause possible : images en cours de chargement
@@ -43,7 +43,7 @@
Cause possible : trop d&apos;images en mémoire
</floater.string>
<floater.string name="client_complex_objects_cause_msg">
- Cause possible : trop d&apos;objets complexes dans la scène
+ Cause possible : trop d&apos;objets complexes
</floater.string>
<floater.string name="network_text_msg">
Réseau
@@ -70,10 +70,10 @@
300
</floater.string>
<floater.string name="network_ping_critical_msg">
- Temps de connexion ping supérieur à [NETWORK_PING_CRITICAL] ms
+ Connexion ping > [NETWORK_PING_CRITICAL] ms
</floater.string>
<floater.string name="network_ping_warning_msg">
- Temps de connexion ping entre [NETWORK_PING_WARNING] et [NETWORK_PING_CRITICAL] ms
+ Connexion ping entre [NETWORK_PING_WARNING] et [NETWORK_PING_CRITICAL] ms
</floater.string>
<floater.string name="network_packet_loss_cause_msg">
Mauvaise connexion possible ou réglage de la bande passante trop élevé.
@@ -94,10 +94,10 @@
20
</floater.string>
<floater.string name="server_frame_time_critical_msg">
- Taux de défilement du simulateur au dessous de [SERVER_FRAME_RATE_CRITICAL]
+ Défilement du simulateur &lt; [SERVER_FRAME_RATE_CRITICAL]
</floater.string>
<floater.string name="server_frame_time_warning_msg">
- Taux de défilement du simulateur entre [SERVER_FRAME_RATE_CRITICAL] et [SERVER_FRAME_RATE_WARNING]
+ Défilement simulateur entre [SERVER_FRAME_RATE_CRITICAL] et [SERVER_FRAME_RATE_WARNING]
</floater.string>
<floater.string name="server_frame_time_normal_msg">
Normal
@@ -112,7 +112,7 @@
Cause possible : trop de trafic réseau
</floater.string>
<floater.string name="server_agent_cause_msg">
- Cause possible : trop de personnes en mouvement dans la région
+ Cause possible : trop de personnes en mouvement
</floater.string>
<floater.string name="server_images_cause_msg">
Cause possible : trop de calculs d&apos;images
diff --git a/indra/newview/skins/default/xui/fr/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/fr/floater_live_lsleditor.xml
index 52b1a16bbc..7647452e91 100644
--- a/indra/newview/skins/default/xui/fr/floater_live_lsleditor.xml
+++ b/indra/newview/skins/default/xui/fr/floater_live_lsleditor.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="script ed float" title="SCRIPT : NOUVEAU SCRIPT">
<floater.string name="not_allowed">
- Ce script ne peut pas être copié, visualisé ou modifié. Pour visualiser ou modifier un script à l&apos;intérieur d&apos;un objet, vous devez avoir les permissions requises.
+ Ce script ne peut pas être copié, visualisé ou modifié. Pour visualiser ou modifier un script à l&apos;intérieur d&apos;un objet, vous devez avoir les droits requis.
</floater.string>
<floater.string name="script_running">
Exécution en cours
@@ -9,7 +9,7 @@
<floater.string name="Title">
SCRIPT : [NAME]
</floater.string>
- <button label="Réinitialiser" label_selected="Réinitialiser" left="390" name="Reset" width="100"/>
- <check_box initial_value="true" label="Exécution en cours" left="4" name="running"/>
- <check_box initial_value="true" label="Mono" left_delta="160" name="mono"/>
+ <button label="Réinitialiser" label_selected="Réinitialiser" name="Reset"/>
+ <check_box initial_value="true" label="Exécution en cours" name="running"/>
+ <check_box initial_value="true" label="Mono" name="mono"/>
</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_moveview.xml b/indra/newview/skins/default/xui/fr/floater_moveview.xml
index 0e8887bb96..fac569557e 100644
--- a/indra/newview/skins/default/xui/fr/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/fr/floater_moveview.xml
@@ -18,6 +18,15 @@
<string name="fly_back_tooltip">
Voler vers l&apos;arrière (appuyer sur la flèche vers le bas ou S)
</string>
+ <string name="walk_title">
+ Marcher
+ </string>
+ <string name="run_title">
+ Courir
+ </string>
+ <string name="fly_title">
+ Voler
+ </string>
<panel name="panel_actions">
<button label="" label_selected="" name="turn left btn" tool_tip="Tourner à gauche (appuyer sur la flèche de gauche ou sur A)"/>
<button label="" label_selected="" name="turn right btn" tool_tip="Tourner à droite (appuyer sur la flèche de droite ou sur D)"/>
@@ -30,6 +39,5 @@
<button label="" name="mode_walk_btn" tool_tip="Mode marche"/>
<button label="" name="mode_run_btn" tool_tip="Mode course"/>
<button label="" name="mode_fly_btn" tool_tip="Mode vol"/>
- <button label="Atterrir" name="stop_fly_btn" tool_tip="Atterrir"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/fr/floater_nearby_chat.xml b/indra/newview/skins/default/xui/fr/floater_nearby_chat.xml
index 72775169cb..a59253a746 100644
--- a/indra/newview/skins/default/xui/fr/floater_nearby_chat.xml
+++ b/indra/newview/skins/default/xui/fr/floater_nearby_chat.xml
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="nearby_chat" title="CHAT PRÈS DE VOUS"/>
+<floater name="nearby_chat" title="CHAT PRÈS DE MOI"/>
diff --git a/indra/newview/skins/default/xui/fr/floater_preview_texture.xml b/indra/newview/skins/default/xui/fr/floater_preview_texture.xml
index dc40d31a79..433dc944cf 100644
--- a/indra/newview/skins/default/xui/fr/floater_preview_texture.xml
+++ b/indra/newview/skins/default/xui/fr/floater_preview_texture.xml
@@ -19,7 +19,7 @@
<combo_item name="Unconstrained">
Sans contraintes
</combo_item>
- <combo_item name="1:1" tool_tip="Logo du groupe ou profil dans le monde physique">
+ <combo_item name="1:1" tool_tip="Logo du groupe ou profil dans la vie réelle">
1:1
</combo_item>
<combo_item name="4:3" tool_tip="Profil [SECOND_LIFE]">
diff --git a/indra/newview/skins/default/xui/fr/floater_snapshot.xml b/indra/newview/skins/default/xui/fr/floater_snapshot.xml
index 74738b7e31..f01d865f29 100644
--- a/indra/newview/skins/default/xui/fr/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/fr/floater_snapshot.xml
@@ -62,8 +62,8 @@
<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="Contraindre les proportions" name="keep_aspect_check"/>
- <check_box label="Arrêt sur image (plein écran)" name="freeze_frame_check"/>
+ <check_box label="Conserver les proportions" name="keep_aspect_check"/>
+ <check_box label="Figer l'image (plein écran)" name="freeze_frame_check"/>
<button label="Rafraîchir" name="new_snapshot_btn"/>
<check_box label="Rafraîchissement automatique" name="auto_snapshot_check"/>
<button label="Enregistrer ([AMOUNT] L$)" name="upload_btn" width="118"/>
diff --git a/indra/newview/skins/default/xui/fr/floater_tools.xml b/indra/newview/skins/default/xui/fr/floater_tools.xml
index 3488ae15d1..64722ff1a7 100644
--- a/indra/newview/skins/default/xui/fr/floater_tools.xml
+++ b/indra/newview/skins/default/xui/fr/floater_tools.xml
@@ -179,9 +179,9 @@
<text name="Group:">
Groupe :
</text>
- <button label="Définir..." label_selected="Définir..." name="button set group" tool_tip="Choisissez un groupe pour partager les permissions de cet objet"/>
+ <button label="Définir..." label_selected="Définir..." name="button set group" tool_tip="Choisissez un groupe pour partager les droits de cet objet"/>
<name_box initial_value="Chargement..." name="Group Name Proxy"/>
- <button label="Céder" label_selected="Céder" name="button deed" tool_tip="En cédant un objet, vous donnez aussi les permissions au prochain propriétaire. Seul un officier peut céder les objets d&apos;un groupe."/>
+ <button label="Céder" label_selected="Céder" name="button deed" tool_tip="En cédant un objet, vous donnez aussi les droits au prochain propriétaire. Seul un officier peut céder les objets d&apos;un groupe."/>
<check_box label="Partager" name="checkbox share with group" tool_tip="Autorisez tous les membres du groupe choisi à utiliser et à partager vos droits pour cet objet. Pour activer les restrictions de rôles, vous devez d&apos;abord cliquer sur Transférer."/>
<text name="label click action">
Cliquer pour :
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 54ba2ad3e5..1a7bc228fa 100644
--- a/indra/newview/skins/default/xui/fr/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/fr/floater_voice_controls.xml
@@ -16,6 +16,9 @@
Il n&apos;y a personne près de vous avec le chat vocal activé
</string>
<layout_stack name="my_call_stack">
+ <layout_panel name="my_panel">
+ <text name="user_text" value="Mon avatar :"/>
+ </layout_panel>
<layout_panel name="leave_call_btn_panel">
<button label="Quitter l&apos;appel" name="leave_call_btn"/>
</layout_panel>
diff --git a/indra/newview/skins/default/xui/fr/floater_water.xml b/indra/newview/skins/default/xui/fr/floater_water.xml
index 1a74017330..6d697b40d3 100644
--- a/indra/newview/skins/default/xui/fr/floater_water.xml
+++ b/indra/newview/skins/default/xui/fr/floater_water.xml
@@ -10,7 +10,7 @@
<button label="Enregistrer" label_selected="Enregistrer" left_delta="75" name="WaterSavePreset" width="75"/>
<button label="Supprimer" label_selected="Supprimer" left_delta="80" name="WaterDeletePreset"/>
<tab_container name="Water Tabs">
- <panel label="Paramètres" name="Settings">
+ <panel label="PARAMÈTRES" name="Settings">
<text name="BHText">
Couleur du brouillard dans l&apos;eau
</text>
@@ -43,7 +43,7 @@
Multiplicateur de flou
</text>
</panel>
- <panel label="Image" name="Waves">
+ <panel label="IMAGE" name="Waves">
<text name="BHText">
Direction grande vague
</text>
diff --git a/indra/newview/skins/default/xui/fr/floater_windlight_options.xml b/indra/newview/skins/default/xui/fr/floater_windlight_options.xml
index d92fadd048..9f93302b71 100644
--- a/indra/newview/skins/default/xui/fr/floater_windlight_options.xml
+++ b/indra/newview/skins/default/xui/fr/floater_windlight_options.xml
@@ -6,9 +6,9 @@
<button label="Nouveau" label_selected="Nouveau" name="WLNewPreset"/>
<button label="Enregistrer" label_selected="Enregistrer" left_delta="75" name="WLSavePreset" width="75"/>
<button label="Supprimer" label_selected="Supprimer" left_delta="80" name="WLDeletePreset"/>
- <button label="Éditeur du cycle du jour" label_selected="Éditeur du cycle du jour" left_pad="20" left_delta="95" name="WLDayCycleMenuButton" width="150"/>
+ <button label="Éditeur du cycle du jour" label_selected="Éditeur du cycle du jour" left_delta="95" left_pad="20" name="WLDayCycleMenuButton" width="150"/>
<tab_container name="WindLight Tabs" width="706">
- <panel label="Atmosphère" name="Atmosphere">
+ <panel label="ATMOSPHÈRE" name="Atmosphere">
<text name="BHText">
Bleu de l&apos;horizon
</text>
@@ -62,7 +62,7 @@
</text>
<button label="?" name="WLMaxAltitudeHelp"/>
</panel>
- <panel label="Éclairage" name="Lighting">
+ <panel label="LUMIÈRE" name="Lighting">
<text name="SLCText">
Couleur soleil/lune
</text>
@@ -118,7 +118,7 @@
</text>
<button label="?" name="WLStarBrightnessHelp"/>
</panel>
- <panel label="Nuages" name="Clouds">
+ <panel label="NUAGES" name="Clouds">
<text name="WLCloudColorText">
Couleur des nuages
</text>
diff --git a/indra/newview/skins/default/xui/fr/floater_world_map.xml b/indra/newview/skins/default/xui/fr/floater_world_map.xml
index 19ea764ae8..addbaf2199 100644
--- a/indra/newview/skins/default/xui/fr/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/fr/floater_world_map.xml
@@ -1,57 +1,49 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="worldmap" title="CARTE DU MONDE">
- <panel name="objects_mapview" width="542"/>
<panel name="layout_panel_1">
<text name="events_label">
Légende
</text>
</panel>
<panel>
- <button label="Afficher mon emplacement" label_selected="Afficher mon emplacement" name="Show My Location" tool_tip="Centrer la carte sur l&apos;emplacement de mon avatar" width="165"/>
+ <button label="Afficher mon emplacement" label_selected="Afficher mon emplacement" name="Show My Location" tool_tip="Centrer la carte sur l&apos;emplacement de mon avatar"/>
<text name="me_label">
Moi
</text>
<check_box label="Résident" name="people_chk"/>
- <icon left="-262" name="person"/>
<text name="person_label">
Résident
</text>
<check_box label="Infohub" name="infohub_chk"/>
- <icon left="-266" name="infohub"/>
<text name="infohub_label">
Infohub
</text>
<check_box label="Terrain à vendre" name="land_for_sale_chk"/>
- <icon left="-266" name="landforsale"/>
<text name="land_sale_label">
Vente de terrains
</text>
- <icon left="-270" name="square2"/>
<text name="by_owner_label">
par le propriétaire
</text>
<text name="auction_label">
enchères
</text>
- <button label="Aller chez moi" label_selected="Aller chez moi" left="-120" name="Go Home" tool_tip="Me téléporter jusqu&apos;à mon domicile" width="108"/>
+ <button label="Aller chez moi" label_selected="Aller chez moi" name="Go Home" tool_tip="Me téléporter jusqu&apos;à mon domicile"/>
<text name="Home_label">
Domicile
</text>
- <text left="-144" name="events_label">
+ <text name="events_label">
Événements :
</text>
<check_box label="PG" name="event_chk"/>
- <icon left="-132" name="event"/>
<text name="pg_label">
Général
</text>
<check_box initial_value="true" label="Mature" name="event_mature_chk"/>
- <icon left="-132" name="events_mature_icon"/>
<text name="mature_label">
Modéré
</text>
<check_box label="Adult" name="event_adult_chk"/>
- <icon left="-132" name="events_adult_icon"/>
<text name="adult_label">
Adulte
</text>
@@ -62,23 +54,22 @@
</text>
</panel>
<panel>
- <combo_box label="Amis connectés" name="friend combo" tool_tip="Afficher les amis sur la carte" width="232">
+ <combo_box label="Amis connectés" name="friend combo" tool_tip="Afficher les amis sur la carte">
<combo_box.item label="Mes amis connectés" name="item1"/>
</combo_box>
- <icon left="-270" name="landmark_icon"/>
- <combo_box label="Mes repères" name="landmark combo" tool_tip="Repère à afficher sur la carte" width="232">
+ <combo_box label="Mes repères" name="landmark combo" tool_tip="Repère à afficher sur la carte">
<combo_box.item label="Mes repères" name="item1"/>
</combo_box>
- <search_editor label="Régions par nom" name="location" tool_tip="Saisissez le nom d&apos;une région" width="155"/>
- <button label="Trouver" label_selected="&gt;" left_delta="160" name="DoSearch" tool_tip="Recherchez sur la carte" width="75"/>
+ <search_editor label="Régions par nom" name="location" tool_tip="Saisissez le nom d&apos;une région"/>
+ <button label="Trouver" label_selected="&gt;" name="DoSearch" tool_tip="Recherchez sur la carte"/>
<button name="Clear" tool_tip="Effacer les lignes de suivi et réinitialiser la carte"/>
- <scroll_list left="-270" name="search_results" width="252">
+ <scroll_list name="search_results">
<scroll_list.columns label="" name="icon"/>
<scroll_list.columns label="" name="sim_name"/>
</scroll_list>
- <button label="Téléporter" label_selected="Téléporter" left="-270" name="Teleport" tool_tip="Téléporter à l&apos;endroit sélectionné"/>
- <button label="Copier la SLurl" left="-270" name="copy_slurl" tool_tip="Copie l&apos;emplacement actuel sous la forme d&apos;une SLurl à utiliser sur le Web."/>
- <button label="Afficher la sélection" label_selected="Afficher la destination" name="Show Destination" tool_tip="Centrer la carte sur l&apos;endroit sélectionné" width="165"/>
+ <button label="Téléporter" label_selected="Téléporter" name="Teleport" tool_tip="Téléporter à l&apos;endroit sélectionné"/>
+ <button label="Copier la SLurl" name="copy_slurl" tool_tip="Copie l&apos;emplacement actuel sous la forme d&apos;une SLurl à utiliser sur le Web."/>
+ <button label="Afficher la sélection" label_selected="Afficher la destination" name="Show Destination" tool_tip="Centrer la carte sur l&apos;endroit sélectionné"/>
</panel>
<panel>
<text name="zoom_label">
@@ -86,6 +77,6 @@
</text>
</panel>
<panel>
- <slider label="Zoom" left="-270" name="zoom slider"/>
+ <slider label="Zoom" name="zoom slider"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/fr/menu_object.xml b/indra/newview/skins/default/xui/fr/menu_object.xml
index 1837be9c5d..6492a83e06 100644
--- a/indra/newview/skins/default/xui/fr/menu_object.xml
+++ b/indra/newview/skins/default/xui/fr/menu_object.xml
@@ -5,6 +5,7 @@
<menu_item_call label="Construire" name="Build"/>
<menu_item_call label="Ouvrir" name="Open"/>
<menu_item_call label="M&apos;asseoir ici" name="Object Sit"/>
+ <menu_item_call label="Me lever" name="Object Stand Up"/>
<menu_item_call label="Profil de l&apos;objet" name="Object Inspect"/>
<menu_item_call label="Zoomer en avant" name="Zoom In"/>
<context_menu label="Porter ▶" name="Put On">
@@ -18,6 +19,7 @@
<menu_item_call label="Retour" name="Return..."/>
<menu_item_call label="Supprimer" name="Delete"/>
</context_menu>
+ <menu_item_call label="Acheter" name="Pie Object Bye"/>
<menu_item_call label="Prendre" name="Pie Object Take"/>
<menu_item_call label="Prendre une copie" name="Take Copy"/>
<menu_item_call label="Payer" name="Pay..."/>
diff --git a/indra/newview/skins/default/xui/fr/menu_people_nearby.xml b/indra/newview/skins/default/xui/fr/menu_people_nearby.xml
index 08a97ee403..26bd3978a9 100644
--- a/indra/newview/skins/default/xui/fr/menu_people_nearby.xml
+++ b/indra/newview/skins/default/xui/fr/menu_people_nearby.xml
@@ -5,6 +5,7 @@
<menu_item_call label="Supprimer cet ami" name="Remove Friend"/>
<menu_item_call label="IM" name="IM"/>
<menu_item_call label="Appeler" name="Call"/>
+ <menu_item_call label="Carte" name="Map"/>
<menu_item_call label="Partager" name="Share"/>
<menu_item_call label="Payer" name="Pay"/>
<menu_item_check label="Ignorer/Ne plus ignorer" name="Block/Unblock"/>
diff --git a/indra/newview/skins/default/xui/fr/menu_viewer.xml b/indra/newview/skins/default/xui/fr/menu_viewer.xml
index 21f39682ba..5925d28565 100644
--- a/indra/newview/skins/default/xui/fr/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/fr/menu_viewer.xml
@@ -9,8 +9,8 @@
<menu_item_call label="Mon profil" name="Profile"/>
<menu_item_call label="Mon apparence" name="Appearance"/>
<menu_item_check label="Mon inventaire" name="Inventory"/>
- <menu_item_call label="Mon inventaire" name="ShowSidetrayInventory"/>
- <menu_item_call label="Mes gestes" name="Gestures"/>
+ <menu_item_check label="Mon inventaire" name="ShowSidetrayInventory"/>
+ <menu_item_check label="Mes gestes" name="Gestures"/>
<menu label="Mon statut" name="Status">
<menu_item_call label="Absent" name="Set Away"/>
<menu_item_call label="Occupé" name="Set Busy"/>
@@ -22,9 +22,8 @@
<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 vous" name="Nearby Chat"/>
- <menu_item_call label="Personnes près de vous" name="Active Speakers"/>
- <menu_item_check label="Média près de vous" name="Nearby Media"/>
+ <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>
<menu label="Monde" name="World">
<menu_item_check label="Mini-carte" name="Mini-Map"/>
@@ -32,14 +31,20 @@
<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="À propos des terrains" name="About Land"/>
+ <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="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&apos;affichage" name="Camera 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"/>
+ <menu_item_check label="Propriétaires de terrains" name="Land Owners"/>
+ <menu_item_check label="Coordonnées" name="Coordinates"/>
+ <menu_item_check label="Propriétés de la parcelle" name="Parcel Properties"/>
</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"/>
@@ -74,11 +79,12 @@
</menu>
<menu_item_call label="Lien" name="Link"/>
<menu_item_call label="Annuler le lien" name="Unlink"/>
- <menu_item_check label="Modifier les parties reliées" name="Edit Linked Parts"/>
+ <menu_item_check label="Modifier les parties liées" name="Edit Linked Parts"/>
<menu_item_call label="Point central sur la sélection" name="Focus on Selection"/>
<menu_item_call label="Zoomer sur la sélection" name="Zoom to Selection"/>
<menu label="Objet" name="Object">
- <menu_item_call label="Acheter" name="Menu Object Take"/>
+ <menu_item_call label="Acheter" name="Menu Object Buy"/>
+ <menu_item_call label="Prendre" name="Menu Object Take"/>
<menu_item_call label="Prendre une copie" name="Take Copy"/>
<menu_item_call label="Enregistrer dans mon inventaire" name="Save Object Back to My Inventory"/>
<menu_item_call label="Enregistrer dans le contenu des objets" name="Save Object Back to Object Contents"/>
@@ -100,11 +106,11 @@
<menu_item_check label="Afficher le rayon lumineux pour la sélection" name="Show Light Radius for Selection"/>
<menu_item_check label="Afficher le faisceau de sélection lumineux" name="Show Selection Beam"/>
<menu_item_check label="Fixer sur la grille" name="Snap to Grid"/>
- <menu_item_call label="Fixer les coordonnées XY de l’objet sur la grille" name="Snap Object XY to Grid"/>
+ <menu_item_call label="Fixer les coordonnées XY de l&apos;objet sur la grille" name="Snap Object XY to Grid"/>
<menu_item_call label="Utiliser la sélection pour la grille" name="Use Selection for Grid"/>
<menu_item_call label="Options de la grille" name="Grid Options"/>
</menu>
- <menu label="Sélectionner les parties reliées" name="Select Linked Parts">
+ <menu label="Sélectionner les parties liées" name="Select Linked Parts">
<menu_item_call label="Sélectionner la partie suivante" name="Select Next Part"/>
<menu_item_call label="Sélectionner la partie précédente" name="Select Previous Part"/>
<menu_item_call label="Inclure la partie suivante" name="Include Next Part"/>
@@ -121,7 +127,7 @@
<menu_item_call label="Arrêter mon animation" name="Stop Animating My Avatar"/>
<menu_item_call label="Refixer les textures" name="Rebake Texture"/>
<menu_item_call label="Taille de l&apos;interface par défaut" name="Set UI Size to Default"/>
- <menu_item_call label="Définir la taille de la fenêtre..." name="Set Window Size..."/>
+ <menu_item_call label="Définir la taille de la fenêtre…" name="Set Window Size..."/>
<menu_item_check label="Limiter la distance de sélection" name="Limit Select Distance"/>
<menu_item_check label="Désactiver les contraintes de la caméra" name="Disable Camera Distance"/>
<menu_item_check label="Photo haute résolution" name="HighResSnapshot"/>
@@ -146,7 +152,6 @@
<menu_item_check label="Alpha" name="Alpha"/>
<menu_item_check label="Arbre" name="Tree"/>
<menu_item_check label="Avatars" name="Character"/>
- <menu_item_check label="SurfacePath" name="SurfacePath"/>
<menu_item_check label="Ciel" name="Sky"/>
<menu_item_check label="Eau" name="Water"/>
<menu_item_check label="Sol" name="Ground"/>
@@ -170,7 +175,7 @@
<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 label="Raccourcis" name="Shortcuts">
- <menu_item_call label="Image ([COST] L$)..." name="Upload Image"/>
+ <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"/>
diff --git a/indra/newview/skins/default/xui/fr/notifications.xml b/indra/newview/skins/default/xui/fr/notifications.xml
index e122032447..7d2a33509b 100644
--- a/indra/newview/skins/default/xui/fr/notifications.xml
+++ b/indra/newview/skins/default/xui/fr/notifications.xml
@@ -316,7 +316,7 @@ La limite de [MAX_ATTACHMENTS] objets joints a été dépassée. Veuillez commen
Vous ne pouvez pas porter cet article car il n&apos;a pas encore été chargé. Veuillez réessayer dans une minute.
</notification>
<notification name="MustHaveAccountToLogIn">
- Oups! Vous avez oublié de fournir certaines informations.
+ Zut ! Vous avez oublié de fournir certaines informations.
Vous devez saisir le nom et le prénom de votre avatar.
Pour entrer dans [SECOND_LIFE], vous devez avoir un compte. Voulez-vous en créer un maintenant ?
@@ -445,9 +445,8 @@ L&apos;objet est peut-être inaccessible ou a peut-être été supprimé.
Impossible d&apos;écrire le fichier [[FILE]]
</notification>
<notification name="UnsupportedHardware">
- Votre ordinateur ne satisfait pas la configuration système requise pour [APP_NAME]. Les performances risquent d&apos;être médiocres. Malheureusement, la page [SUPPORT_SITE] n’offre aucune assistance pour les problèmes de configuration système.
+ Votre ordinateur ne satisfait pas la configuration système requise pour [APP_NAME]. Les performances risquent d&apos;être médiocres. Malheureusement, la section [SUPPORT_SITE] n&apos;offre aucune aide pour les problèmes de configuration système.
-MINSPECS
Consulter [_URL] pour en savoir plus ?
<url name="url" option="0">
http://secondlife.com/support/sysreqs.php?lang=fr
@@ -1566,7 +1565,7 @@ En cliquant sur Modifier les préférences, vous pourrez changer votre catégori
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="NotAllowedToViewNotecard">
- Permissions pour afficher la note insuffisantes.
+ Droits pour afficher la note insuffisants.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="MissingNotecardAssetID">
@@ -1977,7 +1976,7 @@ Cela risque d&apos;impacter votre mot de passe.
Vous n&apos;avez pas le droit de consulter cette note.
</notification>
<notification name="RezItemNoPermissions">
- Permissions insuffisantes pour rezzer l&apos;objet.
+ Droits insuffisants pour rezzer l&apos;objet.
</notification>
<notification name="UnableToLoadNotecard">
Impossible de lire les données de la note actuellement.
@@ -1986,7 +1985,7 @@ Cela risque d&apos;impacter votre mot de passe.
Script absent de la base de données.
</notification>
<notification name="ScriptNoPermissions">
- Permissions insuffisantes pour voir le script.
+ Droits insuffisants pour voir le script.
</notification>
<notification name="UnableToLoadScript">
Impossible de charger le script. Merci de réessayer.
@@ -2335,6 +2334,12 @@ Veuillez réessayer dans quelques minutes.
<notification name="FriendshipDeclined">
[NAME] a refusé votre amitié.
</notification>
+ <notification name="FriendshipAcceptedByMe">
+ Amitié acceptée.
+ </notification>
+ <notification name="FriendshipDeclinedByMe">
+ Amitié refusée.
+ </notification>
<notification name="OfferCallingCard">
[FIRST] [LAST] vous offre sa carte de visite.
Cela ajoute un marque-page dans votre inventaire, ce qui vous permet d&apos;envoyer rapidement un IM à ce résident.
@@ -2543,7 +2548,7 @@ Elles vont être bloquées pendant quelques secondes pour votre sécurité.
</notification>
<notification name="ConfirmCloseAll">
Êtes-vous certain de vouloir fermer tous les IM ?
- <usetemplate name="okcancelignore" notext="Annuler" yestext="OK"/>
+ <usetemplate ignoretext="Confirmer avant de fermer tous les IM." name="okcancelignore" notext="Annuler" yestext="OK"/>
</notification>
<notification name="AttachmentSaved">
L&apos;élément joint a été sauvegardé.
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_profile.xml b/indra/newview/skins/default/xui/fr/panel_edit_profile.xml
index d10a7f37e1..7c8365fdee 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_profile.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_profile.xml
@@ -33,7 +33,7 @@
<icon label="" name="2nd_life_edit_icon" tool_tip="Cliquez pour sélectionner une image"/>
</panel>
<panel name="first_life_image_panel">
- <text name="real_world_photo_title_text" value="Monde physique :"/>
+ <text name="real_world_photo_title_text" value="Vie réelle :"/>
</panel>
<icon label="" name="real_world_edit_icon" tool_tip="Cliquez pour sélectionner une image"/>
<text name="title_homepage_text">
diff --git a/indra/newview/skins/default/xui/fr/panel_edit_wearable.xml b/indra/newview/skins/default/xui/fr/panel_edit_wearable.xml
index c6ab686b0e..75b6c044f6 100644
--- a/indra/newview/skins/default/xui/fr/panel_edit_wearable.xml
+++ b/indra/newview/skins/default/xui/fr/panel_edit_wearable.xml
@@ -96,6 +96,6 @@
</panel>
<panel name="button_panel">
<button label="Enregistrer sous" name="save_as_button"/>
- <button label="Annuler modification" width="130" name="revert_button"/>
+ <button label="Rétablir" width="130" name="revert_button"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_friends.xml b/indra/newview/skins/default/xui/fr/panel_friends.xml
index 10ec952aa3..ad9e3daf3d 100644
--- a/indra/newview/skins/default/xui/fr/panel_friends.xml
+++ b/indra/newview/skins/default/xui/fr/panel_friends.xml
@@ -16,5 +16,5 @@
<button label="Téléporter" name="offer_teleport_btn" tool_tip="Proposez à cet ami d&apos;être téléporté là où vous êtes"/>
<button label="Payer" name="pay_btn" tool_tip="Donnez des L$ à cet ami"/>
<button label="Supprimer" name="remove_btn" tool_tip="Supprimez ce résident de votre liste d&apos;amis"/>
- <button label="Ajouter" name="add_btn" tool_tip="Proposer à ce résident de devenir votre ami"/>
+ <button label="Ajouter" name="add_btn" tool_tip="Proposer à un résident de devenir votre ami"/>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_group_roles.xml b/indra/newview/skins/default/xui/fr/panel_group_roles.xml
index 7fc10833ea..e1eeaa8601 100644
--- a/indra/newview/skins/default/xui/fr/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/fr/panel_group_roles.xml
@@ -15,10 +15,10 @@ Pour sélectionner plusieurs membres, cliquez sur leurs noms en maintenant la to
<filter_editor label="Filtrer les membres" name="filter_input"/>
<name_list name="member_list">
<name_list.columns label="Membre" name="name"/>
- <name_list.columns label="Donation" name="donated" width="116"/>
- <name_list.columns label="Statut" name="online" width="136"/>
+ <name_list.columns label="Donation" name="donated"/>
+ <name_list.columns label="Statut" name="online"/>
</name_list>
- <button label="Inviter" name="member_invite" width="165"/>
+ <button label="Inviter" name="member_invite"/>
<button label="Expulser" name="member_eject"/>
</panel>
<panel label="RÔLES" name="roles_sub_tab">
@@ -47,7 +47,7 @@ notamment les rôles Tous et Propriétaire.
<scroll_list.columns label="#" name="members"/>
</scroll_list>
<button label="Nouveau rôle" name="role_create"/>
- <button label="Supprimer le rôle" name="role_delete" width="120"/>
+ <button label="Supprimer le rôle" name="role_delete"/>
</panel>
<panel height="148" label="POUVOIRS" name="actions_sub_tab" tool_tip="Vous pouvez afficher une description du pouvoir et voir quels membres et rôles peuvent s&apos;en servir.">
<panel.string name="help_text">
diff --git a/indra/newview/skins/default/xui/fr/panel_im_control_panel.xml b/indra/newview/skins/default/xui/fr/panel_im_control_panel.xml
index 115e25e487..1f2169e22c 100644
--- a/indra/newview/skins/default/xui/fr/panel_im_control_panel.xml
+++ b/indra/newview/skins/default/xui/fr/panel_im_control_panel.xml
@@ -14,7 +14,7 @@
<layout_panel name="share_btn_panel">
<button label="Partager" name="share_btn"/>
</layout_panel>
- <layout_panel name="share_btn_panel">
+ <layout_panel name="pay_btn_panel">
<button label="Payer" name="pay_btn"/>
</layout_panel>
<layout_panel name="call_btn_panel">
diff --git a/indra/newview/skins/default/xui/fr/panel_landmark_info.xml b/indra/newview/skins/default/xui/fr/panel_landmark_info.xml
index a2f82c72df..4001616034 100644
--- a/indra/newview/skins/default/xui/fr/panel_landmark_info.xml
+++ b/indra/newview/skins/default/xui/fr/panel_landmark_info.xml
@@ -13,7 +13,7 @@
Aucune information sur ce lieu n&apos;est disponible actuellement, veuillez réessayer ultérieurement.
</string>
<string name="server_forbidden_text">
- Les informations sur ce lieu ne sont pas disponibles car l&apos;accès y est restreint. Veuillez vérifier vos permissions avec le propriétaire de la parcelle.
+ Les informations sur ce lieu ne sont pas disponibles car l&apos;accès y est restreint. Veuillez vérifier vos droits avec le propriétaire de la parcelle.
</string>
<string name="acquired_date">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
diff --git a/indra/newview/skins/default/xui/fr/panel_my_profile.xml b/indra/newview/skins/default/xui/fr/panel_my_profile.xml
index 73affc3420..ce2e5f4c60 100644
--- a/indra/newview/skins/default/xui/fr/panel_my_profile.xml
+++ b/indra/newview/skins/default/xui/fr/panel_my_profile.xml
@@ -26,7 +26,7 @@
</panel>
<panel name="first_life_image_panel">
<icon label="" name="real_world_edit_icon" tool_tip="Cliquez sur le bouton Modifier le profil ci-dessous pour changer d&apos;image"/>
- <text name="title_rw_descr_text" value="Monde physique :"/>
+ <text name="title_rw_descr_text" value="Vie réelle :"/>
</panel>
<text name="title_member_text" value="Résident depuis :"/>
<text name="title_acc_status_text" value="Statut du compte :"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_navigation_bar.xml b/indra/newview/skins/default/xui/fr/panel_navigation_bar.xml
index 974c0cd032..45caf2323d 100644
--- a/indra/newview/skins/default/xui/fr/panel_navigation_bar.xml
+++ b/indra/newview/skins/default/xui/fr/panel_navigation_bar.xml
@@ -11,7 +11,7 @@
</panel>
<favorites_bar name="favorite" tool_tip="Faites glisser des repères ici pour un accès rapide à vos lieux favoris dans Second Life.">
<label name="favorites_bar_label" tool_tip="Faites glisser des repères ici pour un accès rapide à vos lieux favoris dans Second Life.">
- Barre des Favoris
+ Favoris
</label>
<chevron_button name="&gt;&gt;" tool_tip="Afficher d&apos;avantage de Favoris"/>
</favorites_bar>
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 f1a7ebb35c..b506a202bd 100644
--- a/indra/newview/skins/default/xui/fr/panel_nearby_chat.xml
+++ b/indra/newview/skins/default/xui/fr/panel_nearby_chat.xml
@@ -4,6 +4,6 @@
<panel name="chat_caption">
<text
name="sender_name"
-width="170">CHAT PRÈS DE VOUS</text>
+width="170">CHAT PRÈS DE MOI</text>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/fr/panel_nearby_chat_bar.xml
index 8ed441cbae..82cdf292ab 100644
--- a/indra/newview/skins/default/xui/fr/panel_nearby_chat_bar.xml
+++ b/indra/newview/skins/default/xui/fr/panel_nearby_chat_bar.xml
@@ -1,11 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="chat_bar">
- <string name="min_width">
- 192
- </string>
- <string name="max_width">
- 320
- </string>
<line_editor label="Cliquer ici pour chatter." name="chat_box" tool_tip="Appuyer sur Entrée pour dire, Ctrl-Entrée pour crier"/>
<button name="show_nearby_chat" tool_tip="Affiche/Masque le journal de chats près de vous"/>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_nearby_media.xml b/indra/newview/skins/default/xui/fr/panel_nearby_media.xml
index 53b9bc6f82..71e65232aa 100644
--- a/indra/newview/skins/default/xui/fr/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/fr/panel_nearby_media.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="nearby_media">
- <string name="media_item_count_format">
- (%ld articles de média)
- </string>
<string name="empty_item_text">
&lt;vide&gt;
</string>
diff --git a/indra/newview/skins/default/xui/fr/panel_notes.xml b/indra/newview/skins/default/xui/fr/panel_notes.xml
index ba052a0e07..f4e4f8a4ab 100644
--- a/indra/newview/skins/default/xui/fr/panel_notes.xml
+++ b/indra/newview/skins/default/xui/fr/panel_notes.xml
@@ -13,7 +13,7 @@
</scroll_container>
</layout_panel>
<layout_panel name="notes_buttons_panel">
- <button label="Devenir amis" name="add_friend" tool_tip="Proposer à ce résident de devenir votre ami"/>
+ <button label="Devenir amis" name="add_friend" tool_tip="Proposer à un résident de devenir votre ami"/>
<button label="IM" name="im" width="30" tool_tip="Ouvrir une session IM"/>
<button label="Appeler" name="call" width="60" tool_tip="Appeler ce résident"/>
<button label="Carte" name="show_on_map_btn" tool_tip="Afficher le résident sur la carte"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_online_status_toast.xml b/indra/newview/skins/default/xui/fr/panel_online_status_toast.xml
new file mode 100644
index 0000000000..fdc489f375
--- /dev/null
+++ b/indra/newview/skins/default/xui/fr/panel_online_status_toast.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="friend_online_status" name="friend_online_status"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml
index d3ace66095..9b9d830aaf 100644
--- a/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml
+++ b/indra/newview/skins/default/xui/fr/panel_outfits_inventory.xml
@@ -2,7 +2,7 @@
<panel label="Choses" name="Outfits">
<tab_container name="appearance_tabs">
<inventory_panel label="MES TENUES" name="outfitslist_tab"/>
- <inventory_panel label="TENUE" name="cof_tab"/>
+ <inventory_panel label="PORTÉ" name="cof_tab"/>
</tab_container>
<panel name="bottom_panel">
<button name="options_gear_btn" tool_tip="Afficher d&apos;autres options"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_people.xml b/indra/newview/skins/default/xui/fr/panel_people.xml
index f129f56261..39885e1e12 100644
--- a/indra/newview/skins/default/xui/fr/panel_people.xml
+++ b/indra/newview/skins/default/xui/fr/panel_people.xml
@@ -21,12 +21,12 @@
<accordion_tab name="tab_all" title="Tout"/>
</accordion>
<text name="no_friends_msg">
- Pour ajouter des amis, essayez [secondlife:///app/search/people la recherche globale] ou cliquez sur un utilisateur pour l&apos;ajouter à vos amis.
-Si vous voulez rencontrer d&apos;autres résidents, ouvrez la [secondlife:///app/worldmap carte].
+ Pour ajouter des amis, utilisez la [secondlife:///app/search/people recherche] ou cliquez sur un résident pour l&apos;ajouter à vos amis.
+Si vous souhaitez rencontrer d&apos;autres résidents, cliquez sur [secondlife:///app/worldmap la carte].
</text>
<panel label="bottom_panel" name="bottom_panel">
<button name="friends_viewsort_btn" tool_tip="Options"/>
- <button name="add_btn" tool_tip="Proposer à ce résident de devenir votre ami"/>
+ <button name="add_btn" tool_tip="Proposer à un résident de devenir votre ami"/>
<button name="del_btn" tool_tip="Supprimer le résident sélectionné de votre liste d&apos;amis"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_place_profile.xml b/indra/newview/skins/default/xui/fr/panel_place_profile.xml
index 620bab0c24..2cd8744ae5 100644
--- a/indra/newview/skins/default/xui/fr/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/fr/panel_place_profile.xml
@@ -36,7 +36,7 @@
Aucune information sur ce lieu n&apos;est disponible actuellement, veuillez réessayer ultérieurement.
</string>
<string name="server_forbidden_text">
- Les informations sur ce lieu ne sont pas disponibles car l&apos;accès y est restreint. Veuillez vérifier vos permissions auprès du propriétaire de la parcelle.
+ Les informations sur ce lieu ne sont pas disponibles car l&apos;accès y est restreint. Veuillez vérifier vos droits auprès du propriétaire de la parcelle.
</string>
<string name="acquired_date">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
@@ -68,7 +68,7 @@
<text name="maturity_value" value="(inconnu)"/>
<accordion name="advanced_info_accordion">
<accordion_tab name="parcel_characteristics_tab" title="Parcelle">
- <panel>
+ <panel name="parcel_characteristics_panel">
<text name="rating_label" value="Catégorie :"/>
<text name="rating_value" value="(inconnu)"/>
<text name="voice_label" value="Voix :"/>
@@ -87,7 +87,7 @@
</panel>
</accordion_tab>
<accordion_tab name="region_information_tab" title="Région">
- <panel>
+ <panel name="region_information_panel">
<text name="region_name_label" value="Région :"/>
<text name="region_name" value="Pays des orignaux"/>
<text name="region_type_label" value="Type :"/>
@@ -104,7 +104,7 @@
</panel>
</accordion_tab>
<accordion_tab name="estate_information_tab" title="Domaine">
- <panel>
+ <panel name="estate_information_panel">
<text name="estate_name_label" value="Domaine :"/>
<text name="estate_rating_label" value="Catégorie :"/>
<text name="estate_owner_label" value="Propriétaire :"/>
@@ -112,7 +112,7 @@
</panel>
</accordion_tab>
<accordion_tab name="sales_tab" title="À vendre">
- <panel>
+ <panel name="sales_panel">
<text name="sales_price_label" value="Prix :"/>
<text name="area_label" value="Surface :"/>
<text name="traffic_label" value="Trafic :"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_places.xml b/indra/newview/skins/default/xui/fr/panel_places.xml
index f6a64f0c58..f740dcd326 100644
--- a/indra/newview/skins/default/xui/fr/panel_places.xml
+++ b/indra/newview/skins/default/xui/fr/panel_places.xml
@@ -7,9 +7,9 @@
<button label="Téléporter" name="teleport_btn" tool_tip="Me téléporter jusqu&apos;à la zone sélectionnée"/>
<button label="Carte" name="map_btn"/>
<button label="Éditer" name="edit_btn" tool_tip="Modifier les informations du repère"/>
- <button name="overflow_btn" tool_tip="Afficher d&apos;autres options"/>
- <button label="Fermer" name="close_btn"/>
- <button label="Annuler" name="cancel_btn"/>
+ <button label="▼" name="overflow_btn" tool_tip="Afficher d&apos;autres options"/>
<button label="Enregistrer" name="save_btn"/>
+ <button label="Annuler" name="cancel_btn"/>
+ <button label="Fermer" name="close_btn"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml
index 4b8559fdde..b47ed4bd8b 100644
--- a/indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/fr/panel_preferences_advanced.xml
@@ -19,7 +19,7 @@
<color_swatch name="background" tool_tip="Choisir la couleur des bulles de chat"/>
<check_box label="Afficher les erreurs de script dans :" name="show_script_errors"/>
<radio_group name="show_location">
- <radio_item label="Chat près de vous" name="0"/>
+ <radio_item label="Chat près de moi" name="0"/>
<radio_item label="Autre fenêtre" name="1"/>
</radio_group>
<check_box label="Activer/désactiver la fonction Parler quand j&apos;appuie sur :" name="push_to_talk_toggle_check" tool_tip="En mode bascule, appuyez une fois sur la touche de contrôle de la fonction, puis relâchez-la pour activer/désactiver votre micro. Si vous n&apos;êtes pas en mode bascule, le micro ne diffuse votre voix que quand vous maintenez la touche de contrôle de la fonction enfoncée."/>
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 27242ec3de..71f7990073 100644
--- a/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml
@@ -1,10 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Chat écrit" name="chat">
+ <text name="font_size">
+ Font size:
+ </text>
<radio_group name="chat_font_size">
<radio_item label="Moins" name="radio" value="0"/>
<radio_item label="Moyenne" name="radio2" value="1"/>
<radio_item label="Plus" name="radio3" value="2"/>
</radio_group>
+ <text name="font_colors">
+ Font colors:
+ </text>
<color_swatch label="Vous" name="user"/>
<text name="text_box1">
Moi
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 3c789574a4..ecea368c54 100644
--- a/indra/newview/skins/default/xui/fr/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/fr/panel_preferences_setup.xml
@@ -17,8 +17,8 @@
<text name="text_box2">
kbps
</text>
- <check_box label="Port de connexion personnalisé" name="connection_port_enabled"/>
- <spinner label="Numéro de port :" name="connection_port"/>
+ <check_box label="Port de connexion" name="connection_port_enabled"/>
+ <spinner label="Numéro :" name="connection_port"/>
<text name="cache_size_label_l">
Taille de la mémoire
</text>
diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_sound.xml b/indra/newview/skins/default/xui/fr/panel_preferences_sound.xml
index 663775559a..4c055a2b8d 100644
--- a/indra/newview/skins/default/xui/fr/panel_preferences_sound.xml
+++ b/indra/newview/skins/default/xui/fr/panel_preferences_sound.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Sons" name="Preference Media panel">
<slider label="Volume principal" name="System Volume"/>
- <check_box initial_value="true" label="Couper le son quand minimisé" name="mute_when_minimized"/>
+ <check_box initial_value="true" label="Couper quand minimisé" name="mute_when_minimized"/>
<slider label="Boutons" name="UI Volume"/>
<slider label="Ambiant" name="Wind Volume"/>
<slider label="Effets sonores" name="SFX Volume"/>
@@ -13,9 +13,12 @@
<check_box label="Activé" name="enable_voice_check"/>
<check_box label="Autoriser la lecture automatique du média" name="media_auto_play_btn" tool_tip="Cochez pour autoriser la lecture automatique du média" value="vrai"/>
<check_box label="Jouer le média aux autres avatars" name="media_show_on_others_btn" tool_tip="Décochez pour masquer le média aux autres avatars près de vous" value="vrai"/>
- <text name="Listen from">
+ <text name="voice_chat_settings">
Paramètres du chat vocal
</text>
+ <text name="Listen from">
+ Écouter à partir de :
+ </text>
<radio_group name="ear_location">
<radio_item label="Position de la caméra" name="0"/>
<radio_item label="Position de l&apos;avatar" name="1"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_profile.xml b/indra/newview/skins/default/xui/fr/panel_profile.xml
index 364426fed1..8cb4641937 100644
--- a/indra/newview/skins/default/xui/fr/panel_profile.xml
+++ b/indra/newview/skins/default/xui/fr/panel_profile.xml
@@ -24,7 +24,7 @@
<text name="title_sl_descr_text" value="[SECOND_LIFE]:"/>
</panel>
<panel name="first_life_image_panel">
- <text name="title_rw_descr_text" value="Monde physique :"/>
+ <text name="title_rw_descr_text" value="Vie réelle :"/>
</panel>
<text name="title_member_text" value="Résident depuis :"/>
<text name="title_acc_status_text" value="Statut du compte :"/>
@@ -41,7 +41,7 @@
</scroll_container>
</layout_panel>
<layout_panel name="profile_buttons_panel">
- <button label="Devenir amis" name="add_friend" tool_tip="Proposer à ce résident de devenir votre ami"/>
+ <button label="Devenir amis" name="add_friend" tool_tip="Proposer à un résident de devenir votre ami"/>
<button label="IM" name="im" tool_tip="Ouvrir une session IM" width="30"/>
<button label="Appeler" name="call" tool_tip="Appeler ce résident" width="60"/>
<button label="Carte" name="show_on_map_btn" tool_tip="Afficher le résident sur la carte"/>
diff --git a/indra/newview/skins/default/xui/fr/panel_region_estate.xml b/indra/newview/skins/default/xui/fr/panel_region_estate.xml
index f9262ea478..e1acbe3817 100644
--- a/indra/newview/skins/default/xui/fr/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/fr/panel_region_estate.xml
@@ -20,8 +20,8 @@ domaine.
<text name="Only Allow">
Limiter l&apos;accès aux comptes vérifiés par :
</text>
- <check_box label="Informations de paiement enregistrées" name="limit_payment" tool_tip="Bannir les résidents non identifiés"/>
- <check_box label="Vérification de mon âge" name="limit_age_verified" tool_tip="Bannir les résidents qui n&apos;ont pas vérifié leur âge. Consultez la page [SUPPORT_SITE] pour plus d&apos;informations."/>
+ <check_box label="Infos de paiement enregistrées" name="limit_payment" tool_tip="Bannir les résidents non identifiés"/>
+ <check_box label="Vérification de l'âge" name="limit_age_verified" tool_tip="Bannir les résidents qui n&apos;ont pas vérifié leur âge. Consultez la page [SUPPORT_SITE] pour plus d&apos;informations."/>
<check_box label="Autoriser les chats vocaux" name="voice_chat_check"/>
<button label="?" name="voice_chat_help"/>
<text name="abuse_email_text">
diff --git a/indra/newview/skins/default/xui/fr/panel_status_bar.xml b/indra/newview/skins/default/xui/fr/panel_status_bar.xml
index e58e806f99..657bf792cf 100644
--- a/indra/newview/skins/default/xui/fr/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/fr/panel_status_bar.xml
@@ -22,10 +22,10 @@
[AMT] L$
</panel.string>
<button label="" label_selected="" name="buycurrency" tool_tip="Mon solde"/>
- <button label="Acheter des L$" name="buyL" tool_tip="Cliquez pour acheter plus de L$"/>
+ <button label="Acheter" name="buyL" tool_tip="Cliquez pour acheter plus de L$"/>
<text name="TimeText" tool_tip="Heure actuelle (Pacifique)">
00h00 PST
</text>
- <button name="media_toggle_btn" tool_tip="Cliquer pour activer/désactiver le média"/>
+ <button name="media_toggle_btn" tool_tip="Arrêter tous les médias (musique, vidéo, pages web)"/>
<button name="volume_btn" tool_tip="Contrôle du volume global"/>
</panel>
diff --git a/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml b/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml
index f791877fa8..def71d96b4 100644
--- a/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml
@@ -19,7 +19,7 @@
Vous ne pouvez pas modifier ces objets
</panel.string>
<panel.string name="text modify warning">
- Cet objet comprend des parties reliées
+ Cet objet comprend des parties liées
</panel.string>
<panel.string name="Cost Default">
Prix : L$
@@ -38,7 +38,7 @@
</panel.string>
<text name="title" value="Profil de l&apos;objet"/>
<text name="where" value="(dans Second Life)"/>
- <panel label="">
+ <panel name="properties_panel" label="">
<text name="Name:">
Nom :
</text>
@@ -60,9 +60,9 @@
<text name="Group_label">
Groupe :
</text>
- <button name="button set group" tool_tip="Choisissez un groupe pour partager les permissions de cet objet"/>
+ <button name="button set group" tool_tip="Choisissez un groupe pour partager les droits de cet objet"/>
<name_box initial_value="Chargement..." name="Group Name Proxy"/>
- <button label="Céder" label_selected="Céder" name="button deed" tool_tip="En cédant un objet, vous donnez aussi les permissions au prochain propriétaire. Seul un officier peut céder les objets d&apos;un groupe."/>
+ <button label="Céder" label_selected="Céder" name="button deed" tool_tip="En cédant un objet, vous donnez aussi les droits au prochain propriétaire. Seul un officier peut céder les objets d&apos;un groupe."/>
<text name="label click action">
Cliquer pour :
</text>
diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml
index f25fe09c84..d78b78f7d0 100644
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -1201,10 +1201,10 @@
Problème lors du téléchargement
</string>
<string name="CompileQueueInsufficientPermDownload">
- Permissions insuffisantes pour télécharger un script.
+ Droits insuffisants pour télécharger un script.
</string>
<string name="CompileQueueInsufficientPermFor">
- Permissions insuffisantes pour
+ Droits insuffisants pour
</string>
<string name="CompileQueueUnknownFailure">
Échec du téléchargement, erreur inconnue
@@ -1506,6 +1506,9 @@
<string name="NoPicksClassifiedsText">
Vous n&apos;avez pas créé de favoris ni de petites annonces Cliquez sur le bouton Plus pour créer un favori ou une petite annonce.
</string>
+ <string name="NoAvatarPicksClassifiedsText">
+ L&apos;utilisateur n&apos;a ni favoris ni petites annonces
+ </string>
<string name="PicksClassifiedsLoadingText">
Chargement...
</string>
diff --git a/indra/newview/skins/default/xui/it/floater_world_map.xml b/indra/newview/skins/default/xui/it/floater_world_map.xml
index a672df0d96..1b47dd7d7e 100644
--- a/indra/newview/skins/default/xui/it/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/it/floater_world_map.xml
@@ -5,7 +5,8 @@
Legenda
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_2">
<button font="SansSerifSmall" label="Mostra la mia posizione" label_selected="Mostra la mia posizione" left_delta="91" name="Show My Location" tool_tip="Centra la mappa sul luogo dove si trova il mio avatar" width="135"/>
<text name="person_label">
Io
@@ -37,12 +38,14 @@
</text>
<check_box label="Adult" name="event_adult_chk"/>
</panel>
- <panel>
+ <panel
+ name="layout_panel_3">
<text name="find_on_map_label">
Trova sulla Mappa
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_4">
<combo_box label="Amici Online" name="friend combo" tool_tip="Mostra amici sulla mappa">
<combo_box.item label="Miei Amici Online" name="item1"/>
</combo_box>
@@ -59,12 +62,14 @@
<button font="SansSerifSmall" label="Copia SLurl" name="copy_slurl" tool_tip="Copia il luogo attuale come SLurl per essere usato nel web."/>
<button font="SansSerifSmall" label="Mostra Selezione" label_selected="Mostra destinazione" left_delta="91" name="Show Destination" tool_tip="Centra la mappa sul luogo prescelto" width="135"/>
</panel>
- <panel>
+ <panel
+ name="layout_panel_5">
<text name="zoom_label">
Zoom
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_6">
<slider label="Zoom" name="zoom slider"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/it/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/it/panel_nearby_chat_bar.xml
index 0361eb49ed..f7a58581d4 100644
--- a/indra/newview/skins/default/xui/it/panel_nearby_chat_bar.xml
+++ b/indra/newview/skins/default/xui/it/panel_nearby_chat_bar.xml
@@ -1,11 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="chat_bar">
- <string name="min_width">
- 192
- </string>
- <string name="max_width">
- 320
- </string>
<line_editor label="Clicca qui per la chat." name="chat_box" tool_tip="Premi Invio per dire, Ctrl+Invio per gridare"/>
<button name="show_nearby_chat" tool_tip="Mostra/Nasconde la chat log nei dintorni"/>
</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_place_profile.xml b/indra/newview/skins/default/xui/it/panel_place_profile.xml
index 70e1577199..03716ba4c5 100644
--- a/indra/newview/skins/default/xui/it/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/it/panel_place_profile.xml
@@ -48,7 +48,7 @@
<text name="maturity_value" value="sconosciuto"/>
<accordion name="advanced_info_accordion">
<accordion_tab name="parcel_characteristics_tab" title="Parcel">
- <panel>
+ <panel name="parcel_characteristics_panel">
<text name="rating_label" value="Valutazione:"/>
<text name="rating_value" value="sconosciuto"/>
<text name="voice_label" value="Voice:"/>
@@ -67,7 +67,7 @@
</panel>
</accordion_tab>
<accordion_tab name="region_information_tab" title="Regione">
- <panel>
+ <panel name="region_information_panel">
<text name="region_name_label" value="Regione:"/>
<text name="region_type_label" value="Scrivi:"/>
<text name="region_rating_label" value="Valutazione:"/>
@@ -77,7 +77,7 @@
</panel>
</accordion_tab>
<accordion_tab name="estate_information_tab" title="Proprietà immobiliare">
- <panel>
+ <panel name="estate_information_panel">
<text name="estate_name_label" value="Proprietà immobiliare:"/>
<text name="estate_rating_label" value="Valutazione:"/>
<text name="estate_owner_label" value="Proprietà:"/>
@@ -85,7 +85,7 @@
</panel>
</accordion_tab>
<accordion_tab name="sales_tab" title="In vendita">
- <panel>
+ <panel name="sales_panel">
<text name="sales_price_label" value="Prezzo:"/>
<text name="area_label" value="Area:"/>
<text name="traffic_label" value="Traffico:"/>
diff --git a/indra/newview/skins/default/xui/it/sidepanel_task_info.xml b/indra/newview/skins/default/xui/it/sidepanel_task_info.xml
index e5f27795be..0eecdfb2a2 100644
--- a/indra/newview/skins/default/xui/it/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/it/sidepanel_task_info.xml
@@ -36,7 +36,7 @@
<panel.string name="Sale Mixed">
Vendita assortita
</panel.string>
- <panel label="">
+ <panel name="properties_panel" label="">
<text name="Name:">
Nome:
</text>
@@ -74,7 +74,7 @@
</combo_box>
<spinner label="Prezzo: L$" name="Edit Cost"/>
<check_box label="Mostra nella ricerca" name="search_check" tool_tip="Mostra questo oggetto nei risultati della ricerca"/>
- <panel name="perms_build">
+ <panel name="perms_inv">
<text name="perm_modify">
Puoi modificare questo oggetto
</text>
diff --git a/indra/newview/skins/default/xui/ja/floater_about.xml b/indra/newview/skins/default/xui/ja/floater_about.xml
index 9105c2613d..0eaad11cc7 100644
--- a/indra/newview/skins/default/xui/ja/floater_about.xml
+++ b/indra/newview/skins/default/xui/ja/floater_about.xml
@@ -43,7 +43,7 @@ Vivox バージョン: [VIVOX_VERSION]
</panel>
<panel label="クレジット" name="credits_panel">
<text_editor name="credits_editor">
- Second Lifeは、 Philip、Tessa、Andrew、Cory、James、Ben、Char、Charlie、Colin、Dan、Daniel、Doug、Eric、Hamlet、Haney、Eve、Hunter、Ian、Jeff、Jennifer、Jim、John、Lee、Mark、Peter、Phoenix、Richard、Robin、Xenon、Steve、Tanya、Eddie、Avi、Frank、Bruce、Aaron、Alice、Bob、Debra、Eileen、Helen、Janet、Louie、Leviathania、Stefan、Ray、Kevin、Tom、Mikeb、MikeT、Burgess、Elena、Tracy、Bill、Todd、Ryan、Zach、Sarah、Nova、Tim、Stephanie、Michael、Evan、Nicolas、Catherine、Rachelle、Dave、Holly、Bub、Kelly、Magellan、Ramzi、Don、Sabin、Jill、Rheya、Jeska、Torley、Kona、Callum、Charity、Ventrella、Jack、Vektor、Iris、Chris、Nicole、Mick、Reuben、Blue、Babbage、Yedwab、Deana、Lauren、Brent、Pathfinder、Chadrick、Altruima、Jesse、Teeny、Monroe、Icculus、David、Tess、Lizzie、Patsy、Isaac、Lawrence、Cyn、Bo、Gia、Annette、Marius、Tbone、Jonathan、Karen、Ginsu、Satoko、Yuko、Makiko、Thomas、Harry、Seth、Alexei、Brian、Guy、Runitai、Ethan、Data、Cornelius、Kenny、Swiss、Zero、Natria、Wendy、Stephen、Teeple、Thumper、Lucy、Dee、Mia、Liana、Warren、Branka、Aura、beez、Milo、Hermia、Red、Thrax、Joe、Sally、Magenta、Mogura、Paul、Jose、Rejean、Henrik、Lexie、Amber、Logan、Xan、Nora、Morpheus、Donovan、Leyla、MichaelFrancis、Beast、Cube、Bucky、Joshua、Stryfe、Harmony、Teresa、Claudia、Walker、Glenn、Fritz、Fordak、June、Cleopetra、Jean、Ivy、Betsy、Roosevelt、Spike、Ken、Which、Tofu、Chiyo、Rob、Zee、dustin、George、Del、Matthew、Cat、Jacqui、Lightfoot、Adrian、Viola、Alfred、Noel、Irfan、Sunil、Yool、Rika、Jane、Xtreme、Frontier、a2、Neo、Siobhan、Yoz、Justin、Elle、Qarl、Benjamin、Isabel、Gulliver、Everett、Christopher、Izzy、Stephany、Garry、Sejong、Sean、Tobin、Iridium、Meta、Anthony、Jeremy、JP、Jake、Maurice、Madhavi、Leopard、Kyle、Joon、Kari、Bert、Belinda、Jon、Kristi、Bridie、Pramod、KJ、Socrates、Maria、Ivan、Aric、Yamasaki、Adreanne、Jay、MitchK、Ceren、Coco、Durl、Jenny、Periapse、Kartic、Storrs、Lotte、Sandy、Rohn、Colossus、Zen、BigPapi、Brad、Pastrami、Kurz、Mani、Neuro、Jaime、MJ、Rowan、Sgt、Elvis、Gecko、Samuel、Sardonyx、Leo、Bryan、Niko、Soft、Poppy、Rachel、Aki、Angelo、Banzai、Alexa、Sue、CeeLo、Bender、CG、Gillian、Pelle、Nick、Echo、Zara、Christine、Shamiran、Emma、Blake、Keiko、Plexus、Joppa、Sidewinder、Erica、Ashlei、Twilight、Kristen、Brett、Q、Enus、Simon、Bevis、Kraft、Kip、Chandler、Ron、LauraP、Ram、KyleJM、Scouse、Prospero、Melissa、Marty、Nat、Hamilton、Kend、Lordan、Jimmy、Kosmo、Seraph、Green、Ekim、Wiggo、JT、Rome、Doris、Miz、Benoc、Whump、Trinity、Patch、Kate、TJ、Bao、Joohwan、Christy、Sofia、Matias、Cogsworth、Johan、Oreh、Cheah、Angela、Brandy、Mango、Lan、Aleks、Gloria、Heidy、Mitchell、Space、Colton、Bambers、Einstein、Maggie、Malbers、Rose、Winnie、Stella、Milton、Rothman、Niall、Marin、Allison、Katie、Dawn、Katt、Dusty、Kalpana、Judy、Andrea、Ambroff、Infinity、Gail、Rico、Raymond、Yi、William、Christa、M、Teagan、Scout、Molly、Dante、Corr、Dynamike、Usi、Kaylee、Vidtuts、Lil、Danica、Sascha、Kelv、Jacob、Nya、Rodney、Brandon、Elsie、Blondin、Grant、Katrin、Nyx、Gabriel、Locklainn、Claire、Devin、Minerva、Monty、Austin、Bradford、Si、Keira、H、Caitlin、Dita、Makai、Jenn、Ann、Meredith、Clare、Joy、Praveen、Cody、Edmund、Ruthe、Sirena、Gayathri、Spider、FJ、Davidoff、Tian、Jennie、Louise、Oskar、Landon、Noelle、Jarv、Ingrid、Al、Sommer、Doc、Aria、Huin、Gray、Lili、Vir、DJ、Yang、T、Simone、Maestro、Scott、Charlene、Quixote、Amanda、Susan、Zed、Anne、Enkidu、Esbee、Joroan、Katelin、Roxie、Tay、Scarlet、Kevin、Johnny、Wolfgang、Andren、Bob、Howard、Merov、Rand、Ray、Michon、Newell、Galen、Dessie、Les、Michon、Jenelle、Geo、Siz、Shapiro、Pete、Calyle、Selene、Allen、Phoebe、Goldin、Kimmora、Dakota、Slaton、Lindquist、Zoey、Hari、Othello、Rohit、Sheldon、Petra、Viale、Gordon、Kaye、Pink、Ferny、Emerson、Davy、Bri、Chan、Juan、Robert、Terrence、Nathan、Carlと、その他多数の人達によって作成されました。
+ Second Life は、 Philip、Tessa、Andrew、Cory、James、Ben、Char、Charlie、Colin、Dan、Daniel、Doug、Eric、Hamlet、Haney、Eve、Hunter、Ian、Jeff、Jennifer、Jim、John、Lee、Mark、Peter、Phoenix、Richard、Robin、Xenon、Steve、Tanya、Eddie、Avi、Frank、Bruce、Aaron、Alice、Bob、Debra、Eileen、Helen、Janet、Louie、Leviathania、Stefan、Ray、Kevin、Tom、Mikeb、MikeT、Burgess、Elena、Tracy、Bill、Todd、Ryan、Zach、Sarah、Nova、Tim、Stephanie、Michael、Evan、Nicolas、Catherine、Rachelle、Dave、Holly、Bub、Kelly、Magellan、Ramzi、Don、Sabin、Jill、Rheya、Jeska、Torley、Kona、Callum、Charity、Ventrella、Jack、Vektor、Iris、Chris、Nicole、Mick、Reuben、Blue、Babbage、Yedwab、Deana、Lauren、Brent、Pathfinder、Chadrick、Altruima、Jesse、Teeny、Monroe、Icculus、David、Tess、Lizzie、Patsy、Isaac、Lawrence、Cyn、Bo、Gia、Annette、Marius、Tbone、Jonathan、Karen、Ginsu、Satoko、Yuko、Makiko、Thomas、Harry、Seth、Alexei、Brian、Guy、Runitai、Ethan、Data、Cornelius、Kenny、Swiss、Zero、Natria、Wendy、Stephen、Teeple、Thumper、Lucy、Dee、Mia、Liana、Warren、Branka、Aura、beez、Milo、Hermia、Red、Thrax、Joe、Sally、Magenta、Mogura、Paul、Jose、Rejean、Henrik、Lexie、Amber、Logan、Xan、Nora、Morpheus、Donovan、Leyla、MichaelFrancis、Beast、Cube、Bucky、Joshua、Stryfe、Harmony、Teresa、Claudia、Walker、Glenn、Fritz、Fordak、June、Cleopetra、Jean、Ivy、Betsy、Roosevelt、Spike、Ken、Which、Tofu、Chiyo、Rob、Zee、dustin、George、Del、Matthew、Cat、Jacqui、Lightfoot、Adrian、Viola、Alfred、Noel、Irfan、Sunil、Yool、Rika、Jane、Xtreme、Frontier、a2、Neo、Siobhan、Yoz、Justin、Elle、Qarl、Benjamin、Isabel、Gulliver、Everett、Christopher、Izzy、Stephany、Garry、Sejong、Sean、Tobin、Iridium、Meta、Anthony、Jeremy、JP、Jake、Maurice、Madhavi、Leopard、Kyle、Joon、Kari、Bert、Belinda、Jon、Kristi、Bridie、Pramod、KJ、Socrates、Maria、Ivan、Aric、Yamasaki、Adreanne、Jay、MitchK、Ceren、Coco、Durl、Jenny、Periapse、Kartic、Storrs、Lotte、Sandy、Rohn、Colossus、Zen、BigPapi、Brad、Pastrami、Kurz、Mani、Neuro、Jaime、MJ、Rowan、Sgt、Elvis、Gecko、Samuel、Sardonyx、Leo、Bryan、Niko、Soft、Poppy、Rachel、Aki、Angelo、Banzai、Alexa、Sue、CeeLo、Bender、CG、Gillian、Pelle、Nick、Echo、Zara、Christine、Shamiran、Emma、Blake、Keiko、Plexus、Joppa、Sidewinder、Erica、Ashlei、Twilight、Kristen、Brett、Q、Enus、Simon、Bevis、Kraft、Kip、Chandler、Ron、LauraP、Ram、KyleJM、Scouse、Prospero、Melissa、Marty、Nat、Hamilton、Kend、Lordan、Jimmy、Kosmo、Seraph、Green、Ekim、Wiggo、JT、Rome、Doris、Miz、Benoc、Whump、Trinity、Patch、Kate、TJ、Bao、Joohwan、Christy、Sofia、Matias、Cogsworth、Johan、Oreh、Cheah、Angela、Brandy、Mango、Lan、Aleks、Gloria、Heidy、Mitchell、Space、Colton、Bambers、Einstein、Maggie、Malbers、Rose、Winnie、Stella、Milton、Rothman、Niall、Marin、Allison、Katie、Dawn、Katt、Dusty、Kalpana、Judy、Andrea、Ambroff、Infinity、Gail、Rico、Raymond、Yi、William、Christa、M、Teagan、Scout、Molly、Dante、Corr、Dynamike、Usi、Kaylee、Vidtuts、Lil、Danica、Sascha、Kelv、Jacob、Nya、Rodney、Brandon、Elsie、Blondin、Grant、Katrin、Nyx、Gabriel、Locklainn、Claire、Devin、Minerva、Monty、Austin、Bradford、Si、Keira、H、Caitlin、Dita、Makai、Jenn、Ann、Meredith、Clare、Joy、Praveen、Cody、Edmund、Ruthe、Sirena、Gayathri、Spider、FJ、Davidoff、Tian、Jennie、Louise、Oskar、Landon、Noelle、Jarv、Ingrid、Al、Sommer、Doc、Aria、Huin、Gray、Lili、Vir、DJ、Yang、T、Simone、Maestro、Scott、Charlene、Quixote、Amanda、Susan、Zed、Anne、Enkidu、Esbee、Joroan、Katelin、Roxie、Tay、Scarlet、Kevin、Johnny、Wolfgang、Andren、Bob、Howard、Merov、Rand、Ray、Michon、Newell、Galen、Dessie、Les、Michon、Jenelle、Geo、Siz、Shapiro、Pete、Calyle、Selene、Allen、Phoebe、Goldin、Kimmora、Dakota、Slaton、Lindquist、Zoey、Hari、Othello、Rohit、Sheldon、Petra、Viale、Gordon、Kaye、Pink、Ferny、Emerson、Davy、Bri、Chan、Juan、Robert、Terrence、Nathan、Carlと、その他多数の人達によって作成されました。
このバージョンをこれまでで最高のものになるようご協力をいただいた以下の住人の皆様に深く感謝いたします。 able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar
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 d57a81c770..a16348529b 100644
--- a/indra/newview/skins/default/xui/ja/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/ja/floater_about_land.xml
@@ -73,7 +73,7 @@
Adult
</text>
<text name="Owner:">
- オーナー:
+ 所有者:
</text>
<text name="OwnerText">
Leyla Linden
@@ -85,9 +85,9 @@
Leyla Linden
</text>
<button label="設定" label_selected="設定..." name="Set..."/>
- <check_box label="グループへの譲渡を許可" name="check deed" tool_tip="グループのオフィサーはこの土地をグループに譲渡できます。そうするとグループの土地割り当てによってサポートされます。"/>
- <button label="譲渡" label_selected="譲渡..." name="Deed..." tool_tip="選択されたグループのオフィサーであるときのみ、土地を譲渡できます。"/>
- <check_box label="オーナーが譲渡と共に寄付" name="check contrib" tool_tip="土地がグループに譲渡されるとき、前の所有者は譲渡が成立するよう、十分な土地を寄付します。"/>
+ <check_box label="グループへの譲渡を許可" name="check deed" tool_tip="グループのオフィサーはこの土地をグループに譲渡できます。グループの土地割り当てによってサポートされます。"/>
+ <button label="譲渡" label_selected="譲渡..." name="Deed..." tool_tip="選択したグループのオフィサーのみ、土地を譲渡できます。"/>
+ <check_box label="所有者が譲渡と共に寄付" name="check contrib" tool_tip="土地がグループに譲渡されるとき、前の所有者は譲渡が成立するよう、十分な土地を寄付します。"/>
<text name="For Sale:">
販売の有無:
</text>
@@ -136,16 +136,16 @@
</panel>
<panel label="約款" name="land_covenant_panel">
<panel.string name="can_resell">
- この地域で購入した土地は、再販できます。
+ このリージョン(地域)で購入した土地は、再販できます。
</panel.string>
<panel.string name="can_not_resell">
- この地域で購入した土地は、再販できないことがあります。
+ このリージョン(地域)で購入した土地は、再販できないことがあります。
</panel.string>
<panel.string name="can_change">
- この地域で購入した土地は、統合または再分割できます。
+ このリージョン(地域)で購入した土地は、統合または再分割できます。
</panel.string>
<panel.string name="can_not_change">
- この地域で購入した土地は、統合/再分割できないことが
+ このリージョン(地域)で購入した土地は、統合・再分割できないことがあります。
あります。
</panel.string>
<text font="SansSerifLarge" name="estate_section_lbl">
@@ -194,8 +194,7 @@
再分割:
</text>
<text name="changeable_clause">
- この地域(リージョン)にある土地は統合または分割ができ
-ません。
+ このリージョン(地域)にある土地は統合または分割ができないことがあります。
</text>
</panel>
<panel label="オブジェクト" name="land_objects_panel">
@@ -233,7 +232,7 @@
[COUNT]
</text>
<button label="表示" label_selected="表示" name="ShowOwner" right="-145"/>
- <button label="返却" label_selected="返却..." name="ReturnOwner..." right="-15" tool_tip="オブジェクトをオーナーに返却します"/>
+ <button label="返却" label_selected="返却..." name="ReturnOwner..." right="-15" tool_tip="オブジェクトを所有者に返却します"/>
<text name="Set to group:">
グループに設定:
</text>
@@ -241,7 +240,7 @@
[COUNT]
</text>
<button label="表示" label_selected="表示" name="ShowGroup" right="-145"/>
- <button label="返却" label_selected="返却..." name="ReturnGroup..." right="-15" tool_tip="オブジェクトをオーナーに返却します"/>
+ <button label="返却" label_selected="返却..." name="ReturnGroup..." right="-15" tool_tip="オブジェクトを所有者に返却します"/>
<text name="Owned by others:">
他人の所有物:
</text>
@@ -249,7 +248,7 @@
[COUNT]
</text>
<button label="表示" label_selected="表示" name="ShowOther" right="-145"/>
- <button label="返却" label_selected="返却..." name="ReturnOther..." right="-15" tool_tip="オブジェクトをオーナーに返却します"/>
+ <button label="返却" label_selected="返却..." name="ReturnOther..." right="-15" tool_tip="オブジェクトを所有者に返却します"/>
<text name="Selected / sat upon:">
選択済み・決定済み:
</text>
@@ -269,7 +268,7 @@
<name_list.columns label="タイプ" name="type"/>
<name_list.columns name="online_status"/>
<name_list.columns label="名前" name="name"/>
- <name_list.columns label="カウント" name="count"/>
+ <name_list.columns label="数" name="count"/>
<name_list.columns label="最新" name="mostrecent"/>
</name_list>
</panel>
@@ -285,16 +284,16 @@
あなたはこの区画の設定編集ができないため、このオプションは無効です。
</panel.string>
<panel.string name="mature_check_mature">
- 控えめコンテンツ
+ 「Moderate」コンテンツ
</panel.string>
<panel.string name="mature_check_adult">
- Adultコンテンツ
+ 「Adult」コンテンツ
</panel.string>
<panel.string name="mature_check_mature_tooltip">
- あなたの区画情報及びコンテンツは控えめとされています。
+ あなたの区画情報及びコンテンツは「Moderate」とされています。
</panel.string>
<panel.string name="mature_check_adult_tooltip">
- あなたの区画情報及びコンテンツはAdultとされています。
+ あなたの区画情報及びコンテンツは「Adult」とされています。
</panel.string>
<panel.string name="landing_point_none">
(なし)
@@ -303,7 +302,7 @@
プッシングを制限
</panel.string>
<panel.string name="push_restrict_region_text">
- プッシングを制限 (地域優先)
+ プッシングを制限 (地域設定優先)
</panel.string>
<text name="allow_label">
他の住人への許可:
@@ -334,7 +333,7 @@
<combo_box name="land category with adult">
<combo_box.item label="全カテゴリ" name="item0"/>
<combo_box.item label="Linden 所在地" name="item1"/>
- <combo_box.item label="アダルト" name="item2"/>
+ <combo_box.item label="Adult" name="item2"/>
<combo_box.item label="アートとカルチャー" name="item3"/>
<combo_box.item label="ビジネス" name="item4"/>
<combo_box.item label="教育的" name="item5"/>
@@ -360,7 +359,7 @@
<combo_box.item label="ショッピング" name="item11"/>
<combo_box.item label="その他" name="item12"/>
</combo_box>
- <check_box label="控えめコンテンツ" name="MatureCheck" tool_tip=""/>
+ <check_box label="「Moderate」コンテンツ" name="MatureCheck" tool_tip=""/>
<text name="Snapshot:">
スナップショット:
</text>
@@ -383,7 +382,7 @@
<text name="with media:">
種類:
</text>
- <combo_box name="media type" tool_tip="URL が動画、Webページ、その他のメディアの場合に指定します"/>
+ <combo_box name="media type" tool_tip="URL が動画、Web ページ、その他のメディアかを指定します"/>
<text name="at URL:">
ホームページ:
</text>
@@ -391,7 +390,7 @@
<text name="CurrentURL:">
現在のページ:
</text>
- <button label="リセット..." label_selected="リセット..." name="reset_media_url" tool_tip="URLを更新"/>
+ <button label="リセット..." label_selected="リセット..." name="reset_media_url" tool_tip="URL を更新"/>
<check_box label="URL を非表示" name="hide_media_url" tool_tip="このオプションをオンにすると、許可なしでこの区画情報にアクセスしているユーザーにはメディア URL が表示されません。 これは HTML タイプには使用できませんのでご注意ください。"/>
<text name="Description:">
説明:
@@ -404,12 +403,12 @@
<text name="replace_texture_help" width="290">
このテクスチャを使用するオブジェクトの「再生」をクリックすると、動画や Web ページを表示します。 テクスチャを変更するにはサムネイルを選択してください。
</text>
- <check_box label="スケールを自動設定" name="media_auto_scale" tool_tip="このオプションをチェックすると、この区画のコンテンツのスケールが自動的に設定されます。 動作速度と画質が少し低下することがありますが、他のテクスチャーのスケーリングや整列が必要になることはありません。"/>
- <text name="media_size" tool_tip="レンダリングするWebメディアのサイズです。デフォルトの 0 のままにします。">
+ <check_box label="スケールを自動設定" name="media_auto_scale" tool_tip="このオプションをチェックすると、この区画のコンテンツのスケールが自動的に設定されます。 動作速度と画質が少し低下することがありますが、他のテクスチャのスケーリングや整列が必要になることはありません。"/>
+ <text name="media_size" tool_tip="レンダリングする Web メディアのサイズです。デフォルトの 0 のままにします。">
サイズ:
</text>
- <spinner name="media_size_width" tool_tip="レンダリングするWebメディアのサイズです。デフォルトの 0 のままにします。"/>
- <spinner name="media_size_height" tool_tip="レンダリングするWebメディアのサイズです。デフォルトの 0 のままにします。"/>
+ <spinner name="media_size_width" tool_tip="レンダリングする Web メディアのサイズです。デフォルトの 0 のままにします。"/>
+ <spinner name="media_size_height" tool_tip="レンダリングする Web メディアのサイズです。デフォルトの 0 のままにします。"/>
<text name="pixels">
ピクセル
</text>
@@ -422,7 +421,7 @@
<text name="MusicURL:">
音楽 URL:
</text>
- <check_box label="URL を非表示にする" name="hide_music_url" tool_tip="このオプションにチェックを入れると、権限のない人が区画情報を見たときに音楽のURLが隠れます。"/>
+ <check_box label="URL を非表示にする" name="hide_music_url" tool_tip="このオプションにチェックを入れると、権限のない人が区画情報を見たときに音楽の URL が隠れます。"/>
<text name="Sound:">
サウンド:
</text>
@@ -451,7 +450,7 @@
<check_box label="支払情報登録済 [ESTATE_PAYMENT_LIMIT]" name="limit_payment" tool_tip="未確認の住人の立入を禁止します。"/>
<check_box label="年齢確認 [ESTATE_AGE_LIMIT]" name="limit_age_verified" tool_tip="年齢確認を済ませていない住人の立入を禁止します。 詳しい情報は [SUPPORT_SITE] をご覧下さい。"/>
<check_box label="グループのアクセスを許可:[GROUP]" name="GroupCheck" tool_tip="「一般」タブで、グループを選択してください。"/>
- <check_box label="入場許可を販売:" name="PassCheck" tool_tip="この区画への一時的なアクセスを許可します"/>
+ <check_box label="入場許可を販売:" name="PassCheck" tool_tip="この区画への一時的なアクセスを許可します。"/>
<combo_box name="pass_combo">
<combo_box.item label="誰でも" name="Anyone"/>
<combo_box.item label="グループ" name="Group"/>
diff --git a/indra/newview/skins/default/xui/ja/floater_buy_contents.xml b/indra/newview/skins/default/xui/ja/floater_buy_contents.xml
index 69d4faf5b8..ed17736eb3 100644
--- a/indra/newview/skins/default/xui/ja/floater_buy_contents.xml
+++ b/indra/newview/skins/default/xui/ja/floater_buy_contents.xml
@@ -1,22 +1,22 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater min_width="340" name="floater_buy_contents" title="中身の購入" width="340">
<text name="contains_text" width="320">
- [NAME]の中身:
+ [NAME] の中身:
</text>
<scroll_list name="item_list" width="310"/>
<text name="buy_text" width="320">
- 中身を[NAME]からL$[AMOUNT]で購入しますか?
+ 中身を [NAME] から L$[AMOUNT] で購入しますか?
</text>
<button label="取り消し" label_selected="取り消し" name="cancel_btn" width="73"/>
<button label="購入" label_selected="購入" left_delta="-77" name="buy_btn" width="73"/>
- <check_box label="今すぐ服を着る" left_delta="-125" name="wear_check"/>
+ <check_box label="今すぐ着る" left_delta="-125" name="wear_check"/>
<text name="no_copy_text">
- (コピー不可)
+ (コピー不可)
</text>
<text name="no_modify_text">
- (修正不可)
+ (修正不可)
</text>
<text name="no_transfer_text">
- (再販・プレゼント不可)
+ (再販・プレゼント不可)
</text>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_buy_object.xml b/indra/newview/skins/default/xui/ja/floater_buy_object.xml
index 7a5b7dc140..f323263699 100644
--- a/indra/newview/skins/default/xui/ja/floater_buy_object.xml
+++ b/indra/newview/skins/default/xui/ja/floater_buy_object.xml
@@ -4,7 +4,7 @@
中身:
</text>
<text name="buy_text">
- [NAME]からL$[AMOUNT]で購入しますか?
+ [NAME] から L$[AMOUNT] で購入しますか?
</text>
<button label="取消" label_selected="取消" name="cancel_btn"/>
<button label="購入" label_selected="購入" name="buy_btn"/>
@@ -15,12 +15,12 @@
次のものを購入
</string>
<text name="no_copy_text">
- (コピー不可)
+ (コピー不可)
</text>
<text name="no_modify_text">
- (修正不可)
+ (修正不可)
</text>
<text name="no_transfer_text">
- (再販・プレゼント不可)
+ (再販・プレゼント不可)
</text>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_camera.xml b/indra/newview/skins/default/xui/ja/floater_camera.xml
index 3730bcd385..610d4183b3 100644
--- a/indra/newview/skins/default/xui/ja/floater_camera.xml
+++ b/indra/newview/skins/default/xui/ja/floater_camera.xml
@@ -9,6 +9,18 @@
<floater.string name="move_tooltip">
カメラを上下左右に移動
</floater.string>
+ <floater.string name="orbit_mode_title">
+ 旋回
+ </floater.string>
+ <floater.string name="pan_mode_title">
+ 水平・垂直移動
+ </floater.string>
+ <floater.string name="avatar_view_mode_title">
+ 固定
+ </floater.string>
+ <floater.string name="free_mode_title">
+ オブジェクトを見る
+ </floater.string>
<panel name="controls">
<joystick_track name="cam_track_stick" tool_tip="カメラを上下左右に動かします"/>
<panel name="zoom" tool_tip="向いている方法にカメラをズーム">
@@ -25,7 +37,7 @@
<panel name="buttons">
<button label="" name="orbit_btn" tool_tip="カメラを回す"/>
<button label="" name="pan_btn" tool_tip="カメラを水平・垂直移動"/>
- <button label="" name="avatarview_btn" tool_tip="アバター視点"/>
+ <button label="" name="avatarview_btn" tool_tip="固定"/>
<button label="" name="freecamera_btn" tool_tip="オブジェクトを見る"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_customize.xml b/indra/newview/skins/default/xui/ja/floater_customize.xml
index 4d8b91ff99..cc0032e1ab 100644
--- a/indra/newview/skins/default/xui/ja/floater_customize.xml
+++ b/indra/newview/skins/default/xui/ja/floater_customize.xml
@@ -35,7 +35,7 @@
[PATH] に所在
</text>
<text name="not worn instructions">
- 持ち物からあなたのアバターに1つドラッグして、新しいシェイプをつけます。 代わりに、はじめから新しく作成して着用することもできます。
+ 持ち物からあなたのアバターに 1 つドラッグして、新しいシェイプをつけます。 代わりに、はじめから新しく作成して着用することもできます。
</text>
<text name="no modify instructions">
あなたはこの服の修正を許されていません。
@@ -68,7 +68,7 @@
[PATH] に所在
</text>
<text name="not worn instructions">
- 持ち物からあなたのアバターに1つドラッグして、新しいスキンをつけます。 代わりに、はじめから新しく作成して着用することもできます。
+ 持ち物からあなたのアバターに 1 つドラッグして、新しいスキンをつけます。 代わりに、はじめから新しく作成して着用することもできます。
</text>
<text name="no modify instructions">
あなたはこの服の修正を許されていません。
@@ -105,7 +105,7 @@
[PATH] に所在
</text>
<text name="not worn instructions">
- 持ち物からあなたのアバターに1つドラッグして、新しい髪をつけます。 代わりに、はじめから新しく作成して着用することもできます。
+ 持ち物からあなたのアバターに 1 つドラッグして、新しい髪をつけます。 代わりに、はじめから新しく作成して着用することもできます。
</text>
<text name="no modify instructions">
あなたはこの服の修正を許されていません。
@@ -113,7 +113,7 @@
<text name="Item Action Label">
髪型:
</text>
- <texture_picker label="テクスチャー" name="Texture" tool_tip="写真をクリックして選択"/>
+ <texture_picker label="テクスチャ" name="Texture" tool_tip="写真をクリックして選択"/>
<button label="新しい髪を作成" label_selected="新しい髪を作成" name="Create New"/>
<button label="保存" label_selected="保存" name="Save"/>
<button label="別名で保存..." label_selected="別名で保存..." name="Save As"/>
@@ -177,7 +177,7 @@
[PATH] に所在
</text>
<text name="not worn instructions">
- 持ち物からあなたのアバターに1つドラッグして、新しいシャツを着ます。 代わりに、はじめから新しく作成して着用することもできます。
+ 持ち物からあなたのアバターに 1 つドラッグして、新しいシャツを着ます。 代わりに、はじめから新しく作成して着用することもできます。
</text>
<text name="no modify instructions">
あなたはこの服の修正を許されていません。
@@ -302,7 +302,7 @@
[PATH] に所在
</text>
<text name="not worn instructions">
- 持ち物からあなたのアバターに1つドラッグして、新しいジャケットを着ます。 代わりに、はじめから新しく作成して着用することもできます。
+ 持ち物からあなたのアバターに 1 つドラッグして、新しいジャケットを着ます。 代わりに、はじめから新しく作成して着用することもできます。
</text>
<button label="新しい上着を作成" label_selected="新しい上着を作成" name="Create New"/>
<text name="no modify instructions">
@@ -435,7 +435,7 @@
[PATH] に所在
</text>
<text name="not worn instructions">
- 持ち物からあなたのアバターに1つドラッグして、新しいスカートを履きます。 代わりに、はじめから新しく作成して着用することもできます。
+ 持ち物からあなたのアバターに 1 つドラッグして、新しいスカートを履きます。 代わりに、はじめから新しく作成して着用することもできます。
</text>
<button label="スカートを作成" label_selected="スカートを作成" name="Create New"/>
<text name="no modify instructions">
@@ -522,7 +522,7 @@
<button label="元に戻す" label_selected="元に戻す" name="Revert"/>
</panel>
</tab_container>
- <button label="スクリプト情報" label_selected="スクリプト情報" name="script_info" tool_tip="あなたのアバターに付いているスクリプトを表示する"/>
+ <button label="スクリプト情報" label_selected="スクリプト情報" name="script_info" tool_tip="あなたのアバターに付いているスクリプトを表示します"/>
<button label="アウトフィット作成" label_selected="アウトフィット作成" name="make_outfit_btn"/>
<button label="キャンセル" label_selected="キャンセル" name="Cancel"/>
<button label="OK" label_selected="OK" name="Ok"/>
diff --git a/indra/newview/skins/default/xui/ja/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/ja/floater_day_cycle_options.xml
index 3bd5ed2837..2a7985fe58 100644
--- a/indra/newview/skins/default/xui/ja/floater_day_cycle_options.xml
+++ b/indra/newview/skins/default/xui/ja/floater_day_cycle_options.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<floater name="Day Cycle Floater" title="デイ・サイクル編集">
+<floater name="Day Cycle Floater" title="デイサイクル編集">
<tab_container name="Day Cycle Tabs">
- <panel label="デイ・サイクル" name="Day Cycle">
+ <panel label="デイサイクル" name="Day Cycle">
<button label="?" name="WLDayCycleHelp" />
<text name="WL12am">
深夜 12時
@@ -63,7 +63,7 @@
キーフレームの設定:
</text>
<text name="WLCurKeyTimeText">
- キー・タイム:
+ キータイム:
</text>
<spinner label="時間" name="WLCurKeyHour" />
<spinner label="分" name="WLCurKeyMin" />
@@ -88,10 +88,10 @@
<button label="停止!" label_selected="停止" name="WLStopAnimSky" />
<button label="不動産の時刻を使用"
label_selected="不動産の時刻に変更" name="WLUseLindenTime" width="140"/>
- <button label="デイ・テストを保存"
- label_selected="デイ・テストを保存" name="WLSaveDayCycle" />
- <button label="デイ・テストをロード"
- label_selected="デイ・テストをロード" name="WLLoadDayCycle" />
+ <button label="デイテストを保存"
+ label_selected="デイテストを保存" name="WLSaveDayCycle" />
+ <button label="デイテストをロード"
+ label_selected="デイテストをロード" name="WLLoadDayCycle" />
</panel>
</tab_container>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_event.xml b/indra/newview/skins/default/xui/ja/floater_event.xml
index 306b262b70..671f9077d9 100644
--- a/indra/newview/skins/default/xui/ja/floater_event.xml
+++ b/indra/newview/skins/default/xui/ja/floater_event.xml
@@ -9,6 +9,18 @@
<floater.string name="dont_notify">
知らせない
</floater.string>
+ <floater.string name="moderate">
+ Moderate
+ </floater.string>
+ <floater.string name="adult">
+ Adult
+ </floater.string>
+ <floater.string name="general">
+ General
+ </floater.string>
+ <floater.string name="unknown">
+ 不明
+ </floater.string>
<layout_stack name="layout">
<layout_panel name="profile_stack">
<text name="event_name">
@@ -21,12 +33,21 @@
主催者:
</text>
<text initial_value="(取得中)" name="event_runby"/>
+ <text name="event_date_label">
+ 日付:
+ </text>
<text name="event_date">
10/10/2010
</text>
+ <text name="event_duration_label">
+ 期間:
+ </text>
<text name="event_duration">
1 時間
</text>
+ <text name="event_covercharge_label">
+ カバーチャージ:
+ </text>
<text name="event_cover">
無料
</text>
diff --git a/indra/newview/skins/default/xui/ja/floater_im_container.xml b/indra/newview/skins/default/xui/ja/floater_im_container.xml
index 1d028258ec..06b65e27f0 100644
--- a/indra/newview/skins/default/xui/ja/floater_im_container.xml
+++ b/indra/newview/skins/default/xui/ja/floater_im_container.xml
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<multi_floater name="floater_im_box" title="換算"/>
+<multi_floater name="floater_im_box" title="会話"/>
diff --git a/indra/newview/skins/default/xui/ja/floater_moveview.xml b/indra/newview/skins/default/xui/ja/floater_moveview.xml
index 8ba297c7a0..20aec48541 100644
--- a/indra/newview/skins/default/xui/ja/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/ja/floater_moveview.xml
@@ -18,6 +18,15 @@
<string name="fly_back_tooltip">
後ろに飛ぶ(下矢印か S を押す)
</string>
+ <string name="walk_title">
+ 歩く
+ </string>
+ <string name="run_title">
+ 走る
+ </string>
+ <string name="fly_title">
+ 飛ぶ
+ </string>
<panel name="panel_actions">
<button label="" label_selected="" name="turn left btn" tool_tip="左を向く(左矢印か A を押す)"/>
<button label="" label_selected="" name="turn right btn" tool_tip="右を向く(右矢印か D を押す)"/>
@@ -30,6 +39,5 @@
<button label="" name="mode_walk_btn" tool_tip="歩行モード"/>
<button label="" name="mode_run_btn" tool_tip="走行モード"/>
<button label="" name="mode_fly_btn" tool_tip="飛行モード"/>
- <button label="飛行停止" name="stop_fly_btn" tool_tip="飛行停止"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_pay.xml b/indra/newview/skins/default/xui/ja/floater_pay.xml
index 4564354899..39bc37bc6c 100644
--- a/indra/newview/skins/default/xui/ja/floater_pay.xml
+++ b/indra/newview/skins/default/xui/ja/floater_pay.xml
@@ -7,7 +7,7 @@
住人に支払う
</string>
<text name="payee_label">
- 支払い:
+ 支払う:
</text>
<icon name="icon_person" tool_tip="住人"/>
<text name="payee_name">
@@ -20,6 +20,6 @@
<text name="amount text">
金額を指定:
</text>
- <button label="支払い" label_selected="支払い" name="pay btn"/>
+ <button label="支払う" label_selected="支払う" name="pay btn"/>
<button label="取り消し" label_selected="取り消し" name="cancel btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_preview_animation.xml b/indra/newview/skins/default/xui/ja/floater_preview_animation.xml
index 606dda12bd..4fc59e16d3 100644
--- a/indra/newview/skins/default/xui/ja/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/ja/floater_preview_animation.xml
@@ -6,6 +6,6 @@
<text name="desc txt">
説明:
</text>
- <button label="インワールドで再生する" label_selected="停止" name="Anim play btn" tool_tip="他人にも見えるように再生します"/>
+ <button label="インワールドで再生" label_selected="停止" name="Anim play btn" tool_tip="他人にも見えるように再生します"/>
<button label="ローカル再生" label_selected="停止" name="Anim audition btn" tool_tip="自分だけが見えるように再生します"/>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_preview_gesture.xml b/indra/newview/skins/default/xui/ja/floater_preview_gesture.xml
index 8a0aea717c..c437e8c02a 100644
--- a/indra/newview/skins/default/xui/ja/floater_preview_gesture.xml
+++ b/indra/newview/skins/default/xui/ja/floater_preview_gesture.xml
@@ -33,10 +33,10 @@
<text name="trigger_label">
トリガー:
</text>
- <text name="replace_text" tool_tip="トリガー・ワードをこれらの単語に置き換えます。 たとえば、トリガー「hello」を「Howdy」に置換すると、「I wanted to say hello」というチャット文が「I wanted to say howdy」に変わり、ジェスチャーにも置換が反映されます。">
+ <text name="replace_text" tool_tip="トリガーワードをこれらの単語に置き換えます。 たとえば、トリガー「hello」を「Howdy」に置換すると、「I wanted to say hello」というチャット文が「I wanted to say howdy」に変わり、ジェスチャーにも置換が反映されます。">
置換:
</text>
- <line_editor name="replace_editor" tool_tip="トリガー・ワードをこれらの単語に置き換えます。 たとえば、トリガー「hello」を「Howdy」に置換すると、「I wanted to say hello」というチャット文が「I wanted to say howdy」に変わり、ジェスチャーにも置換が反映されます。"/>
+ <line_editor name="replace_editor" tool_tip="トリガーワードをこれらの単語に置き換えます。 たとえば、トリガー「hello」を「Howdy」に置換すると、「I wanted to say hello」というチャット文が「I wanted to say howdy」に変わり、ジェスチャーにも置換が反映されます。"/>
<text name="key_label">
ショートカット:
</text>
@@ -62,7 +62,7 @@
<text name="help_label">
待機ステップを入れない限りは、すべてのステップが同時に起こります。
</text>
- <check_box label="アクティブ" left="120" name="active_check" tool_tip="アクティブ・ジェスチャーは、トリガー・フレーズを使うか、またはホット・キーを押すことによってトリガーできます。 1つのショートカット・キーに2つ以上のジェスチャーが割り当てられた場合、そのジェスチャーは両方ともアクティブではなくなります。"/>
+ <check_box label="アクティブ" left="120" name="active_check" tool_tip="アクティブなジェスチャーは、トリガーフレーズを使うか、ホットキーを押すと切り替わります。 1つのショートカットキーに2つ以上のジェスチャーが割り当てられた場合、そのジェスチャーは両方ともアクティブではなくなります。"/>
<button label="プレビュー" name="preview_btn"/>
<button label="保存" name="save_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_preview_sound.xml b/indra/newview/skins/default/xui/ja/floater_preview_sound.xml
index c8375389ce..5c0f05cec6 100644
--- a/indra/newview/skins/default/xui/ja/floater_preview_sound.xml
+++ b/indra/newview/skins/default/xui/ja/floater_preview_sound.xml
@@ -6,6 +6,6 @@
<text name="desc txt">
説明:
</text>
- <button label="インワールドで再生する" label_selected="インワールドで再生する" name="Sound play btn" tool_tip="他人にも聞こえるように再生します"/>
+ <button label="インワールドで再生" label_selected="インワールドで再生" name="Sound play btn" tool_tip="他人にも聞こえるように再生します"/>
<button label="ローカル再生" label_selected="ローカル再生" name="Sound audition btn" tool_tip="自分だけが聞こえるように再生します"/>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_report_abuse.xml b/indra/newview/skins/default/xui/ja/floater_report_abuse.xml
index c66f307f23..105e903840 100644
--- a/indra/newview/skins/default/xui/ja/floater_report_abuse.xml
+++ b/indra/newview/skins/default/xui/ja/floater_report_abuse.xml
@@ -49,7 +49,7 @@
<combo_box.item label="商取引>製品またはサービスの提供が行われない" name="Commerce__Failure_to_deliver_product_or_service"/>
<combo_box.item label="開示>リアルワールドの情報" name="Disclosure__Real_world_information"/>
<combo_box.item label="開示>離れたところからチャットをモニターしている" name="Disclosure__Remotely_monitoring chat"/>
- <combo_box.item label="開示>Second Lifeの情報/チャット/IM" name="Disclosure__Second_Life_information_chat_IMs"/>
+ <combo_box.item label="開示>Second Life の情報/チャット/IM" name="Disclosure__Second_Life_information_chat_IMs"/>
<combo_box.item label="平穏を乱す行為>地域リソースの使用が不公平" name="Disturbing_the_peace__Unfair_use_of_region_resources"/>
<combo_box.item label="平穏を乱す行為>スクリプト・オブジェクトの乱用" name="Disturbing_the_peace__Excessive_scripted_objects"/>
<combo_box.item label="平穏を乱す行為>オブジェクトの捨て置き" name="Disturbing_the_peace__Object_littering"/>
@@ -57,7 +57,7 @@
<combo_box.item label="平穏を乱す行為>不要な広告スパム" name="Disturbing_the_peace__Unwanted_advert_spam"/>
<combo_box.item label="詐欺> L$" name="Fraud__L$"/>
<combo_box.item label="詐欺>土地" name="Fraud__Land"/>
- <combo_box.item label="詐欺>マルチ商法またはチェーン・メール" name="Fraud__Pyramid_scheme_or_chain_letter"/>
+ <combo_box.item label="詐欺>マルチ商法またはチェーンメール" name="Fraud__Pyramid_scheme_or_chain_letter"/>
<combo_box.item label="詐欺> US$" name="Fraud__US$"/>
<combo_box.item label="嫌がらせ>広告委託/視覚的なスパム" name="Harassment__Advert_farms___visual_spam"/>
<combo_box.item label="嫌がらせ>個人またはグループの中傷" name="Harassment__Defaming_individuals_or_groups"/>
@@ -68,11 +68,11 @@
<combo_box.item label="わいせつ>著しく不快であると見なされるコンテンツまたは行為" name="Indecency__Broadly_offensive_content_or_conduct"/>
<combo_box.item label="わいせつ>不適切なアバター名" name="Indecency__Inappropriate_avatar_name"/>
<combo_box.item label="わいせつ>PG地域での不適切なコンテンツまたは行為" name="Indecency__Mature_content_in_PG_region"/>
- <combo_box.item label="わいせつ &gt; 控えめ指定の地域での不適切なコンテンツまたは行為" name="Indecency__Inappropriate_content_in_Mature_region"/>
+ <combo_box.item label="わいせつ &gt; 「Moderate」指定の地域での不適切なコンテンツまたは行為" name="Indecency__Inappropriate_content_in_Mature_region"/>
<combo_box.item label="知的財産の侵害>コンテンツの撤去" name="Intellectual_property_infringement_Content_Removal"/>
<combo_box.item label="知的財産の侵害>コピーBot及び権限の悪用" name="Intellectual_property_infringement_CopyBot_or_Permissions_Exploit"/>
<combo_box.item label="不寛容" name="Intolerance"/>
- <combo_box.item label="土地>サンドボックス・リソースの乱用" name="Land__Abuse_of_sandbox_resources"/>
+ <combo_box.item label="土地>サンドボックスのリソースの乱用" name="Land__Abuse_of_sandbox_resources"/>
<combo_box.item label="土地>不法侵入>オブジェクト/テクスチャー" name="Land__Encroachment__Objects_textures"/>
<combo_box.item label="土地>不法侵入>パーティクル" name="Land__Encroachment__Particles"/>
<combo_box.item label="土地>不法侵入>樹木/植物" name="Land__Encroachment__Trees_plants"/>
diff --git a/indra/newview/skins/default/xui/ja/floater_snapshot.xml b/indra/newview/skins/default/xui/ja/floater_snapshot.xml
index 53384aca90..e51e63999a 100644
--- a/indra/newview/skins/default/xui/ja/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/ja/floater_snapshot.xml
@@ -3,9 +3,9 @@
<text name="type_label">
スナップショットの送り先
</text>
- <radio_group label="スナップショット・タイプ" name="snapshot_type_radio">
+ <radio_group label="スナップショットの種類" name="snapshot_type_radio">
<radio_item label="メール" name="postcard"/>
- <radio_item label="私の持ち物(L$[AMOUNT])" name="texture"/>
+ <radio_item label="「持ち物」に保存(L$ [AMOUNT])" name="texture"/>
<radio_item label="コンピューターに保存" name="local"/>
</radio_group>
<text name="file_size_label">
@@ -29,26 +29,26 @@
</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="640 x 480" name="640x480"/>
+ <combo_box.item label="800 x 600" name="800x600"/>
+ <combo_box.item label="1024 x 768" 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="小(128 x 128)" name="Small(128x128)"/>
+ <combo_box.item label="中(256 x 256)" name="Medium(256x256)"/>
+ <combo_box.item label="大(512 x5 12)" 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="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="1024 x 768" name="1024x768"/>
+ <combo_box.item label="1280 x 1024" name="1280x1024"/>
+ <combo_box.item label="1600 x 1200" name="1600x1200"/>
<combo_box.item label="カスタム" name="Custom"/>
</combo_box>
<combo_box label="形式" name="local_format_combo">
@@ -74,6 +74,6 @@
<check_box label="画面全体を静止" name="freeze_frame_check"/>
<check_box label="自動更新" name="auto_snapshot_check"/>
<string name="unknown">
- 未知
+ 不明
</string>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/floater_sys_well.xml b/indra/newview/skins/default/xui/ja/floater_sys_well.xml
index 3ac2a11a97..6536eb253c 100644
--- a/indra/newview/skins/default/xui/ja/floater_sys_well.xml
+++ b/indra/newview/skins/default/xui/ja/floater_sys_well.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="notification_chiclet" title="通知">
<string name="title_im_well_window">
- 換算
+ 会話
</string>
<string name="title_notification_well_window">
通知
diff --git a/indra/newview/skins/default/xui/ja/floater_tools.xml b/indra/newview/skins/default/xui/ja/floater_tools.xml
index 24bb5b614c..a8261a7493 100644
--- a/indra/newview/skins/default/xui/ja/floater_tools.xml
+++ b/indra/newview/skins/default/xui/ja/floater_tools.xml
@@ -4,7 +4,7 @@
色の付いたバンドをドラッグしてオブジェクトを回転
</floater.string>
<floater.string name="status_scale">
- 選択した側をクリックし、ドラッグして引き伸ばす
+ 選択した側をクリックし、ドラッグで引き伸ばす
</floater.string>
<floater.string name="status_move">
移動:ドラッグ、コピー:Shift + ドラッグ
@@ -69,8 +69,8 @@
</text>
<check_box label="両側を引伸ばす" left="116" name="checkbox uniform"/>
<check_box initial_value="true" label="テクスチャを引伸ばす" name="checkbox stretch textures"/>
- <check_box initial_value="true" label="グリッドポイントにスナップ" left_delta="27" name="checkbox snap to grid"/>
- <combo_box left_delta="60" name="combobox grid mode" tool_tip="オブジェクトの配置に使うグリッドルーラを選択" width="76">
+ <check_box initial_value="true" label="グリッドにスナップ" left_delta="27" name="checkbox snap to grid"/>
+ <combo_box left_delta="60" name="combobox grid mode" tool_tip="オブジェクトの配置に使うグリッドルーラを選択します" width="76">
<combo_box.item label="インワールドグリッド" name="World"/>
<combo_box.item label="ローカルグリッド" name="Local"/>
<combo_box.item label="リファレンスグリッド" name="Reference"/>
@@ -113,7 +113,7 @@
<text name="Strength:">
強度
</text>
- <button label="適用" label_selected="適用" name="button apply to selection" tool_tip="選択した土地を修正"/>
+ <button label="適用" label_selected="適用" name="button apply to selection" tool_tip="選択した土地を修正します"/>
<text name="obj_count">
オブジェクト: [COUNT]
</text>
@@ -179,20 +179,20 @@
<text name="Group:">
グループ:
</text>
- <button label="設定..." label_selected="設定..." name="button set group" tool_tip="このオブジェクト権限を共有するグループを選択"/>
+ <button label="設定..." label_selected="設定..." name="button set group" tool_tip="このオブジェクト権限を共有するグループを選択します"/>
<name_box initial_value="ローディング..." name="Group Name Proxy"/>
- <button label="譲渡" label_selected="譲渡" name="button deed" tool_tip="このアイテムを譲渡すると「次の所有者」の権限が適用されます。 グループ共有オブジェクトは、グループのオフィサーが譲渡できます。"/>
- <check_box label="共有" name="checkbox share with group" tool_tip="設定したグループのメンバー全員にこのオブジェクトの修正権限を与えます。 譲渡しない限り、役割制限を有効にはできません。"/>
+ <button label="譲渡" label_selected="譲渡" name="button deed" tool_tip="このアイテムを譲渡すると「次の所有者」の権限が適用されます。 グループ共有オブジェクトは、グループのオフィサーが譲渡できます"/>
+ <check_box label="共有" name="checkbox share with group" tool_tip="設定したグループのメンバー全員にこのオブジェクトの修正権限を与えます。 譲渡しない限り、役割制限を有効にはできません"/>
<text name="label click action">
クリックで:
</text>
<combo_box name="clickaction">
<combo_box.item label="触る(デフォルト)" name="Touch/grab(default)"/>
<combo_box.item label="オブジェクトに座る" name="Sitonobject"/>
- <combo_box.item label="オブジェクトを購入" name="Buyobject"/>
- <combo_box.item label="オブジェクトへの支払い" name="Payobject"/>
+ <combo_box.item label="オブジェクトを購入する" name="Buyobject"/>
+ <combo_box.item label="オブジェクトに支払う" name="Payobject"/>
<combo_box.item label="開く" name="Open"/>
- <combo_box.item label="ズーム" name="Zoom"/>
+ <combo_box.item label="ズームする" name="Zoom"/>
</combo_box>
<check_box label="販売対象:" name="checkbox for sale"/>
<combo_box name="sale type">
@@ -216,7 +216,7 @@
</text>
<check_box label="修正" name="checkbox next owner can modify"/>
<check_box label="コピー" name="checkbox next owner can copy"/>
- <check_box label="再販・プレゼント" name="checkbox next owner can transfer" tool_tip="次の所有者はこのオブジェクトを他人にあげたり再販できます"/>
+ <check_box label="再販・プレゼント" name="checkbox next owner can transfer" tool_tip="次に所有する人は、このオブジェクトを他人にあげたり再販できます"/>
<text name="B:">
B:
</text>
@@ -238,7 +238,7 @@
</panel>
</panel>
<panel label="形状" name="Object">
- <check_box label="ロック済み" name="checkbox locked" tool_tip="オブジェクトの移動と削除を禁止します。 この機能を使うと、制作中の意図せぬ編集を防ぐことができます。"/>
+ <check_box label="ロック" name="checkbox locked" tool_tip="オブジェクトの移動と削除を禁止します。 この機能を使うと、制作中の意図せぬ編集を防ぐことができます"/>
<check_box label="物理" name="Physical Checkbox Ctrl" tool_tip="オブジェクトに対する重力の作用と影響を有効にします"/>
<check_box label="臨時" name="Temporary Checkbox Ctrl" tool_tip="制作後 1 分でオブジェクトは削除されます"/>
<check_box label="ファントム" name="Phantom Checkbox Ctrl" tool_tip="オブジェクト同士の衝突またはオブジェクトとアバターの衝突を回避します"/>
@@ -339,7 +339,7 @@
<text name="text revolutions">
回転体
</text>
- <texture_picker label="スカルプトテクスチャ" name="sculpt texture control" tool_tip="クリックして写真を選択してください。"/>
+ <texture_picker label="スカルプトテクスチャ" name="sculpt texture control" tool_tip="クリックして写真を選択してください"/>
<check_box label="ミラー" name="sculpt mirror control" tool_tip="スカルプトプリムを X 軸上で反転させます"/>
<check_box label="裏返し" name="sculpt invert control" tool_tip="スカルプトプリムを反転させて裏返します"/>
<text name="label sculpt type">
@@ -386,7 +386,7 @@
<panel.string name="string repeats per face">
面ごとに繰り返す
</panel.string>
- <texture_picker label="テクスチャー" name="texture control" tool_tip="写真をクリックして選択"/>
+ <texture_picker label="テクスチャ" name="texture control" tool_tip="写真をクリックして選択します"/>
<color_swatch label="色" name="colorswatch" tool_tip="クリックしてカラーピッカーを開きます"/>
<text name="color trans">
透過度 %
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 5a0694e5c5..5af8f20690 100644
--- a/indra/newview/skins/default/xui/ja/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/ja/floater_voice_controls.xml
@@ -16,6 +16,9 @@
近くにボイスを有効にしている人はいません。
</string>
<layout_stack name="my_call_stack">
+ <layout_panel name="my_panel">
+ <text name="user_text" value="マイ アバター:"/>
+ </layout_panel>
<layout_panel name="leave_call_btn_panel">
<button label="コール終了" name="leave_call_btn"/>
</layout_panel>
diff --git a/indra/newview/skins/default/xui/ja/floater_water.xml b/indra/newview/skins/default/xui/ja/floater_water.xml
index 52cd91a08a..fb64332e79 100644
--- a/indra/newview/skins/default/xui/ja/floater_water.xml
+++ b/indra/newview/skins/default/xui/ja/floater_water.xml
@@ -28,10 +28,10 @@
<slider label="2" name="WaterNormalScaleY"/>
<slider label="3" name="WaterNormalScaleZ"/>
<text name="HDText">
- フレネル・スケール
+ フレネルのスケール
</text>
<text name="FresnelOffsetText">
- フレネル・オフセット
+ フレネルのオフセット
</text>
<text name="DensMultText">
水面の屈折スケール
@@ -63,7 +63,7 @@
Y
</text>
<text name="BHText3">
- ノーマル・マップ
+ ノーマルマップ
</text>
</panel>
</tab_container>
diff --git a/indra/newview/skins/default/xui/ja/floater_world_map.xml b/indra/newview/skins/default/xui/ja/floater_world_map.xml
index c44c6b3fd3..04120b4bea 100644
--- a/indra/newview/skins/default/xui/ja/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/ja/floater_world_map.xml
@@ -5,7 +5,8 @@
表記・記号
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_2">
<button label="現在地を表示" label_selected="現在地を表示" name="Show My Location" tool_tip="アバターの位置を地図の中心に表示します"/>
<text name="me_label">
自分
@@ -37,23 +38,25 @@
</text>
<check_box label="PG" name="event_chk"/>
<text name="pg_label">
- 一般
+ General
</text>
<check_box initial_value="true" label="Mature" name="event_mature_chk"/>
<text name="mature_label">
- 控えめ
+ Moderate
</text>
<check_box label="Adult" name="event_adult_chk"/>
<text name="adult_label">
- アダルト
+ Adult
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_3">
<text name="find_on_map_label">
地図上で探す
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_4">
<combo_box label="オンラインのフレンド" name="friend combo" tool_tip="フレンドを地図上に表示します">
<combo_box.item label="オンラインのフレンド" name="item1"/>
</combo_box>
@@ -71,12 +74,14 @@
<button label="SLurl をコピー" name="copy_slurl" tool_tip="現在地を SLurl でコピーして Web で使用します。"/>
<button label="選択をを表示する" label_selected="目的地を表示" name="Show Destination" tool_tip="選択した場所を地図の中心に表示します"/>
</panel>
- <panel>
+ <panel
+ name="layout_panel_5">
<text name="zoom_label">
ズーム
</text>
</panel>
- <panel>
+ <panel
+ name="layout_panel_6">
<slider label="ズーム" name="zoom slider"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/ja/menu_inventory.xml b/indra/newview/skins/default/xui/ja/menu_inventory.xml
index a2dbc34270..1607b2647e 100644
--- a/indra/newview/skins/default/xui/ja/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/ja/menu_inventory.xml
@@ -6,8 +6,8 @@
<menu_item_call label="プロパティ" name="Task Properties"/>
<menu_item_call label="名前の変更" name="Task Rename"/>
<menu_item_call label="削除" name="Task Remove"/>
- <menu_item_call label="ゴミ箱を空にする" name="Empty Trash"/>
- <menu_item_call label="遺失物フォルダを空にする" name="Empty Lost And Found"/>
+ <menu_item_call label="ごみ箱を空にする" name="Empty Trash"/>
+ <menu_item_call label="紛失物フォルダを空にする" name="Empty Lost And Found"/>
<menu_item_call label="新しいフォルダ" name="New Folder"/>
<menu_item_call label="新しいスクリプト" name="New Script"/>
<menu_item_call label="新しいノートカード" name="New Note"/>
@@ -49,34 +49,34 @@
<menu_item_call label="着用中のアウトフィットを入れ替える" name="Replace Outfit"/>
<menu_item_call label="着用中のアウトフィットに追加する" name="Add To Outfit"/>
<menu_item_call label="着用中のアウトフィットから取り除く" name="Remove From Outfit"/>
- <menu_item_call label="アイテムを除外" name="Purge Item"/>
- <menu_item_call label="アイテムを復元" name="Restore Item"/>
+ <menu_item_call label="アイテムを除外する" name="Purge Item"/>
+ <menu_item_call label="アイテムを復元する" name="Restore Item"/>
<menu_item_call label="オリジナルを探す" name="Find Original"/>
<menu_item_call label="開く" name="Open"/>
<menu_item_call label="プロパティ" name="Properties"/>
- <menu_item_call label="名前の変更" name="Rename"/>
- <menu_item_call label="UUIDをコピー" name="Copy Asset UUID"/>
+ <menu_item_call label="名前を変更する" name="Rename"/>
+ <menu_item_call label="UUID をコピーする" name="Copy Asset UUID"/>
<menu_item_call label="コピー" name="Copy"/>
<menu_item_call label="貼り付け" name="Paste"/>
- <menu_item_call label="リンクの貼り付け" name="Paste As Link"/>
+ <menu_item_call label="リンクを貼り付ける" name="Paste As Link"/>
<menu_item_call label="リンクを外す" name="Remove Link"/>
<menu_item_call label="削除" name="Delete"/>
<menu_item_call label="システムフォルダを削除する" name="Delete System Folder"/>
- <menu_item_call label="コンファレンスチャットを開始" name="Conference Chat Folder"/>
- <menu_item_call label="再生" name="Sound Play"/>
+ <menu_item_call label="コンファレンスチャットを開始する" name="Conference Chat Folder"/>
+ <menu_item_call label="再生する" name="Sound Play"/>
<menu_item_call label="ランドマークの情報" name="About Landmark"/>
<menu_item_call label="インワールドで再生する" name="Animation Play"/>
- <menu_item_call label="ローカル再生" name="Animation Audition"/>
- <menu_item_call label="インスタントメッセージを送信" name="Send Instant Message"/>
+ <menu_item_call label="ローカルで再生する" name="Animation Audition"/>
+ <menu_item_call label="インスタントメッセージを送信する" name="Send Instant Message"/>
<menu_item_call label="テレポートを送る..." name="Offer Teleport..."/>
- <menu_item_call label="会議チャット開始" name="Conference Chat"/>
+ <menu_item_call label="コンファレンスチャットを開始する" name="Conference Chat"/>
<menu_item_call label="アクティブ" name="Activate"/>
<menu_item_call label="非アクティブ" name="Deactivate"/>
- <menu_item_call label="別名で保存" name="Save As"/>
+ <menu_item_call label="別名で保存する" name="Save As"/>
<menu_item_call label="自分から取り外す" name="Detach From Yourself"/>
<menu_item_call label="装着" name="Object Wear"/>
<menu label="装着先" name="Attach To"/>
- <menu label="HUD装着先" name="Attach To HUD"/>
+ <menu label="HUD 装着先" name="Attach To HUD"/>
<menu_item_call label="編集" name="Wearable Edit"/>
<menu_item_call label="装着" name="Wearable Wear"/>
<menu_item_call label="取り外す" name="Take Off"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_object.xml b/indra/newview/skins/default/xui/ja/menu_object.xml
index 888d382e7e..e59a500534 100644
--- a/indra/newview/skins/default/xui/ja/menu_object.xml
+++ b/indra/newview/skins/default/xui/ja/menu_object.xml
@@ -5,6 +5,7 @@
<menu_item_call label="制作" name="Build"/>
<menu_item_call label="開く" name="Open"/>
<menu_item_call label="ここに座る" name="Object Sit"/>
+ <menu_item_call label="立ち上がる" name="Object Stand Up"/>
<menu_item_call label="オブジェクトのプロフィール" name="Object Inspect"/>
<menu_item_call label="ズームイン" name="Zoom In"/>
<context_menu label="装着 ▶" name="Put On">
@@ -12,12 +13,13 @@
<context_menu label="取り付ける ▶" name="Object Attach"/>
<context_menu label="HUD を取り付ける ▶" name="Object Attach HUD"/>
</context_menu>
- <context_menu label="取り外す ▶" name="Remove">
+ <context_menu label="取り除く ▶" name="Remove">
<menu_item_call label="嫌がらせの報告" name="Report Abuse..."/>
<menu_item_call label="ブロック" name="Object Mute"/>
<menu_item_call label="返却" name="Return..."/>
<menu_item_call label="削除" name="Delete"/>
</context_menu>
+ <menu_item_call label="買う" name="Pie Object Bye"/>
<menu_item_call label="取る" name="Pie Object Take"/>
<menu_item_call label="コピーを取る" name="Take Copy"/>
<menu_item_call label="支払う" name="Pay..."/>
diff --git a/indra/newview/skins/default/xui/ja/menu_people_nearby.xml b/indra/newview/skins/default/xui/ja/menu_people_nearby.xml
index 4788803789..8d84b0e521 100644
--- a/indra/newview/skins/default/xui/ja/menu_people_nearby.xml
+++ b/indra/newview/skins/default/xui/ja/menu_people_nearby.xml
@@ -5,6 +5,7 @@
<menu_item_call label="フレンドを削除" name="Remove Friend"/>
<menu_item_call label="IM" name="IM"/>
<menu_item_call label="コール" name="Call"/>
+ <menu_item_call label="地図" name="Map"/>
<menu_item_call label="共有" name="Share"/>
<menu_item_call label="支払う" name="Pay"/>
<menu_item_check label="ブロック・ブロック解除" name="Block/Unblock"/>
diff --git a/indra/newview/skins/default/xui/ja/menu_viewer.xml b/indra/newview/skins/default/xui/ja/menu_viewer.xml
index 85fb23d5b7..bcad812457 100644
--- a/indra/newview/skins/default/xui/ja/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/ja/menu_viewer.xml
@@ -6,12 +6,12 @@
<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="L$ の購入" name="Buy and Sell L$"/>
- <menu_item_call label="マイ プロフィール" name="Profile"/>
- <menu_item_call label="マイ 容姿" name="Appearance"/>
- <menu_item_check label="マイ 持ち物" name="Inventory"/>
- <menu_item_call label="持ち物をサイドトレイに表示" name="ShowSidetrayInventory"/>
- <menu_item_call label="マイ ジェスチャー" name="Gestures"/>
- <menu label="マイ ログイン状態" name="Status">
+ <menu_item_call label="プロフィール" name="Profile"/>
+ <menu_item_call label="容姿" name="Appearance"/>
+ <menu_item_check label="持ち物" name="Inventory"/>
+ <menu_item_check label="持ち物" name="ShowSidetrayInventory"/>
+ <menu_item_check label="ジェスチャー" name="Gestures"/>
+ <menu label="ログイン状態" name="Status">
<menu_item_call label="一時退席中" name="Set Away"/>
<menu_item_call label="取り込み中" name="Set Busy"/>
</menu>
@@ -24,7 +24,6 @@
<menu_item_call label="所属グループ" name="My Groups"/>
<menu_item_check label="近くのチャット" name="Nearby Chat"/>
<menu_item_call label="近くにいる人" name="Active Speakers"/>
- <menu_item_check label="近くのメディア" name="Nearby Media"/>
</menu>
<menu label="世界" name="World">
<menu_item_check label="ミニマップ" name="Mini-Map"/>
@@ -39,7 +38,13 @@
<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="Camera Controls"/>
+ <menu_item_check label="立入禁止ライン" name="Ban Lines"/>
+ <menu_item_check label="ビーコン(標識)" name="beacons"/>
+ <menu_item_check label="プロパティ境界線" name="Property Lines"/>
+ <menu_item_check label="土地所有者" name="Land Owners"/>
+ <menu_item_check label="座標" name="Coordinates"/>
+ <menu_item_check label="区画プロパティ" name="Parcel Properties"/>
</menu>
<menu_item_call label="ホームにテレポート" name="Teleport Home"/>
<menu_item_call label="現在地をホームに設定" name="Set Home to Here"/>
@@ -58,7 +63,7 @@
<menu_item_call label="フォーカスツール" name="Focus"/>
<menu_item_call label="移動ツール" name="Move"/>
<menu_item_call label="編集ツール" name="Edit"/>
- <menu_item_call label="クリエーションツール" name="Create"/>
+ <menu_item_call label="作成ツール" name="Create"/>
<menu_item_call label="土地ツール" name="Land"/>
</menu>
<menu label="編集" name="Edit">
@@ -78,6 +83,7 @@
<menu_item_call label="選択したものに焦点を合わせる" name="Focus on Selection"/>
<menu_item_call label="選択したものをズームする" name="Zoom to Selection"/>
<menu label="オブジェクト" name="Object">
+ <menu_item_call label="買う" name="Menu Object Buy"/>
<menu_item_call label="取る" name="Menu Object Take"/>
<menu_item_call label="コピーを取る" name="Take Copy"/>
<menu_item_call label="「持ち物」に保存" name="Save Object Back to My Inventory"/>
@@ -91,24 +97,24 @@
<menu_item_call label="スクリプトを実行停止にする" name="Set Scripts to Not Running"/>
</menu>
<menu label="オプション" name="Options">
- <menu_item_call label="デフォルトのアップロード権限を設定" name="perm prefs"/>
- <menu_item_check label="権限の詳細を表示" name="DebugPermissions"/>
- <menu_item_check label="私のオブジェクトだけを選択" name="Select Only My Objects"/>
- <menu_item_check label="動的オブジェクトのみ選択" name="Select Only Movable Objects"/>
- <menu_item_check label="環境で選択" name="Select By Surrounding"/>
- <menu_item_check label="非表示の選択を表示" name="Show Hidden Selection"/>
- <menu_item_check label="選択した光の半径範囲を表示" name="Show Light Radius for Selection"/>
- <menu_item_check label="選択したビームを表示" name="Show Selection Beam"/>
- <menu_item_check label="グリッドポイントにスナップ" name="Snap to Grid"/>
- <menu_item_call label="オブジェクトのXY軸をグリッドにスナップ" name="Snap Object XY to Grid"/>
- <menu_item_call label="選択をグリッドに使用" name="Use Selection for Grid"/>
+ <menu_item_call label="デフォルトのアップロード権限を設定する" name="perm prefs"/>
+ <menu_item_check label="権限の詳細を表示する" name="DebugPermissions"/>
+ <menu_item_check label="私のオブジェクトだけを選択する" name="Select Only My Objects"/>
+ <menu_item_check label="動的オブジェクトだけを選択する" name="Select Only Movable Objects"/>
+ <menu_item_check label="範囲内を選択する" name="Select By Surrounding"/>
+ <menu_item_check label="隠れた位置の選択も表示する" name="Show Hidden Selection"/>
+ <menu_item_check label="選択した光の半径範囲を表示する" name="Show Light Radius for Selection"/>
+ <menu_item_check label="選択ビームを表示する" name="Show Selection Beam"/>
+ <menu_item_check label="グリッドポイントにスナップする" name="Snap to Grid"/>
+ <menu_item_call label="オブジェクトの XY 軸をグリッドにスナップする" name="Snap Object XY to Grid"/>
+ <menu_item_call label="選択をグリッドに使用する" name="Use Selection for Grid"/>
<menu_item_call label="グリッドオプション" name="Grid Options"/>
</menu>
- <menu label="リンクした部分を選択" name="Select Linked Parts">
- <menu_item_call label="次の部位を選択" name="Select Next Part"/>
- <menu_item_call label="前回の部位を選択" name="Select Previous Part"/>
- <menu_item_call label="次の部位を含める" name="Include Next Part"/>
- <menu_item_call label="前回の部位を含める" name="Include Previous Part"/>
+ <menu label="リンクした部分を選択する" name="Select Linked Parts">
+ <menu_item_call label="次の部分を選択する" name="Select Next Part"/>
+ <menu_item_call label="前回の部分を選択する" name="Select Previous Part"/>
+ <menu_item_call label="次の部分を含める" name="Include Next Part"/>
+ <menu_item_call label="前回の部分を含める" name="Include Previous Part"/>
</menu>
</menu>
<menu label="ヘルプ" name="Help">
@@ -118,28 +124,28 @@
<menu_item_call label="[APP_NAME] について" name="About Second Life"/>
</menu>
<menu label="アドバンス" name="Advanced">
- <menu_item_call label="私のアニメーションを停止する" name="Stop Animating My Avatar"/>
- <menu_item_call label="テクスチャのリベーク" name="Rebake Texture"/>
+ <menu_item_call label="自分のアニメーションを停止する" name="Stop Animating My Avatar"/>
+ <menu_item_call label="テクスチャのリベークをする" name="Rebake Texture"/>
<menu_item_call label="UI のサイズをデフォルトに設定する" name="Set UI Size to Default"/>
- <menu_item_call label="ウィンドウのサイズの設定:" name="Set Window Size..."/>
+ <menu_item_call label="ウィンドウのサイズを設定する" name="Set Window Size..."/>
<menu_item_check label="遠くのオブジェクトを選択しない" name="Limit Select Distance"/>
<menu_item_check label="カメラの距離移動を制限しない" name="Disable Camera Distance"/>
<menu_item_check label="高解像度スナップショット" name="HighResSnapshot"/>
- <menu_item_check label="シャッター音とアニメーションなしでスナップショットをディスクに保存" name="QuietSnapshotsToDisk"/>
+ <menu_item_check label="シャッター音とアニメーションなしでスナップショットをディスクに保存する" name="QuietSnapshotsToDisk"/>
<menu_item_check label="圧縮してスナップショットをディスクに保存する" name="CompressSnapshotsToDisk"/>
<menu label="パフォーマンスツール" name="Performance Tools">
<menu_item_call label="ラグ計測器" name="Lag Meter"/>
<menu_item_check label="統計バー" name="Statistics Bar"/>
- <menu_item_check label="アバターのレンダリングコストを表示" name="Avatar Rendering Cost"/>
+ <menu_item_check label="アバターのレンダリングコストを表示する" name="Avatar Rendering Cost"/>
</menu>
<menu label="ハイライトと目に見えるもの" name="Highlighting and Visibility">
<menu_item_check label="チージービーコン" name="Cheesy Beacon"/>
<menu_item_check label="パーティクルを非表示にする" name="Hide Particles"/>
<menu_item_check label="選択したものを非表示にする" name="Hide Selected"/>
- <menu_item_check label="透明部分をハイライト" name="Highlight Transparent"/>
- <menu_item_check label="HUD を表示" name="Show HUD Attachments"/>
- <menu_item_check label="一人称視点のときに十字線を表示" name="ShowCrosshairs"/>
- <menu_item_check label="土地のツールチップを表示" name="Land Tips"/>
+ <menu_item_check label="透明部分をハイライトする" name="Highlight Transparent"/>
+ <menu_item_check label="HUD を表示する" name="Show HUD Attachments"/>
+ <menu_item_check label="一人称視点のときに十字線を表示する" name="ShowCrosshairs"/>
+ <menu_item_check label="土地のツールチップを表示する" name="Land Tips"/>
</menu>
<menu label="レンダリング(種類)" name="Rendering Types">
<menu_item_check label="シンプル" name="Simple"/>
@@ -173,17 +179,17 @@
<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_call label="UI のサイズをデフォルトに設定する" name="Set UI Size to Default"/>
<menu_item_check label="常に走る" name="Always Run"/>
- <menu_item_check label="飛行" name="Fly"/>
+ <menu_item_check label="飛行する" name="Fly"/>
<menu_item_call label="ウィンドウを閉じる" name="Close Window"/>
<menu_item_call label="全てのウィンドウを閉じる" name="Close All Windows"/>
- <menu_item_call label="スナップショットをディスクに保存" name="Snapshot to Disk"/>
+ <menu_item_call label="スナップショットをディスクに保存する" name="Snapshot to Disk"/>
<menu_item_call label="一人称視点" name="Mouselook"/>
- <menu_item_check label="ジョイスティック・フライカム" name="Joystick Flycam"/>
- <menu_item_call label="表示をリセット" name="Reset View"/>
+ <menu_item_check label="ジョイスティックフライカム" name="Joystick Flycam"/>
+ <menu_item_call label="表示をリセットする" name="Reset View"/>
<menu_item_call label="最後の発言者を見る" name="Look at Last Chatter"/>
- <menu label="制作ツールを選択" name="Select Tool">
+ <menu label="制作ツールを選択する" name="Select Tool">
<menu_item_call label="焦点ツール" name="Focus"/>
<menu_item_call label="移動ツール" name="Move"/>
<menu_item_call label="編集ツール" name="Edit"/>
@@ -191,12 +197,12 @@
<menu_item_call label="土地ツール" name="Land"/>
</menu>
<menu_item_call label="ズームイン" name="Zoom In"/>
- <menu_item_call label="ズーム・デフォルト" name="Zoom Default"/>
+ <menu_item_call label="ズーム(デフォルト)" name="Zoom Default"/>
<menu_item_call label="ズームアウト" name="Zoom Out"/>
<menu_item_call label="全画面表示" name="Toggle Fullscreen"/>
</menu>
<menu_item_call label="デバッグ設定を表示する" name="Debug Settings"/>
- <menu_item_check label="開発メニューを表示" name="Debug Mode"/>
+ <menu_item_check label="開発メニューを表示する" name="Debug Mode"/>
</menu>
<menu label="開発" name="Develop">
<menu label="コンソール" name="Consoles">
@@ -204,7 +210,7 @@
<menu_item_check label="デバッグコンソール" name="Debug Console"/>
<menu_item_call label="通知コンソール" name="Notifications"/>
<menu_item_check label="テクスチャサイズのコンソール" name="Texture Size"/>
- <menu_item_check label="テクスチャカテゴリ・コンソール" name="Texture Category"/>
+ <menu_item_check label="テクスチャカテゴリのコンソール" name="Texture Category"/>
<menu_item_check label="ファーストタイマー" name="Fast Timers"/>
<menu_item_check label="メモリ" name="Memory"/>
<menu_item_call label="リージョン情報をデバッグコンソールへ" name="Region Info to Debug Console"/>
@@ -216,26 +222,26 @@
<menu_item_check label="バッジ" name="Badge"/>
</menu>
<menu label="情報を表示" name="Display Info">
- <menu_item_check label="時間を表示" name="Show Time"/>
- <menu_item_check label="描画情報を表示" name="Show Render Info"/>
- <menu_item_check label="マトリックスを表示" name="Show Matrices"/>
- <menu_item_check label="カーソルを乗せた場所の色を表示" name="Show Color Under Cursor"/>
- <menu_item_check label="オブジェクトのアップデートを表示" name="Show Updates"/>
+ <menu_item_check label="時間を表示する" name="Show Time"/>
+ <menu_item_check label="描画情報を表示する" name="Show Render Info"/>
+ <menu_item_check label="マトリックスを表示する" name="Show Matrices"/>
+ <menu_item_check label="カーソルを乗せた場所の色を表示する" name="Show Color Under Cursor"/>
+ <menu_item_check label="オブジェクトのアップデートを表示する" name="Show Updates"/>
</menu>
- <menu label="エラーを実行" name="Force Errors">
+ <menu label="エラー実行" name="Force Errors">
<menu_item_call label="ブレークポイント" name="Force Breakpoint"/>
- <menu_item_call label="LLError とクラッシュを実行" name="Force LLError And Crash"/>
- <menu_item_call label="バッドメモリアクセスを実行" name="Force Bad Memory Access"/>
+ <menu_item_call label="LLError とクラッシュを実行する" name="Force LLError And Crash"/>
+ <menu_item_call label="バッドメモリアクセスを実行する" name="Force Bad Memory Access"/>
<menu_item_call label="無限ループ" name="Force Infinite Loop"/>
- <menu_item_call label="ドライバのクラッシュを実行" name="Force Driver Carsh"/>
- <menu_item_call label="ソフトウェア例外エラーの実行" name="Force Software Exception"/>
- <menu_item_call label="ビューワの接続遮断を実行" name="Force Disconnect Viewer"/>
- <menu_item_call label="メモリリークのシミュレート" name="Memory Leaking Simulation"/>
+ <menu_item_call label="ドライバのクラッシュを実行する" name="Force Driver Carsh"/>
+ <menu_item_call label="ソフトウェア例外エラーの実行する" name="Force Software Exception"/>
+ <menu_item_call label="ビューワの接続遮断を実行する" name="Force Disconnect Viewer"/>
+ <menu_item_call label="メモリリークをシミュレートする" name="Memory Leaking Simulation"/>
</menu>
<menu label="レンダーテスト" name="Render Tests">
<menu_item_check label="カメラオフセット" name="Camera Offset"/>
<menu_item_check label="フレームレートをランダム化" name="Randomize Framerate"/>
- <menu_item_check label="Periodic Slow Frame" name="Periodic Slow Frame"/>
+ <menu_item_check label="定期的に遅いフレームを挿入する" name="Periodic Slow Frame"/>
<menu_item_check label="フレームテスト" name="Frame Test"/>
</menu>
<menu label="メタデータのレンダー" name="Render Metadata">
@@ -247,10 +253,10 @@
<menu_item_check label="アニメーション部分をテクスチャで表示" name="Texture Anim"/>
<menu_item_check label="テクスチャ優先度" name="Texture Priority"/>
<menu_item_check label="テクスチャの範囲" name="Texture Area"/>
- <menu_item_check label="Face Area" name="Face Area"/>
+ <menu_item_check label="側面" name="Face Area"/>
<menu_item_check label="光" name="Lights"/>
<menu_item_check label="骨組みの衝突判定" name="Collision Skeleton"/>
- <menu_item_check label="Raycast" name="Raycast"/>
+ <menu_item_check label="レイキャスト" name="Raycast"/>
</menu>
<menu label="レンダリング" name="Rendering">
<menu_item_check label="軸" name="Axes"/>
@@ -258,10 +264,10 @@
<menu_item_call label="選択したテクスチャ情報基底" name="Selected Texture Info Basis"/>
<menu_item_check label="ワイヤーフレーム" name="Wireframe"/>
<menu_item_check label="オブジェクト間オクルージョン" name="Object-Object Occlusion"/>
- <menu_item_check label="フレームバッファ・オブジェクト" name="Framebuffer Objects"/>
+ <menu_item_check label="フレームバッファオブジェクト" name="Framebuffer Objects"/>
<menu_item_check label="遅延レンダリング" name="Deferred Rendering"/>
<menu_item_check label="グローバルイルミネーション" name="Global Illumination"/>
- <menu_item_check label="GLデバッグ" name="Debug GL"/>
+ <menu_item_check label="GL デバッグ" name="Debug GL"/>
<menu_item_check label="経路をデバッグ" name="Debug Pipeline"/>
<menu_item_check label="ファーストアルファ" name="Fast Alpha"/>
<menu_item_check label="アニメーションテクスチャ" name="Animation Textures"/>
@@ -271,10 +277,10 @@
<menu_item_check label="テクスチャアトラス" name="Texture Atlas"/>
<menu_item_check label="装着された光源を描画する" name="Render Attached Lights"/>
<menu_item_check label="取り付けられたパーティクルを描画する" name="Render Attached Particles"/>
- <menu_item_check label="マウスオーバーで強調表示" name="Hover Glow Objects"/>
+ <menu_item_check label="マウスオーバーで強調表示する" name="Hover Glow Objects"/>
</menu>
<menu label="ネットワーク" name="Network">
- <menu_item_check label="エージェントを一時停止" name="AgentPause"/>
+ <menu_item_check label="エージェントを一時停止する" name="AgentPause"/>
<menu_item_call label="メッセージログを有効にする" name="Enable Message Log"/>
<menu_item_call label="メッセージログを使用不可にする" name="Disable Message Log"/>
<menu_item_check label="速力が挿入されたオブジェクト" name="Velocity Interpolate Objects"/>
@@ -292,9 +298,9 @@
</menu>
<menu label="世界" name="World">
<menu_item_check label="シムの太陽の設定を無視する" name="Sim Sun Override"/>
- <menu_item_check label="ビーコンの強調表示" name="Cheesy Beacon"/>
+ <menu_item_check label="ビーコンを強調表示する" name="Cheesy Beacon"/>
<menu_item_check label="固定された天気" name="Fixed Weather"/>
- <menu_item_call label="リージョンオブジェクトのキャッシュをダンプ" name="Dump Region Object Cache"/>
+ <menu_item_call label="リージョンオブジェクトのキャッシュをダンプする" name="Dump Region Object Cache"/>
</menu>
<menu label="UI" name="UI">
<menu_item_call label="Web ブラウザのテスト" name="Web Browser Test"/>
@@ -305,7 +311,7 @@
<menu_item_call label="選択したオブジェクト情報をプリント" name="Print Selected Object Info"/>
<menu_item_call label="エージェント情報をプリント" name="Print Agent Info"/>
<menu_item_call label="メモリ使用状況" name="Memory Stats"/>
- <menu_item_check label="ダブルクリックした場所に自動操作で移動" name="Double-ClickAuto-Pilot"/>
+ <menu_item_check label="ダブルクリックした場所に自動操作で移動する" name="Double-ClickAuto-Pilot"/>
<menu_item_check label="SelectMgr のデバッグ" name="Debug SelectMgr"/>
<menu_item_check label="ダブルクリック" name="Debug Clicks"/>
<menu_item_check label="デバッグ表示" name="Debug Views"/>
@@ -315,15 +321,15 @@
<menu_item_check label="WindowProc のデバッグ" name="Debug WindowProc"/>
</menu>
<menu label="XUI" name="XUI">
- <menu_item_call label="色の設定を更新" name="Reload Color Settings"/>
- <menu_item_call label="フォントテストを表示" name="Show Font Test"/>
+ <menu_item_call label="色の設定を更新する" name="Reload Color Settings"/>
+ <menu_item_call label="フォントテストを表示する" name="Show Font Test"/>
<menu_item_call label="XML から読み込む" name="Load from XML"/>
- <menu_item_call label="XML で保存" name="Save to XML"/>
- <menu_item_check label="XUI ネームを表示" name="Show XUI Names"/>
- <menu_item_call label="テスト用 IM を送信" name="Send Test IMs"/>
+ <menu_item_call label="XML で保存する" name="Save to XML"/>
+ <menu_item_check label="XUI ネームを表示する" name="Show XUI Names"/>
+ <menu_item_call label="テスト用 IM を送信する" name="Send Test IMs"/>
</menu>
<menu label="アバター" name="Character">
- <menu label="ベークドテクスチャを取得" name="Grab Baked Texture">
+ <menu label="ベークドテクスチャを取得する" name="Grab Baked Texture">
<menu_item_call label="瞳" name="Iris"/>
<menu_item_call label="頭" name="Head"/>
<menu_item_call label="上半身" name="Upper Body"/>
@@ -331,23 +337,23 @@
<menu_item_call label="スカート" name="Skirt"/>
</menu>
<menu label="キャラクターテスト" name="Character Tests">
- <menu_item_call label="容姿を XML に保存" name="Appearance To XML"/>
+ <menu_item_call label="容姿を XML に保存する" name="Appearance To XML"/>
<menu_item_call label="キャラクタジオメトリの切り替え" name="Toggle Character Geometry"/>
<menu_item_call label="男性アバターのテスト" name="Test Male"/>
<menu_item_call label="女性アバターのテスト" name="Test Female"/>
<menu_item_call label="PG のトグル" name="Toggle PG"/>
<menu_item_check label="選択アバター許可" name="Allow Select Avatar"/>
</menu>
- <menu_item_call label="Params をデフォルトに実行" name="Force Params to Default"/>
+ <menu_item_call label="パラメータを強制的にデフォルトにする" name="Force Params to Default"/>
<menu_item_check label="アニメーション情報" name="Animation Info"/>
- <menu_item_check label="アニメーションをスローモーション" name="Slow Motion Animations"/>
+ <menu_item_check label="スローモーションのアニメーション" name="Slow Motion Animations"/>
<menu_item_check label="見ているものを表示する" name="Show Look At"/>
<menu_item_check label="クリックした場所を表示する" name="Show Point At"/>
<menu_item_check label="結合部のアップデートのデバッグ" name="Debug Joint Updates"/>
<menu_item_check label="LOD を無効にする" name="Disable LOD"/>
<menu_item_check label="キャラクター Vis のデバッグ" name="Debug Character Vis"/>
- <menu_item_check label="骨組みの衝突判定を表示" name="Show Collision Skeleton"/>
- <menu_item_check label="エージェントのターゲットを表示" name="Display Agent Target"/>
+ <menu_item_check label="骨組みの衝突判定を表示する" name="Show Collision Skeleton"/>
+ <menu_item_check label="エージェントのターゲットを表示する" name="Display Agent Target"/>
--&gt;
<menu_item_call label="アタッチメントをダンプ" name="Dump Attachments"/>
<menu_item_call label="アバターテクスチャをデバッグ" name="Debug Avatar Textures"/>
@@ -355,9 +361,9 @@
</menu>
<menu_item_check label="HTTP Texture" name="HTTP Textures"/>
<menu_item_call label="圧縮画像" name="Compress Images"/>
- <menu_item_check label="Output Debug Minidump" name="Output Debug Minidump"/>
- <menu_item_check label="次回の起動時にコンソールウィンドウを表示" name="Console Window"/>
- <menu_item_check label="管理者メニューを表示" name="View Admin Options"/>
+ <menu_item_check label="デバッグ用のミニダンプを出力する" name="Output Debug Minidump"/>
+ <menu_item_check label="次回の起動時にコンソールウィンドウを表示する" name="Console Window"/>
+ <menu_item_check label="管理者メニューを表示する" name="View Admin Options"/>
<menu_item_call label="管理者ステータスの呼び出し" name="Request Admin Options"/>
<menu_item_call label="管理者ステータス解除" name="Leave Admin Options"/>
</menu>
@@ -365,19 +371,19 @@
<menu label="Object">
<menu_item_call label="コピーを取る" name="Take Copy"/>
<menu_item_call label="私を所有者にする" name="Force Owner To Me"/>
- <menu_item_call label="所有者権限の実行" name="Force Owner Permissive"/>
+ <menu_item_call label="所有者権限を実行する" name="Force Owner Permissive"/>
<menu_item_call label="削除" name="Delete"/>
<menu_item_call label="ロック" name="Lock"/>
- <menu_item_call label="アセット ID を取得" name="Get Assets IDs"/>
+ <menu_item_call label="アセット ID を取得する" name="Get Assets IDs"/>
</menu>
<menu label="区画" name="Parcel">
<menu_item_call label="私を所有者にする" name="Owner To Me"/>
- <menu_item_call label="リンデンコンテンツに設定" name="Set to Linden Content"/>
- <menu_item_call label="パブリックの土地を取得" name="Claim Public Land"/>
+ <menu_item_call label="リンデンコンテンツに設定する" name="Set to Linden Content"/>
+ <menu_item_call label="パブリックの土地を取得する" name="Claim Public Land"/>
</menu>
<menu label="リージョン/地域" name="Region">
<menu_item_call label="一時アセットデータをダンプ" name="Dump Temp Asset Data"/>
- <menu_item_call label="リージョンの状態を保存" name="Save Region State"/>
+ <menu_item_call label="リージョンの状態を保存する" name="Save Region State"/>
</menu>
<menu_item_call label="グリッドツール" name="God Tools"/>
</menu>
diff --git a/indra/newview/skins/default/xui/ja/notifications.xml b/indra/newview/skins/default/xui/ja/notifications.xml
index f4c46f82ac..4fc3f1d46f 100644
--- a/indra/newview/skins/default/xui/ja/notifications.xml
+++ b/indra/newview/skins/default/xui/ja/notifications.xml
@@ -339,10 +339,10 @@ L$ が不足しているのでこのグループに参加することができ
まだ読み込まれていないため、そのアイテムを装着できません。後でやり直してください。
</notification>
<notification name="MustHaveAccountToLogIn">
- おっと! 記入漏れがありますよ。
+ おっと!記入漏れがありますよ。
アバターのファーストネームとラストネームの両方を入力する必要があります。
-[SECOND_LIFE]に入るには、アカウントが必要です。 アカウントを作成しますか?
+[SECOND_LIFE] に入るには、アカウントが必要です。 アカウントを作成しますか?
<url name="url">
https://join.secondlife.com/index.php?lang=ja-JP
</url>
@@ -470,7 +470,6 @@ L$ が不足しているのでこのグループに参加することができ
<notification name="UnsupportedHardware">
お使いのコンピューターは [APP_NAME] の必要最低限の動作環境を満たしていません。 パフォーマンスの低下を感じるかもしれません。 恐れ入りますが [SUPPORT_SITE] ではサポート対象外のシステムに関する技術的サポートは行っておりません。
-最低動作環境
[_URL] に移動して確認をしますか?
<url name="url" option="0">
http://secondlife.com/support/sysreqs.php?lang=ja
@@ -586,7 +585,7 @@ L$ が不足しているのでこのグループに参加することができ
このファイルの拡張子が正しいかどうかを確認してください。
</notification>
<notification name="InvalidFileExtension">
- [EXTENSION]は無効です。
+ [EXTENSION] は無効です。
正しい拡張子:[VALIDS]
<usetemplate name="okbutton" yestext="OK"/>
</notification>
@@ -1345,7 +1344,7 @@ F1 キーを押してください。
</notification>
<notification name="ConfirmKick">
すべてのユーザーをグリッドの外にキックしようとしています。操作を続行しますか?
- <usetemplate name="okcancelbuttons" notext="キャンセル" yestext="全てのユーザを追い出す"/>
+ <usetemplate name="okcancelbuttons" notext="キャンセル" yestext="全てのユーザーを追い出す"/>
</notification>
<notification name="MuteLinden">
リンデンをブロックすることはできません。
@@ -1447,15 +1446,15 @@ F1 キーを押してください。
</notification>
<notification name="TeleportFromLandmark">
このまま &lt;nolink&gt;[LOCATION]&lt;/nolink&gt; にテレポートしますか?
- <usetemplate ignoretext="ランドマークにテレポートしたいかの確認" name="okcancelignore" notext="キャンセル" yestext="テレポート"/>
+ <usetemplate ignoretext="ランドマークにテレポートしたいかどうかの確認" name="okcancelignore" notext="キャンセル" yestext="テレポート"/>
</notification>
<notification name="TeleportToPick">
[PICK] にテレポートしますか?
- <usetemplate ignoretext="ピックの場所にテレポートしたいかの確認" name="okcancelignore" notext="キャンセル" yestext="テレポート"/>
+ <usetemplate ignoretext="ピックの場所にテレポートしたいかどうかの確認" name="okcancelignore" notext="キャンセル" yestext="テレポート"/>
</notification>
<notification name="TeleportToClassified">
[CLASSIFIED] にテレポートしますか?
- <usetemplate ignoretext="クラシファイド広告の場所にテレポートしたいかの確認" name="okcancelignore" notext="キャンセル" yestext="テレポート"/>
+ <usetemplate ignoretext="クラシファイド広告の場所にテレポートしたいかどうかの確認" name="okcancelignore" notext="キャンセル" yestext="テレポート"/>
</notification>
<notification label="あなたの不動産内の全員にメッセージを送信" name="MessageEstate">
今あなたの不動産にいる人全員に送る、短いメッセージを入力してください。
@@ -1631,11 +1630,11 @@ L$ [AMOUNT] で、このクラシファイド広告を今すぐ公開します
<usetemplate name="okcancelbuttons" notext="取り消し" yestext="OK"/>
</notification>
<notification name="SetClassifiedMature">
- この広告に「控えめ」コンテンツは含まれていますか?
+ この広告に「Moderate」コンテンツは含まれていますか?
<usetemplate canceltext="キャンセル" name="yesnocancelbuttons" notext="いいえ" yestext="はい"/>
</notification>
<notification name="SetGroupMature">
- このグループに「控えめ」コンテンツが含まれていますか?
+ このグループに「Moderate」コンテンツが含まれていますか?
<usetemplate canceltext="キャンセル" name="yesnocancelbuttons" notext="いいえ" yestext="はい"/>
</notification>
<notification label="再起動を確認" name="ConfirmRestart">
@@ -1655,7 +1654,7 @@ L$ [AMOUNT] で、このクラシファイド広告を今すぐ公開します
このリージョン(地域)のレーティング区分がアップデートされました。
地図に変更が反映されるまで数分かかることがあります。
-アダルト専用リージョンに入るには、住人のアカウントが年齢確認か支払方法のいずれかで「確認済み」でなければなりません。
+Adult 専用リージョンに入るには、住人のアカウントが年齢確認か支払方法のいずれかで「確認済み」でなければなりません。
</notification>
<notification label="ボイスバージョンの不一致" name="VoiceVersionMismatch">
[APP_NAME] のこのバージョンは、このリージョンにおけるボイスチャットの互換性がありません。 ボイスチャットを正常に行うためには、[APP_NAME] のアップデートが必要です。
@@ -1931,7 +1930,7 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="ForceCloseChatterBoxSession">
- [NAME]とのチャットセッションを閉じます。
+ [NAME] とのチャットセッションを閉じます。
[REASON]
<usetemplate name="okbutton" yestext="OK"/>
</notification>
@@ -1944,8 +1943,8 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="AutoWearNewClothing">
- 作成しようとしている衣類を自動的に装着しますか?
- <usetemplate ignoretext="「マイ 容姿」を編集中に、作成する衣類を装着するとき" name="okcancelignore" notext="いいえ" yestext="はい"/>
+ 作成する衣類を自動的に装着しますか?
+ <usetemplate ignoretext="「容姿」を編集中に、作成する衣類を装着するとき" name="okcancelignore" notext="いいえ" yestext="はい"/>
</notification>
<notification name="NotAgeVerified">
年齢確認を済ませていないとこの区画を訪れることができません。 [SECOND_LIFE] サイトで年齢の確認を行いますか?
@@ -2118,7 +2117,7 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
コミュニティスタンダードに明記されているコンテンツ制限により、あなたの検索語の一部が除外されました。
</notification>
<notification name="NoContentToSearch">
- 少なくともどれか一つコンテンツの種類を選択して検索を行ってください。(一般、控えめ、アダルト)
+ 少なくともどれか一つコンテンツの種類を選択して検索を行ってください。(General、Moderate、Adult)
</notification>
<notification name="GroupVote">
[NAME] は投票の申請をしています:
@@ -2229,27 +2228,27 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
そのリージョンにいないと公共の土地を取得することはできません。
</notification>
<notification name="RegionTPAccessBlocked">
- あなたのレーティング区分によりそのリージョン(地域)へは入ることができません。 年齢確認を行うか、最新ビューワをインストールしてください。
+ あなたのレーティング区分によりそのリージョンへは入ることができません。 年齢確認を行うか、最新ビューワをインストールしてください。
現在のレーティング区分でアクセス可能なエリアに関する詳細はナレッジベースを参照してください。
</notification>
<notification name="URBannedFromRegion">
- あなたはリージョン(地域)への立入が禁止されています。
+ あなたはリージョンへの立入が禁止されています。
</notification>
<notification name="NoTeenGridAccess">
あなたのアカウントではティーングリッドに接続できません。
</notification>
<notification name="ImproperPaymentStatus">
- このリージョン(地域)に入るために適した支払いステータスがありません。
+ このリージョンに入るために適した支払いステータスがありません。
</notification>
<notification name="MustGetAgeRgion">
- このリージョン(地域)に入るには年齢確認済みである必要があります。
+ このリージョンに入るためには、年齢確認を済ませる必要があります。
</notification>
<notification name="MustGetAgeParcel">
- この区画に入るには年齢確認済みである必要があります。
+ この区画に入るためには、年齢確認を済ませる必要があります。
</notification>
<notification name="NoDestRegion">
- 目的地のリージョン(地域)が見つかりませんでした。
+ 目的地のリージョンが見つかりませんでした。
</notification>
<notification name="NotAllowedInDest">
目的地に入る許可がありません。
@@ -2267,14 +2266,14 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
テレポートがキャンセルされました。
</notification>
<notification name="FullRegionTryAgain">
- 入ろうとしているリージョン(地域)は現在満員です。
+ 入ろうとしているリージョンは現在満員です。
しばらくしてから再度お試しください。
</notification>
<notification name="GeneralFailure">
よくある失敗
</notification>
<notification name="RoutedWrongRegion">
- 異なるリージョン(地域)に迂回されました。 もう一度お試しください。
+ 異なるリージョンに迂回されました。 もう一度お試しください。
</notification>
<notification name="NoValidAgentID">
エージェント ID が無効です。
@@ -2295,7 +2294,7 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
内部エラーが発生しました。
</notification>
<notification name="NoGoodTPDestination">
- このリージョン(地域)では適切なテレポート目的地が見つかりませんでした。
+ このリージョンでは、適切なテレポート目的地が見つかりませんでした。
</notification>
<notification name="InternalErrorRegionResolver">
内部エラーが発生しました。
@@ -2382,7 +2381,7 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
[TO_NAME] にフレンド登録を申し出ました。
</notification>
<notification name="OfferFriendshipNoMessage">
- [NAME]は、
+ [NAME] は、
フレンド登録を申し込んでいます。
(デフォルトでお互いのオンライン状態を見ることができるようになります。)
@@ -2397,6 +2396,12 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
<notification name="FriendshipDeclined">
[NAME]は、フレンド登録を断りました。
</notification>
+ <notification name="FriendshipAcceptedByMe">
+ フレンドの登録依頼が承認されました。
+ </notification>
+ <notification name="FriendshipDeclinedByMe">
+ フレンドの登録依頼が拒否されました。
+ </notification>
<notification name="OfferCallingCard">
[FIRST] [LAST] がコーリングカードを渡そうとしています。
あなたの「持ち物」にブックマークが追加され、この住人に素早く IM を送ることができます。
@@ -2418,9 +2423,9 @@ Web ページにリンクすると、他人がこの場所に簡単にアクセ
[MESSAGE]
-読み込み元のオブジェクト:[OBJECTNAME]、所有者:[NAME]?
+読み込み元のオブジェクト:[OBJECTNAME]、所有者:[NAME]
<form name="form">
- <button name="Gotopage" text="移動"/>
+ <button name="Gotopage" text="ページに移動"/>
<button name="Cancel" text="取り消し"/>
</form>
</notification>
@@ -2585,7 +2590,7 @@ M キーを押して変更します。
[VOICE_CHANNEL_NAME] のボイスチャットに接続中に、エラーが発生しました。後でもう一度お試しください。
</notification>
<notification name="ServerVersionChanged">
- 異なるサーバーバージョンのリージョンに来ました。パフォーマンスに影響することがあります。 [[URL] リリースノートを確認]
+ サーバーのバージョンが異なるリージョンに来ました。パフォーマンスに影響することがあります。 [[URL] リリースノートを確認]
</notification>
<notification name="UnsupportedCommandSLURL">
クリックした SLurl はサポートされていません。
@@ -2605,7 +2610,7 @@ M キーを押して変更します。
</notification>
<notification name="ConfirmCloseAll">
すべての IM を閉じますか?
- <usetemplate name="okcancelignore" notext="キャンセル" yestext="OK"/>
+ <usetemplate ignoretext="すべての IM を閉じる前の確認" name="okcancelignore" notext="キャンセル" yestext="OK"/>
</notification>
<notification name="AttachmentSaved">
アタッチメントが保存されました。
diff --git a/indra/newview/skins/default/xui/ja/panel_classified_info.xml b/indra/newview/skins/default/xui/ja/panel_classified_info.xml
index 14e04d5691..f3c68c9f59 100644
--- a/indra/newview/skins/default/xui/ja/panel_classified_info.xml
+++ b/indra/newview/skins/default/xui/ja/panel_classified_info.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="panel_classified_info">
<panel.string name="type_mature">
- 控えめ
+ Moderate
</panel.string>
<panel.string name="type_pg">
- 一般コンテンツ
+ 「General」コンテンツ
</panel.string>
<panel.string name="l$_price">
L$ [PRICE]
diff --git a/indra/newview/skins/default/xui/ja/panel_edit_classified.xml b/indra/newview/skins/default/xui/ja/panel_edit_classified.xml
index 4cb5884f28..fa46e6d35a 100644
--- a/indra/newview/skins/default/xui/ja/panel_edit_classified.xml
+++ b/indra/newview/skins/default/xui/ja/panel_edit_classified.xml
@@ -24,10 +24,10 @@
<button label="現在地に設定" name="set_to_curr_location_btn"/>
<combo_box name="content_type">
<combo_item name="mature_ci">
- 控えめコンテンツ
+ 「Moderate」コンテンツ
</combo_item>
<combo_item name="pg_ci">
- 一般コンテンツ
+ 「General」コンテンツ
</combo_item>
</combo_box>
<spinner label="L$" name="price_for_listing" tool_tip="掲載価格" value="50"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_group_general.xml b/indra/newview/skins/default/xui/ja/panel_group_general.xml
index a8df9aef80..1b89b1b3cc 100644
--- a/indra/newview/skins/default/xui/ja/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/ja/panel_group_general.xml
@@ -46,9 +46,9 @@
<check_box label="誰でも入会できます" name="open_enrollement" tool_tip="招待されなくても新規メンバーが加入できるかどうかを設定します。"/>
<check_box label="入会費がかかります" name="check_enrollment_fee" tool_tip="入会費が必要かどうかを設定します。"/>
<spinner label="L$" name="spin_enrollment_fee" tool_tip="「入会費」にチェックが入っている場合、新規メンバーは指定された入会費を支払わなければグループに入れません。"/>
- <combo_box name="group_mature_check" tool_tip="あなたのグループに「控えめ」にレート設定された情報があるかどうかを設定します">
- <combo_box.item label="一般コンテンツ" name="pg"/>
- <combo_box.item label="控えめコンテンツ" name="mature"/>
+ <combo_box name="group_mature_check" tool_tip="あなたのグループに「Moderate」にレート設定された情報があるかどうかを設定します">
+ <combo_box.item label="「General」コンテンツ" name="pg"/>
+ <combo_box.item label="「Moderate」コンテンツ" name="mature"/>
</combo_box>
<check_box initial_value="true" label="検索に表示" name="show_in_group_list" tool_tip="このグループを検索結果に表示させます"/>
</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_im_control_panel.xml b/indra/newview/skins/default/xui/ja/panel_im_control_panel.xml
index be15e92aa1..f2429ac12a 100644
--- a/indra/newview/skins/default/xui/ja/panel_im_control_panel.xml
+++ b/indra/newview/skins/default/xui/ja/panel_im_control_panel.xml
@@ -14,7 +14,7 @@
<layout_panel name="share_btn_panel">
<button label="共有" name="share_btn"/>
</layout_panel>
- <layout_panel name="share_btn_panel">
+ <layout_panel name="pay_btn_panel">
<button label="支払う" name="pay_btn"/>
</layout_panel>
<layout_panel name="call_btn_panel">
diff --git a/indra/newview/skins/default/xui/ja/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/ja/panel_nearby_chat_bar.xml
index 3dbabc62be..5998206f27 100644
--- a/indra/newview/skins/default/xui/ja/panel_nearby_chat_bar.xml
+++ b/indra/newview/skins/default/xui/ja/panel_nearby_chat_bar.xml
@@ -1,11 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="chat_bar">
- <string name="min_width">
- 192
- </string>
- <string name="max_width">
- 320
- </string>
<line_editor label="ここをクリックしてチャットを開始します。" name="chat_box" tool_tip="Enter キーを押して発言し、Ctrl + Enter キーで叫びます。"/>
<button name="show_nearby_chat" tool_tip="近くのチャットログを表示・非表示"/>
</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_nearby_media.xml b/indra/newview/skins/default/xui/ja/panel_nearby_media.xml
index ca93d46e4d..a670975dda 100644
--- a/indra/newview/skins/default/xui/ja/panel_nearby_media.xml
+++ b/indra/newview/skins/default/xui/ja/panel_nearby_media.xml
@@ -1,8 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="nearby_media">
- <string name="media_item_count_format">
- (メディアアイテム %ld )
- </string>
<string name="empty_item_text">
&lt;空&gt;
</string>
diff --git a/indra/newview/skins/default/xui/ja/panel_online_status_toast.xml b/indra/newview/skins/default/xui/ja/panel_online_status_toast.xml
new file mode 100644
index 0000000000..fdc489f375
--- /dev/null
+++ b/indra/newview/skins/default/xui/ja/panel_online_status_toast.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="friend_online_status" name="friend_online_status"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_people.xml b/indra/newview/skins/default/xui/ja/panel_people.xml
index bad4cdbc05..5097a352e5 100644
--- a/indra/newview/skins/default/xui/ja/panel_people.xml
+++ b/indra/newview/skins/default/xui/ja/panel_people.xml
@@ -21,7 +21,7 @@
<accordion_tab name="tab_all" title="全員"/>
</accordion>
<text name="no_friends_msg">
- お友達を追加するには、[secondlife:///app/search/people グローバル検索] をするか、ユーザーをクリックして行ってください。
+ フレンドを追加するには、[secondlife:///app/search/people グローバル検索] をするか、ユーザーを右クリックしてください。
誰か一緒に行動をする人をお探しの時は、[secondlife:///app/worldmap 地図をお試しださい]。
</text>
<panel label="bottom_panel" name="bottom_panel">
diff --git a/indra/newview/skins/default/xui/ja/panel_place_profile.xml b/indra/newview/skins/default/xui/ja/panel_place_profile.xml
index a6af5f3d3c..132fb95fe7 100644
--- a/indra/newview/skins/default/xui/ja/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/ja/panel_place_profile.xml
@@ -68,7 +68,7 @@
<text name="maturity_value" value="不明"/>
<accordion name="advanced_info_accordion">
<accordion_tab name="parcel_characteristics_tab" title="区画">
- <panel>
+ <panel name="parcel_characteristics_panel">
<text name="rating_label" value="レーティング区分:"/>
<text name="rating_value" value="不明"/>
<text name="voice_label" value="ボイス:"/>
@@ -87,13 +87,13 @@
</panel>
</accordion_tab>
<accordion_tab name="region_information_tab" title="リージョン(地域) ">
- <panel>
+ <panel name="region_information_panel">
<text name="region_name_label" value="地域:"/>
<text name="region_name" value="Mooseland"/>
<text name="region_type_label" value="種類:"/>
<text name="region_type" value="Moose"/>
<text name="region_rating_label" value="レーティング区分:"/>
- <text name="region_rating" value="アダルト"/>
+ <text name="region_rating" value="Adult"/>
<text name="region_owner_label" value="所有者:"/>
<text name="region_owner" value="moose Van Moose"/>
<text name="region_group_label" value="グループ:"/>
@@ -104,7 +104,7 @@
</panel>
</accordion_tab>
<accordion_tab name="estate_information_tab" title="エステート(不動産)">
- <panel>
+ <panel name="estate_information_panel">
<text name="estate_name_label" value="不動産:"/>
<text name="estate_rating_label" value="レーティング区分:"/>
<text name="estate_owner_label" value="所有者:"/>
@@ -112,7 +112,7 @@
</panel>
</accordion_tab>
<accordion_tab name="sales_tab" title="販売中">
- <panel>
+ <panel name="sales_panel">
<text name="sales_price_label" value="価格:"/>
<text name="area_label" value="面積:"/>
<text name="traffic_label" value="トラフィック:"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_places.xml b/indra/newview/skins/default/xui/ja/panel_places.xml
index e2dba19c1d..a7fbc79884 100644
--- a/indra/newview/skins/default/xui/ja/panel_places.xml
+++ b/indra/newview/skins/default/xui/ja/panel_places.xml
@@ -7,9 +7,9 @@
<button label="テレポート" name="teleport_btn" tool_tip="該当するエリアにテレポートします"/>
<button label="地図" name="map_btn"/>
<button label="編集" name="edit_btn" tool_tip="ランドマークの情報を編集します"/>
- <button name="overflow_btn" tool_tip="その他のオプションを表示"/>
- <button label="閉じる" name="close_btn"/>
- <button label="キャンセル" name="cancel_btn"/>
+ <button label="▼" name="overflow_btn" tool_tip="その他のオプションを表示"/>
<button label="保存" name="save_btn"/>
+ <button label="キャンセル" name="cancel_btn"/>
+ <button label="閉じる" name="close_btn"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml
index e0c25c35a1..87cd772143 100644
--- a/indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/ja/panel_preferences_advanced.xml
@@ -22,7 +22,7 @@
<radio_item label="近くのチャット" name="0"/>
<radio_item label="別々のウィンドウ" name="1"/>
</radio_group>
- <check_box label="押すとボイスのオン・オフを切り替えます:" name="push_to_talk_toggle_check" tool_tip="トグルモードの時にトリガーキーを1度押して放すと、マイクのオン・オフ設定を切り替えます。 トグルモードではないときは、トリガーキーを押した状態の時のみあなたの声が相手に聞こえます。"/>
+ <check_box label="ボイスのオン・オフ切り替えに使用するトリガーキー:" name="push_to_talk_toggle_check" tool_tip="トグルモードの時にトリガーキーを 1 度押して放すと、マイクのオン・オフ設定を切り替えます。 トグルモードではないときは、トリガーキーを押した状態の時のみあなたの声が相手に聞こえます。"/>
<line_editor label="プッシュ・トゥ・スピークのトリガー" name="modifier_combo"/>
<button label="キー設定" name="set_voice_hotkey_button"/>
<button label="マウスの中央ボタン" name="set_voice_middlemouse_button" tool_tip="マウスの中央ボタンにリセットします"/>
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 d6fe54fbd1..b0572804cb 100644
--- a/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml
@@ -1,10 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="チャット" name="chat">
+ <text name="font_size">
+ Font size:
+ </text>
<radio_group name="chat_font_size">
<radio_item label="小" name="radio" value="0"/>
<radio_item label="中" name="radio2" value="1"/>
<radio_item label="大" name="radio3" value="2"/>
</radio_group>
+ <text name="font_colors">
+ Font colors:
+ </text>
<color_swatch label="自分" name="user"/>
<text name="text_box1">
自分
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 f216c3acbc..6df59ca189 100644
--- a/indra/newview/skins/default/xui/ja/panel_preferences_general.xml
+++ b/indra/newview/skins/default/xui/ja/panel_preferences_general.xml
@@ -24,9 +24,9 @@
</text>
<text name="maturity_desired_textbox"/>
<combo_box name="maturity_desired_combobox">
- <combo_box.item label="一般、控えめ、アダルト" name="Desired_Adult"/>
- <combo_box.item label="一般と控えめ" name="Desired_Mature"/>
- <combo_box.item label="一般" name="Desired_PG"/>
+ <combo_box.item label="General、Moderate、Adult" name="Desired_Adult"/>
+ <combo_box.item label="General と Moderate" name="Desired_Mature"/>
+ <combo_box.item label="General" name="Desired_PG"/>
</combo_box>
<text name="start_location_textbox">
ログイン位置:
diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_sound.xml b/indra/newview/skins/default/xui/ja/panel_preferences_sound.xml
index af64a217f6..fe830d864f 100644
--- a/indra/newview/skins/default/xui/ja/panel_preferences_sound.xml
+++ b/indra/newview/skins/default/xui/ja/panel_preferences_sound.xml
@@ -13,9 +13,12 @@
<check_box label="有効" name="enable_voice_check"/>
<check_box label="メディアを自動再生する" name="media_auto_play_btn" tool_tip="ここにチェックを入れてメディアの自動再生を許可します" value="true"/>
<check_box label="他のアバターに取り付けられたメディアを再生します" name="media_show_on_others_btn" tool_tip="このチェックを外すと、近くにいる他のアバターに取り付けられたメディアを非表示にします。" value="true"/>
- <text name="Listen from">
+ <text name="voice_chat_settings">
ボイスチャットの設定
</text>
+ <text name="Listen from">
+ 方向:
+ </text>
<radio_group name="ear_location">
<radio_item label="カメラの位置から聞く" name="0"/>
<radio_item label="アバターの位置から聞く" name="1"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_region_covenant.xml b/indra/newview/skins/default/xui/ja/panel_region_covenant.xml
index 9a517d79e9..5214f79141 100644
--- a/indra/newview/skins/default/xui/ja/panel_region_covenant.xml
+++ b/indra/newview/skins/default/xui/ja/panel_region_covenant.xml
@@ -30,7 +30,7 @@
約款の変更は不動産全区画に適用となります。
</text>
<text name="covenant_instructions" width="390">
- この不動産約款の変更をする際は、ノートカードをドラッグ&ドロップしてください。
+ この不動産約款を変更する際は、ノートカードをドラッグ&ドロップしてください。
</text>
<text bottom_delta="-34" font="SansSerifLarge" name="region_section_lbl" width="200">
地域
diff --git a/indra/newview/skins/default/xui/ja/panel_region_general.xml b/indra/newview/skins/default/xui/ja/panel_region_general.xml
index 168141ee77..be92c24663 100644
--- a/indra/newview/skins/default/xui/ja/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/ja/panel_region_general.xml
@@ -39,10 +39,10 @@
<text label="成人指定" name="access_text">
区分:
</text>
- <combo_box label="控えめ" name="access_combo">
- <combo_box.item label="アダルト" name="Adult"/>
- <combo_box.item label="控えめ" name="Mature"/>
- <combo_box.item label="一般" name="PG"/>
+ <combo_box label="Moderate" name="access_combo">
+ <combo_box.item label="Adult" name="Adult"/>
+ <combo_box.item label="Moderate" name="Mature"/>
+ <combo_box.item label="General" name="PG"/>
</combo_box>
<button label="?" name="access_help"/>
<button label="適用" name="apply_btn"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_region_general_layout.xml b/indra/newview/skins/default/xui/ja/panel_region_general_layout.xml
index df7e5d9129..aa8c126423 100644
--- a/indra/newview/skins/default/xui/ja/panel_region_general_layout.xml
+++ b/indra/newview/skins/default/xui/ja/panel_region_general_layout.xml
@@ -30,10 +30,10 @@
<text label="レーティング区分" name="access_text">
レーティング区分:
</text>
- <combo_box label="控えめ" name="access_combo">
- <combo_box.item label="アダルト" name="Adult"/>
- <combo_box.item label="控えめ" name="Mature"/>
- <combo_box.item label="一般" name="PG"/>
+ <combo_box label="Moderate" name="access_combo">
+ <combo_box.item label="Adult" name="Adult"/>
+ <combo_box.item label="Moderate" name="Mature"/>
+ <combo_box.item label="General" name="PG"/>
</combo_box>
<button label="適用" name="apply_btn"/>
<button label="ユーザー1名をホームにテレポート..." name="kick_btn"/>
diff --git a/indra/newview/skins/default/xui/ja/panel_side_tray.xml b/indra/newview/skins/default/xui/ja/panel_side_tray.xml
index 5364b8726f..3fd14ece06 100644
--- a/indra/newview/skins/default/xui/ja/panel_side_tray.xml
+++ b/indra/newview/skins/default/xui/ja/panel_side_tray.xml
@@ -20,10 +20,10 @@
<sidetray_tab description="行きたい場所、行ったことのある場所を探してください。" label="場所" name="sidebar_places" tab_title="場所">
<panel label="場所" name="panel_places"/>
</sidetray_tab>
- <sidetray_tab description="あなたの持ち物を眺めてください。" name="sidebar_inventory" tab_title="マイ 持ち物">
+ <sidetray_tab description="あなたの持ち物を眺めてください。" name="sidebar_inventory" tab_title="持ち物">
<panel label="持ち物を編集" name="sidepanel_inventory"/>
</sidetray_tab>
- <sidetray_tab description="あなたの容姿や現在の見た目を変更してください。" name="sidebar_appearance" tab_title="マイ 容姿">
+ <sidetray_tab description="あなたの容姿や現在の見た目を変更してください。" name="sidebar_appearance" tab_title="容姿">
<panel label="容姿の編集" name="sidepanel_appearance"/>
</sidetray_tab>
</side_tray>
diff --git a/indra/newview/skins/default/xui/ja/panel_sidetray_home_tab.xml b/indra/newview/skins/default/xui/ja/panel_sidetray_home_tab.xml
index aef1f90298..ea17cd6526 100644
--- a/indra/newview/skins/default/xui/ja/panel_sidetray_home_tab.xml
+++ b/indra/newview/skins/default/xui/ja/panel_sidetray_home_tab.xml
@@ -22,13 +22,13 @@
</text>
</panel>
<panel name="sidebar_appearance">
- <text name="tab_name" value="マイ 容姿"/>
+ <text name="tab_name" value="容姿"/>
<text name="tab_description">
あなたの容姿や現在の見た目を変更します。
</text>
</panel>
<panel name="sidebar_inventory">
- <text name="tab_name" value="マイ 持ち物"/>
+ <text name="tab_name" value="持ち物"/>
<text name="tab_description">
あなたの持ち物を眺めます。
</text>
diff --git a/indra/newview/skins/default/xui/ja/panel_status_bar.xml b/indra/newview/skins/default/xui/ja/panel_status_bar.xml
index a9e13cfd9f..8ffcd8863e 100644
--- a/indra/newview/skins/default/xui/ja/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/ja/panel_status_bar.xml
@@ -22,10 +22,10 @@
L$ [AMT]
</panel.string>
<button label="" label_selected="" name="buycurrency" tool_tip="所持金"/>
- <button label="L$ の購入" name="buyL" tool_tip="クリックして L$ を購入します"/>
+ <button label="買う" name="buyL" tool_tip="クリックして L$ を購入します"/>
<text name="TimeText" tool_tip="現在時刻(太平洋)">
24:00 AM PST
</text>
- <button name="media_toggle_btn" tool_tip="クリックしてメディアを切り替えます"/>
+ <button name="media_toggle_btn" tool_tip="すべてのメディアを開始・停止(音楽、ビデオ、Web ページ)"/>
<button name="volume_btn" tool_tip="グローバル音量設定"/>
</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_teleport_history.xml b/indra/newview/skins/default/xui/ja/panel_teleport_history.xml
index 2264ae965b..c1bf81f7e7 100644
--- a/indra/newview/skins/default/xui/ja/panel_teleport_history.xml
+++ b/indra/newview/skins/default/xui/ja/panel_teleport_history.xml
@@ -12,6 +12,6 @@
<accordion_tab name="6_months_and_older" title="半年以上前"/>
</accordion>
<panel label="bottom_panel" name="bottom_panel">
- <button name="gear_btn" tool_tip="その他のオプションを表示"/>
+ <button name="gear_btn" tool_tip="オプションを表示します"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/ja/sidepanel_task_info.xml b/indra/newview/skins/default/xui/ja/sidepanel_task_info.xml
index ab00953f1a..439891bab1 100644
--- a/indra/newview/skins/default/xui/ja/sidepanel_task_info.xml
+++ b/indra/newview/skins/default/xui/ja/sidepanel_task_info.xml
@@ -38,7 +38,7 @@
</panel.string>
<text name="title" value="オブジェクトのプロフィール"/>
<text name="where" value="(インワールド)"/>
- <panel label="">
+ <panel name="properties_panel" label="">
<text name="Name:">
名前:
</text>
diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml
index 9b272b2fe8..de0de5a0c9 100644
--- a/indra/newview/skins/default/xui/ja/strings.xml
+++ b/indra/newview/skins/default/xui/ja/strings.xml
@@ -636,13 +636,13 @@
接続されていません
</string>
<string name="SIM_ACCESS_PG">
- 一般
+ General
</string>
<string name="SIM_ACCESS_MATURE">
- 控えめ
+ Moderate
</string>
<string name="SIM_ACCESS_ADULT">
- アダルト
+ Adult
</string>
<string name="SIM_ACCESS_DOWN">
オフライン
@@ -1506,6 +1506,9 @@
<string name="NoPicksClassifiedsText">
ピックやクラシファイド広告を作成していません。 作成するには、下にある「プラス」ボタンをクリックします。
</string>
+ <string name="NoAvatarPicksClassifiedsText">
+ ピック、またはクラシファイド広告がありません
+ </string>
<string name="PicksClassifiedsLoadingText">
ローディング...
</string>
@@ -1709,7 +1712,7 @@
Linden 所在地
</string>
<string name="Adult">
- アダルト
+ Adult
</string>
<string name="Arts&amp;Culture">
アートとカルチャー
@@ -1900,7 +1903,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
後ろ髪の毛先
</string>
<string name="Baggy">
- たるんでいる
+ たるんだ下まぶた
</string>
<string name="Bangs">
前髪
@@ -1990,7 +1993,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
</string>
<string name="Brow Size">
- 眉毛の大きさ
+ 眉毛上の隆起
</string>
<string name="Bug Eyes">
Bug Eyes
@@ -2023,7 +2026,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
膨らみ大
</string>
<string name="Chaplin">
- Chaplin
+ チャップリン
</string>
<string name="Cheek Bones">
ほお骨
@@ -2044,7 +2047,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
あごの長さ
</string>
<string name="Chin Heavy">
- あごに重点
+ あごを強調
</string>
<string name="Chin In">
ひいたあご
@@ -2236,7 +2239,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
ひたいの角度
</string>
<string name="Forehead Heavy">
- ひたいに重点
+ ひたいを強調
</string>
<string name="Freckles">
しみ・そばかす
@@ -2386,7 +2389,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
あごの形
</string>
<string name="Join">
- 寄せた
+ 寄せた胸
</string>
<string name="Jowls">
えら
@@ -2491,7 +2494,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
口紅の色
</string>
<string name="Long">
- 長
+ ロング
</string>
<string name="Long Head">
前後幅が広い頭
@@ -2887,7 +2890,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
骨張った脚
</string>
<string name="Separate">
- 離れた
+ 離れた胸
</string>
<string name="Shallow">
なだらか
@@ -2935,7 +2938,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
靴の長さ
</string>
<string name="Short">
- 短
+ ショート
</string>
<string name="Short Arms">
@@ -3049,7 +3052,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
縦長
</string>
<string name="Sunken">
- こけた
+ こけたほお
</string>
<string name="Sunken Chest">
@@ -3064,7 +3067,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
前へ
</string>
<string name="Tall">
- 高
+ トール
</string>
<string name="Taper Back">
後ろに先細
@@ -3160,7 +3163,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
ウエストの高さ
</string>
<string name="Well-Fed">
- つまった
+ つまったほお
</string>
<string name="White Hair">
白髪
@@ -3181,7 +3184,7 @@ www.secondlife.com から最新バージョンをダウンロードしてくだ
ワイルド
</string>
<string name="Wrinkles">
- しわあり
+ しわ
</string>
<string name="LocationCtrlAddLandmarkTooltip">
マイ ランドマークに追加
diff --git a/indra/newview/skins/default/xui/ja/teleport_strings.xml b/indra/newview/skins/default/xui/ja/teleport_strings.xml
index 72c183d03b..adcf0e42c3 100644
--- a/indra/newview/skins/default/xui/ja/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/ja/teleport_strings.xml
@@ -10,14 +10,14 @@
このメッセージが何度も出る場合は、[SUPPORT_SITE] をご確認ください。
</message>
<message name="blocked_tport">
- 申し訳ございません。テレポートは現在、ブロックされています。もう少し後でやり直してください。
+ 申し訳ございませんが、テレポートは現在、ブロックされています。もう少し後でやり直してください。
やり直してもテレポートできない場合は、いったんログアウトし、再度ログインして問題を解決してください。
</message>
<message name="nolandmark_tport">
- 残念ながら、システムはランドマーク目的地を探せませんでした。
+ 残念ながら、システムはランドマークの目的地を探せませんでした。
</message>
<message name="timeout_tport">
- 申し訳ございません。システムはテレポート接続を完了できませんでした。
+ 申し訳ございませんが、システムはテレポートの接続を完了できませんでした。
もう少し後でやり直してください。
</message>
<message name="noaccess_tport">
@@ -27,18 +27,18 @@
添付物は、まだ到着していません。あと数秒間お待ちいただくか、いったんログアウトし、再度ログインしてからテレポートをやり直してださい。
</message>
<message name="too_many_uploads_tport">
- この地域の資産キューが現在込み合っているため、テレポート・リクエストを時間通りに処理することが難しい状況です。
+ この地域の資産キューが現在込み合っているため、要求されたテレポートを処理することが難しい状況です。
数分後にやり直すか、または混雑していない他の地域をお試しください。
</message>
<message name="expired_tport">
- 申し訳ございません。システムはテレポート・リクエストを時間どおりに完了できませんでした。数分後にやり直してください。
+ 申し訳ございませんが、システムは要求されたテレポートを完了できませんでした。数分後にやり直してください。
</message>
<message name="expired_region_handoff">
- 申し訳ございません。システムは地域間の移動を時間どおりに完了できませんでした。
+ 申し訳ございませんが、システムは地域間の移動を時間どおりに完了できませんでした。
数分後にやり直してください。
</message>
<message name="no_host">
- テレポート目的地を見つけられません。目的地が一時的に利用できない状態か、またはすでに消滅している可能性があります。数分後にやり直してください。
+ テレポートの目的地を見つけられません。目的地が一時的に利用できない状態か、またはすでに消滅している可能性があります。数分後にやり直してください。
</message>
<message name="no_inventory_host">
持ち物システムは現在利用できません。
@@ -49,19 +49,19 @@
目的地に送信しています。
</message>
<message name="redirecting">
- 別の目的地に再案内しています。
+ 別の目的地にリダイレクトしています。
</message>
<message name="relaying">
目的地に中継しています。
</message>
<message name="sending_home">
- ホーム位置リクエストを送信しています。
+ ホーム位置のリクエストを送信しています。
</message>
<message name="sending_landmark">
- ランドマーク位置リクエストを送信しています。
+ ランドマーク位置のリクエストを送信しています。
</message>
<message name="completing">
- テレポートを完了しています。
+ テレポートを完了します。
</message>
<message name="resolving">
目的地を解決しています。
diff --git a/indra/newview/skins/default/xui/pl/floater_about.xml b/indra/newview/skins/default/xui/pl/floater_about.xml
index 29a5aca90d..29a5aca90d 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_about.xml
+++ b/indra/newview/skins/default/xui/pl/floater_about.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_about_land.xml b/indra/newview/skins/default/xui/pl/floater_about_land.xml
index d456ea26b4..d456ea26b4 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/pl/floater_about_land.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_animation_preview.xml b/indra/newview/skins/default/xui/pl/floater_animation_preview.xml
index 0524b8ade3..0524b8ade3 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_animation_preview.xml
+++ b/indra/newview/skins/default/xui/pl/floater_animation_preview.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_auction.xml b/indra/newview/skins/default/xui/pl/floater_auction.xml
index 37e35ed1e9..815c36606c 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_auction.xml
+++ b/indra/newview/skins/default/xui/pl/floater_auction.xml
@@ -1,9 +1,11 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<floater name="floater_auction" title="ROZPOCZNIJ SPRZEDAŻ POSIADŁOŚCI">
- <check_box label="Zawierając żółte ogrodzenie" name="fence_check" />
- <button label="Zdjęce" label_selected="Zdjęce" name="snapshot_btn" />
- <button label="OK" label_selected="OK" name="ok_btn" />
- <string name="already for sale">
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_auction" title="ROZPOCZNIJ SPRZEDAŻ POSIADŁOŚCI LINDENÓW">
+ <floater.string name="already for sale">
Nie możesz umieścić posiadłości na aukcji, jeżeli już została wystawiona na sprzedaż.
- </string>
+ </floater.string>
+ <check_box initial_value="true" label="Zawierając żółte ogrodzenie" name="fence_check"/>
+ <button label="Zdjęce" label_selected="Zdjęce" name="snapshot_btn"/>
+ <button label="Sprzedaj Każdemu" label_selected="Sprzedaj Każdemu" name="sell_to_anyone_btn"/>
+ <button label="Wyczyść Ustawienia" label_selected="Wyczyść Ustawienia" name="reset_parcel_btn"/>
+ <button label="Rozpocznij Aukcję" label_selected="Rozpocznij Aukcję" name="start_auction_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_avatar_picker.xml b/indra/newview/skins/default/xui/pl/floater_avatar_picker.xml
index 8c09f7294c..8c09f7294c 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_avatar_picker.xml
+++ b/indra/newview/skins/default/xui/pl/floater_avatar_picker.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_avatar_textures.xml b/indra/newview/skins/default/xui/pl/floater_avatar_textures.xml
index dce2330807..dce2330807 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_avatar_textures.xml
+++ b/indra/newview/skins/default/xui/pl/floater_avatar_textures.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_build_options.xml b/indra/newview/skins/default/xui/pl/floater_build_options.xml
index f538be218c..f538be218c 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_build_options.xml
+++ b/indra/newview/skins/default/xui/pl/floater_build_options.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_bumps.xml b/indra/newview/skins/default/xui/pl/floater_bumps.xml
index 10f9d73284..10f9d73284 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_bumps.xml
+++ b/indra/newview/skins/default/xui/pl/floater_bumps.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_buy_contents.xml b/indra/newview/skins/default/xui/pl/floater_buy_contents.xml
index ebe1c9dfd8..ebe1c9dfd8 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_buy_contents.xml
+++ b/indra/newview/skins/default/xui/pl/floater_buy_contents.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_buy_currency.xml b/indra/newview/skins/default/xui/pl/floater_buy_currency.xml
index 5e59482883..5e59482883 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/pl/floater_buy_currency.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_buy_land.xml b/indra/newview/skins/default/xui/pl/floater_buy_land.xml
index 648888828b..648888828b 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/pl/floater_buy_land.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_buy_object.xml b/indra/newview/skins/default/xui/pl/floater_buy_object.xml
index bad7982228..bad7982228 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_buy_object.xml
+++ b/indra/newview/skins/default/xui/pl/floater_buy_object.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_camera.xml b/indra/newview/skins/default/xui/pl/floater_camera.xml
index 5957018144..95d82a3f9c 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_camera.xml
+++ b/indra/newview/skins/default/xui/pl/floater_camera.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="camera_floater" title="">
<floater.string name="rotate_tooltip">
Obracaj kamerę wokół obiektu
@@ -10,7 +10,22 @@
Poruszaj kamerą w dół/górę oraz w prawo/lewo
</floater.string>
<panel name="controls">
- <joystick_track name="cam_track_stick" tool_tip="Poruszaj kamerą w dół/górę oraz w prawo/lewo"/>
- <joystick_zoom name="zoom" tool_tip="Najedź kamerą w kierunku obiektu"/>
+ <joystick_track name="cam_track_stick" tool_tip="Poruszaj kamerą w górę, w dół, w lewo i w prawo"/>
+ <panel name="zoom" tool_tip="Najedź kamerą w kierunku obiektu">
+ <slider_bar name="zoom_slider" tool_tip="Przybliż kamerę do ogniskowej"/>
+ </panel>
+ <joystick_rotate name="cam_rotate_stick" tool_tip="Obracaj kamerę wokoł osi"/>
+ <panel name="camera_presets">
+ <button name="rear_view" tool_tip="Widok z Tyłu"/>
+ <button name="group_view" tool_tip="Podgląd Grupy"/>
+ <button name="front_view" tool_tip="Widok z Przodu"/>
+ <button name="mouselook_view" tool_tip="Widok Panoramiczny"/>
+ </panel>
+ </panel>
+ <panel name="buttons">
+ <button label="" name="orbit_btn" tool_tip="Obracaj Kamerę"/>
+ <button label="" name="pan_btn" tool_tip="Kamera Horyzontalna"/>
+ <button label="" name="avatarview_btn" tool_tip="Widok Awatara"/>
+ <button label="" name="freecamera_btn" tool_tip="Podgląd Obiektu"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_choose_group.xml b/indra/newview/skins/default/xui/pl/floater_choose_group.xml
index 72b6617094..72b6617094 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_choose_group.xml
+++ b/indra/newview/skins/default/xui/pl/floater_choose_group.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_color_picker.xml b/indra/newview/skins/default/xui/pl/floater_color_picker.xml
index 904a2cc270..7bbdc35f94 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_color_picker.xml
+++ b/indra/newview/skins/default/xui/pl/floater_color_picker.xml
@@ -1,5 +1,5 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<floater name="ColorPicker" title="WYBÓR KOLORU">
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="ColorPicker" title="WYBIERZ KOLOR">
<text name="r_val_text">
Czerwony:
</text>
@@ -18,14 +18,14 @@
<text name="l_val_text">
Luminacja:
</text>
- <check_box label="Zastosuj od razu" name="apply_immediate" />
- <button label="" label_selected="" name="color_pipette" />
- <button label="Anuluj" label_selected="Anuluj" name="cancel_btn" />
- <button label="Wybierz" label_selected="Wybierz" name="select_btn" />
+ <check_box label="Zastosuj teraz" name="apply_immediate"/>
+ <button label="" label_selected="" name="color_pipette"/>
+ <button label="Anuluj" label_selected="Anuluj" name="cancel_btn"/>
+ <button label="Ok" label_selected="Ok" name="select_btn"/>
<text name="Current color:">
Obecny Kolor:
</text>
<text name="(Drag below to save.)">
- (Przeciągnij tutaj)
+ (Przeciągnij tutaj by zapisać)
</text>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_critical.xml b/indra/newview/skins/default/xui/pl/floater_critical.xml
index 8221a4e1bd..8221a4e1bd 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_critical.xml
+++ b/indra/newview/skins/default/xui/pl/floater_critical.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_customize.xml b/indra/newview/skins/default/xui/pl/floater_customize.xml
index 0c01d15faf..0c01d15faf 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_customize.xml
+++ b/indra/newview/skins/default/xui/pl/floater_customize.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml b/indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml
index 6671bb853e..6671bb853e 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml
+++ b/indra/newview/skins/default/xui/pl/floater_day_cycle_options.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_device_settings.xml b/indra/newview/skins/default/xui/pl/floater_device_settings.xml
index e79478731d..e79478731d 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_device_settings.xml
+++ b/indra/newview/skins/default/xui/pl/floater_device_settings.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_env_settings.xml b/indra/newview/skins/default/xui/pl/floater_env_settings.xml
index e197d94b27..e197d94b27 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_env_settings.xml
+++ b/indra/newview/skins/default/xui/pl/floater_env_settings.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_gesture.xml b/indra/newview/skins/default/xui/pl/floater_gesture.xml
index 4685eb6afe..4685eb6afe 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_gesture.xml
+++ b/indra/newview/skins/default/xui/pl/floater_gesture.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_god_tools.xml b/indra/newview/skins/default/xui/pl/floater_god_tools.xml
index a3ccffac03..a3ccffac03 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_god_tools.xml
+++ b/indra/newview/skins/default/xui/pl/floater_god_tools.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml b/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml
index 39695a67b6..39695a67b6 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml
+++ b/indra/newview/skins/default/xui/pl/floater_hardware_settings.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_hud.xml b/indra/newview/skins/default/xui/pl/floater_hud.xml
index ff2d702132..a5d85aca4e 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_hud.xml
+++ b/indra/newview/skins/default/xui/pl/floater_hud.xml
@@ -1,2 +1,2 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<floater name="floater_hud" title="SAMOUCZEK" />
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_hud" title="SAMOUCZEK"/>
diff --git a/indra/newview/skins/default/xui/pl/floater_im.xml b/indra/newview/skins/default/xui/pl/floater_im.xml
index 67c9d13496..67c9d13496 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_im.xml
+++ b/indra/newview/skins/default/xui/pl/floater_im.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_im_session.xml b/indra/newview/skins/default/xui/pl/floater_im_session.xml
new file mode 100644
index 0000000000..f4dd7d00e1
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/floater_im_session.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="panel_im">
+ <layout_stack name="im_panels">
+ <layout_panel label="Panel Kontroli Wiadomości Prywatnej (IM)" name="panel_im_control_panel"/>
+ <layout_panel>
+ <line_editor label="Do" name="chat_editor"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_image_preview.xml b/indra/newview/skins/default/xui/pl/floater_image_preview.xml
index 27f898a66b..27f898a66b 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/pl/floater_image_preview.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_inspect.xml b/indra/newview/skins/default/xui/pl/floater_inspect.xml
index c98e0541d8..c98e0541d8 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_inspect.xml
+++ b/indra/newview/skins/default/xui/pl/floater_inspect.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_inventory.xml b/indra/newview/skins/default/xui/pl/floater_inventory.xml
index 157be76c4d..157be76c4d 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_inventory.xml
+++ b/indra/newview/skins/default/xui/pl/floater_inventory.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml
index 665172dd49..665172dd49 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml
+++ b/indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_inventory_view_finder.xml b/indra/newview/skins/default/xui/pl/floater_inventory_view_finder.xml
index 9204262304..9204262304 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_inventory_view_finder.xml
+++ b/indra/newview/skins/default/xui/pl/floater_inventory_view_finder.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_joystick.xml b/indra/newview/skins/default/xui/pl/floater_joystick.xml
index 22ac458b85..22ac458b85 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_joystick.xml
+++ b/indra/newview/skins/default/xui/pl/floater_joystick.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_lagmeter.xml b/indra/newview/skins/default/xui/pl/floater_lagmeter.xml
index 69d563bdba..69d563bdba 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_lagmeter.xml
+++ b/indra/newview/skins/default/xui/pl/floater_lagmeter.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_land_holdings.xml b/indra/newview/skins/default/xui/pl/floater_land_holdings.xml
index 13e6a8b16d..13e6a8b16d 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_land_holdings.xml
+++ b/indra/newview/skins/default/xui/pl/floater_land_holdings.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/pl/floater_live_lsleditor.xml
index 8120ff8c77..e03c5faaeb 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_live_lsleditor.xml
+++ b/indra/newview/skins/default/xui/pl/floater_live_lsleditor.xml
@@ -1,12 +1,15 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="script ed float" title="SKRYPT: NOWY SKRYPT">
- <button label="Zresetuj" label_selected="Zresetuj" name="Reset" />
- <check_box label="Włącz" name="running" />
- <check_box label="Mono" name="mono" />
- <string name="not_allowed">
- Nie masz praw by widzieć zawartość tego skryptu.
- </string>
- <string name="script_running">
+ <floater.string name="not_allowed">
+ Nie posiadasz praw do zobaczenia lub edycji kodu tego skryptu ponieważ udostępnione Ci prawa to &quot;brak kopiowania&quot;. Musisz posiadać pełne prawa by móc zobaczyć lub edytować kod skryptu w zawartości obiektu.
+ </floater.string>
+ <floater.string name="script_running">
Włącz
- </string>
+ </floater.string>
+ <floater.string name="Title">
+ SKRYPT: [NAME]
+ </floater.string>
+ <button label="Zresetuj" label_selected="Zresetuj" name="Reset"/>
+ <check_box initial_value="true" label="Włącz" name="running"/>
+ <check_box initial_value="true" label="Mono" name="mono"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_lsl_guide.xml b/indra/newview/skins/default/xui/pl/floater_lsl_guide.xml
index 5601aa4464..5601aa4464 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_lsl_guide.xml
+++ b/indra/newview/skins/default/xui/pl/floater_lsl_guide.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_media_browser.xml b/indra/newview/skins/default/xui/pl/floater_media_browser.xml
index 74210c75e5..74210c75e5 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_media_browser.xml
+++ b/indra/newview/skins/default/xui/pl/floater_media_browser.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_mem_leaking.xml b/indra/newview/skins/default/xui/pl/floater_mem_leaking.xml
index 88a878af72..87d74f6c15 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_mem_leaking.xml
+++ b/indra/newview/skins/default/xui/pl/floater_mem_leaking.xml
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<floater name="MemLeak" title="SYMULACJA PRZECIEKÓW ALOKACJI PAMIĘCI">
- <spinner label="Prędkość Przecieków (byty na klatkę):" name="leak_speed" />
- <spinner label="Max Przecieki (MB):" name="max_leak" />
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="MemLeak" title="STYMULACJA WYCIEKU PAMIĘCI">
+ <spinner label="Prędkość Przecieków (byty na klatkę):" name="leak_speed"/>
+ <spinner label="Max Przecieki (MB):" name="max_leak"/>
<text name="total_leaked_label">
Przeciekło: [SIZE] KB
</text>
@@ -11,8 +11,8 @@
<text name="note_label_2">
[NOTE2]
</text>
- <button label="Start" name="start_btn" />
- <button label="Stop" name="stop_btn" />
- <button label="Uwolnij" name="release_btn" />
- <button label="Zamknij" name="close_btn" />
+ <button label="Start" name="start_btn"/>
+ <button label="Stop" name="stop_btn"/>
+ <button label="Uwolnij" name="release_btn"/>
+ <button label="Zamknij" name="close_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_moveview.xml b/indra/newview/skins/default/xui/pl/floater_moveview.xml
index e28cfd589d..e28cfd589d 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/pl/floater_moveview.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_mute_object.xml b/indra/newview/skins/default/xui/pl/floater_mute_object.xml
index 8055617371..8055617371 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_mute_object.xml
+++ b/indra/newview/skins/default/xui/pl/floater_mute_object.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_my_friends.xml b/indra/newview/skins/default/xui/pl/floater_my_friends.xml
index 0bcf6ba4d5..847c93f891 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_my_friends.xml
+++ b/indra/newview/skins/default/xui/pl/floater_my_friends.xml
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_my_friends" title="KONTAKTY">
<tab_container name="friends_and_groups">
- <panel label="Znajomi" name="friends_panel" />
- <panel label="Grupy" name="groups_panel" />
+ <panel label="Znajomi" name="friends_panel"/>
+ <panel label="Grupy" name="groups_panel"/>
</tab_container>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_openobject.xml b/indra/newview/skins/default/xui/pl/floater_openobject.xml
index fbbed0f11d..fbbed0f11d 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_openobject.xml
+++ b/indra/newview/skins/default/xui/pl/floater_openobject.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_pay.xml b/indra/newview/skins/default/xui/pl/floater_pay.xml
index dfb1b6616c..dfb1b6616c 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_pay.xml
+++ b/indra/newview/skins/default/xui/pl/floater_pay.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_pay_object.xml b/indra/newview/skins/default/xui/pl/floater_pay_object.xml
index 376f517aaa..376f517aaa 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_pay_object.xml
+++ b/indra/newview/skins/default/xui/pl/floater_pay_object.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_perm_prefs.xml b/indra/newview/skins/default/xui/pl/floater_perm_prefs.xml
index 834552e2b0..1b0dd6113e 100644
--- a/indra/newview/skins/default/xui/pl/floater_perm_prefs.xml
+++ b/indra/newview/skins/default/xui/pl/floater_perm_prefs.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="perm prefs" title="PRAWA DOMYŚLNE">
+<floater name="perm prefs" title="USTAWIENIA DOMYŚLNE ŁADOWANIA">
<panel label="Prawa" name="permissions">
<button label="?" label_selected="?" name="help"/>
<check_box label="Udostępnij grupie" name="share_with_group"/>
diff --git a/indra/newview/skins/default/xui/pl/floater_post_process.xml b/indra/newview/skins/default/xui/pl/floater_post_process.xml
index 6bd91f97b1..6bd91f97b1 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_post_process.xml
+++ b/indra/newview/skins/default/xui/pl/floater_post_process.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_postcard.xml b/indra/newview/skins/default/xui/pl/floater_postcard.xml
index 8f4018924d..8f4018924d 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_postcard.xml
+++ b/indra/newview/skins/default/xui/pl/floater_postcard.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_preferences.xml b/indra/newview/skins/default/xui/pl/floater_preferences.xml
index 2be663283f..2be663283f 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_preferences.xml
+++ b/indra/newview/skins/default/xui/pl/floater_preferences.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_preview_animation.xml b/indra/newview/skins/default/xui/pl/floater_preview_animation.xml
index 7139c470a4..2a49864e93 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/pl/floater_preview_animation.xml
@@ -1,10 +1,11 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="preview_anim">
+ <floater.string name="Title">
+ Animacja: [NAME]
+ </floater.string>
<text name="desc txt">
Opis:
</text>
- <button label="Używaj w Świecie" label_selected="Stop" name="Anim play btn"
- tool_tip="Animacja będzie widoczna dla wszystkich." width="131" left="20"/>
- <button label="Używaj lokalnie" label_selected="Stop" name="Anim audition btn"
- tool_tip="Animacja będzie widoczna tylko dla Ciebie." width="125" left="162"/>
+ <button label="Używaj w Świecie" label_selected="Stop" left="20" name="Anim play btn" tool_tip="Uruchom tę animację by widzieli ją pozostali Rezydenci" width="131"/>
+ <button label="Używaj lokalnie" label_selected="Stop" left="162" name="Anim audition btn" tool_tip="Uruchom tę animację widoczną tylko przez Ciebie" width="125"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_preview_classified.xml b/indra/newview/skins/default/xui/pl/floater_preview_classified.xml
index eae9ba2690..d3d6588397 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_preview_classified.xml
+++ b/indra/newview/skins/default/xui/pl/floater_preview_classified.xml
@@ -1,2 +1,6 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<floater name="classified_preview" title="REKLAMA" />
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="classified_preview" title="INFO O REKLAMIE">
+ <floater.string name="Title">
+ Reklama: [NAME]
+ </floater.string>
+</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_preview_event.xml b/indra/newview/skins/default/xui/pl/floater_preview_event.xml
index 9fc0ff4da6..9fc0ff4da6 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_preview_event.xml
+++ b/indra/newview/skins/default/xui/pl/floater_preview_event.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_preview_gesture.xml b/indra/newview/skins/default/xui/pl/floater_preview_gesture.xml
index 1c7a3f6631..1c7a3f6631 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_preview_gesture.xml
+++ b/indra/newview/skins/default/xui/pl/floater_preview_gesture.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_preview_notecard.xml b/indra/newview/skins/default/xui/pl/floater_preview_notecard.xml
index b9f80490ab..b9f80490ab 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_preview_notecard.xml
+++ b/indra/newview/skins/default/xui/pl/floater_preview_notecard.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_preview_sound.xml b/indra/newview/skins/default/xui/pl/floater_preview_sound.xml
index 656b9bec38..656b9bec38 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_preview_sound.xml
+++ b/indra/newview/skins/default/xui/pl/floater_preview_sound.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_preview_texture.xml b/indra/newview/skins/default/xui/pl/floater_preview_texture.xml
index 8bcd800411..8bcd800411 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_preview_texture.xml
+++ b/indra/newview/skins/default/xui/pl/floater_preview_texture.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_region_info.xml b/indra/newview/skins/default/xui/pl/floater_region_info.xml
index ca3c1391db..ca3c1391db 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_region_info.xml
+++ b/indra/newview/skins/default/xui/pl/floater_region_info.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_report_abuse.xml b/indra/newview/skins/default/xui/pl/floater_report_abuse.xml
index 18ce1b230f..18ce1b230f 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_report_abuse.xml
+++ b/indra/newview/skins/default/xui/pl/floater_report_abuse.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_script_debug.xml b/indra/newview/skins/default/xui/pl/floater_script_debug.xml
index 714a600262..714a600262 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_script_debug.xml
+++ b/indra/newview/skins/default/xui/pl/floater_script_debug.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_script_preview.xml b/indra/newview/skins/default/xui/pl/floater_script_preview.xml
index e3e72e15a3..e3e72e15a3 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_script_preview.xml
+++ b/indra/newview/skins/default/xui/pl/floater_script_preview.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_script_queue.xml b/indra/newview/skins/default/xui/pl/floater_script_queue.xml
index 7655f5fcac..7655f5fcac 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_script_queue.xml
+++ b/indra/newview/skins/default/xui/pl/floater_script_queue.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_script_search.xml b/indra/newview/skins/default/xui/pl/floater_script_search.xml
index 255ab4264c..255ab4264c 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_script_search.xml
+++ b/indra/newview/skins/default/xui/pl/floater_script_search.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_select_key.xml b/indra/newview/skins/default/xui/pl/floater_select_key.xml
index 194a6da1bd..cf0abb2c23 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_select_key.xml
+++ b/indra/newview/skins/default/xui/pl/floater_select_key.xml
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="modal container" title="">
- <button label="Anuluj" label_selected="Anuluj" name="Cancel" />
+ <button label="Anuluj" label_selected="Anuluj" name="Cancel"/>
<text name="Save item as:">
- By wybrać wciśnij klawisz
+ Naciśnij by uruchomić przycisk mówienia.
</text>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_sell_land.xml b/indra/newview/skins/default/xui/pl/floater_sell_land.xml
index a306ec2c34..a306ec2c34 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_sell_land.xml
+++ b/indra/newview/skins/default/xui/pl/floater_sell_land.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_settings_debug.xml b/indra/newview/skins/default/xui/pl/floater_settings_debug.xml
index f87e2edecc..f87e2edecc 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_settings_debug.xml
+++ b/indra/newview/skins/default/xui/pl/floater_settings_debug.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_snapshot.xml b/indra/newview/skins/default/xui/pl/floater_snapshot.xml
index c807087170..c807087170 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/pl/floater_snapshot.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_sound_preview.xml b/indra/newview/skins/default/xui/pl/floater_sound_preview.xml
index 0826508fd6..c66ac0a98f 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_sound_preview.xml
+++ b/indra/newview/skins/default/xui/pl/floater_sound_preview.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Sound Preview" title="DŹWIĘK.WAV">
<text name="name_label">
Opis:
@@ -6,6 +6,6 @@
<text name="description_label">
Opis:
</text>
- <button label="Anuluj" label_selected="Anuluj" name="cancel_btn" />
- <button label="Załaduj (L$[AMOUNT])" label_selected="Załaduj (L$[AMOUNT])" name="ok_btn" />
+ <button label="Anuluj" label_selected="Anuluj" name="cancel_btn"/>
+ <button label="Załaduj (L$[AMOUNT])" label_selected="Załaduj (L$[AMOUNT])" name="ok_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pl/floater_telehub.xml b/indra/newview/skins/default/xui/pl/floater_telehub.xml
index 9f564452a9..9f564452a9 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_telehub.xml
+++ b/indra/newview/skins/default/xui/pl/floater_telehub.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/pl/floater_texture_ctrl.xml
index 48366e2b64..011dc8ee7c 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_texture_ctrl.xml
+++ b/indra/newview/skins/default/xui/pl/floater_texture_ctrl.xml
@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="texture picker" title="WYBÓR TEKSTURY">
+<floater name="texture picker" title="ULUBIONE: TEKSTURA">
<string name="choose_picture">
Kliknij by wybrać obraz
</string>
<text name="Multiple">
- Wiele
+ Wiele Tekstur
</text>
<text name="unknown">
- Wymiary: [DIMENSIONS]
+ Rozmiar: [DIMENSIONS]
</text>
<button label="Domyślna" label_selected="Domyślna" name="Default"/>
<button label="Żadna" label_selected="Żadna" name="None"/>
<button label="Pusta" label_selected="Pusta" name="Blank"/>
<check_box label="Pokaż Foldery" name="show_folders_check"/>
- <search_editor label="Wpisz nazwę tutaj by wyszukać" name="inventory search editor"/>
- <check_box label="Zastosuj od razu" name="apply_immediate_check"/>
+ <search_editor label="Filtruj Tektury" name="inventory search editor"/>
+ <check_box label="Zastosuj teraz" name="apply_immediate_check"/>
<button label="" label_selected="" name="Pipette"/>
<button label="Anuluj" label_selected="Anuluj" name="Cancel"/>
- <button label="Wybierz" label_selected="Wybierz" name="Select"/>
+ <button label="Ok" label_selected="Ok" name="Select"/>
<string name="pick title">
Wybór:
</string>
diff --git a/indra/newview/skins/default/xui/pl/floater_tools.xml b/indra/newview/skins/default/xui/pl/floater_tools.xml
index e898c283c5..e898c283c5 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_tools.xml
+++ b/indra/newview/skins/default/xui/pl/floater_tools.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_top_objects.xml b/indra/newview/skins/default/xui/pl/floater_top_objects.xml
index e7299b0abb..e7299b0abb 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_top_objects.xml
+++ b/indra/newview/skins/default/xui/pl/floater_top_objects.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_tos.xml b/indra/newview/skins/default/xui/pl/floater_tos.xml
index b9a146df22..b9a146df22 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_tos.xml
+++ b/indra/newview/skins/default/xui/pl/floater_tos.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_url_entry.xml b/indra/newview/skins/default/xui/pl/floater_url_entry.xml
index fc170d8d1b..fc170d8d1b 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_url_entry.xml
+++ b/indra/newview/skins/default/xui/pl/floater_url_entry.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_water.xml b/indra/newview/skins/default/xui/pl/floater_water.xml
index 7333633c1d..7333633c1d 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_water.xml
+++ b/indra/newview/skins/default/xui/pl/floater_water.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_wearable_save_as.xml b/indra/newview/skins/default/xui/pl/floater_wearable_save_as.xml
index 2d4582392c..2d4582392c 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_wearable_save_as.xml
+++ b/indra/newview/skins/default/xui/pl/floater_wearable_save_as.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_windlight_options.xml b/indra/newview/skins/default/xui/pl/floater_windlight_options.xml
index 86ef9300da..86ef9300da 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_windlight_options.xml
+++ b/indra/newview/skins/default/xui/pl/floater_windlight_options.xml
diff --git a/indra/newview/skins/default/xui/pl/floater_world_map.xml b/indra/newview/skins/default/xui/pl/floater_world_map.xml
index 36e3b0651b..36e3b0651b 100755..100644
--- a/indra/newview/skins/default/xui/pl/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/pl/floater_world_map.xml
diff --git a/indra/newview/skins/default/xui/pl/inspect_avatar.xml b/indra/newview/skins/default/xui/pl/inspect_avatar.xml
new file mode 100644
index 0000000000..4ba36de6fa
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/inspect_avatar.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!--
+ Not can_close / no title to avoid window chrome
+ Single instance - only have one at a time, recycle it each spawn
+-->
+<floater name="inspect_avatar">
+ <string name="Subtitle">
+ [AGE]
+ </string>
+ <string name="Details">
+ [SL_PROFILE]
+ </string>
+ <slider name="volume_slider" tool_tip="Posiom Głośności" value="0.5"/>
+ <button label="Dodaj Znajomość" name="add_friend_btn"/>
+ <button label="IM" name="im_btn"/>
+ <button label="Więcej" name="view_profile_btn"/>
+ <panel name="moderator_panel">
+ <button label="Wyłącz Komunikację Głosową" name="disable_voice"/>
+ <button label="Włącz Komunikację Głosową" name="enable_voice"/>
+ </panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/pl/inspect_group.xml b/indra/newview/skins/default/xui/pl/inspect_group.xml
new file mode 100644
index 0000000000..d434443794
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/inspect_group.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!--
+ Not can_close / no title to avoid window chrome
+ Single instance - only have one at a time, recycle it each spawn
+-->
+<floater name="inspect_group">
+ <string name="PrivateGroup">
+ Grupa Prywatna
+ </string>
+ <string name="FreeToJoin">
+ Wstęp Wolny
+ </string>
+ <string name="CostToJoin">
+ L$[AMOUNT] by dołączyć
+ </string>
+ <string name="YouAreMember">
+ Jesteś członkiem
+ </string>
+ <button label="Dołącz" name="join_btn"/>
+ <button label="Opuść" name="leave_btn"/>
+ <button label="Zobacz Profil" name="view_profile_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pl/inspect_remote_object.xml b/indra/newview/skins/default/xui/pl/inspect_remote_object.xml
new file mode 100644
index 0000000000..0d570940c1
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/inspect_remote_object.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!--
+ Not can_close / no title to avoid window chrome
+ Single instance - only have one at a time, recycle it each spawn
+-->
+<floater name="inspect_remote_object">
+ <text name="object_owner_label">
+ Właściciel:
+ </text>
+ <button label="Mapa" name="map_btn"/>
+ <button label="Zablokuj" name="block_btn"/>
+ <button label="Zamknij" name="close_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pl/menu_inventory.xml b/indra/newview/skins/default/xui/pl/menu_inventory.xml
index 75c84c275d..75c84c275d 100755..100644
--- a/indra/newview/skins/default/xui/pl/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/pl/menu_inventory.xml
diff --git a/indra/newview/skins/default/xui/pl/menu_login.xml b/indra/newview/skins/default/xui/pl/menu_login.xml
index 5084b59397..5084b59397 100755..100644
--- a/indra/newview/skins/default/xui/pl/menu_login.xml
+++ b/indra/newview/skins/default/xui/pl/menu_login.xml
diff --git a/indra/newview/skins/default/xui/pl/menu_slurl.xml b/indra/newview/skins/default/xui/pl/menu_slurl.xml
index 719959df6a..719959df6a 100755..100644
--- a/indra/newview/skins/default/xui/pl/menu_slurl.xml
+++ b/indra/newview/skins/default/xui/pl/menu_slurl.xml
diff --git a/indra/newview/skins/default/xui/pl/menu_viewer.xml b/indra/newview/skins/default/xui/pl/menu_viewer.xml
index 2a5842e553..2a5842e553 100755..100644
--- a/indra/newview/skins/default/xui/pl/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/pl/menu_viewer.xml
diff --git a/indra/newview/skins/default/xui/pl/mime_types.xml b/indra/newview/skins/default/xui/pl/mime_types.xml
index c90d5761e6..c90d5761e6 100755..100644
--- a/indra/newview/skins/default/xui/pl/mime_types.xml
+++ b/indra/newview/skins/default/xui/pl/mime_types.xml
diff --git a/indra/newview/skins/default/xui/pl/mime_types_mac.xml b/indra/newview/skins/default/xui/pl/mime_types_mac.xml
new file mode 100644
index 0000000000..bd39ff7ac3
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/mime_types_mac.xml
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<mimetypes name="default">
+ <widgetset name="web">
+ <label name="web_label">
+ Zawartość Przeglądarki Internetowej
+ </label>
+ <tooltip name="web_tooltip">
+ To miejsce posiada zawartość internetową
+ </tooltip>
+ <playtip name="web_playtip">
+ Pokaż Zawartość Przeglądarki Internetowej
+ </playtip>
+ </widgetset>
+ <widgetset name="movie">
+ <label name="movie_label">
+ Film
+ </label>
+ <tooltip name="movie_tooltip">
+ To miejsce posiada zawartość filmową
+ </tooltip>
+ <playtip name="movie_playtip">
+ Oglądaj Film
+ </playtip>
+ </widgetset>
+ <widgetset name="image">
+ <label name="image_label">
+ Obraz
+ </label>
+ <tooltip name="image_tooltip">
+ To miejsce posiada zwartość graficzną
+ </tooltip>
+ <playtip name="image_playtip">
+ Zobacz zdjęcie miejsca
+ </playtip>
+ </widgetset>
+ <widgetset name="audio">
+ <label name="audio_label">
+ Audio
+ </label>
+ <tooltip name="audio_tooltip">
+ To miejsce posiada zwartość audio
+ </tooltip>
+ <playtip name="audio_playtip">
+ Rozpocznij odtwarzanie audio
+ </playtip>
+ </widgetset>
+ <scheme name="rtsp">
+ <label name="rtsp_label">
+ Synchroniczne Strumienie Medialne
+ </label>
+ </scheme>
+ <mimetype name="blank">
+ <label name="blank_label">
+ - Żadne -
+ </label>
+ </mimetype>
+ <mimetype name="none/none">
+ <label name="none/none_label">
+ - Żadne -
+ </label>
+ </mimetype>
+ <mimetype name="audio/*">
+ <label name="audio2_label">
+ Audio
+ </label>
+ </mimetype>
+ <mimetype name="video/*">
+ <label name="video2_label">
+ Video
+ </label>
+ </mimetype>
+ <mimetype name="image/*">
+ <label name="image2_label">
+ Obraz
+ </label>
+ </mimetype>
+ <mimetype name="video/vnd.secondlife.qt.legacy">
+ <label name="vnd.secondlife.qt.legacy_label">
+ Film (QuickTime)
+ </label>
+ </mimetype>
+ <mimetype name="application/javascript">
+ <label name="application/javascript_label">
+ Skrypt Java
+ </label>
+ </mimetype>
+ <mimetype name="application/ogg">
+ <label name="application/ogg_label">
+ Ogg Audio/Video
+ </label>
+ </mimetype>
+ <mimetype name="application/pdf">
+ <label name="application/pdf_label">
+ Dokument PDF
+ </label>
+ </mimetype>
+ <mimetype name="application/postscript">
+ <label name="application/postscript_label">
+ Dokument Postscript
+ </label>
+ </mimetype>
+ <mimetype name="application/rtf">
+ <label name="application/rtf_label">
+ Dokument RTF
+ </label>
+ </mimetype>
+ <mimetype name="application/smil">
+ <label name="application/smil_label">
+ Język Integracyjnej Synchronizacji Multimedialnej (SMIL)
+ </label>
+ </mimetype>
+ <mimetype name="application/xhtml+xml">
+ <label name="application/xhtml+xml_label">
+ Strona Internetowa (XHTML)
+ </label>
+ </mimetype>
+ <mimetype name="application/x-director">
+ <label name="application/x-director_label">
+ Macromedia Director
+ </label>
+ </mimetype>
+ <mimetype name="audio/mid">
+ <label name="audio/mid_label">
+ Audio (MIDI)
+ </label>
+ </mimetype>
+ <mimetype name="audio/mpeg">
+ <label name="audio/mpeg_label">
+ Audio (MP3)
+ </label>
+ </mimetype>
+ <mimetype name="audio/x-aiff">
+ <label name="audio/x-aiff_label">
+ Audio (AIFF)
+ </label>
+ </mimetype>
+ <mimetype name="audio/x-wav">
+ <label name="audio/x-wav_label">
+ Audio (WAV)
+ </label>
+ </mimetype>
+ <mimetype name="image/bmp">
+ <label name="image/bmp_label">
+ Obraz (BMP)
+ </label>
+ </mimetype>
+ <mimetype name="image/gif">
+ <label name="image/gif_label">
+ Obraz (GIF)
+ </label>
+ </mimetype>
+ <mimetype name="image/jpeg">
+ <label name="image/jpeg_label">
+ Obraz (JPEG)
+ </label>
+ </mimetype>
+ <mimetype name="image/png">
+ <label name="image/png_label">
+ Obraz (PNG)
+ </label>
+ </mimetype>
+ <mimetype name="image/svg+xml">
+ <label name="image/svg+xml_label">
+ Obraz (SVG)
+ </label>
+ </mimetype>
+ <mimetype name="image/tiff">
+ <label name="image/tiff_label">
+ Obraz (TIFF)
+ </label>
+ </mimetype>
+ <mimetype name="text/html">
+ <label name="text/html_label">
+ Strona Internetowa
+ </label>
+ </mimetype>
+ <mimetype name="text/plain">
+ <label name="text/plain_label">
+ Tekst
+ </label>
+ </mimetype>
+ <mimetype name="text/xml">
+ <label name="text/xml_label">
+ XML
+ </label>
+ </mimetype>
+ <mimetype name="video/mpeg">
+ <label name="video/mpeg_label">
+ Film (MPEG)
+ </label>
+ </mimetype>
+ <mimetype name="video/mp4">
+ <label name="video/mp4_label">
+ Film (MP4)
+ </label>
+ </mimetype>
+ <mimetype name="video/quicktime">
+ <label name="video/quicktime_label">
+ Film (QuickTime)
+ </label>
+ </mimetype>
+ <mimetype name="video/x-ms-asf">
+ <label name="video/x-ms-asf_label">
+ Film (Windows Media ASF)
+ </label>
+ </mimetype>
+ <mimetype name="video/x-ms-wmv">
+ <label name="video/x-ms-wmv_label">
+ Film (Windows Media WMV)
+ </label>
+ </mimetype>
+ <mimetype name="video/x-msvideo">
+ <label name="video/x-msvideo_label">
+ Film (AVI)
+ </label>
+ </mimetype>
+</mimetypes>
diff --git a/indra/newview/skins/default/xui/pl/panel_audio_device.xml b/indra/newview/skins/default/xui/pl/panel_audio_device.xml
index fc3b3776f0..fc3b3776f0 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_audio_device.xml
+++ b/indra/newview/skins/default/xui/pl/panel_audio_device.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/pl/panel_avatar_list_item.xml
new file mode 100644
index 0000000000..5c362ab772
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_avatar_list_item.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="avatar_list_item">
+ <string name="FormatSeconds">
+ [COUNT]s
+ </string>
+ <string name="FormatMinutes">
+ [COUNT]m
+ </string>
+ <string name="FormatHours">
+ [COUNT]h
+ </string>
+ <string name="FormatDays">
+ [COUNT]d
+ </string>
+ <string name="FormatWeeks">
+ [COUNT]tyg
+ </string>
+ <string name="FormatMonths">
+ [COUNT]mc
+ </string>
+ <string name="FormatYears">
+ [COUNT]lat
+ </string>
+ <text name="avatar_name" value="Nieznane"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_shirt.xml b/indra/newview/skins/default/xui/pl/panel_edit_shirt.xml
new file mode 100644
index 0000000000..27d8981e80
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_edit_shirt.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_shirt_panel">
+ <panel name="avatar_shirt_color_panel">
+ <texture_picker label="Materiał" name="Fabric" tool_tip="Kliknij by wybrać grafikę"/>
+ <color_swatch label="Kolor/Odcień" name="Color/Tint" tool_tip="Kliknij by wybrać kolor"/>
+ </panel>
+ <accordion name="wearable_accordion">
+ <accordion_tab name="shirt_main_tab" title="Spódnica"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/pl/panel_edit_tattoo.xml
new file mode 100644
index 0000000000..5efa402698
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_edit_tattoo.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_tattoo_panel">
+ <panel name="avatar_tattoo_color_panel">
+ <texture_picker label="Tatuaż Głowy" name="Head Tattoo" tool_tip="Kliknij by wybrać grafikę"/>
+ <texture_picker label="Tatuaż Górnej Części Ciała" name="Upper Tattoo" tool_tip="Kliknij by wybrać grafikę"/>
+ <texture_picker label="Tatuaż Dolnej Części Ciała" name="Lower Tattoo" tool_tip="Kliknij by wybrać grafikę"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_friends.xml b/indra/newview/skins/default/xui/pl/panel_friends.xml
index b6df36f199..b6df36f199 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_friends.xml
+++ b/indra/newview/skins/default/xui/pl/panel_friends.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_group_general.xml b/indra/newview/skins/default/xui/pl/panel_group_general.xml
index d09ff72226..d09ff72226 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/pl/panel_group_general.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_group_invite.xml b/indra/newview/skins/default/xui/pl/panel_group_invite.xml
index 12d48279ad..12d48279ad 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_group_invite.xml
+++ b/indra/newview/skins/default/xui/pl/panel_group_invite.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_group_land_money.xml b/indra/newview/skins/default/xui/pl/panel_group_land_money.xml
index dbfa8e3122..dbfa8e3122 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_group_land_money.xml
+++ b/indra/newview/skins/default/xui/pl/panel_group_land_money.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_group_list_item.xml b/indra/newview/skins/default/xui/pl/panel_group_list_item.xml
new file mode 100644
index 0000000000..e8e819e7ce
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_group_list_item.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="group_list_item">
+ <text name="group_name" value="Nieznana"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_group_notices.xml b/indra/newview/skins/default/xui/pl/panel_group_notices.xml
index 1c19571ec0..1c19571ec0 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_group_notices.xml
+++ b/indra/newview/skins/default/xui/pl/panel_group_notices.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_group_roles.xml b/indra/newview/skins/default/xui/pl/panel_group_roles.xml
index dd46b4aeaa..6a0cbbd23a 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/pl/panel_group_roles.xml
@@ -16,7 +16,7 @@ Możesz wybrać wielu Członków naciskając Ctrl i klikając na ich imionach.
<name_list name="member_list">
<name_list.columns label="Członek" name="name"/>
<name_list.columns label="Dotacje" name="donated"/>
- <name_list.columns label="Ostatnio w SL" name="online"/>
+ <name_list.columns label="Status" name="online"/>
</name_list>
<button label="Zaproś do Grupy" name="member_invite"/>
<button label="Usuń z Grupy" name="member_eject"/>
@@ -29,7 +29,7 @@ jedną lub wiele funkcji. Każda grupa może posiadać maksymalnie 10 funkcji,
łącznie z funkcją Każdy i Właściciel.
</panel.string>
<panel.string name="cant_delete_role">
- Specjalne Funkcje Każdy i Właściciel nie mogą zostać usunięte.
+ Funkcje &quot;Wszyscy&quot; oraz &quot;Właściciele&quot; są domyślnie oraz nie mogą zostać usunięte.
</panel.string>
<panel.string name="power_folder_icon">
Inv_FolderClosed
@@ -38,7 +38,7 @@ jedną lub wiele funkcji. Każda grupa może posiadać maksymalnie 10 funkcji,
<scroll_list name="role_list">
<scroll_list.columns label="Funkcja" name="name"/>
<scroll_list.columns label="Tytuł" name="title"/>
- <scroll_list.columns label="Liczba" name="members"/>
+ <scroll_list.columns label="#" name="members"/>
</scroll_list>
<button label="Stwórz Nową Funkcję" name="role_create"/>
<button label="Usuń Funkcję" name="role_delete"/>
@@ -57,7 +57,7 @@ Istnieje wiele Przywilei.
</tab_container>
<panel name="members_footer">
<text name="static">
- Funkcje
+ Przypisani Członkowie
</text>
<scroll_list name="member_assigned_roles">
<scroll_list.columns label="" name="checkbox"/>
@@ -73,13 +73,13 @@ Istnieje wiele Przywilei.
</panel>
<panel name="roles_footer">
<text name="static">
- Nazwa
+ Nazwa Funkcji
</text>
<line_editor name="role_name">
Liczba
</line_editor>
<text name="static3">
- Tytuł
+ Nazwa Funkcji
</text>
<line_editor name="role_title">
(proszę czekać)
diff --git a/indra/newview/skins/default/xui/pl/panel_groups.xml b/indra/newview/skins/default/xui/pl/panel_groups.xml
index 9df90fc797..9df90fc797 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_groups.xml
+++ b/indra/newview/skins/default/xui/pl/panel_groups.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_landmark_info.xml b/indra/newview/skins/default/xui/pl/panel_landmark_info.xml
new file mode 100644
index 0000000000..dc73d08680
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_landmark_info.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="landmark_info">
+ <string name="title_create_landmark" value="Zapamiętaj Miejsce"/>
+ <string name="title_edit_landmark" value="Edytuj Zapamiętane Miejsce"/>
+ <string name="title_landmark" value="Zapamiętane Miejsce (LM)"/>
+ <string name="not_available" value="(N\A)"/>
+ <string name="unknown" value="(nieznane)"/>
+ <string name="public" value="(publiczne)"/>
+ <string name="server_update_text">
+ Informacje o miejscu nie są dostępne bez aktualizacji serwera.
+ </string>
+ <string name="server_error_text">
+ Informacje o miejscu nie są dostępne w tej chwili. Prosimy sprobować później.
+ </string>
+ <string name="server_forbidden_text">
+ Informacje o miejscu są niedostępne z powodu braku dostępu. Prosimy sprawdzić swoje prawa z właścicielem posiadłości.
+ </string>
+ <string name="acquired_date">
+ [wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
+ </string>
+ <text name="title" value="Profil Miejsca"/>
+ <scroll_container name="place_scroll">
+ <panel name="scrolling_panel">
+ <text name="maturity_value" value="nieznany"/>
+ <panel name="landmark_info_panel">
+ <text name="owner_label" value="Właściciel:"/>
+ <text name="creator_label" value="Twórca:"/>
+ <text name="created_label" value="Stworzone:"/>
+ </panel>
+ <panel name="landmark_edit_panel">
+ <text name="title_label" value="Tytuł:"/>
+ <text name="notes_label" value="Moje notatki:"/>
+ <text name="folder_label" value="Lokalizacja zapisanego miejsca:"/>
+ </panel>
+ </panel>
+ </scroll_container>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_login.xml b/indra/newview/skins/default/xui/pl/panel_login.xml
index cec7e34da5..42088eae28 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_login.xml
+++ b/indra/newview/skins/default/xui/pl/panel_login.xml
@@ -6,33 +6,29 @@
<panel.string name="forgot_password_url">
http://secondlife.com/account/request.php
</panel.string>
- <panel name="login_widgets">
- <text name="first_name_text">
- Imię:
- </text>
- <line_editor name="first_name_edit" tool_tip="[SECOND_LIFE] Imię"/>
- <text name="last_name_text">
- Nazwisko
- </text>
- <line_editor name="last_name_edit" tool_tip="[SECOND_LIFE] Nazwisko"/>
- <text name="password_text">
- Hasło:
- </text>
- <button label="Zaloguj" label_selected="Zaloguj" name="connect_btn"/>
- <text name="start_location_text">
- Miejsce Startu:
- </text>
- <combo_box name="start_location_combo">
- <combo_box.item label="Moje Ostatnie Miejsce" name="MyLastLocation"/>
- <combo_box.item label="Moje Miejsce Startu" name="MyHome"/>
- <combo_box.item label="&lt;Wpisz nazwę regionu&gt;" name="Typeregionname"/>
- </combo_box>
- <check_box label="Zapamiętaj Hasło" name="remember_check"/>
- <text name="create_new_account_text">
- Załóż Nowe Konto
- </text>
- <text name="forgot_password_text">
- Nie pamiętasz swojego imienia lub hasła?
- </text>
- </panel>
+ <layout_stack name="login_widgets">
+ <layout_panel name="login">
+ <text name="first_name_text">
+ Imię:
+ </text>
+ <line_editor label="Imię" name="first_name_edit" tool_tip="[SECOND_LIFE] First Name"/>
+ <line_editor label="Nazwisko" name="last_name_edit" tool_tip="[SECOND_LIFE] Last Name"/>
+ <check_box label="Zapamiętaj hasło" name="remember_check"/>
+ <text name="start_location_text">
+ Rozpocznij w:
+ </text>
+ <combo_box name="start_location_combo">
+ <combo_box.item label="Moje Miejsce Startu" name="MyHome"/>
+ </combo_box>
+ <button label="Połącz" name="connect_btn"/>
+ </layout_panel>
+ <layout_panel name="links">
+ <text name="create_new_account_text">
+ Utwórz nowe konto
+ </text>
+ <text name="login_help">
+ Potrzebujesz pomocy z logowaniem się?
+ </text>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/pl/panel_media_settings_permissions.xml
new file mode 100644
index 0000000000..4d91c3cdc8
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_media_settings_permissions.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Dopasuj" name="Media settings for controls">
+ <text name="controls_label">
+ Ustawienia:
+ </text>
+ <combo_box name="controls">
+ <combo_item name="Standard">
+ Standardowe
+ </combo_item>
+ <combo_item name="Mini">
+ Mini
+ </combo_item>
+ </combo_box>
+ <check_box initial_value="false" label="Pozwól na Nawigację &amp; Interaktywność" name="perms_owner_interact"/>
+ <check_box initial_value="false" label="Pokaż Pasek Kontroli" name="perms_owner_control"/>
+ <check_box initial_value="false" label="Pozwól na Nawigację &amp; Interaktywność" name="perms_group_interact"/>
+ <check_box initial_value="false" label="Pokaż Pasek Kontroli" name="perms_group_control"/>
+ <check_box initial_value="false" label="Pozwól na Nawigację &amp; Interaktywność" name="perms_anyone_interact"/>
+ <check_box initial_value="false" label="Pokaż Pasek Kontroli" name="perms_anyone_control"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/pl/panel_outfits_inventory.xml
new file mode 100644
index 0000000000..162df37e52
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_outfits_inventory.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Outfits">
+ <accordion name="outfits_accordion">
+ <accordion_tab name="tab_cof" title="Aktualne Ubranie"/>
+ <accordion_tab name="tab_outfits" title="Moje Ubrania"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_people.xml b/indra/newview/skins/default/xui/pl/panel_people.xml
new file mode 100644
index 0000000000..ff65cd2abb
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_people.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Side tray panel -->
+<panel label="Ludzie" name="people_panel">
+ <string name="no_people" value="Brak ludzi"/>
+ <string name="no_one_near" value="Nikogo w pobliżu"/>
+ <string name="no_friends_online" value="Brak dostępnych przyjaciół"/>
+ <string name="no_friends" value="Brak przyjaciół"/>
+ <string name="no_groups" value="Brak grup"/>
+ <string name="people_filter_label" value="Filtruj Ludzi"/>
+ <string name="groups_filter_label" value="Filtruj Grupy"/>
+ <filter_editor label="Filtr" name="filter_input"/>
+ <tab_container name="tabs">
+ <panel label="W POBLIŻU" name="nearby_panel">
+ <panel label="bottom_panel" name="bottom_panel">
+ <button name="nearby_view_sort_btn" tool_tip="Opcje"/>
+ <button name="add_friend_btn" tool_tip="Dodaj wybranych Rezydentów do swojej listy znajomych"/>
+ </panel>
+ </panel>
+ <panel label="ZNAJOMI" name="friends_panel">
+ <accordion name="friends_accordion">
+ <accordion_tab name="tab_online" title="Dostępni"/>
+ <accordion_tab name="tab_all" title="Wszyscy"/>
+ </accordion>
+ <panel label="bottom_panel" name="bottom_panel">
+ <button name="friends_viewsort_btn" tool_tip="Opcje"/>
+ <button name="add_btn" tool_tip="Zaproponuj znajomość"/>
+ <button name="del_btn" tool_tip="Usuń wybraną osobę ze swojej listy znajomych"/>
+ </panel>
+ </panel>
+ <panel label="GRUPY" name="groups_panel">
+ <panel label="bottom_panel" name="bottom_panel">
+ <button name="groups_viewsort_btn" tool_tip="Opcje"/>
+ <button name="plus_btn" tool_tip="Dołącz do grupy/Stwórz nową grupę"/>
+ <button name="activate_btn" tool_tip="Aktywuj wybraną grupę"/>
+ </panel>
+ </panel>
+ <panel label="OSTATNIE" name="recent_panel">
+ <panel label="bottom_panel" name="bottom_panel">
+ <button name="recent_viewsort_btn" tool_tip="Opcje"/>
+ <button name="add_friend_btn" tool_tip="Zaproponuj znajomość"/>
+ </panel>
+ </panel>
+ </tab_container>
+ <panel name="button_bar">
+ <button label="Profil" name="view_profile_btn" tool_tip="Pokaż grafiki, grupy oraz inne informacje dostępne o Rezydentach"/>
+ <button label="IM" name="im_btn" tool_tip="Rozpocznij rozmowę prywatną (IM)"/>
+ <button label="Zadzwoń" name="call_btn" tool_tip="Zadzwoń do tego Rezydenta"/>
+ <button label="Podziel się" name="share_btn"/>
+ <button label="Teleportuj" name="teleport_btn" tool_tip="Zaproponuj teleportację"/>
+ <button label="Profil grupy" name="group_info_btn" tool_tip="Pokaż informacje o grupie"/>
+ <button label="Konferencja Grupowa" name="chat_btn" tool_tip="Rozpocznij konferencę"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_picks.xml b/indra/newview/skins/default/xui/pl/panel_picks.xml
new file mode 100644
index 0000000000..5d69c25ff3
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_picks.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Ulubione" name="panel_picks">
+ <string name="no_picks" value="Brak Ulubionych"/>
+ <string name="no_classifieds" value="Brak Reklam"/>
+ <text name="empty_picks_panel_text">
+ Brak ulubionych/reklam w tym miejscu
+ </text>
+ <accordion name="accordion">
+ <accordion_tab name="tab_picks" title="Ulubione"/>
+ <accordion_tab name="tab_classifieds" title="Reklamy"/>
+ </accordion>
+ <panel label="bottom_panel" name="edit_panel">
+ <button name="new_btn" tool_tip="Stwórz w obecnym miejscu nową zakładkę w ulubionych lub reklamę"/>
+ </panel>
+ <panel name="buttons_cucks">
+ <button label="Info" name="info_btn" tool_tip="Pokaż info o ulubionych"/>
+ <button label="Teleportuj" name="teleport_btn" tool_tip="Teleportuj do odpowiadającego miejsca"/>
+ <button label="Mapa" name="show_on_map_btn" tool_tip="Pokaż odpowiadające miejsce w Mapie Świata"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/pl/panel_preferences_alerts.xml
index 7195c30f20..7195c30f20 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_preferences_alerts.xml
+++ b/indra/newview/skins/default/xui/pl/panel_preferences_alerts.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml b/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml
index 5599c21686..5599c21686 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/pl/panel_preferences_chat.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_general.xml b/indra/newview/skins/default/xui/pl/panel_preferences_general.xml
index 97b4975f29..97b4975f29 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_preferences_general.xml
+++ b/indra/newview/skins/default/xui/pl/panel_preferences_general.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml
index ddd4c736d6..ddd4c736d6 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml
+++ b/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/pl/panel_preferences_privacy.xml
index e3cdaae840..d72f13fabd 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_preferences_privacy.xml
+++ b/indra/newview/skins/default/xui/pl/panel_preferences_privacy.xml
@@ -1,33 +1,26 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Komunikacja" name="im">
- <text name="text_box">
- Mój Status Online:
+ <panel.string name="log_in_to_change">
+ Zaloguj się ponownie, aby zmienić
+ </panel.string>
+ <button label="Wyczyść Historię" name="clear_cache"/>
+ <text name="cache_size_label_l">
+ (Miejsca, obrazy, przeglądarka internetowa, wyszukiwarka historii)
</text>
- <check_box label="Mój status online jest dostepny tylko dla Znajomych i Grup"
- name="online_visibility" />
- <text name="text_box2">
- Ustawienia IM:
+ <check_box label="Mój status online jest dostępny tylko dla znajomych i grup do których należę" name="online_visibility"/>
+ <check_box label="Możliwość wysyłania wiadomości prywatnej (IM) oraz rozmowy głosowej tylko dla znajomych i grup do których należę" name="voice_call_friends_only_check"/>
+ <check_box label="Wyłącz mikrofon po zakończeniu rozmowy głosowej" name="auto_disengage_mic_check"/>
+ <check_box label="Akceptuj Ciasteczka" name="cookies_enabled"/>
+ <check_box label="Zezwól na Automatyczne Uruchomianie Mediów Strumieniowych" name="autoplay_enabled"/>
+ <text name="Logs:">
+ Logi:
</text>
- <string name="log_in_to_change">
- zaloguj się żeby zmienić
- </string>
- <check_box label="Wysyłaj IMy na email ([EMAIL])" name="send_im_to_email" />
- <check_box label="Dołącz IMy do Konsola Czatu" name="include_im_in_chat_console" />
- <check_box label="Pokazuj czas w IM" name="show_timestamps_check" />
- <check_box label="Powiadamiaj o zalogowanych znajomych"
- name="friends_online_notify_checkbox" />
- <text name="text_box3">
- Pracuś Mówi:
+ <check_box label="Zapisz logi rozmów ogólnych na moim komputerze" name="log_nearby_chat"/>
+ <check_box label="Zapisuj logi wiadomości prywatnych (IM) na moim komputerze" name="log_instant_messages"/>
+ <check_box label="Pokazuj czas" name="show_timestamps_check_im"/>
+ <text name="log_path_desc">
+ Pokazuj miejsce logu
</text>
- <text name="text_box4">
- Ustawienia Zapisu:
- </text>
- <check_box label="Zapisuj IMy" name="log_instant_messages" />
- <check_box label="Pokazuj czas w zapisie IM" name="log_instant_messages_timestamp" />
- <check_box label="Pokazuj koniec ostatniego dialogu IM" name="log_show_history" />
- <check_box label="Zapisuj czat" name="log_chat" />
- <check_box label="Pokazuj czas w zapisie czatu" name="log_chat_timestamp" />
- <check_box label="Pokazuj nowe IMy w zapisie czatu" name="log_chat_IM" />
- <check_box label="Pokazuj czas łącznie z datą" name="log_date_timestamp" />
- <button label="Lokacja" label_selected="Lokacja" name="log_path_button" />
+ <button label="Przeglądaj" label_selected="Przeglądaj" name="log_path_button"/>
+ <button label="Lista Zablokowanych" name="block_list"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_setup.xml b/indra/newview/skins/default/xui/pl/panel_preferences_setup.xml
index 1e2289b496..1e2289b496 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/pl/panel_preferences_setup.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_sound.xml b/indra/newview/skins/default/xui/pl/panel_preferences_sound.xml
index f9b5d221a5..f9b5d221a5 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_preferences_sound.xml
+++ b/indra/newview/skins/default/xui/pl/panel_preferences_sound.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_profile.xml b/indra/newview/skins/default/xui/pl/panel_profile.xml
new file mode 100644
index 0000000000..1ff115e0b5
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_profile.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Profil" name="panel_profile">
+ <string name="no_partner_text" value="Brak"/>
+ <string name="RegisterDateFormat">
+ [REG_DATE] ([AGE])
+ </string>
+ <scroll_container name="profile_scroll">
+ <panel name="scroll_content_panel">
+ <panel name="second_life_image_panel">
+ <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/>
+ </panel>
+ <panel name="first_life_image_panel">
+ <text name="title_rw_descr_text" value=":"/>
+ </panel>
+ <text name="me_homepage_text">
+ Strona Domowa:
+ </text>
+ <text name="title_member_text" value="Członek od:"/>
+ <text name="title_acc_status_text" value="Status Konta:"/>
+ <text name="acc_status_text" value="Rezydent. Brak Danych Konta"/>
+ <text name="title_partner_text" value="Partner:"/>
+ <text name="title_groups_text" value="Groupy:"/>
+ </panel>
+ </scroll_container>
+ <panel name="profile_buttons_panel">
+ <button label="Dodaj Znajomość" name="add_friend" tool_tip="Dodaj tego Rezydenta do znajomych"/>
+ <button label="IM" name="im" tool_tip="Rozpocznij rozmowę prywatną"/>
+ <button label="Zadzwoń" name="call" tool_tip="Zadzwoń do tego Rezydenta"/>
+ <button label="Mapa" name="show_on_map_btn" tool_tip="Pokaż tego Rezydenta na mapie"/>
+ <button label="Teleportuj" name="teleport" tool_tip="Zaoferuj Teleportację"/>
+ <button label="▼" name="overflow_btn" tool_tip="Zapłać lub wyślij obiekt temu Rezydentowi"/>
+ </panel>
+ <panel name="profile_me_buttons_panel">
+ <button label="Edytuj Profil" name="edit_profile_btn"/>
+ <button label="Edytuj Wygląd" name="edit_appearance_btn"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_region_covenant.xml b/indra/newview/skins/default/xui/pl/panel_region_covenant.xml
index f20387dd25..31b410c931 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_region_covenant.xml
+++ b/indra/newview/skins/default/xui/pl/panel_region_covenant.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Umowa" name="Covenant">
<text name="estate_section_lbl">
- Majątek:
+ Majątek
</text>
<text name="estate_name_lbl">
Nazwa:
@@ -26,44 +26,44 @@
Brak umowy dla tego majątku.
</text_editor>
<button label="Wyresetuj" name="reset_covenant"/>
- <text name="covenant_help_text" bottom_delta="-6">
+ <text bottom_delta="-6" name="covenant_help_text">
Zmiany w umowie zostaną wyświetlone we
wszystkich posiadłościach majątku.
</text>
- <text name="covenant_instructions" bottom_delta="-36">
- Przeciągnij oraz wrzuć notę by zmienić umowę dla tego majątku.
+ <text bottom_delta="-36" name="covenant_instructions">
+ Przeciągnij oraz wrzuć notkę by zmienić umowę dla tego majątku.
</text>
<text name="region_section_lbl">
- Region:
+ Region
</text>
<text name="region_name_lbl">
Nazwa:
</text>
- <text name="region_name_text" left="115">
+ <text left="115" name="region_name_text">
leyla
</text>
<text name="region_landtype_lbl">
Typ:
</text>
- <text name="region_landtype_text" left="115">
+ <text left="115" name="region_landtype_text">
Region Główny / Ziemia
</text>
<text name="region_maturity_lbl">
Rodzaj:
</text>
- <text name="region_maturity_text" left="115">
+ <text left="115" name="region_maturity_text">
&apos;Adult&apos;
</text>
<text name="resellable_lbl">
Odsprzedaj:
</text>
- <text name="resellable_clause" left="115" width="350">
+ <text left="115" name="resellable_clause" width="350">
Posiadłość zakupiona w tym regionie nie może być odsprzedana.
</text>
<text name="changeable_lbl">
Podziel:
</text>
- <text name="changeable_clause" left="115" width="350">
+ <text left="115" name="changeable_clause" width="350">
Posiadłość zakupiona w tym regionie nie może być
łączona/dzielona.
</text>
diff --git a/indra/newview/skins/default/xui/pl/panel_region_debug.xml b/indra/newview/skins/default/xui/pl/panel_region_debug.xml
index fe7b554a13..fe7b554a13 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/pl/panel_region_debug.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_region_estate.xml b/indra/newview/skins/default/xui/pl/panel_region_estate.xml
index 4275f3f647..4275f3f647 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/pl/panel_region_estate.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_region_general.xml b/indra/newview/skins/default/xui/pl/panel_region_general.xml
index 20296dac71..20296dac71 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/pl/panel_region_general.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_region_terrain.xml b/indra/newview/skins/default/xui/pl/panel_region_terrain.xml
index b206616e34..b206616e34 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_region_terrain.xml
+++ b/indra/newview/skins/default/xui/pl/panel_region_terrain.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_region_texture.xml b/indra/newview/skins/default/xui/pl/panel_region_texture.xml
index d24579fc75..d24579fc75 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_region_texture.xml
+++ b/indra/newview/skins/default/xui/pl/panel_region_texture.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_script_ed.xml b/indra/newview/skins/default/xui/pl/panel_script_ed.xml
new file mode 100644
index 0000000000..09c3d8ad04
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_script_ed.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="script panel">
+ <panel.string name="loading">
+ Ładowanie...
+ </panel.string>
+ <panel.string name="can_not_view">
+ Nie posiadasz praw do zobaczenia lub edycji kodu tego skryptu ponieważ udostępnione Ci prawa to &quot;brak kopiowania&quot;. Musisz posiadać pełne prawa by móc zobaczyć lub edytować kod skryptu w zawartości obiektu.
+ </panel.string>
+ <panel.string name="public_objects_can_not_run">
+ Publiczne obiekty nie mogą uruchamiać skryptów
+ </panel.string>
+ <panel.string name="script_running">
+ Uruchomione
+ </panel.string>
+ <panel.string name="Title">
+ Skrypt: [NAME]
+ </panel.string>
+ <text_editor name="Script Editor">
+ Ładowanie...
+ </text_editor>
+ <button label="Zapisz" label_selected="Zapisz" name="Save_btn"/>
+ <combo_box label="Wklej..." name="Insert..."/>
+ <menu_bar name="script_menu">
+ <menu label="Plik" name="File">
+ <menu_item_call label="Zapisz" name="Save"/>
+ <menu_item_call label="Cofnij wszystkie zmiany" name="Revert All Changes"/>
+ </menu>
+ <menu label="Edytuj" name="Edit">
+ <menu_item_call label="Cofnij" name="Undo"/>
+ <menu_item_call label="Do Przodu" name="Redo"/>
+ <menu_item_call label="Wytnij" name="Cut"/>
+ <menu_item_call label="Kopiuj" name="Copy"/>
+ <menu_item_call label="Wklej" name="Paste"/>
+ <menu_item_call label="Wybierz Wszystko" name="Select All"/>
+ <menu_item_call label="Odznacz" name="Deselect"/>
+ <menu_item_call label="Znajdź / Zamień..." name="Search / Replace..."/>
+ </menu>
+ <menu label="Pomoc" name="Help">
+ <menu_item_call label="Pomoc..." name="Help..."/>
+ <menu_item_call label="Pomoc..." name="Keyword Help..."/>
+ </menu>
+ </menu_bar>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_scrolling_param.xml b/indra/newview/skins/default/xui/pl/panel_scrolling_param.xml
index 70a6e39412..70a6e39412 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_scrolling_param.xml
+++ b/indra/newview/skins/default/xui/pl/panel_scrolling_param.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_side_tray.xml b/indra/newview/skins/default/xui/pl/panel_side_tray.xml
new file mode 100644
index 0000000000..369097cd0b
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_side_tray.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Side tray cannot show background because it is always
+ partially on screen to hold tab buttons. -->
+<side_tray name="sidebar">
+ <sidetray_tab description="Miejsce Startu." name="sidebar_home" tab_title="Home">
+ <panel label="miejsce startu" name="panel_home"/>
+ </sidetray_tab>
+ <sidetray_tab description="Znajdź swoich znajomych, kontakty oraz Rezydentów w pobliżu Ciebie." name="sidebar_people" tab_title="People">
+ <panel_container name="panel_container">
+ <panel label="Info o Grupie" name="panel_group_info_sidetray"/>
+ <panel label="Zablokowani Rezydenci &amp; Obiekty" name="panel_block_list_sidetray"/>
+ </panel_container>
+ </sidetray_tab>
+ <sidetray_tab description="Znajdź i odwiedź miejsca, w których byłeś wcześniej." label="Miejsca" name="sidebar_places" tab_title="Places">
+ <panel label="Miejsca" name="panel_places"/>
+ </sidetray_tab>
+ <sidetray_tab description="Edytuj swój publiczny profil oraz ulubione zakładki." name="sidebar_me" tab_title="My Profile">
+ <panel label="Ja" name="panel_me"/>
+ </sidetray_tab>
+ <sidetray_tab description="Zmień swój obecny wygląd i ubranie." name="sidebar_appearance" tab_title="My Appearance">
+ <panel label="Edytuj Wygląd" name="sidepanel_appearance"/>
+ </sidetray_tab>
+ <sidetray_tab description="Przeglądaj Szafę." name="sidebar_inventory" tab_title="My Inventory">
+ <panel label="Edytuj Szafę" name="sidepanel_inventory"/>
+ </sidetray_tab>
+</side_tray>
diff --git a/indra/newview/skins/default/xui/pl/panel_stand_stop_flying.xml b/indra/newview/skins/default/xui/pl/panel_stand_stop_flying.xml
new file mode 100644
index 0000000000..e47a15b67a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_stand_stop_flying.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Width and height of this panel should be synchronized with "panel_modes" in the floater_moveview.xml-->
+<panel name="panel_stand_stop_flying">
+ <button label="Wstań" name="stand_btn" tool_tip="Kliknij tutaj by wstać."/>
+ <button label="Zatrzymaj Latanie" name="stop_fly_btn" tool_tip="Zatrzymaj Latanie"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/panel_status_bar.xml b/indra/newview/skins/default/xui/pl/panel_status_bar.xml
index 9226e67dff..9226e67dff 100755..100644
--- a/indra/newview/skins/default/xui/pl/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/pl/panel_status_bar.xml
diff --git a/indra/newview/skins/default/xui/pl/panel_teleport_history.xml b/indra/newview/skins/default/xui/pl/panel_teleport_history.xml
new file mode 100644
index 0000000000..d88d98f104
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/panel_teleport_history.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Teleport History">
+ <accordion name="history_accordion">
+ <accordion_tab name="today" title="Dzisiaj"/>
+ <accordion_tab name="yesterday" title="Wczoraj"/>
+ <accordion_tab name="2_days_ago" title="2 dni temu"/>
+ <accordion_tab name="3_days_ago" title="3 dni temu"/>
+ <accordion_tab name="4_days_ago" title="4 dni temu"/>
+ <accordion_tab name="5_days_ago" title="5 dni temu"/>
+ <accordion_tab name="6_days_and_older" title="6 dni i więcej"/>
+ <accordion_tab name="1_month_and_older" title="1 miesiąc i więcej"/>
+ <accordion_tab name="6_months_and_older" title="6 miesięcy i więcej"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/role_actions.xml b/indra/newview/skins/default/xui/pl/role_actions.xml
index 5711eacf2f..5711eacf2f 100755..100644
--- a/indra/newview/skins/default/xui/pl/role_actions.xml
+++ b/indra/newview/skins/default/xui/pl/role_actions.xml
diff --git a/indra/newview/skins/default/xui/pl/sidepanel_item_info.xml b/indra/newview/skins/default/xui/pl/sidepanel_item_info.xml
new file mode 100644
index 0000000000..b70c76f652
--- /dev/null
+++ b/indra/newview/skins/default/xui/pl/sidepanel_item_info.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="item properties" title="Właściwości Obiektu w Szafie">
+ <panel.string name="unknown">
+ (nieznany)
+ </panel.string>
+ <panel.string name="public">
+ (publiczny)
+ </panel.string>
+ <panel.string name="you_can">
+ Ty możesz:
+ </panel.string>
+ <panel.string name="owner_can">
+ Właściciel może:
+ </panel.string>
+ <panel.string name="acquiredDate">
+ [wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
+ </panel.string>
+ <text name="title" value="Właściwości Obiektu"/>
+ <panel label="">
+ <text name="LabelItemNameTitle">
+ Nazwa:
+ </text>
+ <text name="LabelItemDescTitle">
+ Opis:
+ </text>
+ <text name="LabelCreatorTitle">
+ Twórca:
+ </text>
+ <button label="Profil..." name="BtnCreator"/>
+ <text name="LabelOwnerTitle">
+ Właściciel:
+ </text>
+ <button label="Profil..." name="BtnOwner"/>
+ <text name="LabelAcquiredTitle">
+ Nabyte:
+ </text>
+ <text name="LabelAcquiredDate">
+ Wed May 24 12:50:46 2006
+ </text>
+ <text name="OwnerLabel">
+ Ty:
+ </text>
+ <check_box label="Edytuj" name="CheckOwnerModify"/>
+ <check_box label="Kopiuj" name="CheckOwnerCopy"/>
+ <check_box label="Oddawaj" name="CheckOwnerTransfer"/>
+ <text name="AnyoneLabel">
+ Każdemu:
+ </text>
+ <check_box label="Kopiuj" name="CheckEveryoneCopy"/>
+ <text name="GroupLabel">
+ Groupa:
+ </text>
+ <check_box label="Podziel się" name="CheckShareWithGroup"/>
+ <text name="NextOwnerLabel">
+ Następny właściciel:
+ </text>
+ <check_box label="Edytuje" name="CheckNextOwnerModify"/>
+ <check_box label="Kopiuje" name="CheckNextOwnerCopy"/>
+ <check_box label="Oddaje" name="CheckNextOwnerTransfer"/>
+ <check_box label="Na Sprzedaż" name="CheckPurchase"/>
+ <combo_box name="combobox sale copy">
+ <combo_box.item label="Kopia" name="Copy"/>
+ <combo_box.item label="Originał" name="Original"/>
+ </combo_box>
+ <spinner label="Cena:" name="Edit Cost"/>
+ <text name="CurrencySymbol">
+ L$
+ </text>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pl/strings.xml b/indra/newview/skins/default/xui/pl/strings.xml
index e8dcfac02d..e8dcfac02d 100755..100644
--- a/indra/newview/skins/default/xui/pl/strings.xml
+++ b/indra/newview/skins/default/xui/pl/strings.xml
diff --git a/indra/newview/skins/default/xui/pl/teleport_strings.xml b/indra/newview/skins/default/xui/pl/teleport_strings.xml
index 906978effe..906978effe 100755..100644
--- a/indra/newview/skins/default/xui/pl/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/pl/teleport_strings.xml
diff --git a/indra/newview/skins/default/xui/pl/xui_version.xml b/indra/newview/skins/default/xui/pl/xui_version.xml
index 0e777751d3..0e777751d3 100755..100644
--- a/indra/newview/skins/default/xui/pl/xui_version.xml
+++ b/indra/newview/skins/default/xui/pl/xui_version.xml
diff --git a/indra/newview/skins/default/xui/pt/floater_about.xml b/indra/newview/skins/default/xui/pt/floater_about.xml
index 704e2f4107..39548dc497 100644
--- a/indra/newview/skins/default/xui/pt/floater_about.xml
+++ b/indra/newview/skins/default/xui/pt/floater_about.xml
@@ -1,19 +1,65 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="floater_about" title="SOBRE O [CAPITALIZED_APP_NAME]">
-<tab_container name="about_tab">
- <panel name="credits_panel">
- <text_editor name="credits_editor">
- Second Life é oferecido a você por Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl e muitos outros.
+<floater name="floater_about" title="SOBRE [CAPITALIZED_APP_NAME]">
+ <floater.string name="AboutHeader">
+ [APP_NAME] [VIEWER_VERSION_0].[VIEWER_VERSION_1].[VIEWER_VERSION_2] ([VIEWER_VERSION_3]) [BUILD_DATE] [BUILD_TIME] ([CHANNEL])[[VIEWER_RELEASE_NOTES_URL] [ReleaseNotes]]
+ </floater.string>
+ <floater.string name="AboutCompiler">
+ Construído com [COMPILER] versão [COMPILER_VERSION]
+ </floater.string>
+ <floater.string name="AboutPosition">
+ Você está em [POSITION_0,number,1], [POSITION_1,number,1], [POSITION_2,number,1] em [REGION] localizado em [HOSTNAME]&lt;/nolink&gt;([HOSTIP])
+[SERVER_VERSION]
+[[SERVER_RELEASE_NOTES_URL] [ReleaseNotes]]
+ </floater.string>
+ <floater.string name="AboutSystem">
+ CPU: [CPU]
+Memória: [MEMORY_MB] MBs
+Versão OS: [OS_VERSION]
+Placa de vídeo: [GRAPHICS_CARD_VENDOR]
+Placa gráfica: [GRAPHICS_CARD]
+ </floater.string>
+ <floater.string name="AboutDriver">
+ Versão do driver de vídeo Windows: [GRAPHICS_CARD_VENDOR]
+ </floater.string>
+ <floater.string name="AboutLibs">
+ Versão OpenGL: [OPENGL_VERSION]
- Obrigado aos seguintes residentes por ajudar a garantir para que esta versão seja ainda melhor: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar
+Versão libcurl: [LIBCURL_VERSION]
+Versão J2C Decoder: [J2C_VERSION]
+Versão do driver de áudio: [AUDIO_DRIVER_VERSION]
+Versão Qt Webkit: [QT_WEBKIT_VERSION]
+Versão Vivox: [VIVOX_VERSION]
+ </floater.string>
+ <floater.string name="none">
+ (nenhum)
+ </floater.string>
+ <floater.string name="AboutTraffic">
+ Packets Lost: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%)
+ </floater.string>
+ <tab_container name="about_tab">
+ <panel label="Info" name="support_panel">
+ <button label="Copiar para área de transferência" name="copy_btn"/>
+ </panel>
+ <panel label="Créditos" name="credits_panel">
+ <text_editor name="credits_editor">
+ O Second Life é o resultado do trabalho de Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les e muitos mais.
+Agradecemos também aos seguintes residentes por sua colaboração na mais nova versão do Second Life: (in progress)
- Para ter sucesso nos negócios, seja ousado, seja o primeiro, seja diferente. --Henry Marchant
- </text_editor>
- </panel>
- <panel name="licenses_panel">
- <text_editor name="credits_editor">
- 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
+
+
+
+
+
+
+
+Raras são as mentes capazes de tornar óbvio o até então inexistente. Dizer &apos;eu poderia ter pensado a mesma coisa&apos; é comum, revelador e nem sempre a verdade; porque de fato não pensaram.
+ -- Douglas Adams
+ </text_editor>
+ </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
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.
@@ -34,10 +80,7 @@
Todos os direitos reservados. Veja licenças.txt para detalhes.
Voice chat Audio coding: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
- </text_editor>
- </panel>
-</tab_container>
- <string name="you_are_at">
- Você está em [POSITION]
- </string>
+ </text_editor>
+ </panel>
+ </tab_container>
</floater>
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 19981cf48c..ebb9bfc32d 100644
--- a/indra/newview/skins/default/xui/pt/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/pt/floater_about_land.xml
@@ -1,7 +1,59 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floaterland" title="SOBRE O TERRENO">
+ <floater.string name="Minutes">
+ [MINUTES] minutos
+ </floater.string>
+ <floater.string name="Minute">
+ minuto
+ </floater.string>
+ <floater.string name="Seconds">
+ [SECONDS] segundos
+ </floater.string>
+ <floater.string name="Remaining">
+ faltam
+ </floater.string>
<tab_container name="landtab">
- <panel label="Geral" name="land_general_panel">
+ <panel label="GERAL" name="land_general_panel">
+ <panel.string name="new users only">
+ Somente novos usuários
+ </panel.string>
+ <panel.string name="anyone">
+ Qualquer um
+ </panel.string>
+ <panel.string name="area_text">
+ Área
+ </panel.string>
+ <panel.string name="area_size_text">
+ [AREA] m²
+ </panel.string>
+ <panel.string name="auction_id_text">
+ ID do Leilão: [ID]
+ </panel.string>
+ <panel.string name="need_tier_to_modify">
+ Você deve ter sua compra aprovada para modificar este terreno.
+ </panel.string>
+ <panel.string name="group_owned_text">
+ (Possuído pelo Grupo)
+ </panel.string>
+ <panel.string name="profile_text">
+ Perfil...
+ </panel.string>
+ <panel.string name="info_text">
+ Informação...
+ </panel.string>
+ <panel.string name="public_text">
+ (público)
+ </panel.string>
+ <panel.string name="none_text">
+ (nenhum)
+ </panel.string>
+ <panel.string name="sale_pending_text">
+ (Venda Pendente)
+ </panel.string>
+ <panel.string name="no_selection_text">
+ Nenhum lote selecionado.
+Vá para o menu Mundo &gt; Sobre a Terra ou selecione outro lote para mostrar seus detalhes.
+ </panel.string>
<text name="Name:">
Nome:
</text>
@@ -26,10 +78,12 @@
<text name="OwnerText">
Leyla Linden
</text>
- <button label="Perfil..." label_selected="Perfil..." name="Profile..."/>
<text name="Group:">
Grupo:
</text>
+ <text name="GroupText">
+ Leyla Linden
+ </text>
<button label="Ajustar..." label_selected="Ajustar..." name="Set..."/>
<check_box label="Permitir posse para o grupo" name="check deed" tool_tip="O gerente do grupo pode acionar essa terra ao grupo, então esta será mantida pelo gestor da ilha"/>
<button label="Passar..." label_selected="Passar..." name="Deed..." tool_tip="Você só pode delegar esta terra se você for um gerente selecionado pelo grupo."/>
@@ -73,59 +127,31 @@
0
</text>
<button label="Comprar Terra..." label_selected="Comprar Terra..." left="130" name="Buy Land..." width="125"/>
+ <button label="Dados do script" name="Scripts..."/>
<button label="Comprar para o Grupo..." label_selected="Comprar para o Grupo..." name="Buy For Group..."/>
<button label="Comprar Passe..." label_selected="Comprar Passe..." left="130" name="Buy Pass..." tool_tip="Um passe concede a você acesso temporário a esta terra." width="125"/>
<button label="Abandonar Terra.." label_selected="Abandonar Terra.." name="Abandon Land..."/>
<button label="Reclamar Terra..." label_selected="Reclamar Terra..." name="Reclaim Land..."/>
<button label="Venda Linden..." label_selected="Venda Linden..." name="Linden Sale..." tool_tip="A terra precisa ser possuída, estar com o conteúdo configurado e não estar pronta para leilão."/>
- <panel.string name="new users only">
- Somente novos usuários
- </panel.string>
- <panel.string name="anyone">
- Qualquer um
- </panel.string>
- <panel.string name="area_text">
- Área
- </panel.string>
- <panel.string name="area_size_text">
- [AREA] m²
- </panel.string>
- <panel.string name="auction_id_text">
- ID do Leilão: [ID]
- </panel.string>
- <panel.string name="need_tier_to_modify">
- Você deve ter sua compra aprovada para modificar este terreno.
- </panel.string>
- <panel.string name="group_owned_text">
- (Possuído pelo Grupo)
- </panel.string>
- <panel.string name="profile_text">
- Perfil...
- </panel.string>
- <panel.string name="info_text">
- Informação...
- </panel.string>
- <panel.string name="public_text">
- (público)
+ </panel>
+ <panel label="CONTRATO" name="land_covenant_panel">
+ <panel.string name="can_resell">
+ Terra comprada nesta região pode ser revendida.
</panel.string>
- <panel.string name="none_text">
- (nenhum)
+ <panel.string name="can_not_resell">
+ Terra comprada nesta região não pode ser revendida.
</panel.string>
- <panel.string name="sale_pending_text">
- (Venda Pendente)
+ <panel.string name="can_change">
+ Terra comprada nesta região pode ser compartilhada
+ou sub-dividida.
</panel.string>
- <panel.string name="no_selection_text">
- Nenhum lote selecionado.
-Vá para o menu Mundo &gt; Sobre a Terra ou selecione outro lote para mostrar seus detalhes.
+ <panel.string name="can_not_change">
+ Terra comprada nesta região não pode ser compartilhada
+ou sub-dividida.
</panel.string>
- </panel>
- <panel label="Corretor" name="land_covenant_panel">
<text name="estate_section_lbl">
Propriedade:
</text>
- <text name="estate_name_lbl">
- Nome:
- </text>
<text name="estate_name_text">
mainland
</text>
@@ -144,9 +170,6 @@ Vá para o menu Mundo &gt; Sobre a Terra ou selecione outro lote para mostrar se
<text name="region_section_lbl">
Região:
</text>
- <text name="region_name_lbl">
- Nome:
- </text>
<text name="region_name_text">
leyla
</text>
@@ -174,37 +197,23 @@ Vá para o menu Mundo &gt; Sobre a Terra ou selecione outro lote para mostrar se
<text name="changeable_clause">
Terra nesta região não pode ser unida/sub-dividida.
</text>
- <panel.string name="can_resell">
- Terra comprada nesta região pode ser revendida.
- </panel.string>
- <panel.string name="can_not_resell">
- Terra comprada nesta região não pode ser revendida.
- </panel.string>
- <panel.string name="can_change">
- Terra comprada nesta região pode ser compartilhada
-ou sub-dividida.
+ </panel>
+ <panel label="OBJETOS" name="land_objects_panel">
+ <panel.string name="objects_available_text">
+ [COUNT] de [MAX] ([AVAILABLE] disponíveis)
</panel.string>
- <panel.string name="can_not_change">
- Terra comprada nesta região não pode ser compartilhada
-ou sub-dividida.
+ <panel.string name="objects_deleted_text">
+ [COUNT] de [MAX] ([DELETED] serão deletados)
</panel.string>
- </panel>
- <panel label="Objetos" name="land_objects_panel">
<text name="parcel_object_bonus">
Fator de Bonus para Objetos na Região: [BONUS]
</text>
<text name="Simulator primitive usage:">
- Uso do simulador de primitivas:
+ Uso de prims:
</text>
<text left="214" name="objects_available" width="230">
[COUNT] de [MAX] ([AVAILABLE] disponíveis)
</text>
- <panel.string name="objects_available_text">
- [COUNT] de [MAX] ([AVAILABLE] disponíveis)
- </panel.string>
- <panel.string name="objects_deleted_text">
- [COUNT] de [MAX] ([DELETED] serão deletados)
- </panel.string>
<text name="Primitives parcel supports:" width="200">
Primitivas suportadas pelo lote:
</text>
@@ -248,39 +257,69 @@ ou sub-dividida.
[COUNT]
</text>
<text left="4" name="Autoreturn" width="412">
- Auto-retornar objetos dos outros residentes (minutos, 0 para desligado):
+ Devolver objetos de outros residentes automaticamente (digite 0 para desligar)
</text>
<line_editor name="clean other time" right="-10"/>
<text name="Object Owners:">
Donos dos Objetos:
</text>
- <button label="Atualizar Lista" label_selected="Atualizar Lista" name="Refresh List" left="118"/>
- <button label="Retornar objetos..." label_selected="Retornar objetos..." name="Return objects..." left="230"/>
+ <button label="Atualizar Lista" label_selected="Atualizar Lista" left="118" name="Refresh List" tool_tip="Refresh Object List"/>
+ <button label="Retornar objetos..." label_selected="Retornar objetos..." left="230" name="Return objects..."/>
<name_list name="owner list">
- <column label="Tipo" name="type"/>
- <column label="Nome" name="name"/>
- <column label="Contar" name="count"/>
- <column label="Mais recente" name="mostrecent"/>
+ <name_list.columns label="Tipo" name="type"/>
+ <name_list.columns label="Nome" name="name"/>
+ <name_list.columns label="Contar" name="count"/>
+ <name_list.columns label="Mais recente" name="mostrecent"/>
</name_list>
</panel>
- <panel label="Opções" name="land_options_panel">
+ <panel label="OPÇÕES" name="land_options_panel">
+ <panel.string name="search_enabled_tooltip">
+ Permitir que as pessoas vejam este lote nos resultados de busca
+ </panel.string>
+ <panel.string name="search_disabled_small_tooltip">
+ Esta opção está desabilitada porque a área deste lote tem 128 m² ou menos.
+Apenas lotes maiores podem ser listados na busca.
+ </panel.string>
+ <panel.string name="search_disabled_permissions_tooltip">
+ Esta opção está desabilitada porque você não pode modificar as opções deste lote.
+ </panel.string>
+ <panel.string name="mature_check_mature">
+ Conteúdo Mature
+ </panel.string>
+ <panel.string name="mature_check_adult">
+ Conteúdo Adult
+ </panel.string>
+ <panel.string name="mature_check_mature_tooltip">
+ A informação do seu lote ou seu conteúdo são considerados mature.
+ </panel.string>
+ <panel.string name="mature_check_adult_tooltip">
+ A informação do seu lote ou seu conteúdo são considerados adult.
+ </panel.string>
+ <panel.string name="landing_point_none">
+ (nenhum)
+ </panel.string>
+ <panel.string name="push_restrict_text">
+ Sem Empurrar
+ </panel.string>
+ <panel.string name="push_restrict_region_text">
+ Sem Empurrar (Imposição na Região)
+ </panel.string>
<text name="allow_label">
- Permitir outros residentes a:
+ Autorizar outros residentes a:
</text>
<check_box label="Editar Terreno" name="edit land check" tool_tip="Se ativado, qualquer um pode modificar a forma da sua terra. É melhor deixar esta opção desativada, uma vez que você sempre pode editar seu próprio terreno."/>
- <check_box label="Criar Landmarks" name="check landmark"/>
<check_box label="Voar" name="check fly" tool_tip="Se ativado, os Residentes podem voar na sua terra. Se desativado, eles podem voar apenas para dentro e por cima de sua terra."/>
- <text name="allow_label2" left="172">
+ <text left="172" name="allow_label2">
Criar Objetos:
</text>
<check_box label="Residentes" name="edit objects check"/>
<check_box label="Grupo" name="edit group objects check"/>
- <text name="allow_label3" left="172">
+ <text left="172" name="allow_label3">
Entrada do Objeto:
</text>
<check_box label="Residentes" name="all object entry check"/>
<check_box label="Grupo" name="group object entry check"/>
- <text name="allow_label4" left="172">
+ <text left="172" name="allow_label4">
Executar Scripts:
</text>
<check_box label="Residentes" name="check other scripts"/>
@@ -290,85 +329,37 @@ ou sub-dividida.
</text>
<check_box label="Salvo (sem dano)" name="check safe" tool_tip="Se ativado, ajusta o terreno para Seguro, desabilitando combate com danos. Se não ativado, o combate com danos é habilitado."/>
<check_box label="Sem Empurrar" name="PushRestrictCheck" tool_tip="Evita scripts que empurram. A ativação dessa opção pode ser útil para prevenir comportamentos desordeiros na sua terra."/>
- <check_box label="Mostra o Lugar na Busca (L$30/semana) sob" name="ShowDirectoryCheck" tool_tip="Permitir que as pessoas vejam este terreno nos resultados de busca"/>
- <panel.string name="search_enabled_tooltip">
- Permitir que as pessoas vejam este lote nos resultados de busca
- </panel.string>
- <panel.string name="search_disabled_small_tooltip">
- Esta opção está desabilitada porque a área deste lote tem 128 m² ou menos.
-Apenas lotes maiores podem ser listados na busca.
- </panel.string>
- <panel.string name="search_disabled_permissions_tooltip">
- Esta opção está desabilitada porque você não pode modificar as opções deste lote.
- </panel.string>
- <combo_box name="land category with adult" left="265" width="155">
- <combo_box.item name="item0" label="Qualquer Categoria"
- />
- <combo_box.item name="item1" label="Locação Linden"
- />
- <combo_box.item name="item2" label="Adult"
- />
- <combo_box.item name="item3" label="Artes e Cultura"
- />
- <combo_box.item name="item4" label="Negócios"
- />
- <combo_box.item name="item5" label="Educacional"
- />
- <combo_box.item name="item6" label="Jogos"
- />
- <combo_box.item name="item7" label="Moradia"
- />
- <combo_box.item name="item8" label="Amigável a Novos Usuários"
- />
- <combo_box.item name="item9" label="Parques &amp; Natureza"
- />
- <combo_box.item name="item10" label="Residencial"
- />
- <combo_box.item name="item11" label="Compras"
- />
- <combo_box.item name="item12" label="Outros"
- />
+ <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"/>
+ <combo_box left="265" name="land category with adult" width="155">
+ <combo_box.item label="Qualquer Categoria" name="item0"/>
+ <combo_box.item label="Locação Linden" name="item1"/>
+ <combo_box.item label="Adult" name="item2"/>
+ <combo_box.item label="Artes e Cultura" name="item3"/>
+ <combo_box.item label="Negócios" name="item4"/>
+ <combo_box.item label="Educacional" name="item5"/>
+ <combo_box.item label="Jogos" name="item6"/>
+ <combo_box.item label="Moradia" name="item7"/>
+ <combo_box.item label="Amigável a Novos Usuários" name="item8"/>
+ <combo_box.item label="Parques &amp; Natureza" name="item9"/>
+ <combo_box.item label="Residencial" name="item10"/>
+ <combo_box.item label="Compras" name="item11"/>
+ <combo_box.item label="Outros" name="item12"/>
</combo_box>
- <combo_box name="land category" left="265" width="155">
- <combo_box.item name="item0" label="Qualquer Categoria"
- />
- <combo_box.item name="item1" label="Locação Linden"
- />
- <combo_box.item name="item3" label="Artes e Cultura"
- />
- <combo_box.item name="item4" label="Negócios"
- />
- <combo_box.item name="item5" label="Educacional"
- />
- <combo_box.item name="item6" label="Jogos"
- />
- <combo_box.item name="item7" label="Moradia"
- />
- <combo_box.item name="item8" label="Amigável a Novos Usuários"
- />
- <combo_box.item name="item9" label="Parques e Natureza"
- />
- <combo_box.item name="item10" label="Residencial"
- />
- <combo_box.item name="item11" label="Compras"
- />
- <combo_box.item name="item12" label="Outros"
- />
+ <combo_box left="265" name="land category" width="155">
+ <combo_box.item label="Qualquer Categoria" name="item0"/>
+ <combo_box.item label="Locação Linden" name="item1"/>
+ <combo_box.item label="Artes e Cultura" name="item3"/>
+ <combo_box.item label="Negócios" name="item4"/>
+ <combo_box.item label="Educacional" name="item5"/>
+ <combo_box.item label="Jogos" name="item6"/>
+ <combo_box.item label="Moradia" name="item7"/>
+ <combo_box.item label="Amigável a Novos Usuários" name="item8"/>
+ <combo_box.item label="Parques e Natureza" name="item9"/>
+ <combo_box.item label="Residencial" name="item10"/>
+ <combo_box.item label="Compras" name="item11"/>
+ <combo_box.item label="Outros" name="item12"/>
</combo_box>
- <button label="?" label_selected="?" left="426" name="?"/>
<check_box label="Conteúdo Mature" name="MatureCheck" tool_tip=""/>
- <panel.string name="mature_check_mature">
- Conteúdo Mature
- </panel.string>
- <panel.string name="mature_check_adult">
- Conteúdo Adult
- </panel.string>
- <panel.string name="mature_check_mature_tooltip">
- A informação do seu lote ou seu conteúdo são considerados mature.
- </panel.string>
- <panel.string name="mature_check_adult_tooltip">
- A informação do seu lote ou seu conteúdo são considerados adult.
- </panel.string>
<text name="Snapshot:">
Foto:
</text>
@@ -376,39 +367,28 @@ Apenas lotes maiores podem ser listados na busca.
<text name="landing_point">
Ponto de Aterrissagem: [LANDING]
</text>
- <panel.string name="landing_point_none">
- (nenhum)
- </panel.string>
<button label="Definir" label_selected="Definir" name="Set" tool_tip="Define o ponto de aterrissagem aonde o visitante chega. Define para o ponto em que seu avatar se encontra neste lote."/>
<button label="Limpar" label_selected="Limpar" name="Clear" tool_tip="Limpar o ponto de aterrissagem."/>
<text name="Teleport Routing: ">
Rota de Tele-transporte:
</text>
- <combo_box width="160" left="140" name="landing type" tool_tip="Rota de Teletransporte -- Selecione como tratar os tele-transportes no seu lote.">
- <combo_box.item name="Blocked" label="Bloqueado"
- />
- <combo_box.item name="LandingPoint" label="Ponto de Aterrissagem"
- />
- <combo_box.item name="Anywhere" label="Qualquer lugar"
- />
+ <combo_box left="140" name="landing type" tool_tip="Rota de Teletransporte -- Selecione como tratar os tele-transportes no seu lote." width="160">
+ <combo_box.item label="Bloqueado" name="Blocked"/>
+ <combo_box.item label="Ponto de Aterrissagem" name="LandingPoint"/>
+ <combo_box.item label="Qualquer lugar" name="Anywhere"/>
</combo_box>
- <panel.string name="push_restrict_text">
- Sem Empurrar
- </panel.string>
- <panel.string name="push_restrict_region_text">
- Sem Empurrar (Imposição na Região)
- </panel.string>
</panel>
- <panel label="Mídia" name="land_media_panel">
+ <panel label="MÍDIA" name="land_media_panel">
<text name="with media:" width="85">
Tipo de Mídia:
</text>
<combo_box left="97" name="media type" tool_tip="Especificar se a URL é um filme, uma página web ou outra mídia"/>
<text name="at URL:" width="85">
- URL da Mídia:
+ Página web:
</text>
<line_editor left="97" name="media_url"/>
<button label="Definir..." label_selected="Definir..." name="set_media_url"/>
+ <check_box label="Esconder a URL da Mídia" left="97" name="hide_media_url" tool_tip="Ativando esta opção, a URL da mídia se ocultará para quaisquer visualizadores não autorizados a ver esta informação do lote. Notar que isto não está disponível para tipos HTML."/>
<text name="Description:">
Descrição:
</text>
@@ -419,18 +399,9 @@ Textura:
</text>
<texture_picker label="" left="97" name="media texture" tool_tip="Clique para escolher uma imagem"/>
<text name="replace_texture_help">
- (Objetos usando esta textura, mostrarão o filme ou
-a página web depois que você clicar na seta de
-reproduzir.)
- </text>
- <text name="Options:">
- Opções de
-Mídia:
+ Objetos com esta textura vão aparecer no filme ou página da web depois de clicar em Tocar. Selecione outras texturas clicando nas miniaturas.
</text>
<check_box label="Escala automática" left="97" name="media_auto_scale" tool_tip="Marcando esta opção o conteúdo se ajustará ao lote automaticamente. A mídia pode se tornar lenta e com baixa qualidade visual mas nenhum outro ajuste de textura ou alinhamento será necessário."/>
- <check_box label="Mídia em Repetição" name="media_loop" tool_tip="Executar a mídia repetidamente. Quando a mídia terminar a execução, ela reiniciará do começo."/>
- <check_box label="Esconder a URL da Mídia" left="97" name="hide_media_url" tool_tip="Ativando esta opção, a URL da mídia se ocultará para quaisquer visualizadores não autorizados a ver esta informação do lote. Notar que isto não está disponível para tipos HTML."/>
- <check_box label="Esconder a URL de Música" name="hide_music_url" tool_tip="Ativando esta opção, a URL de música se esconderá para visualizadores não autorizados a ver esta informação do lote"/>
<text left="102" name="media_size" tool_tip="Tamanho para desenhar a mídia Web, deixar 0 como padrão." width="115">
Tamanho da mídia:
</text>
@@ -439,57 +410,45 @@ Mídia:
<text name="pixels">
pixels
</text>
- <text name="MusicURL:">
- URL da Música:
- </text>
- <line_editor left="97" name="music_url"/>
- <text name="Sound:">
- Som:
- </text>
- <check_box label="Restringir gestos e sons de objetos a este lote" left="97" name="check sound local"/>
- <button label="?" label_selected="?" name="?"/>
- <text name="Voice settings:">
- Voz:
+ <text name="Options:">
+ Opções de
+Mídia:
</text>
- <check_box left="97" label="Habilitar Voz" name="parcel_enable_voice_channel"/>
- <check_box left="97" label="Habilitar Voz (definida pela Propriedade)" name="parcel_enable_voice_channel_is_estate_disabled"/>
- <check_box left="117" label="Restringir Voz a este lote" name="parcel_enable_voice_channel_parcel"/>
+ <check_box label="Mídia em Repetição" name="media_loop" tool_tip="Executar a mídia repetidamente. Quando a mídia terminar a execução, ela reiniciará do começo."/>
+ </panel>
+ <panel label="SOM" name="land_audio_panel">
+ <check_box label="Ocultar URL" name="hide_music_url" tool_tip="Selecionar esta opção oculta o URL de música a visitantes não autorizados aos dados do terreno."/>
+ <check_box label="Ativar voz" name="parcel_enable_voice_channel"/>
+ <check_box label="Ativar voz (definições do terreno)" name="parcel_enable_voice_channel_is_estate_disabled"/>
+ <check_box label="Limitar bate-papo de voz a este lote" name="parcel_enable_voice_channel_local"/>
</panel>
- <panel label="Acesso" name="land_access_panel">
+ <panel label="ACESSO" name="land_access_panel">
+ <panel.string name="access_estate_defined">
+ (Definições do terreno)
+ </panel.string>
+ <panel.string name="estate_override">
+ Uma ou mais destas opções está definida no nível de propriedade.
+ </panel.string>
<text name="Limit access to this parcel to:">
Acesso a Este Lote
</text>
- <check_box label="Permitir Acesso Público" name="public_access"/>
+ <check_box label="Acesso para público categoria [MATURITY]" name="public_access"/>
<text name="Only Allow">
- Bloquear Acesso por:
+ Restringir acesso a contas confirmardas por:
</text>
- <check_box label="Residentes que não forneceram informações de pagamento para a Linden Lab" name="limit_payment" tool_tip="Banir residentes não identificados."/>
- <check_box label="Residentes que não tiveram a idade de adulto confirmada" name="limit_age_verified" tool_tip="Banir residentes que não tiveram sua idade verificada. Veja support.secondlife.com para maiores informações."/>
- <panel.string name="estate_override">
- Uma ou mais destas opções está definida no nível de propriedade.
- </panel.string>
+ <check_box label="Dados de pagamento fornecidos [ESTATE_PAYMENT_LIMIT]" name="limit_payment" tool_tip="Banir residentes sem identificação."/>
+ <check_box label="Idade confirmada: [ESTATE_AGE_LIMIT]" name="limit_age_verified" tool_tip="Banir residentes que não comprovaram a idade. Consulte o [SUPPORT_SITE] para saber mais."/>
<check_box label="Permitir Acesso do Grupo: [GROUP]" name="GroupCheck" tool_tip="Definir grupo na aba Geral."/>
<check_box label="Vender passes para:" name="PassCheck" tool_tip="Permite acesso temporário a este terreno"/>
<combo_box name="pass_combo">
- <combo_box.item name="Anyone" label="Qualquer um"
- />
- <combo_box.item name="Group" label="Grupo"
- />
+ <combo_box.item label="Qualquer um" name="Anyone"/>
+ <combo_box.item label="Grupo" name="Group"/>
</combo_box>
<spinner label="Preço em L$:" name="PriceSpin"/>
<spinner label="Horas de Acesso:" name="HoursSpin"/>
- <text label="Permitir Sempre" name="AllowedText">
- Residentes Permitidos
- </text>
- <name_list name="AccessList" tool_tip="([LISTED] listados, [MAX] máximo)"/>
- <button label="Adicionar..." label_selected="Adicionar..." name="add_allowed"/>
- <button label="Remover" label_selected="Remover" name="remove_allowed"/>
- <text label="Banir" name="BanCheck">
- Residentes Banidos
- </text>
- <name_list name="BannedList" tool_tip="([LISTED] listados, [MAX] máximo)"/>
- <button label="Adicionar..." label_selected="Adicionar..." name="add_banned"/>
- <button label="Remover" label_selected="Remover" name="remove_banned"/>
+ <panel name="Allowed_layout_panel">
+ <name_list name="AccessList" tool_tip="(Total [LISTED], máx de [MAX])"/>
+ </panel>
</panel>
</tab_container>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_activeim.xml b/indra/newview/skins/default/xui/pt/floater_activeim.xml
new file mode 100644
index 0000000000..892ccdf974
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_activeim.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_activeim" title="MI ativa"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_animation_preview.xml b/indra/newview/skins/default/xui/pt/floater_animation_preview.xml
index f3297ea5ee..78bcde251a 100644
--- a/indra/newview/skins/default/xui/pt/floater_animation_preview.xml
+++ b/indra/newview/skins/default/xui/pt/floater_animation_preview.xml
@@ -1,70 +1,180 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Animation Preview" title="">
+ <floater.string name="failed_to_initialize">
+ Não foi possível iniciar o movimento
+ </floater.string>
+ <floater.string name="anim_too_long">
+ O arquivo de animação tem [LENGTH] segundos de duração.
+
+A duração máxima de animação permitida é de [MAX_LENGTH] segundos.
+ </floater.string>
+ <floater.string name="failed_file_read">
+ Não foi possível ler o arquivo de animação.
+
+[STATUS]
+ </floater.string>
+ <floater.string name="E_ST_OK">
+ OK
+ </floater.string>
+ <floater.string name="E_ST_EOF">
+ Fim de arquivo prematuro
+ </floater.string>
+ <floater.string name="E_ST_NO_CONSTRAINT">
+ Impossível ler definição constraint.
+ </floater.string>
+ <floater.string name="E_ST_NO_FILE">
+ Impossível abrir arquivo BVH.
+ </floater.string>
+ <floater.string name="E_ST_NO_HIER">
+ Invalid HIERARCHY header.
+ </floater.string>
+ <floater.string name="E_ST_NO_JOINT">
+ RAIZ ou JUNTA não encontrados.
+ </floater.string>
+ <floater.string name="E_ST_NO_NAME">
+ Impossível obter nome JOINT.
+ </floater.string>
+ <floater.string name="E_ST_NO_OFFSET">
+ Impossível localizar OFFSET.
+ </floater.string>
+ <floater.string name="E_ST_NO_CHANNELS">
+ Impossível localizar CHANNELS.
+ </floater.string>
+ <floater.string name="E_ST_NO_ROTATION">
+ Impossível obter ordem de rotação.
+ </floater.string>
+ <floater.string name="E_ST_NO_AXIS">
+ Impossível obter eixo de rotação.
+ </floater.string>
+ <floater.string name="E_ST_NO_MOTION">
+ Impossível localizar MOTION.
+ </floater.string>
+ <floater.string name="E_ST_NO_FRAMES">
+ Impossível determinar número de quadros.
+ </floater.string>
+ <floater.string name="E_ST_NO_FRAME_TIME">
+ Impossível determinar tempo dos quadros.
+ </floater.string>
+ <floater.string name="E_ST_NO_POS">
+ Impossível definir posicionamento.
+ </floater.string>
+ <floater.string name="E_ST_NO_ROT">
+ Impossível definir valores da rotação.
+ </floater.string>
+ <floater.string name="E_ST_NO_XLT_FILE">
+ Impossível abrir arquivo de tradução.
+ </floater.string>
+ <floater.string name="E_ST_NO_XLT_HEADER">
+ Impossível ler cabeçalho de tradução.
+ </floater.string>
+ <floater.string name="E_ST_NO_XLT_NAME">
+ Impossível ler nomes traduzidos.
+ </floater.string>
+ <floater.string name="E_ST_NO_XLT_IGNORE">
+ Impossível obter valor traduzido a ignorar.
+ </floater.string>
+ <floater.string name="E_ST_NO_XLT_RELATIVE">
+ Impossível obter valor traduzido relativo.
+ </floater.string>
+ <floater.string name="E_ST_NO_XLT_OUTNAME">
+ Impossível obter valor traduzido.
+ </floater.string>
+ <floater.string name="E_ST_NO_XLT_MATRIX">
+ Impossível ler matriz de tradução.
+ </floater.string>
+ <floater.string name="E_ST_NO_XLT_MERGECHILD">
+ Impossível obter nome mergechild.
+ </floater.string>
+ <floater.string name="E_ST_NO_XLT_MERGEPARENT">
+ Impossível obter nome mergeparent.
+ </floater.string>
+ <floater.string name="E_ST_NO_XLT_PRIORITY">
+ Impossível obter valor prioritário.
+ </floater.string>
+ <floater.string name="E_ST_NO_XLT_LOOP">
+ Impossível obter valor do loop.
+ </floater.string>
+ <floater.string name="E_ST_NO_XLT_EASEIN">
+ Impossível obter valor easeIn.
+ </floater.string>
+ <floater.string name="E_ST_NO_XLT_EASEOUT">
+ Impossível obter valor easeOut.
+ </floater.string>
+ <floater.string name="E_ST_NO_XLT_HAND">
+ Impossível obter valor de morph da mão.
+ </floater.string>
+ <floater.string name="E_ST_NO_XLT_EMOTE">
+ Impossível ler nome do emote.
+ </floater.string>
+ <floater.string name="E_ST_BAD_ROOT">
+ Nome da junta incorreto, use &quot;quadril&quot;.
+ </floater.string>
<text name="name_label">
Nome:
</text>
<text name="description_label">
Descrição:
</text>
- <spinner label_width="72" width="110" label="Prioridade" name="priority" tool_tip="Controla quais animações podem se sobrepor a esta animação."/>
- <check_box label="Loop" name="loop_check" tool_tip="Executa a animação repetidamente."/>
- <spinner label_width="56" left="65" width="116" label="Dentro(%)" name="loop_in_point" tool_tip="Ajusta o ponto da animação onde a repetição começa."/>
- <spinner label_width="40" left="185" label="Fora(%)" name="loop_out_point" tool_tip="Ajusta o ponto da animação onde a repetição termina."/>
+ <spinner label="Prioridade" label_width="72" name="priority" tool_tip="Controla quais animações podem ser interrompidas por esta animação" width="110"/>
+ <check_box label="Loop" name="loop_check" tool_tip="Executa esta animação sem parar"/>
+ <spinner label="Dentro(%)" label_width="56" left="65" name="loop_in_point" tool_tip="Define o ponto em que a animação em loop reinicia" width="116"/>
+ <spinner label="Fora(%)" label_width="40" left="185" name="loop_out_point" tool_tip="Define o ponto em que a animação em loop acaba"/>
<text name="hand_label">
Pose de Mão
</text>
- <combo_box left_delta="100" width="184" name="hand_pose_combo" tool_tip="Controla o que as mãos fazem durante a animação">
- <combo_box.item name="Spread" label="Espreguiçar" />
- <combo_box.item name="Relaxed" label="Relaxado" />
- <combo_box.item name="PointBoth" label="Apontar Ambos" />
- <combo_box.item name="Fist" label="Punho" />
- <combo_box.item name="RelaxedLeft" label="Relaxado para Esquerda" />
- <combo_box.item name="PointLeft" label="Apontar à Esquerda" />
- <combo_box.item name="FistLeft" label="Punho Esquerdo" />
- <combo_box.item name="RelaxedRight" label="Relaxado para Direita" />
- <combo_box.item name="PointRight" label="Apontar à Direita" />
- <combo_box.item name="FistRight" label="Punho Direito" />
- <combo_box.item name="SaluteRight" label="Saudar à Direita" />
- <combo_box.item name="Typing" label="Digitando" />
- <combo_box.item name="PeaceRight" label="Pacífico à Direita" />
+ <combo_box left_delta="100" name="hand_pose_combo" tool_tip="Controla os gestos das mãos durante a animação" width="184">
+ <combo_box.item label="Abrir" name="Spread"/>
+ <combo_box.item label="Relaxado" name="Relaxed"/>
+ <combo_box.item label="Apontar ambas" name="PointBoth"/>
+ <combo_box.item label="Punho" name="Fist"/>
+ <combo_box.item label="E relaxada" name="RelaxedLeft"/>
+ <combo_box.item label="Apontar E" name="PointLeft"/>
+ <combo_box.item label="Punho E" name="FistLeft"/>
+ <combo_box.item label="D relaxada" name="RelaxedRight"/>
+ <combo_box.item label="Apontar D" name="PointRight"/>
+ <combo_box.item label="Punho D" name="FistRight"/>
+ <combo_box.item label="Saudação D" name="SaluteRight"/>
+ <combo_box.item label="Escrevendo" name="Typing"/>
+ <combo_box.item label="Paz D" name="PeaceRight"/>
</combo_box>
<text name="emote_label">
Expressão
</text>
- <combo_box left_delta="100" width="184" name="emote_combo" tool_tip="Controla o que a face faz durante a animação.">
- <combo_box.item name="[None]" label="None]" />
- <combo_box.item name="Aaaaah" label="Aaaaah" />
- <combo_box.item name="Afraid" label="Temeroso" />
- <combo_box.item name="Angry" label="Raivoso" />
- <combo_box.item name="BigSmile" label="Sorrisão" />
- <combo_box.item name="Bored" label="Entediado" />
- <combo_box.item name="Cry" label="Chorar" />
- <combo_box.item name="Disdain" label="Desprezar" />
- <combo_box.item name="Embarrassed" label="Envergonhado" />
- <combo_box.item name="Frown" label="Franzir a testa" />
- <combo_box.item name="Kiss" label="Beijar" />
- <combo_box.item name="Laugh" label="Rir" />
- <combo_box.item name="Plllppt" label="Plllppt" />
- <combo_box.item name="Repulsed" label="Enojado" />
- <combo_box.item name="Sad" label="Triste" />
- <combo_box.item name="Shrug" label="Indiferença" />
- <combo_box.item name="Smile" label="Sorriso" />
- <combo_box.item name="Surprise" label="Surpreso" />
- <combo_box.item name="Wink" label="Piscar" />
- <combo_box.item name="Worry" label="Preocupado" />
+ <combo_box left_delta="100" name="emote_combo" tool_tip="Controla as expressões faciais durante a animação" width="184">
+ <combo_box.item label="(nenhum)" name="[None]"/>
+ <combo_box.item label="Aaaaah" name="Aaaaah"/>
+ <combo_box.item label="Com medo" name="Afraid"/>
+ <combo_box.item label="Bravo" name="Angry"/>
+ <combo_box.item label="Sorriso contagiante" name="BigSmile"/>
+ <combo_box.item label="À toa" name="Bored"/>
+ <combo_box.item label="Chorar" name="Cry"/>
+ <combo_box.item label="Desdenho" name="Disdain"/>
+ <combo_box.item label="Com vergonha" name="Embarrassed"/>
+ <combo_box.item label="Franzir testa" name="Frown"/>
+ <combo_box.item label="Beijo" name="Kiss"/>
+ <combo_box.item label="Rir" name="Laugh"/>
+ <combo_box.item label="Mostrar a língua" name="Plllppt"/>
+ <combo_box.item label="Asco" name="Repulsed"/>
+ <combo_box.item label="Triste" name="Sad"/>
+ <combo_box.item label="Encolher os ombros" name="Shrug"/>
+ <combo_box.item label="Sorriso" name="Smile"/>
+ <combo_box.item label="Surpresa" name="Surprise"/>
+ <combo_box.item label="Piscar" name="Wink"/>
+ <combo_box.item label="Preocupado" name="Worry"/>
</combo_box>
<text name="preview_label" width="250">
Prever enquanto
</text>
- <combo_box left_delta="100" width="130" name="preview_base_anim" tool_tip="Use isto para testar o comportamento de sua animação enquanto seu avatar executa ações comuns.">
- <combo_box.item name="Standing" label="Parado" />
- <combo_box.item name="Walking" label="Andando" />
- <combo_box.item name="Sitting" label="Sentando" />
- <combo_box.item name="Flying" label="Voando" />
+ <combo_box left_delta="100" name="preview_base_anim" tool_tip="Use isto para testar o comportamento de sua animação enquanto seu avatar executa ações comuns." width="130">
+ <combo_box.item label="Em pé" name="Standing"/>
+ <combo_box.item label="Andando" name="Walking"/>
+ <combo_box.item label="Sentado" name="Sitting"/>
+ <combo_box.item label="Voando" name="Flying"/>
</combo_box>
- <spinner label_width="125" width="192" label="Facilitar a entrada (sec)" name="ease_in_time" tool_tip="Quantidade de tempo (em segundos) para que as animações se mesclem."/>
- <spinner bottom_delta="-20" label_width="125" left="10" width="192" label="Facilitar a saída (sec)" name="ease_out_time" tool_tip="Quantidade de tempo (em segundos) para que a animações se mesclem."/>
- <button bottom_delta="-32" name="play_btn" tool_tip="Executa/pausa sua animação."/>
+ <spinner label="Facilitar a entrada (sec)" label_width="125" name="ease_in_time" tool_tip="Tempo (em segundos) da transição inicial da animação" width="192"/>
+ <spinner bottom_delta="-20" label="Facilitar a saída (sec)" label_width="125" left="10" name="ease_out_time" tool_tip="Tempo (em segundos) da transição de saída da animação" width="192"/>
+ <button bottom_delta="-32" name="play_btn" tool_tip="Executar animação"/>
+ <button name="pause_btn" tool_tip="Pausar a animação"/>
<button label="" name="stop_btn" tool_tip="Interrompe a execução da animação."/>
<text name="bad_animation_text">
Incapaz de ler o arquivo de animação.
@@ -72,19 +182,6 @@
Nós recomendamos exportar arquivos BVH do
Poser 4.
</text>
- <button label="Cancelar" name="cancel_btn"/>
<button label="Carregar (L$[AMOUNT])" name="ok_btn"/>
- <string name="failed_to_initialize">
- Não foi possível iniciar o movimento
- </string>
- <string name="anim_too_long">
- O arquivo de animação tem [LENGTH] segundos de duração.
-
-A duração máxima de animação permitida é de [MAX_LENGTH] segundos.
- </string>
- <string name="failed_file_read">
- Não foi possível ler o arquivo de animação.
-
-[STATUS]
- </string>
+ <button label="Cancelar" name="cancel_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_auction.xml b/indra/newview/skins/default/xui/pt/floater_auction.xml
index 34cd17d781..074f7bf001 100644
--- a/indra/newview/skins/default/xui/pt/floater_auction.xml
+++ b/indra/newview/skins/default/xui/pt/floater_auction.xml
@@ -1,9 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="floater_auction" title="INICIAR A VENDA DE TERRENOS DA LINDEN">
- <check_box label="Incluir marcador de seleção amarelo" name="fence_check"/>
- <button label="Foto" label_selected="Foto" name="snapshot_btn"/>
- <button label="OK" label_selected="OK" name="ok_btn"/>
- <text name="already for sale">
+<floater name="floater_auction" title="INICIAR VENDA DE TERRENO LINDEN START">
+ <floater.string name="already for sale">
Você não pode leiloar terrenos que já estão configurados para venda.
- </text>
+ </floater.string>
+ <check_box initial_value="true" label="Incluir marcador de seleção amarelo" name="fence_check"/>
+ <button label="Foto" label_selected="Foto" name="snapshot_btn"/>
+ <button label="Vender a qualquer um" label_selected="Vender a qualquer um" name="sell_to_anyone_btn"/>
+ <button label="Clear Settings" label_selected="Limpar configurações" name="reset_parcel_btn"/>
+ <button label="Iniciar Leilão" label_selected="Iniciar Leilão" name="start_auction_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_avatar_picker.xml b/indra/newview/skins/default/xui/pt/floater_avatar_picker.xml
index 186ef30e1b..a2e6f7945a 100644
--- a/indra/newview/skins/default/xui/pt/floater_avatar_picker.xml
+++ b/indra/newview/skins/default/xui/pt/floater_avatar_picker.xml
@@ -1,42 +1,47 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="avatarpicker" title="ESCOLHA O RESIDENTE" min_width="285" width="285">
+<floater min_width="285" name="avatarpicker" title="SELECIONE O RESIDENTE" width="285">
+ <floater.string name="not_found">
+ &apos;[TEXT]&apos; não encontrado
+ </floater.string>
+ <floater.string name="no_one_near">
+ Ninguém por perto
+ </floater.string>
+ <floater.string name="no_results">
+ Nenhum resultado
+ </floater.string>
+ <floater.string name="searching">
+ Buscando...
+ </floater.string>
+ <string label="Selecionar" label_selected="Selecionar" name="Select">
+ Selecionar
+ </string>
+ <string name="Close">
+ Fechar
+ </string>
<tab_container name="ResidentChooserTabs" width="275">
<panel label="Buscar" name="SearchPanel">
<text name="InstructSearchResidentName">
- Digite parte do nome do Residente:
+ Digite parte do nome de alguém:
</text>
- <button label="Encontrar" label_selected="Encontrar" name="Find"/>
+ <button label="OK" label_selected="OK" name="Find"/>
</panel>
- <panel label="Cartões de Visita" name="CallingCardsPanel">
- <text name="InstructSelectCallingCard">
- Selecione um cartão de visita:
+ <panel label="Amigos" name="FriendsPanel">
+ <text name="InstructSelectFriend">
+ Selecione alguém:
</text>
</panel>
<panel label="Próximo a Mim" name="NearMePanel">
<text name="InstructSelectResident">
- Selecione residente
-próximo:
+ Selecione alguém por perto:
</text>
- <button font="SansSerifSmall" left_delta="1" width="115" label="Atualizar Lista" label_selected="Atualizar Lista" name="Refresh"/>
- <slider label="Faixa" name="near_me_range" bottom_delta="-36"/>
+ <slider bottom_delta="-36" label="Faixa" name="near_me_range"/>
<text name="meters">
Metros
</text>
- <scroll_list bottom_delta="-169" height="159" name="NearMe" />
+ <button font="SansSerifSmall" label="Atualizar Lista" label_selected="Atualizar Lista" left_delta="1" name="Refresh" width="115"/>
+ <scroll_list bottom_delta="-169" height="159" name="NearMe"/>
</panel>
</tab_container>
- <button label="Selecionar" label_selected="Selecionar" name="Select"/>
- <button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
- <string name="not_found">
- &apos;[TEXT]&apos; não encontrado
- </string>
- <string name="no_one_near">
- Ninguém proximo
- </string>
- <string name="no_results">
- Nenhum resultado
- </string>
- <string name="searching">
- Buscando...
- </string>
+ <button label="OK" label_selected="OK" name="ok_btn"/>
+ <button label="Cancelar" label_selected="Cancelar" name="cancel_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_avatar_textures.xml b/indra/newview/skins/default/xui/pt/floater_avatar_textures.xml
index 04a78efb12..5fb64f64b3 100644
--- a/indra/newview/skins/default/xui/pt/floater_avatar_textures.xml
+++ b/indra/newview/skins/default/xui/pt/floater_avatar_textures.xml
@@ -1,30 +1,43 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="avatar_texture_debug" title="TEXTURAS DO AVATAR">
- <text name="baked_label">
- Texturas sobrepostas
- </text>
+<floater name="avatar_texture_debug" title="TEXTURAS DE AVATAR">
+ <floater.string name="InvalidAvatar">
+ AVATAR INVÁLIDO
+ </floater.string>
<text name="composite_label">
Texturas compostas
</text>
- <texture_picker label="Cabeça" name="baked_head"/>
- <texture_picker label="Maquiagem" name="head_bodypaint"/>
- <texture_picker label="Cabelo" name="hair"/>
<button label="Tombar" label_selected="Tombar" name="Dump"/>
- <texture_picker label="Olhos" name="baked_eyes"/>
- <texture_picker label="Olho" name="eye_texture"/>
- <texture_picker label="Parte de cima" name="baked_upper_body"/>
- <texture_picker label="Tatuagem para partes de cima" name="upper_bodypaint"/>
- <texture_picker label="Camiseta" name="undershirt"/>
- <texture_picker label="Luvas" name="gloves"/>
- <texture_picker label="Camisa" name="shirt"/>
- <texture_picker label="Jaqueta" name="upper_jacket"/>
- <texture_picker label="Parte de baixo" name="baked_lower_body"/>
- <texture_picker label="Tatuagem para partes de baixo" name="lower_bodypaint"/>
- <texture_picker label="Roupas de baixo" name="underpants"/>
- <texture_picker label="Meias" name="socks"/>
- <texture_picker label="Calçados" name="shoes"/>
- <texture_picker label="Calças" name="pants"/>
- <texture_picker label="Jaqueta" name="jacket"/>
- <texture_picker label="Saia" name="baked_skirt"/>
- <texture_picker label="Saia" name="skirt_texture"/>
+ <scroll_container name="profile_scroll">
+ <panel name="scroll_content_panel">
+ <texture_picker label="Cabelo" name="hair-baked"/>
+ <texture_picker label="Cabelo" name="hair_grain"/>
+ <texture_picker label="Cabelo alpha" name="hair_alpha"/>
+ <texture_picker label="Cabeça" name="head-baked"/>
+ <texture_picker label="Maquilagem" name="head_bodypaint"/>
+ <texture_picker label="Cabeça Alpha" name="head_alpha"/>
+ <texture_picker label="Tatuagem na cabeça" name="head_tattoo"/>
+ <texture_picker label="Olhos" name="eyes-baked"/>
+ <texture_picker label="Olho" name="eyes_iris"/>
+ <texture_picker label="Olhos Alpha" name="eyes_alpha"/>
+ <texture_picker label="Cintura acima" name="upper-baked"/>
+ <texture_picker label="Pintura corporal, cintura para cima" name="upper_bodypaint"/>
+ <texture_picker label="Camiseta" name="upper_undershirt"/>
+ <texture_picker label="Luvas" name="upper_gloves"/>
+ <texture_picker label="Camisa" name="upper_shirt"/>
+ <texture_picker label="Jaqueta (cima)" name="upper_jacket"/>
+ <texture_picker label="Alpha de cima" name="upper_alpha"/>
+ <texture_picker label="Tatuagem parte de cima" name="upper_tattoo"/>
+ <texture_picker label="Cintura para baixo" name="lower-baked"/>
+ <texture_picker label="Pintura corporal, cintura para baixo" name="lower_bodypaint"/>
+ <texture_picker label="Roupa de baixo" name="lower_underpants"/>
+ <texture_picker label="Meias" name="lower_socks"/>
+ <texture_picker label="Sapatos" name="lower_shoes"/>
+ <texture_picker label="Calças" name="lower_pants"/>
+ <texture_picker label="Jaqueta" name="lower_jacket"/>
+ <texture_picker label="Alpha inferior" name="lower_alpha"/>
+ <texture_picker label="Tatuagem de baixo" name="lower_tattoo"/>
+ <texture_picker label="Saia" name="skirt-baked"/>
+ <texture_picker label="Saia" name="skirt"/>
+ </panel>
+ </scroll_container>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_beacons.xml b/indra/newview/skins/default/xui/pt/floater_beacons.xml
index 82f055745f..b16ff6003e 100644
--- a/indra/newview/skins/default/xui/pt/floater_beacons.xml
+++ b/indra/newview/skins/default/xui/pt/floater_beacons.xml
@@ -1,15 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="beacons" title="BALIZAS">
<panel name="beacons_panel">
- <check_box label="Objetos programados com toque apenas" name="touch_only"/>
- <check_box label="Objetos programados" name="scripted"/>
- <check_box label="Objetos físicos" name="physical"/>
- <check_box label="Fontes de Som" name="sounds"/>
- <check_box label="Fontes de Partículas" name="particles"/>
- <check_box label="Renderização de Highlights" name="highlights"/>
- <check_box label="Renderização de Balizas" name="beacons"/>
- <text name="beacon_width_label">
- Largura da Baliza
+ <text name="label_show">
+ Mostrar:
</text>
+ <check_box label="Balizas" name="beacons"/>
+ <check_box label="Realce" name="highlights"/>
+ <text name="beacon_width_label" tool_tip="Largura da baliza">
+ Largura:
+ </text>
+ <text name="label_objects">
+ Para estes objetos:
+ </text>
+ <check_box label="Físicos" name="physical"/>
+ <check_box label="Com script" name="scripted"/>
+ <check_box label="Só tocar" name="touch_only"/>
+ <check_box label="Fontes de som" name="sounds"/>
+ <check_box label="Fontes de partículas" name="particles"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_build_options.xml b/indra/newview/skins/default/xui/pt/floater_build_options.xml
index bce78fad21..71a1483dde 100644
--- a/indra/newview/skins/default/xui/pt/floater_build_options.xml
+++ b/indra/newview/skins/default/xui/pt/floater_build_options.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="build options floater" title="OPÇÕES DE GRADE">
- <spinner label="Uni. Grade (metros)" name="GridResolution" width="180" label_width="122"/>
- <spinner label="Ext. da Grade (metros)" name="GridDrawSize" width="180" label_width="122"/>
- <check_box label="Habilitar ajuste de sub-grade" name="GridSubUnit"/>
- <check_box label="Mostrar as seções de cruzamento" name="GridCrossSection"/>
+ <spinner label="Unidade da grade (metros)" label_width="122" name="GridResolution" width="180"/>
+ <spinner label="Ext. da Grade (metros)" label_width="122" name="GridDrawSize" width="180"/>
+ <check_box label="Encaixar em sub-unidades" name="GridSubUnit"/>
+ <check_box label="Ver corte transversal" name="GridCrossSection"/>
+ <text name="grid_opacity_label" tool_tip="Opacidade da grade">
+ Opacidade:
+ </text>
<slider label="Opacidade da grade" name="GridOpacity" width="220"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_bulk_perms.xml b/indra/newview/skins/default/xui/pt/floater_bulk_perms.xml
index 7443e19721..9f34111d8a 100644
--- a/indra/newview/skins/default/xui/pt/floater_bulk_perms.xml
+++ b/indra/newview/skins/default/xui/pt/floater_bulk_perms.xml
@@ -1,44 +1,54 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="floaterbulkperms" title="MUDANÇA CONJUNTA DAS PERMISSÕES DE CONTEÚDO">
- <text name="applyto">
- Tipos de Conteúdo
- </text>
+<floater name="floaterbulkperms" title="EDITAR AUTORIZAÇÕES DE CONTEÚDO">
+ <floater.string name="nothing_to_modify_text">
+ A seleção não contém nenhum conteúdo editável.
+ </floater.string>
+ <floater.string name="status_text">
+ Definindo permissões em [NAME]
+ </floater.string>
+ <floater.string name="start_text">
+ Iniciando solicitação de mudança de permissão...
+ </floater.string>
+ <floater.string name="done_text">
+ Solicitação de mudança de permissão concluída.
+ </floater.string>
<check_box label="Animação" name="check_animation"/>
+ <icon name="icon_animation" tool_tip="Animação"/>
<check_box label="Partes do Corpo" name="check_bodypart"/>
+ <icon name="icon_bodypart" tool_tip="Partes do corpo"/>
<check_box label="Roupas" name="check_clothing"/>
+ <icon name="icon_clothing" tool_tip="Vestuário"/>
<check_box label="Gestos" name="check_gesture"/>
- <check_box label="Landmarks" name="check_landmark"/>
+ <icon name="icon_gesture" tool_tip="Gestos"/>
<check_box label="Notecards" name="check_notecard"/>
+ <icon name="icon_notecard" tool_tip="Anotações"/>
<check_box label="Objetos" name="check_object"/>
+ <icon name="icon_object" tool_tip="Objects"/>
<check_box label="Scripts" name="check_script"/>
+ <icon name="icon_script" tool_tip="Scripts"/>
<check_box label="Sons" name="check_sound"/>
+ <icon name="icon_sound" tool_tip="Sons"/>
<check_box label="Texturas" name="check_texture"/>
- <button label="Marcar Todas" label_selected="Todas" name="check_all"/>
- <button label="Desmarcar Todas" label_selected="Nenhuma" name="check_none"/>
+ <icon name="icon_texture" tool_tip="Texturas"/>
+ <button label="√ Tudo" label_selected="Todas" name="check_all"/>
+ <button label="Limpar" label_selected="Nenhuma" name="check_none"/>
<text name="newperms">
- Novas Permissões
+ Novas autorizações de conteúdo
+ </text>
+ <text name="GroupLabel">
+ Grupo:
</text>
- <check_box label="Compartilhar com o grupo" name="share_with_group"/>
- <check_box label="Permitir que qualquer um copie" name="everyone_copy"/>
+ <check_box label="Compartilhar" name="share_with_group"/>
+ <text name="AnyoneLabel">
+ Todos:
+ </text>
+ <check_box label="Copiar" name="everyone_copy"/>
<text name="NextOwnerLabel">
- O próximo dono pode:
+ Próximo proprietário:
</text>
<check_box label="Modificar" name="next_owner_modify"/>
<check_box label="Copiar" name="next_owner_copy"/>
- <check_box label="Revender/Dar" name="next_owner_transfer"/>
- <button label="Ajuda" name="help"/>
- <button label="Aplicar" name="apply"/>
- <button label="Fechar" name="close"/>
- <string name="nothing_to_modify_text">
- A seleção não contém nenhum conteúdo editável.
- </string>
- <string name="status_text">
- Definindo permissões em [NAME]
- </string>
- <string name="start_text">
- Iniciando solicitação de mudança de permissão...
- </string>
- <string name="done_text">
- Solicitação de mudança de permissão concluída.
- </string>
+ <check_box initial_value="true" label="Transferir" name="next_owner_transfer" tool_tip="O próximo dono poderá revender ou dar este objeto"/>
+ <button label="OK" name="apply"/>
+ <button label="Cancelar" name="close"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_bumps.xml b/indra/newview/skins/default/xui/pt/floater_bumps.xml
index 1833cd4335..5e656f4730 100644
--- a/indra/newview/skins/default/xui/pt/floater_bumps.xml
+++ b/indra/newview/skins/default/xui/pt/floater_bumps.xml
@@ -1,21 +1,24 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_bumps" title="COLISÕES, IMPULSOS E BATIDAS">
- <text name="none_detected">
+ <floater.string name="none_detected">
Nada detectado
- </text>
- <text name="bump">
+ </floater.string>
+ <floater.string name="bump">
[TIME] [FIRST] [LAST] conflitou com você
- </text>
- <text name="llpushobject">
+ </floater.string>
+ <floater.string name="llpushobject">
[TIME] [FIRST] [LAST] empurrou você com um script
- </text>
- <text name="selected_object_collide">
+ </floater.string>
+ <floater.string name="selected_object_collide">
[TIME] [FIRST] [LAST] o atingiu com um objeto
- </text>
- <text name="scripted_object_collide">
+ </floater.string>
+ <floater.string name="scripted_object_collide">
[TIME] [FIRST] [LAST] o atingiu com um objeto programado
- </text>
- <text name="physical_object_collide">
+ </floater.string>
+ <floater.string name="physical_object_collide">
[TIME] [FIRST] [LAST] o atingiu com um objeto físico
- </text>
+ </floater.string>
+ <floater.string name="timeStr">
+ [[hour,datetime,slt]:[min,datetime,slt]]
+ </floater.string>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_buy_contents.xml b/indra/newview/skins/default/xui/pt/floater_buy_contents.xml
index 322a07575a..c64523ceb3 100644
--- a/indra/newview/skins/default/xui/pt/floater_buy_contents.xml
+++ b/indra/newview/skins/default/xui/pt/floater_buy_contents.xml
@@ -7,8 +7,8 @@
Comprar por L$[AMOUNT] de(a) [NAME]?
</text>
<button label="Cancelar" label_selected="Cancelar" name="cancel_btn" width="73"/>
- <button label="Comprar" label_selected="Comprar" name="buy_btn" width="73" left_delta="-77"/>
- <check_box label="Vestir roupa agora" name="wear_check" left_delta="-130"/>
+ <button label="Comprar" label_selected="Comprar" left_delta="-77" name="buy_btn" width="73"/>
+ <check_box label="Vestir roupa agora" left_delta="-130" name="wear_check"/>
<string name="no_copy_text">
(sem copiar)
</string>
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 f17c069ecf..1d0b3c4cd9 100644
--- a/indra/newview/skins/default/xui/pt/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/pt/floater_buy_currency.xml
@@ -1,71 +1,66 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="buy currency" title="COMPRAR DINHEIRO">
- <text name="info_buying">
- Comprando Dinheiro:
- </text>
- <text name="info_cannot_buy">
- Não pode comprar agora:
- </text>
+<floater name="buy currency" title="Comprar L$">
+ <floater.string name="buy_currency">
+ Compre L$ [LINDENS] por aprox. [LOCALAMOUNT]
+ </floater.string>
<text name="info_need_more">
- Você precisa de mais dinheiro:
+ Você precisa de mais L$
</text>
- <text name="error_message">
- Algo não está certo.
- </text>
- <button label="Ir para o website" name="error_web"/>
<text name="contacting">
Contatando LindeX...
</text>
- <text name="buy_action_unknown">
- Comprar L$ no câmbio atual da LindeX
- </text>
- <text name="buy_action">
- [NAME] L$ [PRICE]
- </text>
- <text name="currency_action" width="60">
+ <text name="info_buying">
Comprar L$
</text>
- <line_editor name="currency_amt" left_delta="65" width="70">
- 1234
- </line_editor>
- <text name="currency_est" left_delta="72">
- por aproxim. [LOCALAMOUNT]
- </text>
- <text name="getting_data">
- Obtendo dados...
- </text>
<text name="balance_label">
- Você tem atualmente
+ Tenho
</text>
<text name="balance_amount">
L$ [AMT]
</text>
+ <text name="currency_action" width="60">
+ Comprar
+ </text>
+ <text name="currency_label">
+ L$
+ </text>
+ <line_editor label="L$" left_delta="65" name="currency_amt" width="70">
+ 1234
+ </line_editor>
<text name="buying_label">
- Você está comprando
+ O preço é
</text>
- <text name="buying_amount">
- L$ [AMT]
+ <text left_delta="72" name="currency_est">
+ aprox. [LOCALAMOUNT]
+ </text>
+ <text name="getting_data">
+ Calculando...
+ </text>
+ <text name="buy_action">
+ [NAME] L$ [PRICE]
</text>
<text name="total_label">
- Seu saldo será
+ Saldo resultante:
</text>
<text name="total_amount">
L$ [AMT]
</text>
<text name="currency_links">
- [http://www.secondlife.com/my/account/payment_method_management.php?lang=pt-BR payment method] | [http://www.secondlife.com/my/account/currency.php?lang=pt-BR currency] | [http://www.secondlife.com/my/account/exchange_rates.php?lang=pt-BR exchange rate]
+ [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/exchange_rates.php exchange rate]
+ </text>
+ <text name="exchange_rate_note">
+ Digite o valor novamente para ver o câmbio atual.
</text>
<text name="purchase_warning_repurchase">
- Confirmando esta compra só compra a moeda.
-Você precisará tentar novamente a operação.
+ Confirmar esta transação compra somente L$, não o objeto.
</text>
<text name="purchase_warning_notenough">
- Você não está comprando moeda suficiente.
-Aumente a quantidade de compra.
+ O valor da transação não é suficiente. Aumente o volume da compra.
</text>
+ <button label="Comprar já!" name="buy_btn"/>
<button label="Fechar" name="cancel_btn"/>
- <button label="Adquirir" name="buy_btn"/>
- <string name="buy_currency">
- Comprar L$ [LINDENS] por aproxim. [LOCALAMOUNT]
- </string>
+ <text name="info_cannot_buy">
+ Transação incompleta
+ </text>
+ <button label="Prosseguir para a web" name="error_web"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_buy_land.xml b/indra/newview/skins/default/xui/pt/floater_buy_land.xml
index 6e502ad6e5..9500ba94e5 100644
--- a/indra/newview/skins/default/xui/pt/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/pt/floater_buy_land.xml
@@ -1,27 +1,153 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="buy land" title="COMPRAR TERRA">
+<floater name="buy land" title="COMPRAR TERRENO">
+ <floater.string name="can_resell">
+ Pode ser revendida.
+ </floater.string>
+ <floater.string name="can_not_resell">
+ Não pode ser revendida.
+ </floater.string>
+ <floater.string name="can_change">
+ Pode ser unida ou subdivida.
+ </floater.string>
+ <floater.string name="can_not_change">
+ Não pode ser unida ou subdividida.
+ </floater.string>
+ <floater.string name="cant_buy_for_group">
+ Você não tem permissão para comprar terra para seu grupo ativo.
+ </floater.string>
+ <floater.string name="no_land_selected">
+ Nenhuma terra selecionada.
+ </floater.string>
+ <floater.string name="multiple_parcels_selected">
+ Múltiplos e diferentes lotes selecionados. Tente selecionar uma área menor.
+ </floater.string>
+ <floater.string name="no_permission">
+ Você não tem permissão para comprar uma terra para seu grupo ativo.
+ </floater.string>
+ <floater.string name="parcel_not_for_sale">
+ O lote selecionado não está a venda.
+ </floater.string>
+ <floater.string name="group_already_owns">
+ O grupo já possui o lote.
+ </floater.string>
+ <floater.string name="you_already_own">
+ Você já possui o lote.
+ </floater.string>
+ <floater.string name="set_to_sell_to_other">
+ O lote selecionado está configurado para ser vendido para outro grupo.
+ </floater.string>
+ <floater.string name="no_public_land">
+ A área selecionada não tem terras públicas.
+ </floater.string>
+ <floater.string name="not_owned_by_you">
+ Está selecionada uma terra pertencente a outro usuário. Tente selecionar uma área menor.
+ </floater.string>
+ <floater.string name="processing">
+ Processando sua compra...
+
+(Isso pode levar um minuto.)
+ </floater.string>
+ <floater.string name="fetching_error">
+ Houve um erro ao buscar informações sobre compra de terras.
+ </floater.string>
+ <floater.string name="buying_will">
+ Comprar esta terra irá:
+ </floater.string>
+ <floater.string name="buying_for_group">
+ Ao comprar terra para o grupo:
+ </floater.string>
+ <floater.string name="cannot_buy_now">
+ Não foi possível comprar agora:
+ </floater.string>
+ <floater.string name="not_for_sale">
+ Não disponível para venda:
+ </floater.string>
+ <floater.string name="none_needed">
+ nada necessário
+ </floater.string>
+ <floater.string name="must_upgrade">
+ Sua conta deve ser evoluída para adquirir um lote.
+ </floater.string>
+ <floater.string name="cant_own_land">
+ Sua conta pode possuir uma terra.
+ </floater.string>
+ <floater.string name="land_holdings">
+ Você tem [BUYER] m².
+ </floater.string>
+ <floater.string name="pay_to_for_land">
+ Pagar L$ [AMOUNT] para [SELLER] por esta terra
+ </floater.string>
+ <floater.string name="buy_for_US">
+ Compre L$ [AMOUNT] por cerca de [LOCAL_AMOUNT],
+ </floater.string>
+ <floater.string name="parcel_meters">
+ Este lote tem [AMOUNT] m²
+ </floater.string>
+ <floater.string name="premium_land">
+ Esse é um terreno premium e custa o equivalente a [AMOUNT] m².
+ </floater.string>
+ <floater.string name="discounted_land">
+ Esse é um terreno com desconto, e custa o equivalente a [AMOUNT] m².
+ </floater.string>
+ <floater.string name="meters_supports_object">
+ [AMOUNT] m²
+suporta [AMOUNT2] objetos
+ </floater.string>
+ <floater.string name="sold_with_objects">
+ vendido com objetos
+ </floater.string>
+ <floater.string name="sold_without_objects">
+ objetos não incluídos
+ </floater.string>
+ <floater.string name="info_price_string">
+ L$ [PRICE]
+(L$ [PRICE_PER_SQM]/m²)
+[SOLD_WITH_OBJECTS]
+ </floater.string>
+ <floater.string name="insufficient_land_credits">
+ O grupo [GROUP] precisará de fundos suficientes de terras
+contribuídas para cobrir este lote antes da aquisição se completar.
+ </floater.string>
+ <floater.string name="have_enough_lindens">
+ Você tem L$ [AMOUNT], suficiente para comprar este lote.
+ </floater.string>
+ <floater.string name="not_enough_lindens">
+ Você tem somente L$ [AMOUNT], e precisa de mais L$ [AMOUNT2].
+ </floater.string>
+ <floater.string name="balance_left">
+ Após a compra, restará L$ [AMOUNT].
+ </floater.string>
+ <floater.string name="balance_needed">
+ Você precisa comprar pelo menos L$ [AMOUNT] para ter recursos para este lote.
+ </floater.string>
+ <floater.string name="no_parcel_selected">
+ (nenhum lote selecionado)
+ </floater.string>
+ <floater.string name="icon_PG" value="Parcel_PG_Dark"/>
+ <floater.string name="icon_M" value="Parcel_M_Dark"/>
+ <floater.string name="icon_R" value="Parcel_R_Dark"/>
<text name="region_name_label">
Região:
</text>
- <text name="region_name_text" left="560">
+ <text left="560" name="region_name_text">
(desconhecido)
</text>
<text name="region_type_label">
Tipo:
</text>
- <text name="region_type_text" left="560">
+ <text left="560" name="region_type_text">
(desconhecido)
</text>
<text name="estate_name_label">
Propriedade:
</text>
- <text name="estate_name_text" left="560">
+ <text left="560" name="estate_name_text">
(desconhecido)
</text>
- <text name="estate_owner_label" width="105" right="565">
+ <text name="estate_owner_label" right="565" width="105">
Dono da propriedade:
</text>
- <text name="estate_owner_text" left="560" >
+ <text left="560" name="estate_owner_text">
(desconhecido)
</text>
<text name="resellable_changeable_label">
@@ -40,7 +166,7 @@
<text_editor name="covenant_editor">
Carregando...
</text_editor>
- <check_box label="Eu concordo com as definições do &#10;Corretor feitas acima." name="agree_covenant"/>
+ <check_box label="Eu concordo com as definições do Corretor feitas acima." name="agree_covenant"/>
<text name="info_parcel_label">
Lote:
</text>
@@ -58,8 +184,7 @@
</text>
<text name="info_price">
L$ 1500
-(L$ 1.1/m²)
-vendido com os objetos
+(L$ 1,1/m²) inclui objetos
</text>
<text name="info_action">
Comprar este lote irá:
@@ -67,7 +192,7 @@ vendido com os objetos
<text name="error_message">
Algo ainda não está correto.
</text>
- <button label="Ir para a página da web" name="error_web" width="150" />
+ <button label="Ir para a página da web" name="error_web" width="150"/>
<text name="account_action">
Evoluir sua conta para membro Premium
</text>
@@ -75,16 +200,16 @@ vendido com os objetos
Somente membros Premium podem possuir terra.
</text>
<combo_box name="account_level">
- <combo_box.item name="US$9.95/month,billedmonthly" label="US$9.95/mês, debitado mensalmente" />
- <combo_box.item name="US$7.50/month,billedquarterly" label="US$7.50/mês, debitado trimestralmente" />
- <combo_box.item name="US$6.00/month,billedannually" label="US$6.00/mês, debitado anualmente" />
+ <combo_box.item label="US$9.95/mês, pagamento mensal" name="US$9.95/month,billedmonthly"/>
+ <combo_box.item label="US$7,50/mês, pagamento trimestral" name="US$7.50/month,billedquarterly"/>
+ <combo_box.item label="US$6.00/mês, pagamento trimestral" name="US$6.00/month,billedannually"/>
</combo_box>
<text name="land_use_action">
Aumente sua taxa de locação de terra para US$ 40/mês.
</text>
<text name="land_use_reason">
- Você possui 1309 m² de terra.
-Este lote tem 512 m² de terra.
+ Você tem 1309 m².
+Este lote mede 512 m².
</text>
<text name="purchase_action">
Pagar ao Residente Joe L$4000 pela terra
@@ -95,142 +220,16 @@ Este lote tem 512 m² de terra.
<text name="currency_action" width="116">
Compre L$ adicionais
</text>
- <line_editor name="currency_amt" left="190" width="65">
+ <line_editor left="190" name="currency_amt" width="65">
1000
</line_editor>
<text name="currency_est">
- por aproxim. US$ [AMOUNT2]
+ cerca de [LOCAL_AMOUNT]
</text>
<text name="currency_balance">
Você tem L$2,100.
</text>
- <check_box label="Remover [AMOUNT] m² de contribuição do grupo." name="remove_contribution"/>
+ <check_box label="Subtrair [AMOUNT] m² da minha contribuição." name="remove_contribution"/>
<button label="Adquirir" name="buy_btn"/>
<button label="Cancelar" name="cancel_btn"/>
- <string name="can_resell">
- Pode ser revendida.
- </string>
- <string name="can_not_resell">
- Não pode ser revendida.
- </string>
- <string name="can_change">
- Pode ser unida ou subdivida.
- </string>
- <string name="can_not_change">
- Não pode ser unida ou subdividida.
- </string>
- <string name="cant_buy_for_group">
- Você não tem permissão para comprar terra para seu grupo ativo.
- </string>
- <string name="no_land_selected">
- Nenhuma terra selecionada.
- </string>
- <string name="multiple_parcels_selected">
- Múltiplos e diferentes lotes selecionados. Tente selecionar uma área menor.
- </string>
- <string name="no_permission">
- Você não tem permissão para comprar uma terra para seu grupo ativo.
- </string>
- <string name="parcel_not_for_sale">
- O lote selecionado não está a venda.
- </string>
- <string name="group_already_owns">
- O grupo já possui o lote.
- </string>
- <string name="you_already_own">
- Você já possui o lote.
- </string>
- <string name="set_to_sell_to_other">
- O lote selecionado está configurado para ser vendido para outro grupo.
- </string>
- <string name="no_public_land">
- A área selecionada não tem terras públicas.
- </string>
- <string name="not_owned_by_you">
- Está selecionada uma terra pertencente a outro usuário. Tente selecionar uma área menor.
- </string>
- <string name="processing">
- Processando sua compra...
-
-(Isso pode levar um minuto.)
- </string>
- <string name="fetching_error">
- Houve um erro ao buscar informações sobre compra de terras.
- </string>
- <string name="buying_will">
- Comprar esta terra irá:
- </string>
- <string name="buying_for_group">
- Ao comprar terra para o grupo:
- </string>
- <string name="cannot_buy_now">
- Não foi possível comprar agora:
- </string>
- <string name="not_for_sale">
- Não disponível para venda:
- </string>
- <string name="none_needed">
- nada necessário
- </string>
- <string name="must_upgrade">
- Sua conta deve ser evoluída para adquirir um lote.
- </string>
- <string name="cant_own_land">
- Sua conta pode possuir uma terra.
- </string>
- <string name="land_holdings">
- Você possui [BUYER] m² de terra.
- </string>
- <string name="pay_to_for_land">
- Pagar L$ [AMOUNT] para [SELLER] por esta terra
- </string>
- <string name="buy_for_US">
- Comprar L$ [AMOUNT] por aprox. US$ [AMOUNT2],
- </string>
- <string name="parcel_meters">
- Este lote tem [AMOUNT] m².
- </string>
- <string name="premium_land">
- Esta terra é premium e será taxada como [AMOUNT] m².
- </string>
- <string name="discounted_land">
- Esta terra tem desconto e será taxada como [AMOUNT] m².
- </string>
- <string name="meters_supports_object">
- [AMOUNT] m²
-aceita [AMOUNT2] objetos
- </string>
- <string name="sold_with_objects">
- vendido com objetos
- </string>
- <string name="sold_without_objects">
- objetos não incluídos
- </string>
- <string name="info_price_string">
- L$ [PRICE]
-(L$ [PRICE_PER_SQM]/m²)
-[SOLD_WITH_OBJECTS]
- </string>
- <string name="insufficient_land_credits">
- O grupo [GROUP] precisará de fundos suficientes de terras
-contribuídas para cobrir este lote antes da aquisição se completar.
- </string>
- <string name="have_enough_lindens">
- Você tem L$ [AMOUNT], suficiente para comprar este lote.
- </string>
- <string name="not_enough_lindens">
- Você tem somente L$ [AMOUNT], e precisa de mais L$ [AMOUNT2].
- </string>
- <string name="balance_left">
- Após a compra, restará L$ [AMOUNT].
- </string>
- <string name="balance_needed">
- Você precisa comprar pelo menos L$ [AMOUNT] para ter recursos para este lote.
- </string>
- <string name="no_parcel_selected">
- (nenhum lote selecionado)
- </string>
- <string name="buy_currency">
- Comprar L$ [LINDENS] por aproxim. US$ [USD]
- </string>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_buy_object.xml b/indra/newview/skins/default/xui/pt/floater_buy_object.xml
index e9968ed8f8..d71eb04cc4 100644
--- a/indra/newview/skins/default/xui/pt/floater_buy_object.xml
+++ b/indra/newview/skins/default/xui/pt/floater_buy_object.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="contents" title="COMPRAR CÓPIA DO OBJETO">
<text name="contents_text">
- e seus conteúdos:
+ Contém:
</text>
<text name="buy_text">
Comprar por L$[AMOUNT] de(a) [NAME]?
diff --git a/indra/newview/skins/default/xui/pt/floater_camera.xml b/indra/newview/skins/default/xui/pt/floater_camera.xml
index b61e261148..5114b19336 100644
--- a/indra/newview/skins/default/xui/pt/floater_camera.xml
+++ b/indra/newview/skins/default/xui/pt/floater_camera.xml
@@ -10,7 +10,22 @@
Mover a Câmera para Cima e para Baixo, para a Esquerda e para a Direita
</floater.string>
<panel name="controls">
- <joystick_track name="cam_track_stick" tool_tip="Mover a Câmera para Cima e para Baixo, para a Esquerda e para a Direita"/>
- <joystick_zoom name="zoom" tool_tip="Aproximar a Câmera in direção ao Foco"/>
+ <joystick_track name="cam_track_stick" tool_tip="Move a câmera para cima e para baixo, direita e esquerda"/>
+ <panel name="zoom" tool_tip="Aproximar a Câmera in direção ao Foco">
+ <slider_bar name="zoom_slider" tool_tip="Zoom de câmera para focalizar"/>
+ </panel>
+ <joystick_rotate name="cam_rotate_stick" tool_tip="Órbita em torno do foco da câmera"/>
+ <panel name="camera_presets">
+ <button name="rear_view" tool_tip="Vista de trás"/>
+ <button name="group_view" tool_tip="Visualizar grupo"/>
+ <button name="front_view" tool_tip="Vista frontal"/>
+ <button name="mouselook_view" tool_tip="Visâo do mouse"/>
+ </panel>
+ </panel>
+ <panel name="buttons">
+ <button label="" name="orbit_btn" tool_tip="Câmera orbital"/>
+ <button label="" name="pan_btn" tool_tip="Câmera Pan"/>
+ <button label="" name="avatarview_btn" tool_tip="ver como o avatar"/>
+ <button label="" name="freecamera_btn" tool_tip="Visualizar objeto"/>
</panel>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_choose_group.xml b/indra/newview/skins/default/xui/pt/floater_choose_group.xml
index ae395734e9..60f01a3733 100644
--- a/indra/newview/skins/default/xui/pt/floater_choose_group.xml
+++ b/indra/newview/skins/default/xui/pt/floater_choose_group.xml
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="groups" title="GRUPOS">
<text name="groupdesc">
Escolha um grupo:
</text>
- <button label="OK" label_selected="OK" name="OK" />
- <button label="Cancelar" label_selected="Cancelar" name="Cancel" />
+ <button label="OK" label_selected="OK" name="OK"/>
+ <button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_color_picker.xml b/indra/newview/skins/default/xui/pt/floater_color_picker.xml
index 6a4263f4ff..4ea014335f 100644
--- a/indra/newview/skins/default/xui/pt/floater_color_picker.xml
+++ b/indra/newview/skins/default/xui/pt/floater_color_picker.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="ColorPicker" title="SELETOR DE COR">
+<floater name="ColorPicker" title="DESTAQUE DE COR">
<text name="r_val_text">
Vermelho:
</text>
@@ -18,15 +18,14 @@
<text name="l_val_text">
Lum:
</text>
- <check_box label="Aplicar imediatamente" name="apply_immediate"/>
- <button left_delta="150" name="color_pipette" />
- <button left_delta="55" label="Cancelar" label_selected="Cancelar" name="cancel_btn"/>
- <button label="Selecionar" label_selected="Selecionar" name="select_btn"/>
+ <check_box label="inscrever-se agora" name="apply_immediate"/>
+ <button left_delta="150" name="color_pipette"/>
+ <button label="Cancelar" label_selected="Cancelar" left_delta="55" name="cancel_btn"/>
+ <button label="OK" label_selected="OK" name="select_btn"/>
<text name="Current color:">
Cor atual:
</text>
<text name="(Drag below to save.)">
- (Arraste abaixo
- para salvar)
+ (Arrastar abaixo para salvar)
</text>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_customize.xml b/indra/newview/skins/default/xui/pt/floater_customize.xml
index 55946933e7..318c73e52d 100644
--- a/indra/newview/skins/default/xui/pt/floater_customize.xml
+++ b/indra/newview/skins/default/xui/pt/floater_customize.xml
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater customize" title="APARÊNCIA" width="546">
<tab_container name="customize tab container" tab_min_width="115" width="544">
- <placeholder label="Partes de corpo" name="body_parts_placeholder"/>
+ <text label="Partes de corpo" name="body_parts_placeholder">
+ Partes do corpo
+ </text>
<panel label="Forma" name="Shape">
<button label="Reverter" label_selected="Reverter" name="Revert"/>
<button label="Corpo" label_selected="Corpo" name="Body"/>
@@ -14,8 +16,8 @@
<button label="Tórax" label_selected="Tórax" name="Torso"/>
<button label="Pernas" label_selected="Pernas" name="Legs"/>
<radio_group name="sex radio">
- <radio_item name="radio" label="Feminino" />
- <radio_item name="radio2" label="Masculino" />
+ <radio_item label="Feminino" name="radio" value="0"/>
+ <radio_item label="Masculino" name="radio2" value="1"/>
</radio_group>
<text name="title">
[DESC]
@@ -33,8 +35,7 @@
Localizado em [PATH]
</text>
<text name="not worn instructions">
- Coloque uma nova forma arrastando uma do seu inventário para seu avatar.
-Alternativamente, você pode criar uma nova de um esboço e usá-la.
+ Para obter um físico novo, arraste um do inventário para o seu avatar. Ou crie um novo.
</text>
<text name="no modify instructions">
Você não tem permissão para modificar esta vestimenta.
@@ -47,10 +48,10 @@ Alternativamente, você pode criar uma nova de um esboço e usá-la.
<button label="Salvar como..." label_selected="Salvar como..." name="Save As"/>
</panel>
<panel label="Pele" name="Skin">
- <button width="115" label="Cor de Pele" label_selected="Cor de Pele" name="Skin Color"/>
- <button width="115" label="Detalhes Faciais" label_selected="Detalhes Faciais" name="Face Detail"/>
- <button width="115" label="Maquiagem" label_selected="Maquiagem" name="Makeup"/>
- <button width="115" label="Detalhes do Corpo" label_selected="Detalhes do Corpo" name="Body Detail"/>
+ <button label="Cor de Pele" label_selected="Cor de Pele" name="Skin Color" width="115"/>
+ <button label="Detalhes Faciais" label_selected="Detalhes Faciais" name="Face Detail" width="115"/>
+ <button label="Maquiagem" label_selected="Maquiagem" name="Makeup" width="115"/>
+ <button label="Detalhes do Corpo" label_selected="Detalhes do Corpo" name="Body Detail" width="115"/>
<text name="title">
[DESC]
</text>
@@ -67,9 +68,7 @@ Alternativamente, você pode criar uma nova de um esboço e usá-la.
Localizada em [PATH]
</text>
<text name="not worn instructions">
- Coloque uma nova pele arrastando uma de seu inventário para seu avatar.
-Alternativamente, você pode criar uma nova forma a partir de um esboço
-e usá-la.
+ Para obter uma pele nova, arraste uma do inventário para o seu avatar. Ou crie uma pele nova.
</text>
<text name="no modify instructions">
Você não tem permissão para modificar esta vestimenta.
@@ -77,19 +76,19 @@ e usá-la.
<text name="Item Action Label">
Pele:
</text>
- <texture_picker width="86" label="Tattoo: cabeça" name="Head Tattoos" tool_tip="Clique para escolher um desenho"/>
- <texture_picker width="86" label="Tattoo: superior" name="Upper Tattoos" tool_tip="Clique para escolher um desenho"/>
- <texture_picker width="86" label="Tattoo: inferior" name="Lower Tattoos" tool_tip="Clique para escolher um desenho"/>
+ <texture_picker label="Tattoo: cabeça" name="Head Tattoos" tool_tip="Clique para escolher um desenho" width="86"/>
+ <texture_picker label="Tattoo: superior" name="Upper Tattoos" tool_tip="Clique para escolher um desenho" width="86"/>
+ <texture_picker label="Tattoo: inferior" name="Lower Tattoos" tool_tip="Clique para escolher um desenho" width="86"/>
<button label="Criar Nova Pele" label_selected="Criar Nova Pele" name="Create New"/>
<button label="Salvar" label_selected="Salvar" name="Save"/>
<button label="Salvar como..." label_selected="Salvar como..." name="Save As"/>
<button label="Reverter" label_selected="Reverter" name="Revert"/>
</panel>
<panel label="Cabelo" name="Hair">
- <button width="115" label="Cor" label_selected="Cor" name="Color"/>
- <button width="115" label="Estilo" label_selected="Estilo" name="Style"/>
- <button width="115" label="Sombrancelhas" label_selected="Sombrancelhas" name="Eyebrows"/>
- <button width="115" label="Rosto" label_selected="Rosto" name="Facial"/>
+ <button label="Cor" label_selected="Cor" name="Color" width="115"/>
+ <button label="Estilo" label_selected="Estilo" name="Style" width="115"/>
+ <button label="Sombrancelhas" label_selected="Sombrancelhas" name="Eyebrows" width="115"/>
+ <button label="Rosto" label_selected="Rosto" name="Facial" width="115"/>
<text name="title">
[DESC]
</text>
@@ -106,9 +105,7 @@ e usá-la.
Localizado em [PATH]
</text>
<text name="not worn instructions">
- Ponha um novo cabelo em seu avatar arrastando um do seu inventário.
-Alternativamente, você pode criar um novo modelo a partir de um esboço
-e usá-lo.
+ Para obter um cabelo novo, arraste um tipo de cabelo do inventário para o seu avatar. Ou crie um cabelo novo.
</text>
<text name="no modify instructions">
Você não ter permissão para modificar essa vestimenta.
@@ -139,8 +136,7 @@ e usá-lo.
Localizado em [PATH]
</text>
<text name="not worn instructions">
- Para colocar novos olhos, arraste um do seu inventário para seu avatar.
-Alternativamente, você pode criar um novo modelo de um esboço e usá-lo.
+ Para obter novos olhos, arraste um tipo de olhos do inventário para o seu avatar. Ou crie olhos novos.
</text>
<text name="no modify instructions">
Você não tem permissão para alterar esta vestimenta.
@@ -154,12 +150,14 @@ Alternativamente, você pode criar um novo modelo de um esboço e usá-lo.
<button label="Salvar como..." label_selected="Salvar como..." name="Save As"/>
<button label="Reverter" label_selected="Reverter" name="Revert"/>
</panel>
- <panel label="Roupas" name="clothes_placeholder"/>
+ <text label="Roupas" name="clothes_placeholder">
+ Roupa
+ </text>
<panel label="Camisa" name="Shirt">
<texture_picker label="Tecido" name="Fabric" tool_tip="Clique para escolher uma imagem"/>
- <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Clique para pegar o conta-gotas"/>
- <button label="Criar Nova Camisa" label_selected="Criar Nova Camisa" name="Create New"/>
+ <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Selecionar a cor"/>
<button label="Remover" label_selected="Remover" name="Take Off"/>
+ <button label="Criar Nova Camisa" label_selected="Criar Nova Camisa" name="Create New"/>
<button label="Salvar" label_selected="Salvar" name="Save"/>
<button label="Salvar como..." label_selected="Salvar como..." name="Save As"/>
<button label="Reverter" label_selected="Reverter" name="Revert"/>
@@ -179,9 +177,7 @@ Alternativamente, você pode criar um novo modelo de um esboço e usá-lo.
Localizado em [PATH]
</text>
<text name="not worn instructions">
- Para por uma nova camisa em seu avatar, arraste uma do seu inventário para
-seu avatar. Alternativamente, você pode criar um novo modelo a partir de
-um esboço e usá-lo.
+ Para obter uma camisa nova, arraste uma do inventário para o seu avatar. Ou crie uma camisa nova.
</text>
<text name="no modify instructions">
Você não ter permissão para modificar esta vestimenta.
@@ -192,9 +188,9 @@ um esboço e usá-lo.
</panel>
<panel label="Calças" name="Pants">
<texture_picker label="Tecido" name="Fabric" tool_tip="Clique para escolher uma imagem"/>
- <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Clique para abrir o conta-gotas."/>
- <button label="Criar Novas Calças" label_selected="Criar Novas Calças" name="Create New"/>
+ <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Selecionar a cor"/>
<button label="Remover" label_selected="Remover" name="Take Off"/>
+ <button label="Criar Novas Calças" label_selected="Criar Novas Calças" name="Create New"/>
<button label="Salvar" label_selected="Salvar" name="Save"/>
<button label="Salvar como..." label_selected="Salvar como..." name="Save As"/>
<button label="Reverter" label_selected="Reverter" name="Revert"/>
@@ -214,9 +210,7 @@ um esboço e usá-lo.
Localizado em [PATH]
</text>
<text name="not worn instructions">
- Para por uma nova calça em seu avatar, basta arrastar uma outra do seu
-inventário. Alternativamente, você pode criar um novo modelo a partir
-de um esboço e usá-lo.
+ Para obter calças novas, arraste uma do inventário para o seu avatar. Ou crie calças novas.
</text>
<text name="no modify instructions">
Você não tem permissão para modificar esta vestimenta.
@@ -242,10 +236,9 @@ de um esboço e usá-lo.
Localizado em [PATH]
</text>
<text name="not worn instructions">
- Para por novos sapatos em seu avatar, basta arrastar um novo do seu
-inventário. Alternativamente, você pode criar um novo modelo a partir
-de um esboço e usá-lo.
+ Para obter novos olhos, arraste um tipo de olhos do inventário para o seu avatar. Ou crie olhos novos.
</text>
+ <button label="Criar Novos Sapatos" label_selected="Criar Novos Sapatos" name="Create New" width="166"/>
<text name="no modify instructions">
Você não tem permissão para modificar esta vestimenta.
</text>
@@ -253,8 +246,7 @@ de um esboço e usá-lo.
Sapatos:
</text>
<texture_picker label="Tecido" name="Fabric" tool_tip="Clique para escolher uma imagem"/>
- <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Clique para pegar o conta-gotas"/>
- <button label="Criar Novos Sapatos" label_selected="Criar Novos Sapatos" name="Create New" width="166"/>
+ <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Selecionar a cor"/>
<button label="Remover" label_selected="Remover" name="Take Off"/>
<button label="Salvar" label_selected="Salvar" name="Save"/>
<button label="Salvar como..." label_selected="Salvar como..." name="Save As"/>
@@ -277,10 +269,9 @@ de um esboço e usá-lo.
Localizado em [PATH]
</text>
<text name="not worn instructions">
- Para por novas meias em seu avatar, basta arrastar uma nova do seu
-inventário. Alternativamente, você pode criar novas meias a partir de
-um esboço e usá-las.
+ Para obter meias novas, arraste um par do inventário para o seu avatar. Ou crie meias novas.
</text>
+ <button label="Criar Novas Meias" label_selected="Criar Novas Meias" name="Create New"/>
<text name="no modify instructions">
Você não tem permissão para modificar essa vestimenta.
</text>
@@ -288,8 +279,7 @@ um esboço e usá-las.
Meias:
</text>
<texture_picker label="Tecido" name="Fabric" tool_tip="Clique para escolher uma imagem"/>
- <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Clique para pegar o conta-gotas"/>
- <button label="Criar Novas Meias" label_selected="Criar Novas Meias" name="Create New"/>
+ <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Selecionar a cor"/>
<button label="Remover" label_selected="Remover" name="Take Off"/>
<button label="Salvar" label_selected="Salvar" name="Save"/>
<button label="Salvar como..." label_selected="Salvar como..." name="Save As"/>
@@ -312,10 +302,9 @@ um esboço e usá-las.
Localizado em [PATH]
</text>
<text name="not worn instructions">
- Para por uma nova jaqueta em seu avatar, basta arrastar um novo modelo
-do seu inventário. Alternativamente, você pode criar um novo modelo a
-partir de um esboço e usá-lo.
+ Para por uma jaqueta nova, arraste uma do inventário para o seu avatar. Ou crie uma jaqueta nova.
</text>
+ <button label="Criar Nova Jaqueta" label_selected="Criar Nova Jaqueta" name="Create New"/>
<text name="no modify instructions">
Você não tem permissão para modificar esta vestimenta.
</text>
@@ -324,8 +313,7 @@ partir de um esboço e usá-lo.
</text>
<texture_picker label="Tecido Superior" name="Upper Fabric" tool_tip="Clique para escolher uma imagem." width="84"/>
<texture_picker label="Tecido Inferior" name="Lower Fabric" tool_tip="Clique para escolher uma imagem." width="84"/>
- <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Clique para pegar o conta-gotas"/>
- <button label="Criar Nova Jaqueta" label_selected="Criar Nova Jaqueta" name="Create New"/>
+ <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Selecionar a cor"/>
<button label="Remover" label_selected="Remover" name="Take Off"/>
<button label="Salvar" label_selected="Salvar" name="Save"/>
<button label="Salvar como..." label_selected="Salvar como..." name="Save As"/>
@@ -348,10 +336,9 @@ partir de um esboço e usá-lo.
Localizado em [PATH]
</text>
<text name="not worn instructions">
- Para colocar uma nova jaqueta em seu avatar, basta arrastar um novo modelo
-do seu inventário. Alternativamente, você pode criar uma novo modelo a
-partir de um esboço e usá-lo.
+ Para obter luvas novas, arraste um par do inventário para o seu avatar. Ou crie luvas novas.
</text>
+ <button label="Criar Novas Luvas" label_selected="Criar Novas Luvas" name="Create New"/>
<text name="no modify instructions">
Você não tem permissão para modificar essa vestimenta.
</text>
@@ -359,8 +346,7 @@ partir de um esboço e usá-lo.
Luvas:
</text>
<texture_picker label="Tecido" name="Fabric" tool_tip="Clique para escolher uma imagem"/>
- <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Clique para abrir o conta-gotas"/>
- <button label="Criar Novas Luvas" label_selected="Criar Novas Luvas" name="Create New"/>
+ <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Selecionar a cor"/>
<button label="Remover" label_selected="Remover" name="Take Off"/>
<button label="Salvar" label_selected="Salvar" name="Save"/>
<button label="Salvar como..." label_selected="Salvar como..." name="Save As"/>
@@ -383,10 +369,9 @@ partir de um esboço e usá-lo.
Localizado em [PATH]
</text>
<text name="not worn instructions">
- Para por uma nova Camiseta em seu avatar, basta arrastar um novo modelo
-de seu inventário. Alternativamente, você pode criar um novo modelo a
-partir de um esboço e usá-lo.
+ Para obter uma camiseta nova, arraste uma do inventário para o seu avatar. Ou crie uma camiseta nova.
</text>
+ <button label="Criar Nova Camiseta" label_selected="Criar Nova Camiseta" name="Create New"/>
<text name="no modify instructions">
Você não ter permissão para modificar essa vestimenta.
</text>
@@ -394,8 +379,7 @@ partir de um esboço e usá-lo.
Camiseta:
</text>
<texture_picker label="Tecido" name="Fabric" tool_tip="Clique para escolher uma imagem"/>
- <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Clique para abrir o conta-gotas"/>
- <button label="Criar Nova Camiseta" label_selected="Criar Nova Camiseta" name="Create New"/>
+ <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Selecionar a cor"/>
<button label="Remover" label_selected="Remover" name="Take Off"/>
<button label="Salvar" label_selected="Salvar" name="Save"/>
<button label="Salvar como..." label_selected="Salvar como..." name="Save As"/>
@@ -418,10 +402,9 @@ partir de um esboço e usá-lo.
Localizado em [PATH]
</text>
<text name="not worn instructions">
- Para por novas roupas de baixo em seu avatar, basta arrastar um novo
-modelo do seu inventário. Alternativamente, você pode criar um novo
-modelo a partir de um esboço e usá-lo.
+ Para obter roupa de baixo nova, arraste um modelo do inventário para o seu avatar. Ou crie uma roupa de baixo nova.
</text>
+ <button label="Criar Novas Roupas de Baixo" label_selected="Criar Novas Roupas de Baixo" name="Create New" width="180"/>
<text name="no modify instructions">
Você não tem permissão para modificar essa vestimenta.
</text>
@@ -429,8 +412,7 @@ modelo a partir de um esboço e usá-lo.
Roupas de Baixo:
</text>
<texture_picker label="Tecido" name="Fabric" tool_tip="Clique para escolher uma imagem"/>
- <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Clique para pegar o conta-gotas"/>
- <button label="Criar Novas Roupas de Baixo" label_selected="Criar Novas Roupas de Baixo" name="Create New" width="180"/>
+ <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Selecionar a cor"/>
<button label="Remover" label_selected="Remover" name="Take Off"/>
<button label="Salvar" label_selected="Salvar" name="Save"/>
<button label="Salvar como..." label_selected="Salvar como..." name="Save As"/>
@@ -453,10 +435,9 @@ modelo a partir de um esboço e usá-lo.
Localizado em [PATH]
</text>
<text name="not worn instructions">
- Para por uma nova saia em seu avatar, basta arrastar um novo modelo
-do seu inventário. Alternativamente, você pode criar um novo modelo a
-partir de um esboço e usá-lo.
+ Para obter um saia nova, arraste uma saia do inventário para o seu avatar. Ou crie uma saia nova.
</text>
+ <button label="Criar Nova Saia" label_selected="Criar Nova Saia" name="Create New"/>
<text name="no modify instructions">
Você não tem permissão para modificar esta vestimenta.
</text>
@@ -464,16 +445,86 @@ partir de um esboço e usá-lo.
Saia:
</text>
<texture_picker label="Tecido" name="Fabric" tool_tip="Clique para escolher uma imagem"/>
- <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Click to open Color Picker"/>
- <button label="Criar Nova Saia" label_selected="Criar Nova Saia" name="Create New"/>
+ <color_swatch label="Cor/Tint" name="Color/Tint" tool_tip="Selecionar a cor"/>
<button label="Remover" label_selected="Remover" name="Take Off"/>
<button label="Salvar" label_selected="Salvar" name="Save"/>
<button label="Salvar como..." label_selected="Salvar como..." name="Save As"/>
<button label="Reverter" label_selected="Reverter" name="Revert"/>
</panel>
+ <panel label="Tatuagem" name="Tattoo">
+ <text name="title">
+ [DESC]:
+ </text>
+ <text name="title_no_modify">
+ [DESC]: não pode ser modificado
+ </text>
+ <text name="title_loading">
+ [DESC]: Carregando...
+ </text>
+ <text name="title_not_worn">
+ [DESC]: não vestido
+ </text>
+ <text name="path">
+ Localização: [PATH]
+ </text>
+ <text name="not worn instructions">
+ Para por uma tatuagem nova, arraste uma tatuagem do inventário para o seu avatar. Ou crie uma tatuagem nova.
+ </text>
+ <button label="Criar tatuagem" label_selected="Criar tatuagem" name="Create New"/>
+ <text name="no modify instructions">
+ Você não está autorizado a modificar este acessório.
+ </text>
+ <text name="Item Action Label">
+ Tatuagem:
+ </text>
+ <texture_picker label="Tatuagem na cabeça" name="Head Tattoo" tool_tip="Selecionar imagem"/>
+ <texture_picker label="Tatuagem parte de cima" name="Upper Tattoo" tool_tip="Selecionar imagem"/>
+ <texture_picker label="Tatuagem de baixo" name="Lower Tattoo" tool_tip="Selecionar imagem"/>
+ <button label="Tirar" label_selected="Tirar" name="Take Off"/>
+ <button label="Salvar" label_selected="Salvar" name="Save"/>
+ <button label="Salvar como..." label_selected="Salvar como..." name="Save As"/>
+ <button label="Reverter" label_selected="Reverter" name="Revert"/>
+ </panel>
+ <panel label="Alpha" name="Alpha">
+ <text name="title">
+ [DESC]:
+ </text>
+ <text name="title_no_modify">
+ [DESC]: não pode ser modificado
+ </text>
+ <text name="title_loading">
+ [DESC]: Carregando...
+ </text>
+ <text name="title_not_worn">
+ [DESC]: não vestido
+ </text>
+ <text name="path">
+ Localização: [PATH]
+ </text>
+ <text name="not worn instructions">
+ Para por uma máscara alpha nova, arraste a máscara do inventário para o seu avatar. Ou crie uma máscara nova.
+ </text>
+ <button label="Criar Alpha novo" label_selected="Criar Alpha novo" name="Create New"/>
+ <text name="no modify instructions">
+ Você não está autorizado a modificar este acessório.
+ </text>
+ <text name="Item Action Label">
+ Alpha:
+ </text>
+ <texture_picker label="Alpha inferior" name="Lower Alpha" tool_tip="Selecionar imagem"/>
+ <texture_picker label="Alpha de cima" name="Upper Alpha" tool_tip="Selecionar imagem"/>
+ <texture_picker label="Cabeça Alpha" name="Head Alpha" tool_tip="Selecionar imagem"/>
+ <texture_picker label="Olhos Alpha" name="Eye Alpha" tool_tip="Selecionar imagem"/>
+ <texture_picker label="Cabelo alpha" name="Hair Alpha" tool_tip="Selecionar imagem"/>
+ <button label="Tirar" label_selected="Tirar" name="Take Off"/>
+ <button label="Salvar" label_selected="Salvar" name="Save"/>
+ <button label="Salvar como..." label_selected="Salvar como..." name="Save As"/>
+ <button label="Reverter" label_selected="Reverter" name="Revert"/>
+ </panel>
</tab_container>
<scroll_container left="249" name="panel_container"/>
+ <button label="Dados do script" label_selected="Dados do script" name="script_info" tool_tip="Mostrar scripts anexados ao seu avatar"/>
+ <button label="Criar look" label_selected="Criar look" name="make_outfit_btn"/>
<button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
<button label="OK" label_selected="OK" name="Ok"/>
- <button label="Criar Vestimenta..." label_selected="Criar Vestimenta..." name="Make Outfit" left="117" width="125" />
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_device_settings.xml b/indra/newview/skins/default/xui/pt/floater_device_settings.xml
index fa4da834b8..48a4a6ef6f 100644
--- a/indra/newview/skins/default/xui/pt/floater_device_settings.xml
+++ b/indra/newview/skins/default/xui/pt/floater_device_settings.xml
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="floater_device_settings" title="AJUSTES DO DISPOSITIVO DE CONVERSA POR VOZ"/>
+<floater name="floater_device_settings" title="CONFIGURAÇÃO DE DISPOSITIVO DE VOZ"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_env_settings.xml b/indra/newview/skins/default/xui/pt/floater_env_settings.xml
index 4a43801b48..3ca8d934c9 100644
--- a/indra/newview/skins/default/xui/pt/floater_env_settings.xml
+++ b/indra/newview/skins/default/xui/pt/floater_env_settings.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Environment Editor Floater" title="EDITOR DO AMBIENTE">
+ <floater.string name="timeStr">
+ [hour12,datetime,utc]:[min,datetime,utc] [ampm,datetime,utc]
+ </floater.string>
<text name="EnvTimeText">
Hora do Dia
</text>
@@ -13,13 +16,12 @@ Nuvens
<text name="EnvWaterColorText">
Cor da água
</text>
- <color_swatch label="" name="EnvWaterColor" tool_tip="Clique para abrir o Editor de cores"/>
+ <color_swatch label="" name="EnvWaterColor" tool_tip="Selecionar a cor"/>
<text name="EnvWaterFogText">
Névoa da
água
</text>
<button bottom="-144" label="Usar hora da propriedade" name="EnvUseEstateTimeButton" width="155"/>
- <button label="Céu Avançado" name="EnvAdvancedSkyButton" width="155" left="167"/>
- <button label="Água Avançada" name="EnvAdvancedWaterButton" width="155" left="326"/>
- <button label="?" name="EnvSettingsHelpButton"/>
+ <button label="Céu Avançado" left="167" name="EnvAdvancedSkyButton" width="155"/>
+ <button label="Água Avançada" left="326" name="EnvAdvancedWaterButton" width="155"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_event.xml b/indra/newview/skins/default/xui/pt/floater_event.xml
new file mode 100644
index 0000000000..4b2489654a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_event.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater label="Evento" name="Event" title="DETALHES DO EVENTO">
+ <floater.string name="none">
+ nenhum
+ </floater.string>
+ <floater.string name="notify">
+ Avisar
+ </floater.string>
+ <floater.string name="dont_notify">
+ Não avisar
+ </floater.string>
+ <layout_stack name="layout">
+ <layout_panel name="profile_stack">
+ <text name="event_name">
+ Evento sem nome... Terror! Terror Aterrorizante.
+ </text>
+ <text name="event_category">
+ (não categorizado)
+ </text>
+ <text name="event_runby_label">
+ Organização:
+ </text>
+ <text initial_value="(pesquisando)" name="event_runby"/>
+ <text name="event_date">
+ 10/10/2010
+ </text>
+ <text name="event_duration">
+ 1 hora
+ </text>
+ <text name="event_cover">
+ Grátis
+ </text>
+ <text name="event_location_label">
+ Localização:
+ </text>
+ <text name="event_location" value="LoteExemplo, Nome extenso (145, 228, 26)"/>
+ <text name="rating_label" value="Classificação:"/>
+ <text name="rating_value" value="(Desconhecido)"/>
+ </layout_panel>
+ <layout_panel name="button_panel">
+ <button name="create_event_btn" tool_tip="Criar evento"/>
+ <button name="god_delete_event_btn" tool_tip="Excluir evento"/>
+ <button label="Avise-me" name="notify_btn"/>
+ <button label="Teletransportar" name="teleport_btn"/>
+ <button label="Mapa" name="map_btn"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_gesture.xml b/indra/newview/skins/default/xui/pt/floater_gesture.xml
index b0bc42685d..2e5b92aaf7 100644
--- a/indra/newview/skins/default/xui/pt/floater_gesture.xml
+++ b/indra/newview/skins/default/xui/pt/floater_gesture.xml
@@ -1,14 +1,25 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="gestures" title="GESTOS ATIVOS">
- <text name="help_label">
- Clicar duas vezes no gesto para executar animações e sons.
- </text>
+<floater label="Lugares" name="gestures" title="GESTOS">
+ <floater.string name="loading">
+ Carregando...
+ </floater.string>
+ <floater.string name="playing">
+ (Em execução)
+ </floater.string>
+ <floater.string name="copy_name">
+ Cópia de [COPY_NAME]
+ </floater.string>
<scroll_list name="gesture_list">
- <column label="Acionar" name="trigger"/>
- <column label="Chave" name="shortcut"/>
- <column label="Nome" name="name"/>
+ <scroll_list.columns label="Nome" name="name"/>
+ <scroll_list.columns label="Bate-papo" name="trigger"/>
+ <scroll_list.columns label="Chave" name="shortcut"/>
</scroll_list>
- <button label="Novo" name="new_gesture_btn"/>
+ <panel label="bottom_panel" name="bottom_panel">
+ <menu_button name="gear_btn" tool_tip="Mais opções"/>
+ <button name="new_gesture_btn" tool_tip="Criar novo gesto"/>
+ <button name="activate_btn" tool_tip="Ativar/Desativar gesto selecionado"/>
+ <button name="del_btn" tool_tip="Excluir este gesto"/>
+ </panel>
<button label="Editar" name="edit_btn"/>
<button label="Executar" name="play_btn"/>
<button label="Parar" name="stop_btn"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_god_tools.xml b/indra/newview/skins/default/xui/pt/floater_god_tools.xml
index 4b7b2eb34e..93b2f3e90d 100644
--- a/indra/newview/skins/default/xui/pt/floater_god_tools.xml
+++ b/indra/newview/skins/default/xui/pt/floater_god_tools.xml
@@ -11,7 +11,7 @@
</text>
<check_box label="Prelúdio" name="check prelude" tool_tip="Ajustar para tornar esta região um prelúdio."/>
<check_box label="Fixar Sol" name="check fixed sun" tool_tip="Fixa a posição do sol (como em Região/Estados) &gt; Terreno."/>
- <check_box label="Redefinir Home no teletransporte" name="check reset home" tool_tip="Quando um residente se teletransporta, redefine sua home para a posição de destino."/>
+ <check_box label="Redefinir Home no teletransporte" name="check reset home" tool_tip="Quando um residente sair, definir o destino com sua posição inicial."/>
<check_box label="Visível" name="check visible" tool_tip="Ajustar para fazer essa região visível para os não-deuses"/>
<check_box label="Dano" name="check damage" tool_tip="Ajustar para permitir dano nesta região"/>
<check_box label="Bloquear ratreamento do Tráfego" name="block dwell" tool_tip="Configure isto para fazer a região não computar o tráfego."/>
@@ -73,17 +73,17 @@
Destino:
</text>
<combo_box name="destination">
- <combo_box.item name="item1" label="Seleção" />
- <combo_box.item name="item2" label="Região do Agente" />
+ <combo_box.item label="Seleção" name="item1"/>
+ <combo_box.item label="Região do Agente" name="item2"/>
</combo_box>
<text name="Request:">
Requisição:
</text>
<combo_box name="request">
- <combo_box.item name="item1" label="Passos de Colisão" />
- <combo_box.item name="item2" label="Contagem de scripts, padrão opcional" />
- <combo_box.item name="item3" label="Padrão de Objetos" />
- <combo_box.item name="item4" label="rez &lt;asset_id&gt;" />
+ <combo_box.item label="Passos de Colisão" name="item1"/>
+ <combo_box.item label="Contagem de scripts, padrão opcional" name="item2"/>
+ <combo_box.item label="Padrão de Objetos" name="item3"/>
+ <combo_box.item label="rez &lt;asset_id&gt;" name="item4"/>
</combo_box>
<text name="Parameter:">
Parametro:
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 8921e6ea12..c666a941fe 100644
--- a/indra/newview/skins/default/xui/pt/floater_hardware_settings.xml
+++ b/indra/newview/skins/default/xui/pt/floater_hardware_settings.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Hardware Settings Floater" title="AJUSTES DE HARDWARE">
+<floater name="Hardware Settings Floater" title="CONFIGURAÇÃO DO HARDWARE">
<text name="Filtering:">
Filtragem:
</text>
@@ -8,21 +8,21 @@
Suavização:
</text>
<combo_box label="Suavização" name="fsaa" width="94">
- <combo_box.item name="FSAADisabled" label="Desabilitado"/>
- <combo_box.item name="2x" label="2x"/>
- <combo_box.item name="4x" label="4x"/>
- <combo_box.item name="8x" label="8x"/>
- <combo_box.item name="16x" label="16x"/>
+ <combo_box.item label="Desativado" name="FSAADisabled"/>
+ <combo_box.item label="2x" name="2x"/>
+ <combo_box.item label="4x" name="4x"/>
+ <combo_box.item label="8x" name="8x"/>
+ <combo_box.item label="16x" name="16x"/>
</combo_box>
<spinner label="Gama:" name="gamma"/>
<text name="(brightness, lower is brighter)">
- (brilho, quanto menor, mais brilho, 0=usar padrão)
+ (0 = brilho padrão, menor = mais brilho)
</text>
<text name="Enable VBO:">
Habilitar VBO:
</text>
- <check_box label="Habilitar Objetos com Armazenamento de Vértices" name="vbo" tool_tip="Habilitando-o em máquinas novas, ele oferece um ganho de performance. Contudo, as máquinas antigas tem freqüentemente implementações pobres de VBOs e você pode ter travamentos quando esta opção é habilitada."/>
- <slider label="Memória de Textura (MB):" name="GrapicsCardTextureMemory" tool_tip="Quantidade de memória a se reservar para texturas. Usa por padrão, a Memória da Placa de Vídeo. Sua redução pode aumentar a performance mas pode também deixar as texturas borradas."/>
- <spinner label="Relação de Distância de &#10;Nevoeiro:" name="fog"/>
+ <check_box initial_value="true" label="Habilitar Objetos com Armazenamento de Vértices" name="vbo" tool_tip="Habilitando-o em máquinas novas, ele oferece um ganho de performance. Contudo, as máquinas antigas tem freqüentemente implementações pobres de VBOs e você pode ter travamentos quando esta opção é habilitada."/>
+ <slider label="Memória de texturas (MB):" name="GraphicsCardTextureMemory" tool_tip="Quanto da memória deve ser alocado para texturas. O padrão é definido pela memória da placa de vídeo. Reduzir este valor pode melhorar o desempenho, mas as texturas podem fica fora de foco."/>
+ <spinner label="Relação de Distância de Nevoeiro:" name="fog"/>
<button label="OK" label_selected="OK" name="OK"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_help_browser.xml b/indra/newview/skins/default/xui/pt/floater_help_browser.xml
new file mode 100644
index 0000000000..9cc8a0a6b2
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_help_browser.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_help_browser" title="NAVEGADOR DA AJUDA">
+ <floater.string name="loading_text">
+ Carregando...
+ </floater.string>
+ <layout_stack name="stack1">
+ <layout_panel name="external_controls"/>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_im.xml b/indra/newview/skins/default/xui/pt/floater_im.xml
index 75c3409339..f6057c48f1 100644
--- a/indra/newview/skins/default/xui/pt/floater_im.xml
+++ b/indra/newview/skins/default/xui/pt/floater_im.xml
@@ -10,7 +10,7 @@
Clique no botão [BUTTON NAME] para aceitar/ conectar a este bate-papo em voz.
</string>
<string name="muted_message">
- Você emudeceu este residente. Enviar uma mensagem vai automaticamente reativá-lo novamente.
+ Você bloqueou este residente. Se quiser retirar o bloqueio, basta enviar uma mensagem.
</string>
<string name="generic_request_error">
Erro na requisição, por favor, tente novamente.
diff --git a/indra/newview/skins/default/xui/pt/floater_im_container.xml b/indra/newview/skins/default/xui/pt/floater_im_container.xml
new file mode 100644
index 0000000000..0fbb826a96
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_im_container.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<multi_floater name="floater_im_box" title="CONVERSAS"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_im_session.xml b/indra/newview/skins/default/xui/pt/floater_im_session.xml
new file mode 100644
index 0000000000..39dde3408b
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_im_session.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="panel_im">
+ <layout_stack name="im_panels">
+ <layout_panel label="Painel de controle de MI" name="panel_im_control_panel"/>
+ <layout_panel>
+ <line_editor label="Para" name="chat_editor"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_image_preview.xml b/indra/newview/skins/default/xui/pt/floater_image_preview.xml
index a0d8c02ef0..2ff1aa7915 100644
--- a/indra/newview/skins/default/xui/pt/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/pt/floater_image_preview.xml
@@ -10,17 +10,17 @@
Prévia da
imagem como:
</text>
- <combo_box label="Tipo de Roupas" name="clothing_type_combo" left="100" width="186">
- <combo_box.item name="Image" label="Imagem" />
- <combo_box.item name="Hair" label="Cabelo" />
- <combo_box.item name="FemaleHead" label="Cabeça Feminina" />
- <combo_box.item name="FemaleUpperBody" label="Parte Superior do Corpo Feminino" />
- <combo_box.item name="FemaleLowerBody" label="Parte Inferior do Corpo Feminino" />
- <combo_box.item name="MaleHead" label="Cabeça Masculina" />
- <combo_box.item name="MaleUpperBody" label="Parte Superior do Corpo Masculino" />
- <combo_box.item name="MaleLowerBody" label="Parte Inferiro do Corpo Masculino" />
- <combo_box.item name="Skirt" label="Saia" />
- <combo_box.item name="SculptedPrim" label="Primitiva Esculpida" />
+ <combo_box label="Tipo de Roupas" left="100" name="clothing_type_combo" width="186">
+ <combo_box.item label="Imagem" name="Image"/>
+ <combo_box.item label="Cabelo" name="Hair"/>
+ <combo_box.item label="Cabeça de mulher" name="FemaleHead"/>
+ <combo_box.item label="Cintura para cima, mulher" name="FemaleUpperBody"/>
+ <combo_box.item label="Cintura para baixo, mulher" name="FemaleLowerBody"/>
+ <combo_box.item label="Cabeça de homem" name="MaleHead"/>
+ <combo_box.item label="Cintura para cima, homem" name="MaleUpperBody"/>
+ <combo_box.item label="Cintura para baixo, homem" name="MaleLowerBody"/>
+ <combo_box.item label="Saia" name="Skirt"/>
+ <combo_box.item label="Prim esculpido" name="SculptedPrim"/>
</combo_box>
<text name="bad_image_text">
Incapaz de ler a imagem.
diff --git a/indra/newview/skins/default/xui/pt/floater_incoming_call.xml b/indra/newview/skins/default/xui/pt/floater_incoming_call.xml
new file mode 100644
index 0000000000..cdebe533bd
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_incoming_call.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="incoming call" title="LIGAÇÃO DE DESCONHECIDO">
+ <floater.string name="lifetime">
+ 5
+ </floater.string>
+ <floater.string name="localchat">
+ Bate-papo local
+ </floater.string>
+ <floater.string name="anonymous">
+ anônimo
+ </floater.string>
+ <floater.string name="VoiceInviteP2P">
+ está ligando.
+ </floater.string>
+ <floater.string name="VoiceInviteAdHoc">
+ entrou numa ligação de voz via conferência.
+ </floater.string>
+ <floater.string name="VoiceInviteGroup">
+ entrou numa ligação de bate-papo de voz com o grupo [GROUP].
+ </floater.string>
+ <text name="question">
+ Sair do [CURRENT_CHAT] e entrar neste bate-papo?
+ </text>
+ <button label="Aceitar" label_selected="Aceitar" name="Accept"/>
+ <button label="Rejeitar" label_selected="Rejeitar" name="Reject"/>
+ <button label="Enviar MI" name="Start IM"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_inspect.xml b/indra/newview/skins/default/xui/pt/floater_inspect.xml
index 97c2c6eaeb..6a00b1a628 100644
--- a/indra/newview/skins/default/xui/pt/floater_inspect.xml
+++ b/indra/newview/skins/default/xui/pt/floater_inspect.xml
@@ -1,11 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="inspect" title="INSPECIONAR OBJETO" min_width="450">
+<floater min_width="450" name="inspect" title="EXAMINAR OBJETOS">
+ <floater.string name="timeStamp">
+ [wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
+ </floater.string>
<scroll_list name="object_list" tool_tip="Selecione um objeto nesta lista para destacá-lo in-world">
- <column label="Nome do Objeto" name="object_name"/>
- <column label="Proprietário" name="owner_name"/>
- <column label="Criador" name="creator_name"/>
- <column label="Data de Criação" name="creation_date"/>
+ <scroll_list.columns label="Nome do Objeto" name="object_name"/>
+ <scroll_list.columns label="Proprietário" name="owner_name"/>
+ <scroll_list.columns label="Criador" name="creator_name"/>
+ <scroll_list.columns label="Data de Criação" name="creation_date"/>
</scroll_list>
- <button width="185" label="Ver Perfil do Proprietário..." label_selected="" name="button owner" tool_tip="Veja o perfil do proprietário do objeto destacado"/>
- <button width="165" left="205" label="Ver perfil do criador..." label_selected="" name="button creator" tool_tip="Veja o perfil do criador original do objeto destacado"/>
+ <button label="Ver Perfil do Proprietário..." label_selected="" name="button owner" tool_tip="Veja o perfil do proprietário do objeto destacado" width="185"/>
+ <button label="Ver perfil do criador..." label_selected="" left="205" name="button creator" tool_tip="Veja o perfil do criador original do objeto destacado" width="165"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_inventory.xml b/indra/newview/skins/default/xui/pt/floater_inventory.xml
index 1c2a3a9233..ae3312eab0 100644
--- a/indra/newview/skins/default/xui/pt/floater_inventory.xml
+++ b/indra/newview/skins/default/xui/pt/floater_inventory.xml
@@ -1,47 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Inventory" title="INVENTÁRIO">
- <search_editor label="Escreva aqui para busca" name="inventory search editor"/>
- <tab_container name="inventory filter tabs">
- <inventory_panel label="Todos os Itens" name="All Items"/>
- <inventory_panel label="Itens Recentes" name="Recent Items"/>
- </tab_container>
- <menu_bar name="Inventory Menu">
- <menu label="Arquivo" name="File">
- <menu_item_call label="Abrir" name="Open"/>
- <menu_item_call label="Nova Janela" name="New Window"/>
- <menu_item_call label="Mostrar Filtros" name="Show Filters"/>
- <menu_item_call label="Redefinir Filtros" name="Reset Current"/>
- <menu_item_call label="Fechar Todas as Pastas" name="Close All Folders"/>
- <menu_item_call label="Limpar Lixeira" name="Empty Trash"/>
- </menu>
- <menu label="Criar" name="Create">
- <menu_item_call label="Nova Pasta" name="New Folder"/>
- <menu_item_call label="Novo Script" name="New Script"/>
- <menu_item_call label="Nova Nota" name="New Note"/>
- <menu_item_call label="Novo Gesto" name="New Gesture"/>
- <menu label="Nova Roupa" name="New Clothes">
- <menu_item_call label="Nova Camisa" name="New Shirt"/>
- <menu_item_call label="Nova Calça" name="New Pants"/>
- <menu_item_call label="Novos Sapatos" name="New Shoes"/>
- <menu_item_call label="Novas Meias" name="New Socks"/>
- <menu_item_call label="Nova Jaqueta" name="New Jacket"/>
- <menu_item_call label="Nova Saia" name="New Skirt"/>
- <menu_item_call label="Novas Luvas" name="New Gloves"/>
- <menu_item_call label="Nova Anágua" name="New Undershirt"/>
- <menu_item_call label="Novas Roupas de Baixo" name="New Underpants"/>
- </menu>
- <menu label="Parte do corpo" name="New Body Parts">
- <menu_item_call label="Nova Forma" name="New Shape"/>
- <menu_item_call label="Nova Pele" name="New Skin"/>
- <menu_item_call label="Novo Cabelo" name="New Hair"/>
- <menu_item_call label="Novos Olhos" name="New Eyes"/>
- </menu>
- </menu>
- <menu label="Ordenar" name="Sort">
- <menu_item_check label="Por Nome" name="By Name"/>
- <menu_item_check label="Por Data" name="By Date"/>
- <menu_item_check label="Pastas Sempre por Nome" name="Folders Always By Name"/>
- <menu_item_check label="Pastas do sistema primeiro" name="System Folders To Top"/>
- </menu>
- </menu_bar>
+<floater name="Inventory" title="MEU INVENTÁRIO">
+ <floater.string name="Title">
+ MEU INVENTÁRIO
+ </floater.string>
+ <floater.string name="TitleFetching">
+ MEU INVENTÁRIO (Pegando [ITEM_COUNT] items...) [FILTER]
+ </floater.string>
+ <floater.string name="TitleCompleted">
+ MEU INVENTÁRIO ([ITEM_COUNT] items) [FILTER]
+ </floater.string>
+ <floater.string name="Fetched">
+ Obtido
+ </floater.string>
+ <panel label="Painel do inventário" name="Inventory Panel"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/pt/floater_inventory_item_properties.xml
index 2a6b02f9c2..8fe69c097d 100644
--- a/indra/newview/skins/default/xui/pt/floater_inventory_item_properties.xml
+++ b/indra/newview/skins/default/xui/pt/floater_inventory_item_properties.xml
@@ -1,5 +1,20 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="item properties" title="PROPRIEDADES DO ITEM DE INVENTÁRIO">
+<floater name="item properties" title="PROPRIEDADES DE ITEM NO INVENTÁRIO">
+ <floater.string name="unknown">
+ (desconhecido)
+ </floater.string>
+ <floater.string name="public">
+ (público)
+ </floater.string>
+ <floater.string name="you_can">
+ Você pode:
+ </floater.string>
+ <floater.string name="owner_can">
+ Proprietário pode :
+ </floater.string>
+ <floater.string name="acquiredDate">
+ [wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
+ </floater.string>
<text name="LabelItemNameTitle">
Nome:
</text>
@@ -27,55 +42,32 @@
Qua Mai 24 12:50:46 2006
</text>
<text name="OwnerLabel">
- Você pode:
+ Você:
</text>
- <check_box label="Modificar" name="CheckOwnerModify"/>
+ <check_box label="Editar" name="CheckOwnerModify"/>
<check_box label="Copiar" name="CheckOwnerCopy"/>
- <check_box label="Revender/Doar" name="CheckOwnerTransfer"/>
- <text name="BaseMaskDebug">
- B:
- </text>
- <text name="OwnerMaskDebug">
- O:
- </text>
- <text name="GroupMaskDebug">
- G:
+ <check_box label="Revender" name="CheckOwnerTransfer"/>
+ <text name="AnyoneLabel">
+ Todos:
</text>
- <text name="EveryoneMaskDebug">
- E:
+ <check_box label="Cortar" name="CheckEveryoneCopy"/>
+ <text name="GroupLabel">
+ Grupo:
</text>
- <text name="NextMaskDebug">
- N:
- </text>
- <check_box label="Compartilhar com o grupo" name="CheckShareWithGroup"/>
- <check_box label="Permitir qualquer um copiar" name="CheckEveryoneCopy"/>
+ <check_box label="Compartilhar" name="CheckShareWithGroup"/>
<text name="NextOwnerLabel" width="230">
- Próximo dono pode:
+ Próximo proprietário:
</text>
- <check_box label="Modificar" name="CheckNextOwnerModify"/>
+ <check_box label="Editar" name="CheckNextOwnerModify"/>
<check_box label="Copiar" name="CheckNextOwnerCopy"/>
- <check_box label="Revender/Doar" name="CheckNextOwnerTransfer"/>
- <text name="SaleLabel">
- Marcar Item:
- </text>
+ <check_box label="Revender" name="CheckNextOwnerTransfer"/>
<check_box label="À venda" name="CheckPurchase"/>
- <radio_group name="RadioSaleType">
- <radio_item name="radio" label="Original" />
- <radio_item name="radio2" label="Cópia" />
- </radio_group>
- <text name="TextPrice">
- Price: L$
+ <combo_box name="combobox sale copy">
+ <combo_box.item label="Cortar" name="Copy"/>
+ <combo_box.item label="Original" name="Original"/>
+ </combo_box>
+ <spinner label="Preço:" name="Edit Cost"/>
+ <text name="CurrencySymbol">
+ L$
</text>
- <string name="unknown">
- (desconhecido)
- </string>
- <string name="public">
- (público)
- </string>
- <string name="you_can">
- Você pode:
- </string>
- <string name="owner_can">
- Proprietário pode :
- </string>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_joystick.xml b/indra/newview/skins/default/xui/pt/floater_joystick.xml
index 0793a0b161..ecc4fcc9e9 100644
--- a/indra/newview/skins/default/xui/pt/floater_joystick.xml
+++ b/indra/newview/skins/default/xui/pt/floater_joystick.xml
@@ -1,23 +1,23 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Joystick" title="CONFIGURAÇÃO DO JOYSTICK">
- <check_box name="enable_joystick" label="Habilitar Joystick:"/>
+ <check_box label="Habilitar Joystick:" name="enable_joystick"/>
<text left="135" name="joystick_type" width="360"/>
- <spinner label="Mapeamento: eixo X" name="JoystickAxis1" label_width="124" width="164"/>
- <spinner label="Mapeamento: eixo Y" name="JoystickAxis2" label_width="124" width="164"/>
- <spinner label="Mapeamento: eixo Z" name="JoystickAxis0" label_width="124" width="164"/>
- <spinner label="Mapeamento: Elevação" name="JoystickAxis4" label_width="124" width="164"/>
- <spinner label="Mapeamento: Guinada" name="JoystickAxis5" label_width="124" width="164"/>
- <spinner label="Mapeamento: Rolagem" name="JoystickAxis3" label_width="124" width="164"/>
- <spinner label="Mapeamento: Zoom" name="JoystickAxis6" label_width="124" width="164"/>
- <check_box label="Zoom Direto" name="ZoomDirect" left="194"/>
+ <spinner label="Mapeamento: eixo X" label_width="124" name="JoystickAxis1" width="164"/>
+ <spinner label="Mapeamento: eixo Y" label_width="124" name="JoystickAxis2" width="164"/>
+ <spinner label="Mapeamento: eixo Z" label_width="124" name="JoystickAxis0" width="164"/>
+ <spinner label="Mapeamento: Elevação" label_width="124" name="JoystickAxis4" width="164"/>
+ <spinner label="Mapeamento: Guinada" label_width="124" name="JoystickAxis5" width="164"/>
+ <spinner label="Mapeamento: Rolagem" label_width="124" name="JoystickAxis3" width="164"/>
+ <spinner label="Mapeamento: Zoom" label_width="124" name="JoystickAxis6" width="164"/>
+ <check_box label="Zoom Direto" left="194" name="ZoomDirect"/>
<check_box label="Cursor 3D" name="Cursor3D"/>
<check_box label="Nível Automático" name="AutoLeveling"/>
<text name="Control Modes:">
Modos de Controle:
</text>
- <check_box name="JoystickAvatarEnabled" label="Avatar"/>
- <check_box name="JoystickBuildEnabled" left="192" label="Construir"/>
- <check_box name="JoystickFlycamEnabled" label="Camera aérea"/>
+ <check_box label="Avatar" name="JoystickAvatarEnabled"/>
+ <check_box label="Construir" left="192" name="JoystickBuildEnabled"/>
+ <check_box label="Camera aérea" name="JoystickFlycamEnabled"/>
<text name="XScale">
Escala X
</text>
@@ -27,13 +27,13 @@
<text name="ZScale">
Escala Z
</text>
- <text name="PitchScale" left="3" width="115">
+ <text left="3" name="PitchScale" width="115">
Escala de Elevação
</text>
- <text name="YawScale" left="3" width="115">
+ <text left="3" name="YawScale" width="115">
Escala da Guinada
</text>
- <text name="RollScale" left="3" width="115">
+ <text left="3" name="RollScale" width="115">
Escala de Rolagem
</text>
<text name="XDeadZone">
@@ -45,13 +45,13 @@
<text name="ZDeadZone">
Zona Morta Z
</text>
- <text name="PitchDeadZone" left="3" width="115">
+ <text left="3" name="PitchDeadZone" width="115">
Zona Morta: Elevação
</text>
- <text name="YawDeadZone" left="3" width="115">
+ <text left="3" name="YawDeadZone" width="115">
Zona Morta: Guinada
</text>
- <text name="RollDeadZone" left="3" width="115">
+ <text left="3" name="RollDeadZone" width="115">
Zona Morta: Rolagem
</text>
<text name="Feathering">
@@ -60,10 +60,10 @@
<text name="ZoomScale2">
Escala de Zoom
</text>
- <text name="ZoomDeadZone" width="110" left="4">
+ <text left="4" name="ZoomDeadZone" width="110">
Zona Morta de Zoom
</text>
- <button label="Padrões do SpaceNavigator" name="SpaceNavigatorDefaults" font="SansSerifSmall"/>
+ <button font="SansSerifSmall" label="Padrões do SpaceNavigator" name="SpaceNavigatorDefaults"/>
<button label="OK" label_selected="OK" name="ok_btn"/>
<button label="Cancelar" label_selected="Cancelar" name="cancel_btn"/>
<stat_view label="Monitor do Joystick" name="axis_view">
diff --git a/indra/newview/skins/default/xui/pt/floater_lagmeter.xml b/indra/newview/skins/default/xui/pt/floater_lagmeter.xml
index 2728633438..9932318293 100644
--- a/indra/newview/skins/default/xui/pt/floater_lagmeter.xml
+++ b/indra/newview/skins/default/xui/pt/floater_lagmeter.xml
@@ -1,155 +1,154 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="floater_lagmeter" title="MEDIDOR DE ATRASO">
- <button label="" label_selected="" name="client_lagmeter" tool_tip="Status de atraso no Cliente"/>
- <text left="30" name="client_lag_cause" right="-10" />
- <text left="30" name="network_lag_cause" right="-10" />
- <text left="30" name="server_lag_cause" right="-32" />
- <text name="client">
- Cliente:
- </text>
- <text name="client_text" font="SansSerifSmall">
- Normal
- </text>
- <button label="" label_selected="" name="network_lagmeter" tool_tip="Status de atraso na rede"/>
- <text name="network">
- Rede:
- </text>
- <text name="network_text" font="SansSerifSmall">
- Normal
- </text>
- <button label="" label_selected="" name="server_lagmeter" tool_tip="Status de atraso no servidor"/>
- <text name="server">
- Servidor:
- </text>
- <text name="server_text" font="SansSerifSmall">
- Normal
- </text>
- <button label="?" name="server_help"/>
- <button label="&gt;&gt;" name="minimize"/>
- <string name="max_title_msg">
+<floater name="floater_lagmeter" title="LAG - Índice">
+ <floater.string name="max_title_msg">
Medidor de Atraso
- </string>
- <string name="max_width_px">
+ </floater.string>
+ <floater.string name="max_width_px">
360
- </string>
- <string name="min_title_msg">
+ </floater.string>
+ <floater.string name="min_title_msg">
Atraso
- </string>
- <string name="min_width_px">
+ </floater.string>
+ <floater.string name="min_width_px">
90
- </string>
- <string name="client_text_msg">
+ </floater.string>
+ <floater.string name="client_text_msg">
Cliente
- </string>
- <string name="client_frame_rate_critical_fps">
+ </floater.string>
+ <floater.string name="client_frame_rate_critical_fps">
10
- </string>
- <string name="client_frame_rate_warning_fps">
+ </floater.string>
+ <floater.string name="client_frame_rate_warning_fps">
15
- </string>
- <string name="client_frame_time_window_bg_msg">
+ </floater.string>
+ <floater.string name="client_frame_time_window_bg_msg">
Normal, janela por baixo
- </string>
- <string name="client_frame_time_critical_msg">
+ </floater.string>
+ <floater.string name="client_frame_time_critical_msg">
Taxa de quadros do Cliente abaixo de [CLIENT_FRAME_RATE_CRITICAL]
- </string>
- <string name="client_frame_time_warning_msg">
+ </floater.string>
+ <floater.string name="client_frame_time_warning_msg">
Taxa de quadros do Cliente entre [CLIENT_FRAME_RATE_CRITICAL] e [CLIENT_FRAME_RATE_WARNING]
- </string>
- <string name="client_frame_time_normal_msg">
+ </floater.string>
+ <floater.string name="client_frame_time_normal_msg">
Normal
- </string>
- <string name="client_draw_distance_cause_msg">
+ </floater.string>
+ <floater.string name="client_draw_distance_cause_msg">
Causa possível: Distância de desenho ajustada muito alta
- </string>
- <string name="client_texture_loading_cause_msg">
+ </floater.string>
+ <floater.string name="client_texture_loading_cause_msg">
Causa possível: Carregamento de Imagens
- </string>
- <string name="client_texture_memory_cause_msg">
+ </floater.string>
+ <floater.string name="client_texture_memory_cause_msg">
Causa possível: Muitas imagens na memória
- </string>
- <string name="client_complex_objects_cause_msg">
+ </floater.string>
+ <floater.string name="client_complex_objects_cause_msg">
Causa possível: Muitos objetos complexos na cena
- </string>
- <string name="network_text_msg">
+ </floater.string>
+ <floater.string name="network_text_msg">
Rede
- </string>
- <string name="network_packet_loss_critical_pct">
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_pct">
10
- </string>
- <string name="network_packet_loss_warning_pct">
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_pct">
5
- </string>
- <string name="network_packet_loss_critical_msg">
+ </floater.string>
+ <floater.string name="network_packet_loss_critical_msg">
Conexão está caindo para cerca de [NETWORK_PACKET_LOSS_CRITICAL]% de pacotes
- </string>
- <string name="network_packet_loss_warning_msg">
+ </floater.string>
+ <floater.string name="network_packet_loss_warning_msg">
Conexão está caindo [NETWORK_PACKET_LOSS_WARNING]%-[NETWORK_PACKET_LOSS_CRITICAL]% de pacotes
- </string>
- <string name="network_performance_normal_msg">
+ </floater.string>
+ <floater.string name="network_performance_normal_msg">
Normal
- </string>
- <string name="network_ping_critical_ms">
+ </floater.string>
+ <floater.string name="network_ping_critical_ms">
600
- </string>
- <string name="network_ping_warning_ms">
+ </floater.string>
+ <floater.string name="network_ping_warning_ms">
300
- </string>
- <string name="network_ping_critical_msg">
+ </floater.string>
+ <floater.string name="network_ping_critical_msg">
Tempo de conexão de ping é cerca de [NETWORK_PING_CRITICAL] ms
- </string>
- <string name="network_ping_warning_msg">
+ </floater.string>
+ <floater.string name="network_ping_warning_msg">
Tempo de conexão de ping é [NETWORK_PING_WARNING]-[NETWORK_PING_CRITICAL] ms
- </string>
- <string name="network_packet_loss_cause_msg">
+ </floater.string>
+ <floater.string name="network_packet_loss_cause_msg">
Possível conexão ruim ou &apos;Largura de Banda&apos; escolhida muito alta.
- </string>
- <string name="network_ping_cause_msg">
+ </floater.string>
+ <floater.string name="network_ping_cause_msg">
Possível conexão ruim ou aplicativos compartilhando arquivos.
- </string>
- <string name="server_text_msg">
+ </floater.string>
+ <floater.string name="server_text_msg">
Servidor
- </string>
- <string name="server_frame_rate_critical_fps">
+ </floater.string>
+ <floater.string name="server_frame_rate_critical_fps">
20
- </string>
- <string name="server_frame_rate_warning_fps">
+ </floater.string>
+ <floater.string name="server_frame_rate_warning_fps">
30
- </string>
- <string name="server_single_process_max_time_ms">
+ </floater.string>
+ <floater.string name="server_single_process_max_time_ms">
20
- </string>
- <string name="server_frame_time_critical_msg">
+ </floater.string>
+ <floater.string name="server_frame_time_critical_msg">
Taxa de quadros abaixo de [SERVER_FRAME_RATE_CRITICAL]
- </string>
- <string name="server_frame_time_warning_msg">
+ </floater.string>
+ <floater.string name="server_frame_time_warning_msg">
Taxa de quadros entre [SERVER_FRAME_RATE_CRITICAL] e [SERVER_FRAME_RATE_WARNING]
- </string>
- <string name="server_frame_time_normal_msg">
+ </floater.string>
+ <floater.string name="server_frame_time_normal_msg">
Normal
- </string>
- <string name="server_physics_cause_msg">
+ </floater.string>
+ <floater.string name="server_physics_cause_msg">
Causa possível: Muitos objetos físicos
- </string>
- <string name="server_scripts_cause_msg">
+ </floater.string>
+ <floater.string name="server_scripts_cause_msg">
Causa possível: Muitos objetos com scripts
- </string>
- <string name="server_net_cause_msg">
+ </floater.string>
+ <floater.string name="server_net_cause_msg">
Causa possível: Muito tráfego na rede
- </string>
- <string name="server_agent_cause_msg">
+ </floater.string>
+ <floater.string name="server_agent_cause_msg">
Causa possível: Muitas pessoas se movendo na região
- </string>
- <string name="server_images_cause_msg">
+ </floater.string>
+ <floater.string name="server_images_cause_msg">
Causa possível: Muitos cálculos de imagem
- </string>
- <string name="server_generic_cause_msg">
+ </floater.string>
+ <floater.string name="server_generic_cause_msg">
Causa possível: Carga no simulador muito pesada
- </string>
- <string name="smaller_label">
+ </floater.string>
+ <floater.string name="smaller_label">
&gt;&gt;
- </string>
- <string name="bigger_label">
+ </floater.string>
+ <floater.string name="bigger_label">
&lt;&lt;
- </string>
+ </floater.string>
+ <button label="" label_selected="" name="client_lagmeter" tool_tip="Status de atraso no Cliente"/>
+ <text name="client">
+ Cliente
+ </text>
+ <text font="SansSerifSmall" name="client_text">
+ Normal
+ </text>
+ <text left="30" name="client_lag_cause" right="-10"/>
+ <button label="" label_selected="" name="network_lagmeter" tool_tip="Status de atraso na rede"/>
+ <text name="network">
+ Rede
+ </text>
+ <text font="SansSerifSmall" name="network_text">
+ Normal
+ </text>
+ <text left="30" name="network_lag_cause" right="-10"/>
+ <button label="" label_selected="" name="server_lagmeter" tool_tip="Status de atraso no servidor"/>
+ <text name="server">
+ Servidor
+ </text>
+ <text font="SansSerifSmall" name="server_text">
+ Normal
+ </text>
+ <text left="30" name="server_lag_cause" right="-32"/>
+ <button label="&gt;&gt;" name="minimize" tool_tip="Alternar o tamanho da janela"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_land_holdings.xml b/indra/newview/skins/default/xui/pt/floater_land_holdings.xml
index d8588e2f05..2b0d6790f2 100644
--- a/indra/newview/skins/default/xui/pt/floater_land_holdings.xml
+++ b/indra/newview/skins/default/xui/pt/floater_land_holdings.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="land holdings floater" title="MEU TERRENO">
+<floater name="land holdings floater" title="MEUS TERRENOS">
<scroll_list name="parcel list">
- <column label="Nome do Lote" name="name"/>
+ <column label="Lote" name="name"/>
<column label="Região" name="location"/>
<column label="Tipo" name="type"/>
<column label="Área" name="area"/>
</scroll_list>
<button label="Teletransporte" label_selected="Teletransporte" name="Teleport" tool_tip="Teletransportar para o centro do terreno."/>
- <button width="130" label="Mostrar no mapa" label_selected="Mostrar no mapa" name="Show on Map" tool_tip="Mostrar esse terreno no mapa do mundo."/>
+ <button label="Mapa" label_selected="Mapa" name="Show on Map" tool_tip="Mostrar terreno na mápa-mundi" width="130"/>
<text name="contrib_label">
Contribuições para os seus grupos:
</text>
@@ -18,19 +18,19 @@
<text name="allowed_label" width="380">
Propriedades de terreno permitidas com o plano de pagamento atual:
</text>
- <text name="allowed_text" left_delta="390">
+ <text left_delta="390" name="allowed_text">
[AREA] m²
</text>
<text name="current_label">
Propriedades de terrenos atuais:
</text>
- <text name="current_text" left_delta="390">
+ <text left_delta="390" name="current_text">
[AREA] m²
</text>
<text name="available_label">
Disponível para compra de terras:
</text>
- <text name="available_text" left_delta="390">
+ <text left_delta="390" name="available_text">
[AREA] m²
</text>
<string name="area_string">
diff --git a/indra/newview/skins/default/xui/pt/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/pt/floater_live_lsleditor.xml
index c0b726c476..5ad116ac8a 100644
--- a/indra/newview/skins/default/xui/pt/floater_live_lsleditor.xml
+++ b/indra/newview/skins/default/xui/pt/floater_live_lsleditor.xml
@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="script ed float" title="SCRIPT: NOVO SCRIPT">
- <button label="Resetar" label_selected="Resetar" name="Reset"/>
- <check_box label="Correndo" name="running"/>
- <check_box label="Mono" name="mono" left="86"/>
- <string name="not_allowed">
- Você não tem permissão para visualizar este script.
- </string>
- <string name="script_running">
+ <floater.string name="not_allowed">
+ Você não pode ver ou editar o script, uma vez que está definido como &quot;não&quot; copiar. Você precisa de permissões para ver ou editar um script dentro de um objeto.
+ </floater.string>
+ <floater.string name="script_running">
Executando
- </string>
+ </floater.string>
+ <floater.string name="Title">
+ SCRIPT: [NAME]
+ </floater.string>
+ <button label="Resetar" label_selected="Resetar" name="Reset"/>
+ <check_box initial_value="true" label="Correndo" name="running"/>
+ <check_box initial_value="true" label="Mono" left="86" name="mono"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_lsl_guide.xml b/indra/newview/skins/default/xui/pt/floater_lsl_guide.xml
index 49a9e7fcf5..73f187f0e4 100644
--- a/indra/newview/skins/default/xui/pt/floater_lsl_guide.xml
+++ b/indra/newview/skins/default/xui/pt/floater_lsl_guide.xml
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<floater name="script ed float" title="LSL WIKI">
- <check_box label="Seguir o Cursor" name="lock_check" />
- <combo_box label="Bloquear" name="history_combo" left_delta="120" width="70"/>
- <button label="Anterior" name="back_btn" left_delta="75"/>
- <button label="Posterior" name="fwd_btn" />
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="script ed float" title="LSL REFERENCE">
+ <check_box label="Seguir o Cursor" name="lock_check"/>
+ <combo_box label="Bloquear" left_delta="120" name="history_combo" width="70"/>
+ <button label="Anterior" left_delta="75" name="back_btn"/>
+ <button label="Posterior" name="fwd_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_map.xml b/indra/newview/skins/default/xui/pt/floater_map.xml
index ff60f77c4b..3a04528228 100644
--- a/indra/newview/skins/default/xui/pt/floater_map.xml
+++ b/indra/newview/skins/default/xui/pt/floater_map.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Map">
+<floater name="Map" title="Mini Mapa">
<floater.string name="mini_map_north">
N
</floater.string>
diff --git a/indra/newview/skins/default/xui/pt/floater_media_browser.xml b/indra/newview/skins/default/xui/pt/floater_media_browser.xml
index 1cd6d5662c..7491218067 100644
--- a/indra/newview/skins/default/xui/pt/floater_media_browser.xml
+++ b/indra/newview/skins/default/xui/pt/floater_media_browser.xml
@@ -15,7 +15,7 @@
<button label="Ir" left_delta="505" name="go" width="35"/>
</layout_panel>
<layout_panel name="parcel_owner_controls">
- <button label="Enviar a URL atual para o terreno" name="assign"/>
+ <button label="Enviar esta página para lote" name="assign"/>
</layout_panel>
<layout_panel name="external_controls">
<button label="Abrir no meu Navegador de Web" name="open_browser" width="196"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_media_settings.xml b/indra/newview/skins/default/xui/pt/floater_media_settings.xml
new file mode 100644
index 0000000000..5af002c502
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_media_settings.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="media_settings" title="CONFIGURAÇÕES DE MÍDIA">
+ <button label="OK" label_selected="OK" name="OK"/>
+ <button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
+ <button label="Aplicar" label_selected="Aplicar" name="Apply"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_mem_leaking.xml b/indra/newview/skins/default/xui/pt/floater_mem_leaking.xml
index 4f93eb90e5..efb5da4ace 100644
--- a/indra/newview/skins/default/xui/pt/floater_mem_leaking.xml
+++ b/indra/newview/skins/default/xui/pt/floater_mem_leaking.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="MemLeak" title="SIMULAÇÃO DE PERDA DE MEMÓRIA">
+<floater name="MemLeak" title="SIMULAR UM VAZAMENTO DE MEMÓRIA">
<spinner label="Velocidade da Perda (bytes por quadro):" name="leak_speed"/>
<spinner label="Máximo de Memória Perdida (MB):" name="max_leak"/>
<text name="total_leaked_label">
diff --git a/indra/newview/skins/default/xui/pt/floater_moveview.xml b/indra/newview/skins/default/xui/pt/floater_moveview.xml
index 996a974254..f67a16bb46 100644
--- a/indra/newview/skins/default/xui/pt/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/pt/floater_moveview.xml
@@ -1,13 +1,35 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="move_floater">
-<panel name="panel_actions">
- <button label="" label_selected="" name="turn left btn" tool_tip="Virar à esquerda"/>
- <button label="" label_selected="" name="turn right btn" tool_tip="Virar à direita"/>
- <button label="" label_selected="" name="move up btn" tool_tip="Pular ou Voar"/>
- <button label="" label_selected="" name="move down btn" tool_tip="Agaixar ou pousar"/>
- <joystick_slide name="slide left btn" tool_tip="Mover para a esquerda"/>
- <joystick_slide name="slide right btn" tool_tip="Mover para a direita"/>
- <joystick_turn name="forward btn" tool_tip="Mover para a frente."/>
- <joystick_turn name="backward btn" tool_tip="Mover para trás"/>
-</panel>
+ <string name="walk_forward_tooltip">
+ Andar para frente (flecha para cima ou W)
+ </string>
+ <string name="walk_back_tooltip">
+ Andar para trás (flecha para baixo ou S)
+ </string>
+ <string name="run_forward_tooltip">
+ Correr para frente (flecha para cima ou W)
+ </string>
+ <string name="run_back_tooltip">
+ Correr para trás (flecha para baixo ou S)
+ </string>
+ <string name="fly_forward_tooltip">
+ Voar para frente (flecha para cima ou W)
+ </string>
+ <string name="fly_back_tooltip">
+ Voar para trás (flecha para baixo ou S)
+ </string>
+ <panel name="panel_actions">
+ <button label="" label_selected="" name="turn left btn" tool_tip="Virar à esquerda (flecha ESQ ou A)"/>
+ <button label="" label_selected="" name="turn right btn" tool_tip="Virar à direita (flecha DIR ou D)"/>
+ <button label="" label_selected="" name="move up btn" tool_tip="Voar para cima (tecla E)"/>
+ <button label="" label_selected="" name="move down btn" tool_tip="Voar para baixo (tecla C)"/>
+ <joystick_turn name="forward btn" tool_tip="Andar para frente (flecha para cima ou W)"/>
+ <joystick_turn name="backward btn" tool_tip="Andar para trás (flecha para baixo ou S)"/>
+ </panel>
+ <panel name="panel_modes">
+ <button label="" name="mode_walk_btn" tool_tip="Modo caminhar"/>
+ <button label="" name="mode_run_btn" tool_tip="Modo correr"/>
+ <button label="" name="mode_fly_btn" tool_tip="Modo voar"/>
+ <button label="Parar de voar" name="stop_fly_btn" tool_tip="Parar de voar"/>
+ </panel>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_mute_object.xml b/indra/newview/skins/default/xui/pt/floater_mute_object.xml
index cc669951c3..97fbd35fcc 100644
--- a/indra/newview/skins/default/xui/pt/floater_mute_object.xml
+++ b/indra/newview/skins/default/xui/pt/floater_mute_object.xml
@@ -1,12 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="mute by name" title="SILENCIAR OBJETO PELO NOME">
+<floater name="mute by name" title="BLOQUEAR OBJETO POR NOME">
<text name="message">
- Silenciar pelo nome afeta apenas conversa de objeto e MI,
-não sons. Você deve digitar o nome exato do objeto.
+ Bloquear o objeto:
</text>
<line_editor name="object_name">
Nome do objeto
</line_editor>
+ <text name="note">
+ * Bloquear apenas texto do objeto, não sons
+ </text>
<button label="OK" name="OK"/>
<button label="Cancelar" name="Cancel"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_nearby_chat.xml b/indra/newview/skins/default/xui/pt/floater_nearby_chat.xml
new file mode 100644
index 0000000000..5ba2dcd925
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_nearby_chat.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="nearby_chat" title="Bate-papo local"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_outfit_save_as.xml b/indra/newview/skins/default/xui/pt/floater_outfit_save_as.xml
new file mode 100644
index 0000000000..dec8a7676a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_outfit_save_as.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="modal container" title="Salvar este look">
+ <button label="Salvar" label_selected="Salvar" name="Save"/>
+ <button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
+ <text name="Save item as:">
+ Veja o meu novo visual:
+ </text>
+ <line_editor name="name ed">
+ [DESC] (new)
+ </line_editor>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_outgoing_call.xml b/indra/newview/skins/default/xui/pt/floater_outgoing_call.xml
new file mode 100644
index 0000000000..8a536b90db
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_outgoing_call.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="outgoing call" title="LIGANDO">
+ <floater.string name="lifetime">
+ 5
+ </floater.string>
+ <floater.string name="localchat">
+ Bate-papo local
+ </floater.string>
+ <floater.string name="anonymous">
+ anônimo
+ </floater.string>
+ <floater.string name="VoiceInviteP2P">
+ está ligando.
+ </floater.string>
+ <floater.string name="VoiceInviteAdHoc">
+ entrou numa ligação de voz via conferência.
+ </floater.string>
+ <text name="connecting">
+ Conectando com [CALLEE_NAME]
+ </text>
+ <text name="calling">
+ Ligando para [CALLEE_NAME]
+ </text>
+ <text name="noanswer">
+ Não há resposta. Tente novamente mais tarde.
+ </text>
+ <text name="nearby">
+ Você saiu da ligação com [VOICE_CHANNEL_NAME]. [RECONNECT_NEARBY]
+ </text>
+ <text name="nearby_P2P_by_other">
+ [VOICE_CHANNEL_NAME] encerrou a ligação. [RECONNECT_NEARBY]
+ </text>
+ <text name="nearby_P2P_by_agent">
+ Você encerrou a ligação. [RECONNECT_NEARBY]
+ </text>
+ <text name="leaving">
+ Saindo de [CURRENT_CHAT].
+ </text>
+ <button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_pay.xml b/indra/newview/skins/default/xui/pt/floater_pay.xml
index 187df8fd18..81c861687f 100644
--- a/indra/newview/skins/default/xui/pt/floater_pay.xml
+++ b/indra/newview/skins/default/xui/pt/floater_pay.xml
@@ -1,21 +1,25 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Give Money" title="">
- <button label="L$1" label_selected="L$1" name="fastpay 1" left="112" />
- <button label="L$5" label_selected="L$5" name="fastpay 5" />
- <button label="L$10" label_selected="L$10" name="fastpay 10" left="112" />
- <button label="L$20" label_selected="L$20" name="fastpay 20" />
- <button label="Pagar" label_selected="Pagar" name="pay btn" />
- <button label="Cancelar" label_selected="Cancelar" name="cancel btn" />
- <text name="payee_label" width="110" left="5">
- Pagar residente:
+ <string name="payee_group">
+ Pagar grupo
+ </string>
+ <string name="payee_resident">
+ Pagar residente
+ </string>
+ <text left="5" name="payee_label" width="110">
+ Pagar:
</text>
- <text name="payee_name" left="115">
+ <icon name="icon_person" tool_tip="Pessoa"/>
+ <text left="115" name="payee_name">
[FIRST] [LAST]
</text>
- <text name="fastpay text" width="120" halign="left">
- Pagamento rápido:
- </text>
- <text name="amount text" left="4" >
- Quantia:
+ <button label="L$1" label_selected="L$1" left="112" name="fastpay 1"/>
+ <button label="L$5" label_selected="L$5" name="fastpay 5"/>
+ <button label="L$10" label_selected="L$10" left="112" name="fastpay 10"/>
+ <button label="L$20" label_selected="L$20" name="fastpay 20"/>
+ <text left="4" name="amount text">
+ Outro valor:
</text>
+ <button label="Pagar" label_selected="Pagar" name="pay btn"/>
+ <button label="Cancelar" label_selected="Cancelar" name="cancel btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_pay_object.xml b/indra/newview/skins/default/xui/pt/floater_pay_object.xml
index 3a3dd9e52e..464afd7f18 100644
--- a/indra/newview/skins/default/xui/pt/floater_pay_object.xml
+++ b/indra/newview/skins/default/xui/pt/floater_pay_object.xml
@@ -1,31 +1,30 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Give Money" title="">
- <text name="payee_group" width="100" halign="left">
- Pagar Grupo:
- </text>
- <text name="payee_resident" width="120" halign="left" >
- Pagar residente:
- </text>
- <text name="payee_name" left="105">
+ <string halign="left" name="payee_group" width="100">
+ Pagar grupo
+ </string>
+ <string halign="left" name="payee_resident" width="120">
+ Pagar residente
+ </string>
+ <icon name="icon_person" tool_tip="Pessoa"/>
+ <text left="105" name="payee_name">
[FIRST] [LAST]
</text>
- <text name="object_name_label" left="5" width="95" halign="left">
+ <text halign="left" left="5" name="object_name_label" width="95">
Via objeto:
</text>
- <text name="object_name_text" left="105" >
- ...
- </text>
- <text name="fastpay text" width="115" halign="left">
- Pagamento Rápido:
+ <icon name="icon_object" tool_tip="Objects"/>
+ <text left="105" name="object_name_text">
+ Meu objeto maravilho, fantástico e com nome comprido e imaginativo
</text>
- <text name="amount text" left="5" halign="left">
- Quantia:
+ <button label="L$1" label_selected="L$1" left="125" name="fastpay 1" width="70"/>
+ <button label="L$5" label_selected="L$5" left="200" name="fastpay 5" width="70"/>
+ <button label="L$10" label_selected="L$10" left="125" name="fastpay 10" width="70"/>
+ <button label="L$20" label_selected="L$20" left="200" name="fastpay 20" width="70"/>
+ <text halign="left" left="5" name="amount text">
+ Outro valor:
</text>
- <button label="L$1" label_selected="L$1" name="fastpay 1" left="125" width="70"/>
- <button label="L$5" label_selected="L$5" name="fastpay 5" left="200" width="70"/>
- <button label="L$10" label_selected="L$10" name="fastpay 10" left="125" width="70"/>
- <button label="L$20" label_selected="L$20" name="fastpay 20" left="200" width="70"/>
- <button label="Pagar" label_selected="Pagar" name="pay btn" />
- <button label="Cancelar" label_selected="Cancelar" name="cancel btn" />
- <line_editor left="60" name="amount" width="50" />
+ <line_editor left="60" name="amount" width="50"/>
+ <button label="Pagar" label_selected="Pagar" name="pay btn"/>
+ <button label="Cancelar" label_selected="Cancelar" name="cancel btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_postcard.xml b/indra/newview/skins/default/xui/pt/floater_postcard.xml
index cf63726df2..d3c5b6ec23 100644
--- a/indra/newview/skins/default/xui/pt/floater_postcard.xml
+++ b/indra/newview/skins/default/xui/pt/floater_postcard.xml
@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Postcard" title="FOTO POR EMAIL">
+<floater name="Postcard" title="ENVIAR FOTO VIA EMAIL">
<text name="to_label" width="135">
Email do Destinatário:
</text>
- <line_editor name="to_form" left="143" width="127" />
+ <line_editor left="143" name="to_form" width="127"/>
<text name="from_label">
Seu Email:
</text>
- <line_editor name="from_form" left="143" width="127" />
+ <line_editor left="143" name="from_form" width="127"/>
<text name="name_label">
Seu nome:
</text>
- <line_editor name="name_form" left="143" width="127" />
+ <line_editor left="143" name="name_form" width="127"/>
<text name="subject_label">
Assunto:
</text>
- <line_editor name="subject_form" left="143" width="127" />
+ <line_editor left="143" name="subject_form" width="127"/>
<line_editor label="Digite seu assunto aqui." name="subject_form"/>
<text name="msg_label">
Mensagem:
@@ -29,7 +29,7 @@
<button label="Cancelar" name="cancel_btn"/>
<button label="Enviar" name="send_btn"/>
<string name="default_subject">
- Cartão postal do [SECOND_LIFE]
+ Postal do [SECOND_LIFE].
</string>
<string name="default_message">
Dá uma olhada nisto!
diff --git a/indra/newview/skins/default/xui/pt/floater_preferences.xml b/indra/newview/skins/default/xui/pt/floater_preferences.xml
index d2c3c79160..803f2f87b8 100644
--- a/indra/newview/skins/default/xui/pt/floater_preferences.xml
+++ b/indra/newview/skins/default/xui/pt/floater_preferences.xml
@@ -1,9 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Preferences" title="PREFERÊNCIAS" min_width="332" width="628">
+<floater min_width="332" name="Preferences" title="PREFERÊNCIAS" width="628">
<button label="OK" label_selected="OK" name="OK"/>
<button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
- <button label="Aplicar" label_selected="Aplicar" name="Apply"/>
- <button label="Sobre" label_selected="Sobre" name="About..."/>
- <button label="Ajuda" label_selected="Ajuda" name="Help"/>
- <tab_container name="pref core" tab_width="128" width="628" />
+ <tab_container name="pref core" tab_width="128" width="628">
+ <panel label="Público geral" name="general"/>
+ <panel label="Vídeo" name="display"/>
+ <panel label="Privacidade" name="im"/>
+ <panel label="Som e mídia" name="audio"/>
+ <panel label="Bate-papo" name="chat"/>
+ <panel label="Notificações" name="msgs"/>
+ <panel label="Configurações" name="input"/>
+ <panel label="Avançado" name="advanced1"/>
+ </tab_container>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_preview_animation.xml b/indra/newview/skins/default/xui/pt/floater_preview_animation.xml
index 26ca8f87e0..b66159354f 100644
--- a/indra/newview/skins/default/xui/pt/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/pt/floater_preview_animation.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="preview_anim">
+ <floater.string name="Title">
+ Animação: [NOME]
+ </floater.string>
<text name="desc txt">
Descrição:
</text>
- <button label="Executar in World" label_selected="Parar" left="20" name="Anim play btn" tool_tip="Executar esta animação para que outros vejam." width="131"/>
- <button label="Executar localmente" label_selected="Parar" left="162" name="Anim audition btn" tool_tip="Executar esta animação somente para você ver." width="125"/>
+ <button label="Tocar inworld" label_selected="Parar" left="20" name="Anim play btn" tool_tip="Tocar essa animação de forma que outros possam ver" width="131"/>
+ <button label="Executar localmente" label_selected="Parar" left="162" name="Anim audition btn" tool_tip="Tocar essa animação de forma que apenas você possa ver" width="125"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_preview_classified.xml b/indra/newview/skins/default/xui/pt/floater_preview_classified.xml
index 0e8814b9f8..bb626430ed 100644
--- a/indra/newview/skins/default/xui/pt/floater_preview_classified.xml
+++ b/indra/newview/skins/default/xui/pt/floater_preview_classified.xml
@@ -1,2 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="classified_preview" title="INFORMAÇÃO DO ANÚNCIO CLASSIFICADO"/>
+<floater name="classified_preview" title="INFORMAÇÕES CLASSIFICADAS">
+ <floater.string name="Title">
+ Classificados: [NAME]
+ </floater.string>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_preview_event.xml b/indra/newview/skins/default/xui/pt/floater_preview_event.xml
index c03feacf0c..b422580f3b 100644
--- a/indra/newview/skins/default/xui/pt/floater_preview_event.xml
+++ b/indra/newview/skins/default/xui/pt/floater_preview_event.xml
@@ -1,2 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="event_preview" title="INFORMAÇÃO DO EVENTO"/>
+<floater name="event_preview" title="DADOS DO EVENTO">
+ <floater.string name="Title">
+ Evento: [NAME]
+ </floater.string>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml b/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml
index 87bf86c282..48f27f1968 100644
--- a/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml
+++ b/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml
@@ -1,14 +1,32 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="gesture_preview">
- <string name="stop_txt">
+ <floater.string name="step_anim">
+ Selecionar animação:
+ </floater.string>
+ <floater.string name="step_sound">
+ Selecionar animação:
+ </floater.string>
+ <floater.string name="step_chat">
+ Diga por bate-papo:
+ </floater.string>
+ <floater.string name="step_wait">
+ Espere:
+ </floater.string>
+ <floater.string name="stop_txt">
Parar
- </string>
- <string name="preview_txt">
+ </floater.string>
+ <floater.string name="preview_txt">
Prévia
- </string>
- <string name="none_text">
+ </floater.string>
+ <floater.string name="none_text">
-- Nenhum --
- </string>
+ </floater.string>
+ <floater.string name="Title">
+ Gesto: [NAME]
+ </floater.string>
+ <text name="name_text">
+ Nome:
+ </text>
<text name="desc_label">
Descrição:
</text>
@@ -22,37 +40,30 @@
<text name="key_label">
Tecla de Atalho:
</text>
- <combo_box label="Nenhum" name="modifier_combo" left="116" width="76"/>
- <combo_box label="Nenhum" name="key_combo" width="76" left_delta="80"/>
+ <combo_box label="Nenhum" left="116" name="modifier_combo" width="76"/>
+ <combo_box label="Nenhum" left_delta="80" name="key_combo" width="76"/>
<text name="library_label">
Biblioteca:
</text>
+ <scroll_list name="library_list" width="84"/>
+ <button label="Incluir" left="118" name="add_btn" width="87"/>
<text name="steps_label">
Passos:
</text>
- <scroll_list name="library_list" width="84">
- Animação
-Som
-Bate Papo
-Esperar
- </scroll_list>
- <button label="Incluir" name="add_btn" left="118" width="87"/>
- <button label="Mover Para Cima" name="up_btn" width="114" left_delta="-13"/>
- <button label="Mover Para Baixo" name="down_btn" width="114"/>
- <button label="Remover" name="delete_btn" width="84" left_delta="13"/>
- <scroll_list left="226" name="step_list" width="205" />
- <text name="help_label">
- Todos os passos acontecem
-simultaneamente, a menos que
-você inclua passos de espera.
- </text>
+ <scroll_list left="226" name="step_list" width="205"/>
+ <button label="P/ cima" left_delta="-13" name="up_btn" width="114"/>
+ <button label="P/ baixo" name="down_btn" width="114"/>
+ <button label="Remover" left_delta="13" name="delete_btn" width="84"/>
<radio_group name="animation_trigger_type">
- <radio_item name="start" label="Iniciar" />
- <radio_item name="stop" label="Parar" />
+ <radio_item label="OK" name="start"/>
+ <radio_item label="Pare" name="stop"/>
</radio_group>
- <check_box bottom_delta="34" label="até que as animações estejam &#10;concluídas" name="wait_anim_check"/>
+ <check_box bottom_delta="34" label="até que as animações estejam concluídas" name="wait_anim_check"/>
<check_box bottom_delta="-30" label="tempo em segundos" name="wait_time_check"/>
- <line_editor left_delta="130" name="wait_time_editor" />
+ <line_editor left_delta="130" name="wait_time_editor"/>
+ <text name="help_label">
+ Se não incluir etapas de espera, todas as etapas ocorrem ao mesmo tempo.
+ </text>
<check_box label="Ativar" name="active_check" tool_tip="Gestos ativos podem ser gatilhados escrevendo suas frases de gatilho no chat ou através de suas teclas de atalho. Gestos normalmente ficam inativos quando existe um conflito nas teclas de atalho."/>
<button label="Prévia" name="preview_btn"/>
<button label="Salvar" name="save_btn"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_preview_gesture_info.xml b/indra/newview/skins/default/xui/pt/floater_preview_gesture_info.xml
new file mode 100644
index 0000000000..aabcff70d3
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_preview_gesture_info.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Gesture" title="ATALHO DE GESTO"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_preview_gesture_shortcut.xml b/indra/newview/skins/default/xui/pt/floater_preview_gesture_shortcut.xml
new file mode 100644
index 0000000000..64bb7785f6
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_preview_gesture_shortcut.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Gesture" title="ATALHO DE GESTO">
+ <text name="trigger_label">
+ Bate-papo:
+ </text>
+ <text name="key_label">
+ Tecla:
+ </text>
+ <combo_box label="Nenhum" name="modifier_combo"/>
+ <combo_box label="Nenhum" name="key_combo"/>
+ <text name="replace_text" tool_tip="Substituir a(s) palavra(s) de comando. Por exemplo, substitua o comando &apos;olá&apos; por &apos;oi&apos; para trocar &apos;Olá, tudo bem&apos; por &apos;Oi tudo bem&apos;. O gesto também será executado.">
+ Trocar:
+ </text>
+ <line_editor name="replace_editor" tool_tip="Substituir a(s) palavra(s) de comando. Por exemplo, substitua o comando &apos;olá&apos; por &apos;oi&apos; para trocar &apos;Olá, tudo bem&apos; por &apos;Oi tudo bem&apos;. O gesto também será executado."/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_preview_gesture_steps.xml b/indra/newview/skins/default/xui/pt/floater_preview_gesture_steps.xml
new file mode 100644
index 0000000000..aabcff70d3
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_preview_gesture_steps.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Gesture" title="ATALHO DE GESTO"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_preview_notecard.xml b/indra/newview/skins/default/xui/pt/floater_preview_notecard.xml
index 6f8944942a..e648a7d873 100644
--- a/indra/newview/skins/default/xui/pt/floater_preview_notecard.xml
+++ b/indra/newview/skins/default/xui/pt/floater_preview_notecard.xml
@@ -1,16 +1,22 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="preview notecard" title="NOTA:">
- <button label="Salvar" label_selected="Salvar" name="Save"/>
+<floater name="preview notecard" title="Anotação:">
+ <floater.string name="no_object">
+ O objeto com esta anotação não foi encontrado.
+ </floater.string>
+ <floater.string name="not_allowed">
+ Você não está autorizado a ler esta nota.
+ </floater.string>
+ <floater.string name="Title">
+ Anotação: [NAME]
+ </floater.string>
+ <floater.string label="Salvar" label_selected="Salvar" name="Save">
+ Salvar
+ </floater.string>
<text name="desc txt">
Descrição:
</text>
<text_editor name="Notecard Editor">
Carregando...
</text_editor>
- <string name="no_object">
- Não foi possível encontrar o objeto que contém esta nota.
- </string>
- <string name="not_allowed">
- Você não tem permissão de visualizar esta nota.
- </string>
+ <button label="Salvar" label_selected="Salvar" name="Save"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_preview_sound.xml b/indra/newview/skins/default/xui/pt/floater_preview_sound.xml
index 3dd2f84f91..7c5a1538f2 100644
--- a/indra/newview/skins/default/xui/pt/floater_preview_sound.xml
+++ b/indra/newview/skins/default/xui/pt/floater_preview_sound.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="preview_sound">
+ <floater.string name="Title">
+ Som: [NAME]
+ </floater.string>
<text name="desc txt">
Descrição:
</text>
- <button left_delta="-132" label="Executar in-World" label_selected="Executar in-World" name="Sound play btn" tool_tip="Executar este som para que todos possam ouvi-lo."/>
- <button width="135" left="152" label="Executar Localmente" label_selected="Executar Localmente" name="Sound audition btn" tool_tip="Executar este som somente para você ouvir."/>
+ <button label="Tocar inworld" label_selected="Tocar inworld" left_delta="-132" name="Sound play btn" tool_tip="Tocar som para todos ouvirem"/>
+ <button label="Executar Localmente" label_selected="Executar Localmente" left="152" name="Sound audition btn" tool_tip="Tocar som de forma que apenas você possa ouvir" width="135"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_preview_texture.xml b/indra/newview/skins/default/xui/pt/floater_preview_texture.xml
index 72bc42fa19..6f39635240 100644
--- a/indra/newview/skins/default/xui/pt/floater_preview_texture.xml
+++ b/indra/newview/skins/default/xui/pt/floater_preview_texture.xml
@@ -1,9 +1,47 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="preview_texture">
+ <floater.string name="Title">
+ Textura: [NAME]
+ </floater.string>
+ <floater.string name="Copy">
+ Copiar para inventário
+ </floater.string>
<text name="desc txt">
Descrição:
</text>
<text name="dimensions">
- Dimensões: [WIDTH] x [HEIGHT]
+ [WIDTH]px x [HEIGHT]px
</text>
+ <text name="aspect_ratio">
+ Visualizar relação de aspecto
+ </text>
+ <combo_box name="combo_aspect_ratio" tool_tip="Visualizar com proporção de aspecto fixa">
+ <combo_item name="Unconstrained">
+ Sem limites
+ </combo_item>
+ <combo_item name="1:1" tool_tip="Símbolo ou perfil RW do grupo">
+ 1:1
+ </combo_item>
+ <combo_item name="4:3" tool_tip="[SECOND_LIFE] perfil">
+ 4:3
+ </combo_item>
+ <combo_item name="10:7" tool_tip="Procurar anúncios classificados e marcos">
+ 10:7
+ </combo_item>
+ <combo_item name="3:2" tool_tip="Sobre terrenos">
+ 3:2
+ </combo_item>
+ <combo_item name="16:10">
+ 16:10
+ </combo_item>
+ <combo_item name="16:9" tool_tip="Perfis destacados">
+ 16:9
+ </combo_item>
+ <combo_item name="2:1">
+ 2:1
+ </combo_item>
+ </combo_box>
+ <button label="OK" name="Keep"/>
+ <button label="Descartar" name="Discard"/>
+ <button label="Salvar como" name="save_tex_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_report_abuse.xml b/indra/newview/skins/default/xui/pt/floater_report_abuse.xml
index 0d226a9502..08413a9231 100644
--- a/indra/newview/skins/default/xui/pt/floater_report_abuse.xml
+++ b/indra/newview/skins/default/xui/pt/floater_report_abuse.xml
@@ -1,11 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_report_abuse" title="REPORTAR ABUSO">
- <check_box label="Incluir cópia da tela" name="screen_check"/>
+ <floater.string name="Screenshot">
+ Captura de tela
+ </floater.string>
+ <check_box label="Usar esta captura de tela" name="screen_check"/>
<text name="reporter_title">
Denunciador:
</text>
<text name="reporter_field">
- Loremipsum Dolorsitamut
+ Loremipsum Dolorsitamut Longnamez
</text>
<text name="sim_title">
Região:
@@ -20,11 +23,11 @@
{128.1, 128.1, 15.4}
</text>
<text name="select_object_label">
- Clique no botão e em seguida no objeto:
+ Clique no botão e em seguida no objeto abusivo:
</text>
<button label="" label_selected="" name="pick_btn" tool_tip="Object Picker - Identifica um objeto como o assunto deste report"/>
<text name="object_name_label">
- Nome:
+ Objeto:
</text>
<text name="object_name">
Consetetur Sadipscing
@@ -33,54 +36,53 @@
Proprietário:
</text>
<text name="owner_name">
- Hendrerit Vulputate
+ Hendrerit Vulputate Kamawashi Longname
</text>
<combo_box name="category_combo" tool_tip="Categoria -- Selecione a categoria que melhor descreve este report">
- <combo_box.item name="Select_category" label="Selecionar categoria"/>
- <combo_box.item name="Age__Age_play" label="Idade &gt; Idade no jogo"/>
- <combo_box.item name="Age__Adult_resident_on_Teen_Second_Life" label="Idade &gt; Residente adulto no Second Life Jovem"/>
- <combo_box.item name="Age__Underage_resident_outside_of_Teen_Second_Life" label="Idade &gt; Residente menor de idade fora do Second Life Teen"/>
- <combo_box.item name="Assault__Combat_sandbox___unsafe_area" label="Assalto &gt; Sandbox de combate / área não segura"/>
- <combo_box.item name="Assault__Safe_area" label="Assalto &gt; Área segura"/>
- <combo_box.item name="Assault__Weapons_testing_sandbox" label="Assalto &gt; Testando armas em sandbox"/>
- <combo_box.item name="Commerce__Failure_to_deliver_product_or_service" label="Comércio &gt; Falha em enviar produto ou serviço"/>
- <combo_box.item name="Disclosure__Real_world_information" label="Revelar &gt; Informação do mundo real"/>
- <combo_box.item name="Disclosure__Remotely_monitoring chat" label="Revelar &gt; Conversa monitorada remotamente"/>
- <combo_box.item name="Disclosure__Second_Life_information_chat_IMs" label="Revelar &gt; Informação do Second Life/conversa/MIs"/>
- <combo_box.item name="Disturbing_the_peace__Unfair_use_of_region_resources" label="Distúrbio da paz &gt; Uso injusto dos recursos da região"/>
- <combo_box.item name="Disturbing_the_peace__Excessive_scripted_objects" label="Distúrbio da paz &gt; Objetos com excesso de scripts"/>
- <combo_box.item name="Disturbing_the_peace__Object_littering" label="Distúrbio da paz &gt; Objeto despejando lixo"/>
- <combo_box.item name="Disturbing_the_peace__Repetitive_spam" label="Distúrbio da paz &gt; Spam repetitivo"/>
- <combo_box.item name="Disturbing_the_peace__Unwanted_advert_spam" label="Distúrbio da paz &gt; Spam de anúncio indesejado"/>
- <combo_box.item name="Fraud__L$" label="Fraude &gt; L$"/>
- <combo_box.item name="Fraud__Land" label="Fraude &gt; Terra"/>
- <combo_box.item name="Fraud__Pyramid_scheme_or_chain_letter" label="Fraude &gt; Esquema de pirâmide ou cartas encadeadas"/>
- <combo_box.item name="Fraud__US$" label="Fraude &gt; R$"/>
- <combo_box.item name="Harassment__Advert_farms___visual_spam" label="Perturbação &gt; Fazendas de Anúncios / spam visual"/>
- <combo_box.item name="Harassment__Defaming_individuals_or_groups" label="Perturbação &gt; Difamação de indivíduos ou grupos"/>
- <combo_box.item name="Harassment__Impeding_movement" label="Perturbação &gt; Impedindo movimentos"/>
- <combo_box.item name="Harassment__Sexual_harassment" label="Perturbação &gt; Perturbação sexual"/>
- <combo_box.item name="Harassment__Solicting_inciting_others_to_violate_ToS" label="Perturbação &gt; Solicitando/incitando outros a violarem o ToS"/>
- <combo_box.item name="Harassment__Verbal_abuse" label="Perturbação &gt; Abuso verbal"/>
- <combo_box.item name="Indecency__Broadly_offensive_content_or_conduct" label="Indecência &gt; Conteúdo ou conduta amplamente ofensivos"/>
- <combo_box.item name="Indecency__Inappropriate_avatar_name" label="Indecência &gt; Nome de avatar inapropriado"/>
- <combo_box.item name="Indecency__Mature_content_in_PG_region" label="Indecência &gt; Conduta ou conteúdo inapropriados numa região PG"/>
- <combo_box.item name="Indecency__Inappropriate_content_in_Mature_region" label="Indecência &gt; Conduta ou conteúdo inapropriados numa região Mature"/>
- <combo_box.item name="Intellectual_property_infringement_Content_Removal" label="Violação de propriedade intelectual &gt; Remoção de Conteúdo"/>
- <combo_box.item name="Intellectual_property_infringement_CopyBot_or_Permissions_Exploit" label="Violação de Propriedade intelectual &gt; Cópia Ilegal ou Aproveitar-se de Permissões"/>
- <combo_box.item name="Intolerance" label="Intolerância"/>
- <combo_box.item name="Land__Abuse_of_sandbox_resources" label="Terra &gt; Abuso dos recursos da sandbox"/>
- <combo_box.item name="Land__Encroachment__Objects_textures" label="Terra &gt; Invasão &gt; Objetos/texturas"/>
- <combo_box.item name="Land__Encroachment__Particles" label="Terra &gt; Invasão &gt; Partículas"/>
- <combo_box.item name="Land__Encroachment__Trees_plants" label="Terra &gt; Violação &gt; Árvores/plantas"/>
- <combo_box.item name="Wagering_gambling" label="Apostas/jogos de azar"/>
- <combo_box.item name="Other" label="Outro"/>
+ <combo_box.item label="Selecionar categoria" name="Select_category"/>
+ <combo_box.item label="Idade &gt; Idade no jogo" name="Age__Age_play"/>
+ <combo_box.item label="Idade &gt; Residente adulto ou adolescente" name="Age__Adult_resident_on_Teen_Second_Life"/>
+ <combo_box.item label="Idade &gt; Residente menor de idade, fora do Second Life teen" name="Age__Underage_resident_outside_of_Teen_Second_Life"/>
+ <combo_box.item label="Assalto &gt; Sandbox de combate / área não segura" name="Assault__Combat_sandbox___unsafe_area"/>
+ <combo_box.item label="Assalto &gt; Área segura" name="Assault__Safe_area"/>
+ <combo_box.item label="Assalto &gt; Testando armas em sandbox" name="Assault__Weapons_testing_sandbox"/>
+ <combo_box.item label="Comércio &gt; Falha em enviar produto ou serviço" name="Commerce__Failure_to_deliver_product_or_service"/>
+ <combo_box.item label="Revelar &gt; Informação do mundo real" name="Disclosure__Real_world_information"/>
+ <combo_box.item label="Revelar &gt; Conversa monitorada remotamente" name="Disclosure__Remotely_monitoring chat"/>
+ <combo_box.item label="Revelar &gt; Informação do Second Life/conversa/MIs" name="Disclosure__Second_Life_information_chat_IMs"/>
+ <combo_box.item label="Distúrbio da paz &gt; Uso injusto dos recursos da região" name="Disturbing_the_peace__Unfair_use_of_region_resources"/>
+ <combo_box.item label="Distúrbio da paz &gt; Objetos com excesso de scripts" name="Disturbing_the_peace__Excessive_scripted_objects"/>
+ <combo_box.item label="Distúrbio da paz &gt; Objeto despejando lixo" name="Disturbing_the_peace__Object_littering"/>
+ <combo_box.item label="Distúrbio da paz &gt; Spam repetitivo" name="Disturbing_the_peace__Repetitive_spam"/>
+ <combo_box.item label="Distúrbio da paz &gt; Spam de anúncio indesejado" name="Disturbing_the_peace__Unwanted_advert_spam"/>
+ <combo_box.item label="Fraude &gt; L$" name="Fraud__L$"/>
+ <combo_box.item label="Fraude &gt; Terra" name="Fraud__Land"/>
+ <combo_box.item label="Fraude &gt; Esquema de pirâmide ou cartas encadeadas" name="Fraud__Pyramid_scheme_or_chain_letter"/>
+ <combo_box.item label="Fraude &gt; R$" name="Fraud__US$"/>
+ <combo_box.item label="Perturbação &gt; Fazendas de Anúncios / spam visual" name="Harassment__Advert_farms___visual_spam"/>
+ <combo_box.item label="Perturbação &gt; Difamação de indivíduos ou grupos" name="Harassment__Defaming_individuals_or_groups"/>
+ <combo_box.item label="Perturbação &gt; Impedindo movimentos" name="Harassment__Impeding_movement"/>
+ <combo_box.item label="Perturbação &gt; Perturbação sexual" name="Harassment__Sexual_harassment"/>
+ <combo_box.item label="Perturbação &gt; Solicitando/incitando outros a violarem o ToS" name="Harassment__Solicting_inciting_others_to_violate_ToS"/>
+ <combo_box.item label="Perturbação &gt; Abuso verbal" name="Harassment__Verbal_abuse"/>
+ <combo_box.item label="Indecência &gt; Conteúdo ou conduta amplamente ofensivos" name="Indecency__Broadly_offensive_content_or_conduct"/>
+ <combo_box.item label="Indecência &gt; Nome de avatar inapropriado" name="Indecency__Inappropriate_avatar_name"/>
+ <combo_box.item label="Indecência &gt; Conduta ou conteúdo inapropriados numa região PG" name="Indecency__Mature_content_in_PG_region"/>
+ <combo_box.item label="Indecência &gt; Conduta ou conteúdo inapropriados numa região Mature" name="Indecency__Inappropriate_content_in_Mature_region"/>
+ <combo_box.item label="Violação de propriedade intelectual &gt; Remoção de Conteúdo" name="Intellectual_property_infringement_Content_Removal"/>
+ <combo_box.item label="Violação de Propriedade intelectual &gt; Cópia Ilegal ou Aproveitar-se de Permissões" name="Intellectual_property_infringement_CopyBot_or_Permissions_Exploit"/>
+ <combo_box.item label="Intolerância" name="Intolerance"/>
+ <combo_box.item label="Terra &gt; Abuso dos recursos da sandbox" name="Land__Abuse_of_sandbox_resources"/>
+ <combo_box.item label="Terra &gt; Invasão &gt; Objetos/texturas" name="Land__Encroachment__Objects_textures"/>
+ <combo_box.item label="Terra &gt; Invasão &gt; Partículas" name="Land__Encroachment__Particles"/>
+ <combo_box.item label="Terra &gt; Violação &gt; Árvores/plantas" name="Land__Encroachment__Trees_plants"/>
+ <combo_box.item label="Apostas/jogos de azar" name="Wagering_gambling"/>
+ <combo_box.item label="Outro" name="Other"/>
</combo_box>
<text name="abuser_name_title">
Nome do Denunciado:
</text>
- <button label="Escolher Residente" label_selected="" name="select_abuser" tool_tip="Selecione o nome do Denunciado numa lista"/>
- <check_box label="Não sei o nome do denunciado" name="omit_abuser_name" tool_tip="Marque aqui se você não consegue fornecer o nome do denunciado"/>
+ <button label="Selecionar" label_selected="" name="select_abuser" tool_tip="Selecione o nome do Denunciado numa lista"/>
<text name="abuser_name_title2">
Local do Abuso:
</text>
@@ -91,13 +93,11 @@
Detalhes:
</text>
<text name="bug_aviso">
- Por favor, seja específico(a) sobre data, localidade,
-natureza do abuso, texto relevante de conversa/MI e
-selecione o objeto, se possível.
+ Seja o mais específico possível
</text>
<text name="incomplete_title">
- Nota: Relatos incompletos não serão investigados.
+ * Denúncias incompletas não serão investigadas
</text>
- <button label="Cancelar" label_selected="Cancelar" name="cancel_btn"/>
<button label="Reportar Abuso" label_selected="Reportar Abuso" name="send_btn"/>
+ <button label="Cancelar" label_selected="Cancelar" name="cancel_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_script_debug_panel.xml b/indra/newview/skins/default/xui/pt/floater_script_debug_panel.xml
new file mode 100644
index 0000000000..e70a30fa24
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_script_debug_panel.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="script" short_title="[ALL SCRIPTS]" title="[ALL SCRIPTS]"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_script_limits.xml b/indra/newview/skins/default/xui/pt/floater_script_limits.xml
new file mode 100644
index 0000000000..64a8a49c85
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_script_limits.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="scriptlimits" title="DADOS DO SCRIPT"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_script_preview.xml b/indra/newview/skins/default/xui/pt/floater_script_preview.xml
index 3c0570791c..5be866d052 100644
--- a/indra/newview/skins/default/xui/pt/floater_script_preview.xml
+++ b/indra/newview/skins/default/xui/pt/floater_script_preview.xml
@@ -1,5 +1,8 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="preview lsl text" title="SCRIPT: ROTATION SCRIPT">
+ <floater.string name="Title">
+ SCRIPT: [NAME]
+ </floater.string>
<text name="desc txt">
Descrição:
</text>
diff --git a/indra/newview/skins/default/xui/pt/floater_script_queue.xml b/indra/newview/skins/default/xui/pt/floater_script_queue.xml
index 6e0e174c07..5fb6dd1c35 100644
--- a/indra/newview/skins/default/xui/pt/floater_script_queue.xml
+++ b/indra/newview/skins/default/xui/pt/floater_script_queue.xml
@@ -1,4 +1,19 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="queue" title="RESETAR PROGRESSO">
+ <floater.string name="Starting">
+ Iniciando [START] de [COUNT] items.
+ </floater.string>
+ <floater.string name="Done">
+ Pronto.
+ </floater.string>
+ <floater.string name="Resetting">
+ Redefinindo
+ </floater.string>
+ <floater.string name="Running">
+ Executando
+ </floater.string>
+ <floater.string name="NotRunning">
+ Inerte
+ </floater.string>
<button label="Fechar" label_selected="Fechar" name="close"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_script_search.xml b/indra/newview/skins/default/xui/pt/floater_script_search.xml
index 3a62f1711f..8878590a4e 100644
--- a/indra/newview/skins/default/xui/pt/floater_script_search.xml
+++ b/indra/newview/skins/default/xui/pt/floater_script_search.xml
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="script search" title="BUSCA DE SCRIPT" width="320">
- <check_box label="Não diferenciar Maiúsculas de Minúsculas" name="case_text" left="75"/>
+<floater name="script search" title="BUSCAR SCRIPT" width="320">
+ <check_box label="Não diferenciar Maiúsculas de Minúsculas" left="75" name="case_text"/>
<button label="Buscar" label_selected="Buscar" name="search_btn" width="85"/>
- <button label="Substituir" label_selected="Substituir" name="replace_btn" left="100" width="85"/>
- <button label="Substituir Tudo" label_selected="Substituir Tudo" name="replace_all_btn" left="190" width="122"/>
+ <button label="Substituir" label_selected="Substituir" left="100" name="replace_btn" width="85"/>
+ <button label="Substituir Tudo" label_selected="Substituir Tudo" left="190" name="replace_all_btn" width="122"/>
<text name="txt" width="65">
Buscar
</text>
<text name="txt2" width="65">
Substituir
</text>
- <line_editor left="75" name="search_text" width="240" />
- <line_editor left="75" name="replace_text" width="240" />
+ <line_editor left="75" name="search_text" width="240"/>
+ <line_editor left="75" name="replace_text" width="240"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_search.xml b/indra/newview/skins/default/xui/pt/floater_search.xml
new file mode 100644
index 0000000000..4bf7181180
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_search.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_search" title="BUSCAR">
+ <floater.string name="loading_text">
+ Carregando...
+ </floater.string>
+ <floater.string name="done_text">
+ Pronto
+ </floater.string>
+ <layout_stack name="stack1">
+ <layout_panel name="browser_layout">
+ <text name="refresh_search">
+ Buscar novamente com status God
+ </text>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_select_key.xml b/indra/newview/skins/default/xui/pt/floater_select_key.xml
index e41a565d11..7264a5a713 100644
--- a/indra/newview/skins/default/xui/pt/floater_select_key.xml
+++ b/indra/newview/skins/default/xui/pt/floater_select_key.xml
@@ -2,6 +2,6 @@
<floater name="modal container" title="">
<button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
<text name="Save item as:">
- Aperte uma tecla para selecionar
+ Pressione uma tecla para definir o seu botão Falar.
</text>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_sell_land.xml b/indra/newview/skins/default/xui/pt/floater_sell_land.xml
index f58c4098ef..e6d4dc7ed6 100644
--- a/indra/newview/skins/default/xui/pt/floater_sell_land.xml
+++ b/indra/newview/skins/default/xui/pt/floater_sell_land.xml
@@ -1,65 +1,65 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="sell land" title="VENDER TERRENO">
- <scroll_container name="profile_scroll">
- <panel name="scroll_content_panel">
- <text name="info_parcel_label">
- Lote:
- </text>
- <text name="info_parcel">
- Nome do Lote
- </text>
- <text name="info_size_label">
- Tamanho:
- </text>
- <text name="info_size">
- [AREA] m²
- </text>
- <text name="info_action" bottom_delta="-67">
- Para vender este lote:
- </text>
- <icon bottom_delta="-66" name="step_price" />
- <text name="price_label">
- Defina um preço:
- </text>
- <text name="price_text">
- Escolha um preço apropriado para esta terra.
- </text>
- <text name="price_ld">
- L$
- </text>
- <text name="price_per_m">
- (L$[PER_METER] por m²)
- </text>
- <text name="sell_to_label">
- Vender esta terra para:
- </text>
- <text name="sell_to_text">
- Escolha se venderá para qualquer um ou para um comprador em
-particular.
- </text>
- <combo_box name="sell_to" bottom_delta="-32">
- <combo_box.item name="--selectone--" label="Selecione um --" />
- <combo_box.item name="Anyone" label="Qualquer um" />
- <combo_box.item name="Specificuser:" label="Usuário Específico:" />
- </combo_box>
- <button label="Selecione..." name="sell_to_select_agent"/>
- <text name="sell_objects_label">
- Vender os objetos com a terra?
- </text>
- <text name="sell_objects_text">
- Os objetos tranferíveis do proprietário do terreno que estão neste
-lote irão mudar de propriedade.
- </text>
- <radio_group name="sell_objects" bottom_delta="-58">
- <radio_item name="no" label="Não, manter a propriedade sobre os objetos" />
- <radio_item name="yes" label="Sim, vender objetos com a terra" />
- </radio_group>
- <button label="Mostrar Objetos" name="show_objects"/>
- <text name="nag_message_label">
- LEMBRE-SE: Todas as vendas são finais.
- </text>
- <button label="Definir Terra para Venda" name="sell_btn"/>
- <button label="Cancelar" name="cancel_btn"/>
- </panel>
- </scroll_container>
+ <scroll_container name="profile_scroll">
+ <panel name="scroll_content_panel">
+ <text name="info_parcel_label">
+ Lote:
+ </text>
+ <text name="info_parcel">
+ NOME DO LOTE
+ </text>
+ <text name="info_size_label">
+ Tamanho:
+ </text>
+ <text name="info_size">
+ [AREA] m²
+ </text>
+ <text bottom_delta="-67" name="info_action">
+ Para vender este terreno:
+ </text>
+ <text name="price_label">
+ 1. Preço:
+ </text>
+ <text name="price_text">
+ Determine o preço adequado.
+ </text>
+ <text name="price_ld">
+ L$
+ </text>
+ <line_editor name="price">
+ 0
+ </line_editor>
+ <text name="price_per_m">
+ (L$[PER_METER] por m²)
+ </text>
+ <text name="sell_to_label">
+ 2. Vender para:
+ </text>
+ <text name="sell_to_text">
+ Vender para qualquer pessoa ou determinado comprador.
+ </text>
+ <combo_box bottom_delta="-32" name="sell_to">
+ <combo_box.item label="- Selecione -" name="--selectone--"/>
+ <combo_box.item label="Todos" name="Anyone"/>
+ <combo_box.item label="Pessoa específica:" name="Specificuser:"/>
+ </combo_box>
+ <button label="Selecionar" name="sell_to_select_agent"/>
+ <text name="sell_objects_label">
+ 3. Vender o terreno com os objetos?
+ </text>
+ <text name="sell_objects_text">
+ O objetos transferíveis do terreno passam a ser do novo dono.
+ </text>
+ <radio_group bottom_delta="-58" name="sell_objects">
+ <radio_item label="Não, os objetos continuam sendo meus" name="no"/>
+ <radio_item label="Sim, vender o terreno com os objetos" name="yes"/>
+ </radio_group>
+ <button label="Mostrar objetos" name="show_objects"/>
+ <text name="nag_message_label">
+ LEMBRE-SE: Qualquer transação de compra e venda é irreversível.
+ </text>
+ <button label="Colocar terreno à venda" name="sell_btn"/>
+ <button label="Cancelar" name="cancel_btn"/>
+ </panel>
+ </scroll_container>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_settings_debug.xml b/indra/newview/skins/default/xui/pt/floater_settings_debug.xml
index 394a9771e0..c6694d13b2 100644
--- a/indra/newview/skins/default/xui/pt/floater_settings_debug.xml
+++ b/indra/newview/skins/default/xui/pt/floater_settings_debug.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="settings_debug" title="CONFIGURAÇÕES DE DEBUG">
- <combo_box name="boolean_combo">
- <combo_box.item name="TRUE" label="VERDADEIRO" />
- <combo_box.item name="FALSE" label="FALSO" />
- </combo_box>
- <color_swatch label="Cor" name="color_swatch"/>
+<floater name="settings_debug" title="DEBUG SETTINGS">
+ <radio_group name="boolean_combo">
+ <radio_item label="TRUE" name="TRUE" value="verdadeiro"/>
+ <radio_item label="FALSE" name="FALSE" value=""/>
+ </radio_group>
+ <color_swatch label="Cor" name="val_color_swatch"/>
<spinner label="x" name="val_spinner_1"/>
<spinner label="x" name="val_spinner_2"/>
<spinner label="x" name="val_spinner_3"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_snapshot.xml b/indra/newview/skins/default/xui/pt/floater_snapshot.xml
index c3c4c73a89..a3934a6667 100644
--- a/indra/newview/skins/default/xui/pt/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/pt/floater_snapshot.xml
@@ -1,26 +1,26 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Snapshot" title="PRÉVIA DA FOTO">
+<floater name="Snapshot" title="VER FOTO">
<text name="type_label">
Destino da foto
</text>
<radio_group label="Tipo de Foto" name="snapshot_type_radio">
- <radio_item name="postcard" label="Enviar por email" />
- <radio_item name="texture" label="Salvar no seu inventário (L$[AMOUNT])" />
- <radio_item name="local" label="Salvar no seu disco rígido" />
+ <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>
<text name="file_size_label">
- Tamanho do arquivo: [SIZE] KB
+ [SIZE] KB
</text>
<button label="Atualizar a foto" name="new_snapshot_btn"/>
<button label="Enviar" name="send_btn"/>
<button label="Salvar (L$[AMOUNT])" name="upload_btn"/>
<flyout_button label="Salvar" name="save_btn" tool_tip="Salvar imagem em um arquivo">
- <flyout_button.item name="save_item" label="Salvar"/>
- <flyout_button.item name="saveas_item" label="Salvar como..."/>
+ <flyout_button.item label="Salvar" name="save_item"/>
+ <flyout_button.item label="Salvar como..." name="saveas_item"/>
</flyout_button>
<button label="Cancelar" name="discard_btn"/>
- <button label="Mais &gt;" name="more_btn" tool_tip="Opções Avançadas"/>
- <button label="&lt; Menos" name="less_btn" tool_tip="Opções Avançadas"/>
+ <button label="Mais" name="more_btn" tool_tip="Opções avançadas"/>
+ <button label="Menos" name="less_btn" tool_tip="Opções avançadas"/>
<text name="type_label2">
Tamanho
</text>
@@ -28,50 +28,50 @@
Formato
</text>
<combo_box label="Resolução" name="postcard_size_combo">
- <combo_box.item name="CurrentWindow" label="Janela Atual" />
- <combo_box.item name="640x480" label="640x480" />
- <combo_box.item name="800x600" label="800x600" />
- <combo_box.item name="1024x768" label="1024x768" />
- <combo_box.item name="Custom" label="Customizado" />
+ <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 name="CurrentWindow" label="Janela Atual" />
- <combo_box.item name="Small(128x128)" label="Pequeno (128x128)" />
- <combo_box.item name="Medium(256x256)" label="Médio (256x256)" />
- <combo_box.item name="Large(512x512)" label="Grande (512x512)" />
- <combo_box.item name="Custom" label="Customizado" />
+ <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 name="CurrentWindow" label="Janela Atual" />
- <combo_box.item name="320x240" label="320x240" />
- <combo_box.item name="640x480" label="640x480" />
- <combo_box.item name="800x600" label="800x600" />
- <combo_box.item name="1024x768" label="1024x768" />
- <combo_box.item name="1280x1024" label="1280x1024" />
- <combo_box.item name="1600x1200" label="1600x1200" />
- <combo_box.item name="Custom" label="Customizado" />
+ <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 name="PNG" label="PNG" />
- <combo_box.item name="JPEG" label="JPEG" />
- <combo_box.item name="BMP" label="BMP" />
+ <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" label_width="41" width="101"/>
- <spinner label="Altura" name="snapshot_height" label_width="31" width="91" left="119"/>
- <check_box label="Restringir proporções" name="keep_aspect_check"/>
- <slider label="Qualidade da Imagem" name="image_quality_slider"/>
+ <spinner label="Largura" label_width="41" name="snapshot_width" width="101"/>
+ <spinner label="Altura" label_width="31" left="119" name="snapshot_height" width="91"/>
+ <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 name="Colors" label="Cores" />
- <combo_box.item name="Depth" label="Formato" />
- <combo_box.item name="ObjectMattes" label="Decoração do Objeto" />
+ <combo_box.item label="Cores" name="Colors"/>
+ <combo_box.item label="Formato" name="Depth"/>
+ <combo_box.item label="Decoração do Objeto" name="ObjectMattes"/>
</combo_box>
- <check_box label="Mostrar interface na Foto" name="ui_check"/>
- <check_box bottom_delta="-17" label="Mostrar Objetos HUD na Foto" name="hud_check"/>
+ <check_box label="Interface" name="ui_check"/>
+ <check_box bottom_delta="-17" label="HUDs" name="hud_check"/>
<check_box bottom_delta="-17" label="Manter aberto após salvar" name="keep_open_check"/>
- <check_box bottom_delta="-17" label="Quadro Congelado&#10; (prévia da tela inteira)" name="freeze_frame_check"/>
+ <check_box bottom_delta="-17" label="Gerar quadro (tela inteira)" name="freeze_frame_check"/>
<check_box bottom_delta="-29" label="Auto-atualizar" name="auto_snapshot_check"/>
<string name="unknown">
desconhecido
diff --git a/indra/newview/skins/default/xui/pt/floater_sound_preview.xml b/indra/newview/skins/default/xui/pt/floater_sound_preview.xml
index d5d252c0dd..e62260c2e3 100644
--- a/indra/newview/skins/default/xui/pt/floater_sound_preview.xml
+++ b/indra/newview/skins/default/xui/pt/floater_sound_preview.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Sound Preview" title="SOUND.WAV">
+<floater name="Sound Preview" title="SOM.WAV">
<text name="name_label">
Nome:
</text>
diff --git a/indra/newview/skins/default/xui/pt/floater_statistics.xml b/indra/newview/skins/default/xui/pt/floater_statistics.xml
index c56c9fb2e0..ecbf638157 100644
--- a/indra/newview/skins/default/xui/pt/floater_statistics.xml
+++ b/indra/newview/skins/default/xui/pt/floater_statistics.xml
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="stats floater" title="STATÍSTICA"/>
+<floater name="stats floater" title="ESTATÍSTICAS"/>
diff --git a/indra/newview/skins/default/xui/pt/floater_stats.xml b/indra/newview/skins/default/xui/pt/floater_stats.xml
new file mode 100644
index 0000000000..11589b31b6
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_stats.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="Statistics" title="ESTATÍSTICAS">
+ <scroll_container name="statistics_scroll">
+ <container_view name="statistics_view">
+ <stat_view label="Básico" name="basic">
+ <stat_bar label="FPS" name="fps"/>
+ <stat_bar label="Bandwidth" name="bandwidth"/>
+ <stat_bar label="Bandwidth" name="packet_loss"/>
+ <stat_bar label="Ping Sim" name="ping"/>
+ </stat_view>
+ <stat_view label="Avançado" name="advanced">
+ <stat_view label="Render" name="render">
+ <stat_bar label="KTris Drawn" name="ktrisframe"/>
+ <stat_bar label="KTris Drawn" name="ktrissec"/>
+ <stat_bar label="Total Objects" name="objs"/>
+ <stat_bar label="New Objects" name="newobjs"/>
+ </stat_view>
+ <stat_view label="Texture" name="texture">
+ <stat_bar label="Count" name="numimagesstat"/>
+ <stat_bar label="Raw Count" name="numrawimagesstat"/>
+ <stat_bar label="GL Mem" name="gltexmemstat"/>
+ <stat_bar label="Formatted Mem" name="formattedmemstat"/>
+ <stat_bar label="Raw Mem" name="rawmemstat"/>
+ <stat_bar label="Bound Mem" name="glboundmemstat"/>
+ </stat_view>
+ <stat_view label="Rede" name="network">
+ <stat_bar label="Packets In" name="packetsinstat"/>
+ <stat_bar label="Packets Out" name="packetsoutstat"/>
+ <stat_bar label="Objects" name="objectkbitstat"/>
+ <stat_bar label="Texture" name="texturekbitstat"/>
+ <stat_bar label="Asset" name="assetkbitstat"/>
+ <stat_bar label="Layers" name="layerskbitstat"/>
+ <stat_bar label="Actual In" name="actualinkbitstat"/>
+ <stat_bar label="Actual Out" name="actualoutkbitstat"/>
+ <stat_bar label="VFS Pending Ops" name="vfspendingoperations"/>
+ </stat_view>
+ </stat_view>
+ <stat_view label="Simulator" name="sim">
+ <stat_bar label="Time Dilation" name="simtimedilation"/>
+ <stat_bar label="Sim FPS" name="simfps"/>
+ <stat_bar label="Physics FPS" name="simphysicsfps"/>
+ <stat_view label="Physics Details" name="physicsdetail">
+ <stat_bar label="Pinned Objects" name="physicspinnedtasks"/>
+ <stat_bar label="Low LOD Objects" name="physicslodtasks"/>
+ <stat_bar label="Memory Allocated" name="physicsmemoryallocated"/>
+ <stat_bar label="Agent Updates/Sec" name="simagentups"/>
+ <stat_bar label="Main Agents" name="simmainagents"/>
+ <stat_bar label="Child Agents" name="simchildagents"/>
+ <stat_bar label="Objects" name="simobjects"/>
+ <stat_bar label="Active Objects" name="simactiveobjects"/>
+ <stat_bar label="Active Scripts" name="simactivescripts"/>
+ <stat_bar label="Script Events" name="simscripteps"/>
+ <stat_bar label="Packets In" name="siminpps"/>
+ <stat_bar label="Packets Out" name="simoutpps"/>
+ <stat_bar label="Pending Downloads" name="simpendingdownloads"/>
+ <stat_bar label="Pending Uploads" name="simpendinguploads"/>
+ <stat_bar label="Total Unacked Bytes" name="simtotalunackedbytes"/>
+ </stat_view>
+ <stat_view label="Time (ms)" name="simperf">
+ <stat_bar label="Total Frame Time" name="simframemsec"/>
+ <stat_bar label="Net Time" name="simnetmsec"/>
+ <stat_bar label="Physics Time" name="simsimphysicsmsec"/>
+ <stat_bar label="Simulation Time" name="simsimothermsec"/>
+ <stat_bar label="Agent Time" name="simagentmsec"/>
+ <stat_bar label="Images Time" name="simimagesmsec"/>
+ <stat_bar label="Script Time" name="simscriptmsec"/>
+ </stat_view>
+ </stat_view>
+ </container_view>
+ </scroll_container>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_sys_well.xml b/indra/newview/skins/default/xui/pt/floater_sys_well.xml
new file mode 100644
index 0000000000..38beec022c
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_sys_well.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="sys_well_window" title="AVISOS">
+ <string name="title_im_well_window">
+ CONVERSAS
+ </string>
+ <string name="title_notification_well_window">
+ AVISOS
+ </string>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_telehub.xml b/indra/newview/skins/default/xui/pt/floater_telehub.xml
index 5c775ab45d..6b35d3f919 100644
--- a/indra/newview/skins/default/xui/pt/floater_telehub.xml
+++ b/indra/newview/skins/default/xui/pt/floater_telehub.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="telehub" title="TELEHUB" min_height="310" height="310" width="286">
+<floater height="310" min_height="310" name="telehub" title="TELEHUB" width="286">
<text name="status_text_connected">
Telehub conectado ao objeto [OBJECT]
</text>
@@ -17,16 +17,13 @@
<text name="spawn_points_text" width="265">
Pontos de Nascimento (posições, não objetos):
</text>
- <scroll_list name="spawn_points_list" width="265" />
- <button width="135" label="Adicionar Nascimento" name="add_spawn_point_btn"/>
- <button width="130" label="Remover Nascimento" name="remove_spawn_point_btn" left="150"/>
+ <scroll_list name="spawn_points_list" width="265"/>
+ <button label="Adicionar Nascimento" name="add_spawn_point_btn" width="135"/>
+ <button label="Remover Nascimento" left="150" name="remove_spawn_point_btn" width="130"/>
<text name="spawn_point_help">
- Selecione um objeto e clique Adicionar para
-especificar a posição.
-Em seguida, você pode mover ou apagar o objeto.
-As posições são relativas ao centro do telehub.
-
-Selecione um item na lista para mostrar a posição
-in-world.
+ Selecione o objeto e clique em &apos;Adicionar spawn&apos; para especificar a posição.
+O objeto pode ser excluído ou movido posteriormente.
+As posições são definidas em relação ao centro do telehub.
+Selecione um item da lista para realçá-lo inworld.
</text>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/pt/floater_texture_ctrl.xml
index b63c4a9bbf..144bc0340e 100644
--- a/indra/newview/skins/default/xui/pt/floater_texture_ctrl.xml
+++ b/indra/newview/skins/default/xui/pt/floater_texture_ctrl.xml
@@ -1,22 +1,22 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="texture picker" title="PEGAR: TEXTURA">
+<floater name="texture picker" title="DESTAQUE: TEXTURA">
<string name="choose_picture">
Clique para escolher uma imagem
</string>
<text name="Multiple">
- Multiplo
+ Multiplas texturas
</text>
<text name="unknown">
- Dimensões: [DIMENSIONS]
+ Tamanho: [DIMENSÕES]
</text>
<button label="Padrão" label_selected="Padrão" name="Default"/>
<button label="Nenhum" label_selected="Nenhum" name="None"/>
<button label="Branco" label_selected="Branco" name="Blank"/>
- <check_box label="Mostrar Pastas" name="show_folders_check"/>
- <search_editor label="Clique aqui para buscar" name="inventory search editor"/>
- <check_box label="Aplicar Imediatamente" name="apply_immediate_check"/>
+ <check_box label="Exibir pastas" name="show_folders_check"/>
+ <search_editor label="Filtrar texturas" name="inventory search editor"/>
+ <check_box label="Applicar agora" name="apply_immediate_check"/>
<button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
- <button label="Selecionar" label_selected="Selecionar" name="Select"/>
+ <button label="OK" label_selected="OK" name="Select"/>
<string name="pick title">
Pegar:
</string>
diff --git a/indra/newview/skins/default/xui/pt/floater_tools.xml b/indra/newview/skins/default/xui/pt/floater_tools.xml
index b9ab018606..fb44c5c3bf 100644
--- a/indra/newview/skins/default/xui/pt/floater_tools.xml
+++ b/indra/newview/skins/default/xui/pt/floater_tools.xml
@@ -1,45 +1,81 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="toolbox floater" title="" short_title="CONSTRUIR" width="288">
+<floater name="toolbox floater" short_title="BUILD TOOLS" title="" width="288">
+ <floater.string name="status_rotate">
+ Arrastar as bandas coloridas para girar o objeto
+ </floater.string>
+ <floater.string name="status_scale">
+ Clicar e arrastar para esticar o lado selecionado
+ </floater.string>
+ <floater.string name="status_move">
+ Arrastar para mover, Shift-arrastar para copiar
+ </floater.string>
+ <floater.string name="status_modifyland">
+ Clicar e reter para modificar a terra
+ </floater.string>
+ <floater.string name="status_camera">
+ Clique e arraste para mexer a câmera
+ </floater.string>
+ <floater.string name="status_grab">
+ Arraste para mexer, Ctrl para levantar, Ctrl+Shift para girar
+ </floater.string>
+ <floater.string name="status_place">
+ Clique no mundo para construir
+ </floater.string>
+ <floater.string name="status_selectland">
+ Clicar e arrastar para selecionar a terra
+ </floater.string>
+ <floater.string name="grid_screen_text">
+ Tela
+ </floater.string>
+ <floater.string name="grid_local_text">
+ Local
+ </floater.string>
+ <floater.string name="grid_world_text">
+ Mundo
+ </floater.string>
+ <floater.string name="grid_reference_text">
+ Referência
+ </floater.string>
+ <floater.string name="grid_attachment_text">
+ Anexo
+ </floater.string>
<button label="" label_selected="" name="button focus" tool_tip="Foco"/>
<button label="" label_selected="" name="button move" tool_tip="Mover"/>
<button label="" label_selected="" name="button edit" tool_tip="Editar"/>
<button label="" label_selected="" name="button create" tool_tip="Criar"/>
<button label="" label_selected="" name="button land" tool_tip="Terra"/>
+ <text name="text status" width="280">
+ Arraste para mover, shift+Arrastar para Copiar
+ </text>
<radio_group name="focus_radio_group">
<radio_item label="Zoom" name="radio zoom"/>
<radio_item label="Órbita (Ctrl)" name="radio orbit"/>
- <radio_item label="Pan (Ctrl-Shift)" name="radio pan"/>
+ <radio_item label="Pan (Ctrl+Shift)" name="radio pan"/>
</radio_group>
<radio_group name="move_radio_group">
<radio_item label="Mover" name="radio move"/>
<radio_item label="Suspender (Ctrl)" name="radio lift"/>
- <radio_item label="Girar (Ctrl-Shift)" name="radio spin"/>
+ <radio_item label="Spin (Ctrl+Shift)" name="radio spin"/>
</radio_group>
<radio_group name="edit_radio_group">
- <radio_item label="Posição" name="radio position"/>
+ <radio_item label="Movimentar" name="radio position"/>
<radio_item label="Rotacionar (Ctrl)" name="radio rotate"/>
- <radio_item label="Esticar (Ctrl-Shift)" name="radio stretch"/>
- <radio_item label="Selecionar Textura" name="radio select face"/>
+ <radio_item label="Stretch (Ctrl+Shift)" name="radio stretch"/>
+ <radio_item label="Face selecionada" name="radio select face"/>
</radio_group>
- <check_box label="Editar partes unidas" name="checkbox edit linked parts"/>
- <text name="text ruler mode">
- Régua:
+ <check_box label="Editar item linkado" name="checkbox edit linked parts"/>
+ <text name="RenderingCost" tool_tip="Mostra o cálculo do custo de renderização do objeto">
+ þ: [COUNT]
</text>
- <combo_box name="combobox grid mode">
- <combo_box.item name="World" label="Mundo"
- />
- <combo_box.item name="Local" label="Local"
- />
- <combo_box.item name="Reference" label="Referência"
- />
- </combo_box>
<check_box label="Esticar ambos os lados" name="checkbox uniform"/>
- <check_box label="Esticar Texturas" name="checkbox stretch textures"/>
- <check_box label="Usar Grade" name="checkbox snap to grid"/>
- <button label="Opções..." label_selected="Opções..." name="Options..."/>
- <text name="text status" width="280">
- Arraste para mover, shift+Arrastar para Copiar
- </text>
+ <check_box initial_value="true" label="Esticar Texturas" name="checkbox stretch textures"/>
+ <check_box initial_value="true" label="Mostrar na grade" name="checkbox snap to grid"/>
+ <combo_box name="combobox grid mode" tool_tip="Selecione o tipo de régua da grade onde o objeto será colocado">
+ <combo_box.item label="Grid SL" name="World"/>
+ <combo_box.item label="Grid local" name="Local"/>
+ <combo_box.item label="Grid de referência" name="Reference"/>
+ </combo_box>
+ <button label="Opções..." label_selected="Opções..." name="Options..." tool_tip="Mais opções de grade"/>
<button label="" label_selected="" name="ToolCube" tool_tip="Cubo"/>
<button label="" label_selected="" name="ToolPrism" tool_tip="Prisma"/>
<button label="" label_selected="" name="ToolPyramid" tool_tip="Pirâmide"/>
@@ -55,10 +91,10 @@
<button label="" label_selected="" name="ToolRing" tool_tip="Anel"/>
<button label="" label_selected="" name="ToolTree" tool_tip="Árvore"/>
<button label="" label_selected="" name="ToolGrass" tool_tip="Grama"/>
- <check_box label="Manter selecionado" name="checkbox sticky"/>
- <check_box label="Copiar selecionado" name="checkbox copy selection"/>
- <check_box label="Centro" name="checkbox copy centers"/>
- <check_box label="Rotacionar" name="checkbox copy rotates"/>
+ <check_box label="Ficar com ferramenta selecionado" name="checkbox sticky"/>
+ <check_box label="Copiar seleção" name="checkbox copy selection"/>
+ <check_box initial_value="true" label="Copiar parte central" name="checkbox copy centers"/>
+ <check_box label="Girar cópia" name="checkbox copy rotates"/>
<radio_group name="land_radio_group">
<radio_item label="Selecionar Terra" name="radio select land"/>
<radio_item label="Aplainar" name="radio flatten"/>
@@ -68,7 +104,6 @@
<radio_item label="Endurecer" name="radio noise"/>
<radio_item label="Reverter" name="radio revert"/>
</radio_group>
- <button label="Aplicar" label_selected="Aplicar" name="button apply to selection" tool_tip="Modificar Terra Selecionada"/>
<text name="Bulldozer:">
Escavadeira:
</text>
@@ -78,14 +113,51 @@
<text name="Strength:">
Força
</text>
- <text name="obj_count" left="134">
- Objetos selecionados: [COUNT]
+ <button label="Aplicar" label_selected="Aplicar" name="button apply to selection" tool_tip="Modificar a terra selecionada"/>
+ <text left="134" name="obj_count">
+ Objects: [COUNT]
</text>
- <text name="prim_count" left="134">
- primitivas: [COUNT]
+ <text left="134" name="prim_count">
+ Prims: [COUNT]
</text>
<tab_container name="Object Info Tabs" tab_max_width="60" tab_min_width="30" width="288">
<panel label="Comum" name="General">
+ <panel.string name="text deed continued">
+ Doar
+ </panel.string>
+ <panel.string name="text deed">
+ Doar
+ </panel.string>
+ <panel.string name="text modify info 1">
+ Você pode modificar este objeto
+ </panel.string>
+ <panel.string name="text modify info 2">
+ Você pode modificar estes objetos
+ </panel.string>
+ <panel.string name="text modify info 3">
+ Você não pode modificar este objeto
+ </panel.string>
+ <panel.string name="text modify info 4">
+ Você não pode modificar estes objetos
+ </panel.string>
+ <panel.string name="text modify warning">
+ Selecione o objeto intereiro para configurar as autorizações
+ </panel.string>
+ <panel.string name="Cost Default">
+ Preço: L$
+ </panel.string>
+ <panel.string name="Cost Total">
+ Total: L$
+ </panel.string>
+ <panel.string name="Cost Per Unit">
+ Preço unitário: L$
+ </panel.string>
+ <panel.string name="Cost Mixed">
+ Preço Misturado
+ </panel.string>
+ <panel.string name="Sale Mixed">
+ Venda Misturada
+ </panel.string>
<text name="Name:">
Nome:
</text>
@@ -98,135 +170,77 @@
<text name="Creator Name">
Thrax Linden
</text>
- <button label="Perfil..." label_selected="Perfil..." name="button creator profile"/>
<text name="Owner:">
Proprietário:
</text>
<text name="Owner Name">
Thrax Linden
</text>
- <button label="Perfil..." label_selected="Perfil..." name="button owner profile"/>
<text name="Group:">
Grupo:
</text>
- <text name="Group Name Proxy">
- The Lindens
- </text>
- <button label="Definir..." label_selected="Definir..." name="button set group"/>
- <text name="Permissions:">
- Permissões:
- </text>
-
- <check_box label="Compartilhar com o Grupo" name="checkbox share with group" tool_tip="Permite que todos os membros do grupo definido compartilhem e usem suas permissões para este objeto. Você precisa Doar ao Grupo para habilitar as restrições de função."/>
- <string name="text deed continued">
- Doar...
- </string>
- <string name="text deed">
- Doar
- </string>
- <button label="Doar..." label_selected="Doar..." name="button deed" tool_tip="Objetos compartilhados do Grupo pode ser doados pelo gerente do grupo."/>
- <check_box label="Permitir que qualquer um mova" name="checkbox allow everyone move"/>
- <check_box label="Permitir que qualquer um copie" name="checkbox allow everyone copy"/>
- <check_box label="Mostrar na busca" name="search_check" tool_tip="Permitir que as pessoas vejam este objeto nos resultados de busca"/>
- <check_box label="À Venda" name="checkbox for sale"/>
- <text name="Cost">
- Preço: L$
+ <button label="Definir..." label_selected="Definir..." name="button set group" tool_tip="Selecione o grupo que terá acesso à autorização do objeto"/>
+ <name_box initial_value="Carregando..." name="Group Name Proxy"/>
+ <button label="Doar" label_selected="Doar" name="button deed" tool_tip="Ao doar este item, o próximo dono terá permissões de próximo dono. Objetos de grupos podem ser doados por um oficial do grupo."/>
+ <check_box label="Compartilhar" name="checkbox share with group" tool_tip="Permitir que todos os membros do grupo tenhas suas permissões de modificação para este objeto. Faça uma doação para ativar restrições de função."/>
+ <text name="label click action" width="220">
+ Clique para:
</text>
+ <combo_box name="clickaction" width="192">
+ <combo_box.item label="Tocar (padrão)" name="Touch/grab(default)"/>
+ <combo_box.item label="Sentar no objeto" name="Sitonobject"/>
+ <combo_box.item label="Comprar objeto" name="Buyobject"/>
+ <combo_box.item label="Pagar Objeto" name="Payobject"/>
+ <combo_box.item label="Abrir" name="Open"/>
+ <combo_box.item label="Zoom" name="Zoom"/>
+ </combo_box>
+ <check_box label="À venda" name="checkbox for sale"/>
<combo_box name="sale type">
<combo_box.item label="Cópia" name="Copy"/>
<combo_box.item label="Conteúdo" name="Contents"/>
<combo_box.item label="Original" name="Original"/>
</combo_box>
-
- <text name="label click action" width="220">
- Quando clicado com o botão esquerdo:
- </text>
- <combo_box name="clickaction" width="192">
- <combo_box.item name="Touch/grab(default)" label="Tocar/Pegar (padrão)"
- />
- <combo_box.item name="Sitonobject" label="Sentar no objeto"
- />
- <combo_box.item name="Buyobject" label="Comprar objeto"
- />
- <combo_box.item name="Payobject" label="Pagar Objeto"
- />
- <combo_box.item name="Open" label="Abrir"
- />
- <combo_box.item name="Play" label="Executar a mídia do lote"
- />
- <combo_box.item name="Opemmedia" label="Abrir a mídia do lote"
- />
- </combo_box>
- <panel name="perms_build">
- <text name="perm_modify">
- Você pode modificar este objeto
- </text>
- <text name="B:">
- B:
- </text>
- <text name="O:">
- O:
- </text>
- <text name="G:">
- G:
- </text>
- <text name="E:">
- E:
- </text>
- <text name="N:">
- N:
- </text>
- <text name="F:">
- F:
- </text>
- <text name="Next owner can:">
- Próximo Proprietário pode:
- </text>
- <check_box label="Modificar" name="checkbox next owner can modify"/>
- <check_box label="Copiar" name="checkbox next owner can copy" left_delta="80"/>
- <check_box name="checkbox next owner can transfer" left_delta="67"/>
- </panel>
- <string name="text modify info 1">
- Você pode modificar este objeto
- </string>
- <string name="text modify info 2">
- Você pode modificar estes objetos
- </string>
- <string name="text modify info 3">
- Você não pode modificar este objeto
- </string>
- <string name="text modify info 4">
- Você não pode modificar estes objetos
- </string>
- <string name="text modify warning">
- Você precisa selecionar o objeto todo para ajustar as permissões
- </string>
- <string name="Cost Default">
- Preço: L$
- </string>
- <string name="Cost Total">
- Preço Total: L$
- </string>
- <string name="Cost Per Unit">
- Preço Por: L$
- </string>
- <string name="Cost Mixed">
- Preço Misturado
- </string>
- <string name="Sale Mixed">
- Venda Misturada
- </string>
+ <spinner label="Preço: L$" name="Edit Cost"/>
+ <check_box label="Mostrar na busca" name="search_check" tool_tip="Permitir que as pessoas vejam este objeto nos resultados de busca"/>
+ <panel name="perms_build">
+ <text name="perm_modify">
+ Você pode modificar este objeto
+ </text>
+ <text name="Anyone can:">
+ Todos:
+ </text>
+ <check_box label="Movimentar" name="checkbox allow everyone move"/>
+ <check_box label="Copiar" name="checkbox allow everyone copy"/>
+ <text name="Next owner can:">
+ Próximo proprietário:
+ </text>
+ <check_box label="Modificar" name="checkbox next owner can modify"/>
+ <check_box label="Copiar" left_delta="80" name="checkbox next owner can copy"/>
+ <check_box label="Transferir" left_delta="67" name="checkbox next owner can transfer" tool_tip="O próximo dono poderá revender ou dar este objeto"/>
+ <text name="B:">
+ B:
+ </text>
+ <text name="O:">
+ O:
+ </text>
+ <text name="G:">
+ G:
+ </text>
+ <text name="E:">
+ E:
+ </text>
+ <text name="N:">
+ N:
+ </text>
+ <text name="F:">
+ F:
+ </text>
+ </panel>
</panel>
<panel label="Objeto" name="Object">
- <text name="select_single" width="272">
- Selecione apenas uma primitiva para editar os parâmetros.
- </text>
- <text name="edit_object">
- Editar os parâmetros do Objeto:
- </text>
<check_box label="Travado" name="checkbox locked" tool_tip="Previne que o objeto seja movido ou apagado. Muito útil para evitar edições não intencionais durante a construção."/>
<check_box label="Física" name="Physical Checkbox Ctrl" tool_tip="Permite que os objetos sejam empurrados e sofram efeito da gravidade"/>
- <check_box label="Temporário" name="Temporary Checkbox Ctrl" tool_tip="Faz com que o objeto seja apagado 1 minuto após ser criado."/>
+ <check_box label="Temporário" name="Temporary Checkbox Ctrl" tool_tip="O objeto será excluído um minuto depois de ser criado"/>
<check_box label="Fantasma" name="Phantom Checkbox Ctrl" tool_tip="Faz com que o objeto não colida com outros objetos ou avatares"/>
<text name="label position">
Posição (metros)
@@ -246,48 +260,27 @@
<spinner label="X" name="Rot X"/>
<spinner label="Y" name="Rot Y"/>
<spinner label="Z" name="Rot Z"/>
- <text name="label material">
- Material
- </text>
- <combo_box name="material">
- <combo_box.item name="Stone" label="Pedra"
- />
- <combo_box.item name="Metal" label="Metal"
- />
- <combo_box.item name="Glass" label="Vidro"
- />
- <combo_box.item name="Wood" label="Madeira"
- />
- <combo_box.item name="Flesh" label="Carne"
- />
- <combo_box.item name="Plastic" label="Plástico"
- />
- <combo_box.item name="Rubber" label="Couro"
- />
- </combo_box>
- <text name="label basetype">
- Forma básica
- </text>
<combo_box name="comboBaseType">
- <combo_box.item name="Box" label="Caixa"
- />
- <combo_box.item name="Cylinder" label="Cilindro"
- />
- <combo_box.item name="Prism" label="Prisma"
- />
- <combo_box.item name="Sphere" label="Esfera"
- />
- <combo_box.item name="Torus" label="Toróide"
- />
- <combo_box.item name="Tube" label="Tubo"
- />
- <combo_box.item name="Ring" label="Anel"
- />
- <combo_box.item name="Sculpted" label="Esculpida"
- />
+ <combo_box.item label="Caixa" name="Box"/>
+ <combo_box.item label="Cilindro" name="Cylinder"/>
+ <combo_box.item label="Prisma" name="Prism"/>
+ <combo_box.item label="Esfera" name="Sphere"/>
+ <combo_box.item label="Toróide" name="Torus"/>
+ <combo_box.item label="Tubo" name="Tube"/>
+ <combo_box.item label="Anel" name="Ring"/>
+ <combo_box.item label="Esculpida" name="Sculpted"/>
+ </combo_box>
+ <combo_box name="material">
+ <combo_box.item label="Pedra" name="Stone"/>
+ <combo_box.item label="Metal" name="Metal"/>
+ <combo_box.item label="Vidro" name="Glass"/>
+ <combo_box.item label="Madeira" name="Wood"/>
+ <combo_box.item label="Carne" name="Flesh"/>
+ <combo_box.item label="Plástico" name="Plastic"/>
+ <combo_box.item label="Couro" name="Rubber"/>
</combo_box>
<text name="text cut">
- Recorte Início e final
+ Path Cut (begin/end)
</text>
<spinner label="I" name="cut begin"/>
<spinner label="F" name="cut end"/>
@@ -301,17 +294,13 @@
Forma Vazia
</text>
<combo_box name="hole">
- <combo_box.item name="Default" label="Padrão"
- />
- <combo_box.item name="Circle" label="Circulo"
- />
- <combo_box.item name="Square" label="Quadrado"
- />
- <combo_box.item name="Triangle" label="Triâgulo"
- />
+ <combo_box.item label="Padrão" name="Default"/>
+ <combo_box.item label="Circulo" name="Circle"/>
+ <combo_box.item label="Quadrado" name="Square"/>
+ <combo_box.item label="Triâgulo" name="Triangle"/>
</combo_box>
<text name="text twist">
- Torcer no Início e final
+ Twist (begin/end)
</text>
<spinner label="I" name="Twist Begin"/>
<spinner label="F" name="Twist End"/>
@@ -329,13 +318,13 @@
<spinner label="X" name="Shear X"/>
<spinner label="Y" name="Shear Y"/>
<text name="advanced_cut" width="156">
- Perfil Recortado no Início e fim
+ Profile Cut (begin/end)
</text>
<text name="advanced_dimple">
- Cova Início e final
+ Dimple (begin/end)
</text>
<text name="advanced_slice">
- Pedaço Início e fim
+ Slice (begin/end)
</text>
<spinner label="I" name="Path Limit Begin"/>
<spinner label="F" name="Path Limit End"/>
@@ -351,22 +340,17 @@
Revoluções
</text>
<texture_picker label="Texture de Escultura" name="sculpt texture control" tool_tip="Click to choose a picture"/>
- <check_box label="Espelho" name="sculpt mirror control" tool_tip="Inverter a primitiva esculpida ao longo do eixo X."/>
- <check_box label="De dentro para fora" name="sculpt invert control" tool_tip="Inverte as normais das primitivas esculpidas, fazendo-as parecer de dentro para fora."/>
+ <check_box label="Espelho" name="sculpt mirror control" tool_tip="Flips sculpted prim along the X axis"/>
+ <check_box label="De dentro para fora" name="sculpt invert control" tool_tip="Inverts the sculpted prims normals, making it appear inside-out"/>
<text name="label sculpt type">
Tipo costura
</text>
<combo_box name="sculpt type control">
- <combo_box.item name="None" label="(nenhum)"
- />
- <combo_box.item name="Sphere" label="Esfera"
- />
- <combo_box.item name="Torus" label="Toróide"
- />
- <combo_box.item name="Plane" label="Plano"
- />
- <combo_box.item name="Cylinder" label="Cilindro"
- />
+ <combo_box.item label="(nenhum)" name="None"/>
+ <combo_box.item label="Esfera" name="Sphere"/>
+ <combo_box.item label="Toróide" name="Torus"/>
+ <combo_box.item label="Plano" name="Plane"/>
+ <combo_box.item label="Cilindro" name="Cylinder"/>
</combo_box>
</panel>
<panel label="Recursos" name="Features">
@@ -376,7 +360,7 @@
<text name="edit_object">
Editar características do Objeto:
</text>
- <check_box label="Flexíbilidade" name="Flexible1D Checkbox Ctrl" tool_tip="Permite que o objeto flexione no eixo Z. (Somente no lado do Cliente)"/>
+ <check_box label="Flexíbilidade" name="Flexible1D Checkbox Ctrl" tool_tip="Allows object to flex about the Z axis (Client-side only)"/>
<spinner label="Suavidade" name="FlexNumSections"/>
<spinner label="Gravidade" name="FlexGravity"/>
<spinner label="Arrastar" name="FlexFriction"/>
@@ -386,17 +370,24 @@
<spinner label="Força Y" name="FlexForceY"/>
<spinner label="Força Z" name="FlexForceZ"/>
<check_box label="Luz" name="Light Checkbox Ctrl" tool_tip="Faz com que o objeto emita luz"/>
- <text name="label color">
- Cor
- </text>
- <color_swatch label="" name="colorswatch" tool_tip="Clique para abrir o Seletor de Cores"/>
+ <color_swatch label="" name="colorswatch" tool_tip="Selecionar a cor"/>
+ <texture_picker label="" name="light texture control" tool_tip="Clique para selecionar uma imagem de projeção (só com renderização suspesa ativada)"/>
<spinner label="Intensidade" name="Light Intensity"/>
+ <spinner label="FOV" name="Light FOV"/>
<spinner label="Raio" name="Light Radius"/>
+ <spinner label="Enfocar" name="Light Focus"/>
<spinner label="Queda" name="Light Falloff"/>
+ <spinner label="Ambiente" name="Light Ambiance"/>
</panel>
<panel label="Textura" name="Texture">
+ <panel.string name="string repeats per meter">
+ Repetir por Metro
+ </panel.string>
+ <panel.string name="string repeats per face">
+ Repetir por Face
+ </panel.string>
<texture_picker label="Textura" name="texture control" tool_tip="Clique para escolher uma imagem"/>
- <color_swatch label="Cor" name="colorswatch" tool_tip="Clique para abrir o Seletor de Cores"/>
+ <color_swatch label="Cor" name="colorswatch" tool_tip="Selecionar a cor"/>
<text name="color trans" width="100">
Transparência %
</text>
@@ -408,99 +399,69 @@
Mapeamento
</text>
<combo_box name="combobox texgen">
- <combo_box.item name="Default" label="Padrão"
- />
- <combo_box.item name="Planar" label="Planar"
- />
+ <combo_box.item label="Padrão" name="Default"/>
+ <combo_box.item label="Planar" name="Planar"/>
</combo_box>
<text name="label shininess">
Brilho
</text>
<combo_box name="combobox shininess">
- <combo_box.item name="None" label="Nenhum"
- />
- <combo_box.item name="Low" label="Baixo"
- />
- <combo_box.item name="Medium" label="Médio"
- />
- <combo_box.item name="High" label="Alto"
- />
+ <combo_box.item label="Nenhum" name="None"/>
+ <combo_box.item label="Baixo" name="Low"/>
+ <combo_box.item label="Médio" name="Medium"/>
+ <combo_box.item label="Alto" name="High"/>
</combo_box>
<text name="label bumpiness">
Ondulação
</text>
- <combo_box name="combobox bumpiness" width="100" >
- <combo_box.item name="None" label="Nenhum"
- />
- <combo_box.item name="Brightness" label="Claridade"
- />
- <combo_box.item name="Darkness" label="Escuridão"
- />
- <combo_box.item name="woodgrain" label="Granulação"
- />
- <combo_box.item name="bark" label="Casca"
- />
- <combo_box.item name="bricks" label="Tijolos"
- />
- <combo_box.item name="checker" label="Caixa"
- />
- <combo_box.item name="concrete" label="Concreto"
- />
- <combo_box.item name="crustytile" label="Encaroçado"
- />
- <combo_box.item name="cutstone" label="Pedra Cortante"
- />
- <combo_box.item name="discs" label="Discos"
- />
- <combo_box.item name="gravel" label="Cascalho"
- />
- <combo_box.item name="petridish" label="Pedrisco"
- />
- <combo_box.item name="siding" label="Revestimento"
- />
- <combo_box.item name="stonetile" label="Empedrado"
- />
- <combo_box.item name="stucco" label="Grafiato"
- />
- <combo_box.item name="suction" label="Sulcos"
- />
- <combo_box.item name="weave" label="Weave"
- />
+ <combo_box name="combobox bumpiness" width="100">
+ <combo_box.item label="Nenhum" name="None"/>
+ <combo_box.item label="Claridade" name="Brightness"/>
+ <combo_box.item label="Escuridão" name="Darkness"/>
+ <combo_box.item label="Granulação" name="woodgrain"/>
+ <combo_box.item label="Casca" name="bark"/>
+ <combo_box.item label="Tijolos" name="bricks"/>
+ <combo_box.item label="Caixa" name="checker"/>
+ <combo_box.item label="Concreto" name="concrete"/>
+ <combo_box.item label="Encaroçado" name="crustytile"/>
+ <combo_box.item label="Pedra Cortante" name="cutstone"/>
+ <combo_box.item label="Discos" name="discs"/>
+ <combo_box.item label="Cascalho" name="gravel"/>
+ <combo_box.item label="Pedrisco" name="petridish"/>
+ <combo_box.item label="Revestimento" name="siding"/>
+ <combo_box.item label="Empedrado" name="stonetile"/>
+ <combo_box.item label="Grafiato" name="stucco"/>
+ <combo_box.item label="Sulcos" name="suction"/>
+ <combo_box.item label="Weave" name="weave"/>
</combo_box>
<text name="tex scale">
- Repetir por Face
+ Repeats / Face
</text>
<spinner label="Horizontal (U)" name="TexScaleU"/>
<check_box label="Flip" name="checkbox flip s"/>
<spinner label="Vertical (V)" name="TexScaleV"/>
<check_box label="Flip" name="checkbox flip t"/>
- <text name="tex rotate">
- Rotação (graus)
- </text>
- <string name="string repeats per meter">
- Repetir por Metro
- </string>
- <string name="string repeats per face">
- Repetir por Face
- </string>
- <text name="rpt">
- Repetir por Metro
- </text>
+ <spinner label="Rotation˚" name="TexRot"/>
+ <spinner label="Repeats / Meter" name="rptctrl"/>
<button label="Aplicar" label_selected="Aplicar" name="button apply"/>
<text name="tex offset">
- Deslocamento
+ Texture Offset
</text>
<spinner label="Horizontal (U)" name="TexOffsetU"/>
<spinner label="Vertical (V)" name="TexOffsetV"/>
- <text name="textbox autofix">
- Alinhar Texturas
- </text>
- <button label="Alinhar" label_selected="Alinhar" name="button align"/>
+ <panel name="Add_Media">
+ <text name="media_tex">
+ Mídia
+ </text>
+ <button name="add_media" tool_tip="Adicionar mídia"/>
+ <button name="delete_media" tool_tip="Excluir esta textura de mídia"/>
+ <button name="edit_media" tool_tip="Editar esta mídia"/>
+ <button label="Alinhar" label_selected="Alinhar mídias" name="button align" tool_tip="Alinhar textura da mídia (após carregar mídia)"/>
+ </panel>
</panel>
<panel label="Conteúdo" name="Contents">
- <button label="Novo Script" label_selected="Novo Script" name="button new script"/>
- <button label="Permissões" name="button permissions"/>
- <panel name="ContentsInventory" width="272" />
+ <button label="Novo Script" label_selected="Novo script" name="button new script"/>
+ <button label="Autorizações" name="button permissions"/>
</panel>
</tab_container>
<panel name="land info panel">
@@ -508,62 +469,22 @@
Informações do Lote
</text>
<text name="label_area_price">
- Preço: L$[PRICE] por [AREA] m².
+ Preço: L$[PRICE] por [AREA] m²
</text>
<text name="label_area">
- Área: [AREA] m².
+ Área: [AREA] m²
</text>
- <button label="Sobre a Terra..." label_selected="Sobre a Terra..." name="button about land"/>
- <check_box label="Mostrar donos" name="checkbox show owners" tool_tip="Colorir lotes de acordo com seus donos: &#10;&#10;Green = Sua terra &#10;Aqua = Terra do seu grupo &#10;Red = Possuída por outros &#10;Yellow = À venda &#10;Purple = A leilão &#10;Grey = Pública"/>
- <button label="?" label_selected="?" name="button show owners help" left_delta="100"/>
+ <button label="Sobre terrenos" label_selected="Sobre terrenos" name="button about land"/>
+ <check_box label="Mostrar donos" name="checkbox show owners" tool_tip="Colorir lotes de acordo com seus donos: Green = Sua terra Aqua = Terra do seu grupo Red = Possuída por outros Yellow = À venda Purple = A leilão Grey = Pública"/>
<text name="label_parcel_modify">
Modificar Lote
</text>
- <button label="Sub-Dividir" label_selected="Sub-Dividir" name="button subdivide land"/>
- <button label="Unir" label_selected="Unir" name="button join land"/>
+ <button label="Subdividir" label_selected="Subdividir" name="button subdivide land"/>
+ <button label="Juntar" label_selected="Juntar" name="button join land"/>
<text name="label_parcel_trans">
Transações com a Terra
</text>
- <button label="Comprar Terra" label_selected="Comprar Terra" name="button buy land"/>
- <button label="Abandonar Terra" label_selected="Abandonar Terra" name="button abandon land"/>
+ <button label="Comprar terreno" label_selected="Comprar terreno" name="button buy land"/>
+ <button label="Abandonar terreno" label_selected="Abandonar terreno" name="button abandon land"/>
</panel>
- <floater.string name="status_rotate">
- Arrastar as bandas coloridas para girar o objeto
- </floater.string>
- <floater.string name="status_scale">
- Clicar e arrastar para esticar o lado selecionado
- </floater.string>
- <floater.string name="status_move">
- Arrastar para mover, Shift-arrastar para copiar
- </floater.string>
- <floater.string name="status_modifyland">
- Clicar e reter para modificar a terra
- </floater.string>
- <floater.string name="status_camera">
- Clicar e arrastar para mudar a vista
- </floater.string>
- <floater.string name="status_grab">
- Arrastar para mover, Ctrl para levantar, Ctrl-Shift para rotacionar
- </floater.string>
- <floater.string name="status_place">
- Clique no mundo para construir
- </floater.string>
- <floater.string name="status_selectland">
- Clicar e arrastar para selecionar a terra
- </floater.string>
- <floater.string name="grid_screen_text">
- Tela
- </floater.string>
- <floater.string name="grid_local_text">
- Local
- </floater.string>
- <floater.string name="grid_world_text">
- Mundo
- </floater.string>
- <floater.string name="grid_reference_text">
- Referência
- </floater.string>
- <floater.string name="grid_attachment_text">
- Anexo
- </floater.string>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_top_objects.xml b/indra/newview/skins/default/xui/pt/floater_top_objects.xml
index 15e69c450c..dc3bf73818 100644
--- a/indra/newview/skins/default/xui/pt/floater_top_objects.xml
+++ b/indra/newview/skins/default/xui/pt/floater_top_objects.xml
@@ -1,58 +1,59 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="top_objects" title="CARREGANDO...">
+<floater name="top_objects" title="Principais objetos:">
+ <floater.string name="top_scripts_title">
+ Principais Scripts
+ </floater.string>
+ <floater.string name="top_scripts_text">
+ [COUNT] scripts tomando um total de [TIME] ms
+ </floater.string>
+ <floater.string name="scripts_score_label">
+ Tempo
+ </floater.string>
+ <floater.string name="scripts_mono_time_label">
+ Hora Mono
+ </floater.string>
+ <floater.string name="top_colliders_title">
+ Principais Colidentes
+ </floater.string>
+ <floater.string name="top_colliders_text">
+ [COUNT] objetos principais experimentando muitas potenciais colisões
+ </floater.string>
+ <floater.string name="colliders_score_label">
+ Placar
+ </floater.string>
+ <floater.string name="none_descriptor">
+ Nenhum encontrado.
+ </floater.string>
<text name="title_text">
Carregando...
</text>
<scroll_list name="objects_list">
- <column label="Placar" name="score"/>
- <column label="Nome" name="name"/>
- <column label="Proprietário" name="owner"/>
- <column label="Local" name="location"/>
- <column label="Tempo" name="time"/>
- <column label="Hora Mono" name="mono_time"/>
+ <scroll_list.columns label="Placar" name="score"/>
+ <scroll_list.columns label="Nome" name="name"/>
+ <scroll_list.columns label="Proprietário" name="owner"/>
+ <scroll_list.columns label="Local" name="location"/>
+ <scroll_list.columns label="Tempo" name="time"/>
+ <scroll_list.columns label="Hora Mono" name="mono_time"/>
+ <scroll_list.columns label="URLs" name="URLs"/>
</scroll_list>
<text name="id_text">
ID do Objeto:
</text>
+ <line_editor font="SansSerifSmall" left="140" name="id_editor" width="280"/>
<button label="Mostrar Avisos" name="show_beacon_btn"/>
<text name="obj_name_text">
- Nome do Objeto:
+ Nome do objeto:
</text>
+ <line_editor font="SansSerifSmall" left="140" name="object_name_editor" width="280"/>
<button label="Filtro" name="filter_object_btn"/>
<text name="owner_name_text" width="130">
- Nome do Proprietário:
+ Proprietário:
</text>
- <line_editor font="SansSerifSmall" left="140" name="id_editor" width="280"/>
- <line_editor font="SansSerifSmall" left="140" name="object_name_editor" width="280"/>
<line_editor font="SansSerifSmall" left="140" name="owner_name_editor" width="280"/>
<button label="Filtro" name="filter_owner_btn"/>
+ <button label="Atualizar" name="refresh_btn"/>
<button label="Retornar Selecionado" name="return_selected_btn" width="170"/>
- <button label="Retornar Tudo" name="return_all_btn" left="190"/>
+ <button label="Retornar Tudo" left="190" name="return_all_btn"/>
<button label="Desabilitar Selecionado" name="disable_selected_btn" width="170"/>
- <button label="Desabilitar Tudo" name="disable_all_btn" left="190"/>
- <button label="Atualizar" name="refresh_btn"/>
- <string name="top_scripts_title">
- Principais Scripts
- </string>
- <string name="top_scripts_text">
- [COUNT] scripts tomando um total de [TIME] ms
- </string>
- <string name="scripts_score_label">
- Tempo
- </string>
- <string name="scripts_mono_time_label">
- Hora Mono
- </string>
- <string name="top_colliders_title">
- Principais Colidentes
- </string>
- <string name="top_colliders_text">
- [COUNT] objetos principais experimentando muitas potenciais colisões
- </string>
- <string name="colliders_score_label">
- Placar
- </string>
- <string name="none_descriptor">
- Nenhum encontrado.
- </string>
+ <button label="Desabilitar Tudo" left="190" name="disable_all_btn"/>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_tos.xml b/indra/newview/skins/default/xui/pt/floater_tos.xml
index 7a0c187517..2fbbbde9e4 100644
--- a/indra/newview/skins/default/xui/pt/floater_tos.xml
+++ b/indra/newview/skins/default/xui/pt/floater_tos.xml
@@ -4,8 +4,7 @@
<button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
<check_box label="Eu concordo com os Termos do Serviço" name="agree_chk"/>
<text name="tos_heading">
- Por favor, leia os seguintes Termos de Serviço cuidadosamente. Para continuar acessando o
-[SECOND_LIFE], você precisa aceitar o acordo.
+ Leia com atenção os Termos do Serviço. Para continuar a entrar no [SECOND_LIFE], é preciso aceitar o contrato.
</text>
<text_editor name="tos_text">
TOS_TEXT
diff --git a/indra/newview/skins/default/xui/pt/floater_voice_controls.xml b/indra/newview/skins/default/xui/pt/floater_voice_controls.xml
new file mode 100644
index 0000000000..6ab10db96f
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_voice_controls.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="floater_voice_controls" title="Controles de voz">
+ <string name="title_nearby">
+ VOZ LOCAL
+ </string>
+ <string name="title_group">
+ Ligação de grupo com [GROUP]
+ </string>
+ <string name="title_adhoc">
+ Teleconferência
+ </string>
+ <string name="title_peer_2_peer">
+ Ligação para [NAME]
+ </string>
+ <string name="no_one_near">
+ Ninguém por perto ativou a voz
+ </string>
+ <layout_stack name="my_call_stack">
+ <layout_panel name="my_panel">
+ <text name="user_text" value="Mya Avatar:"/>
+ </layout_panel>
+ <layout_panel name="leave_call_btn_panel">
+ <button label="Desligar" name="leave_call_btn"/>
+ </layout_panel>
+ </layout_stack>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_water.xml b/indra/newview/skins/default/xui/pt/floater_water.xml
index bad9aa0943..36b995d4fd 100644
--- a/indra/newview/skins/default/xui/pt/floater_water.xml
+++ b/indra/newview/skins/default/xui/pt/floater_water.xml
@@ -3,7 +3,7 @@
<text name="KeyFramePresetsText" width="154">
Pré-configurações da Água:
</text>
- <combo_box left_delta="160" name="WaterPresetsCombo" width="150" />
+ <combo_box left_delta="160" name="WaterPresetsCombo" width="150"/>
<button label="Novo" label_selected="Novo" name="WaterNewPreset"/>
<button label="Salvar" label_selected="Salvar" name="WaterSavePreset"/>
<button label="Deletar" label_selected="Deletar" name="WaterDeletePreset"/>
@@ -13,19 +13,19 @@
Cor da névoa da Água
</text>
<button label="?" name="WaterFogColorHelp"/>
- <color_swatch label="" name="WaterFogColor" tool_tip="Clique para abrir o Capturador de Cor"/>
+ <color_swatch label="" name="WaterFogColor" tool_tip="Selecionar a cor"/>
<text name="WaterFogDensText">
Expoente da Densidade de névoa
</text>
- <button label="?" name="WaterFogDensityHelp" left="209"/>
+ <button label="?" left="209" name="WaterFogDensityHelp"/>
<text name="WaterUnderWaterFogModText">
Modificador da névoa Subaquática
</text>
- <button label="?" name="WaterUnderWaterFogModHelp" left="209"/>
+ <button label="?" left="209" name="WaterUnderWaterFogModHelp"/>
<text name="BDensText">
Escala da Marola de Reflexão
</text>
- <button label="?" name="WaterNormalScaleHelp" left="415"/>
+ <button label="?" left="415" name="WaterNormalScaleHelp"/>
<text name="BHText2">
1
</text>
@@ -38,29 +38,29 @@
<text name="HDText">
Escala de Fresnel
</text>
- <button label="?" name="WaterFresnelScaleHelp" left="415"/>
+ <button label="?" left="415" name="WaterFresnelScaleHelp"/>
<text name="FresnelOffsetText">
Deslocamento de Fresnel
</text>
- <button label="?" name="WaterFresnelOffsetHelp" left="415"/>
+ <button label="?" left="415" name="WaterFresnelOffsetHelp"/>
<text name="DensMultText">
Refratar a Escala para Cima
</text>
- <button label="?" name="WaterScaleAboveHelp" left="640"/>
+ <button label="?" left="640" name="WaterScaleAboveHelp"/>
<text name="WaterScaleBelowText">
Refratar a Escala para Baixo
</text>
- <button label="?" name="WaterScaleBelowHelp" left="640"/>
+ <button label="?" left="640" name="WaterScaleBelowHelp"/>
<text name="MaxAltText">
Multiplicador de Difusão
</text>
- <button label="?" name="WaterBlurMultiplierHelp" left="640"/>
+ <button label="?" left="640" name="WaterBlurMultiplierHelp"/>
</panel>
<panel label="Imagem" name="Waves">
<text name="BHText">
Direção da Onda Maior
</text>
- <button label="?" name="WaterWave1Help" left="170"/>
+ <button label="?" left="170" name="WaterWave1Help"/>
<text name="WaterWave1DirXText">
X
</text>
@@ -70,7 +70,7 @@
<text name="BHText2">
Direção da Onda Pequena
</text>
- <button label="?" name="WaterWave2Help" left="170"/>
+ <button label="?" left="170" name="WaterWave2Help"/>
<text name="WaterWave2DirXText">
X
</text>
diff --git a/indra/newview/skins/default/xui/pt/floater_wearable_save_as.xml b/indra/newview/skins/default/xui/pt/floater_wearable_save_as.xml
index 2b2c669a18..282bf0e268 100644
--- a/indra/newview/skins/default/xui/pt/floater_wearable_save_as.xml
+++ b/indra/newview/skins/default/xui/pt/floater_wearable_save_as.xml
@@ -3,7 +3,7 @@
<button label="Salvar" label_selected="Salvar" name="Save"/>
<button label="Cancelar" label_selected="Cancelar" name="Cancel"/>
<text name="Save item as:">
- Salvar item como:
+ Salvar item no inventário como:
</text>
<line_editor name="name ed">
Novo [DESC]
diff --git a/indra/newview/skins/default/xui/pt/floater_whitelist_entry.xml b/indra/newview/skins/default/xui/pt/floater_whitelist_entry.xml
new file mode 100644
index 0000000000..865d939d24
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_whitelist_entry.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="whitelist_entry" title="LISTA BRANCA">
+ <text name="media_label">
+ Digite um URL ou série de URLs para a lista de domínios permitidos
+ </text>
+ <line_editor name="whitelist_entry" tool_tip="Digite um URL ou série de URLs para a lista branca"/>
+ <button label="OK" name="ok_btn"/>
+ <button label="Cancelar" name="cancel_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_window_size.xml b/indra/newview/skins/default/xui/pt/floater_window_size.xml
new file mode 100644
index 0000000000..6a8ccbd002
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/floater_window_size.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<floater name="window_size" title="TAMANHO DA JANELA">
+ <string name="resolution_format">
+ [RES_X] x [RES_Y]
+ </string>
+ <text name="windowsize_text">
+ Definir tamanho da janela:
+ </text>
+ <combo_box name="window_size_combo" tool_tip="largura x altura">
+ <combo_box.item label="1000 x 700 (padrão)" name="item0"/>
+ <combo_box.item label="1024 x 768" name="item1"/>
+ <combo_box.item label="1280 x 720 (720p)" name="item2"/>
+ <combo_box.item label="1920 x 1080 (1080p)" name="item3"/>
+ </combo_box>
+ <button label="Definir" name="set_btn"/>
+ <button label="Cancelar" name="cancel_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/floater_world_map.xml b/indra/newview/skins/default/xui/pt/floater_world_map.xml
index 034602d6ea..95bb899071 100644
--- a/indra/newview/skins/default/xui/pt/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/pt/floater_world_map.xml
@@ -1,53 +1,83 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="worldmap" title="MAPA MUNDI">
- <tab_container name="maptab">
- <panel label="Objetos" name="objects_mapview"/>
- <panel label="Terreno" name="terrain_mapview"/>
- </tab_container>
- <text name="you_label">
- Você
- </text>
- <text name="home_label">
- Casa
- </text>
- <text name="auction_label">
- Leilão
- </text>
- <text name="land_for_sale_label">
- Terra à venda
- </text>
- <button label="Ir para Casa" label_selected="Ir para casa" name="Go Home" tool_tip="Teletransportar para sua Casa"/>
- <check_box label="Residente" name="people_chk"/>
- <check_box label="Infohub" name="infohub_chk"/>
- <check_box label="Telehub" name="telehubchk"/>
- <check_box label="Terra à Venda" name="land_for_sale_chk"/>
- <text name="events_label">
- Eventos:
- </text>
- <check_box label="PG" name="event_chk"/>
- <check_box label="Mature" name="event_mature_chk"/>
- <check_box label="Adult" name="event_adult_chk"/>
- <combo_box label="Amigos Conectados" name="friend combo" tool_tip="Amigos para mostrar no Mapa">
- <combo_box.item name="item1" label="Amigos Conectados" />
- </combo_box>
- <combo_box label="Landmarks" name="landmark combo" tool_tip="Landmark para mostrar no Mapa">
- <combo_box.item name="item1" label="Landmarks" />
- </combo_box>
- <line_editor label="Procurar por nome de região" name="location" tool_tip="Digite o nome de uma Região"/>
- <button label="Procurar" name="DoSearch" tool_tip="Procurar por região"/>
- <text name="search_label">
- Resultados da Procura:
- </text>
- <text name="location_label">
- Localização:
- </text>
- <spinner name="spin x" tool_tip="Coordenada X da posição mostrada no mapa"/>
- <spinner name="spin y" tool_tip="Coordenada Y da posição mostrada no mapa"/>
- <spinner name="spin z" tool_tip="Coordenada Z da posição mostrada no Mapa"/>
- <button font="SansSerifSmall" label="Teletransporte" label_selected="Teletransporte" name="Teleport" tool_tip="Teletransportar para a posição selecionada"/>
- <button font="SansSerifSmall" left_delta="91" width="135" label="Mostrar destino" label_selected="Mostrar Destino" name="Show Destination" tool_tip="Centralizar mapa na posição selecionada"/>
- <button font="SansSerifSmall" label="Limpar" label_selected="Limpar" name="Clear" tool_tip="Parar de percorrer"/>
- <button font="SansSerifSmall" left_delta="91" width="135" label="Mostra minha localização" label_selected="Mostra minha localização" name="Show My Location" tool_tip="Centraliza o mapa na posição do seu Avatar"/>
- <button font="SansSerifSmall" label="Copiar SLurl para área de transferência" name="copy_slurl" tool_tip="Copia a posição atual como SLurl para ser usada na Web"/>
- <slider label="Zoom" name="zoom slider"/>
+<floater name="worldmap" title="MAPA-MÚNDI">
+ <panel name="layout_panel_1">
+ <text name="events_label">
+ Legenda
+ </text>
+ </panel>
+ <panel
+ name="layout_panel_2">
+ <button font="SansSerifSmall" label="Mostra minha localização" label_selected="Mostra minha localização" left_delta="91" name="Show My Location" tool_tip="Centrar o mapa na localização do meu avatar" width="135"/>
+ <text name="me_label">
+ Eu
+ </text>
+ <check_box label="Residente" name="people_chk"/>
+ <text name="person_label">
+ Pessoa
+ </text>
+ <check_box label="Infohub" name="infohub_chk"/>
+ <text name="infohub_label">
+ Infohub
+ </text>
+ <check_box label="Terra à Venda" name="land_for_sale_chk"/>
+ <text name="land_sale_label">
+ Venda de terreno
+ </text>
+ <text name="by_owner_label">
+ pelo dono
+ </text>
+ <text name="auction_label">
+ leilão de terrenos
+ </text>
+ <button label="Ir para Casa" label_selected="Ir para casa" name="Go Home" tool_tip="Teletransportar para minha casa"/>
+ <text name="Home_label">
+ Casa
+ </text>
+ <text name="events_label">
+ Eventos:
+ </text>
+ <check_box label="PG" name="event_chk"/>
+ <text name="pg_label">
+ Geral
+ </text>
+ <check_box initial_value="true" label="Mature" name="event_mature_chk"/>
+ <text name="mature_label">
+ Moderado
+ </text>
+ <check_box label="Adult" name="event_adult_chk"/>
+ <text name="adult_label">
+ Público adulto
+ </text>
+ </panel>
+ <panel
+ name="layout_panel_3">
+ <text name="find_on_map_label">
+ Localizar no mapa
+ </text>
+ </panel>
+ <panel
+ name="layout_panel_4">
+ <combo_box label="Amigos Conectados" name="friend combo" tool_tip="Mostrar amigos no mapa">
+ <combo_box.item label="Amigos conectados" name="item1"/>
+ </combo_box>
+ <combo_box label="Meus marcos" name="landmark combo" tool_tip="Mostrar marco no mapa">
+ <combo_box.item label="Meus marcos" name="item1"/>
+ </combo_box>
+ <search_editor label="Regiões por nome" name="location" tool_tip="Digite o nome de uma Região"/>
+ <button label="Buscar" name="DoSearch" tool_tip="Procurar por região"/>
+ <button name="Clear" tool_tip="Limpara linhas e redefinir mapa"/>
+ <button font="SansSerifSmall" label="Teletransporte" label_selected="Teletransporte" name="Teleport" tool_tip="Teletransportar para a posição selecionada"/>
+ <button font="SansSerifSmall" label="Copiar SLurl" name="copy_slurl" tool_tip="Copia a localização atual como um SLurl para usar na web."/>
+ <button font="SansSerifSmall" label="Mostrar seleção" label_selected="Mostrar Destino" left_delta="91" name="Show Destination" tool_tip="Centralizar mapa na posição selecionada" width="135"/>
+ </panel>
+ <panel
+ name="layout_panel_5">
+ <text name="zoom_label">
+ Zoom
+ </text>
+ </panel>
+ <panel
+ name="layout_panel_6">
+ <slider label="Zoom" name="zoom slider"/>
+ </panel>
</floater>
diff --git a/indra/newview/skins/default/xui/pt/inspect_avatar.xml b/indra/newview/skins/default/xui/pt/inspect_avatar.xml
new file mode 100644
index 0000000000..a74ea15be0
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/inspect_avatar.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!--
+ Not can_close / no title to avoid window chrome
+ Single instance - only have one at a time, recycle it each spawn
+-->
+<floater name="inspect_avatar">
+ <string name="Subtitle">
+ [IDADE]
+ </string>
+ <string name="Details">
+ [PERFIL_SL]
+ </string>
+ <slider name="volume_slider" tool_tip="Volume de Voz" value="0.5"/>
+ <button label="Adicionar amigo" name="add_friend_btn"/>
+ <button label="MI" name="im_btn"/>
+ <button label="Perfil" name="view_profile_btn"/>
+ <panel name="moderator_panel">
+ <button label="Disabilitar Voz" name="disable_voice"/>
+ <button label="Habilitar Voz" name="enable_voice"/>
+ </panel>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/inspect_group.xml b/indra/newview/skins/default/xui/pt/inspect_group.xml
new file mode 100644
index 0000000000..889d35f269
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/inspect_group.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!--
+ Not can_close / no title to avoid window chrome
+ Single instance - only have one at a time, recycle it each spawn
+-->
+<floater name="inspect_group">
+ <string name="PrivateGroup">
+ Grupo privado
+ </string>
+ <string name="FreeToJoin">
+ Livre para ingressar
+ </string>
+ <string name="CostToJoin">
+ [AMOUNT]L$ para ingressar
+ </string>
+ <string name="YouAreMember">
+ Você é um membro
+ </string>
+ <button label="Ingressar" name="join_btn"/>
+ <button label="Abandonar" name="leave_btn"/>
+ <button label="Visualizar Perfil" name="view_profile_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/inspect_object.xml b/indra/newview/skins/default/xui/pt/inspect_object.xml
new file mode 100644
index 0000000000..e9f1ca3a0b
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/inspect_object.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!--
+ Not can_close / no title to avoid window chrome
+ Single instance - only have one at a time, recycle it each spawn
+-->
+<floater name="inspect_object">
+ <string name="Creator">
+ Autor: [CREATOR]
+ </string>
+ <string name="CreatorAndOwner">
+ Autor: [CREATOR]
+Proprietário: [OWNER]
+ </string>
+ <string name="Price">
+ L$[AMOUNT]
+ </string>
+ <string name="PriceFree">
+ Grátis!
+ </string>
+ <string name="Touch">
+ Tocar
+ </string>
+ <string name="Sit">
+ Sentar
+ </string>
+ <button label="Comprar" name="buy_btn"/>
+ <button label="Pagar" name="pay_btn"/>
+ <button label="Pegar uma cópia" name="take_free_copy_btn"/>
+ <button label="Tocar" name="touch_btn"/>
+ <button label="Sentar" name="sit_btn"/>
+ <button label="Abrir" name="open_btn"/>
+ <icon name="secure_browsing" tool_tip="Navegação segura"/>
+ <button label="Mais" name="more_info_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/inspect_remote_object.xml b/indra/newview/skins/default/xui/pt/inspect_remote_object.xml
new file mode 100644
index 0000000000..789194bf2e
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/inspect_remote_object.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!--
+ Not can_close / no title to avoid window chrome
+ Single instance - only have one at a time, recycle it each spawn
+-->
+<floater name="inspect_remote_object">
+ <text name="object_owner_label">
+ Proprietário:
+ </text>
+ <button label="Mapa" name="map_btn"/>
+ <button label="Bloquear" name="block_btn"/>
+ <button label="Fechar" name="close_btn"/>
+</floater>
diff --git a/indra/newview/skins/default/xui/pt/menu_attachment_other.xml b/indra/newview/skins/default/xui/pt/menu_attachment_other.xml
new file mode 100644
index 0000000000..b6cf896836
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_attachment_other.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- *NOTE: See also menu_avatar_other.xml -->
+<context_menu name="Avatar Pie">
+ <menu_item_call label="Ver perfil" name="Profile..."/>
+ <menu_item_call label="Adicionar amigo..." name="Add Friend"/>
+ <menu_item_call label="MI" name="Send IM..."/>
+ <menu_item_call label="Ligar" name="Call"/>
+ <menu_item_call label="Convidar para entrar no grupo" name="Invite..."/>
+ <menu_item_call label="Bloquear" name="Avatar Mute"/>
+ <menu_item_call label="Denunciar" name="abuse"/>
+ <menu_item_call label="Congelar" name="Freeze..."/>
+ <menu_item_call label="Ejetar" name="Eject..."/>
+ <menu_item_call label="Depurar" name="Debug..."/>
+ <menu_item_call label="Mais zoom" name="Zoom In"/>
+ <menu_item_call label="Pagar" name="Pay..."/>
+ <menu_item_call label="Perfil do objeto" name="Object Inspect"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_attachment_self.xml b/indra/newview/skins/default/xui/pt/menu_attachment_self.xml
new file mode 100644
index 0000000000..04f6227141
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_attachment_self.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Attachment Pie">
+ <menu_item_call label="Tocar" name="Attachment Object Touch"/>
+ <menu_item_call label="Editar" name="Edit..."/>
+ <menu_item_call label="Tirar" name="Detach"/>
+ <menu_item_call label="Largar" name="Drop"/>
+ <menu_item_call label="Ficar de pé" name="Stand Up"/>
+ <menu_item_call label="Minha aparência" name="Appearance..."/>
+ <menu_item_call label="Meus amigos" name="Friends..."/>
+ <menu_item_call label="Meus grupos" name="Groups..."/>
+ <menu_item_call label="Meu perfil" name="Profile..."/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml b/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml
new file mode 100644
index 0000000000..beba969b7e
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_avatar_icon.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="Avatar Icon Menu">
+ <menu_item_call label="Ver perfil" name="Show Profile"/>
+ <menu_item_call label="Enviar MI..." name="Send IM"/>
+ <menu_item_call label="Adicionar amigo..." name="Add Friend"/>
+ <menu_item_call label="Remover amigo..." name="Remove Friend"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_avatar_other.xml b/indra/newview/skins/default/xui/pt/menu_avatar_other.xml
new file mode 100644
index 0000000000..21c2cb196a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_avatar_other.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- *NOTE: See also menu_attachment_other.xml -->
+<context_menu name="Avatar Pie">
+ <menu_item_call label="Ver perfil" name="Profile..."/>
+ <menu_item_call label="Adicionar amigo..." name="Add Friend"/>
+ <menu_item_call label="MI" name="Send IM..."/>
+ <menu_item_call label="Ligar" name="Call"/>
+ <menu_item_call label="Convidar para entrar no grupo" name="Invite..."/>
+ <menu_item_call label="Bloquear" name="Avatar Mute"/>
+ <menu_item_call label="Denunciar" name="abuse"/>
+ <menu_item_call label="Congelar" name="Freeze..."/>
+ <menu_item_call label="Ejetar" name="Eject..."/>
+ <menu_item_call label="Depurar" name="Debug..."/>
+ <menu_item_call label="Mais zoom" name="Zoom In"/>
+ <menu_item_call label="Pagar" name="Pay..."/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_avatar_self.xml b/indra/newview/skins/default/xui/pt/menu_avatar_self.xml
new file mode 100644
index 0000000000..abbf2e7032
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_avatar_self.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Self Pie">
+ <menu_item_call label="Ficar de pé" name="Stand Up"/>
+ <context_menu label="Tirar ▶" name="Take Off &gt;">
+ <context_menu label="Roupa ▶" name="Clothes &gt;">
+ <menu_item_call label="Camisa" name="Shirt"/>
+ <menu_item_call label="Calças" name="Pants"/>
+ <menu_item_call label="Saia" name="Skirt"/>
+ <menu_item_call label="Sapatos" name="Shoes"/>
+ <menu_item_call label="Meias" name="Socks"/>
+ <menu_item_call label="Jaqueta" name="Jacket"/>
+ <menu_item_call label="Luvas" name="Gloves"/>
+ <menu_item_call label="Camiseta" name="Self Undershirt"/>
+ <menu_item_call label="Roupa de baixo" name="Self Underpants"/>
+ <menu_item_call label="Tatuagem" name="Self Tattoo"/>
+ <menu_item_call label="Alpha" name="Self Alpha"/>
+ <menu_item_call label="Todas as roupas" name="All Clothes"/>
+ </context_menu>
+ <context_menu label="HUD ▶" name="Object Detach HUD"/>
+ <context_menu label="Tirar ▶" name="Object Detach"/>
+ <menu_item_call label="Tirar tudo" name="Detach All"/>
+ </context_menu>
+ <menu_item_call label="Minha aparência" name="Appearance..."/>
+ <menu_item_call label="Meus amigos" name="Friends..."/>
+ <menu_item_call label="Meus grupos" name="Groups..."/>
+ <menu_item_call label="Meu perfil" name="Profile..."/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_bottomtray.xml b/indra/newview/skins/default/xui/pt/menu_bottomtray.xml
new file mode 100644
index 0000000000..43b446a67e
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_bottomtray.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="hide_camera_move_controls_menu">
+ <menu_item_check label="Botão de gestos" name="ShowGestureButton"/>
+ <menu_item_check label="Botão de movimento" name="ShowMoveButton"/>
+ <menu_item_check label="Botão de ver" name="ShowCameraButton"/>
+ <menu_item_check label="Botão de fotos" name="ShowSnapshotButton"/>
+ <menu_item_call label="Cortar" name="NearbyChatBar_Cut"/>
+ <menu_item_call label="Copiar" name="NearbyChatBar_Copy"/>
+ <menu_item_call label="Colar" name="NearbyChatBar_Paste"/>
+ <menu_item_call label="Excluir" name="NearbyChatBar_Delete"/>
+ <menu_item_call label="Selecionar tudo" name="NearbyChatBar_Select_All"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_favorites.xml b/indra/newview/skins/default/xui/pt/menu_favorites.xml
new file mode 100644
index 0000000000..062820fbca
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_favorites.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="Popup">
+ <menu_item_call label="Teletransportar" name="Teleport To Landmark"/>
+ <menu_item_call label="Ver/Editar marco" name="Landmark Open"/>
+ <menu_item_call label="Copiar SLurl" name="Copy slurl"/>
+ <menu_item_call label="Mostrar no mapa" name="Show On Map"/>
+ <menu_item_call label="Copiar" name="Landmark Copy"/>
+ <menu_item_call label="Colar" name="Landmark Paste"/>
+ <menu_item_call label="Excluir" name="Delete"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_gesture_gear.xml b/indra/newview/skins/default/xui/pt/menu_gesture_gear.xml
new file mode 100644
index 0000000000..70d8ae7a8e
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_gesture_gear.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_gesture_gear">
+ <menu_item_call label="Adicionar/remover de favoritos" name="activate"/>
+ <menu_item_call label="Copiar" name="copy_gesture"/>
+ <menu_item_call label="Colar" name="paste"/>
+ <menu_item_call label="Copiar UUID" name="copy_uuid"/>
+ <menu_item_call label="Salvar para look atual" name="save_to_outfit"/>
+ <menu_item_call label="Editar" name="edit_gesture"/>
+ <menu_item_call label="Verificar" name="inspect"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_group_plus.xml b/indra/newview/skins/default/xui/pt/menu_group_plus.xml
new file mode 100644
index 0000000000..1083845d68
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_group_plus.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_group_plus">
+ <menu_item_call label="Entrar no grupo..." name="item_join"/>
+ <menu_item_call label="Novo grupo..." name="item_new"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_hide_navbar.xml b/indra/newview/skins/default/xui/pt/menu_hide_navbar.xml
new file mode 100644
index 0000000000..472ca466c9
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_hide_navbar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="hide_navbar_menu">
+ <menu_item_check label="Mostrar barra de navegação" name="ShowNavbarNavigationPanel"/>
+ <menu_item_check label="Mostrar barra de favoritos" name="ShowNavbarFavoritesPanel"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_im_well_button.xml b/indra/newview/skins/default/xui/pt/menu_im_well_button.xml
new file mode 100644
index 0000000000..2d37cefd6f
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_im_well_button.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="IM Well Button Context Menu">
+ <menu_item_call label="Fechar tudo" name="Close All"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_imchiclet_adhoc.xml b/indra/newview/skins/default/xui/pt/menu_imchiclet_adhoc.xml
new file mode 100644
index 0000000000..ead949ba13
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_imchiclet_adhoc.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="IMChiclet AdHoc Menu">
+ <menu_item_call label="Encerrar esta sessão" name="End Session"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_imchiclet_group.xml b/indra/newview/skins/default/xui/pt/menu_imchiclet_group.xml
new file mode 100644
index 0000000000..dd177d1b8d
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_imchiclet_group.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="IMChiclet Group Menu">
+ <menu_item_call label="Sobre o grupo" name="Show Profile"/>
+ <menu_item_call label="Mostrar sessão" name="Chat"/>
+ <menu_item_call label="Encerrar esta sessão" name="End Session"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_imchiclet_p2p.xml b/indra/newview/skins/default/xui/pt/menu_imchiclet_p2p.xml
new file mode 100644
index 0000000000..d821b3ded0
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_imchiclet_p2p.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="IMChiclet P2P Menu">
+ <menu_item_call label="Ver perfil" name="Show Profile"/>
+ <menu_item_call label="Adicionar amigo..." name="Add Friend"/>
+ <menu_item_call label="Mostrar sessão" name="Send IM"/>
+ <menu_item_call label="Encerrar esta sessão" name="End Session"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_inspect_avatar_gear.xml b/indra/newview/skins/default/xui/pt/menu_inspect_avatar_gear.xml
new file mode 100644
index 0000000000..cdd8959cd4
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_inspect_avatar_gear.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu name="Gear Menu">
+ <menu_item_call label="Ver perfil" name="view_profile"/>
+ <menu_item_call label="Adicionar amigo..." name="add_friend"/>
+ <menu_item_call label="MI" name="im"/>
+ <menu_item_call label="Ligar" name="call"/>
+ <menu_item_call label="Teletransportar" name="teleport"/>
+ <menu_item_call label="Convidar para entrar no grupo" name="invite_to_group"/>
+ <menu_item_call label="Bloquear" name="block"/>
+ <menu_item_call label="Desbloquear" name="unblock"/>
+ <menu_item_call label="Denunciar" name="report"/>
+ <menu_item_call label="Congelar" name="freeze"/>
+ <menu_item_call label="Ejetar" name="eject"/>
+ <menu_item_call label="Depurar" name="debug"/>
+ <menu_item_call label="Localizar no mapa" name="find_on_map"/>
+ <menu_item_call label="Mais zoom" name="zoom_in"/>
+ <menu_item_call label="Pagar" name="pay"/>
+ <menu_item_call label="Compartilhar" name="share"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_inspect_object_gear.xml b/indra/newview/skins/default/xui/pt/menu_inspect_object_gear.xml
new file mode 100644
index 0000000000..b69d205533
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_inspect_object_gear.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu name="Gear Menu">
+ <menu_item_call label="Tocar" name="touch"/>
+ <menu_item_call label="Sentar" name="sit"/>
+ <menu_item_call label="Pagar" name="pay"/>
+ <menu_item_call label="Comprar" name="buy"/>
+ <menu_item_call label="Pegar" name="take"/>
+ <menu_item_call label="Pegar uma cópia" name="take_copy"/>
+ <menu_item_call label="Abrir" name="open"/>
+ <menu_item_call label="Editar" name="edit"/>
+ <menu_item_call label="Vestir" name="wear"/>
+ <menu_item_call label="Denunciar" name="report"/>
+ <menu_item_call label="Bloquear" name="block"/>
+ <menu_item_call label="Mais zoom" name="zoom_in"/>
+ <menu_item_call label="Tirar" name="remove"/>
+ <menu_item_call label="Mais informações" name="more_info"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/pt/menu_inspect_self_gear.xml
new file mode 100644
index 0000000000..2eba4ccb2d
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_inspect_self_gear.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu name="Gear Menu">
+ <menu_item_call label="Ficar de pé" name="stand_up"/>
+ <menu_item_call label="Minha aparência" name="my_appearance"/>
+ <menu_item_call label="Meu perfil" name="my_profile"/>
+ <menu_item_call label="Meus amigos" name="my_friends"/>
+ <menu_item_call label="Meus grupos" name="my_groups"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_inventory.xml b/indra/newview/skins/default/xui/pt/menu_inventory.xml
index 486588158e..8b565b9645 100644
--- a/indra/newview/skins/default/xui/pt/menu_inventory.xml
+++ b/indra/newview/skins/default/xui/pt/menu_inventory.xml
@@ -10,9 +10,9 @@
<menu_item_call label="Limpar Achados e perdidos" name="Empty Lost And Found"/>
<menu_item_call label="Nova Pasta" name="New Folder"/>
<menu_item_call label="Novo Script" name="New Script"/>
- <menu_item_call label="Nova Nota" name="New Note"/>
+ <menu_item_call label="Nova anotação" name="New Note"/>
<menu_item_call label="Novo Gesto" name="New Gesture"/>
- <menu label="Nova Roupa" name="New Clothes">
+ <menu label="Novas roupas" name="New Clothes">
<menu_item_call label="Nova Camisa" name="New Shirt"/>
<menu_item_call label="Nova Calça" name="New Pants"/>
<menu_item_call label="Novos Calçados" name="New Shoes"/>
@@ -22,16 +22,32 @@
<menu_item_call label="Novas Luvas" name="New Gloves"/>
<menu_item_call label="Nova Anágua" name="New Undershirt"/>
<menu_item_call label="Nova roupa de baixo" name="New Underpants"/>
+ <menu_item_call label="Nova máscara alfa" name="New Alpha Mask"/>
+ <menu_item_call label="Nova tatuagem" name="New Tattoo"/>
</menu>
- <menu label="Parte do corpo" name="New Body Parts">
+ <menu label="Nova parte do corpo" name="New Body Parts">
<menu_item_call label="Nova forma" name="New Shape"/>
<menu_item_call label="Nova pele" name="New Skin"/>
<menu_item_call label="Novo cabelo" name="New Hair"/>
<menu_item_call label="Novos olhos" name="New Eyes"/>
</menu>
+ <menu label="Alterar fonte" name="Change Type">
+ <menu_item_call label="Padrão" name="Default"/>
+ <menu_item_call label="Luvas" name="Gloves"/>
+ <menu_item_call label="Jaqueta" name="Jacket"/>
+ <menu_item_call label="Calças" name="Pants"/>
+ <menu_item_call label="Silhueta" name="Shape"/>
+ <menu_item_call label="Sapatos" name="Shoes"/>
+ <menu_item_call label="Camisa" name="Shirt"/>
+ <menu_item_call label="Saia" name="Skirt"/>
+ <menu_item_call label="Roupa de baixo" name="Underpants"/>
+ <menu_item_call label="Camiseta" name="Undershirt"/>
+ </menu>
<menu_item_call label="Teletransporte" name="Landmark Open"/>
<menu_item_call label="Abrir" name="Animation Open"/>
<menu_item_call label="Abrir" name="Sound Open"/>
+ <menu_item_call label="Substituir equipamento" name="Replace Outfit"/>
+ <menu_item_call label="Adicionar ao equipamento" name="Add To Outfit"/>
<menu_item_call label="Remover item" name="Purge Item"/>
<menu_item_call label="Restaurar item" name="Restore Item"/>
<menu_item_call label="Abrir" name="Open"/>
@@ -40,22 +56,21 @@
<menu_item_call label="Copy Asset UUID" name="Copy Asset UUID"/>
<menu_item_call label="Copiar" name="Copy"/>
<menu_item_call label="Colar" name="Paste"/>
+ <menu_item_call label="Colar como link" name="Paste As Link"/>
<menu_item_call label="Apagar" name="Delete"/>
- <menu_item_call label="Remover os itens" name="Take Off Items"/>
- <menu_item_call label="Adicionar ao equipamento" name="Add To Outfit"/>
- <menu_item_call label="Substituir equipamento" name="Replace Outfit"/>
+ <menu_item_call label="Excluir pasta do sistema" name="Delete System Folder"/>
<menu_item_call label="Iniciar conversa em conferência" name="Conference Chat Folder"/>
<menu_item_call label="Executar" name="Sound Play"/>
- <menu_item_call label="Sobre as Landmarks" name="Teleport To Landmark"/>
- <menu_item_call label="Executar in World" name="Animation Play"/>
+ <menu_item_call label="Sobre o marco" name="About Landmark"/>
+ <menu_item_call label="Tocar inworld" name="Animation Play"/>
<menu_item_call label="Executar localmente" name="Animation Audition"/>
<menu_item_call label="Mandar Mensagem Instantânea" name="Send Instant Message"/>
<menu_item_call label="Oferecer teletransporte..." name="Offer Teleport..."/>
<menu_item_call label="Iniciar conversa em conferência" name="Conference Chat"/>
<menu_item_call label="Ativar" name="Activate"/>
<menu_item_call label="Desativar" name="Deactivate"/>
+ <menu_item_call label="Salvar como" name="Save As"/>
<menu_item_call label="Retirar de você" name="Detach From Yourself"/>
- <menu_item_call label="Recuperar Última Posição" name="Restore to Last Position"/>
<menu_item_call label="Vestir" name="Object Wear"/>
<menu label="Anexar a" name="Attach To"/>
<menu label="Anexar ao HUD" name="Attach To HUD"/>
diff --git a/indra/newview/skins/default/xui/pt/menu_inventory_add.xml b/indra/newview/skins/default/xui/pt/menu_inventory_add.xml
new file mode 100644
index 0000000000..81898c63bf
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_inventory_add.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_inventory_add">
+ <menu label="Upload" name="upload">
+ <menu_item_call label="Imagem (L$[COST])..." name="Upload Image"/>
+ <menu_item_call label="Som (L$[COST])..." name="Upload Sound"/>
+ <menu_item_call label="Animação (L$[COST])..." name="Upload Animation"/>
+ <menu_item_call label="Volume (L$[COST] per file)..." name="Bulk Upload"/>
+ </menu>
+ <menu_item_call label="Nova pasta" name="New Folder"/>
+ <menu_item_call label="Novo script" name="New Script"/>
+ <menu_item_call label="Nova anotação" name="New Note"/>
+ <menu_item_call label="Novo gesto" name="New Gesture"/>
+ <menu label="Novas roupas" name="New Clothes">
+ <menu_item_call label="Nova camisa" name="New Shirt"/>
+ <menu_item_call label="Novas calças" name="New Pants"/>
+ <menu_item_call label="Novos sapatos" name="New Shoes"/>
+ <menu_item_call label="Novas meias" name="New Socks"/>
+ <menu_item_call label="Nova blusa" name="New Jacket"/>
+ <menu_item_call label="Nova saia" name="New Skirt"/>
+ <menu_item_call label="Novas luvas" name="New Gloves"/>
+ <menu_item_call label="Nova camiseta" name="New Undershirt"/>
+ <menu_item_call label="Novas roupa de baixo" name="New Underpants"/>
+ <menu_item_call label="Novo alpha" name="New Alpha"/>
+ <menu_item_call label="Nova tatuagem" name="New Tattoo"/>
+ </menu>
+ <menu label="Nova parte do corpo" name="New Body Parts">
+ <menu_item_call label="Nova silhueta" name="New Shape"/>
+ <menu_item_call label="Nova pele" name="New Skin"/>
+ <menu_item_call label="Novo cabelo" name="New Hair"/>
+ <menu_item_call label="Novos olhos" name="New Eyes"/>
+ </menu>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/pt/menu_inventory_gear_default.xml
new file mode 100644
index 0000000000..8bae7afddc
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_inventory_gear_default.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_gear_default">
+ <menu_item_call label="Nova janela de inventário" name="new_window"/>
+ <menu_item_call label="Ordenar por nome" name="sort_by_name"/>
+ <menu_item_call label="Ordenar por mais recente" name="sort_by_recent"/>
+ <menu_item_call label="Mostrar filtros" name="show_filters"/>
+ <menu_item_call label="Restabelecer filtros" name="reset_filters"/>
+ <menu_item_call label="Fechar todas as pastas" name="close_folders"/>
+ <menu_item_call label="Esvaziar lixeira" name="empty_trash"/>
+ <menu_item_call label="Esvaziar achados e perdidos" name="empty_lostnfound"/>
+ <menu_item_call label="Salvar textura como" name="Save Texture As"/>
+ <menu_item_call label="Encontrar original" name="Find Original"/>
+ <menu_item_call label="Encontrar todos os links" name="Find All Links"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_land.xml b/indra/newview/skins/default/xui/pt/menu_land.xml
new file mode 100644
index 0000000000..9182ce321a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_land.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Land Pie">
+ <menu_item_call label="Sobre terrenos" name="Place Information..."/>
+ <menu_item_call label="Sentar aqui" name="Sit Here"/>
+ <menu_item_call label="Comprar este terreno" name="Land Buy"/>
+ <menu_item_call label="Comprar passe" name="Land Buy Pass"/>
+ <menu_item_call label="Construir" name="Create"/>
+ <menu_item_call label="Editar a topografia" name="Edit Terrain"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_landmark.xml b/indra/newview/skins/default/xui/pt/menu_landmark.xml
new file mode 100644
index 0000000000..6accfebee7
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_landmark.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="landmark_overflow_menu">
+ <menu_item_call label="Copiar SLurl" name="copy"/>
+ <menu_item_call label="Excluir" name="delete"/>
+ <menu_item_call label="Criar destaque" name="pick"/>
+ <menu_item_call label="Adicionar à barra de favoritos" name="add_to_favbar"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_login.xml b/indra/newview/skins/default/xui/pt/menu_login.xml
index 7ec324cb3f..6cc83d11d0 100644
--- a/indra/newview/skins/default/xui/pt/menu_login.xml
+++ b/indra/newview/skins/default/xui/pt/menu_login.xml
@@ -1,13 +1,30 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu_bar name="Login Menu">
- <menu label="Arquivo" name="File">
+ <menu label="Eu" name="File">
+ <menu_item_call label="Preferências" name="Preferences..."/>
<menu_item_call label="Sair" name="Quit"/>
</menu>
- <menu label="Editar" name="Edit">
- <menu_item_call label="Preferências..." name="Preferences..."/>
- </menu>
<menu label="Ajuda" name="Help">
<menu_item_call label="Ajuda do [SECOND_LIFE]" name="Second Life Help"/>
- <menu_item_call label="Sobre o [APP_NAME]..." name="About Second Life..."/>
+ </menu>
+ <menu label="Depurar" name="Debug">
+ <menu label="Editar" name="Edit">
+ <menu_item_call label="Desfazer" name="Undo"/>
+ <menu_item_call label="Repetir" name="Redo"/>
+ <menu_item_call label="Cortar" name="Cut"/>
+ <menu_item_call label="Copiar" name="Copy"/>
+ <menu_item_call label="Colar" name="Paste"/>
+ <menu_item_call label="Excluir" name="Delete"/>
+ <menu_item_call label="Replicar" name="Duplicate"/>
+ <menu_item_call label="Selecionar tudo" name="Select All"/>
+ <menu_item_call label="Desfazer seleção" name="Deselect"/>
+ </menu>
+ <menu_item_call label="Mostrar configurações" name="Debug Settings"/>
+ <menu_item_call label="Configurações da interface e cor" name="UI/Color Settings"/>
+ <menu label="Testes de UI" name="UI Tests"/>
+ <menu_item_call label="Definir tamanho da janela:" name="Set Window Size..."/>
+ <menu_item_call label="Mostrar TOS" name="TOS"/>
+ <menu_item_call label="Mostrar mensagem crítica" name="Critical"/>
+ <menu_item_call label="Teste de navegador web" name="Web Browser Test"/>
</menu>
</menu_bar>
diff --git a/indra/newview/skins/default/xui/pt/menu_mini_map.xml b/indra/newview/skins/default/xui/pt/menu_mini_map.xml
index 1293f4e17f..f7b86b8f22 100644
--- a/indra/newview/skins/default/xui/pt/menu_mini_map.xml
+++ b/indra/newview/skins/default/xui/pt/menu_mini_map.xml
@@ -3,6 +3,7 @@
<menu_item_call label="Zoom Perto" name="Zoom Close"/>
<menu_item_call label="Zoom Médio" name="Zoom Medium"/>
<menu_item_call label="Zoom Longe" name="Zoom Far"/>
+ <menu_item_check label="Girar mapa" name="Rotate Map"/>
<menu_item_call label="Parar Acompanhamento" name="Stop Tracking"/>
- <menu_item_call label="Perfil..." name="Profile"/>
+ <menu_item_call label="Mapa-múndi" name="World Map"/>
</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_navbar.xml b/indra/newview/skins/default/xui/pt/menu_navbar.xml
new file mode 100644
index 0000000000..57c1471de3
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_navbar.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="Navbar Menu">
+ <menu_item_check label="Mostrar coordenadas" name="Show Coordinates"/>
+ <menu_item_check label="Mostrar as propriedades do terreno" name="Show Parcel Properties"/>
+ <menu_item_call label="Marco" name="Landmark"/>
+ <menu_item_call label="Cortar" name="Cut"/>
+ <menu_item_call label="Copiar" name="Copy"/>
+ <menu_item_call label="Colar" name="Paste"/>
+ <menu_item_call label="Excluir" name="Delete"/>
+ <menu_item_call label="Selecionar tudo" name="Select All"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_nearby_chat.xml b/indra/newview/skins/default/xui/pt/menu_nearby_chat.xml
new file mode 100644
index 0000000000..f1ea83c837
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_nearby_chat.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="NearBy Chat Menu">
+ <menu_item_call label="Mostrar quem está aqui..." name="nearby_people"/>
+ <menu_item_check label="Mostrar texto bloqueado" name="muted_text"/>
+ <menu_item_check label="Mostrar ícones de amigos" name="show_buddy_icons"/>
+ <menu_item_check label="Mostrar nomes" name="show_names"/>
+ <menu_item_check label="Mostrar ícones e nomes" name="show_icons_and_names"/>
+ <menu_item_call label="Tamanho da fonte" name="font_size"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_notification_well_button.xml b/indra/newview/skins/default/xui/pt/menu_notification_well_button.xml
new file mode 100644
index 0000000000..43ad4134ec
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_notification_well_button.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Notification Well Button Context Menu">
+ <menu_item_call label="Fechar tudo" name="Close All"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_object.xml b/indra/newview/skins/default/xui/pt/menu_object.xml
new file mode 100644
index 0000000000..5121c9d048
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_object.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Object Pie">
+ <menu_item_call label="Tocar" name="Object Touch"/>
+ <menu_item_call label="Editar" name="Edit..."/>
+ <menu_item_call label="Construir" name="Build"/>
+ <menu_item_call label="Abrir" name="Open"/>
+ <menu_item_call label="Sentar aqui" name="Object Sit"/>
+ <menu_item_call label="Perfil do objeto" name="Object Inspect"/>
+ <menu_item_call label="Mais zoom" name="Zoom In"/>
+ <context_menu label="Colocar no(a)" name="Put On">
+ <menu_item_call label="Vestir" name="Wear"/>
+ <context_menu label="Anexar &gt;" name="Object Attach"/>
+ <context_menu label="Anexar o HUD &gt;" name="Object Attach HUD"/>
+ </context_menu>
+ <context_menu label="Tirar &gt;" name="Remove">
+ <menu_item_call label="Denunciar abuso" name="Report Abuse..."/>
+ <menu_item_call label="Bloquear" name="Object Mute"/>
+ <menu_item_call label="Devolver" name="Return..."/>
+ <menu_item_call label="Excluir" name="Delete"/>
+ </context_menu>
+ <menu_item_call label="Comprar" name="Pie Object Bye"/>
+ <menu_item_call label="Pegar" name="Pie Object Take"/>
+ <menu_item_call label="Pegar uma cópia" name="Take Copy"/>
+ <menu_item_call label="Pagar" name="Pay..."/>
+ <menu_item_call label="Comprar" name="Buy..."/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_object_icon.xml b/indra/newview/skins/default/xui/pt/menu_object_icon.xml
new file mode 100644
index 0000000000..7af760a6ee
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_object_icon.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="Object Icon Menu">
+ <menu_item_call label="Perfil do objeto..." name="Object Profile"/>
+ <menu_item_call label="Bloquear..." name="Block"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_participant_list.xml b/indra/newview/skins/default/xui/pt/menu_participant_list.xml
new file mode 100644
index 0000000000..849dec3108
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_participant_list.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Participant List Context Menu">
+ <menu_item_check label="Ordenar por nome" name="SortByName"/>
+ <menu_item_check label="Ordenar por conversas mais recentes" name="SortByRecentSpeakers"/>
+ <menu_item_call label="Ver perfil" name="View Profile"/>
+ <menu_item_call label="Adicionar amigo..." name="Add Friend"/>
+ <menu_item_call label="MI" name="IM"/>
+ <menu_item_call label="Ligar" name="Call"/>
+ <menu_item_call label="Compartilhar" name="Share"/>
+ <menu_item_call label="Pagar" name="Pay"/>
+ <menu_item_check label="Bloquear voz" name="Block/Unblock"/>
+ <menu_item_check label="Bloquear texto" name="MuteText"/>
+ <context_menu label="Opções do moderador &gt;" name="Moderator Options">
+ <menu_item_check label="Pode bater papo por escrito" name="AllowTextChat"/>
+ <menu_item_call label="Silenciar este participante" name="ModerateVoiceMuteSelected"/>
+ <menu_item_call label="Silenciar os demais" name="ModerateVoiceMuteOthers"/>
+ <menu_item_call label="Desfazer silenciar deste participante" name="ModerateVoiceUnMuteSelected"/>
+ <menu_item_call label="Desfazer silenciar dos demais" name="ModerateVoiceUnMuteOthers"/>
+ </context_menu>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_people_friends_view_sort.xml b/indra/newview/skins/default/xui/pt/menu_people_friends_view_sort.xml
new file mode 100644
index 0000000000..25a37488d7
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_people_friends_view_sort.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_group_plus">
+ <menu_item_check label="Ordenar por nome" name="sort_name"/>
+ <menu_item_check label="Ordenar por status" name="sort_status"/>
+ <menu_item_check label="Ver ícones de pessoas" name="view_icons"/>
+ <menu_item_call label="Ver residentes e objetos bloqueados" name="show_blocked_list"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_people_groups.xml b/indra/newview/skins/default/xui/pt/menu_people_groups.xml
new file mode 100644
index 0000000000..9a924ad7b9
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_people_groups.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_group_plus">
+ <menu_item_call label="Ver dados" name="View Info"/>
+ <menu_item_call label="Bate-papo" name="Chat"/>
+ <menu_item_call label="Ligar" name="Call"/>
+ <menu_item_call label="Ativar" name="Activate"/>
+ <menu_item_call label="Sair" name="Leave"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_people_groups_view_sort.xml b/indra/newview/skins/default/xui/pt/menu_people_groups_view_sort.xml
new file mode 100644
index 0000000000..86a9d2263f
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_people_groups_view_sort.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_group_plus">
+ <menu_item_check label="Mostrar ícones de grupos" name="Display Group Icons"/>
+ <menu_item_call label="Sair do grupo selecionado" name="Leave Selected Group"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_people_nearby.xml b/indra/newview/skins/default/xui/pt/menu_people_nearby.xml
new file mode 100644
index 0000000000..7c720f262b
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_people_nearby.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Avatar Context Menu">
+ <menu_item_call label="Ver perfil" name="View Profile"/>
+ <menu_item_call label="Adicionar amigo..." name="Add Friend"/>
+ <menu_item_call label="Remover amigo..." name="Remove Friend"/>
+ <menu_item_call label="MI" name="IM"/>
+ <menu_item_call label="Ligar" name="Call"/>
+ <menu_item_call label="Mapa" name="Map"/>
+ <menu_item_call label="Compartilhar" name="Share"/>
+ <menu_item_call label="Pagar" name="Pay"/>
+ <menu_item_check label="Bloquear/desbloquear" name="Block/Unblock"/>
+ <menu_item_call label="Teletransportar?" name="teleport"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_people_nearby_multiselect.xml b/indra/newview/skins/default/xui/pt/menu_people_nearby_multiselect.xml
new file mode 100644
index 0000000000..fc08b3accb
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_people_nearby_multiselect.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Multi-Selected People Context Menu">
+ <menu_item_call label="Adicionar amigo..." name="Add Friends"/>
+ <menu_item_call label="Remover amigo..." name="Remove Friend"/>
+ <menu_item_call label="MI" name="IM"/>
+ <menu_item_call label="Ligar" name="Call"/>
+ <menu_item_call label="Compartilhar" name="Share"/>
+ <menu_item_call label="Pagar" name="Pay"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_people_nearby_view_sort.xml b/indra/newview/skins/default/xui/pt/menu_people_nearby_view_sort.xml
new file mode 100644
index 0000000000..228ce46a31
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_people_nearby_view_sort.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_group_plus">
+ <menu_item_check label="Ordenar por conversas mais recentes" name="sort_by_recent_speakers"/>
+ <menu_item_check label="Ordenar por nome" name="sort_name"/>
+ <menu_item_check label="Ordenar por distância" name="sort_distance"/>
+ <menu_item_check label="Ver ícones de pessoas" name="view_icons"/>
+ <menu_item_call label="Ver residentes e objetos bloqueados" name="show_blocked_list"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_people_recent_view_sort.xml b/indra/newview/skins/default/xui/pt/menu_people_recent_view_sort.xml
new file mode 100644
index 0000000000..f3b89e01cd
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_people_recent_view_sort.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_group_plus">
+ <menu_item_check label="Ordenar por mais recente" name="sort_most"/>
+ <menu_item_check label="Ordenar por nome" name="sort_name"/>
+ <menu_item_check label="Ver ícones de pessoas" name="view_icons"/>
+ <menu_item_call label="Ver residentes e objetos bloqueados" name="show_blocked_list"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_picks.xml b/indra/newview/skins/default/xui/pt/menu_picks.xml
new file mode 100644
index 0000000000..8b9e10fc02
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_picks.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Picks">
+ <menu_item_call label="Info" name="pick_info"/>
+ <menu_item_call label="Editar" name="pick_edit"/>
+ <menu_item_call label="Teletransportar" name="pick_teleport"/>
+ <menu_item_call label="Mapa" name="pick_map"/>
+ <menu_item_call label="Excluir" name="pick_delete"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_picks_plus.xml b/indra/newview/skins/default/xui/pt/menu_picks_plus.xml
new file mode 100644
index 0000000000..95a7c05262
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_picks_plus.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="picks_plus_menu">
+ <menu_item_call label="Adicionar" name="create_pick"/>
+ <menu_item_call label="Novo anúncio" name="create_classified"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_place.xml b/indra/newview/skins/default/xui/pt/menu_place.xml
new file mode 100644
index 0000000000..282ea20a7a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_place.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="place_overflow_menu">
+ <menu_item_call label="Criar marco" name="landmark"/>
+ <menu_item_call label="Criar destaque" name="pick"/>
+ <menu_item_call label="Comprar passe" name="pass"/>
+ <menu_item_call label="Editar" name="edit"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_place_add_button.xml b/indra/newview/skins/default/xui/pt/menu_place_add_button.xml
new file mode 100644
index 0000000000..d099d04f8d
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_place_add_button.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_folder_gear">
+ <menu_item_call label="Adicionar pasta" name="add_folder"/>
+ <menu_item_call label="Adicionar marco" name="add_landmark"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_places_gear_folder.xml b/indra/newview/skins/default/xui/pt/menu_places_gear_folder.xml
new file mode 100644
index 0000000000..2059a9ed2d
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_places_gear_folder.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_folder_gear">
+ <menu_item_call label="Adicionar marco" name="add_landmark"/>
+ <menu_item_call label="Adicionar pasta" name="add_folder"/>
+ <menu_item_call label="Cortar" name="cut"/>
+ <menu_item_call label="Copiar" name="copy_folder"/>
+ <menu_item_call label="Colar" name="paste"/>
+ <menu_item_call label="Renomear" name="rename"/>
+ <menu_item_call label="Excluir" name="delete"/>
+ <menu_item_call label="Expanda" name="expand"/>
+ <menu_item_call label="Recolher" name="collapse"/>
+ <menu_item_call label="Expandir todas as pastas" name="expand_all"/>
+ <menu_item_call label="Recolher todas as pastas" name="collapse_all"/>
+ <menu_item_check label="Ordenar por data" name="sort_by_date"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/pt/menu_places_gear_landmark.xml
new file mode 100644
index 0000000000..52a9d13735
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_places_gear_landmark.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_ladmark_gear">
+ <menu_item_call label="Teletransportar" name="teleport"/>
+ <menu_item_call label="Mais informações" name="more_info"/>
+ <menu_item_call label="Mostrar no mapa" name="show_on_map"/>
+ <menu_item_call label="Adicionar marco" name="add_landmark"/>
+ <menu_item_call label="Adicionar pasta" name="add_folder"/>
+ <menu_item_call label="Cortar" name="cut"/>
+ <menu_item_call label="Copiar marco" name="copy_landmark"/>
+ <menu_item_call label="Copiar SLurl" name="copy_slurl"/>
+ <menu_item_call label="Colar" name="paste"/>
+ <menu_item_call label="Renomear" name="rename"/>
+ <menu_item_call label="Excluir" name="delete"/>
+ <menu_item_call label="Expandir todas as pastas" name="expand_all"/>
+ <menu_item_call label="Recolher todas as pastas" name="collapse_all"/>
+ <menu_item_check label="Ordenar por data" name="sort_by_date"/>
+ <menu_item_call label="Criar destaque" name="create_pick"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_profile_overflow.xml b/indra/newview/skins/default/xui/pt/menu_profile_overflow.xml
new file mode 100644
index 0000000000..2635182290
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_profile_overflow.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<toggleable_menu name="profile_overflow_menu">
+ <menu_item_call label="Pagar" name="pay"/>
+ <menu_item_call label="Compartilhar" name="share"/>
+ <menu_item_call label="Bloquear" name="block"/>
+ <menu_item_call label="Desbloquear" name="unblock"/>
+ <menu_item_call label="Chutar" name="kick"/>
+ <menu_item_call label="Congelar" name="freeze"/>
+ <menu_item_call label="Descongelar" name="unfreeze"/>
+ <menu_item_call label="CSR" name="csr"/>
+</toggleable_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_slurl.xml b/indra/newview/skins/default/xui/pt/menu_slurl.xml
index 67a4b51b61..6d4c84fc3c 100644
--- a/indra/newview/skins/default/xui/pt/menu_slurl.xml
+++ b/indra/newview/skins/default/xui/pt/menu_slurl.xml
@@ -2,5 +2,5 @@
<menu name="Popup">
<menu_item_call label="Sobre a URL" name="about_url"/>
<menu_item_call label="Teletransporte para a URL" name="teleport_to_url"/>
- <menu_item_call label="Mostrar no Mapa" name="show_on_map"/>
+ <menu_item_call label="Mapa" name="show_on_map"/>
</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_teleport_history_gear.xml b/indra/newview/skins/default/xui/pt/menu_teleport_history_gear.xml
new file mode 100644
index 0000000000..f034509be8
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_teleport_history_gear.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="Teleport History Gear Context Menu">
+ <menu_item_call label="Expandir todas as pastas" name="Expand all folders"/>
+ <menu_item_call label="Recolher todas as pastas" name="Collapse all folders"/>
+ <menu_item_call label="Limpar histórico de teletransporte" name="Clear Teleport History"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml b/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml
new file mode 100644
index 0000000000..b4216b7ddc
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_teleport_history_item.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Teleport History Item Context Menu">
+ <menu_item_call label="Teletransportar" name="Teleport"/>
+ <menu_item_call label="Mais informações" name="More Information"/>
+ <menu_item_call label="Copiar para área de transferência" name="CopyToClipboard"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_teleport_history_tab.xml b/indra/newview/skins/default/xui/pt/menu_teleport_history_tab.xml
new file mode 100644
index 0000000000..6a633cf74c
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_teleport_history_tab.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Teleport History Item Context Menu">
+ <menu_item_call label="Abrir" name="TabOpen"/>
+ <menu_item_call label="Fechar" name="TabClose"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_text_editor.xml b/indra/newview/skins/default/xui/pt/menu_text_editor.xml
new file mode 100644
index 0000000000..31c284c6ed
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_text_editor.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Text editor context menu">
+ <menu_item_call label="Cortar" name="Cut"/>
+ <menu_item_call label="Copiar" name="Copy"/>
+ <menu_item_call label="Colar" name="Paste"/>
+ <menu_item_call label="Excluir" name="Delete"/>
+ <menu_item_call label="Selecionar tudo" name="Select All"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_url_agent.xml b/indra/newview/skins/default/xui/pt/menu_url_agent.xml
new file mode 100644
index 0000000000..ba5e055124
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_url_agent.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Url Popup">
+ <menu_item_call label="Mostrar perfil de residente" name="show_agent"/>
+ <menu_item_call label="Copiar nome para área de transferência" name="url_copy_label"/>
+ <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_url_group.xml b/indra/newview/skins/default/xui/pt/menu_url_group.xml
new file mode 100644
index 0000000000..5b67a69c9a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_url_group.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Url Popup">
+ <menu_item_call label="Mostrar informações do grupo" name="show_group"/>
+ <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy_label"/>
+ <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_url_http.xml b/indra/newview/skins/default/xui/pt/menu_url_http.xml
new file mode 100644
index 0000000000..e53a2572b8
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_url_http.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Url Popup">
+ <menu_item_call label="Abrir página da web" name="url_open"/>
+ <menu_item_call label="Abrir no navegador do SL" name="url_open_internal"/>
+ <menu_item_call label="Abrir no navegador externo" name="url_open_external"/>
+ <menu_item_call label="Copiar URL para área de transferência" name="url_copy"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_url_inventory.xml b/indra/newview/skins/default/xui/pt/menu_url_inventory.xml
new file mode 100644
index 0000000000..45c14355d0
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_url_inventory.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Url Popup">
+ <menu_item_call label="Mostrar item de inventário" name="show_item"/>
+ <menu_item_call label="Copiar nome para área de transferência" name="url_copy_label"/>
+ <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_url_map.xml b/indra/newview/skins/default/xui/pt/menu_url_map.xml
new file mode 100644
index 0000000000..ba114cccaa
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_url_map.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Url Popup">
+ <menu_item_call label="Mostrar no mapa" name="show_on_map"/>
+ <menu_item_call label="Teletransportar para este lugar" name="teleport_to_location"/>
+ <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_url_objectim.xml b/indra/newview/skins/default/xui/pt/menu_url_objectim.xml
new file mode 100644
index 0000000000..c197444181
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_url_objectim.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Url Popup">
+ <menu_item_call label="Mostrar informações sobre o objeto" name="show_object"/>
+ <menu_item_call label="Mostrar no mapa" name="show_on_map"/>
+ <menu_item_call label="Teletransportar para lugar do objeto" name="teleport_to_object"/>
+ <menu_item_call label="Copiar nome do objeto para área de transferência" name="url_copy_label"/>
+ <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_url_parcel.xml b/indra/newview/skins/default/xui/pt/menu_url_parcel.xml
new file mode 100644
index 0000000000..6cc668bfd3
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_url_parcel.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Url Popup">
+ <menu_item_call label="Mostrar informações sobre este lote" name="show_parcel"/>
+ <menu_item_call label="Mostrar no mapa" name="show_on_map"/>
+ <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_url_slapp.xml b/indra/newview/skins/default/xui/pt/menu_url_slapp.xml
new file mode 100644
index 0000000000..d0784149ac
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_url_slapp.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Url Popup">
+ <menu_item_call label="Executar este comando" name="run_slapp"/>
+ <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_url_slurl.xml b/indra/newview/skins/default/xui/pt/menu_url_slurl.xml
new file mode 100644
index 0000000000..7216ccf0b3
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_url_slurl.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Url Popup">
+ <menu_item_call label="Mostrar informações sobre este lugar" name="show_place"/>
+ <menu_item_call label="Mostrar no mapa" name="show_on_map"/>
+ <menu_item_call label="Teletransportar para este lugar" name="teleport_to_location"/>
+ <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/>
+</context_menu>
diff --git a/indra/newview/skins/default/xui/pt/menu_url_teleport.xml b/indra/newview/skins/default/xui/pt/menu_url_teleport.xml
new file mode 100644
index 0000000000..f007425646
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/menu_url_teleport.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<context_menu name="Url Popup">
+ <menu_item_call label="Teletransportar para este lugar" name="teleport"/>
+ <menu_item_call label="Mostrar no mapa" name="show_on_map"/>
+ <menu_item_call label="Copiar SLurl para área de transferência" name="url_copy"/>
+</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 2c887fa50c..2b83386cad 100644
--- a/indra/newview/skins/default/xui/pt/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/pt/menu_viewer.xml
@@ -1,217 +1,322 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu_bar name="Main Menu">
- <menu name="Me">
+ <menu label="Eu" name="Me">
<menu_item_call label="Preferências" name="Preferences"/>
- <menu_item_call 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 label="Meu 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="Comprar L$" name="Buy and Sell L$"/>
+ <menu_item_call label="Meu perfil" name="Profile"/>
+ <menu_item_call label="Minha aparência" name="Appearance"/>
+ <menu_item_check label="Meu inventário" name="Inventory"/>
+ <menu_item_check label="Meu inventário" name="ShowSidetrayInventory"/>
+ <menu_item_check label="Meus gestos" name="Gestures"/>
+ <menu label="Meu status" name="Status">
+ <menu_item_call label="Ausente" name="Set Away"/>
+ <menu_item_call label="Ocupado" name="Set Busy"/>
+ </menu>
+ <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="Sair do [APP_NAME]" name="Quit"/>
</menu>
- <menu label="Arquivo" name="File">
- <tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~"/>
- <menu label="Upload" name="upload">
- <menu_item_call label="Imagem (L$[COST])..." name="Upload Image"/>
- <menu_item_call label="Som (L$[COST])..." name="Upload Sound"/>
- <menu_item_call label="Animação (L$[COST])..." name="Upload Animation"/>
- <menu_item_call label="Bulk (L$[COST] por arquivo)..." name="Bulk Upload"/>
- <menu_item_separator label="-----------" name="separator"/>
- <menu_item_call label="Definir Permissões Padrão..." name="perm prefs"/>
- </menu>
- <menu_item_separator label="-----------" name="separator"/>
- <menu_item_call label="Fechar janela" name="Close Window"/>
- <menu_item_call label="Fechar todas as janelas" name="Close All Windows"/>
- <menu_item_separator label="-----------" name="separator2"/>
- <menu_item_call label="Salvar textura como..." name="Save Texture As..."/>
- <menu_item_separator label="-----------" name="separator3"/>
- <menu_item_call label="Tirar Foto" name="Take Snapshot"/>
- <menu_item_call label="Salvar Foto no disco" name="Snapshot to Disk"/>
- <menu_item_separator label="-----------" name="separator4"/>
- <menu_item_call label="Sair" name="Quit"/>
- </menu>
- <menu label="Editar" name="Edit">
- <menu_item_call label="Voltar" name="Undo"/>
- <menu_item_call label="Avançar" name="Redo"/>
- <menu_item_separator label="-----------" name="separator"/>
- <menu_item_call label="Cortar" name="Cut"/>
- <menu_item_call label="Copiar" name="Copy"/>
- <menu_item_call label="Colar" name="Paste"/>
- <menu_item_call label="Apagar" name="Delete"/>
- <menu_item_separator label="-----------" name="separator2"/>
- <menu_item_call label="Procurar..." name="Search..."/>
- <menu_item_separator label="-----------" name="separator3"/>
- <menu_item_call label="Selecionar todos" name="Select All"/>
- <menu_item_call label="Retirar seleção" name="Deselect"/>
- <menu_item_separator label="-----------" name="separator4"/>
- <menu_item_call label="Duplicar" name="Duplicate"/>
- <menu_item_separator label="-----------" name="separator5"/>
- <menu label="Anexar objeto" name="Attach Object"/>
- <menu label="Desanexar objeto" name="Detach Object"/>
- <menu label="Tirar a roupa" name="Take Off Clothing">
- <menu_item_call label="Camiseta" name="Shirt"/>
- <menu_item_call label="Calças" name="Pants"/>
- <menu_item_call label="Sapatos" name="Shoes"/>
- <menu_item_call label="Meias" name="Socks"/>
- <menu_item_call label="Blusa" name="Jacket"/>
- <menu_item_call label="Luvas" name="Gloves"/>
- <menu_item_call label="Anágua" name="Menu Undershirt"/>
- <menu_item_call label="Roupa de baixo" name="Menu Underpants"/>
- <menu_item_call label="saia" name="Skirt"/>
- <menu_item_call label="Toda a roupa" name="All Clothes"/>
- </menu>
- <menu_item_separator label="-----------" name="separator6"/>
- <menu_item_call label="Gestos..." name="Gestures..."/>
- <menu_item_call label="Perfil..." name="Profile..."/>
- <menu_item_call label="Aparência..." name="Appearance..."/>
- <menu_item_separator label="-----------" name="separator7"/>
- <menu_item_check label="Amigos..." name="Friends..."/>
- <menu_item_call label="Grupos..." name="Groups..."/>
- <menu_item_separator label="-----------" name="separator8"/>
- <menu_item_call label="Preferências..." name="Preferences..."/>
- </menu>
- <menu label="Exibir" name="View">
- <tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~"/>
- <menu_item_call label="Visão do mouse" name="Mouselook"/>
- <menu_item_check label="Construir" name="Build"/>
- <menu_item_check label="Câmera voadora pelo joystick" name="Joystick Flycam"/>
- <menu_item_call label="Resetar visão" name="Reset View"/>
- <menu_item_call label="Olhar para o último movimento" name="Look at Last Chatter"/>
- <menu_item_separator label="-----------" name="separator"/>
- <menu_item_check label="Barra de ferramentas" name="Toolbar"/>
- <menu_item_check label="Conversa local" name="Chat History"/>
- <menu_item_check label="Comunicar" name="Instant Message"/>
- <menu_item_check label="Inventário" name="Inventory"/>
- <menu_item_check label="Falantes Ativos" name="Active Speakers"/>
- <menu_item_check label="Lista de residentes e objetos silenciados" name="Mute List"/>
- <menu_item_separator label="-----------" name="separator2"/>
- <menu_item_check label="Controles de câmera" name="Camera Controls"/>
- <menu_item_check label="Controles de movimento" name="Movement Controls"/>
- <menu_item_check label="Mapa do mundo" name="World Map"/>
- <menu_item_check label="Mini-Mapa" name="Mini-Map"/>
- <menu_item_separator label="-----------" name="separator3"/>
- <menu_item_check label="Barra de estatísticas" name="Statistics Bar"/>
- <menu_item_check label="Linhas de propriedades" name="Property Lines"/>
- <menu_item_check label="Linhas de banimento" name="Banlines"/>
- <menu_item_check label="Donos de terrenos" name="Land Owners"/>
- <menu_item_separator label="-----------" name="separator4"/>
- <menu label="Dicas" name="Hover Tips">
- <menu_item_check label="Mostrar dicas" name="Show Tips"/>
- <menu_item_separator label="-----------" name="separator"/>
- <menu_item_check label="Dicas de terreno" name="Land Tips"/>
- <menu_item_check label="Dicas de todos os objetos" name="Tips On All Objects"/>
- </menu>
- <menu_item_check label="Luz para transparência" name="Highlight Transparent"/>
- <menu_item_check label="Balizas" name="beacons"/>
- <menu_item_check label="Esconder partículas" name="Hide Particles"/>
- <menu_item_check label="Mostrar anexo em HUD" name="Show HUD Attachments"/>
- <menu_item_separator label="-----------" name="separator5"/>
- <menu_item_call label="Mais zoom" name="Zoom In"/>
- <menu_item_call label="Zoom padrão" name="Zoom Default"/>
- <menu_item_call label="Menos zoom" name="Zoom Out"/>
- <menu_item_separator label="-----------" name="separator6"/>
- <menu_item_call label="Tela cheia" name="Toggle Fullscreen"/>
- <menu_item_call label="Ajustar o tamanho da UI ao padrão" name="Set UI Size to Default"/>
+ <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>
<menu label="Mundo" name="World">
- <menu_item_call label="Conversa" name="Chat"/>
- <menu_item_check label="Sempre Correr" name="Always Run"/>
- <menu_item_check label="Voar" name="Fly"/>
- <menu_item_separator label="-----------" name="separator"/>
- <menu_item_call label="Criar Landmark aqui" name="Create Landmark Here"/>
- <menu_item_call label="Marcar como casa" name="Set Home to Here"/>
- <menu_item_separator label="-----------" name="separator2"/>
- <menu_item_call label="Teletransportar para casa" name="Teleport Home"/>
- <menu_item_separator label="-----------" name="separator3"/>
- <menu_item_call label="Deixar ausente" name="Set Away"/>
- <menu_item_call label="Deixar Ocupado" name="Set Busy"/>
- <menu_item_call label="Parar Animação do Meu Avatar" name="Stop Animating My Avatar"/>
- <menu_item_call label="Liberar teclas" name="Release Keys"/>
- <menu_item_separator label="-----------" name="separator4"/>
- <menu_item_call label="Histórico de conta..." name="Account History...">
- <on_click name="AccountHistory_url" userdata="WebLaunchAccountHistory,http://secondlife.com/account/transactions.php?lang=pt"/>
- </menu_item_call>
- <menu_item_call label="Gerenciar minha conta..." name="Manage My Account...">
- <on_click name="ManageMyAccount_url" userdata="WebLaunchJoinNow,http://secondlife.com/account/index.php?lang=pt"/>
- </menu_item_call>
- <menu_item_call label="Comprar L$..." name="Buy and Sell L$..."/>
- <menu_item_separator label="-----------" name="separator5"/>
- <menu_item_call label="Meu terreno..." name="My Land..."/>
- <menu_item_call label="Sobre o terreno..." name="About Land..."/>
- <menu_item_call label="Comprar terreno..." name="Buy Land..."/>
- <menu_item_call label="Região/Propriedade..." name="Region/Estate..."/>
- <menu_item_separator label="-----------" name="separator6"/>
- <menu label="Configurações de ambiente" name="Environment Settings">
+ <menu_item_check label="Mini Mapa" name="Mini-Map"/>
+ <menu_item_check label="Mapa-múndi" name="World Map"/>
+ <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="Sobre terrenos" name="About Land"/>
+ <menu_item_call label="Região/Propriedade" name="Region/Estate"/>
+ </menu>
+ <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"/>
+ <menu_item_check label="Proprietários" name="Land Owners"/>
+ <menu_item_check label="Coordenadas" name="Coordinates"/>
+ <menu_item_check label="Propriedades do lote" name="Parcel Properties"/>
+ </menu>
+ <menu_item_call label="Teletransportar para início" name="Teleport Home"/>
+ <menu_item_call label="Definir como casa" 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_item_call label="Reverter ao padrão da região" name="Revert to Region Default"/>
- <menu_item_separator label="-----------" name="separator"/>
+ <menu_item_call label="Horário da propriedade" name="Revert to Region Default"/>
<menu_item_call label="Editor de ambiente" name="Environment Editor"/>
</menu>
</menu>
- <menu label="Ferramentas" name="Tools">
- <menu label="Selecionar ferramenta" name="Select Tool">
- <menu_item_call label="Foco" name="Focus"/>
- <menu_item_call label="Mover" name="Move"/>
- <menu_item_call label="Editar" name="Edit"/>
- <menu_item_call label="Criar" name="Create"/>
- <menu_item_call label="Terreno" name="Land"/>
- </menu>
- <menu_item_separator label="-----------" name="separator"/>
- <menu_item_check label="Selecionar apenas meus objetos" name="Select Only My Objects"/>
- <menu_item_check label="Selecionar apenas objetos móveis" name="Select Only Movable Objects"/>
- <menu_item_check label="Selecionar objetos pela vizinhança" name="Select By Surrounding"/>
- <menu_item_check label="Mostrar seleções escondidas" name="Show Hidden Selection"/>
- <menu_item_check label="Mostrar luz radiante para seleção" name="Show Light Radius for Selection"/>
- <menu_item_check label="Mostrar seleções de feixes" name="Show Selection Beam"/>
- <menu_item_separator label="-----------" name="separator2"/>
- <menu_item_check label="Alinhar à grade" name="Snap to Grid"/>
- <menu_item_call label="Alinhar xy do objeto à grade" name="Snap Object XY to Grid"/>
- <menu_item_call label="Usar seleção na grade" name="Use Selection for Grid"/>
- <menu_item_call label="Opções de grade..." name="Grid Options..."/>
- <menu_item_separator label="-----------" name="separator3"/>
- <menu_item_check label="Editar partes unidas" name="Edit Linked Parts"/>
- <menu_item_call label="Unir" name="Link"/>
- <menu_item_call label="Desunir" name="Unlink"/>
- <menu_item_separator label="-----------" name="separator4"/>
- <menu_item_call label="Foco na seleção" name="Focus on Selection"/>
- <menu_item_call label="Zoom na Seleção" name="Zoom to Selection"/>
- <menu_item_call label="Comprar el objeto" name="Menu Object Take">
- <on_enable userdata="Comprar,Pegar" name="EnableBuyOrTake"/>
- </menu_item_call>
- <menu_item_call label="Pegar cópia" name="Take Copy"/>
- <menu_item_call label="Salvar objeto de volta aos conteúdos do objeto" name="Save Object Back to Object Contents"/>
- <menu_item_separator label="-----------" name="separator6"/>
- <menu_item_call label="Mostrar scripts defeituosos/Erros de janela" name="Show Script Warning/Error Window"/>
- <menu label="Recompilar os scripts na seleção" name="Recompile Scripts in Selection">
- <menu_item_call label="Mono" name="Mono"/>
- <menu_item_call label="LSL" name="LSL"/>
- </menu>
- <menu_item_call label="Resetar scripts selecionados" name="Reset Scripts in Selection"/>
- <menu_item_call label="Ajustar scripts para rodar na seleção" name="Set Scripts to Running in Selection"/>
- <menu_item_call label="Ajustar scripts para não rodar na seleção" name="Set Scripts to Not Running in Selection"/>
+ <menu label="Construir" name="BuildTools">
+ <menu_item_check label="Construir" name="Show Build Tools"/>
+ <menu label="Selecionar ferramenta de construção" name="Select Tool">
+ <menu_item_call label="Ferramenta enfoque" name="Focus"/>
+ <menu_item_call label="Ferramenta de movimentação" name="Move"/>
+ <menu_item_call label="Ferramenta de edição" name="Edit"/>
+ <menu_item_call label="Ferramenta criar" name="Create"/>
+ <menu_item_call label="Ferramenta de terrenos" name="Land"/>
+ </menu>
+ <menu label="Editar" name="Edit">
+ <menu_item_call label="Desfazer" name="Undo"/>
+ <menu_item_call label="Repetir" name="Redo"/>
+ <menu_item_call label="Cortar" name="Cut"/>
+ <menu_item_call label="Copiar" name="Copy"/>
+ <menu_item_call label="Colar" name="Paste"/>
+ <menu_item_call label="Excluir" name="Delete"/>
+ <menu_item_call label="Replicar" name="Duplicate"/>
+ <menu_item_call label="Selecionar tudo" name="Select All"/>
+ <menu_item_call label="Desfazer seleção" name="Deselect"/>
+ </menu>
+ <menu_item_call label="Link" name="Link"/>
+ <menu_item_call label="Desconectar links" name="Unlink"/>
+ <menu_item_check label="Edit Linked Parts" name="Edit Linked Parts"/>
+ <menu_item_call label="Focus on Selection" name="Focus on Selection"/>
+ <menu_item_call label="Ampliar seleção" name="Zoom to Selection"/>
+ <menu label="Objeto:" name="Object">
+ <menu_item_call label="Comprar" name="Menu Object Buy"/>
+ <menu_item_call label="Pegar" name="Menu Object Take"/>
+ <menu_item_call label="Pegar uma cópia" name="Take Copy"/>
+ <menu_item_call label="Salvar no meu inventário" name="Save Object Back to My Inventory"/>
+ <menu_item_call label="Save Back to Object Contents" name="Save Object Back to Object Contents"/>
+ </menu>
+ <menu label="Scripts" name="Scripts">
+ <menu_item_call label="Recompilar scripts (LSL)" name="Mono"/>
+ <menu_item_call label="Recompilar scripts (LSL)" name="LSL"/>
+ <menu_item_call label="Reset Scripts" name="Reset Scripts"/>
+ <menu_item_call label="Scripts em modo execução" name="Set Scripts to Running"/>
+ <menu_item_call label="Scripts em modo não execução" name="Set Scripts to Not Running"/>
+ </menu>
+ <menu label="Opções" name="Options">
+ <menu_item_call label="Set Default Upload Permissions" name="perm prefs"/>
+ <menu_item_check label="Mostrar permissões avançadas" name="DebugPermissions"/>
+ <menu_item_check label="Só selecionar meus objetos" name="Select Only My Objects"/>
+ <menu_item_check label="Só selecionar meus objetos" name="Select Only Movable Objects"/>
+ <menu_item_check label="Selecionar contornando" name="Select By Surrounding"/>
+ <menu_item_check label="Mostrar seleção oculta" name="Show Hidden Selection"/>
+ <menu_item_check label="Show Light Radius for Selection" name="Show Light Radius for Selection"/>
+ <menu_item_check label="Show Selection Beam" name="Show Selection Beam"/>
+ <menu_item_check label="Mostrar na grade" name="Snap to Grid"/>
+ <menu_item_call label="Snap Object XY to Grid" name="Snap Object XY to Grid"/>
+ <menu_item_call label="Usar seleção em grade" name="Use Selection for Grid"/>
+ <menu_item_call label="Opções de grade" name="Grid Options"/>
+ </menu>
+ <menu label="Selecionar partes conectadas" name="Select Linked Parts">
+ <menu_item_call label="Select Next Part" name="Select Next Part"/>
+ <menu_item_call label="Select Previous Part" name="Select Previous Part"/>
+ <menu_item_call label="Include Next Part" name="Include Next Part"/>
+ <menu_item_call label="Include Previous Part" name="Include Previous Part"/>
+ </menu>
</menu>
<menu label="Ajuda" name="Help">
- <menu_item_call label="Ajuda [SECOND_LIFE]" name="Second Life Help"/>
- <menu_item_call label="Tutorial" name="Tutorial"/>
- <menu_item_separator label="-----------" name="separator"/>
- <menu_item_call label="Blog oficial da Linden..." name="Official Linden Blog..."/>
- <menu_item_separator label="-----------" name="separator2"/>
- <menu_item_call label="Portal de Scripts..." name="Scripting Portal..."/>
- <menu_item_separator label="-----------" name="separator3"/>
- <menu_item_call label="Reportar Abuso..." name="Report Abuse..."/>
- <menu_item_call label="Colisões, impulsos e batidas..." name="Bumps, Pushes &amp;amp; Hits..."/>
- <menu_item_call label="Medidor de Lag" name="Lag Meter"/>
- <menu_item_separator label="-----------" name="separator7"/>
- <menu label="Reportando Bug" name="Bug Reporting">
- <menu_item_call label="Rastreador público de problemas..." name="Public Issue Tracker..."/>
- <menu_item_call label="Ajuda do rastreador público de problemas..." name="Publc Issue Tracker Help..."/>
- <menu_item_separator label="-----------" name="separator7"/>
- <menu_item_call label="Reportando Bug 101..." name="Bug Reporing 101..."/>
- <menu_item_call label="Questões de Segurança..." name="Security Issues..."/>
- <menu_item_call label="Wiki de QA ..." name="QA Wiki..."/>
- <menu_item_separator label="-----------" name="separator9"/>
- <menu_item_call label="Reportar Bug..." name="Report Bug..."/>
- </menu>
- <menu_item_call label="Sobre [APP_NAME]..." name="About Second Life..."/>
+ <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"/>
+ </menu>
+ <menu label="Avançado" name="Advanced">
+ <menu_item_call label="Parar minha animação" name="Stop Animating My Avatar"/>
+ <menu_item_call label="Recarregar texturas" name="Rebake Texture"/>
+ <menu_item_call label="Interface tamanho padrão" name="Set UI Size to Default"/>
+ <menu_item_call label="Definir tamanho da janela:" name="Set Window Size..."/>
+ <menu_item_check label="Limitar distância da seleção" name="Limit Select Distance"/>
+ <menu_item_check label="Disable Camera Constraints" name="Disable Camera Distance"/>
+ <menu_item_check label="Foto de alta resolução" name="HighResSnapshot"/>
+ <menu_item_check label="Compactar fotos para HD" name="QuietSnapshotsToDisk"/>
+ <menu_item_check label="Compactar fotos para HD" name="CompressSnapshotsToDisk"/>
+ <menu label="Ferramentas de desempenho" name="Performance Tools">
+ <menu_item_call label="Lag Meter" name="Lag Meter"/>
+ <menu_item_check label="Barra de estatísticas" name="Statistics Bar"/>
+ <menu_item_check label="Show Avatar Rendering Cost" name="Avatar Rendering Cost"/>
+ </menu>
+ <menu label="Realces e visibilidade" name="Highlighting and Visibility">
+ <menu_item_check label="Efeito baliza piscando" name="Cheesy Beacon"/>
+ <menu_item_check label="Hide Particles" name="Hide Particles"/>
+ <menu_item_check label="Ocultar seleções" name="Hide Selected"/>
+ <menu_item_check label="Realçar transparentes" name="Highlight Transparent"/>
+ <menu_item_check label="Mostrar anexos HUD" name="Show HUD Attachments"/>
+ <menu_item_check label="Mostrar retículo na vista subjetiva" name="ShowCrosshairs"/>
+ <menu_item_check label="Mostrar dicas de terreno" name="Land Tips"/>
+ </menu>
+ <menu label="Tipos de renderização" name="Rendering Types">
+ <menu_item_check label="Simples" name="Simple"/>
+ <menu_item_check label="Alpha" name="Alpha"/>
+ <menu_item_check label="Árvore" name="Tree"/>
+ <menu_item_check label="Avatares" name="Character"/>
+ <menu_item_check label="SurfacePath" name="SurfacePath"/>
+ <menu_item_check label="Céu" name="Sky"/>
+ <menu_item_check label="Água" name="Water"/>
+ <menu_item_check label="Chão" name="Ground"/>
+ <menu_item_check label="Volume" name="Volume"/>
+ <menu_item_check label="Grama" name="Grass"/>
+ <menu_item_check label="Nuvens" name="Clouds"/>
+ <menu_item_check label="Particles" name="Particles"/>
+ <menu_item_check label="Elevação" name="Bump"/>
+ </menu>
+ <menu label="Recursos de renderização" name="Rendering Features">
+ <menu_item_check label="Interface" name="UI"/>
+ <menu_item_check label="Selecionado" name="Selected"/>
+ <menu_item_check label="Realçado" name="Highlighted"/>
+ <menu_item_check label="Texturas dinâmicas" name="Dynamic Textures"/>
+ <menu_item_check label="Foot Shadows" name="Foot Shadows"/>
+ <menu_item_check label="Fog" name="Fog"/>
+ <menu_item_check label="Flexible Objects" name="Flexible Objects"/>
+ </menu>
+ <menu_item_check label="Executar diversas instâncias" name="Run Multiple Threads"/>
+ <menu_item_call label="Limpar cache de grupo" name="ClearGroupCache"/>
+ <menu_item_check label="Mouse Smoothing" name="Mouse Smoothing"/>
+ <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="Correr sempre" name="Always Run"/>
+ <menu_item_check label="Voar" name="Fly"/>
+ <menu_item_call label="Fechar janela" name="Close Window"/>
+ <menu_item_call label="Fechar todas as janelas" name="Close All Windows"/>
+ <menu_item_call label="Gravar fotos no HD" name="Snapshot to Disk"/>
+ <menu_item_call label="Visão subjetiva" name="Mouselook"/>
+ <menu_item_check label="Flycam Joystick" name="Joystick Flycam"/>
+ <menu_item_call label="Visão padrão" name="Reset View"/>
+ <menu_item_call label="Olhar para quem fala por último" name="Look at Last Chatter"/>
+ <menu label="Selecionar ferramenta de construção" name="Select Tool">
+ <menu_item_call label="Ferramenta enfoque" name="Focus"/>
+ <menu_item_call label="Ferramenta de movimentação" name="Move"/>
+ <menu_item_call label="Ferramenta de edição" name="Edit"/>
+ <menu_item_call label="Ferramenta criar" name="Create"/>
+ <menu_item_call label="Ferramenta de terrenos" name="Land"/>
+ </menu>
+ <menu_item_call label="Mais zoom" name="Zoom In"/>
+ <menu_item_call label="Zoom padrão" name="Zoom Default"/>
+ <menu_item_call label="Menos zoom" name="Zoom Out"/>
+ <menu_item_call label="Alternar tela inteira" name="Toggle Fullscreen"/>
+ </menu>
+ <menu_item_call label="Mostrar configurações de depuração" name="Debug Settings"/>
+ <menu_item_check label="Show Develop Menu" name="Debug Mode"/>
+ </menu>
+ <menu label="Desenvolver" name="Develop">
+ <menu label="Painéis" name="Consoles">
+ <menu_item_check label="Painel de textura" name="Texture Console"/>
+ <menu_item_check label="Debug Console" name="Debug Console"/>
+ <menu_item_call label="Painel de avisos" name="Notifications"/>
+ <menu_item_check label="Painel de tamanho de textura" name="Texture Size"/>
+ <menu_item_check label="Painel de texturas" name="Texture Category"/>
+ <menu_item_check label="Tempos" name="Fast Timers"/>
+ <menu_item_check label="Memória" name="Memory"/>
+ <menu_item_call label="Region Info to Debug Console" name="Region Info to Debug Console"/>
+ <menu_item_check label="Câmera:" name="Camera"/>
+ <menu_item_check label="Vento" name="Wind"/>
+ <menu_item_check label="Crachá" name="Badge"/>
+ </menu>
+ <menu label="Show Info" name="Display Info">
+ <menu_item_check label="Mostrar hora" name="Show Time"/>
+ <menu_item_check label="Show Render Info" name="Show Render Info"/>
+ <menu_item_check label="Mostrar cor sob o cursor" name="Show Color Under Cursor"/>
+ <menu_item_check label="Mostrar mudanças a objetos" name="Show Updates"/>
+ </menu>
+ <menu label="Force an Error" name="Force Errors">
+ <menu_item_call label="Force Breakpoint" name="Force Breakpoint"/>
+ <menu_item_call label="Force LLError And Crash" name="Force LLError And Crash"/>
+ <menu_item_call label="Force Bad Memory Access" name="Force Bad Memory Access"/>
+ <menu_item_call label="Force an Infinite Loop" name="Force Infinite Loop"/>
+ <menu_item_call label="Force Driver Crash" name="Force Driver Carsh"/>
+ <menu_item_call label="Force Software Exception" name="Force Software Exception"/>
+ <menu_item_call label="Force Disconnect Viewer" name="Force Disconnect Viewer"/>
+ <menu_item_call label="Simulate a Memory Leak" name="Memory Leaking Simulation"/>
+ </menu>
+ <menu label="Render Tests" name="Render Tests">
+ <menu_item_check label="Camera Offset" name="Camera Offset"/>
+ <menu_item_check label="Taxa de quadros aleatória" name="Randomize Framerate"/>
+ <menu_item_check label="Frame Test" name="Frame Test"/>
+ </menu>
+ <menu label="Rendering" name="Rendering">
+ <menu_item_check label="Axes" name="Axes"/>
+ <menu_item_check label="Contornos" name="Wireframe"/>
+ <menu_item_check label="Global Illumination" name="Global Illumination"/>
+ <menu_item_check label="Texturas de animação" name="Animation Textures"/>
+ <menu_item_check label="Desativar texturas" name="Disable Textures"/>
+ <menu_item_check label="Render Attached Lights" name="Render Attached Lights"/>
+ <menu_item_check label="Render Attached Particles" name="Render Attached Particles"/>
+ <menu_item_check label="Objetos iridescentes" name="Hover Glow Objects"/>
+ </menu>
+ <menu label="Network" name="Network">
+ <menu_item_check label="Pausar avatar" name="AgentPause"/>
+ <menu_item_call label="Drop a Packet" name="Drop a Packet"/>
+ </menu>
+ <menu_item_call label="Bumps, Pushes &amp; Hits" name="Bumps, Pushes &amp;amp; Hits"/>
+ <menu label="Mundo" name="World">
+ <menu_item_check label="Impor sobre sol regional" name="Sim Sun Override"/>
+ <menu_item_check label="Efeito baliza piscando" name="Cheesy Beacon"/>
+ <menu_item_check label="Fixed Weather" name="Fixed Weather"/>
+ <menu_item_call label="Dump Region Object Cache" name="Dump Region Object Cache"/>
+ </menu>
+ <menu label="Interface" name="UI">
+ <menu_item_call label="Teste de navegador web" name="Web Browser Test"/>
+ <menu_item_call label="Print Selected Object Info" name="Print Selected Object Info"/>
+ <menu_item_call label="Memory Stats" name="Memory Stats"/>
+ <menu_item_check label="Double-Click Auto-Pilot" name="Double-ClickAuto-Pilot"/>
+ <menu_item_check label="Debug Clicks" name="Debug Clicks"/>
+ <menu_item_check label="Debug Mouse Events" name="Debug Mouse Events"/>
+ </menu>
+ <menu label="XUI" name="XUI">
+ <menu_item_call label="Recarregar cores" name="Reload Color Settings"/>
+ <menu_item_call label="Show Font Test" name="Show Font Test"/>
+ <menu_item_call label="Load from XML" name="Load from XML"/>
+ <menu_item_call label="Salvar para XML" name="Save to XML"/>
+ <menu_item_check label="Mostrar nomes XUI" name="Show XUI Names"/>
+ <menu_item_call label="Enviar MIs de teste" name="Send Test IMs"/>
+ </menu>
+ <menu label="Avatar" name="Character">
+ <menu label="Grab Baked Texture" name="Grab Baked Texture">
+ <menu_item_call label="Íris" name="Iris"/>
+ <menu_item_call label="Cabeça" name="Head"/>
+ <menu_item_call label="Cintura acima" name="Upper Body"/>
+ <menu_item_call label="Cintura para baixo" name="Lower Body"/>
+ <menu_item_call label="Saia" name="Skirt"/>
+ </menu>
+ <menu label="Testes de personagem" name="Character Tests">
+ <menu_item_call label="Toggle Character Geometry" name="Toggle Character Geometry"/>
+ <menu_item_check label="Allow Select Avatar" name="Allow Select Avatar"/>
+ </menu>
+ <menu_item_call label="Force Params to Default" name="Force Params to Default"/>
+ <menu_item_check label="Dados da animação" name="Animation Info"/>
+ <menu_item_check label="Mostrar animação de movimento" name="Slow Motion Animations"/>
+ <menu_item_check label="Disable Level Of Detail" name="Disable LOD"/>
+ <menu_item_check label="Show Collision Skeleton" name="Show Collision Skeleton"/>
+ <menu_item_check label="Display Agent Target" name="Display Agent Target"/>
+ <menu_item_call label="Depurar texturas do avatar" name="Debug Avatar Textures"/>
+ </menu>
+ <menu_item_check label="Texturas HTTP" name="HTTP Textures"/>
+ <menu_item_check label="Console Window on next Run" name="Console Window"/>
+ <menu_item_check label="Mostrar menu admin" name="View Admin Options"/>
+ <menu_item_call label="Request Admin Status" name="Request Admin Options"/>
+ <menu_item_call label="Sair do modo admin" name="Leave Admin Options"/>
+ </menu>
+ <menu label="Admin" name="Admin">
+ <menu label="Object">
+ <menu_item_call label="Pegar uma cópia" name="Take Copy"/>
+ <menu_item_call label="Force Owner To Me" name="Force Owner To Me"/>
+ <menu_item_call label="Force Owner Permissive" name="Force Owner Permissive"/>
+ <menu_item_call label="Excluir" name="Delete"/>
+ <menu_item_call label="Lock" name="Lock"/>
+ </menu>
+ <menu label="Lote" name="Parcel">
+ <menu_item_call label="Force Owner To Me" name="Owner To Me"/>
+ <menu_item_call label="Conteúdo da Linden Lab" name="Set to Linden Content"/>
+ <menu_item_call label="Pedir terras públicas" name="Claim Public Land"/>
+ </menu>
+ <menu label="Região" name="Region">
+ <menu_item_call label="Dump Temporary Asset Data" name="Dump Temp Asset Data"/>
+ <menu_item_call label="Save Region State" name="Save Region State"/>
+ </menu>
+ <menu_item_call label="God Tools" name="God Tools"/>
</menu>
</menu_bar>
diff --git a/indra/newview/skins/default/xui/pt/mime_types_linux.xml b/indra/newview/skins/default/xui/pt/mime_types_linux.xml
new file mode 100644
index 0000000000..789843cbba
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/mime_types_linux.xml
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<mimetypes name="default">
+ <widgetset name="web">
+ <label name="web_label">
+ Conteúdo web
+ </label>
+ <tooltip name="web_tooltip">
+ Este lugar possui conteúdo na web
+ </tooltip>
+ <playtip name="web_playtip">
+ Mostrar conteúdo na web
+ </playtip>
+ </widgetset>
+ <widgetset name="movie">
+ <label name="movie_label">
+ Filme
+ </label>
+ <tooltip name="movie_tooltip">
+ Aqui tem um vídeo para você assistir
+ </tooltip>
+ <playtip name="movie_playtip">
+ Mostrar vídeo
+ </playtip>
+ </widgetset>
+ <widgetset name="image">
+ <label name="image_label">
+ Imagem
+ </label>
+ <tooltip name="image_tooltip">
+ Aqui tem uma imagem para você ver
+ </tooltip>
+ <playtip name="image_playtip">
+ Mostrar imagem
+ </playtip>
+ </widgetset>
+ <widgetset name="audio">
+ <label name="audio_label">
+ Áudio
+ </label>
+ <tooltip name="audio_tooltip">
+ Aqui tem um clipe de áudio para você ouvir
+ </tooltip>
+ <playtip name="audio_playtip">
+ Tocar clipe
+ </playtip>
+ </widgetset>
+ <scheme name="rtsp">
+ <label name="rtsp_label">
+ Stream em tempo real
+ </label>
+ </scheme>
+ <mimetype name="blank">
+ <label name="blank_label">
+ - Nenhum -
+ </label>
+ </mimetype>
+ <mimetype name="none/none">
+ <label name="none/none_label">
+ - Nenhum -
+ </label>
+ </mimetype>
+ <mimetype name="audio/*">
+ <label name="audio2_label">
+ Áudio
+ </label>
+ </mimetype>
+ <mimetype name="video/*">
+ <label name="video2_label">
+ Vídeo
+ </label>
+ </mimetype>
+ <mimetype name="image/*">
+ <label name="image2_label">
+ Imagem
+ </label>
+ </mimetype>
+ <mimetype name="video/vnd.secondlife.qt.legacy">
+ <label name="vnd.secondlife.qt.legacy_label">
+ Vídeo (QuickTime)
+ </label>
+ </mimetype>
+ <mimetype name="application/javascript">
+ <label name="application/javascript_label">
+ Javascript
+ </label>
+ </mimetype>
+ <mimetype name="application/ogg">
+ <label name="application/ogg_label">
+ Ogg Áudio/Vídeo
+ </label>
+ </mimetype>
+ <mimetype name="application/pdf">
+ <label name="application/pdf_label">
+ Arquivo PDF
+ </label>
+ </mimetype>
+ <mimetype name="application/postscript">
+ <label name="application/postscript_label">
+ Arquivo Postscript
+ </label>
+ </mimetype>
+ <mimetype name="application/rtf">
+ <label name="application/rtf_label">
+ Rich Text (RTF)
+ </label>
+ </mimetype>
+ <mimetype name="application/smil">
+ <label name="application/smil_label">
+ Synchronized Multimedia Integration Language (SMIL)
+ </label>
+ </mimetype>
+ <mimetype name="application/xhtml+xml">
+ <label name="application/xhtml+xml_label">
+ Página web (XHTML)
+ </label>
+ </mimetype>
+ <mimetype name="application/x-director">
+ <label name="application/x-director_label">
+ Macromedia Director
+ </label>
+ </mimetype>
+ <mimetype name="audio/mid">
+ <label name="audio/mid_label">
+ Áudio (MIDI)
+ </label>
+ </mimetype>
+ <mimetype name="audio/mpeg">
+ <label name="audio/mpeg_label">
+ Áudio (MP3)
+ </label>
+ </mimetype>
+ <mimetype name="audio/x-aiff">
+ <label name="audio/x-aiff_label">
+ Áudio (AIFF)
+ </label>
+ </mimetype>
+ <mimetype name="audio/x-wav">
+ <label name="audio/x-wav_label">
+ Áudio (WAV)
+ </label>
+ </mimetype>
+ <mimetype name="image/bmp">
+ <label name="image/bmp_label">
+ Imagem (BMP)
+ </label>
+ </mimetype>
+ <mimetype name="image/gif">
+ <label name="image/gif_label">
+ Imagem (GIF)
+ </label>
+ </mimetype>
+ <mimetype name="image/jpeg">
+ <label name="image/jpeg_label">
+ Imagem (JPEG)
+ </label>
+ </mimetype>
+ <mimetype name="image/png">
+ <label name="image/png_label">
+ Imagem (PNG)
+ </label>
+ </mimetype>
+ <mimetype name="image/svg+xml">
+ <label name="image/svg+xml_label">
+ Imagem (SVG)
+ </label>
+ </mimetype>
+ <mimetype name="image/tiff">
+ <label name="image/tiff_label">
+ Imagem (TIFF)
+ </label>
+ </mimetype>
+ <mimetype name="text/html">
+ <label name="text/html_label">
+ Página web
+ </label>
+ </mimetype>
+ <mimetype name="text/plain">
+ <label name="text/plain_label">
+ Texto
+ </label>
+ </mimetype>
+ <mimetype name="text/xml">
+ <label name="text/xml_label">
+ XML
+ </label>
+ </mimetype>
+ <mimetype name="video/mpeg">
+ <label name="video/mpeg_label">
+ Vídeo (MPEG)
+ </label>
+ </mimetype>
+ <mimetype name="video/mp4">
+ <label name="video/mp4_label">
+ Vídeo (MP4)
+ </label>
+ </mimetype>
+ <mimetype name="video/quicktime">
+ <label name="video/quicktime_label">
+ Vídeo (QuickTime)
+ </label>
+ </mimetype>
+ <mimetype name="video/x-ms-asf">
+ <label name="video/x-ms-asf_label">
+ Vídeo (Windows Media ASF)
+ </label>
+ </mimetype>
+ <mimetype name="video/x-ms-wmv">
+ <label name="video/x-ms-wmv_label">
+ Vídeo (Windows Media WMV)
+ </label>
+ </mimetype>
+ <mimetype name="video/x-msvideo">
+ <label name="video/x-msvideo_label">
+ Vídeo (AVI)
+ </label>
+ </mimetype>
+</mimetypes>
diff --git a/indra/newview/skins/default/xui/pt/mime_types_mac.xml b/indra/newview/skins/default/xui/pt/mime_types_mac.xml
new file mode 100644
index 0000000000..34b40e94ab
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/mime_types_mac.xml
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<mimetypes name="default">
+ <widgetset name="web">
+ <label name="web_label">
+ Conteúdo Web
+ </label>
+ <tooltip name="web_tooltip">
+ Esta localização tem conteúdo Web
+ </tooltip>
+ <playtip name="web_playtip">
+ Exibir conteúdo Web
+ </playtip>
+ </widgetset>
+ <widgetset name="movie">
+ <label name="movie_label">
+ Filme
+ </label>
+ <tooltip name="movie_tooltip">
+ Há um filme que vai passar aqui
+ </tooltip>
+ <playtip name="movie_playtip">
+ Começar filme
+ </playtip>
+ </widgetset>
+ <widgetset name="image">
+ <label name="image_label">
+ Imagem
+ </label>
+ <tooltip name="image_tooltip">
+ Ha uma imagem nesta localização
+ </tooltip>
+ <playtip name="image_playtip">
+ Visualizar a imagem desta localização
+ </playtip>
+ </widgetset>
+ <widgetset name="audio">
+ <label name="audio_label">
+ Audio
+ </label>
+ <tooltip name="audio_tooltip">
+ Há áudio nesta localização
+ </tooltip>
+ <playtip name="audio_playtip">
+ Tocar o áudio desta localização
+ </playtip>
+ </widgetset>
+ <scheme name="rtsp">
+ <label name="rtsp_label">
+ Real Time Streaming
+ </label>
+ </scheme>
+ <mimetype name="blank">
+ <label name="blank_label">
+ - Nenhum -
+ </label>
+ </mimetype>
+ <mimetype name="none/none">
+ <label name="none/none_label">
+ - Nenhum -
+ </label>
+ </mimetype>
+ <mimetype name="audio/*">
+ <label name="audio2_label">
+ Áudio
+ </label>
+ </mimetype>
+ <mimetype name="video/*">
+ <label name="video2_label">
+ Vídeo
+ </label>
+ </mimetype>
+ <mimetype name="image/*">
+ <label name="image2_label">
+ Imagem
+ </label>
+ </mimetype>
+ <mimetype name="video/vnd.secondlife.qt.legacy">
+ <label name="vnd.secondlife.qt.legacy_label">
+ Filme (QuickTime)
+ </label>
+ </mimetype>
+ <mimetype name="application/javascript">
+ <label name="application/javascript_label">
+ Javascript
+ </label>
+ </mimetype>
+ <mimetype name="application/ogg">
+ <label name="application/ogg_label">
+ Ogg Áudio/Video
+ </label>
+ </mimetype>
+ <mimetype name="application/pdf">
+ <label name="application/pdf_label">
+ Documento PDF
+ </label>
+ </mimetype>
+ <mimetype name="application/postscript">
+ <label name="application/postscript_label">
+ Documento Postscript
+ </label>
+ </mimetype>
+ <mimetype name="application/rtf">
+ <label name="application/rtf_label">
+ Rich Text (RTF)
+ </label>
+ </mimetype>
+ <mimetype name="application/smil">
+ <label name="application/smil_label">
+ Linguagem sincronizada de integração multimidia (SMIL)
+ </label>
+ </mimetype>
+ <mimetype name="application/xhtml+xml">
+ <label name="application/xhtml+xml_label">
+ Página Web (XHTML)
+ </label>
+ </mimetype>
+ <mimetype name="application/x-director">
+ <label name="application/x-director_label">
+ Macromedia Director
+ </label>
+ </mimetype>
+ <mimetype name="audio/mid">
+ <label name="audio/mid_label">
+ Áudio (MIDI)
+ </label>
+ </mimetype>
+ <mimetype name="audio/mpeg">
+ <label name="audio/mpeg_label">
+ Áudio (MP3)
+ </label>
+ </mimetype>
+ <mimetype name="audio/x-aiff">
+ <label name="audio/x-aiff_label">
+ Áudio (AIFF)
+ </label>
+ </mimetype>
+ <mimetype name="audio/x-wav">
+ <label name="audio/x-wav_label">
+ Áudio (WAV)
+ </label>
+ </mimetype>
+ <mimetype name="image/bmp">
+ <label name="image/bmp_label">
+ Imagem (BMP)
+ </label>
+ </mimetype>
+ <mimetype name="image/gif">
+ <label name="image/gif_label">
+ Imagem (GIF)
+ </label>
+ </mimetype>
+ <mimetype name="image/jpeg">
+ <label name="image/jpeg_label">
+ Imagem (JPEG)
+ </label>
+ </mimetype>
+ <mimetype name="image/png">
+ <label name="image/png_label">
+ Imagem (PNG)
+ </label>
+ </mimetype>
+ <mimetype name="image/svg+xml">
+ <label name="image/svg+xml_label">
+ Imagem (SVG)
+ </label>
+ </mimetype>
+ <mimetype name="image/tiff">
+ <label name="image/tiff_label">
+ Imagem (TIFF)
+ </label>
+ </mimetype>
+ <mimetype name="text/html">
+ <label name="text/html_label">
+ Página Web
+ </label>
+ </mimetype>
+ <mimetype name="text/plain">
+ <label name="text/plain_label">
+ Texto
+ </label>
+ </mimetype>
+ <mimetype name="text/xml">
+ <label name="text/xml_label">
+ XML
+ </label>
+ </mimetype>
+ <mimetype name="video/mpeg">
+ <label name="video/mpeg_label">
+ Filme (MPEG)
+ </label>
+ </mimetype>
+ <mimetype name="video/mp4">
+ <label name="video/mp4_label">
+ Filme (MP4)
+ </label>
+ </mimetype>
+ <mimetype name="video/quicktime">
+ <label name="video/quicktime_label">
+ Filme (QuickTime)
+ </label>
+ </mimetype>
+ <mimetype name="video/x-ms-asf">
+ <label name="video/x-ms-asf_label">
+ Filme (Windows Media ASF)
+ </label>
+ </mimetype>
+ <mimetype name="video/x-ms-wmv">
+ <label name="video/x-ms-wmv_label">
+ Filme (Windows Media WMV)
+ </label>
+ </mimetype>
+ <mimetype name="video/x-msvideo">
+ <label name="video/x-msvideo_label">
+ Filme (AVI)
+ </label>
+ </mimetype>
+</mimetypes>
diff --git a/indra/newview/skins/default/xui/pt/notifications.xml b/indra/newview/skins/default/xui/pt/notifications.xml
index c3ce53861f..60113bcf0b 100644
--- a/indra/newview/skins/default/xui/pt/notifications.xml
+++ b/indra/newview/skins/default/xui/pt/notifications.xml
@@ -9,74 +9,45 @@
<global name="implicitclosebutton">
Fechar
</global>
- <template name="okbutton">
- <form>
- <button
- name="OK"
- text="$yestext"/>
- </form>
- </template>
-
- <template name="okignore">
- <form>
- <button
- name="OK"
- text="$yestext"/>
- <ignore text="$ignoretext"/>
- </form>
- </template>
-
- <template name="okcancelbuttons">
- <form>
- <button
- name="OK"
- text="$yestext"/>
- <button
- name="Cancel"
- text="$notext"/>
- </form>
- </template>
-
- <template name="okcancelignore">
- <form>
- <button
- name="OK"
- text="$yestext"/>
- <button
- name="Cancel"
- text="$notext"/>
- <ignore text="$ignoretext"/>
- </form>
- </template>
-
- <template name="okhelpbuttons">
- <form>
- <button
- name="OK"
- text="$yestext"/>
- <button
- name="Help"
- text="$helptext"/>
- </form>
- </template>
-
- <template name="yesnocancelbuttons">
- <form>
- <button
- name="Yes"
- text="$yestext"/>
- <button
- name="No"
- text="$notext"/>
- <button
- name="Cancel"
- text="$canceltext"/>
- </form>
- </template>
- <notification functor="GenericAcknowledge" label="Mensagem de Alerta Desconhecida" name="MissingAlert">
- Sua versão do [APP_NAME] não sabe como mostrar a mensagem de alerta que acabou de receber.
-
-Detalhes do erro: O alerta chamado &apos;[_NAME]&apos; não foi encontrado em notifications.xml.
+ <template name="okbutton">
+ <form>
+ <button name="OK_okbutton" text="$yestext"/>
+ </form>
+ </template>
+ <template name="okignore">
+ <form>
+ <button name="OK_okignore" text="$yestext"/>
+ </form>
+ </template>
+ <template name="okcancelbuttons">
+ <form>
+ <button name="OK_okcancelbuttons" text="$yestext"/>
+ <button name="Cancel_okcancelbuttons" text="$notext"/>
+ </form>
+ </template>
+ <template name="okcancelignore">
+ <form>
+ <button name="OK_okcancelignore" text="$yestext"/>
+ <button name="Cancel_okcancelignore" text="$notext"/>
+ </form>
+ </template>
+ <template name="okhelpbuttons">
+ <form>
+ <button name="OK_okhelpbuttons" text="$yestext"/>
+ <button name="Help" text="$helptext"/>
+ </form>
+ </template>
+ <template name="yesnocancelbuttons">
+ <form>
+ <button name="Yes" text="$yestext"/>
+ <button name="No" text="$notext"/>
+ <button name="Cancel_yesnocancelbuttons" text="$canceltext"/>
+ </form>
+ </template>
+ <notification functor="GenericAcknowledge" label="Notificação desconhecida" name="MissingAlert">
+ Esta versão do [APP_NAME] não consegue exibir o aviso recebido. Verifique se você possui a versão mais recente do Visualizador.
+
+Detalhes do erro: O aviso &apos;[_NAME]&apos; não foi localizado no arquivo notifications.xml.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="FloaterNotFound">
@@ -96,24 +67,18 @@ Detalhes do erro: O alerta chamado &apos;[_NAME]&apos; não foi encontrado em no
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Sim"/>
</notification>
<notification name="BadInstallation">
- Ocorreu um erro atualizando o [APP_NAME]. Por favor, faça o download da última versão em secondlife.com.
- <usetemplate
- name="okbutton"
- yestext="OK"/>
+ Um erro ocorreu ao atualizar o [APP_NAME]. [http://get.secondlife.com Baixe a versão atual] do Visualizador.
+ <usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="LoginFailedNoNetwork">
- Erro de Rede: Não conseguiu estabelecer uma conexão.
+ Falha de conexão com o [SECOND_LIFE_GRID].
&apos;[DIAGNOSTIC]&apos;
-Por favor, verifique sua conexão de rede.
- <usetemplate
- name="okbutton"
- yestext="OK"/>
+Verifique se a conexão à internet está funcionando.
+ <usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="MessageTemplateNotFound">
Modelo de Mensagem [PATH] não encontrado.
- <usetemplate
- name="okbutton"
- yestext="OK"/>
+ <usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="WearableSave">
Salvar modificações?
@@ -139,15 +104,18 @@ Por favor, selecione apenas um objeto e tente novamente.
Salvar todas as mudanças de roupas/ partes do corpo?
<usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="Não Salvar" yestext="Salvar tudo"/>
</notification>
+ <notification name="FriendsAndGroupsOnly">
+ Residentes que não são amigos não veem que você decidiu ignorar ligações e MIs deles.
+ <usetemplate name="okbutton" yestext="Sim"/>
+ </notification>
<notification name="GrantModifyRights">
- Conceder direitos de modificar a outros residentes lhes permite trocar, deletar ou pegar QUAISQUER objetos que você possa ter no mundo.
-Seja MUITO cuidadoso(a) quando passar esta permissão.
-Você deseja conceder direitos de modificar para [FIRST_NAME] [LAST_NAME]?
+ Conceder direitos de modificação a outros residentes vai autorizá-los a mudar, apagar ou pegar TODOS os seus objetos. Seja MUITO cuidadoso ao conceder esta autorização.
+Deseja modificar os direitos de modificação de [FIRST_NAME] [LAST_NAME]?
<usetemplate name="okcancelbuttons" notext="Não" yestext="Sim"/>
</notification>
<notification name="GrantModifyRightsMultiple">
- Conceder direitos para modificar seus objetos a outro residente permite ele mudar QUAISQUER objetos que você possa ter no mundo. Tenha muito cuidado quando conceder essa permissão.
-Você deseja permitir que os residentes selecionados tenham direito de edição?
+ Conceder direitos de modificação a outros residentes vai autorizá-los a mudar TODOS os seus objetos. Seja MUITO cuidadoso ao conceder esta autorização.
+Deseja conceder direitos de modificação para os residentes selecionados?
<usetemplate name="okcancelbuttons" notext="Não" yestext="Sim"/>
</notification>
<notification name="RevokeModifyRights">
@@ -177,7 +145,7 @@ Você deseja permitir que os residentes selecionados tenham direito de edição?
Membros não podem ser removidos dessa função.
Os membros podem, eles próprios, recusar a função.
Deseja continuar?
- <usetemplate ignoretext="Quando adicionar membro ao grupo como dono" name="okcancelignore" notext="Não" yestext="Sim"/>
+ <usetemplate ignoretext="Confirmar antes de adicionar novo Proprietário do grupo" name="okcancelignore" notext="Não" yestext="Sim"/>
</notification>
<notification name="AssignDangerousActionWarning">
Você está prestes a adicionar a habilidade &apos;[ACTION_NAME]&apos; para a função &apos;[ROLE_NAME]&apos;
@@ -197,68 +165,31 @@ Qualquer membro numa função com esta habilidade, pode atribuir a sí mesmo --
Adicionar esta habilidade a &apos;[ROLE_NAME]&apos;?
<usetemplate name="okcancelbuttons" notext="Não" yestext="Sim"/>
</notification>
- <notification name="ClickPublishHelpLand">
- Selecionando &quot;Publicar na Busca&quot;
-Clicando neste Box, será mostrado:
-- este lote nos resultados de busca
-- os objetos públicos deste lote
-- este lote na busca da web
- </notification>
- <notification name="ClickSoundHelpLand">
- Mídia e Música podem apenas ser utilizadas dentro deste lote. As opções de Som e Voz podem ser restritas ao lote ou serão ouvidas por residentes fora do lote, dependendo de suas Classificações de maturidade. Ir para o Banco de Conhecimento para saber mais sobre como definir essas opções?
- <url name="url">
- https://support.secondlife.com/ics/support/default.asp?deptID=4417&amp;task=knowledge&amp;questionID=5046
- </url>
- <usetemplate
- name="okcancelbuttons"
- yestext="Ir para o Banco de Conhecimento"
- notext="Fechar" />
- </notification>
- <notification name="ClickSearchHelpAll">
- Os resultados de busca são organizados com base na aba em que você se encontra, sua Classificação de maturidade, a categoria escolhida e outros fatores. Para mais detalhes, por favor veja o Banco de Conhecimento.
- <url name="url">
- https://support.secondlife.com/ics/support/default.asp?deptID=4417&amp;task=knowledge&amp;questionID=4722
- </url>
- <usetemplate
- name="okcancelbuttons"
- yestext="Ir para o Banco de Conhecimento"
- notext="Fechar" />
- </notification>
- <notification name="ClickPublishHelpLandDisabled">
- Você não pode fazer este lote visível na busca porque ele está localizado numa região que proíbe isso.
- </notification>
- <notification name="ClickPublishHelpAvatar">
- Selecionando &quot;Mostrar na Busca&quot; será mostrado:
-- meu perfil nos resultados de busca
-- um link para meu perfil nas páginas de grupos públicos
- </notification>
- <notification name="ClickPartnerHelpAvatar">
- Você pode propor a outro Residente ou dissolver uma parceria existente através do website [SECOND_LIFE].
-
-Ir para o site do [SECOND_LIFE] para mais informações sobre parceria?
- <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Ir para a Página"/>
- </notification>
- <notification name="ClickUploadHelpPermissions">
- Suas permissões padrão podem não funcionar em regiões antigas.
- </notification>
- <notification name="ClickWebProfileHelpAvatar">
- Se este Residente definiu uma URL de perfil na web, então você pode:
- * Clicar em &apos;Carregar&apos; para ver a página na aba Web.
- * Clicar Carregar &gt; &apos;Em navegador externo&apos; para ver a página no seu navegador de web padrão.
- * Clicar Carregar &gt; &apos;URL de Casa&apos; para voltar ao perfil do Residente na web se você navegou adiante.
-
-Quando você está vendo seu próprio perfil, você pode entrar com qualquer URL como sendo seu perfil na web e clicar OK para definí-la.
-Outros residentes podem visitar a URL que você definiu, quando eles olharem seu perfil.
+ <notification name="AttachmentDrop">
+ Você está prestes a largar seu anexo.
+ Tem certeza de que quer prosseguir?
+ <usetemplate ignoretext="Confirmar antes de largar anexos" name="okcancelignore" notext="Não" yestext="Sim"/>
</notification>
<notification name="JoinGroupCanAfford">
Unir-se a esse grupo custa L$[COST].
Deseja prosseguir?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Unir-se"/>
</notification>
+ <notification name="JoinGroupNoCost">
+ Você está prestes a entrar no grupo [NAME].
+Deseja continuar?
+ <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Entrar"/>
+ </notification>
<notification name="JoinGroupCannotAfford">
Associar-se a este grupo custa L$[COST].
Você não tem L$ suficientes para associar-se a este grupo.
</notification>
+ <notification name="CreateGroupCost">
+ Criar este grupo custa L$100.
+Grupos ser formados por mais de um membro, caso contrário serão definitivamente excluídos.
+Convite outros membros dentro de 48 horas.
+ <usetemplate canceltext="Cancelar" name="okcancelbuttons" notext="Cancelar" yestext="Criar grupo por L$100"/>
+ </notification>
<notification name="LandBuyPass">
Por L$[COST] você pode ingressar no terreno (&apos;[PARCEL_NAME]&apos;) por [TIME] horas. Comprar um passe de acesso?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
@@ -273,10 +204,10 @@ Seu preço de venda será L$[SALE_PRICE] e está autorizado para venda para [NA
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Continuar"/>
</notification>
<notification name="ConfirmLandSaleToAnyoneChange">
- ATENÇÃO: Ao clicar em &apos;vender para qualquer um&apos; torna a sua terra disponível para toda a comunidade [SECOND_LIFE], mesmo aqueles que não estão nesta região.
+ ATENÇÃO: Clicar em &apos;vender a qualquer um&apos; torna o terreno disponível para toda a comunidade do [SECOND_LIFE], inclusive residentes de outras regiões.
-A área de [LAND_SIZE] m² de terra selecionada está posta para venda.
-Seu preço de venda será L$ [SALE_PRICE] e está autorizado para [NAME].
+O terreno selecionado, de [LAND_SIZE] m², está sendo reservado para venda.
+O preço será L$[SALE_PRICE] e [NAME] pode comprar o terreno.
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
</notification>
<notification name="ReturnObjectsDeededToGroup">
@@ -335,6 +266,12 @@ Objetos: [N]
Toda esta região possui dano habilitado.
Scripts devem ser permitidos para fazer as armas funcionarem.
</notification>
+ <notification name="MultipleFacesSelected">
+ Diversas faces foram selecionadas.
+Se você optar por prosseguir, diversas ocorrências a mídia serão colocadas nas diferentes faces do objeto.
+Para colocar a mídia em só uma face, selecione Selecionar face e clique na face desejada do objeto. Depois clique em Adicionar.
+ <usetemplate ignoretext="A mídia será colocada nas diferentes faces selecionadas." name="okcancelignore" notext="Cancelar" yestext="OK"/>
+ </notification>
<notification name="MustBeInParcel">
Você deve permanecer dentro do lote para definir o ponto de aterrissagem.
</notification>
@@ -369,6 +306,10 @@ Scripts devem ser permitidos para fazer as armas funcionarem.
<notification name="CannotWearTrash">
Não é possível usar roupas ou partes do corpo que estão no lixo.
</notification>
+ <notification name="MaxAttachmentsOnOutfit">
+ Não foi possível anexar o objeto.
+Ele ultrapassa o limite de anexos, de [MAX_ATTACHMENTS] objetos. Remova um objeto para poder anexar outro.
+ </notification>
<notification name="CannotWearInfoNotComplete">
Você não pode vestir este item porque ele ainda não carregou. Por favor, tente novamente em um minuto.
</notification>
@@ -383,21 +324,30 @@ Você precisa de uma conta para entrar no [SECOND_LIFE]. Você gostaria de criar
<usetemplate name="okcancelbuttons" notext="Tentar novamente" yestext="Criar uma nova conta"/>
</notification>
<notification name="AddClassified">
- Anúncios classificados aparecem na seção &apos;Classificados&apos; do diretório de Busca e no [http://secondlife.com/community/classifieds/?lang=pt-BR secondlife.com] por uma semana.
-Preencha seu anúncio e então clique &apos;Publicar...&apos; para adicioná-lo ao diretório.
-Será solicitado a você um preço a ser pago, quando você clicar Publicar.
-Pagando mais, faz com que seu anúncio apareça em posição mais alta na lista e também em posição mais alta, quando as pessoas buscarem por palavras-chave.
- <usetemplate ignoretext="Quando adicionando um Classificado novo" name="okcancelignore" notext="Cancelar" yestext="OK"/>
+ Os anúncios serão publicados na seção &apos;Classificados&apos; das buscas e em [http://secondlife.com/community/classifieds secondlife.com] durante uma semana.
+Escreva seu anúncio e clique em &apos;Publicar...&apos;
+Depois, decida quanto deseja pagar pelo anúncio.
+Quanto mais você pagar, mais alto será o posicionamento do seu anúncio nos classficados e nos resultados de busca das suas palavras-chave.
+ <usetemplate ignoretext="Como colocar um anúncio" name="okcancelignore" notext="Cancelar" yestext="OK"/>
</notification>
<notification name="DeleteClassified">
Apagar classificado&apos;[NAME]&apos;?
Não há reembolso por taxas já pagas.
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Apagar"/>
</notification>
+ <notification name="DeleteMedia">
+ Você optor por excluir a mídia associada a esta face.
+Tem certeza de que quer prosseguir?
+ <usetemplate ignoretext="Confirmar antes de apagar mídia de objetos" name="okcancelignore" notext="Não" yestext="Sim"/>
+ </notification>
<notification name="ClassifiedSave">
Salvar as mudanças no classificado [NAME]?
<usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="Não Salvar" yestext="Salvar"/>
</notification>
+ <notification name="ClassifiedInsufficientFunds">
+ Fundos insuficientes para pagar o anúncio.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="DeleteAvatarPick">
Apagar pegar [PICK]?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Delete"/>
@@ -415,26 +365,18 @@ Não há reembolso por taxas já pagas.
<notification name="SelectHistoryItemToView">
Por favor, selecione um item do histórico para exibí-lo.
</notification>
- <notification name="ResetShowNextTimeDialogs">
- Você gostaria de reabilitar todas estas pop ups que você indicou previamente como &apos;Não me mostrar novamente&apos;?
- <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
- </notification>
- <notification name="SkipShowNextTimeDialogs">
- Você gostaria de desabilitar todas as popups que podem ser puladas?
- <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
- </notification>
<notification name="CacheWillClear">
- O cache será limpo quando você reiniciar [APP_NAME].
+ O cache será limpo quando o [APP_NAME] for iniciado.
</notification>
<notification name="CacheWillBeMoved">
- O Cache será removido após reiniciar [APP_NAME].
-Nota: Isto limpará o cache.
+ O cache será limpo quando o [APP_NAME] for iniciado.
+Nota: Este procedimento limpa o cache.
</notification>
<notification name="ChangeConnectionPort">
- Configuração de porta terá efeito após reiniciar [APP_NAME].
+ Reinicie o [APP_NAME] para ativar a reconfiguração da porta.
</notification>
<notification name="ChangeSkin">
- A nova pele será exibida após reiniciar [APP_NAME].
+ Reinicie o [APP_NAME] para ativar a pele nova.
</notification>
<notification name="GoToAuctionPage">
Ir para a página do [SECOND_LIFE] para ver os detalhes do leilão ou fazer um lance?
@@ -482,6 +424,11 @@ O objeto pode estar fora de alcance ou ter sido deletado.
<notification name="SaveBytecodeFailReason">
Houve um problema em salvar uma compilação de script devido a seguinte razão: [REASON]. Por favor, tente salvar novamente o script mais tarde.
</notification>
+ <notification name="StartRegionEmpty">
+ Oops, você ainda não definiu sua região de partida.
+Digite o nome da região na caixa &apos;Ponto de partida&apos; ou selecione &apos;Última localização&apos; ou &apos;Minha casa&apos; como ponto de partida.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="CouldNotStartStopScript">
Não foi possível iniciar ou parar o script pois o objeto em que ele está não pôde ser encontrado.
O objeto pode estar fora de alcance ou ter sido deletado.
@@ -493,29 +440,28 @@ O objeto pode estar fora de alcance ou ter sido deletado.
Não foi possível escrever o arquivo [[FILE]]
</notification>
<notification name="UnsupportedHardware">
- Aviso: Seu sistema não é compatível com os requisitos mínimos exigidos pelo [APP_NAME]. Se você continuar usando o [APP_NAME] pode experimentar uma performance ruim. Infelizmente não podemos oferecer suporte técnico para configurações de sistema não suportado.
+ Sabe de uma coisa? Seu computador não tem os requisitos mínimos do [APP_NAME]. Talvez o desempenho seja um pouco sofrível. O suporte não pode atender pedidos de assistência técnicas em sistemas não suportados.
MINSPECS
-Você deseja visitar [_URL] para maiores informações?
+Consultar [_URL] para mais informações?
<url name="url" option="0">
http://secondlife.com/support/sysreqs.php?lang=pt
</url>
- <usetemplate ignoretext="Ao detectar hardware não suportado" name="okcancelignore" notext="Não" yestext="Sim"/>
+ <usetemplate ignoretext="O hardware do meu computador não é suportado" name="okcancelignore" notext="Não" yestext="Sim"/>
</notification>
<notification name="UnknownGPU">
- Seu sistema possui uma placa gráfica que nos é desconhecido neste momento.
-Este é normalmente o caso de um novo hardware que nós não tivemos a chance de testar. [APP_NAME] vai muito provavelmente executar corretamente, mas talvez seja necessário ajustar suas configurações de gráficos para algo mais apropriado.
-(Menu Editar &gt; Preferências &gt; Gráficos).
+ A placa de vídeo do seu sistema não é reconhecida pelo [APP_NAME].
+Isto acontece quando novos hardwares que ainda não foram testados no [APP_NAME]. Talvez isso não cause problemas, mas pode ser preciso checar as configurações de vídeo.
+( Eu &gt; Preferências &gt; Vídeo)
<form name="form">
- <ignore name="ignore" text="Ao detectar uma placa de vídeo desconhecida"/>
+ <ignore name="ignore" text="Minha placa de vídeo não foi reconhecida."/>
</form>
</notification>
<notification name="DisplaySettingsNoShaders">
- [APP_NAME] travou quando inicializava os drivers gráficos.
-A Qualidade Gráfica será ajustada para baixa, para evitar alguns erros comuns de drivers.
-Isto irá desabilitar alguns atributos gráficos.
-Nós recomendamos a atualização dos drivers de sua placa gráfica.
-A Qualidade Gráfica pode ser aumentada no Preferências &gt; Gráficos.
+ O [APP_NAME] sofreu uma pane ao iniciar os drivers de vídeo.
+A Qualidade do vídeo será definida como baixa para evitar os erros de driver mais comuns. Assim, alguns recursos de vídeo serão desativados.
+Tente atualizar o driver da sua placa de vídeo.
+Para aumentar a qualidade do vídeo, vá para Preferências &gt; Vídeo.
</notification>
<notification name="RegionNoTerraforming">
A região [REGION] não permite ser aplainada.
@@ -566,6 +512,9 @@ Ele ou ela vai ficar temporariamente incapaz de se mover, usar o bate-papo ou in
Ejetar [AVATAR_NAME] da sua terra?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Ejetar"/>
</notification>
+ <notification name="EjectAvatarFromGroup">
+ Você ejetou [AVATAR_NAME] do grupo [GROUP_NAME]
+ </notification>
<notification name="AcquireErrorTooManyObjects">
Erro de aquisição: Muitos objetos selecionados.
</notification>
@@ -576,7 +525,7 @@ Por favor, mova todos os objetos a serem adquiridos para uma mesma região.
<notification name="PromptGoToCurrencyPage">
[EXTRA]
-Vá para [_URL] para informação sobre compra de L$.
+Para mais informações sobre como comprar L$, consulte [_URL].
<url name="url">
http://secondlife.com/app/currency/?lang=pt-BR
</url>
@@ -665,12 +614,19 @@ Esperada [VALIDS]
Incapaz de criar arquivo de saída: [FILE]
</notification>
<notification name="DoNotSupportBulkAnimationUpload">
- Atualmente, não suportamos o envio de arquivos de animação em massa.
+ O [APP_NAME] ainda não faz o upload de vários arquivos de animação de uma vez.
</notification>
<notification name="CannotUploadReason">
Incapaz de carregar [FILE] devido ao seguinte motivo: [REASON]
Por favor tente novamente mais tarde.
</notification>
+ <notification name="LandmarkCreated">
+ Você adicionou &quot;[LANDMARK_NAME]&quot; a sua pasta [FOLDER_NAME].
+ </notification>
+ <notification name="LandmarkAlreadyExists">
+ Você já tem um marco deste lugar.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="CannotCreateLandmarkNotOwner">
Você não pode criar um ponto de referência porque o proprietário do terreno não permite. Tente novamente a alguns metros de distância.
</notification>
@@ -693,6 +649,9 @@ Selecione objetos com scripts.
Selecione objetos com scripts que você tem permissão para modificar.
</notification>
+ <notification name="CannotOpenScriptObjectNoMod">
+ Impossível abrir script em objeto sem ter autorização para modificar.
+ </notification>
<notification name="CannotSetRunningSelectObjectsNoScripts">
Impossibilitado de definir quaisquer scripts para &apos;rodando&apos;.
@@ -715,49 +674,47 @@ Pesquisava por: [FINALQUERY]
Os termos de sua pesquisa eram muito curtos então nenhuma pesquisa foi feita.
</notification>
<notification name="CouldNotTeleportReason">
- Não é possível teletransportar-se.
+ O teletransporte falhou.
[REASON]
</notification>
-
- <notification name="invalid_tport">
-Problema encontrado ao processar seu pedido de Teletransporte. Você pode tentar reiniciar antes de tentar teletransportar-se. Se você continuar a receber esta mensagem, por favor verifique a FAQ do Suporte Técnico em:
-www.secondlife.com/support
- </notification>
- <notification name="invalid_region_handoff">
-Problema encontrado ao processar a passagem de regiões. Você pode tentar reiniciar antes de tentar atravessar regiões novamente. Se você continuar a receber esta mensagem, por favor verifique a FAQ do Suporte Técnico em:
-www.secondlife.com/support
- </notification>
- <notification name="blocked_tport">
-Desculpe, teletransportes estão atualmente bloqueados. Tente novamente dentro de alguns instantes. Se você continuar com problemas de teletransporte, por favor tente deslogar e relogar para resolver o problema.
- </notification>
- <notification name="nolandmark_tport">
-Desculpe, mas o sistema não conseguiu localizar a landmark de destino.
- </notification>
- <notification name="timeout_tport">
-Desculpe, não foi possível para o sistema executar o teletransporte. Tente novamente dentro de alguns instantes.
- </notification>
- <notification name="noaccess_tport">
-Desculpe, você não tem acesso ao destino deste teletransporte.
- </notification>
- <notification name="missing_attach_tport">
-Seu anexos ainda não chegaram. Tente esperar por alguns momentos ou deslogar e logar antes de tentar teleransportar-se novamente.
- </notification>
- <notification name="too_many_uploads_tport">
-Afluxo nesta região é atualmente tão alto que seu pedido de teletransporte não será possível em tempo oportuno. Por favor, tente novamente em alguns minutos ou vá a uma área menos ocupada.
- </notification>
- <notification name="expired_tport">
-Desculpe, mas o sistema não conseguiu concluir o seu pedido de teletransporte em tempo hábil. Por favor, tente novamente em alguns minutos.
- </notification>
- <notification name="expired_region_handoff">
-Desculpe, mas o sistema não pôde concluir a sua travessia de região em tempo hábil. Por favor, tente novamente em alguns minutos.
- </notification>
- <notification name="no_host">
-Não foi possível encontrar o destino do teletransporte. O destino pode estar temporariamente indisponível ou não existir mais. Por favor, tente novamente em poucos minutos.
- </notification>
- <notification name="no_inventory_host">
-O sistema de inventário está indisponível no momento.
- </notification>
-
+ <notification name="invalid_tport">
+ Houve um problema ao processar o teletransporte. Talvez seja preciso sair e entrar do Second Life para fazer o teletransporte.
+Se você continuar a receber esta mensagem, consulte [SUPPORT_SITE].
+ </notification>
+ <notification name="invalid_region_handoff">
+ Problema encontrado ao processar a passagem de regiões. Talvez seja preciso sair e entrar do Second Life atravessar regiões novamente.
+Se você continuar a receber esta mensagem, consulte [SUPPORT_SITE].
+ </notification>
+ <notification name="blocked_tport">
+ Desculpe, teletransportes estão atualmente bloqueados. Tente novamente dentro de alguns instantes. Se você continuar com problemas de teletransporte, por favor tente deslogar e relogar para resolver o problema.
+ </notification>
+ <notification name="nolandmark_tport">
+ Desculpe, mas o sistema não conseguiu localizar a landmark de destino.
+ </notification>
+ <notification name="timeout_tport">
+ Desculpe, não foi possível para o sistema executar o teletransporte. Tente novamente dentro de alguns instantes.
+ </notification>
+ <notification name="noaccess_tport">
+ Desculpe, você não tem acesso ao destino deste teletransporte.
+ </notification>
+ <notification name="missing_attach_tport">
+ Seu anexos ainda não chegaram. Tente esperar por alguns momentos ou deslogar e logar antes de tentar teleransportar-se novamente.
+ </notification>
+ <notification name="too_many_uploads_tport">
+ Afluxo nesta região é atualmente tão alto que seu pedido de teletransporte não será possível em tempo oportuno. Por favor, tente novamente em alguns minutos ou vá a uma área menos ocupada.
+ </notification>
+ <notification name="expired_tport">
+ Desculpe, mas o sistema não conseguiu concluir o seu pedido de teletransporte em tempo hábil. Por favor, tente novamente em alguns minutos.
+ </notification>
+ <notification name="expired_region_handoff">
+ Desculpe, mas o sistema não pôde concluir a sua travessia de região em tempo hábil. Por favor, tente novamente em alguns minutos.
+ </notification>
+ <notification name="no_host">
+ Não foi possível encontrar o destino do teletransporte. O destino pode estar temporariamente indisponível ou não existir mais. Por favor, tente novamente em poucos minutos.
+ </notification>
+ <notification name="no_inventory_host">
+ O sistema de inventário está indisponível no momento.
+ </notification>
<notification name="CannotSetLandOwnerNothingSelected">
Incapaz de estabelecer o proprietário do terreno:
Nenhum lote selecionado.
@@ -766,7 +723,8 @@ Nenhum lote selecionado.
Não é possível exigir a posse do terreno porque a seleção alcançou múltiplas regiões. Por favor, selecione uma área menor e tente novamente.
</notification>
<notification name="ForceOwnerAuctionWarning">
- Este lote está oferecido em leilão. Exigir a posse do terreno irá cancelar o leilão e possivelmente deixará alguns residentes infelizes, se os lances já começaram. Exigir posse?
+ Este lote vai a leilão. Forçar a mudança do dono cancela o leilão, podendo deixar residentes que já deram lances insatisfeitos.
+Deseja forçar mudança de dono?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Retomar"/>
</notification>
<notification name="CannotContentifyNothingSelected">
@@ -794,7 +752,7 @@ Nenhum lote selecionado.
Não é possível achar a região em que este terreno se encontra.
</notification>
<notification name="CannotCloseFloaterBuyLand">
- Você não pode fechar a janela de Compra de Terreno até que o [APP_NAME] calcule o preço desta transação.
+ A janela Comprar terreno poderá ser fechada quando o [APP_NAME] determinar o preço da transação.
</notification>
<notification name="CannotDeedLandNothingSelected">
Não é possível transferir posse do terreno:
@@ -805,8 +763,8 @@ Nenhum lote selecionado.
Nenhum grupo selecionado.
</notification>
<notification name="CannotDeedLandNoRegion">
- Não é possível transferir posse do terreno:
-Não é possível se achar a região em que este terreno se encontra.
+ Houve um problema ao processar a doação do terreno:
+A região do terreno não pôde ser localizada.
</notification>
<notification name="CannotDeedLandMultipleSelected">
Impossibilitado de passar a propriedade da terra:
@@ -814,14 +772,6 @@ Selecionados vários lotes.
Tente selecionar um único lote.
</notification>
- <notification name="ParcelCanPlayMedia">
- Esta localidade pode executar fluxo de mídia.
-Fluxo de mídia necessita de uma conexão de Internet rápida.
-
-Executar fluxo de mídia quando disponível?
-(Você pode mudar esta opção mais tarde no Preferências &gt; Áudio &amp; Vídeo.)
- <usetemplate name="okcancelbuttons" notext="Desabilitar" yestext="Exibir Mídia"/>
- </notification>
<notification name="CannotDeedLandWaitingForServer">
Impossibilitado de passar a propriedade da terra:
Esperando pelo servidor informar de quem é a propriedade.
@@ -850,8 +800,8 @@ Você não tem permissão de liberar este lote.
Os lotes que você possui estão em verde.
</notification>
<notification name="CannotReleaseLandRegionNotFound">
- Impossibilitado de abandonar a terra:
-Não consegue achar a região em que esta terra se encontra.
+ Houve um problema ao processar o abandono do terreno:
+A região do terreno não pôde ser localizada.
</notification>
<notification name="CannotReleaseLandNoTransfer">
Não é possível abandonar terreno:
@@ -888,12 +838,12 @@ Quer dividir o terreno?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Dividir"/>
</notification>
<notification name="CannotDivideLandNoRegion">
- Impossibilitado de dividir a terra:
-Não consegue achar a região em que esta terra se encontra.
+ Houve um problema ao processar a divisão do terreno:
+A região do terreno não pôde ser localizada.
</notification>
<notification name="CannotJoinLandNoRegion">
- Impossibilitado de unir a terra:
-Não consegue achar a região em que esta terra se encontra.
+ Houve um problema ao processar a junção dos terrenos:
+A região do terreno não pôde ser localizada.
</notification>
<notification name="CannotJoinLandNothingSelected">
Não é possível unir terreno:
@@ -918,17 +868,6 @@ Você vai ter que redefinir nome e as opções do novo lote.
Unir a terra?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Unir"/>
</notification>
- <notification name="ShowOwnersHelp">
- Mostrar donos:
-Colorir os lotes para mostrar o tipo de dono.
-
-Green = Sua terra
-Aqua = Terra do seu Grupo
-Red = Possuída por outros
-Yellow = À venda
-Purple = A leilão
-Grey = Pública
- </notification>
<notification name="ConfirmNotecardSave">
Esta nota precisa ser salva antes do item ser copiado ou visualizado. Salvar nota?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Salvar"/>
@@ -950,13 +889,12 @@ Grey = Pública
Não é possível salvar &apos;[NAME]&apos; para um arquivo de vestimenta. Você precisa liberar algum espaço no seu computador e salvar o arquivo novamente.
</notification>
<notification name="CannotSaveToAssetStore">
- Impossibilitado de salvar [NAME] no armazenamento central de ativos.
-Isso é geralmente uma falha temporária. Por favor personalize e salve novamente a vestimenta em poucos minutos.
+ Ocorreu um problema ao salvar [NAME].
+Em geral, essa é uma falha técnica temporária. Personalize e volte a salvar o item novamente dentro de alguns minutos.
</notification>
<notification name="YouHaveBeenLoggedOut">
- Você foi deslogado do [SECOND_LIFE]:
+ Ah não! O [SECOND_LIFE] teve de fechar.
[MESSAGE]
-Você ainda pode olhar o bate-papo e as mensagens instantâneas existentes, clicando em &apos;Exibir IM &amp; bate-papo&apos;. Caso contrário, clique em &apos;Sair&apos; para sair do [APP_NAME] imediatamente.
<usetemplate name="okcancelbuttons" notext="Sair" yestext="Exibir IM &amp; bate-papo"/>
</notification>
<notification name="OnlyOfficerCanBuyLand">
@@ -1107,30 +1045,39 @@ Transferir propriedade destes [AREA] m² de terreno para o grupo &apos;[GROUP_NA
</notification>
<notification name="ErrorMessage">
[ERROR_MESSAGE]
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
+ <notification name="AvatarMovedDesired">
+ Esse destino não está disponível no momento.
+Você chegou a uma região próxima.
</notification>
- <notification name="AvatarMoved">
- Sua [TYPE] localização não está disponível no momento.
- [HELP]
-Você foi movido para uma região vizinha.
+ <notification name="AvatarMovedLast">
+ Esse destino não está disponível no momento.
+Você chegou a uma região próxima.
+ </notification>
+ <notification name="AvatarMovedHome">
+ Esse destino não está disponível no momento.
+Você chegou a uma região próxima.
+Pense em usar outra região como casa.
</notification>
<notification name="ClothingLoading">
- Sua vestimenta ainda está baixando.
-Você pode usar o [SECOND_LIFE] normalmente e os outros o visualizarão corretamente.
+ As suas roupas estão sendo transferidas.
+Enquando isso, use o [SECOND_LIFE] normalmente. Seu visual será exibido corretamente.
<form name="form">
- <ignore name="ignore" text="Quando o vestuário está levando muito tempo para fazer download"/>
+ <ignore name="ignore" text="A roupa está demorando para chegar"/>
</form>
</notification>
<notification name="FirstRun">
- A instalação do [APP_NAME] está completa.
+ A instalação do [APP_NAME] está pronta.
-Se esta é a primeira vez usando o[SECOND_LIFE], será necessário que você crie uma conta antes de poder se logar.
-Retornar a [https://join.secondlife.com/index.php?lang=pt-BR secondlife.com] para criar uma nova conta?
+Se você ainda não conhece o [SECOND_LIFE], basta criar uma conta para começar.
+Voltar para [http://join.secondlife.com secondlife.com] para criar sua conta?
<usetemplate name="okcancelbuttons" notext="Continuar" yestext="Nova conta.."/>
</notification>
<notification name="LoginPacketNeverReceived">
- Estamos com problemas de conexão. Pode ser problema com a conexão de sua internet ou com os servidores do [SECOND_LIFE].
+ Estamos detectando um problema de conexão. Pode haver um problema com a sua conexão à internet ou com o [SECOND_LIFE_GRID].
-Voce tanto pode checar a conexão de sua internet e tentar novamente em alguns minutos, ou clicar em Teletransporte para tentar teletransportar-se para sua casa.
+Cheque sua conexão e tente em alguns minutos, clique na Ajuda para acessar o [SUPPORT_SITE], ou tente voltar para casa clicando em &apos;Teletransportar&apos;.
<url name="url">
http://br.secondlife.com/support/
</url>
@@ -1152,10 +1099,10 @@ Por favor, escolha se o seu avatar é feminino ou masculino. Você pode mudar de
[NAME] L$ [PRICE] Você não possui suficientes L$ para fazer isso.
</notification>
<notification name="GrantedModifyRights">
- Foi garantido à você o privilégio de alterar o(s) objeto(s) de [FIRST_NAME] [LAST_NAME]&apos;
+ [NAME] autorizou você a editar seus objetos.
</notification>
<notification name="RevokedModifyRights">
- Seu privilégio para alterar o(s) objeto(s) de [FIRST_NAME] [LAST_NAME]&apos;s foi removido.
+ Seu direito de modificar objetos do/da [NAME] foi revogado
</notification>
<notification name="FlushMapVisibilityCaches">
Isto irá descarregar os caches de mapa relativos a esta região.
@@ -1232,94 +1179,107 @@ Por favor, ponha o objeto à venda e tente novamente.
[DOWNLOAD_PATH]
</notification>
<notification name="DownloadWindowsMandatory">
- Uma nova versão do [APP_NAME] está disponível.
+ Existe uma nova versão do [APP_NAME]
[MESSAGE]
-Você deve baixar essa atualização para utilizar o [APP_NAME].
+Baixe a atualização para usar o [APP_NAME].
<usetemplate name="okcancelbuttons" notext="Sair" yestext="Atualizar"/>
</notification>
<notification name="DownloadWindows">
- Uma versão atualizada do [APP_NAME] está disponível.
+ Existe uma nova versão do [APP_NAME]
[MESSAGE]
-Essa atualização não é mandatória, mas sugerimos que você a instale para melhorar a performance e a estabilidade.
+Não é preciso passar para a nova versão, mas ela pode melhorar o desempenho e estabilidade do visualizador.
<usetemplate name="okcancelbuttons" notext="Continuar" yestext="Atualizar"/>
</notification>
<notification name="DownloadWindowsReleaseForDownload">
- Uma versão atualizada do [APP_NAME] está disponível.
+ Existe uma nova versão do [APP_NAME]
[MESSAGE]
-Essa atualização não é mandatória, mas sugerimos que você a instale para melhorar a performance e a estabilidade.
+Não é preciso passar para a nova versão, mas ela pode melhorar o desempenho e estabilidade do visualizador.
<usetemplate name="okcancelbuttons" notext="Continuar" yestext="Atualizar"/>
</notification>
+ <notification name="DownloadLinuxMandatory">
+ Existe uma nova versão do [APP_NAME]
+[MESSAGE]
+Baixe a atualização para usar o [APP_NAME].
+ <usetemplate name="okcancelbuttons" notext="Sair" yestext="Baixar"/>
+ </notification>
+ <notification name="DownloadLinux">
+ Existe uma nova versão do [APP_NAME]
+[MESSAGE]
+Não é preciso passar para a nova versão, mas ela pode melhorar o desempenho e estabilidade.
+ <usetemplate name="okcancelbuttons" notext="Continuar" yestext="Baixar"/>
+ </notification>
+ <notification name="DownloadLinuxReleaseForDownload">
+ Existe uma nova versão do [APP_NAME]
+[MESSAGE]
+Não é preciso passar para a nova versão, mas ela pode melhorar o desempenho e estabilidade.
+ <usetemplate name="okcancelbuttons" notext="Continuar" yestext="Baixar"/>
+ </notification>
<notification name="DownloadMacMandatory">
- Uma nova versão do [APP_NAME] está disponível.
+ Existe uma nova versão do [APP_NAME]
[MESSAGE]
-Você deve baixar esta atualização para utilizar o [APP_NAME].
+Baixe a atualização para usar o [APP_NAME].
-Baixar para sua pasta de Aplicativos?
+Salvar na pasta Aplicativos?
<usetemplate name="okcancelbuttons" notext="Sair" yestext="Atualizar"/>
</notification>
<notification name="DownloadMac">
- Uma nova versão do [APP_NAME] está disponível.
+ Existe uma nova versão do [APP_NAME]
[MESSAGE]
-Essa atualização não é mandatória, mas sugerimos que você a instale para melhorar a performance e a estabilidade.
+Não é preciso passar para a nova versão, mas ela pode melhorar o desempenho e estabilidade do visualizador.
-Baixar para a sua pasta de Aplicativos?
+Salvar na pasta Aplicativos?
<usetemplate name="okcancelbuttons" notext="Continuar" yestext="Atualizar"/>
</notification>
<notification name="DownloadMacReleaseForDownload">
- Uma nova versão do [APP_NAME] está disponível.
-
+ Existe uma nova versão do [APP_NAME]
[MESSAGE]
-Essa atualização não é mandatória, mas sugerimos que você a instale para melhorar a performance e a estabilidade.
+Não é preciso passar para a nova versão, mas ela pode melhorar o desempenho e estabilidade do visualizador.
-Baixar para sua pasta de Aplicativos?
+Salvar na pasta Aplicativos?
<usetemplate name="okcancelbuttons" notext="Continuar" yestext="Atualizar"/>
</notification>
<notification name="DeedObjectToGroup">
Delegar este objeto causará ao grupo:
* Receber os L$ pagos ao objeto
- <usetemplate ignoretext="Ao transferir objetos aos grupos" name="okcancelignore" notext="Cancelar" yestext="Acionar"/>
+ <usetemplate ignoretext="Confirmar doações de um objeto a um grupo antes de fazer a doação" name="okcancelignore" notext="Cancelar" yestext="Acionar"/>
</notification>
<notification name="WebLaunchExternalTarget">
- Abrir o navegador do seu sistema para ver este conteúdo?
- <usetemplate ignoretext="Ao abrir o navegador web do seu sistema para visualizar uma página Web" name="okcancelignore" notext="Cancelar" yestext="OK"/>
+ Abrir uma janela do navegador para ver essas informações?
+ <usetemplate ignoretext="Abrir o navegador para acessar uma página na web" name="okcancelignore" notext="Cancelar" yestext="OK"/>
</notification>
<notification name="WebLaunchJoinNow">
- Ir ao www.secondlife.com para gerenciar sua conta?
- <usetemplate ignoretext="Ao abrir o navegador web para gerenciar sua conta" name="okcancelignore" notext="Cancelar" yestext="OK"/>
+ Deseja abrir o [http://secondlife.com/account/ Painel] para gerenciar sua conta?
+ <usetemplate ignoretext="Abrir o navegador para acessar minha conta" name="okcancelignore" notext="Cancelar" yestext="OK"/>
</notification>
<notification name="WebLaunchSecurityIssues">
Visite a Wiki do [SECOND_LIFE] para detalhes de como Reportar um Problema de Segurança.
- <usetemplate ignoretext="Ao abrir o navegador da web para visualizar a Wiki de Problemas de Segurança" name="okcancelignore" notext="Cancelar" yestext="OK"/>
+ <usetemplate ignoretext="Abrir o navegador para ver como denunciar uma ocorrência" name="okcancelignore" notext="Cancelar" yestext="OK"/>
</notification>
<notification name="WebLaunchQAWiki">
Visite o Wiki de QA do [SECOND_LIFE].
- <usetemplate ignoretext="Ao abrir o navegador web para visualizar a Wiki de QA" name="okcancelignore" notext="Cancelar" yestext="OK"/>
+ <usetemplate ignoretext="Abrir meu navegador para ver a página Wiki" name="okcancelignore" notext="Cancelar" yestext="OK"/>
</notification>
<notification name="WebLaunchPublicIssue">
Visite o Rastreador Público de Problemas do [SECOND_LIFE], onde você poderá reportar Bugs e outros Problemas.
- <usetemplate ignoretext="Ao abrir o navegador web para visualizar o Rastreador Público de Problemas" name="okcancelignore" notext="Cancelar" yestext="Ir para a Página"/>
- </notification>
- <notification name="WebLaunchPublicIssueHelp">
- Visite a Wiki [SECOND_LIFE] para informações sobre como utilizar o Rastrador de Público de Problemas.
- <usetemplate ignoretext="Ao abrir o navegador web para visualizar a wiki do Rastreador Público de Problemas" name="okcancelignore" notext="Cancelar" yestext="Ir para a página"/>
+ <usetemplate ignoretext="Abrir o navegador para usar o Monitor de problemas" name="okcancelignore" notext="Cancelar" yestext="Ir para a Página"/>
</notification>
<notification name="WebLaunchSupportWiki">
Ir até o Blog Oficial da Linden buscar pelas últimas notícias e informações.
- <usetemplate ignoretext="Ao abrir o navegador da web para visualizar o blog" name="okcancelignore" notext="Cancelar" yestext="Ir até a página"/>
+ <usetemplate ignoretext="Abrir meu navegador para ler o blog" name="okcancelignore" notext="Cancelar" yestext="Ir até a página"/>
</notification>
<notification name="WebLaunchLSLGuide">
- Ir para a página guia do LSL para ajuda com script?
- <usetemplate ignoretext="Ao abrir o navegador web para visualizar o Guia de Scripts." name="okcancelignore" notext="Cancelar" yestext="Ir para a página"/>
+ Abrir o Guia de scripts para obter ajuda?
+ <usetemplate ignoretext="Abrir meu navegador para usar o Guia de scripts" name="okcancelignore" notext="Cancelar" yestext="Ir para a página"/>
</notification>
<notification name="WebLaunchLSLWiki">
- Ir para o portal LSL para ajuda com script?
- <usetemplate ignoretext="Ao abrir o navegador da web para visualizar o Portal de LSL" name="okcancelignore" notext="Cancelar" yestext="Ir para a página"/>
+ Consultar o LSL Portal para obter ajuda com scripts?
+ <usetemplate ignoretext="Abrir meu navegador para consultar o LSL Portal" name="okcancelignore" notext="Cancelar" yestext="Ir para a página"/>
</notification>
<notification name="ReturnToOwner">
Você tem certeza que deseja retornar os objetos selecionados para seus proprietários? Objetos transferíveis doados irão retornar aos proprietários anteriores.
*AVISO* Objetos doados não – transferíveis serão deletados!
- <usetemplate ignoretext="Ao retornar objetos a seus proprietários" name="okcancelignore" notext="Cancelar" yestext="Retornar"/>
+ <usetemplate ignoretext="Confirmar antes de devolver objetos a seus donos" name="okcancelignore" notext="Cancelar" yestext="Retornar"/>
</notification>
<notification name="GroupLeaveConfirmMember">
Você é atualmente um membro do grupo [GROUP].
@@ -1331,14 +1291,14 @@ Deixar este grupo?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Expulsar todos os usuários"/>
</notification>
<notification name="MuteLinden">
- Desculpe, você não pode silenciar um Linden.
+ Desculpe, nenhum Linden pode ser bloqueado.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="CannotStartAuctionAlreadyForSale">
Você não pode começar um leilão com um lote que já foi colocado à venda. Desabilite a venda da terra se você tem certeza que deseja iniciar um leilão.
</notification>
- <notification label="Silenciar objeto pelo nome falhou" name="MuteByNameFailed">
- Você já silenciou este nome.
+ <notification label="Falha ao bloquear objeto por nome" name="MuteByNameFailed">
+ Você já bloqueou este residente.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="RemoveItemWarn">
@@ -1354,16 +1314,19 @@ Deixar este grupo?
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="BusyModeSet">
- Definido o Modo Ocupado.
-Bate-papo e mensagens instantâneas serão escondidas. Mensagens instantâneas irão receber a sua resposta de modo ocupado. Todas as ofertas de teletransporte serão recusadas. Todas as ofertas de inventário irão para a sua Lixeira.
- <usetemplate ignoretext="Ao definir o Modo Ocupado" name="okignore" yestext="OK"/>
+ Modo ocupado ativado.
+O bate-papo e MIs não serão exibidos. MIs enviadas para você receberão sua resposta de modo ocupado. Todas as ofertas de teletransporte serão recusadas. Todas as ofertas de inventário serão colocadas na Lixeira.
+ <usetemplate ignoretext="Passar meu status para o modo ocupado" name="okignore" yestext="OK"/>
</notification>
<notification name="JoinedTooManyGroupsMember">
- Você já pertence a muitos grupos para entrar em outro. Por favor, deixe pelo menos um grupo antes de entrar neste. Para sair de um grupo, selecione o Menu Editar e a opção Meus &apos;Grupos...&apos;
-[NAME] convidou você para entrar num grupo como membro.
-[INVITE]
+ Você atingiu o limite máximo de grupos. Saia de outro grupo para poder entrar nesse ou recuse o convite.
+[NAME] está te convidando para entrar em um grupo.
<usetemplate name="okcancelbuttons" notext="Recusar" yestext="Entrar"/>
</notification>
+ <notification name="JoinedTooManyGroups">
+ Você atingiu o limite máximo de grupos. Sai de um grupo para entrar ou criar outro.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
<notification name="KickUser">
Expulsar este usuário com qual mensagem?
<form name="form">
@@ -1425,8 +1388,16 @@ Bate-papo e mensagens instantâneas serão escondidas. Mensagens instantâneas i
</form>
</notification>
<notification name="TeleportFromLandmark">
- Você tem certeza que quer se teletransportar?
- <usetemplate ignoretext="Ao se teletransportar a partir de uma Landmark no inventário" name="okcancelignore" notext="Cancelar" yestext="Teletransportar"/>
+ Tem certeza de quer ser teletransportado para &lt;nolink&gt;[LOCATION]&lt;/nolink&gt;?
+ <usetemplate ignoretext="Confirmar se eu quero ser teletransportado para marcos" name="okcancelignore" notext="Cancelar" yestext="Teletransportar"/>
+ </notification>
+ <notification name="TeleportToPick">
+ Teletransportar para [PICK]?
+ <usetemplate ignoretext="Confirmar se eu quero ser teletransportado para Destaques" name="okcancelignore" notext="Cancelar" yestext="Teletransportar"/>
+ </notification>
+ <notification name="TeleportToClassified">
+ Teletransportar para [CLASSIFIED]?
+ <usetemplate ignoretext="Confirmar se eu quero ser teletransportado lugar do anúncio" name="okcancelignore" notext="Cancelar" yestext="Teletransportar"/>
</notification>
<notification label="Mensagem para todos na sua Propriedade" name="MessageEstate">
Digite um breve anúncio que será enviado para todos que estejam atualmente na sua propriedade.
@@ -1495,9 +1466,7 @@ Isto mudará milhares de regiões e fará o spaceserver soluçar.
Você não é permitido na Região devido à sua Classificação de maturidade. Isto pode ser o resultado da falta de informação de validação de sua idade.
Por favor, verifique se você está com o último Visualizador instalado e vá ao Banco de Conhecimento para detalhes em como acessar áreas com esta classificação de maturidade.
- <usetemplate
- name="okbutton"
- yestext="OK"/>
+ <usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="RegionEntryAccessBlocked_KB">
Você não é permitido nesta região devido à sua Classificação de maturidade.
@@ -1506,37 +1475,26 @@ Ir para o Banco de Conhecimento para maiores informações sobre Classificaçõe
<url name="url">
http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview/pt
</url>
- <usetemplate
- name="okcancelignore"
- yestext="Ir para o Banco de Conhecimento"
- notext="Fechar"
- ignoretext="Quando a entrada na região está bloqueada devido à Classificação de maturidade"/>
+ <usetemplate ignoretext="Não posso entrar nessa região devido à classificação do conteúdo" name="okcancelignore" notext="Fechar" yestext="Ir para o Banco de Conhecimento"/>
</notification>
<notification name="RegionEntryAccessBlocked_Notify">
Você não é permitido nesta região devido à sua Classificação de maturidade.
</notification>
<notification name="RegionEntryAccessBlocked_Change">
- Você não é permitido nessa região devido à sua preferência de Classificação de maturidade.
-
-Você pode clicar em &apos;Mudar Preferência&apos; para aumentar sua preferência de Classificação de maturidade agora e permitir sua entrada. Você estará habilitado a buscar e acessar conteúdo [REGIONMATURITY] a partir de agora. Se você desejar mais tarde voltar à configuração anterior, vá para Editar &gt; Preferencias... &gt; Geral.
- <form name="form">
- <button
- name="OK"
- text="Mudar Preferência"/>
- <button
- default="true"
- name="Cancel"
- text="Fechar"/>
- <ignore name="ignore" text="Quando a entrada na Região está bloqueada devido à preferência de Classificação de maturidade"/>
- </form>
+ Você não pode entrar nessa região devido à sua seleção de maturidade.
+
+Clique em &apos;Mudar preferência&apos; para aumentar o nível de maturidade e entrar nessa região. De agora em diante você pode buscar e acessar conteúdo [REGIONMATURITY] . Para modificar esta configuração, vá à Eu &gt; Preferências &gt; Geral.
+ <form name="form">
+ <button name="OK" text="Mudar preferência"/>
+ <button default="true" name="Cancel" text="Fechar"/>
+ <ignore name="ignore" text="Minha preferência de maturidade impede que eu vá a uma região"/>
+ </form>
</notification>
<notification name="LandClaimAccessBlocked">
Você não pode reclamar esta terra devido à sua Classificação de maturidade. Isto pode ser o resultado de falta de informação na validação de sua idade.
Por favor, verifique se você tem o último Visualizador instalado e vá para o Banco de Conhecimento para detalhes sobre o acesso de áreas com esta Classificação de maturidade.
- <usetemplate
- name="okbutton"
- yestext="OK"/>
+ <usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="LandClaimAccessBlocked_KB">
Você não pode reclamar esta terra devido à sua Classificação de maturidade.
@@ -1545,32 +1503,22 @@ Ir para a o Banco de Conhecimento para maiores informações sobre Classificaç
<url name="url">
http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview/pt
</url>
- <usetemplate
- name="okcancelignore"
- yestext="Ir para o Banco de Conhecimento"
- notext="Fechar"
- ignoretext="Quando reclamar a Terra está bloqueado devido à Classificação de maturidade"/>
+ <usetemplate ignoretext="Não reivindicar essa região devido à classificação do conteúdo" name="okcancelignore" notext="Fechar" yestext="Ir para o Banco de Conhecimento"/>
</notification>
<notification name="LandClaimAccessBlocked_Notify">
Você não pode reclamar esta terra devido à sua Classificação de maturidade.
</notification>
<notification name="LandClaimAccessBlocked_Change">
- Você não pode reclamar esta terra devido à sua preferência de Classsificação de maturidade.
+ Você não pode reivindicar essa região devido à sua preferência de maturidade
-Você pode clicar em &apos;Mudar Preferência&apos; para aumentar sua preferência de Classificação de maturidade agora e permitir sua entrada. Você estará habilitado a buscar e acessar conteúdo [REGIONMATURITY] a partir de agora. Se você desejar mais tarde voltar à configuração anterior, vá para Editar &gt; Preferencias... &gt; Geral.
- <usetemplate
- name="okcancelignore"
- yestext="Mudar Preferência"
- notext="Fechar"
- ignoretext="Quando reclamar a Terra está bloqueado devido à preferência de Classificação de maturidade"/>
+Clique em &apos;Mudar preferência&apos; para aumentar o nível de maturidade e entrar nessa região. De agora em diante você pode buscar e acessar conteúdo [REGIONMATURITY] . Para modificar esta configuração, vá à Eu &gt; Preferências &gt; Geral.
+ <usetemplate ignoretext="Minha preferência de conteúdo impede que eu reivindique terrenos" name="okcancelignore" notext="Fechar" yestext="Mudar Preferência"/>
</notification>
<notification name="LandBuyAccessBlocked">
Você não pode comprar esta terra devido à sua Classificação de maturidade. Isto pode ser o resultado de falta de informação na validação de sua idade.
Por favor, verifique se você tem o último Visualizador instalado e vá para o Banco de Conhecimento para detalhes sobre o acesso de áreas com esta Classificação de maturidade.
- <usetemplate
- name="okbutton"
- yestext="OK"/>
+ <usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="LandBuyAccessBlocked_KB">
Você não pode comprar esta terra devido à sua Classificação de maturidade.
@@ -1579,27 +1527,19 @@ Ir para o Banco de Conhecimento para maiores informações sobre Classificaçõe
<url name="url">
http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview/pt
</url>
- <usetemplate
- name="okcancelignore"
- yestext="Ir para o Banco de Conhecimento"
- notext="Fechar"
- ignoretext="Quando a compra de Terra está bloqueada devido à Classificação de maturidade"/>
+ <usetemplate ignoretext="Não posso comprar essa região devido à classificação do conteúdo" name="okcancelignore" notext="Fechar" yestext="Ir para o Banco de Conhecimento"/>
</notification>
<notification name="LandBuyAccessBlocked_Notify">
Você não pode comprar esta terra devido à sua Classificação de maturidade.
</notification>
<notification name="LandBuyAccessBlocked_Change">
- Você não pode comprar esta terra devido à sua preferência de Classificação de maturidade.
+ Você não pode comprar esse terreno devido à sua preferência de maturidade
-Você pode clicar em &apos;Mudar Preferência&apos; para aumentar sua preferência de Classificação de maturidade agora e permitir sua entrada. Você estará habilitado a buscar e acessar conteúdo [REGIONMATURITY] a partir de agora. Se você desejar mais tarde voltar à configuração anterior, vá para Editar &gt; Preferencias... &gt; Geral.
- <usetemplate
- name="okcancelignore"
- yestext="Mudar Preferência"
- notext="Fechar"
- ignoretext="Quando a compra de Terra está bloqueada devido à preferência de Classificação de maturidade"/>
+Clique em &apos;Mudar preferência&apos; para aumentar o nível de maturidade e entrar nessa região. De agora em diante você pode buscar e acessar conteúdo [REGIONMATURITY] . Para modificar esta configuração, vá à Eu &gt; Preferências &gt; Geral.
+ <usetemplate ignoretext="Minha preferência de conteúdo não me deixa comprar terrenos" name="okcancelignore" notext="Fechar" yestext="Mudar Preferência"/>
</notification>
<notification name="TooManyPrimsSelected">
- &quot;Muitos prims foram selecionados. Por favor, selecione [MAX_PRIM_COUNT] ou menos e tente novamente.&quot;
+ Muitos prims foram selecionados. Selecione [MAX_PRIM_COUNT] ou menos prims, e tente de novo
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="ProblemImportingEstateCovenant">
@@ -1632,19 +1572,11 @@ Publicar este classificado agora por L$ [AMOUNT]?
</notification>
<notification name="SetClassifiedMature">
Este classificado contém conteúdo Mature?
- <usetemplate
- canceltext="Cancelar"
- name="yesnocancelbuttons"
- notext="Não"
- yestext="Sim"/>
+ <usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="Não" yestext="Sim"/>
</notification>
<notification name="SetGroupMature">
Este grupo contém conteúdo Mature?
- <usetemplate
- canceltext="Cancelar"
- name="yesnocancelbuttons"
- notext="Não"
- yestext="Sim"/>
+ <usetemplate canceltext="Cancelar" name="yesnocancelbuttons" notext="Não" yestext="Sim"/>
</notification>
<notification label="Confirmar reiniciar" name="ConfirmRestart">
Você quer realmente reiniciar esta região em 2 minutos?
@@ -1658,217 +1590,14 @@ Publicar este classificado agora por L$ [AMOUNT]?
<button name="Cancel" text="Cancelar"/>
</form>
</notification>
- <notification label="Bloquear Terraforma" name="HelpRegionBlockTerraform">
- Se esta opção for assinalada, donos de Terrenos não serão capazes de terraformar independentemente da configuração &apos;Editar Terreno&apos; de suas terras por lote.
-
-Padrão: desligado
- </notification>
- <notification label="Bloquear Vôo" name="HelpRegionBlockFly">
- Se esta caixa estiver marcada, as pessoas não poderão voar nesta região independente das configurações por lote de &apos;Voar&apos;.
-
-Padrão: desligado.
- </notification>
- <notification label="Mudança Conjunta das Permissões de Conteúdo" name="HelpBulkPermission">
- A ferramenta de Mudança Conjunta das Permissões lhe ajuda a mudar, rapidamente, as permissões de múltiplos itens que estão no conteúdo do(s) objeto(s) selecionado(s). Por favor observe que, no entanto, você está apenas definindo permissões para on itens que estão no conteúdo dos objetos selecionados -- não as permissões para o container dos próprios objetos.
-
-Também observe que as permissões não se aplicam aos conteúdos aninhados, contidos em quaisquer dos objetos. Sua solicitação opera apenas nos itens em exatamente um nível de profundidade.
-
-Você pode escolher seletivamente quais tipos de itens modificar, usando a lista de conferência aqui, abaixo de &apos;Tipos de Conteúdo&apos;. Quando você seleciona Texturas, as fotos são incluídas.
-
-* Esta ferramenta apenas mudará as permissões em itens que você pode mudar.
-* Você não pode dar ao Próximo dono, as permissões que você já não tem.
-* As permissões ao Próximo dono são meramente solicitações. Se um dos itens não puder assumir todas as novas permissões, nenhuma delas mudará.
-
-Quando você estiver pronto para mudar as permissões globais, clique &apos;Aplicar&apos; e aguarde os resultados na tela.
-
-Se você fechar a janela de Permissões Conjuntas enquanto elas estiverem sendo alteradas, a operação será suspensa.
- </notification>
- <notification label="Permitir Dano" name="HelpRegionAllowDamage">
- Marcar essa caixa habilita o sistema de vitalidade em todos os lotes independente das configurações individuais. Se esta caixa ficar desmarcada, os proprietários de lotes individuais ainda estarão aptos a ativar o sistema de vitalidade de seus lotes.
-
-Padrão: desligado.
- </notification>
- <notification label="Limite de Agentes" name="HelpRegionAgentLimit">
- Define o número máximo de residentes permitidos nesta região.
-Quanto mais residentes existirem em sua região, pior pode ser a performance.
-
-Padrão: 40
- </notification>
- <notification label="Bonus de Objetos" name="HelpRegionObjectBonus">
- O Bônus de objetos é um multiplicador para primitivas permitidas em qualquer lote. O intervalo permitido é de 1 a 10.
-Se fixado em &apos;1 &apos;, 512m² de cada lote permitem 117 objetos.
-Fixado em &apos;2 &apos;, 512m² cada lote permitem 234, ou o dobro, e assim por diante.
-O número máximo de objetos permitidos por região permanece 15000 não importa qual seja o Bônus de objeto. Uma vez estabelecido, esteja ciente de que a redução do Bônus de objetos pode retornar objetos ou apagá-los.
-
-Padrão: 1.0
- </notification>
- <notification label="Maturidade" name="HelpRegionMaturity">
- Define a Classificação de Maturidade da região, como mostrado na barra de menu, no topo de qualquer visualizador do Residente e nas dicas no Mapa-Mundi, quando o cursor passa sobre esta Região. Esta definição também afeta o acesso a esta Região e aos resultados de busca. Outros Residentes podem apenas entrar em Regiões ou ver resultados de busca com a mesma Classificação de maturidade que eles escolheram em suas preferências.
-
-Pode levar algum tempo até que esta mudança se reflita no mapa.
- </notification>
- <notification label="Restringir Empurrar" name="HelpRegionRestrictPushObject">
- Esta caixa de verificação Configura toda a região para permissões restritivas de empurrar.
-Quando habilitada, os agentes só podem empurrar a si mesmos ou serem empurrados pelo dono do lote.
-(Empurrar se refere à função LSL llPushObject().)
-
-Padrão: Desligado.
- </notification>
- <notification label="Unir/dividir lote" name="HelpParcelChanges">
- Configura se os lotes que não pertencem ao dono da propriedade podem ser unidos ou subdivididos.
-Se esta opção estiver desmarcada:
- * Apenas os donos ou gerentes de propriedades podem unir ou dividir lotes.
- * Eles podem unir ou subdividir lotes pertencentes ao dono ou ao grupo onde eles tem os poderes apropriados.
-Se esta opção estiver marcada:
- * Todos os donos de lotes podem unir ou subdividir os lotes que eles possuem.
- * Para lotes pertencentes a grupos, aqueles com os poderes apropriados podem unir ou subdividir lotes.
-
-Padrão: Marcado.
- </notification>
- <notification label="Não Mostrar na Pesquisa" name="HelpRegionSearch">
- Ao marcar esta caixa irá bloquear os donos de lotes de listar seus lotes na busca
-
-Padrão: desligado
- </notification>
<notification label="Modificar a maturidade da Região" name="RegionMaturityChange">
- A classificação de maturidade para esta região foi atualizada.
-Pode levar algum tempo para que a mudança seja refletida no mapa.
- </notification>
- <notification label="Revenda de Terreno" name="HelpRegionLandResell">
- Os gerentes e os donos de propriedades podem vender qualquer terreno pertencente ao dono da propriedade.
-Se esta opção estiver desmarcada, os compradores não podem revender seus terrenos nesta região.
-Se esta opção estiver marcada, compradores podem vender seus terrenos nesta região.
-
-Padrão: Desabilitada.
- </notification>
- <notification label="Desabilitar Scripts" name="HelpRegionDisableScripts">
- Quando a performance do simulador está ruim, um script pode ser o culpado. Abra a Barra de Estatísticas (Ctrl+Shift+1). Olhe no Simulador de Física FPS. Se estiver abaixo de 45, então abra o painel &apos;Tempo&apos; localizado na parte de baixo da Barra de Estatísticas. Se o Tempo de Script indicar 25 ms ou mais, clique no botão &apos;Get Top CScripts&apos;. Será dado o nome e a localização do script que pode estar causando uma performance ruim. Marque a caixa &apos;Desabilitar Scripts&apos; e aperte o botão &apos;Aplicar&apos;. Isto temporariamente desabilitará todos os scripts nesta região. Uma vez que você chegar ao local, investigue o script para determinar se ele está causando o problema. Você pode querer entrar em contato com o proprietário do script, excluir ou devolver o objeto. Desmarque a caixa &apos;Desabilitar Script&apos; e então clique em &apos;Aplicar&apos; para reativar os scripts na região. Padrão: desligado.
- </notification>
- <notification label="Desabilitar Colisões" name="HelpRegionDisableCollisions">
- Quando a performance do simulador é pobre, os objetos físicos podem ser os culpados.Abra a a Barra de Estatísticas (Ctrl+Shift+1).
-Olhe a taxa de quadros por segundos (FPS) dos objetos físicos.
-
-Se ela estiver abaixo de 45, abra o painel de Tempo, localizado na parte inferior da Barra de Estatísticas. Se o Tempo (Físicos) do Simulador mostrar 20 ms ou mais, clique o botão &apos;Pegue os Maiores Colidentes&apos;. Será fornecido a você o nome e a localidade dos objetos físicos que podem estar causando uma performance pobre.
-Ativando a caixa Desabilitar Colisões e então pressionando o botão Aplicar, as colisões objeto-objeto serão temporariamente desabilitadas. Você pode precisar fazer isso para que possa viajar até a localidade onde observou um &apos;colidente-mor&apos;. Uma vez tendo chegado à localidade, investigue o objeto – ele está constantemente colidindo com outros objetos? Você pode desejar contatar o dono do objeto ou deletar ou retornar o objeto.
-Desative a caixa &apos;Desabilitar Colisões&apos; e então use &apos;Aplicar&apos; para reativar as colisões na região.
-
-Padrão: off
- </notification>
- <notification label="Desabilitar Física" name="HelpRegionDisablePhysics">
- Desabilitar Física é similar a desabilitar Colisões, com exceção de que todas as simulações físicas serão desabilitadas. Isto significa que não só os objetos pararão de colidir, mas também que os avatares não poderão se mover.
-
-Isto só deve ser usado quando Desabilitar Colisões não trouxer performance suficiente à região para investigar um problema de Física ou do &apos;Colidente-Mor&apos;.
-
-Esteja certo de reabilitar Física quando você terminar, ou os avatares não poderão se mover.
-
-Default: desligado
- </notification>
- <notification label="Principais Colidentes" name="HelpRegionTopColliders">
- Mostra uma lista de objetos com o maior número de potenciais colisões objeto-objeto. Estes objetos podem diminuir a performance do simulador.
-Selecione Ver &gt; Barra de Estatísticas e olhe em Simulador &gt; Tempo &gt; Tempo de Simulação (Física) para ver se mais de 20 ms são gastos em física.
- </notification>
- <notification label="Principais Scripts" name="HelpRegionTopScripts">
- Mostra uma lista dos objetos gastando mais tempo rodando scripts LSL. Estes objetos podem diminuir a performance do simulador.
-Selecione Ver &gt; Barra de Estatísticas e olhe em Simulador &gt; Tempo &gt; Tempo de Script para ver se mais de 25 ms são gastos em scripts.
- </notification>
- <notification label="Reiniciar Região" name="HelpRegionRestart">
- Reinicia o processo do servidor rodando esta região, após um aviso de dois minutos. Todos os residentes nesta região serão desconectados. A região salvará seus dados e deverá retornar em até 90 segundos.
-
-Reiniciar a região não consertará a maioria dos problemas de performance, e deveria ser utilizada somente quando solicitado.
- </notification>
- <notification label="Altura da água" name="HelpRegionWaterHeight">
- Esta é a altura em metros onde a água aparece. Caso este ajuste seja diferente de 20 e você tenha águas adjacentes ao limite do seu terreno ou águas continentais, haverá uma abertura visível.
-
-Padrão: 20
- </notification>
- <notification label="Limite do aumento" name="HelpRegionTerrainRaise">
- Esta é a distância em metros que os donos de lotes podem elevar o terreno, a partir da altura nivelada do terreno.
-
-Padrão: 4
- </notification>
- <notification label="Limite mais baixo" name="HelpRegionTerrainLower">
- Esta é a distância em metros que os donos de lotes podem abaixar o terreno, a partir da altura nivelada do terreno.
-
-Padrão: -4
- </notification>
- <notification label="Carregar terreno RAW" name="HelpRegionUploadRaw">
- Este botão faz upload de um arquivo .RAW para a região em que você está.
-O arquivo precisa conter as dimensões/número de canais corretos: RGB, 256x256 e 13 canais. A melhor forma de criar um arquivo da região é baixando o arquivo .RAW existente. Um bom primeiro passo seria modificar o primeiro canal (altura da região) e fazer o upload do arquivo.
-
-O upload pode levar certa de 45 segundos. Note que fazer upload do arquivo da região *não* moverá os objetos que estão na região, apenas o terreno e as permissões associadas a ele. Isso pode fazer com que alguns objetos fiquem debaixo da terra.
-
-Para mais informações sobre edição dos campos de altura da região, consulte a ajuda F1.
- </notification>
- <notification label="Baixar RAW de terreno" name="HelpRegionDownloadRaw">
- Este botão faz download de um arquivo contendo dados de altura do campo, dimensões do lote, status de lotes à venda e algumas permissões de lote para este terreno. Ao abrir o arquivo em programas como o Photoshop, você precisa especificar as dimensões do documento, que são: RGB, 256x256 com 13 canais. Este arquivo de terras não pode ser aberto de outra forma.
-
-Para mais informações sobre edição dos campos de altura da região, consulte a Ajuda F1.
- </notification>
- <notification label="Usar Sol da Propriedade" name="HelpRegionUseEstateSun">
- Esta caixa de opção faz com que a posição do sol nesta região seja a mesma que no resto da região.
-
-Padrão: ligada
- </notification>
- <notification label="Sol fixo" name="HelpRegionFixedSun">
- Esta caixa de opção ajusta a posição do sol no equalizador de fuso e interrompe o movimento do sol.
-
-Padrão: desligada
- </notification>
- <notification label="Nivelar Terreno" name="HelpRegionBakeTerrain">
- Este botão salva a forma atual do terreno como o novo padrão para a região. Uma vez nivelado, o terreno pode reverter à forma que foi salva, sempre que você ou outros utilizarem a ferramenta &apos;Revert&apos; na edição de terreno. O terreno nivelado é também o ponto médio entre os limites de elevação e redução de terreno.
- </notification>
- <notification label="Gerentes da Propriedade" name="HelpEstateEstateManager">
- Um gerente da propriedade é um residente a quem você delegou o controle das configurações da região. Ele pode alterar qualquer configuração da região, com exceção de elevar, abaixar ou nivelar o terreno. Em particular, eles podem permitir ou banir residentes da sua propriedade. Gerentes da propriedade só podem ser adicionados ou removidos pelo dono da propriedade.
-
-Um gerente não pode adicionar ou remover outro gerente. Por favor, escolha somente residentes em quem você confia para serem gerentes da propriedade, pois você poderá ser responsabilizado pelas ações deles.
- </notification>
- <notification label="Usar hora Global" name="HelpEstateUseGlobalTime">
- Esta caixa de opção faz com que o Sol em sua propriedade siga a mesma posição do Sol nas propriedades da &apos;mainland&apos; do Linden Lab.
+ O conteúdo desta região foi reclassificado.
+Talvez leve algum tempo para a mudança ser refletida no mapa.
-Padrão: ligado
- </notification>
- <notification label="Sol fixo" name="HelpEstateFixedSun">
- Esta caixa de opção ajusta a posição do sol no equalizador de fuso e interrompe o movimento do sol.
- </notification>
- <notification label="Acesso público" name="HelpEstateExternallyVisible">
- Esta caixa de verificação define se os Residentes que estão em outras propriedades podem entrar nesta, sem estar em uma lista de acesso.
-
-Padrão: on
- </notification>
- <notification label="Permitir Teletransporte direto" name="HelpEstateAllowDirectTeleport">
- Quando marcada, permite que os residentes se teletransportem diretamente para qualquer ponto da sua propriedade. Quando desmarcada, os residentes serão teleportados para o telehub mais próximo.
-
-Padrão: desmarcada
- </notification>
- <notification label="Permitir acesso" name="HelpEstateAllowResident">
- Acesso a esta propriedade estará limitado aos Residentes listados aqui e em quaisquer grupos abaixo.
-Esta definição está disponível apenas quando o Acesso Público estiver desmarcado.
- </notification>
- <notification label="Permitir acesso de grupo" name="HelpEstateAllowGroup">
- Acesso a esta propriedade estará limitado aos grupos listados aqui e a quaisquer Residentes acima.
-Esta definição está disponível apenas quando o Acesso Público estiver desmarcado.
- </notification>
- <notification label="Endereço de Email do Abuso" name="HelpEstateAbuseEmailAddress">
- Configurar isto para um endereço de email válido, fará com que relatos de abuso nesta propriedade sejam enviados para esse endereço.
-Definí-lo em branco fará com que os relatórios de abuso sejam enviados apenas para a Linden Lab.
- </notification>
- <notification label="Negar acesso" name="HelpEstateBanResident">
- Residentes desta lista estão proibidos de acessar a sua propriedade, independentemente de outras configurações.
- </notification>
- <notification label="Permitir Conversa por Voz" name="HelpEstateVoiceChat">
- Lotes nesta propriedade têm permissão para ter seus canais de voz próprios, nos quais os residentes podem ouvir e falar com os outros residentes próximos.
-
-Padrão: desligado
+Para ir a regiões de conteúdo Adulto, é preciso ter uma conta verificada, seja comprovando a idade ou com dados de pagamento.
</notification>
<notification label="Discordância de Versão de Voz" name="VoiceVersionMismatch">
- Esta versão do [APP_NAME] não é compatível com as características do Canal de Voz desta região. Para que a Conversa por Voz funcione corretamente, você precisará atualizar o [APP_NAME].
- </notification>
- <notification label="Corretor da Propriedade" name="HelpEstateCovenant">
- Definir um corretor da propriedade lhe permite vender lotes nesta propriedade. Se um corretor não for definido, você não pode vender terras. O cartão do seu corretor pode ficar vazio se você não desejar aplicar quaisquer regras ou avisar os compradores sobre qualquer coisa em relação ao lote antes da compra.
-
-Um corretor pode ser usado para comunicar regras, orientações, informações culturais ou simplesmente suas expectativas quanto ao futuro comprador. Isto pode incluir zoneamento, regulamentos para construções, opções de pagamento ou qualquer outra informação que você julgar importante que o novo proprietário veja e concorde antes da compra.
-
-O comprador precisa concordar com o corretor marcando a caixa de verificação antes de concluir a compra. Corretores são sempre visíveis na caixa de diálogo &apos;Sobre a Terra&apos; para todos os lotes que têm corretores definidos.
+ Esta versão do [APP_NAME] não é compatível com o recurso &apos;Bate-papo de voz&apos; desta região. Para o bate-papo de voz funcionar, atualize o [APP_NAME].
</notification>
<notification label="Impossível Comprar Objetos" name="BuyObjectOneOwner">
Não é possível comprar objetos de diferentes proprietários ao mesmo tempo.
@@ -1956,53 +1685,36 @@ Por favor, re-insira sua senha e clique &apos;Confirmar Compra&apos;.
Estes itens serão movidos para o seu inventário, não copiados.
Mover os itens do inventário?
- <usetemplate ignoretext="Quando estiver movendo inventário não copiável a partir de objetos." name="okcancelignore" notext="Não mover" yestext="Mover"/>
+ <usetemplate ignoretext="Avisar antes de eu pegar items &apos;cópia proibida&apos; de um objeto" name="okcancelignore" notext="Não mover" yestext="Mover"/>
</notification>
<notification name="MoveInventoryFromScriptedObject">
Você selecionou itens de inventário não copiáveis.
Estes itens serão movidos para seu inventário, não copiados. Pelo fato de o objeto ter scripts, mover estes itens ao inventário pode provocar um mal funcionamento do script.
Mover para o inventário o(s) item(s)?
- <usetemplate ignoretext="Quando movendo objetos com scripts não copiáveis ao inventário" name="okcancelignore" notext="Não mover" yestext="Mover"/>
+ <usetemplate ignoretext="Avisar antes de eu pegar items &apos;cópia proibida&apos; que podem quebrar objetos com script" name="okcancelignore" notext="Não mover" yestext="Mover"/>
</notification>
<notification name="ClickActionNotPayable">
- Aviso: A ação de &apos;Pagar Objeto&apos; com clique foi definida, mas funcionará apenas se for adicionado um script com o evento money().
+ Aviso: O clique em &apos;Pagar por objeto&apos; foi processado, mas só pode funcionar se um script tiver um evento money().
<form name="form">
- <ignore name="ignore" text="Quando Definindo &apos;Pagar&apos; em objetos sem eventos money()"/>
+ <ignore name="ignore" text="Definir &apos;Pagar por objeto&apos; ao construir um objeto sem script money()"/>
</form>
</notification>
<notification name="OpenObjectCannotCopy">
Não há itens neste objeto que você está autorizado a copiar.
</notification>
<notification name="WebLaunchAccountHistory">
- Ir para o site do [SECOND_LIFE] para visualizar o histórico de sua conta?
- <usetemplate ignoretext="Ao abrir a página web de histórico de conta" name="okcancelignore" notext="Cancelar" yestext="Ir para a página"/>
- </notification>
- <notification name="ClickOpenF1Help">
- Visitar o website de Suporte do [SECOND_LIFE]?
- <usetemplate ignoretext="Quando visitando o website de Suporte do [SECOND_LIFE]" name="okcancelignore" notext="Cancelar" yestext="Ir"/>
+ Deseja abrir o [http://secondlife.com/account/ Painel] para ver o histórico da sua conta?
+ <usetemplate ignoretext="Abrir o navegador para acessar minha conta" name="okcancelignore" notext="Cancelar" yestext="Ir para a página"/>
</notification>
<notification name="ConfirmQuit">
Tem certeza que deseja sair?
- <usetemplate ignoretext="Quando Saindo do [APP_NAME]." name="okcancelignore" notext="Continuar" yestext="Sair"/>
+ <usetemplate ignoretext="Confirmar antes de sair" name="okcancelignore" notext="Não sair" yestext="Sair"/>
</notification>
<notification name="HelpReportAbuseEmailLL">
- Use esta ferramenta para reportar violações aos [http://secondlife.com/corporate/tos.php?lang=pt-BR Termos de Serviço] e aos [http://secondlife.com/corporate/cs.php?lang=pt-BR Padrões da Comunidade].
-
-Todos os abusos aos Termos de Serviço e aos Padrões da Comunidade reportados, são investigados e resolvidos. Você pode ver a resolução do incidente na Reportagem de Incidentes em:
-
-http://secondlife.com/support/incidentreport.php
- </notification>
- <notification name="HelpReportAbuseEmailEO">
- IMPORTANTE: Esta reportagem irá para o dono da região em que você se encontra atualmente e não para a Linden Lab.
+ Use esta ferramenta para denunciar infrações dos [http://secondlife.com/corporate/tos.php Termos do Serviço] e das [http://secondlife.com/corporate/cs.php Normas da Comunidade].
-Como um serviço aos residentes e visitantes, o dono da região em que você se encontra foi eleito para receber e resolver todas as reportagens originadas nesta região. A Linden Lab não irá investigar reportagens que você envia desta localidade.
-
-O dono da região resolverá as reportagens baseado nas regras locais desta região, como definido na Declaração da propriedade.
-(Veja as declarações indo ao menu Mundo e selecionando Sobre a Terra.)
-
-A resolução desta reportagem se aplica apenas a esta região; o acesso de Residentes às outras áreas do [SECOND_LIFE] não será afetado pelas decisões desta reportagem.
-Apenas a Linden Lab pode restringir acesso a todo o [SECOND_LIFE].
+Todas as denúncias de abuso são investigadas e resolvidas.
</notification>
<notification name="HelpReportAbuseSelectCategory">
Por favor, selecione uma categoria para a reportagem deste abuso.
@@ -2026,17 +1738,18 @@ Seja tão específico quanto você puder, incluindo nomes e os detalhes do incid
Fazer uma descrição precisa nos ajuda a arquivar e processar as reportagens de abuso.
</notification>
<notification name="HelpReportAbuseContainsCopyright">
- Caro Residente,
+ Caro residente,
+
+Aparentemente você fez uma denúncia de infranção de propriedade intelectual. Certifique-se de que sua denúncia está correta:
-Você parece estar relatando violação de propriedade intelectual. Por favor, certifique-se de que está relatando corretamente:
+(1) Procedimento do abuso Se você tem motivos para acreditar que um residente está burlando o sistema de autorização do [SECOND_LIFE] usando o CopyBot ou ferramentas parecidas para infringir direitos de propriedade intelectual, envie um relatório de abuso. A equipe anti-abuso investiga e impõe sanções em casos de infranção dos [SECOND_LIFE] [http://secondlife.com/corporate/tos.php Termos de Serviço] ou das [http://secondlife.com/corporate/cs.php Normas da Comunidade]. Entretando, a equipe anti-abuso não lida com pedidos de remoção de conteúdo do [SECOND_LIFE]. Tais pedidos não serão atendidos.
-(1) O Processo de abuso. Você pode apresentar um relatório de abuso se você acredita que um Residente está infringindo o sistema de permissões do [SECOND_LIFE], por exemplo, utilizando ferramentas CopyBot para copiar ou similar, para violar os direitos de propriedade intelectual. A Equipe de Abuso investiga e divulga a ação disciplinar adequada para o comportamento que viola o Estatuto da Comunidade do [SECOND_LIFE] ou os Termos de Serviço. No entanto, a mesma não controla e não irá responder aos pedidos para remover o conteúdo do mundo [SECOND_LIFE].
+(2) Procedimentos DMCA ou remoção de conteúdo. Para solicitar a remoção de conteúdo do [SECOND_LIFE], é imprescindível enviar uma notificação de infração elaborada conforme as disposicões da [http://secondlife.com/corporate/dmca.php Política DMCA].
-(2) O processo de remoção de conteúdo ou DMCA. Para solicitar a remoção de conteúdo do [SECOND_LIFE], você deve enviar uma notificação válida de infração, conforme previsto em nossa Política de DMCA em http://secondlife.com/corporate/dmca.php.
+Se você deseja continuar o procedimento de denúncia de abuso, feche esta janela e termine o relatório. A categoria &apos;CopyBot or Permissions Exploit&apos; (robô de cópia ou exploit de autorização)
-Se você ainda deseja prosseguir com o processo de abuso, por favor, feche esta janela e termine de enviar seu relatório. Pode ser necessário selecionar a categoria específica &apos;CopyBot Infração de Permissões&apos;.
+Obrigado.
-Obrigado,
Linden Lab
</notification>
<notification name="FailedRequirementsCheck">
@@ -2047,9 +1760,9 @@ Linden Lab
Já existe um objeto anexado a este ponto do seu corpo.
Você deseja substituí-lo pelo objeto selecionado?
<form name="form">
- <ignore name="ignore" save_option="true" text="Ao substituir os anexos existentes"/>
- <button name="Yes" text="Sim"/>
- <button name="No" text="Não"/>
+ <ignore name="ignore" save_option="true" text="Trocar um anexo atual pelo item selecionado"/>
+ <button ignore="Replace Automatically" name="Yes" text="Sim"/>
+ <button ignore="Never Replace" name="No" text="Não"/>
</form>
</notification>
<notification label="Aviso de Modo Ocupado" name="BusyModePay">
@@ -2057,18 +1770,22 @@ Você deseja substituí-lo pelo objeto selecionado?
Você gostaria de deixar o modo Ocupado antes de completar esta transação?
<form name="form">
- <ignore name="ignore" save_option="true" text="Ao pagar uma pessoa ou objeto no modo ocupado"/>
- <button name="Yes" text="Sim"/>
- <button name="No" text="Não"/>
+ <ignore name="ignore" save_option="true" text="Estou prestes a pagar alguém ou um objeto no modo ocupado"/>
+ <button ignore="Always leave Busy Mode" name="Yes" text="Sim"/>
+ <button ignore="Never leave Busy Mode" name="No" text="Não"/>
</form>
</notification>
+ <notification name="ConfirmDeleteProtectedCategory">
+ A pasta &apos;[FOLDERNAME]&apos; é uma pasta do sistema. Excluir pastas de sistema pode deixar o sistema instável. Tem certeza de que quer prosseguir?
+ <usetemplate ignoretext="Confirmar antes de excluir pastas do sistema." name="okcancelignore" notext="Cancelar" yestext="OK"/>
+ </notification>
<notification name="ConfirmEmptyTrash">
- Tem certeza de que deseja remover permanentemente o conteúdo da lixeira de seu inventário?
- <usetemplate ignoretext="Ao esvaziar a pasta da lixeira no seu inventário" name="okcancelignore" notext="Não" yestext="Sim"/>
+ Tem certeza de que deseja excluir o conteúdo da Lixeira? Para sempre?
+ <usetemplate ignoretext="Confirmar antes de esvaziar a pasta Lixeira" name="okcancelignore" notext="Não" yestext="Sim"/>
</notification>
<notification name="ConfirmClearBrowserCache">
- Você tem certeza que deseja limpar o cache do seu navegador?
- <usetemplate name="okcancelbuttons" notext="Não" yestext="Sim"/>
+ Tem certeza de que quer apagar todo o histórico de viagens, web e buscas?
+ <usetemplate name="okcancelbuttons" notext="Não" yestext="OK"/>
</notification>
<notification name="ConfirmClearCookies">
Você tem certeza de que deseja limpar os cookies?
@@ -2079,39 +1796,18 @@ Você gostaria de deixar o modo Ocupado antes de completar esta transação?
<usetemplate name="okcancelbuttons" notext="Cancelar" yestext="Sim"/>
</notification>
<notification name="ConfirmEmptyLostAndFound">
- Deseja realmente remover permanentemente o conteúdo da pasta achados e perdidos?
- <usetemplate ignoretext="Ao esvaziar pasta Achados e Perdidos do seu inventário" name="okcancelignore" notext="Não" yestext="Sim"/>
+ Tem certeza de que deseja excluir o conteúdo dos Achados e Perdidos? Para sempre?
+ <usetemplate ignoretext="Confirmar antes de esvaziar a pasta Achados e Perdidos" name="okcancelignore" notext="Não" yestext="Sim"/>
</notification>
<notification name="CopySLURL">
- A seguinte SLurl foi copiada para o seu clipboard:
+ O seguinte SLurl foi copiado para a área de transferência:
[SLURL]
-Coloque-a em uma página web para dar aos outros um fácil acesso a este local ou tente você, colando-a na barra de endereços do seu navegador.
+Inclua um link para facilitar o acesso para visitantes. Teste o link na barra de endereço de qualquer navegador da web.
<form name="form">
- <ignore name="ignore" text="Ao copiar a SURL para o seu clipboard"/>
+ <ignore name="ignore" text="SLurl copiado para área de transferência."/>
</form>
</notification>
- <notification name="GraphicsPreferencesHelp">
- Este painel controla o tamanho da janela, resolução e a qualidade dos gráficos do computador cliente. O Preferências &gt; Interface Gráfica permite escolher entre quatro níveis gráficos: Baixo, Médio, Alto e Ultra. Você também pode personalizar suas configurações de gráficos selecionando a opção Personalizar e manipulando as seguintes definições:
-
-Sombreamento: Ativar ou desativar vários tipos de sombreadores de pixel.
-
-Detalhes de Reflexão: Define os tipos de objetos que a água pode refletir.
-
-Renderização de Avatar: Define opções que afetam a forma como o cliente renderizará os avatares.
-
-Alcance: Afeta a distância do seu ponto de vista que os objetos serão renderizados na cena.
-
-Número máximo de partículas: Define o número máximo de partículas que será capaz de ver na sua tela de uma só vez.
-
-Qualidade de Pós-Processamento: Define a resolução com a qual o brilho será renderizado.
-
-Detalhes de malha: Ajusta a quantidade de detalhes ou número de triângulos utilizados na renderização de certos objetos. Um valor mais alto leva mais tempo para renderizar, mas torna esses objetos mais detalhados.
-
-Detalhe de Iluminação: Seleciona os tipos de luzes que você gostaria de renderizar.
-
-Detalhe de Terreno: Ajusta a quantidade de detalhes que você gostaria de ver para a textura do terreno.
- </notification>
<notification name="WLSavePresetAlert">
Você deseja substituir a pré-configuração salva?
<usetemplate name="okcancelbuttons" notext="Não" yestext="Sim"/>
@@ -2130,149 +1826,6 @@ Detalhe de Terreno: Ajusta a quantidade de detalhes que você gostaria de ver pa
Existe efeito de Pós-Processamento. Você deseja substituí-lo?
<usetemplate name="okcancelbuttons" notext="Não" yestext="Sim"/>
</notification>
- <notification name="HelpEditSky">
- Editar os controles graduais do WindLight para configurar e salvar um conjunto de céus.
- </notification>
- <notification name="HelpEditDayCycle">
- Definir quais céus colocar durante todo o dia.
- </notification>
- <notification name="EnvSettingsHelpButton">
- Essas configurações ajustam a forma como o ambiente parece localmente no seu computador. Sua placa de vídeo precisa suportar o sombreador atmosférico, a fim de ter acesso a todas as definições.
-
-Ajuste o controle gradual &quot;Hora do Dia&quot; para alterar a fase do dia localmente no visualizador.
-
-Ajuste o controle gradual de &quot;Cobertura das nuvens&quot; para controlar quantas nuvens cobrem o céu.
-
-Pegue uma cor na paleta de cores de &quot;Cor da Água&quot; para mudar a cor desta.
-
-Ajuste o controle gradual de &quot;Névoa de Água&quot; para controlar o quão densa é a névoa dentro da água.
-
-Clique &quot;Usar Horário da Propriedade&quot; para redefinir a hora do dia para o horário atual do dia da região e permanecer atrelado a ela.
-
-Clique &quot;Céu Avançado &quot; para abrir um editor com configurações mais avançadas para o céu.
-
-Clique &quot;Água Avançada &quot; para abrir um editor com configurações mais avançadas para a água.
- </notification>
- <notification name="HelpDayCycle">
- O editor de Ciclo do Dia dá a você o controle do céu durante um ciclo de dia/noite do [SECOND_LIFE]. Este é o ciclo usado pelo controle gradual da hora do dia do editor de ambiente básico.
-
-O editor do ciclo de dia trabalha configurando quadros-chave. Estes são pontos (representados pelos ícones cinza no gráfico de horário) que possuem um pré-ajuste de céu associado a eles. Conforme o dia passa, o céu do Windlight &quot; anima &quot; a interpolação entre esses quadros-chave.
-
-A seta amarela acima da linha de tempo representa a sua vista atual, baseada no horário do dia. Clique e arraste para ver como o seu dia será animado. Você pode adicionar ou deletar os quadros-chave pressionando os botões Adicionar Chave e Deletar chave ao lado direito da linha de tempo.
-
-Você pode configurar a posição do tempo de um quadro-chave arrastando-o pela linha do tempo, ou configurando manualmente no quadro de configurações do seu quadro-chave. Será possível a você associar o seu quadro-chave a este respectivo padrão WindLight.
-
-A duração do ciclo determina a duração geral do &quot;dia&quot;. Configurá-la para um valor baixo (por exmplo, 2 min.) quer dizer que a linha do tempo de 24 horas será animada completamente em apenas dois minutos reais! Assim que estiver satisfeito com a linha do tempo e o ciclo dos quadros-chave, use os botões Play e Stop para uma prévia de como ficará o resultado. Lembre-se, você também pode utilizar a seta amarela indicadora do tempo acima da linha do tempo para ver o ciclo animado interativamente. Usando o botão do tempo da popriedade irá sincronizar a duração do seu dia ao ciclo diário da propriedade.
-
-Assim que estiver satisfeito com o seu ciclo diário, você pode salvá-lo ou carregá-lo através dos botões Salvar Dia Teste e Carregar Dia Teste. Note que, por enquanto, nós permitimos apenas um Ciclo de dia.
- </notification>
- <notification name="HelpBlueHorizon">
- Use os cursores Vermelho/Verde/Azul ( Red/Green/Blue -RGB) para ajustar as cores do céu. Você também pode usar o controle de Intensidade (I) para mover os três controles RGB simultaneamente.
- </notification>
- <notification name="HelpHazeHorizon">
- Haze Horizon é um dos parâmetros mais úteis para ajuste global de exposição de luz na cena. Ele é eficaz para simular diversas configurações de exposição, tais como configurações para super-exposição do sol e escuros halos de Iris.
- </notification>
- <notification name="HelpBlueDensity">
- A densidade global azul afeta a saturação da cor do céu e nevoeiro. Se você mover o controle gradual de intensidade (I) para a direita, as cores vão se tornar mais brilhantes e vibrantes. Se você movê-lo totalmente para a esquerda, as cores perdem intensidade e cor, eventualmente chegando a preto e branco. Se pretende um ajuste fino do equilíbrio de cor do céu, você pode controlar os diversos elementos da saturação, utilizando os controles graduais para vermelho / verde / azul (RGB).
- </notification>
- <notification name="HelpHazeDensity">
- Densidade de Poeira controla o nível de fumaça, poeira cinza na atmosfera. Eficaz para simular cenas com altos níveis de poeira e poluentes. É também efetivo em simular névoa e nevoeiro.
- </notification>
- <notification name="HelpDensityMult">
- O Multiplicador de Densidade pode ser usado para afetar a densidade atmosférica global. Com definições mais baixas, ele cria uma sensação de &quot;ar rarefeito&quot; e em definições mais altas, ele cria um efeito mais denso, mais esfumaçado.
- </notification>
- <notification name="HelpDistanceMult">
- Ajusta como a distância no WindLight é percebida. Um valor zero efetivamente desativa a influência do WindLight sobre terrenos e objetos. Valores superiores a 1 simulam os efeitos atmosféricos mais espessos a maiores distâncias.
- </notification>
- <notification name="HelpMaxAltitude">
- Max Altitude ajusta os cálculos de performance de altitude do WindLight, quando computa sua iluminação atmosférica. Em períodos vespertinos do dia, é útil para ajustar a &quot;profundidade&quot; de como o pôr-do-sol aparece.
- </notification>
- <notification name="HelpSunlightColor">
- Ajustar a cor e intensidade da luz direta na cena.
- </notification>
- <notification name="HelpSunAmbient">
- Ajusta a cor e a intensidade da luz ambiente atmosférica na cena.
- </notification>
- <notification name="HelpSunGlow">
- O controle gradual de Tamanho controla o tamanho do sol.
-O controle gradual de Foco controla o quanto o sol aparecerá desfocado no céu.
- </notification>
- <notification name="HelpSceneGamma">
- Ajusta a distribuição na tela de luz e escuridão.
- </notification>
- <notification name="HelpStarBrightness">
- Ajusta o brilho das estrelas no céu.
- </notification>
- <notification name="HelpTimeOfDay">
- Controla a localização do sol no céu. Semelhante a elevação.
- </notification>
- <notification name="HelpEastAngle">
- Controla a localização do sol no céu.
-Similar ao azimute.
- </notification>
- <notification name="HelpCloudColor">
- Edita as cores das nuvens, É normalmente recomendado manter o tom esbranquiçado, mas hey! Você pode se divertir se desejar.
- </notification>
- <notification name="HelpCloudDetail">
- Controla os detalhes da camada de imagem superior na imagem de nuvem principal. X e Y controla sua posição. D (Densidade) controla o quão cheio ou estratificada as nuvens devem aparecer.
- </notification>
- <notification name="HelpCloudDensity">
- Permite que você controle a posição das nuvens com os cursores X e Y e a densidade deles com o cursor D.
- </notification>
- <notification name="HelpCloudCoverage">
- Controla o quanto as nuvens cobrem o céu.
- </notification>
- <notification name="HelpCloudScale">
- Controla o dimensionamento da imagem de nuvens na cúpula celeste.
- </notification>
- <notification name="HelpCloudScrollX">
- Controla a velocidade das nuvens que se movem na direção X.
- </notification>
- <notification name="HelpCloudScrollY">
- Controla a velocidade que as núvens se movem na direção Y.
- </notification>
- <notification name="HelpClassicClouds">
- Marque esta check box para permitir a reprodução das nuvens clássicas mais velhas do [SECOND_LIFE], além das nuvens WindLight.
- </notification>
- <notification name="HelpWaterFogColor">
- Escolhe a cor da neblina subaquática.
- </notification>
- <notification name="HelpWaterFogDensity">
- Controla a densidade da neblina da água e a distância de visibilidade debaixo d&apos;água.
- </notification>
- <notification name="HelpUnderWaterFogMod">
- Modifica o efeito do expoente de densidade de Neblina para controlar até onde você pode ver quando o seu avatar está imerso.
- </notification>
- <notification name="HelpWaterGlow">
- Controla o quanto a superfície da água deve brilhar.
- </notification>
- <notification name="HelpWaterNormalScale">
- Controla o escalonamento das três marolas que compõem a água.
- </notification>
- <notification name="HelpWaterFresnelScale">
- Controla o quanto de luz será refletido por ângulos diferentes.
- </notification>
- <notification name="HelpWaterFresnelOffset">
- Controla o quanto da intensidade da luz é refletida.
- </notification>
- <notification name="HelpWaterScaleAbove">
- Controla o quanto de luz será refratado olhando acima da superfície da água.
- </notification>
- <notification name="HelpWaterScaleBelow">
- Controla o quanto de luz sera refratado visto debaixo da superfície da água.
- </notification>
- <notification name="HelpWaterBlurMultiplier">
- Controla como ondas e reflexos são misturados.
- </notification>
- <notification name="HelpWaterNormalMap">
- Controla o mapeamento normal em todos os níveis da água para determinar reflexões / refrações.
- </notification>
- <notification name="HelpWaterWave1">
- Controla aonde e com que velocidade a versão em escala maior do mapa normal se move nas direções X e Y .
- </notification>
- <notification name="HelpWaterWave2">
- Controla onde e a velocidade com que o mapa normal em escala menor se move nas direções X e Y.
- </notification>
<notification name="NewSkyPreset">
Me dê o nome para o novo céu.
<form name="form">
@@ -2318,35 +1871,33 @@ Similar ao azimute.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="Cannot_Purchase_an_Attachment">
- Os itens não podem ser comprados enquanto forem parte de um anexo.
+ Objetos não podem ser adquiridos quando estão anexados.
</notification>
<notification label="Sobre o pedido de Permissão de Débito" name="DebitPermissionDetails">
Conceder esse pedido dá permissão ao script para tirar Linden dólares (L$) de sua conta. Para revogar esta permissão, o proprietário do objeto deve excluir o objeto ou resetar os scripts dele.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="AutoWearNewClothing">
- Você gostaria de vestir automaticamente o item de vestuário que você criar?
- <usetemplate ignoretext="Automaticamente vestir novo vestuário" name="okcancelignore" notext="Não" yestext="Sim"/>
+ Vestir automaticamente a roupa que você vai criar?
+ <usetemplate ignoretext="Vestir as roupas que eu criar enquanto edito minha aparência" name="okcancelignore" notext="Não" yestext="Sim"/>
</notification>
<notification name="NotAgeVerified">
- Você precisa ter a idade verificada para acessar este lote.
-Gostaria de visitar o site do [SECOND_LIFE] para verificação de idade?
+ Área restrita a residentes com idade comprovada. Deseja ir ao site do [SECOND_LIFE] para comprovar sua idade?
[_URL]
<url name="url" option="0">
https://secondlife.com/account/verification.php?lang=pt
</url>
- <usetemplate ignoretext="Alertar sobre a falta de verificação de idade" name="okcancelignore" notext="Não" yestext="Sim"/>
+ <usetemplate ignoretext="Ainda não comprovei minha idade" name="okcancelignore" notext="Não" yestext="Sim"/>
</notification>
<notification name="Cannot enter parcel: no payment info on file">
- Este lote exige que você tenha informações de pagamento no arquivo antes de poder acessá-lo.
-Gostaria de visitar o site do [SECOND_LIFE] para configurá-lo?
+ Área restrita a residentes que já cadastraram seus dados de pagamento Deseja ir ao site do [SECOND_LIFE] para cuidar disso?
[_URL]
<url name="url" option="0">
https://secondlife.com/account/index.php?lang=pt
</url>
- <usetemplate ignoretext="Avisar sobre a falta de informação de pagamento." name="okcancelignore" notext="Não" yestext="Sim"/>
+ <usetemplate ignoretext="Ainda não tenho cadastro de pagamento" name="okcancelignore" notext="Não" yestext="Sim"/>
</notification>
<notification name="MissingString">
A sequência [STRING_NAME] está faltando do strings.xml
@@ -2376,7 +1927,7 @@ Gostaria de visitar o site do [SECOND_LIFE] para configurá-lo?
[FIRST] [LAST] está Offline
</notification>
<notification name="AddSelfFriend">
- Você não pode adicionar a si mesmo como amigo
+ Você é o máximo! Mesmo assim, não dá para adicionar a si mesmo(a) como amigo(a).
</notification>
<notification name="UploadingAuctionSnapshot">
Fazendo o upload das fotos do site da web e do mundo...
@@ -2395,11 +1946,10 @@ Gostaria de visitar o site do [SECOND_LIFE] para configurá-lo?
Feito o download de Terrain.raw
</notification>
<notification name="GestureMissing">
- O Gesto [NAME] não se encontra na base de dados
+ O gesto [NAME] não está no banco de dados.
</notification>
<notification name="UnableToLoadGesture">
- Impossível de carregar o gesto [NAME].
-Por favor, tente novamente.
+ Falhar ao carregar o gesto [NAME].
</notification>
<notification name="LandmarkMissing">
O landmark foi perdido na base de dados
@@ -2408,14 +1958,14 @@ Por favor, tente novamente.
Impossível carregar o landmark. Por favor, tente de novo.
</notification>
<notification name="CapsKeyOn">
- Seu botão CAPS LOCK está ativado.
-Como isto afeta a senha digitada, você provavelmente desejará desativá-lo.
+ A tecla Maiúsc. está ligada.
+Ela pode afetar a digitação da senha.
</notification>
<notification name="NotecardMissing">
Notecard foi perdido no banco de dados.
</notification>
<notification name="NotecardNoPermissions">
- Permissões insuficientes para visualizar o notecard
+ Você não está autorizado a ler esta nota.
</notification>
<notification name="RezItemNoPermissions">
Sem permissões suficientes para criar objetos.
@@ -2453,11 +2003,11 @@ Por favor, tente novamente.
Por favor, tente novamente.
</notification>
<notification name="CannotBuyObjectsFromDifferentOwners">
- Impossível comprar objetos de diferentes compradores ao mesmo tempo.
-Por favor, compre apenas um objeto.
+ Só dá para comprar objetos de um dono por vez.
+Selecione só um objeto.
</notification>
<notification name="ObjectNotForSale">
- Este objeto não está a venda.
+ Este objeto não está à venda.
</notification>
<notification name="EnteringGodMode">
Entrando em god mode, nível [LEVEL]
@@ -2466,10 +2016,10 @@ Por favor, compre apenas um objeto.
Saindo do god mode, nível [LEVEL]
</notification>
<notification name="CopyFailed">
- A cópia falhou porque você não tem permissão para copiar.
+ Você não está autorizado a copiar isso.
</notification>
<notification name="InventoryAccepted">
- [NAME] aceitou sua oferta de inventário.
+ [NAME] recebeu sua oferta de inventário.
</notification>
<notification name="InventoryDeclined">
[NAME] rejeitou sua oferta de inventário.
@@ -2484,12 +2034,14 @@ Por favor, compre apenas um objeto.
Seu cartão de visita foi negado.
</notification>
<notification name="TeleportToLandmark">
- Agora que você chegou à mainland, você pode se teletransportar para locais como &apos;[NAME]&apos; clicando no botão de Inventário, no canto direito inferior de sua tela, e selecionando a pasta Landmarks.
-Dê um duplo-clique na landmark e clique Teletransportar para viajar para o local desejado.
+ 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;.)
</notification>
<notification name="TeleportToPerson">
- Agora que você chegou à mainland, você pode contatar residentes como &apos;[NAME]&apos; clicando no botão de Inventário, canto direito inferior de sua tela, e selecionando a pasta Cartões de Visita.
-Dê um duplo-clique num cartão de visita e em Mensagem Instantânea, digite sua mensagem.
+ 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;.)
</notification>
<notification name="CantSelectLandFromMultipleRegions">
Impossível selecionar terra nas fronteiras do servidor. Tente selecionar um pedaço menor de terra.
@@ -2511,6 +2063,9 @@ Dê um duplo-clique num cartão de visita e em Mensagem Instantânea, digite sua
<notification name="SystemMessage">
[MESSAGE]
</notification>
+ <notification name="PaymentRecived">
+ [MESSAGE]
+ </notification>
<notification name="EventNotification">
Notificação de evento:
@@ -2533,8 +2088,20 @@ Dê um duplo-clique num cartão de visita e em Mensagem Instantânea, digite sua
[NAMES]
</notification>
<notification name="NoQuickTime">
- O software QuickTime da Apple parece não estar instalado em seu sistema.
-Se você deseja ver fluxo de mídia em terrenos que aceitem isso, você deverá ir ao site do QickTime (http://www.apple.com/quicktime) e instalar o player do QuickTime.
+ Aparentemente o QuickTime da Apple ainda não foi instalado no seu computador.
+Para ver mídia em stream nas regiões que oferecem esse formato, vá ao [http://www.apple.com/quicktime site do QuickTime] e instale o QuickTime Player.
+ </notification>
+ <notification name="NoPlugin">
+ Nenhum plugin de mídia detectado para lidar com o tipo de mime &quot;[MIME_TYPE]&quot;. Este tipo de mídia não poderão ser acessados.
+ </notification>
+ <notification name="MediaPluginFailed">
+ Falha no plugin de mídia abaixo:
+ [PLUGIN]
+
+Instale o plugin novamente ou contate o fabricante se o problema persistir.
+ <form name="form">
+ <ignore name="ignore" text="Falha do plugin de mídia"/>
+ </form>
</notification>
<notification name="OwnedObjectsReturned">
Os objetos que lhe pertencem no lote selecionado do terreno, voltaram ao seu inventário.
@@ -2543,7 +2110,7 @@ Se você deseja ver fluxo de mídia em terrenos que aceitem isso, você deverá
Os objetos no lote selecionado de terra que pertence a [FIRST] [LAST], voltaram ao seu inventário.
</notification>
<notification name="OtherObjectsReturned2">
- Os objetos no lote de terra selecionado que pertence ao residente &apos;[NAME]&apos;, voltaram aos seus donos.
+ Os objetos no lote selecionado, do residente [NAME], foram devolidos ao proprietãrio.
</notification>
<notification name="GroupObjectsReturned">
Os objetos no lote selecionado de terreno compartilhado pelo grupo [GROUPNAME], voltaram para os inventários de seus donos.
@@ -2553,23 +2120,26 @@ Objetos não transferíveis dados ao grupo foram deletados.
<notification name="UnOwnedObjectsReturned">
Os objetos no lote selecionado que NÃO são seus, voltaram aos seus donos.
</notification>
+ <notification name="ServerObjectMessage">
+ Mensagem de [NAME]:
+&lt;nolink&gt;[MSG]&lt;/nolink&gt;
+ </notification>
<notification name="NotSafe">
- Esta terra permite que você sofra ataques.
-Você pode ser ferido aqui. Se você morrer, você será teletransportado à sua posição inicial.
+ A opção &apos;danos&apos; desta região está ativada.
+Você pode se dar mal aqui. Se você morre, você será teletransportado de volta para casa.
</notification>
<notification name="NoFly">
- Este terreno tem a opção Voar desabilitada.
-Ou seja, você não pode voar aqui.
+ Esta área desativou a opção de voar.
+Logo, não é possível voar aqui.
</notification>
<notification name="PushRestricted">
- Esta terra é “Não empurre”.
-Você não pode empurrar os outros, a não ser que seja o proprietário da terra.
+ Esta área não tolera empurrões. Não é possível empurrar os outros aqui, a não ser que você seja o proprietário.
</notification>
<notification name="NoVoice">
- O uso de voz está desabilitado nesta terra.
+ Esta área desativou o bate-papo de voz. Você não vai ouvir ninguém falar.
</notification>
<notification name="NoBuild">
- Este terreno tem a opção de construir desabilitada, ou seja, você não pode criar objetos aqui.
+ Esta área desativou a opção de construir. Não é possível construir ou fazer rez de objetos nesta área.
</notification>
<notification name="ScriptsStopped">
Um administrador não permitiu scripts temporariamente nesta região.
@@ -2578,10 +2148,12 @@ Você não pode empurrar os outros, a não ser que seja o proprietário da terra
Esta região não roda nenhum script.
</notification>
<notification name="NoOutsideScripts">
- Neste terreno, nenhum script funcionará, a não ser os scripts do próprio dono da terra.
+ Esta região não permite scripts de fora.
+
+Os únicos scripts que funcionam são os do proprietário do terreno.
</notification>
<notification name="ClaimPublicLand">
- Pode apenas reclamar terreno público na região em que você está.
+ Você só pode reivindicar terrenos públicos na região onde você está.
</notification>
<notification name="RegionTPAccessBlocked">
Você não é permitido na Região devido à sua Classificação de maturidade. Você precisa validar sua idade e/ou instalar o último Visualizador.
@@ -2594,16 +2166,9 @@ Por favor, vá ao Banco de Conhecimento para detalhes sobre o acesso de áreas c
<notification name="NoTeenGridAccess">
Sua conta não pode conectar a esta região da grade teen.
</notification>
- <notification name="NoHelpIslandTP">
- Você não pode se tele-transportar de volta à Ilha de Ajuda.
-Vá para a Ilha de Ajuda Pública para repetir este tutorial.
- </notification>
<notification name="ImproperPaymentStatus">
Você não tem o status de pagamento adequado para entrar nesta região.
</notification>
- <notification name="MustGetAgeRegion">
- Você precisa ter sua idade verificada para entrar nesta região.
- </notification>
<notification name="MustGetAgeParcel">
Você precisa ter a idade verificada para entrar neste lote.
</notification>
@@ -2666,31 +2231,35 @@ Por favor, tente novamente em alguns instantes.
Nenhum lote válido foi encontrado.
</notification>
<notification name="ObjectGiveItem">
- Um objeto nomeado [OBJECTFROMNAME] do dono [FIRST] [LAST] deu a você [OBJECTTYPE] nomeado &apos;[OBJECTNAME]&apos;.
+ Um objeto chamado [OBJECTFROMNAME] de [NAME_SLURL] lhe deu [OBJECTTYPE]:
+[ITEM_SLURL]
<form name="form">
<button name="Keep" text="Segure"/>
<button name="Discard" text="Descarte"/>
- <button name="Mute" text="Mudo"/>
+ <button name="Mute" text="Bloquear"/>
</form>
</notification>
<notification name="ObjectGiveItemUnknownUser">
- Um objeto nomeado [OBJECTFROMNAME], de dono desconhecido, deu a você um [OBJECTTYPE] nomeado [OBJECTNAME].
+ Um objeto chamado [OBJECTFROMNAME] de (residente desconhecido) lhe deu [OBJECTTYPE]:
+[ITEM_SLURL]
<form name="form">
<button name="Keep" text="Segure"/>
<button name="Discard" text="Descarte"/>
- <button name="Mute" text="Mudo"/>
+ <button name="Mute" text="Bloquear"/>
</form>
</notification>
<notification name="UserGiveItem">
- [NAME]deu a voce um [OBJECTTYPE] nomeado &apos;[OBJECTNAME]&apos;.
+ [NAME_SLURL] lhe deu [OBJECTTYPE]:
+[ITEM_SLURL]
<form name="form">
- <button name="Keep" text="Mantenha"/>
+ <button name="Show" text="Mostrar"/>
<button name="Discard" text="Descarte"/>
- <button name="Mute" text="Mudo"/>
+ <button name="Mute" text="Bloquear"/>
</form>
</notification>
<notification name="GodMessage">
[NAME]
+
[MESSAGE]
</notification>
<notification name="JoinGroup">
@@ -2702,7 +2271,7 @@ Por favor, tente novamente em alguns instantes.
</form>
</notification>
<notification name="TeleportOffered">
- [NAME] ofereceu um teletransporte para seu local:
+ [NAME] quer te teletransportar para a região deles:
[MESSAGE]
<form name="form">
@@ -2710,6 +2279,9 @@ Por favor, tente novamente em alguns instantes.
<button name="Cancel" text="Cancelar"/>
</form>
</notification>
+ <notification name="TeleportOfferSent">
+ Oferta de teletransporte enviada para [TO_NAME]
+ </notification>
<notification name="GotoURL">
[MESSAGE]
[URL]
@@ -2729,6 +2301,9 @@ Por favor, tente novamente em alguns instantes.
<button name="Decline" text="Recusar"/>
</form>
</notification>
+ <notification name="FriendshipOffered">
+ Você convidou [TO_NAME] para ser seu amigo(a)
+ </notification>
<notification name="OfferFriendshipNoMessage">
[NAME] está lhe oferecendo sua amizade.
@@ -2744,21 +2319,27 @@ Por favor, tente novamente em alguns instantes.
<notification name="FriendshipDeclined">
[NAME] recusou seu convite de amizade
</notification>
+ <notification name="FriendshipAcceptedByMe">
+ Oferta de amizada aceita.
+ </notification>
+ <notification name="FriendshipDeclinedByMe">
+ Oferta de amizada aceita.
+ </notification>
<notification name="OfferCallingCard">
- [FIRST] [LAST] está oferecendo seu cartão de visita.
-Isto adicionará uma anotação em seu inventário, de modo que você possa mandar rapidamente uma IM para este residente.
+ [FIRST] [LAST] estão te oferecendo um cartão de visita.
+Ele colocará um item de inventário, para você possa contatá-lo facilmente.
<form name="form">
<button name="Accept" text="Aceitar"/>
<button name="Decline" text="Recusar"/>
</form>
</notification>
<notification name="RegionRestartMinutes">
- A região será reiniciada em [MINUTES] minutos.
-Se permanecer nesta região, você será desconectado.
+ Esta região será reiniciada em [MINUTES] minutos.
+Se permanecer aqui, você será desconectado.
</notification>
<notification name="RegionRestartSeconds">
- Região será reiniciada em [SECONDS] segundos.
-Se permanecer nesta região, você será desconectado.
+ Esta região será reiniciada em [SECONDS] segundos.
+Se permanecer aqui, você será desconectado.
</notification>
<notification name="LoadWebPage">
Carregar página da web [URL]?
@@ -2778,7 +2359,7 @@ Do objeto: [OBJECTNAME], dono: [NAME]?
Falhou ao procurar [TYPE] nomeado [DESC] no banco de dados.
</notification>
<notification name="InvalidWearable">
- O item que você está tentando vestir usa uma característica que seu Visualizador não lê. Por favor, atualize sua versão do [APP_NAME] para vestir este item.
+ O item que você está tentando usar tem um recurso que seu Visualizador não consegue ler. Atualize o [APP_NAME] para poder vestir esse item.
</notification>
<notification name="ScriptQuestion">
&apos;[OBJECTNAME]&apos;, um objeto pertencente a &apos;[NAME]&apos;, gostaria de:
@@ -2788,16 +2369,16 @@ Está OK?
<form name="form">
<button name="Yes" text="Sim"/>
<button name="No" text="Não"/>
- <button name="Mute" text="Mudo"/>
+ <button name="Mute" text="Bloquear"/>
</form>
</notification>
<notification name="ScriptQuestionCaution">
- &apos;[OBJECTNAME]&apos;, um objeto de &apos;[NAME]&apos;, gostaria de:
+ Um objeto chamado &apos;[OBJECTNAME]&apos;, de &apos;[NAME]&apos; gostaria de:
[QUESTIONS]
-Se você não confia neste objeto ou em seu criador, você deveria negar o pedido. Para informações adicionais clique no botão Detalhes.
+Se você não confia nos objetos deste autor, recuse-o.
-Autorizar este pedido?
+Deixar?
<form name="form">
<button name="Grant" text="Autorizar"/>
<button name="Deny" text="Negar"/>
@@ -2818,39 +2399,20 @@ Autorizar este pedido?
<button name="Ignore" text="Ignorar"/>
</form>
</notification>
- <notification name="FirstBalanceIncrease">
- Você recebeu uma quantia de L$[AMOUNT].
-Objetos e outros usuários podem dar L$ a você.
-Seu saldo é mostrado no canto superior direito da tela.
- </notification>
- <notification name="FirstBalanceDecrease">
- Você pagou L$[AMOUNT].
-O seu balanço de dinheiro está sendo mostrado no canto superior direito da tela.
- </notification>
- <notification name="FirstSit">
- Você está sentado.
-Use as setas (ou AWSD) para mudar a visão.
-Clique em &apos;Levantar&apos; para levantar.
- </notification>
- <notification name="FirstMap">
- Clique e arraste para movimentar o mapa.
-Dê um duplo clique para teletransportar-se.
-Use os controles à direita para achar coisas e mostrar fundos diferentes.
- </notification>
- <notification name="FirstBuild">
- Você pode construir novos objetos em algumas áreas do [SECOND_LIFE].
-Use as ferramentas acima, à esquerda para construir e tente manter apertadas as teclas Ctrl ou Alt para mudar rapidamente as ferramentas.
-Aperte ESC para parar de construir.
- </notification>
- <notification name="FirstLeftClickNoHit">
- Clicando com esquerdo, você interage com os objetos especiais.
-Se o ponteiro do mouse mudar a uma mão, você pode interagir com o objeto.
-Clique com o direito que será mostrado sempre um menu das ações que você pode fazer.
+ <notification name="ScriptToast">
+ [FIRST] [LAST], &apos;[TITLE]&apos; está pedindo dados de usuário.
+ <form name="form">
+ <button name="Open" text="Abrir diálogo"/>
+ <button name="Ignore" text="Ignorar"/>
+ <button name="Block" text="Bloquear"/>
+ </form>
</notification>
- <notification name="FirstTeleport">
- Esta região não permite teletransporte ponto-a-ponto. Assim, você foi teletransportado para o telehub mais próximo.
-Seu destino está assinalado com um farol alto.
-Siga a flecha vermelha até o farol, ou clique nela para apagar o farol.
+ <notification name="BuyLindenDollarSuccess">
+ Obrigado e volte sempre!
+
+Seu saldo L$ será atualizado findo o processamento da transação. Se o processamento levar mais de 20 min, a transação pode vir a ser cancelada. Neste caso, o valor da compra será creditado ao seu saldo em US$.
+
+Para checar o status do pagamento, consulte seu Histórico de transações no [http://secondlife.com/account/ Painel]
</notification>
<notification name="FirstOverrideKeys">
Suas chaves do movimento estão sendo seguras agora por um objeto.
@@ -2858,88 +2420,57 @@ Tente as teclas de setas ou AWSD para ver o que elas fazem.
Alguns objetos (como armas) requerem que você passe para mouselook para usá-los.
Pressione &apos;M&apos; para fazer isto.
</notification>
- <notification name="FirstAppearance">
- Você está editando sua aparência.
-Para girar e ver em zoom, use as teclas de setas.
-Quando terminar, aperte &apos;Salvar Tudo&apos; para salvar sua aparência e sair.
-Você pode editar sua aparência quantas vezes quiser.
- </notification>
- <notification name="FirstInventory">
- Este é o seu inventário, que contém objetos, notecards, roupas e outras coisas suas.
-* Para vestir um objeto ou uma pasta completa, arraste-o para si mesmo(a).
-* Para trzer um objeto ao mundo, arraste-o ao chão.
-* Para ler um notecard, dê um duplo-click nele.
- </notification>
<notification name="FirstSandbox">
- Esta é a região conhecida como sandbox.
-Os objetos que você constrói aqui podem ser deletados depois que você deixa a área.
-As sandboxes são limpas de forma periódica.
-Por favor, veja a informação no alto da tela, próxima ao nome da região.
-As regiões de sandbox não são comuns e são marcadas com símbolos.
- </notification>
- <notification name="FirstFlexible">
- Este objeto tem a propriedade flexível.
-Objetos flexíveis não podem ser físicos e devem ser fantasmas até que a caixa de verificação seja desmarcada.
- </notification>
- <notification name="FirstDebugMenus">
- Você ativou o menu Avançado.
-Este menu contém funcionalidades úteis para desenvolvedores debugarem o [SECOND_LIFE].
-Para mostrar esse menu no Windows pressione Ctrl+Alt+D. No Mac pressione &#8997;&#8984;D.
- </notification>
- <notification name="FirstSculptedPrim">
- Você está editando uma primitiva esculpida.
-Primitivas esculpidas requerem uma textura especial para especificar suas formas.
-Você encontrará exemplos dessas texturas na Biblioteca do Inventário.
- </notification>
- <notification name="FirstMedia">
- Você começou a tocar uma mídia. Mídias podem ser autorizadas a iniciar automaticamente se você assim escolher na janela de Preferências, sob Áudio/Vídeo. Atente para o risco de segurança que pode haver ao acessar websites de mídia que você não confia.
+ Este é um sandbox, uma área onde residentes podem aprender a construir.
+
+Qualquer objeto deixado aqui será apagado quando você sair. Não se esqueça de clicar duas vezes e selecionar &apos;Pegar&apos; para levar seu projeto para o seu inventário.
</notification>
<notification name="MaxListSelectMessage">
Você pode selecionar até [MAX_SELECT] itens desta lista.
</notification>
<notification name="VoiceInviteP2P">
- [NAME] está lhe convidando para uma conversa com voz.
-Clique Aceitar para atender, ou Recusar para recusar o convite. Clique Mudo para calar quem está chamando.
+ [NAME] está te convidando para um bate-papo de voz.
+Clique em Aceitar para atender ou em Recusar para recusar este convite. Clique em Bloquear para bloquear ligações deste avatar.
<form name="form">
<button name="Accept" text="Aceitar"/>
<button name="Decline" text="Recusar"/>
- <button name="Mute" text="Mudo"/>
+ <button name="Mute" text="Bloquear"/>
</form>
</notification>
<notification name="AutoUnmuteByIM">
- [FIRST] [LAST] recebeu uma Mensagem Instantânea sua e automaticamente não está mais no modo mudo.
+ [FIRST] [LAST] recebeu uma MI e foi desbloqueado(a) automaticamente.
</notification>
<notification name="AutoUnmuteByMoney">
- [FIRST] [LAST] recebeu pagamento seu e automaticamente não está mais no modo mudo.
+ [FIRST] [LAST] recebeu dinheiro e foi desbloqueado(a) automaticamente.
</notification>
<notification name="AutoUnmuteByInventory">
- [FIRST] [LAST] recebeu inventário seu e automaticamente não está mais mudo.
+ [FIRST] [LAST] recebeu dinheiro e foi desbloqueado(a) automaticamente.
</notification>
<notification name="VoiceInviteGroup">
- [NAME] juntou-se a uma conversa com voz do grupo [GROUP].
-Clique Aceitar para atender, ou Recusar para recusar o convite. Clique Mudo para calar quem está chamando.
+ [NAME] atendeu uma ligação de bate-papo de voz com o grupo [GROUP].
+Clique em Aceitar para atender ou em Recusar para recusar este convite. Clique em Bloquear para bloquear ligações deste avatar.
<form name="form">
<button name="Accept" text="Aceitar"/>
<button name="Decline" text="Recusar"/>
- <button name="Mute" text="Mudo"/>
+ <button name="Mute" text="Bloquear"/>
</form>
</notification>
<notification name="VoiceInviteAdHoc">
- [NAME] juntou-se a uma chamada de Conferência com voz...
-Clique Aceitar para juntar-se à chamada ou Recusar para recusar o convite. Clique Mudo para calar este usuário.
+ [NAME] atendeu uma ligação de teleconferência.
+Clique em Aceitar para atender ou em Recusar para recusar este convite. Clique em Bloquear para bloquear ligações deste avatar.
<form name="form">
<button name="Accept" text="Aceitar"/>
<button name="Decline" text="Recusar"/>
- <button name="Mute" text="Mudo"/>
+ <button name="Mute" text="Bloquear"/>
</form>
</notification>
<notification name="InviteAdHoc">
- [NAME] está lhe convidando para uma conversa em conferência...
- Clique Aceitar para se juntar à conversa, ou Recusar para recusar o convite. Clique Mudo para calar este usuário.
+ [NAME] está te convidando para uma teleconferência de bate-papo.
+Clique em Aceitar para atender ou em Recusar para recusar este convite. Clique em Bloquear para bloquear ligações deste avatar.
<form name="form">
<button name="Accept" text="Aceitar"/>
<button name="Decline" text="Recusar"/>
- <button name="Mute" text="Mudo"/>
+ <button name="Mute" text="Bloquear"/>
</form>
</notification>
<notification name="VoiceChannelFull">
@@ -2949,25 +2480,25 @@ Clique Aceitar para juntar-se à chamada ou Recusar para recusar o convite. Cliq
Desculpe-nos. Esta área atingiu seu limite de capacidade para conversas com voz. Favor tentar usar voz em outra área.
</notification>
<notification name="VoiceChannelDisconnected">
- Você foi desconectado de [VOICE_CHANNEL_NAME]. Voce será reconectado agora à Conversa com voz local.
+ Você saiu da ligação com [VOICE_CHANNEL_NAME]. Agora você será reconectado ao bate-papo local.
</notification>
<notification name="VoiceChannelDisconnectedP2P">
- [VOICE_CHANNEL_NAME] desligou a chamada. Voce será reconectado agora à Conversa com voz local.
+ [VOICE_CHANNEL_NAME] encerrou a ligação. Agora você será reconectado ao bate-papo local.
</notification>
<notification name="P2PCallDeclined">
- [VOICE_CHANNEL_NAME] recusou sua chamada. Voce será reconectado agora à Conversa com voz local.
+ [VOICE_CHANNEL_NAME] recusou a ligação. Agora você será reconectado ao bate-papo local.
</notification>
<notification name="P2PCallNoAnswer">
- [VOICE_CHANNEL_NAME] não está disponível para aceitar sua chamada. Voce será reconectado agora à Conversa com voz local.
+ [VOICE_CHANNEL_NAME] não está disponível para atender sua ligação. Agora você será reconectado ao bate-papo local.
</notification>
<notification name="VoiceChannelJoinFailed">
- Falha na conexão com [VOICE_CHANNEL_NAME], tente novamente mais tarde. Voce será reconectado agora à Conversa com voz local.
+ Falha de conexão com [VOICE_CHANNEL_NAME]. Tente novamente mais tarde. Agora você será reconectado ao bate-papo local.
</notification>
<notification name="VoiceLoginRetry">
Estamos criando uma canal de voz para você. Isto pode levar até um minuto.
</notification>
<notification name="Cannot enter parcel: not a group member">
- Você não pode entrar nessa terra, você não é membro do grupo autorizado.
+ Só membros de um grupo podem acessar esta área.
</notification>
<notification name="Cannot enter parcel: banned">
Você não pode entrar nessa terra, você foi banido.
@@ -2982,18 +2513,62 @@ Clique Aceitar para juntar-se à chamada ou Recusar para recusar o convite. Cliq
Ocorreu um erro enquanto você tentava se conectar à conversa de voz de [VOICE_CHANNEL_NAME]. Favor tentar novamente mais tarde.
</notification>
<notification name="ServerVersionChanged">
- A região em que você entrou está rodando uma versão diferente de simulador. Clique aqui para mais detalhes.
+ Você chegou a uma região com uma versão diferente de servidor, que pode afetar o desempenho. [[URL] Consultar notas da versão.]
+ </notification>
+ <notification name="UnsupportedCommandSLURL">
+ O SLurl no qual você clicou não é suportado.
+ </notification>
+ <notification name="BlockedSLURL">
+ Um SLurl recebido de um navegador inidôneo foi bloqueado para a sua segurança.
</notification>
- <notification name="UnableToOpenCommandURL">
- A URL que vocÊ clicou não pode ser aberta no navegador web.
+ <notification name="ThrottledSLURL">
+ Vários SLurls foram recebidos de um navegador inidôneo em pouco tempo.
+Para sua segurança, os SLurls serão bloqueados por alguns instantes.
+ </notification>
+ <notification name="IMToast">
+ [MESSAGE]
+ <form name="form">
+ <button name="respondbutton" text="Responder"/>
+ </form>
+ </notification>
+ <notification name="ConfirmCloseAll">
+ Tem certeza de que quer fechar todas as MIs?
+ <usetemplate name="okcancelignore" notext="Cancelar" yestext="OK"/>
+ </notification>
+ <notification name="AttachmentSaved">
+ Anexo salvo.
+ </notification>
+ <notification name="UnableToFindHelpTopic">
+ Nenhum tópico de ajuda foi encontrado com relação a este elemento.
+ </notification>
+ <notification name="ObjectMediaFailure">
+ Erro do servidor: Falha ao atualizar ou executar a mídia.
+&apos;[ERROR]&apos;
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
+ <notification name="TextChatIsMutedByModerator">
+ Seu texto de bate-papo foi silenciado pelo moderador.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
+ <notification name="VoiceIsMutedByModerator">
+ Sua voz foi silenciada pelo moderador.
+ <usetemplate name="okbutton" yestext="OK"/>
+ </notification>
+ <notification name="ConfirmClearTeleportHistory">
+ Tem certeza que deseja apagar todo o seu histórico de teletransporte?
+ <usetemplate name="okcancelbuttons" notext="Cancelar" yestext="OK"/>
+ </notification>
+ <notification name="BottomTrayButtonCanNotBeShown">
+ O botão selecionado não pode ser exibido no momento.
+O botão será exibido quando houver espaço suficente.
</notification>
<global name="UnsupportedCPU">
- A velocidade da sua CPU não suporta os requisitos mínimos exigidos.
</global>
<global name="UnsupportedGLRequirements">
- Você não parece ter os requisitos de hardware recomendados para rodar o [APP_NAME]. O [APP_NAME] exige uma placa gráfica OpenGL que tem apoio a multi- texturas. Se este for o caso, você pode se certificar de que tem os drivers mais recentes para sua placa gráfica, e os patches e pacotes de serviços para seu sistema operacional.
+ Aparentemente a sua máquina não atende os requisitos de hardware do [APP_NAME]. [APP_NAME] requer placas de vídeo OpenGL com suporte a multitexturas. Se sua place de vídeo tiver este perfil, atualize o driver da placa de vídeo, assim como patches e service packs do sistema operacional.
-Se continuar com problemas, por favor visite: http://www.secondlife.com/support
+Se você continuar a receber esta mensagem, consulte o [SUPPORT_SITE].
</global>
<global name="UnsupportedCPUAmount">
796
@@ -3007,10 +2582,8 @@ Se continuar com problemas, por favor visite: http://www.secondlife.com/support
<global name="UnsupportedRAM">
- A memória do seu sistema não suporta os requisitos mínimos exigidos.
</global>
- <global name="PermYes">
- Sim
- </global>
- <global name="PermNo">
- Não
+ <global name="You can only set your &apos;Home Location&apos; on your land or at a mainland Infohub.">
+ Se você tem um terreno, seu terreno pode ser sua casa.
+Outra opção é procurar por lugares com a tag &apos;Infohub&apos; no mapa.
</global>
</notifications>
diff --git a/indra/newview/skins/default/xui/pt/panel_active_object_row.xml b/indra/newview/skins/default/xui/pt/panel_active_object_row.xml
new file mode 100644
index 0000000000..73f6b2225f
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_active_object_row.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_activeim_row">
+ <string name="unknown_obj">
+ Objeto desconhecido
+ </string>
+ <text name="object_name">
+ Objeto sem nome
+ </text>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_adhoc_control_panel.xml b/indra/newview/skins/default/xui/pt/panel_adhoc_control_panel.xml
new file mode 100644
index 0000000000..bd50d4953d
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_adhoc_control_panel.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_im_control_panel">
+ <layout_stack name="vertical_stack">
+ <layout_panel name="call_btn_panel">
+ <button label="Ligar" name="call_btn"/>
+ </layout_panel>
+ <layout_panel name="end_call_btn_panel">
+ <button label="Desligar" name="end_call_btn"/>
+ </layout_panel>
+ <layout_panel name="voice_ctrls_btn_panel">
+ <button label="Controles de voz" name="voice_ctrls_btn"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/pt/panel_avatar_list_item.xml
new file mode 100644
index 0000000000..06d8823a74
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_avatar_list_item.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="avatar_list_item">
+ <string name="FormatSeconds">
+ [COUNT]s
+ </string>
+ <string name="FormatMinutes">
+ [COUNT]min
+ </string>
+ <string name="FormatHours">
+ [COUNT]h
+ </string>
+ <string name="FormatDays">
+ [COUNT]dias
+ </string>
+ <string name="FormatWeeks">
+ [COUNT]semanas
+ </string>
+ <string name="FormatMonths">
+ [COUNT]meses
+ </string>
+ <string name="FormatYears">
+ [COUNT]anos
+ </string>
+ <text name="avatar_name" value="Desconhecido"/>
+ <button name="profile_btn" tool_tip="Ver perfil"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_block_list_sidetray.xml b/indra/newview/skins/default/xui/pt/panel_block_list_sidetray.xml
new file mode 100644
index 0000000000..c5f93d719a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_block_list_sidetray.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="block_list_panel">
+ <text name="title_text">
+ Lista de bloqueados
+ </text>
+ <scroll_list name="blocked" tool_tip="Lista atual dos residentes bloqueados"/>
+ <button label="Bloquear residente..." label_selected="Bloquear residente..." name="Block resident..." tool_tip="Selecione o residente a bloquear"/>
+ <button label="Bloquear objeto por nome..." label_selected="Bloquear objeto por nome..." name="Block object by name..."/>
+ <button label="Desbloquear" label_selected="Desbloquear" name="Unblock" tool_tip="Remover residente ou objeto da lista dos bloqueados"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_bottomtray.xml b/indra/newview/skins/default/xui/pt/panel_bottomtray.xml
new file mode 100644
index 0000000000..092135bd42
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_bottomtray.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="bottom_tray">
+ <string name="SpeakBtnToolTip">
+ Liga e desliga o microfone
+ </string>
+ <string name="VoiceControlBtnToolTip">
+ Mostra/oculta os controles de voz
+ </string>
+ <layout_stack name="toolbar_stack">
+ <layout_panel name="speak_panel">
+ <talk_button name="talk">
+ <speak_button label="Falar" label_selected="Falar" name="speak_btn"/>
+ </talk_button>
+ </layout_panel>
+ <layout_panel name="gesture_panel">
+ <gesture_combo_list label="Gesto" name="Gesture" tool_tip="Mostra/oculta os gestos"/>
+ </layout_panel>
+ <layout_panel name="movement_panel">
+ <button label="Movimentar" name="movement_btn" tool_tip="Mostra/oculta os controles de movimento"/>
+ </layout_panel>
+ <layout_panel name="cam_panel">
+ <button label="Exibir" name="camera_btn" tool_tip="Mostra/oculta os controles da câmera"/>
+ </layout_panel>
+ <layout_panel name="snapshot_panel">
+ <button label="" name="snapshots" tool_tip="Tirar foto"/>
+ </layout_panel>
+ <layout_panel name="im_well_panel">
+ <chiclet_im_well name="im_well">
+ <button name="Unread IM messages" tool_tip="Conversas"/>
+ </chiclet_im_well>
+ </layout_panel>
+ <layout_panel name="notification_well_panel">
+ <chiclet_notification name="notification_well">
+ <button name="Unread" tool_tip="Notificações"/>
+ </chiclet_notification>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_bottomtray_lite.xml b/indra/newview/skins/default/xui/pt/panel_bottomtray_lite.xml
new file mode 100644
index 0000000000..78d9826099
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_bottomtray_lite.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="bottom_tray_lite">
+ <layout_stack name="toolbar_stack_lite">
+ <layout_panel name="gesture_panel">
+ <gesture_combo_list label="Gesto" name="Gesture" tool_tip="Mostra/oculta os gestos"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_classified_info.xml b/indra/newview/skins/default/xui/pt/panel_classified_info.xml
new file mode 100644
index 0000000000..8441cd9913
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_classified_info.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_classified_info">
+ <panel.string name="l$_price">
+ L$ [PRICE]
+ </panel.string>
+ <text name="title" value="Dados do anúncio"/>
+ <scroll_container name="profile_scroll">
+ <panel name="scroll_content_panel">
+ <text_editor name="classified_name" value="[nome]"/>
+ <text_editor name="classified_location" value="[carregando...]"/>
+ <text_editor name="content_type" value="[content type]"/>
+ <text_editor name="category" value="[category]"/>
+ <check_box label="Renovar automaticamente todas as semanas" name="auto_renew"/>
+ <text_editor name="price_for_listing" tool_tip="Preço do anúncio."/>
+ <text_editor name="classified_desc" value="[descrição]"/>
+ </panel>
+ </scroll_container>
+ <panel name="buttons">
+ <button label="Teletransportar" name="teleport_btn"/>
+ <button label="Mapa" name="show_on_map_btn"/>
+ <button label="Editar" name="edit_btn"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_alpha.xml b/indra/newview/skins/default/xui/pt/panel_edit_alpha.xml
new file mode 100644
index 0000000000..f8be9daf1b
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_alpha.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_alpha_panel">
+ <panel name="avatar_alpha_color_panel">
+ <texture_picker label="Alpha inferior" name="Lower Alpha" tool_tip="Selecionar imagem"/>
+ <texture_picker label="Alpha de cima" name="Upper Alpha" tool_tip="Selecionar imagem"/>
+ <texture_picker label="Cabeça Alpha" name="Head Alpha" tool_tip="Selecionar imagem"/>
+ <texture_picker label="Olhos Alpha" name="Eye Alpha" tool_tip="Selecionar imagem"/>
+ <texture_picker label="Cabelo alpha" name="Hair Alpha" tool_tip="Selecionar imagem"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_classified.xml b/indra/newview/skins/default/xui/pt/panel_edit_classified.xml
new file mode 100644
index 0000000000..a754c5f070
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_classified.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Editar anúncio" name="panel_edit_classified">
+ <panel.string name="location_notice">
+ (salvar para atualizar)
+ </panel.string>
+ <text name="title">
+ Editar anúncio
+ </text>
+ <scroll_container name="profile_scroll">
+ <panel name="scroll_content_panel">
+ <icon label="" name="edit_icon" tool_tip="Selecione uma imagem"/>
+ <text name="Name:">
+ Cargo:
+ </text>
+ <text name="description_label">
+ Descrição:
+ </text>
+ <text name="location_label">
+ Localização:
+ </text>
+ <text name="classified_location">
+ Carregando...
+ </text>
+ <button label="Usar configuração local" name="set_to_curr_location_btn"/>
+ <spinner label="L$" name="price_for_listing" tool_tip="Preço do anúncio" value="50"/>
+ <check_box label="Renovação automática semanal" name="auto_renew"/>
+ </panel>
+ </scroll_container>
+ <panel label="bottom_panel" name="bottom_panel">
+ <button label="Salvar" name="save_changes_btn"/>
+ <button label="Cancelar" name="cancel_btn"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_eyes.xml b/indra/newview/skins/default/xui/pt/panel_edit_eyes.xml
new file mode 100644
index 0000000000..2c73e67c4a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_eyes.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_eyes_panel">
+ <panel name="avatar_eye_color_panel">
+ <texture_picker label="Íris" name="Iris" tool_tip="Selecionar imagem"/>
+ </panel>
+ <accordion name="wearable_accordion">
+ <accordion_tab name="eyes_main_tab" title="Olhos"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_gloves.xml b/indra/newview/skins/default/xui/pt/panel_edit_gloves.xml
new file mode 100644
index 0000000000..6b4141e4a7
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_gloves.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_gloves_panel">
+ <panel name="avatar_gloves_color_panel">
+ <texture_picker label="Tecido" name="Fabric" tool_tip="Selecionar imagem"/>
+ <color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
+ </panel>
+ <accordion name="wearable_accordion">
+ <accordion_tab name="gloves_main_tab" title="Luvas"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_hair.xml b/indra/newview/skins/default/xui/pt/panel_edit_hair.xml
new file mode 100644
index 0000000000..b49f5850aa
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_hair.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_hair_panel">
+ <panel name="avatar_hair_color_panel">
+ <texture_picker label="Texture" name="Texture" tool_tip="Selecionar imagem"/>
+ </panel>
+ <accordion name="wearable_accordion">
+ <accordion_tab name="hair_color_tab" title="Cor"/>
+ <accordion_tab name="hair_style_tab" title="Estilo"/>
+ <accordion_tab name="hair_eyebrows_tab" title="Sombrancelhas"/>
+ <accordion_tab name="hair_facial_tab" title="Faciais"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_jacket.xml b/indra/newview/skins/default/xui/pt/panel_edit_jacket.xml
new file mode 100644
index 0000000000..dcccf76c26
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_jacket.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_jacket_panel">
+ <panel name="avatar_jacket_color_panel">
+ <texture_picker label="Tecido de cima" name="Upper Fabric" tool_tip="Selecionar imagem"/>
+ <texture_picker label="Tecido de baixo" name="Lower Fabric" tool_tip="Selecionar imagem"/>
+ <color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
+ </panel>
+ <accordion name="wearable_accordion">
+ <accordion_tab name="jacket_main_tab" title="Jaqueta"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_pants.xml b/indra/newview/skins/default/xui/pt/panel_edit_pants.xml
new file mode 100644
index 0000000000..8cfa6933eb
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_pants.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_pants_panel">
+ <panel name="avatar_pants_color_panel">
+ <texture_picker label="Tecido" name="Fabric" tool_tip="Selecionar imagem"/>
+ <color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
+ </panel>
+ <accordion name="wearable_accordion">
+ <accordion_tab name="pants_main_tab" title="Calças"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_pick.xml b/indra/newview/skins/default/xui/pt/panel_edit_pick.xml
new file mode 100644
index 0000000000..f56533652d
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_pick.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Editar destaques" name="panel_edit_pick">
+ <text name="title">
+ Editar destaques
+ </text>
+ <scroll_container name="profile_scroll">
+ <panel name="scroll_content_panel">
+ <icon label="" name="edit_icon" tool_tip="Selecione uma imagem"/>
+ <text name="Name:">
+ Cargo:
+ </text>
+ <text name="description_label">
+ Descrição:
+ </text>
+ <text name="location_label">
+ Localização:
+ </text>
+ <text name="pick_location">
+ Carregando...
+ </text>
+ <button label="Usar configuração local" name="set_to_curr_location_btn"/>
+ </panel>
+ </scroll_container>
+ <panel label="bottom_panel" name="bottom_panel">
+ <button label="Salvar [WHAT]" name="save_changes_btn"/>
+ <button label="Cancelar" name="cancel_btn"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_profile.xml b/indra/newview/skins/default/xui/pt/panel_edit_profile.xml
index a989cab167..c9e5513424 100644
--- a/indra/newview/skins/default/xui/pt/panel_edit_profile.xml
+++ b/indra/newview/skins/default/xui/pt/panel_edit_profile.xml
@@ -1,45 +1,51 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<panel name="edit_profile_panel">
- <string name="CaptionTextAcctInfo">
- [ACCTTYPE] [PAYMENTINFO] [AGEVERIFICATION]
- </string>
- <string name="AcctTypeResident"
- value="Residente" />
- <string name="AcctTypeTrial"
- value="Teste" />
- <string name="AcctTypeCharterMember"
- value="Estatuto do membro" />
- <string name="AcctTypeEmployee"
- value="Contratado da Linden Lab" />
- <string name="PaymentInfoUsed"
- value="Infor. de pagamento utilizadas" />
- <string name="PaymentInfoOnFile"
- value="Infor. de pagamento no arquivo" />
- <string name="NoPaymentInfoOnFile"
- value="Sem infor. de pagamento no arquivo" />
- <string name="AgeVerified"
- value="Idade Verificada" />
- <string name="NotAgeVerified"
- value="Idade não Verificada" />
- <string name="partner_edit_link_url">
- http://www.secondlife.com/account/partners.php?lang=pt
- </string>
- <panel name="scroll_content_panel">
- <panel name="data_panel" >
- <panel name="lifes_images_panel">
- <panel name="second_life_image_panel">
- <text name="second_life_photo_title_text">
- [SECOND_LIFE]:
- </text>
- </panel>
- </panel>
- <text name="title_partner_text" value="Parceiro:"/>
- <panel name="partner_data_panel">
- <text name="partner_text" value="[FIRST] [LAST]"/>
- </panel>
- <text name="text_box3">
- Resposta no Modo Ocupado:
- </text>
- </panel>
- </panel>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Editar perfil" name="edit_profile_panel">
+ <string name="CaptionTextAcctInfo">
+ [ACCTTYPE] [PAYMENTINFO] [AGEVERIFICATION]
+ </string>
+ <string name="RegisterDateFormat">
+ [REG_DATE] ([AGE])
+ </string>
+ <string name="AcctTypeResident" value="Residente"/>
+ <string name="AcctTypeTrial" value="Teste"/>
+ <string name="AcctTypeCharterMember" value="Estatuto do membro"/>
+ <string name="AcctTypeEmployee" value="Contratado da Linden Lab"/>
+ <string name="PaymentInfoUsed" value="Infor. de pagamento utilizadas"/>
+ <string name="PaymentInfoOnFile" value="Infor. de pagamento no arquivo"/>
+ <string name="NoPaymentInfoOnFile" value="Sem infor. de pagamento no arquivo"/>
+ <string name="AgeVerified" value="Idade Verificada"/>
+ <string name="NotAgeVerified" value="Idade não Verificada"/>
+ <string name="partner_edit_link_url">
+ http://www.secondlife.com/account/partners.php?lang=pt
+ </string>
+ <string name="no_partner_text" value="Nenhum"/>
+ <scroll_container name="profile_scroll">
+ <panel name="scroll_content_panel">
+ <panel name="data_panel">
+ <panel name="lifes_images_panel">
+ <icon label="" name="2nd_life_edit_icon" tool_tip="Selecione uma imagem"/>
+ </panel>
+ <panel name="first_life_image_panel">
+ <text name="real_world_photo_title_text" value="Mundo real:"/>
+ </panel>
+ <icon label="" name="real_world_edit_icon" tool_tip="Selecione uma imagem"/>
+ <text name="title_homepage_text">
+ Página web:
+ </text>
+ <check_box label="Mostrar nos resultados de busca" name="show_in_search_checkbox"/>
+ <text name="title_acc_status_text" value="Minha conta:"/>
+ <text_editor name="acc_status_text" value="Residente. Dados de pagamento: não constam"/>
+ <text name="my_account_link" value="[[URL] Abrir meu painel]"/>
+ <text name="title_partner_text" value="Parceiro(a):"/>
+ <panel name="partner_data_panel">
+ <name_box initial_value="(pesquisando)" name="partner_text"/>
+ </panel>
+ <text name="partner_edit_link" value="[[URL] Editar]"/>
+ </panel>
+ </panel>
+ </scroll_container>
+ <panel name="profile_me_buttons_panel">
+ <button label="Salvar alterações" name="save_btn"/>
+ <button label="Cancelar" name="cancel_btn"/>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_shape.xml b/indra/newview/skins/default/xui/pt/panel_edit_shape.xml
new file mode 100644
index 0000000000..6a03c2e2ff
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_shape.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_shape_panel">
+ <panel name="avatar_sex_panel">
+ <text name="gender_text">
+ Sexo:
+ </text>
+ <radio_group name="sex_radio">
+ <radio_item label="Feminino" name="radio"/>
+ <radio_item label="Masculino" name="radio2"/>
+ </radio_group>
+ </panel>
+ <accordion name="wearable_accordion">
+ <accordion_tab name="shape_body_tab" title="Corpo"/>
+ <accordion_tab name="shape_head_tab" title="Cabeça"/>
+ <accordion_tab name="shape_eyes_tab" title="Olhos"/>
+ <accordion_tab name="shape_ears_tab" title="Orelhas"/>
+ <accordion_tab name="shape_nose_tab" title="Nariz"/>
+ <accordion_tab name="shape_mouth_tab" title="Boca"/>
+ <accordion_tab name="shape_chin_tab" title="Queixo"/>
+ <accordion_tab name="shape_torso_tab" title="Tronco"/>
+ <accordion_tab name="shape_legs_tab" title="Pernas"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_shirt.xml b/indra/newview/skins/default/xui/pt/panel_edit_shirt.xml
new file mode 100644
index 0000000000..e9d4207e49
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_shirt.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_shirt_panel">
+ <panel name="avatar_shirt_color_panel">
+ <texture_picker label="tecido" name="Fabric" tool_tip="Clique para escolher uma foto"/>
+ <color_swatch label="Cor/Matiz" name="Color/Tint" tool_tip="Clique para abrir o selecionador de cor"/>
+ </panel>
+ <accordion name="wearable_accordion">
+ <accordion_tab name="shirt_main_tab" title="Camisa"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_shoes.xml b/indra/newview/skins/default/xui/pt/panel_edit_shoes.xml
new file mode 100644
index 0000000000..79cb641079
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_shoes.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_shoes_panel">
+ <panel name="avatar_shoes_color_panel">
+ <texture_picker label="Tecido" name="Fabric" tool_tip="Selecionar imagem"/>
+ <color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
+ </panel>
+ <accordion name="wearable_accordion">
+ <accordion_tab name="shoes_main_tab" title="Sapatos"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_skin.xml b/indra/newview/skins/default/xui/pt/panel_edit_skin.xml
new file mode 100644
index 0000000000..e3caf9f6f7
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_skin.xml
@@ -0,0 +1,14 @@
+<?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"/>
+ </panel>
+ <accordion name="wearable_accordion">
+ <accordion_tab name="skin_color_tab" title="Cor da pele"/>
+ <accordion_tab name="skin_face_tab" title="Detalhe do rosto"/>
+ <accordion_tab name="skin_makeup_tab" title="Maquilagem"/>
+ <accordion_tab name="skin_body_tab" title="Detalhe do corpo"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_skirt.xml b/indra/newview/skins/default/xui/pt/panel_edit_skirt.xml
new file mode 100644
index 0000000000..00ec0691ea
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_skirt.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_skirt_panel">
+ <panel name="avatar_skirt_color_panel">
+ <texture_picker label="Tecido" name="Fabric" tool_tip="Selecionar imagem"/>
+ <color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
+ </panel>
+ <accordion name="wearable_accordion">
+ <accordion_tab name="skirt_main_tab" title="Saia"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_socks.xml b/indra/newview/skins/default/xui/pt/panel_edit_socks.xml
new file mode 100644
index 0000000000..88abc74716
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_socks.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_socks_panel">
+ <panel name="avatar_socks_color_panel">
+ <texture_picker label="Tecido" name="Fabric" tool_tip="Selecionar imagem"/>
+ <color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
+ </panel>
+ <accordion name="wearable_accordion">
+ <accordion_tab name="socks_main_tab" title="Meias"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/pt/panel_edit_tattoo.xml
new file mode 100644
index 0000000000..c11d800171
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_tattoo.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_tattoo_panel">
+ <panel name="avatar_tattoo_color_panel">
+ <texture_picker label="Tatoo de cabeça" name="Head Tattoo" tool_tip="Clique para escolher uma foto"/>
+ <texture_picker label="Tatoo da parte superior do corpo" name="Upper Tattoo" tool_tip="Clique para escolher uma foto"/>
+ <texture_picker label="Tatoo da parte inferior do corpo" name="Lower Tattoo" tool_tip="Clique para escolher uma foto"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_underpants.xml b/indra/newview/skins/default/xui/pt/panel_edit_underpants.xml
new file mode 100644
index 0000000000..10c34a1c0a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_underpants.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_underpants_panel">
+ <panel name="avatar_underpants_color_panel">
+ <texture_picker label="Tecido" name="Fabric" tool_tip="Selecionar imagem"/>
+ <color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
+ </panel>
+ <accordion name="wearable_accordion">
+ <accordion_tab name="underpants_main_tab" title="Roupa de baixo"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/pt/panel_edit_undershirt.xml
new file mode 100644
index 0000000000..fb7b919365
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_undershirt.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="edit_undershirt_panel">
+ <panel name="avatar_undershirt_color_panel">
+ <texture_picker label="Tecido" name="Fabric" tool_tip="Selecionar imagem"/>
+ <color_swatch label="Cor/Tonalidade" name="Color/Tint" tool_tip="Selecionar a cor"/>
+ </panel>
+ <accordion name="wearable_accordion">
+ <accordion_tab name="undershirt_main_tab" title="Camiseta"/>
+ </accordion>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_edit_wearable.xml b/indra/newview/skins/default/xui/pt/panel_edit_wearable.xml
new file mode 100644
index 0000000000..b85d481941
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_edit_wearable.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Vestível" name="panel_edit_wearable">
+ <string name="edit_shape_title">
+ Editando forma
+ </string>
+ <string name="edit_skin_title">
+ Editando pele
+ </string>
+ <string name="edit_hair_title">
+ Editando cabelo
+ </string>
+ <string name="edit_eyes_title">
+ Editando os olhos
+ </string>
+ <string name="edit_shirt_title">
+ Editando camisa
+ </string>
+ <string name="edit_pants_title">
+ Editando calças
+ </string>
+ <string name="edit_shoes_title">
+ Editando sapatos
+ </string>
+ <string name="edit_socks_title">
+ Editando meias
+ </string>
+ <string name="edit_jacket_title">
+ Editando jaqueta
+ </string>
+ <string name="edit_skirt_title">
+ Editando saia
+ </string>
+ <string name="edit_gloves_title">
+ Editando luvas
+ </string>
+ <string name="edit_undershirt_title">
+ Editando camiseta
+ </string>
+ <string name="edit_underpants_title">
+ Editando roupa de baixo
+ </string>
+ <string name="edit_alpha_title">
+ Editando máscara Alpha
+ </string>
+ <string name="edit_tattoo_title">
+ Editando tatuagem
+ </string>
+ <string name="shape_desc_text">
+ Forma:
+ </string>
+ <string name="skin_desc_text">
+ Pele:
+ </string>
+ <string name="hair_desc_text">
+ Cabelo:
+ </string>
+ <string name="eyes_desc_text">
+ Olhos:
+ </string>
+ <string name="shirt_desc_text">
+ Camisa:
+ </string>
+ <string name="pants_desc_text">
+ Calças:
+ </string>
+ <string name="shoes_desc_text">
+ Sapatos:
+ </string>
+ <string name="socks_desc_text">
+ Meias:
+ </string>
+ <string name="jacket_desc_text">
+ Jaqueta:
+ </string>
+ <string name="skirt_skirt_desc_text">
+ Saia:
+ </string>
+ <string name="gloves_desc_text">
+ Luvas:
+ </string>
+ <string name="undershirt_desc_text">
+ Camiseta:
+ </string>
+ <string name="underpants_desc_text">
+ Roupa de baixo:
+ </string>
+ <string name="alpha_desc_text">
+ Máscara alpha:
+ </string>
+ <string name="tattoo_desc_text">
+ Tatuagem:
+ </string>
+ <text name="edit_wearable_title" value="Editando forma"/>
+ <panel label="Camisa" name="wearable_type_panel">
+ <text name="description_text" value="Forma:"/>
+ </panel>
+ <panel name="button_panel">
+ <button label="Salvar como" name="save_as_button"/>
+ <button label="Reverter" name="revert_button"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_friends.xml b/indra/newview/skins/default/xui/pt/panel_friends.xml
index d430d637ad..34073f9ce1 100644
--- a/indra/newview/skins/default/xui/pt/panel_friends.xml
+++ b/indra/newview/skins/default/xui/pt/panel_friends.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="friends">
<string name="Multiple">
- Múltiplos amigos...
+ Diversos amigos
</string>
<scroll_list name="friend_list" tool_tip="Aperte shift ou control enquanto clica para selecionar múltiplos amigos">
<column name="icon_online_status" tool_tip="Status Online"/>
@@ -11,10 +11,10 @@
<column name="icon_edit_mine" tool_tip="Amigo pode editar, apagar ou pegar seus objetos"/>
<column name="icon_edit_theirs" tool_tip="Você pode editar os objetos deste amigo"/>
</scroll_list>
- <button width="86" label="MI/Chamar" name="im_btn" tool_tip="Abrir sessão de Mensagem Instantânea"/>
- <button width="86" label="Perfil" name="profile_btn" tool_tip="Mostrar foto, grupos e outras informações"/>
- <button width="86" label="Teletransp..." name="offer_teleport_btn" tool_tip="Oferecer a este amigo o teletransporte para sua localização atual"/>
- <button width="86" label="Pagar..." name="pay_btn" tool_tip="Dar Linden dólares (L$) a este amigo"/>
- <button width="86" label="Remover..." name="remove_btn" tool_tip="Remover esta pessoa de sua lista de amigos"/>
- <button width="86" label="Adicionar..." name="add_btn" tool_tip="Oferecer amizade a um residente"/>
+ <button label="MI/Chamar" name="im_btn" tool_tip="Abrir sessão de Mensagem Instantânea" width="86"/>
+ <button label="Perfil" name="profile_btn" tool_tip="Mostrar foto, grupos e outras informações" width="86"/>
+ <button label="Teletransportar" name="offer_teleport_btn" tool_tip="Oferecer a este amigo o teletransporte para sua localização atual" width="86"/>
+ <button label="Pagar" name="pay_btn" tool_tip="Dar Linden dólares (L$) a este amigo" width="86"/>
+ <button label="Tirar" name="remove_btn" tool_tip="Remover esta pessoa de sua lista de amigos" width="86"/>
+ <button label="Adicionar" name="add_btn" tool_tip="Oferecer amizade para um residente" width="86"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_group_control_panel.xml b/indra/newview/skins/default/xui/pt/panel_group_control_panel.xml
new file mode 100644
index 0000000000..502dae8d67
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_group_control_panel.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_im_control_panel">
+ <layout_stack name="vertical_stack">
+ <layout_panel name="group_info_btn_panel">
+ <button label="Perfil do grupo" name="group_info_btn"/>
+ </layout_panel>
+ <layout_panel name="call_btn_panel">
+ <button label="Ligar para o grupo" name="call_btn"/>
+ </layout_panel>
+ <layout_panel name="end_call_btn_panel">
+ <button label="Desligar" name="end_call_btn"/>
+ </layout_panel>
+ <layout_panel name="voice_ctrls_btn_panel">
+ <button label="Abrir controles de voz" name="voice_ctrls_btn"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_group_general.xml b/indra/newview/skins/default/xui/pt/panel_group_general.xml
index 226011c138..85488f43af 100644
--- a/indra/newview/skins/default/xui/pt/panel_group_general.xml
+++ b/indra/newview/skins/default/xui/pt/panel_group_general.xml
@@ -1,70 +1,55 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Geral" name="general_tab">
- <string name="help_text">
- A aba Geral contém informações gerais sobre este grupo, a lista dos donos e membros visíveis, preferências gerais do grupo e opções dos membros. Passe o mouse sobre as opções para mais ajuda.
- </string>
- <string name="group_info_unchanged">
- Informações gerais do grupo foram modificadas
- </string>
- <button label="?" label_selected="?" name="help_button"/>
- <line_editor label="Digite o nome do seu novo grupo aqui" name="group_name_editor"/>
- <text name="group_name">
- Digite o nome do seu novo grupo aqui
- </text>
- <text name="prepend_founded_by">
- Fundado por:
- </text>
- <text name="founder_name" left_delta="74" >
- (espera)
- </text>
- <text name="group_charter_label">
- Declaração do Grupo
- </text>
- <texture_picker label="Insígnia do Grupo" name="insignia" tool_tip="Clique para escolher uma imagem"/>
+ <panel.string name="help_text">
+ A guia Geral contém informações gerais sobre o grupo, uma lista de membros, preferências do grupo e opções para membros.
+
+Para obter mais ajuda, passe o mouse sobre as opções.
+ </panel.string>
+ <panel.string name="group_info_unchanged">
+ Informações gerais do grupo modificadas.
+ </panel.string>
+ <panel.string name="incomplete_member_data_str">
+ Recuperando dados do membro
+ </panel.string>
+ <panel name="group_info_top">
+ <texture_picker label="" name="insignia" tool_tip="Selecionar imagem"/>
+ <text name="prepend_founded_by">
+ Fundador:
+ </text>
+ <name_box initial_value="(pesquisando)" name="founder_name"/>
+ <text name="join_cost_text">
+ Grátis
+ </text>
+ <button label="ENTRAR AGORA!" name="btn_join"/>
+ </panel>
<text_editor name="charter">
Declaração do grupo
</text_editor>
- <button label="Unir (L$0)" label_selected="Unir (L$0)" name="join_button"/>
- <button label="Vista detalhada" label_selected="Vista detalhada" name="info_button"/>
- <text name="text_owners_and_visible_members">
- Proprietários &amp; Membros visíveis
- </text>
- <text name="text_owners_are_shown_in_bold">
- (Proprietários são mostrados em negrito )
- </text>
<name_list name="visible_members">
- <name_list.columns label="Nome do membro" name="name"/>
+ <name_list.columns label="Membro" name="name"/>
<name_list.columns label="Título" name="title"/>
- <name_list.columns label="Último login" name="online"/>
+ <name_list.columns label="Status" name="status"/>
</name_list>
- <text name="text_group_preferences">
- Preferências do Grupo
+ <text name="my_group_settngs_label">
+ Eu
</text>
+ <text name="active_title_label">
+ Meu cargo
+ </text>
+ <combo_box name="active_title" tool_tip="Define o cargo que é exibido com o nome do seu avatar quando o grupo está ativo."/>
+ <check_box label="Receber avisos do grupo" name="receive_notices" tool_tip="Define o seu recebimento de avisos deste grupo. Desmarque esta opção se o grupo envia spam."/>
+ <check_box label="Mostrar no meu perfil" name="list_groups_in_profile" tool_tip="Define se você deseja incluir este grupo no seu perfil."/>
<panel name="preferences_container">
- <check_box label="Mostre na busca" name="show_in_group_list" tool_tip="Deixe as pessoas verem este grupo nos resultados de busca."/>
- <check_box label="Adesão aberta" name="open_enrollement" tool_tip="Definir se este grupo permite que novos membros entrem sem serem convidados"/>
- <check_box label="Taxa de adesão:" name="check_enrollment_fee" tool_tip="Define se é necessária uma taxa de adesão para se unir ao grupo."/>
- <spinner width="60" left_delta="120" name="spin_enrollment_fee" tool_tip="Os novos membros devem pagar esta taxa para se unir ao grupo quando a Taxa de Adesão está marcada."/>
- <combo_box width="170" name="group_mature_check" tool_tip="Define se a informação do seu grupo é considerada mature.">
- <combo_box.item name="select_mature" label="- Selecionar Maturidade -"/>
- <combo_box.item name="mature" label="Conteúdo Mature"/>
- <combo_box.item name="pg" label="Conteúdo PG"/>
+ <text name="group_settngs_label">
+ Grupo
+ </text>
+ <check_box label="Qualquer um pode entrar" name="open_enrollement" tool_tip="Controla a entrada de novos membros, com ou sem convite."/>
+ <check_box label="Taxa de inscrição" name="check_enrollment_fee" tool_tip="Controla a cobrança de uma taxa de associação ao grupo."/>
+ <spinner label="L$" left_delta="120" name="spin_enrollment_fee" tool_tip="Se a opção &apos;Taxa de associação&apos; estiver marcada, novos membros precisam pagar o valor definido para entrar no grupo." width="60"/>
+ <combo_box name="group_mature_check" tool_tip="Define se a informação do seu grupo é considerada mature." width="170">
+ <combo_box.item label="Conteúdo PG" name="pg"/>
+ <combo_box.item label="Conteúdo Mature" name="mature"/>
</combo_box>
- <panel name="title_container">
- <text name="active_title_label">
- Meu título ativo
- </text>
- <combo_box name="active_title" tool_tip="Define o título que aparece em seu avatar quando o grupo estiver ativo."/>
- </panel>
- <check_box label="Receber notícias do grupo" name="receive_notices" tool_tip="Define se Você deseja receber notícias deste grupo. Desmarque esta caixa se o grupo está lhe fazendo spam."/>
- <check_box label="Listar grupo no meu perfil" name="list_groups_in_profile" tool_tip="Define se você deseja listar este grupo no seu Perfil"/>
+ <check_box initial_value="true" label="Mostre na busca" name="show_in_group_list" tool_tip="Incluir o grupo nos resultados de busca"/>
</panel>
- <string name="incomplete_member_data_str">
- Recuperando dados do membro
- </string>
- <string name="confirm_group_create_str">
- Criar este grupo irá custar L$100.
-Você está realmente, realmente, REALMENTE seguro que deseja gastar L$100 para criar este grupo?
-Esteja consciente de que se ninguém mais se juntar a este grupo dentro de 48 horas, este será dissolvido e o nome não estará disponível para uso futuro.
- </string>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml
new file mode 100644
index 0000000000..29d757346c
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_group_info_sidetray.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Perfil do grupo" name="GroupInfo">
+ <panel.string name="default_needs_apply_text">
+ Algumas modificações não foram salvas
+ </panel.string>
+ <panel.string name="want_apply_text">
+ Deseja salvar essas mudanças?
+ </panel.string>
+ <panel.string name="group_join_btn">
+ Entrar (L$[AMOUNT])
+ </panel.string>
+ <panel.string name="group_join_free">
+ Grátis
+ </panel.string>
+ <panel name="group_info_top">
+ <text name="group_name" value="Carregando..."/>
+ <line_editor label="Digite o nome do grupo novo aqui" name="group_name_editor"/>
+ </panel>
+ <layout_stack name="layout">
+ <layout_panel name="group_accordions">
+ <accordion name="groups_accordion">
+ <accordion_tab name="group_general_tab" title="Geral"/>
+ <accordion_tab name="group_roles_tab" title="Cargos"/>
+ <accordion_tab name="group_notices_tab" title="Avisos"/>
+ <accordion_tab name="group_land_tab" title="Terrenos/Bens"/>
+ </accordion>
+ </layout_panel>
+ <layout_panel name="button_row">
+ <button label="Bate-papo" name="btn_chat"/>
+ <button label="Ligar para o grupo" name="btn_call" tool_tip="Ligar para este grupo"/>
+ <button label="Salvar" label_selected="Salvar" name="btn_apply"/>
+ <button label="Criar grupo" name="btn_create" tool_tip="Criar um grupo novo"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_group_invite.xml b/indra/newview/skins/default/xui/pt/panel_group_invite.xml
index a02a17139b..c7def0ed96 100644
--- a/indra/newview/skins/default/xui/pt/panel_group_invite.xml
+++ b/indra/newview/skins/default/xui/pt/panel_group_invite.xml
@@ -1,23 +1,27 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Convidar um membro" name="invite_panel" width="224">
+ <panel.string name="confirm_invite_owner_str">
+ Você tem certeza de que deseja convidar novo(s) proprietário(s)? Esta ação é permanente!
+ </panel.string>
+ <panel.string name="loading">
+ (carregando...)
+ </panel.string>
+ <panel.string name="already_in_group">
+ Alguns dos residentes selecionados já estão no grupo, portanto não receberam convite.
+ </panel.string>
<text name="help_text" width="214">
- Voce pode selecionar vários residentes
-para convidar ao seu grupo. Clique
-&apos;Abrir Seletor de Residente&apos; para iniciar.
+ Selecione um ou mais residentes para convidar. Clique em &apos;Abrir seletor de residentes&apos; para começar.
</text>
<button label="Abrir Seletor de Residente" name="add_button" tool_tip=""/>
- <name_list name="invitee_list" tool_tip="Mantenha apertada a tecla Control e clique nos nomes dos residentes para uma seleção múltipla."/>
- <button left_delta="-7" width="214" label="Remove os selecionados acima da lista" name="remove_button" tool_tip="Remove os residentes selecionados acima da lista de convite."/>
+ <name_list name="invitee_list" tool_tip="Pressione Ctrl enquanto clica nos nomes dos residentes"/>
+ <button label="Remove os selecionados acima da lista" left_delta="-7" name="remove_button" tool_tip="Exclui os residentes selecionados acima da lista de convidados" width="214"/>
<text name="role_text">
Escolha que Função atribuir a eles:
</text>
- <combo_box name="role_name" tool_tip="Escolha a partir da lista de Funções autorizadas a você para inclusão de membros."/>
+ <combo_box name="role_name" tool_tip="Selecione o cargo da lista de cargos que você pode designar a membros"/>
<button label="Mandar convites" name="ok_button"/>
<button label="Cancelar" name="cancel_button"/>
- <string name="confirm_invite_owner_str">
- Você tem certeza de que deseja convidar novo(s) proprietário(s)? Esta ação é permanente!
- </string>
- <string name="loading">
- (carregando...)
+ <string name="GroupInvitation">
+ Convite
</string>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_group_land_money.xml b/indra/newview/skins/default/xui/pt/panel_group_land_money.xml
index 5b09363e3c..6f21b78b10 100644
--- a/indra/newview/skins/default/xui/pt/panel_group_land_money.xml
+++ b/indra/newview/skins/default/xui/pt/panel_group_land_money.xml
@@ -1,84 +1,81 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Terra &amp; L$" name="land_money_tab">
- <string name="help_text">
- Lotes pertencentes ao grupo são listados adiante, com os detalhes de contribuição. Um aviso aparece até que o Total de Terra em Uso seja menor ou igual à Contribuição Total. As abas de Planejamento, Detalhes e Vendas fornecem informações sobre as finanças do grupo.
- </string>
- <button label="?" name="help_button"/>
- <string name="cant_view_group_land_text">
- Você não tem permissão para ver as terras pertencentes ao grupo.
- </string>
- <string name="cant_view_group_accounting_text">
- Você não tem permissão para ver as informações sobre as contas do grupo.
- </string>
- <string name="loading_txt">
+ <panel.string name="help_text">
+ Será exibido um aviso até o Total de terrenos usados for igual ou inferior à contribuição total.
+ </panel.string>
+ <panel.string name="cant_view_group_land_text">
+ Você não está autorizado a acessar terrenos de grupos
+ </panel.string>
+ <panel.string name="cant_view_group_accounting_text">
+ Você não está autorizado a acessar os dados de contabilidade do grupo.
+ </panel.string>
+ <panel.string name="loading_txt">
Carregando...
- </string>
- <text name="group_land_heading" width="250">
- Terra percentente ao grupo
- </text>
- <scroll_list name="group_parcel_list">
- <column label="Nome do Lote" name="name"/>
- <column label="Região" name="location"/>
- <column label="Tipo" name="type"/>
- <column label="Área" name="area"/>
- </scroll_list>
- <button label="Mostrar no Mapa" label_selected="Mostrar no Mapa" name="map_button" left="282" width="130"/>
- <text name="total_contributed_land_label">
- Contribuição Total:
- </text>
- <text name="total_contributed_land_value">
- [AREA] m²
- </text>
- <text name="total_land_in_use_label">
- Total de Terra em Uso:
- </text>
- <text name="total_land_in_use_value">
- [AREA] m²
- </text>
- <text name="land_available_label">
- Terra Disponível:
- </text>
- <text name="land_available_value">
- [AREA] m²
- </text>
- <text name="your_contribution_label">
- Sua Contribuição:
- </text>
- <string name="land_contrib_error">
- Não é possível definir sua contribuição para o terreno.
- </string>
- <text name="your_contribution_units">
- ( m² )
- </text>
- <text name="your_contribution_max_value">
- ([AMOUNT] máxima)
- </text>
- <text name="group_over_limit_text">
- Membros do grupo precisam contribuir com mais créditos de Terra para
-garantir a terra em uso.
- </text>
- <text name="group_money_heading">
- Grupo L$
- </text>
+ </panel.string>
+ <panel.string name="land_contrib_error">
+ Não foi possível definir sua contribuição
+ </panel.string>
+ <panel name="layout_panel_landmoney">
+ <scroll_list name="group_parcel_list">
+ <scroll_list.columns label="Lote" name="name"/>
+ <scroll_list.columns label="Região" name="location"/>
+ <scroll_list.columns label="Tipo" name="type"/>
+ <scroll_list.columns label="Área:" name="area"/>
+ </scroll_list>
+ <text name="total_contributed_land_label">
+ Total contribuído:
+ </text>
+ <text name="total_contributed_land_value">
+ [AREA] m²
+ </text>
+ <button label="Mapa" label_selected="Mapa" name="map_button"/>
+ <text name="total_land_in_use_label">
+ Total em uso:
+ </text>
+ <text name="total_land_in_use_value">
+ [AREA] m²
+ </text>
+ <text name="land_available_label">
+ Disponíveis:
+ </text>
+ <text name="land_available_value">
+ [AREA] m²
+ </text>
+ <text name="your_contribution_label">
+ Sua contribuição:
+ </text>
+ <text name="your_contribution_units">
+ m²
+ </text>
+ <text name="your_contribution_max_value">
+ ([AMOUNT] max)
+ </text>
+ <text name="group_over_limit_text">
+ O terreno em uso requer mais créditos
+ </text>
+ <text name="group_money_heading">
+ L$ do grupo
+ </text>
+ </panel>
<tab_container name="group_money_tab_container">
- <panel label="Planejamento" name="group_money_planning_tab">
+ <panel label="PLANEJAMENTO" name="group_money_planning_tab">
<text_editor name="group_money_planning_text">
- Computando..
+ Carregando...
</text_editor>
</panel>
- <panel label="Detalhes" name="group_money_details_tab">
+ <panel label="DETALHES" name="group_money_details_tab">
<text_editor name="group_money_details_text">
- Computando...
+ Carregando...
</text_editor>
- <button label="&lt; Mais Cedo" label_selected="&lt; Cedo" name="earlier_details_button" tool_tip="Voltar no Tempo"/>
- <button label="Mais Tarde &gt;" label_selected="Tarde &gt;" name="later_details_button" tool_tip="Adiantar o Tempo"/>
+ <button label="&lt; Mais Cedo" label_selected="&lt; Cedo" name="earlier_details_button" tool_tip="Atrás"/>
+ <button label="Mais Tarde &gt;" label_selected="Tarde &gt;" name="later_details_button" tool_tip="Próximo"/>
</panel>
- <panel label="Vendas" name="group_money_sales_tab">
+ <panel label="VENDAS" name="group_money_sales_tab">
<text_editor name="group_money_sales_text">
- Computando...
+ Carregando...
</text_editor>
- <button label="&lt; Mais Cedo" label_selected="&lt; Mais Cedo" name="earlier_sales_button" tool_tip="Voltar no Tempo"/>
- <button label="Mais Tarde &gt;" label_selected="Mais Tarde &gt;" name="later_sales_button" tool_tip="Adiantar o Tempo"/>
+ <button label="&lt; Mais Cedo" label_selected="&lt; Mais Cedo" name="earlier_sales_button" tool_tip="Atrás"/>
+ <button label="Mais Tarde &gt;" label_selected="Mais Tarde &gt;" name="later_sales_button" tool_tip="Próximo"/>
</panel>
</tab_container>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_group_list_item.xml b/indra/newview/skins/default/xui/pt/panel_group_list_item.xml
new file mode 100644
index 0000000000..19c34d2f10
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_group_list_item.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="group_list_item">
+ <text name="group_name" value="Desconhecido"/>
+ <button name="profile_btn" tool_tip="Ver perfil"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_group_notices.xml b/indra/newview/skins/default/xui/pt/panel_group_notices.xml
index d5c0f01e33..2abc8bc7c8 100644
--- a/indra/newview/skins/default/xui/pt/panel_group_notices.xml
+++ b/indra/newview/skins/default/xui/pt/panel_group_notices.xml
@@ -1,58 +1,54 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Notícias" name="notices_tab">
- <text name="help_text">
+ <panel.string name="help_text">
As notícias são uma maneira rápida de comunicar-se através de um grupo transmitindo uma mensagem e entregando um item anexo, opcionalmente. As notícias vão apenas a membros do grupo que têm a função habilitada para receber notícias. Você pode desligar Notícias na aba Geral.
- </text>
- <text name="no_notices_text">
- Não existem notícias anteriores.
- </text>
- <button label="?" label_selected="?" name="help_button"/>
- <text name="lbl">
- Arquivo de notícias do grupo
- </text>
+ </panel.string>
+ <panel.string name="no_notices_text">
+ Não há nenhum aviso antigo
+ </panel.string>
<text name="lbl2">
- As notícias são mantidas por 14 dias.
-Listas de aviso estão limitadas a 200 por grupo, diariamente.
+ Cada aviso é armazenado por 14 dias.
+Cada grupo pode enviar no máximo 200 avisos/dia
</text>
<scroll_list name="notice_list">
- <column label="Assunto" name="subject"/>
- <column label="Para" name="from"/>
- <column label="Data" name="date"/>
+ <scroll_list.columns label="Assunto" name="subject"/>
+ <scroll_list.columns label="Para" name="from"/>
+ <scroll_list.columns label="Data" name="date"/>
</scroll_list>
<text name="notice_list_none_found">
- Nenhum encontrado.
+ Nenhum resultado foi encontrado.
</text>
- <button label="Criar nova notícia" label_selected="Criar nova notícia" name="create_new_notice"/>
- <button label="Atualizar" label_selected="Atualizar Lista" name="refresh_notices"/>
+ <button label="Criar um novo aviso" label_selected="Criar nova notícia" name="create_new_notice" tool_tip="Criar um novo aviso"/>
+ <button label="Atualizar" label_selected="Atualizar Lista" name="refresh_notices" tool_tip="Atualizar lista de avisos"/>
<panel label="Criar nova notícia" name="panel_create_new_notice">
<text name="lbl">
Criar uma notícia
</text>
- <text name="lbl2">
- Você pode adicionar um item simples à notícia, arrastando-o do seu Inventário para o painel. Itens anexados devem ser copiáveis e transferíveis e você não pode mandar uma pasta.
- </text>
- <text name="lbl3" left="20">
+ <text left="20" name="lbl3">
Assunto:
</text>
- <line_editor name="create_subject" width="251" left_delta="61"/>
- <text name="lbl4" left="15" width="60">
+ <line_editor left_delta="61" name="create_subject" width="251"/>
+ <text left="15" name="lbl4" width="60">
Mensagem:
</text>
- <text_editor name="create_message" left_delta="66" width="330"/>
+ <text_editor left_delta="66" name="create_message" width="330"/>
<text name="lbl5" width="68">
Anexo:
</text>
- <line_editor name="create_inventory_name" width="190" left_delta="74"/>
- <button label="Remover o anexo" label_selected="Remover o anexo" name="remove_attachment"/>
+ <line_editor left_delta="74" name="create_inventory_name" width="190"/>
+ <text name="string">
+ Arrastar e soltar o item aqui para anexá-lo:
+ </text>
+ <button label="Tirar" label_selected="Remover o anexo" name="remove_attachment" tool_tip="Remover anexo da notificação."/>
<button label="Enviar" label_selected="Enviar" name="send_notice"/>
- <panel name="drop_target" tool_tip="Arraste um item do inventário para dentro da caixa de mensagem para enviá-lo com a notícia. Você deve ter permissão para copiar e transferir o objeto, para enviá-lo com a notícia."/>
+ <group_drop_target name="drop_target" tool_tip="Arrastar um item do inventário para a caixa para enviá-lo com o aviso. É preciso ter autorização de cópia e transferência do item para anexá-lo ao aviso."/>
</panel>
<panel label="Visualizar Notícia Anterior" name="panel_view_past_notice">
<text name="lbl">
Notícia arquivada
</text>
<text name="lbl2">
- Para enviar uma notícia nova, clique no botão &apos;Criar Nova Notícia&apos; acima.
+ Para enviar um novo aviso, clique no botão +
</text>
<text name="lbl3">
Asunto:
@@ -60,6 +56,6 @@ Listas de aviso estão limitadas a 200 por grupo, diariamente.
<text name="lbl4">
Mensagem:
</text>
- <button label="Abrir o anexo" label_selected="Abrir o anexo" name="open_attachment"/>
+ <button label="Abrir anexo" label_selected="Abrir o anexo" name="open_attachment"/>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_group_notify.xml b/indra/newview/skins/default/xui/pt/panel_group_notify.xml
new file mode 100644
index 0000000000..5a8ea81074
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_group_notify.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="instant_message" name="panel_group_notify">
+ <panel label="header" name="header">
+ <text name="title" value="Nome do remetente / grupo"/>
+ </panel>
+ <text name="attachment" value="Anexo"/>
+ <button label="OK" name="btn_ok"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_group_roles.xml b/indra/newview/skins/default/xui/pt/panel_group_roles.xml
index 087cf0c107..9c3792ec43 100644
--- a/indra/newview/skins/default/xui/pt/panel_group_roles.xml
+++ b/indra/newview/skins/default/xui/pt/panel_group_roles.xml
@@ -1,146 +1,104 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Membros e Funções" name="roles_tab">
- <string name="default_needs_apply_text">
- Existem alterações não aplicadas na sub-aba atual.
- </string>
- <string name="want_apply_text">
- Você quer submeter essas alterações?
- </string>
- <button label="?" name="help_button"/>
- <panel name="members_header">
- <text name="static">
- Membros e Funções
- </text>
- <text name="static2">
- São atribuídas funções com habilidades aos membros do grupo.
-Estes ajustes podem ser facilmente customizados para uma flexibilidade
-e organização maiores.
- </text>
- </panel>
- <panel name="roles_header">
- <text name="static">
- Funções
- </text>
- <text name="role_properties_modifiable">
- Selecionar uma função abaixo. Você pode modificar o nome, a descrição
-e o título do membro.
- </text>
- <text name="role_properties_not_modifiable">
- Selecione uma função abaixo para ver suas propriedades, membros e
-habilidades permitidas.
- </text>
- <text bottom_delta="-28" name="role_actions_modifiable">
- Você também pode atribuir habilidades à função.
- </text>
- <text name="role_actions_not_modifiable">
- Você pode ver, mas não pode alterar habilidades atribuídas.
- </text>
- </panel>
- <panel name="actions_header">
- <text name="static">
- Habilidades
- </text>
- <text name="static2">
- Você pode ver a descrição de uma habilidade e quais funções e membros
-podem executar essa habilidade.
- </text>
- </panel>
+ <panel.string name="default_needs_apply_text">
+ Algumas modificações não foram salvas
+ </panel.string>
+ <panel.string name="want_apply_text">
+ Deseja salvar essas mudanças?
+ </panel.string>
<tab_container height="164" name="roles_tab_container">
- <panel height="148" label="Membros" name="members_sub_tab" tool_tip="Membros">
- <line_editor bottom="127" name="search_text"/>
- <button label="Pesquisar" name="search_button" width="75"/>
- <button label="Mostrar todos" name="show_all_button" left_delta="80"/>
- <name_list name="member_list" bottom_delta="-105" height="104" >
- <column label="Nome do membro" name="name"/>
- <column label="Tarifa doada" name="donated"/>
- <column label="Último login" name="online"/>
- </name_list>
- <button label="Convidar Novo Membro..." name="member_invite" width="165"/>
- <button label="Ejetar do Grupo" name="member_eject"/>
- <string name="help_text">
+ <panel height="148" label="MEMBROS" name="members_sub_tab" tool_tip="Membros">
+ <panel.string name="help_text">
Você pode adicionar ou remover as funções designadas aos membros. Selecione vários membros, segurando a tecla Ctrl e clicando em seus nomes.
- </string>
+ </panel.string>
+ <filter_editor label="Filtrar por membro" name="filter_input"/>
+ <name_list bottom_delta="-105" height="104" name="member_list">
+ <name_list.columns label="Membro" name="name"/>
+ <name_list.columns label="Doações" name="donated"/>
+ <name_list.columns label="Status" name="online"/>
+ </name_list>
+ <button label="Convidar" name="member_invite" width="165"/>
+ <button label="Ejetar" name="member_eject"/>
</panel>
- <panel height="148" label="Funções" name="roles_sub_tab">
- <line_editor bottom="127" name="search_text"/>
- <button label="Busca" name="search_button" width="75"/>
- <button label="Mostrar todos" name="show_all_button" left_delta="80"/>
- <scroll_list name="role_list" bottom_delta="-104" height="104">
- <column label="Nome da função" name="name"/>
- <column label="Título" name="title"/>
- <column label="Membro" name="members"/>
+ <panel height="148" label="CARGOS" name="roles_sub_tab">
+ <panel.string name="help_text">
+ Cada cargo tem um nome e uma lista das funções que membros designados podem desempenhar.
+ Os membros podem ter um ou mais cargos.
+ Cada grupo pode ter 10 cargos, incluindo Membro e Dono do Grupo.
+ </panel.string>
+ <panel.string name="cant_delete_role">
+ As funções &apos;Todos&apos; e &apos;Owners&apos; são especiais e não podem ser apagadas.
+ </panel.string>
+ <panel.string name="power_folder_icon">
+ Inv_FolderClosed
+ </panel.string>
+ <filter_editor label="Filtrar por cargo" name="filter_input"/>
+ <scroll_list bottom_delta="-104" height="104" name="role_list">
+ <scroll_list.columns label="Cargo" name="name"/>
+ <scroll_list.columns label="Título" name="title"/>
+ <scroll_list.columns label="#" name="members"/>
</scroll_list>
- <button label="Criar nova função..." name="role_create"/>
+ <button label="Adicionar cargo" name="role_create"/>
<button label="Apagar função" name="role_delete"/>
- <string name="help_text">
- As funções têm um título e uma lista de habilidades
-permitidas que os membros podem executar. Os membros poderão ter um ou mais funções.
- Um grupo poderá ter até 10 funções, incluíndo as funções dos membros e do dono do grupo.
- </string>
- <string name="cant_delete_role">
- As funções &apos;todos&apos; e &apos;donos&apos; são especiais e não podem ser deletadas.
- </string>
</panel>
- <panel height="148" label="Habilidades" name="actions_sub_tab">
- <line_editor bottom="127" name="search_text"/>
- <button label="Busca" name="search_button" width="75"/>
- <button label="Mostrar todos" name="show_all_button" left_delta="80"/>
- <scroll_list bottom_delta="-120" height="118" name="action_list" tool_tip="Selecione uma habilidade para ver mais detalhes."/>
- <string name="help_text">
+ <panel height="148" label="FUNÇÕES" name="actions_sub_tab" tool_tip="Você pode ver a descrição de uma função e quais cargos e membros podem desempenhá-la.">
+ <panel.string name="help_text">
As habilidades permitem que os membros nas funções façam coisas específicas dentro do grupo.
Há uma grande variedade de habilidades.
- </string>
+ </panel.string>
+ <filter_editor label="Filtrar por função" name="filter_input"/>
+ <scroll_list bottom_delta="-120" height="118" name="action_list" tool_tip="Selecione uma função para ver mais detalhes"/>
</panel>
</tab_container>
<panel name="members_footer">
<text name="static">
- Funções atribuídas
+ Cargos desempenhados
</text>
<text name="static2">
Habilidades permitidas
</text>
- <scroll_list name="member_allowed_actions" tool_tip="Para detalhes de cada habilidade permitida, veja a aba Habilidades."/>
+ <scroll_list name="member_allowed_actions" tool_tip="Clique na guia Funções para ver mais detalhes"/>
</panel>
<panel name="roles_footer">
<text name="static">
- Nome
- </text>
- <text name="static2">
- Descrição
+ Nome da função
</text>
<line_editor name="role_name">
Empregados
</line_editor>
<text name="static3">
- Título
+ Título da função
</text>
<line_editor name="role_title">
(esperando)
</line_editor>
+ <text name="static2">
+ Descrição
+ </text>
<text_editor name="role_description">
(esperando)
</text_editor>
<text name="static4">
- Membros atribuídos
+ Cargos desempenhados
</text>
+ <check_box label="Revelar membros" name="role_visible_in_list" tool_tip="Define se os membros dessa função são visíveis na guia geral para pessoas de fora do grupo."/>
<text name="static5" tool_tip="Uma lista de habilidades que a função selecionada atualmente pode executar.">
Habilidades permitidas
</text>
- <check_box label="Membros estão visíveis" name="role_visible_in_list" tool_tip="Selecione se os membros desta função estarão visíveis na aba Diversos, para as pessoas de fora do grupo."/>
- <scroll_list name="role_allowed_actions" tool_tip="Para ver detalhes de cada habilidade permitida, veja a aba correspondente."/>
+ <scroll_list name="role_allowed_actions" tool_tip="Clique na guia Funções para ver mais detalhes"/>
</panel>
<panel name="actions_footer">
<text name="static">
- Descrição
+ Descrição da função
</text>
<text_editor name="action_description">
Essa habilidade permite tirar alguem do grupo. Somente o dono do grupo poderá retirar outro dono do grupo.
</text_editor>
<text name="static2">
- Funções com habilidades
+ Cargos com esta função
</text>
<text name="static3">
- Membros com habilidades
+ Membros com esta função
</text>
</panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_im_control_panel.xml b/indra/newview/skins/default/xui/pt/panel_im_control_panel.xml
new file mode 100644
index 0000000000..11e1ba0039
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_im_control_panel.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_im_control_panel">
+ <layout_stack name="button_stack">
+ <layout_panel name="view_profile_btn_panel">
+ <button label="Perfil" name="view_profile_btn"/>
+ </layout_panel>
+ <layout_panel name="add_friend_btn_panel">
+ <button label="Adicionar amigo" name="add_friend_btn"/>
+ </layout_panel>
+ <layout_panel name="teleport_btn_panel">
+ <button label="Teletransportar" name="teleport_btn" tool_tip="Oferecer teletransporte"/>
+ </layout_panel>
+ <layout_panel name="share_btn_panel">
+ <button label="Compartilhar" name="share_btn"/>
+ </layout_panel>
+ <layout_panel name="share_btn_panel">
+ <button label="Pagar" name="pay_btn"/>
+ </layout_panel>
+ <layout_panel name="call_btn_panel">
+ <button label="Ligar" name="call_btn"/>
+ </layout_panel>
+ <layout_panel name="end_call_btn_panel">
+ <button label="Desligar" name="end_call_btn"/>
+ </layout_panel>
+ <layout_panel name="voice_ctrls_btn_panel">
+ <button label="Controles de voz" name="voice_ctrls_btn"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_landmark_info.xml b/indra/newview/skins/default/xui/pt/panel_landmark_info.xml
new file mode 100644
index 0000000000..6196c06d09
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_landmark_info.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="landmark_info">
+ <string name="title_create_landmark" value="Criar Landmark"/>
+ <string name="title_edit_landmark" value="Editar Landmark"/>
+ <string name="title_landmark" value="Landmark"/>
+ <string name="not_available" value="(N\A)"/>
+ <string name="unknown" value="(desconhecido)"/>
+ <string name="public" value="(público)"/>
+ <string name="server_update_text">
+ Informação do lugar não disponível sem atualização do servidor.
+ </string>
+ <string name="server_error_text">
+ Informações sobre esta localização não está disponível neste momento, por favor, tente novamente mais tarde.
+ </string>
+ <string name="server_forbidden_text">
+ Informações sobre esta localização está indisponível devido a restrições de acesso. Por favor, verifique as permissões com o proprietário da parcela.
+ </string>
+ <string name="acquired_date">
+ [wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
+ </string>
+ <button name="back_btn" tool_tip="Atrás"/>
+ <text name="title" value="Perfil do Lugar"/>
+ <scroll_container name="place_scroll">
+ <panel name="scrolling_panel">
+ <text name="maturity_value" value="desconhecido"/>
+ <panel name="landmark_info_panel">
+ <text name="owner_label" value="Proprietário:"/>
+ <text name="creator_label" value="Criador:"/>
+ <text name="created_label" value="Criado:"/>
+ </panel>
+ <panel name="landmark_edit_panel">
+ <text name="title_label" value="Título:"/>
+ <text name="notes_label" value="Minhas notas:"/>
+ <text name="folder_label" value="Localização da Landmark:"/>
+ </panel>
+ </panel>
+ </scroll_container>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_landmarks.xml b/indra/newview/skins/default/xui/pt/panel_landmarks.xml
new file mode 100644
index 0000000000..3f357bcefe
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_landmarks.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Landmarks">
+ <accordion name="landmarks_accordion">
+ <accordion_tab name="tab_favorites" title="Barra &apos;Destaques&apos;"/>
+ <accordion_tab name="tab_landmarks" title="Meus marcos"/>
+ <accordion_tab name="tab_inventory" title="Meu inventário"/>
+ <accordion_tab name="tab_library" title="Biblioteca"/>
+ </accordion>
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Mostrar opções adicionais"/>
+ <button name="add_btn" tool_tip="Adicionar marco"/>
+ <dnd_button name="trash_btn" tool_tip="Excluir marco selecionado"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_login.xml b/indra/newview/skins/default/xui/pt/panel_login.xml
index d7ff3f29df..415451b49f 100644
--- a/indra/newview/skins/default/xui/pt/panel_login.xml
+++ b/indra/newview/skins/default/xui/pt/panel_login.xml
@@ -1,39 +1,34 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="panel_login">
<panel.string name="create_account_url">
- http://join.secondlife.com/index.php?lang=pt-BR
+ http://join.secondlife.com/
</panel.string>
<panel.string name="forgot_password_url">
http://secondlife.com/account/request.php?lang=pt
</panel.string>
-<panel name="login_widgets">
- <text name="first_name_text">
- Primeiro nome:
- </text>
- <text name="last_name_text">
- Sobrenome:
- </text>
- <text name="password_text">
- Senha:
- </text>
- <text name="start_location_text">
- Posição inicial:
- </text>
- <combo_box name="start_location_combo">
- <combo_box.item name="MyHome" label="Minha casa" />
- <combo_box.item name="MyLastLocation" label="Minha última localização" />
- <combo_box.item name="Typeregionname" label="&lt; Digite o nome da região &gt;" />
- </combo_box>
- <check_box label="Lembrar senha" name="remember_check"/>
- <button label="Entrar" label_selected="Entrar" name="connect_btn"/>
- <text name="create_new_account_text">
- Registrar-se para uma conta
- </text>
- <text name="forgot_password_text" left="-240" width="230">
- Esqueceu seu nome de usuário ou senha?
- </text>
- <text name="channel_text">
- [VERSION]
- </text>
-</panel>
+ <layout_stack name="login_widgets">
+ <layout_panel name="login">
+ <text name="first_name_text">
+ Primeiro nome:
+ </text>
+ <line_editor label="Nome" name="first_name_edit" tool_tip="[SECOND_LIFE] First Name"/>
+ <line_editor label="Sobrenome" name="last_name_edit" tool_tip="[SECOND_LIFE] Last Name"/>
+ <check_box label="Lembrar senha" name="remember_check"/>
+ <text name="start_location_text">
+ Começar em:
+ </text>
+ <combo_box name="start_location_combo">
+ <combo_box.item label="Minha casa" name="MyHome"/>
+ </combo_box>
+ <button label="conectar" name="connect_btn"/>
+ </layout_panel>
+ <layout_panel name="links">
+ <text name="create_new_account_text">
+ Cadastre-se
+ </text>
+ <text name="login_help">
+ Precisa de ajuda ao conectar?
+ </text>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_main_inventory.xml b/indra/newview/skins/default/xui/pt/panel_main_inventory.xml
new file mode 100644
index 0000000000..f64b9f319f
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_main_inventory.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Coisas" name="main inventory panel">
+ <panel.string name="Title">
+ Coisas
+ </panel.string>
+ <filter_editor label="Filtro" name="inventory search editor"/>
+ <tab_container name="inventory filter tabs">
+ <inventory_panel label="Todos os itens" name="All Items"/>
+ <inventory_panel label="Itens recentes" name="Recent Items"/>
+ </tab_container>
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Mostrar opções adicionais"/>
+ <button name="add_btn" tool_tip="Adicionar novo item"/>
+ <dnd_button name="trash_btn" tool_tip="Remover item selecionado"/>
+ </panel>
+ <menu_bar name="Inventory Menu">
+ <menu label="Arquivo" name="File">
+ <menu_item_call label="Abrir" name="Open"/>
+ <menu label="Upload" name="upload">
+ <menu_item_call label="Imagem (L$[COST])..." name="Upload Image"/>
+ <menu_item_call label="Som (L$[COST])..." name="Upload Sound"/>
+ <menu_item_call label="Animação (L$[COST])..." name="Upload Animation"/>
+ <menu_item_call label="Volume (L$[COST] per file)..." name="Bulk Upload"/>
+ </menu>
+ <menu_item_call label="Nova janela" name="New Window"/>
+ <menu_item_call label="Mostrar filtros" name="Show Filters"/>
+ <menu_item_call label="Restabelecer filtros" name="Reset Current"/>
+ <menu_item_call label="Fechar todas as pastas" name="Close All Folders"/>
+ <menu_item_call label="Esvaziar lixeira" name="Empty Trash"/>
+ <menu_item_call label="Esvaziar achados e perdidos" name="Empty Lost And Found"/>
+ </menu>
+ <menu label="Crie" name="Create">
+ <menu_item_call label="Nova pasta" name="New Folder"/>
+ <menu_item_call label="Novo script" name="New Script"/>
+ <menu_item_call label="Nova anotação" name="New Note"/>
+ <menu_item_call label="Novo gesto" name="New Gesture"/>
+ <menu label="Novas roupas" name="New Clothes">
+ <menu_item_call label="Nova camisa" name="New Shirt"/>
+ <menu_item_call label="Novas calças" name="New Pants"/>
+ <menu_item_call label="Novos sapatos" name="New Shoes"/>
+ <menu_item_call label="Novas meias" name="New Socks"/>
+ <menu_item_call label="Nova blusa" name="New Jacket"/>
+ <menu_item_call label="Nova saia" name="New Skirt"/>
+ <menu_item_call label="Novas luvas" name="New Gloves"/>
+ <menu_item_call label="Nova camiseta" name="New Undershirt"/>
+ <menu_item_call label="Novas roupa de baixo" name="New Underpants"/>
+ <menu_item_call label="Novo alpha" name="New Alpha"/>
+ <menu_item_call label="Nova tatuagem" name="New Tattoo"/>
+ </menu>
+ <menu label="Nova parte do corpo" name="New Body Parts">
+ <menu_item_call label="Nova silhueta" name="New Shape"/>
+ <menu_item_call label="Nova pele" name="New Skin"/>
+ <menu_item_call label="Novo cabelo" name="New Hair"/>
+ <menu_item_call label="Novos olhos" name="New Eyes"/>
+ </menu>
+ </menu>
+ <menu label="Classificar" name="Sort">
+ <menu_item_check label="Por nome" name="By Name"/>
+ <menu_item_check label="Por data" name="By Date"/>
+ <menu_item_check label="Pastas sempre por nome" name="Folders Always By Name"/>
+ <menu_item_check label="Pastas do sistema no topo" name="System Folders To Top"/>
+ </menu>
+ </menu_bar>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_me.xml b/indra/newview/skins/default/xui/pt/panel_me.xml
new file mode 100644
index 0000000000..412f75ca78
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_me.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Meu perfil" name="panel_me">
+ <tab_container name="tabs">
+ <panel label="MEU PERFIL" name="panel_profile"/>
+ <panel label="MEUS DESTAQUES" name="panel_picks"/>
+ </tab_container>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_media_settings_general.xml b/indra/newview/skins/default/xui/pt/panel_media_settings_general.xml
new file mode 100644
index 0000000000..9815b8d0b4
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_media_settings_general.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Público geral" name="Media Settings General">
+ <text name="home_label">
+ Página web:
+ </text>
+ <text name="home_fails_whitelist_label">
+ (Esta página não atende à lista de páginas aprovadas)
+ </text>
+ <line_editor name="home_url" tool_tip="Website desta mídia"/>
+ <text name="preview_label">
+ Visualizar
+ </text>
+ <text name="current_url_label">
+ Página atual:
+ </text>
+ <text name="current_url" tool_tip="Website desta mídia" value=""/>
+ <button label="Redefinir" name="current_url_reset_btn"/>
+ <check_box initial_value="false" label="Loop contínuo" name="auto_loop"/>
+ <check_box initial_value="false" label="Interagir no primeiro clique" name="first_click_interact"/>
+ <check_box initial_value="false" label="Zoom automático" name="auto_zoom"/>
+ <check_box initial_value="false" label="Mídia auto-executável" name="auto_play"/>
+ <text name="media_setting_note">
+ Nota: Residentes podem redefinir a configuração.
+ </text>
+ <check_box initial_value="false" label="Dimensionamento automático na frente do objeto" name="auto_scale"/>
+ <text name="size_label">
+ Tamanho:
+ </text>
+ <text name="X_label">
+ X
+ </text>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_media_settings_permissions.xml b/indra/newview/skins/default/xui/pt/panel_media_settings_permissions.xml
new file mode 100644
index 0000000000..009dd0d752
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_media_settings_permissions.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Customizar" name="Media settings for controls">
+ <text name="controls_label">
+ Controles:
+ </text>
+ <combo_box name="controls">
+ <combo_item name="Standard">
+ Padrão
+ </combo_item>
+ <combo_item name="Mini">
+ Mini
+ </combo_item>
+ </combo_box>
+ <check_box initial_value="false" label="Permitir navegação &amp; interatividade" name="perms_owner_interact"/>
+ <check_box initial_value="false" label="Exibir barra de controle" name="perms_owner_control"/>
+ <check_box initial_value="false" label="Permitir navegação &amp; interatividade" name="perms_group_interact"/>
+ <check_box initial_value="false" label="Exibir barra de controle" name="perms_group_control"/>
+ <check_box initial_value="false" label="Permitir navegação &amp; interatividade" name="perms_anyone_interact"/>
+ <check_box initial_value="false" label="Exibir barra de controle" name="perms_anyone_control"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_media_settings_security.xml b/indra/newview/skins/default/xui/pt/panel_media_settings_security.xml
new file mode 100644
index 0000000000..646969946c
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_media_settings_security.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Segurança" name="Media Settings Security">
+ <check_box initial_value="false" label="Acesso permitido a URLs com padrão específico" name="whitelist_enable"/>
+ <text name="home_url_fails_some_items_in_whitelist">
+ URLs com falha de acesso na página inicial são indicados com um:
+ </text>
+ <button label="Adicionar" name="whitelist_add"/>
+ <button label="Excluir" name="whitelist_del"/>
+ <text name="home_url_fails_whitelist">
+ Aviso: A página inicial especificada na aba Geral não consta na lista de acesso. Seu acesso será autorizado quando a lista for retificada.
+ </text>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_my_profile.xml b/indra/newview/skins/default/xui/pt/panel_my_profile.xml
new file mode 100644
index 0000000000..b1ca318add
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_my_profile.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Perfil" name="panel_profile">
+ <string name="no_partner_text" value="Nenhum"/>
+ <string name="no_group_text" value="Nenhum"/>
+ <string name="RegisterDateFormat">
+ [REG_DATE] ([AGE])
+ </string>
+ <layout_stack name="layout">
+ <layout_panel name="profile_stack">
+ <scroll_container name="profile_scroll">
+ <panel name="scroll_content_panel">
+ <panel name="second_life_image_panel">
+ <icon label="" name="2nd_life_edit_icon" tool_tip="Clique no botão Editar para trocar a imagem"/>
+ <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/>
+ </panel>
+ <panel name="first_life_image_panel">
+ <icon label="" name="real_world_edit_icon" tool_tip="Clique no botão Editar para trocar a imagem"/>
+ <text name="title_rw_descr_text" value="Mundo real:"/>
+ </panel>
+ <text name="title_member_text" value="Residente desde:"/>
+ <text name="title_acc_status_text" value="Conta:"/>
+ <text name="title_partner_text" value="Parceiro(a):"/>
+ <panel name="partner_data_panel">
+ <name_box initial_value="(pesquisando)" name="partner_text"/>
+ </panel>
+ <text name="title_groups_text" value="Grupos:"/>
+ </panel>
+ </scroll_container>
+ </layout_panel>
+ <layout_panel name="profile_me_buttons_panel">
+ <button label="Editar perfil" name="edit_profile_btn" tool_tip="Editar dados pessoais"/>
+ <button label="Editar aparência" name="edit_appearance_btn" tool_tip="Criar/editar aparência: físico, roupas, etc."/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_navigation_bar.xml b/indra/newview/skins/default/xui/pt/panel_navigation_bar.xml
new file mode 100644
index 0000000000..511c4426bb
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_navigation_bar.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="navigation_bar">
+ <panel name="navigation_panel">
+ <pull_button name="back_btn" tool_tip="Voltar para região anterior"/>
+ <pull_button name="forward_btn" tool_tip="Avançar uma região"/>
+ <button name="home_btn" tool_tip="Teletransportar para minha casa"/>
+ <location_input label="Onde" name="location_combo"/>
+ <search_combo_box label="Busca" name="search_combo_box" tool_tip="Busca">
+ <combo_editor label="Buscar no [SECOND_LIFE]" name="search_combo_editor"/>
+ </search_combo_box>
+ </panel>
+ <favorites_bar name="favorite" tool_tip="Arraste marcos para cá para acessar seus lugares preferidos do Second Life!">
+ <label name="favorites_bar_label" tool_tip="Arraste marcos para cá para acessar seus lugares preferidos do Second Life!">
+ Barra Destaques
+ </label>
+ <chevron_button name="&gt;&gt;" tool_tip="Mostrar mais favoritos"/>
+ </favorites_bar>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_nearby_chat.xml b/indra/newview/skins/default/xui/pt/panel_nearby_chat.xml
new file mode 100644
index 0000000000..bdbf29e70b
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_nearby_chat.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- All our XML is utf-8 encoded. -->
+<panel name="nearby_chat">
+ <panel name="chat_caption">
+ <text name="sender_name">
+ Bate-papo local
+ </text>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_nearby_chat_bar.xml b/indra/newview/skins/default/xui/pt/panel_nearby_chat_bar.xml
new file mode 100644
index 0000000000..9b993488be
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_nearby_chat_bar.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="chat_bar">
+ <line_editor label="Clique aqui para bater papo." name="chat_box" tool_tip="Tecle Enter para falar, Ctrl+Enter para gritar"/>
+ <button name="show_nearby_chat" tool_tip="Mostra/oculta o histórico do bate-papo local"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_nearby_media.xml b/indra/newview/skins/default/xui/pt/panel_nearby_media.xml
new file mode 100644
index 0000000000..a81d3e19f8
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_nearby_media.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="nearby_media">
+ <string name="empty_item_text">
+ &lt;vazio&gt;
+ </string>
+ <string name="parcel_media_name">
+ Mídia em stream deste lote
+ </string>
+ <string name="parcel_audio_name">
+ Áudio em stream do lote
+ </string>
+ <string name="playing_suffix">
+ (em execução)
+ </string>
+ <panel name="minimized_controls">
+ <button label="Parar tudo" name="all_nearby_media_disable_btn" tool_tip="Desligar mídias por perto"/>
+ <button label="Executar tudo" name="all_nearby_media_enable_btn" tool_tip="Ligar mídias por perto"/>
+ <button name="open_prefs_btn" tool_tip="Preferências de mídia"/>
+ <button label="Mais &gt;&gt;" label_selected="Menos &lt;&lt;" name="more_less_btn" tool_tip="Controles avançados"/>
+ </panel>
+ <panel name="nearby_media_panel">
+ <combo_box name="show_combo">
+ <combo_box.item label="Tudo" name="All"/>
+ <combo_box.item label="Neste lote" name="WithinParcel"/>
+ <combo_box.item label="Fora deste lote" name="OutsideParcel"/>
+ </combo_box>
+ <scroll_list name="media_list">
+ <scroll_list.columns label="Proximidade" name="media_proximity"/>
+ <scroll_list.columns label="Visíveis" name="media_visibility"/>
+ <scroll_list.columns label="Classe" name="media_class"/>
+ <scroll_list.columns label="Nome" name="media_name"/>
+ <scroll_list.columns label="Depurar" name="media_debug"/>
+ </scroll_list>
+ <panel>
+ <layout_stack name="media_controls">
+ <layout_panel name="stop">
+ <button name="stop_btn" tool_tip="Para mídia selecionada"/>
+ </layout_panel>
+ <layout_panel name="play">
+ <button name="play_btn" tool_tip="Tocar mídia selecionada"/>
+ </layout_panel>
+ <layout_panel name="pause">
+ <button name="pause_btn" tool_tip="Pausar mídia selecionada"/>
+ </layout_panel>
+ <layout_panel name="volume_slider_ctrl">
+ <slider_bar initial_value="0.5" name="volume_slider" tool_tip="Volume da mídia selecionada"/>
+ </layout_panel>
+ <layout_panel name="mute">
+ <button name="mute_btn" tool_tip="Silenciar mídia selecionada"/>
+ </layout_panel>
+ <layout_panel name="zoom">
+ <button name="zoom_btn" tool_tip="Enfocar mídia"/>
+ </layout_panel>
+ <layout_panel name="unzoom">
+ <button name="unzoom_btn" tool_tip="Desenfocar mídia selecionada"/>
+ </layout_panel>
+ </layout_stack>
+ </panel>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_notes.xml b/indra/newview/skins/default/xui/pt/panel_notes.xml
new file mode 100644
index 0000000000..9aa842d9a5
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_notes.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Anotações e Privacidade" name="panel_notes">
+ <layout_stack name="layout">
+ <panel name="notes_stack">
+ <scroll_container name="profile_scroll">
+ <panel name="profile_scroll_panel">
+ <text name="status_message" value="Minhas anotações privadas:"/>
+ <text name="status_message2" value="Deixar esta pessoa:"/>
+ <check_box label="Ver meu status" name="status_check"/>
+ <check_box label="Ver minha localização no mapa" name="map_check"/>
+ <check_box label="Pegar, editar ou excluir objetos meus" name="objects_check"/>
+ </panel>
+ </scroll_container>
+ </panel>
+ <panel name="notes_buttons_panel">
+ <button label="Adicionar amigo" name="add_friend" tool_tip="Oferecer amizade ao residente"/>
+ <button label="MI" name="im" tool_tip="Abrir sessão de mensagem instantânea"/>
+ <button label="Ligar" name="call" tool_tip="Ligar para este residente"/>
+ <button label="Mapa" name="show_on_map_btn" tool_tip="Exibir o residente no mapa"/>
+ <button label="Teletransportar" name="teleport" tool_tip="Oferecer teletransporte"/>
+ </panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_online_status.xml b/indra/newview/skins/default/xui/pt/panel_online_status.xml
new file mode 100644
index 0000000000..fdc489f375
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_online_status.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="friend_online_status" name="friend_online_status"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_online_status_toast.xml b/indra/newview/skins/default/xui/pt/panel_online_status_toast.xml
new file mode 100644
index 0000000000..fdc489f375
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_online_status_toast.xml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="friend_online_status" name="friend_online_status"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml
new file mode 100644
index 0000000000..8d648a98fa
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_outfits_inventory.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Coisas" name="Outfits">
+ <tab_container name="appearance_tabs">
+ <inventory_panel label="MEUS LOOKS" name="outfitslist_tab"/>
+ <inventory_panel label="EM USO" name="cof_tab"/>
+ </tab_container>
+ <panel name="bottom_panel">
+ <button name="options_gear_btn" tool_tip="Mostrar opções adicionais"/>
+ <dnd_button name="trash_btn" tool_tip="Remover item selecionado"/>
+ <button label="Salvar este look" name="make_outfit_btn" tool_tip="Salvar aparência como um look"/>
+ <button label="Vestir" name="wear_btn" tool_tip="Vestir look selecionado"/>
+ <button label="M" name="look_edit_btn"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_outfits_inventory_gear_default.xml b/indra/newview/skins/default/xui/pt/panel_outfits_inventory_gear_default.xml
new file mode 100644
index 0000000000..736b8f1fdd
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_outfits_inventory_gear_default.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<menu name="menu_gear_default">
+ <menu_item_call label="Substituir look atual" name="wear"/>
+ <menu_item_call label="Adicionar ao look atual" name="add"/>
+ <menu_item_call label="Tirar do look atual" name="remove"/>
+ <menu_item_call label="Renomear" name="rename"/>
+ <menu_item_call label="Remover link" name="remove_link"/>
+ <menu_item_call label="Excluir visual" name="delete"/>
+</menu>
diff --git a/indra/newview/skins/default/xui/pt/panel_people.xml b/indra/newview/skins/default/xui/pt/panel_people.xml
new file mode 100644
index 0000000000..5061788757
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_people.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Side tray panel -->
+<panel label="Pessoas" name="people_panel">
+ <string name="no_people" value="Nenhuma pessoa"/>
+ <string name="no_one_near" value="Ninguém por perto"/>
+ <string name="no_friends_online" value="Nenhum amigo online"/>
+ <string name="no_friends" value="Nenhum amigo"/>
+ <string name="people_filter_label" value="Filtro de pessoas"/>
+ <string name="groups_filter_label" value="Filtro de grupos"/>
+ <filter_editor label="Filtro" name="filter_input"/>
+ <tab_container name="tabs">
+ <panel label="PROXIMIDADE" name="nearby_panel">
+ <panel label="bottom_panel" name="bottom_panel">
+ <button name="nearby_view_sort_btn" tool_tip="Opções"/>
+ <button name="add_friend_btn" tool_tip="Adicionar o residente selecionado para sua lista de amigos"/>
+ </panel>
+ </panel>
+ <panel label="MEUS AMIGOS" name="friends_panel">
+ <accordion name="friends_accordion">
+ <accordion_tab name="tab_online" title="Online"/>
+ <accordion_tab name="tab_all" title="Todos"/>
+ </accordion>
+ <panel label="bottom_panel" name="bottom_panel">
+ <button name="friends_viewsort_btn" tool_tip="Opções"/>
+ <button name="add_btn" tool_tip="Oferecer amizade para um residente"/>
+ <button name="del_btn" tool_tip="Remover a pessoa selecionada da sua lista de amigos"/>
+ </panel>
+ <text name="no_friends_msg">
+ Para adicionar amigos, use a [secondlife:///app/search/people busca de pessoas] ou clique em um usuário para adicioná-lo.
+Para conhecer mais gente, use [secondlife:///app/worldmap o Mapa].
+ </text>
+ </panel>
+ <panel label="MEUS GRUPOS" name="groups_panel">
+ <panel label="bottom_panel" name="bottom_panel">
+ <button name="groups_viewsort_btn" tool_tip="Opções"/>
+ <button name="plus_btn" tool_tip="Ingressar em um grupo/Criar novo grupo"/>
+ <button name="activate_btn" tool_tip="Ativar o grupo selecionado"/>
+ </panel>
+ </panel>
+ <panel label="RECENTE" name="recent_panel">
+ <panel label="bottom_panel" name="bottom_panel">
+ <button name="recent_viewsort_btn" tool_tip="Opções"/>
+ <button name="add_friend_btn" tool_tip="Adicionar o residente selecionado para sua lista de amigos"/>
+ </panel>
+ </panel>
+ </tab_container>
+ <panel name="button_bar">
+ <button label="Perfil" name="view_profile_btn" tool_tip="Exibir fotografia, grupos e outras informações dos residentes"/>
+ <button label="MI" name="im_btn" tool_tip="Abrir sessão de mensagem instantânea"/>
+ <button label="Chamada" name="call_btn" tool_tip="Ligar para este residente"/>
+ <button label="Compartilhar" name="share_btn"/>
+ <button label="Teletransporte" name="teleport_btn" tool_tip="Oferecer teletransporte"/>
+ <button label="Perfil do grupo" name="group_info_btn" tool_tip="Exibir informação de grupo"/>
+ <button label="Bate- papo de grupo" name="chat_btn" tool_tip="abrir sessão de bate- papo"/>
+ <button label="Ligar para o grupo" name="group_call_btn" tool_tip="Ligar para este grupo"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_pick_info.xml b/indra/newview/skins/default/xui/pt/panel_pick_info.xml
new file mode 100644
index 0000000000..007965a8c9
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_pick_info.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_pick_info">
+ <text name="title" value="Detalhes do destaque"/>
+ <scroll_container name="profile_scroll">
+ <panel name="scroll_content_panel">
+ <text name="pick_name" value="[NAME]"/>
+ <text name="pick_location" value="[carregando...]"/>
+ <text name="pick_desc" value="[descrição]"/>
+ </panel>
+ </scroll_container>
+ <panel name="buttons">
+ <button label="Teletransportar" name="teleport_btn"/>
+ <button label="Mapa" name="show_on_map_btn"/>
+ <button label="Editar" name="edit_btn"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_picks.xml b/indra/newview/skins/default/xui/pt/panel_picks.xml
new file mode 100644
index 0000000000..453954bc3e
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_picks.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Destaques" name="panel_picks">
+ <string name="no_picks" value="Sem destaques"/>
+ <string name="no_classifieds" value="Sem classificados"/>
+ <text name="empty_picks_panel_text">
+ Não ha nenhum destaque/ classificado aqui
+ </text>
+ <accordion name="accordion">
+ <accordion_tab name="tab_picks" title="Destaques"/>
+ <accordion_tab name="tab_classifieds" title="Classificados"/>
+ </accordion>
+ <panel label="bottom_panel" name="edit_panel">
+ <button name="new_btn" tool_tip="Criar um novo destaque ou classificado na localização atual"/>
+ </panel>
+ <panel name="buttons_cucks">
+ <button label="Info" name="info_btn" tool_tip="Exibir informação de destaque"/>
+ <button label="Teletransportar" name="teleport_btn" tool_tip="Teletransportar para a área correspondente"/>
+ <button label="Mapa" name="show_on_map_btn" tool_tip="Exibir a área correspondente no Mapa Mundi"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_place_profile.xml b/indra/newview/skins/default/xui/pt/panel_place_profile.xml
new file mode 100644
index 0000000000..453c56d280
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_place_profile.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="place_profile">
+ <string name="on" value="Ligar"/>
+ <string name="off" value="Desligar"/>
+ <string name="anyone" value="Todos"/>
+ <string name="available" value="disponível"/>
+ <string name="allocated" value="alocados"/>
+ <string name="title_place" value="Perfil da região"/>
+ <string name="title_teleport_history" value="Histórico de teletransportes"/>
+ <string name="not_available" value="(N\A)"/>
+ <string name="unknown" value="(Desconhecido)"/>
+ <string name="public" value="(público)"/>
+ <string name="none_text" value="(nenhum)"/>
+ <string name="sale_pending_text" value="(Venda em andamento)"/>
+ <string name="group_owned_text" value="(Propriedade do grupo)"/>
+ <string name="price_text" value="L$"/>
+ <string name="area_text" value="m²"/>
+ <string name="all_residents_text" value="Todos os residentes"/>
+ <string name="group_text" value="Grupo"/>
+ <string name="can_resell">
+ Esta região permite a compra e venda de lotes.
+ </string>
+ <string name="can_not_resell">
+ Esta região não permite a compra e venda de lotes.
+ </string>
+ <string name="can_change">
+ Esta região permite a junção ou subdivisão de lotes.
+ </string>
+ <string name="can_not_change">
+ Esta região não permite a junção ou subdivisão de lotes.
+ </string>
+ <string name="server_update_text">
+ Dados sobre o local requerem atualização do servidor.
+ </string>
+ <string name="server_error_text">
+ Dados sobre o local não disponíveis no momento. Favor tentar mais tarde.
+ </string>
+ <string name="server_forbidden_text">
+ Dados sobre o local controlados por lista de acesso. Verifique se você está autorizado a acessá-los com o dono do lote.
+ </string>
+ <string name="acquired_date">
+ [wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
+ </string>
+ <button name="back_btn" tool_tip="Atrás"/>
+ <text name="title" value="Perfil da região"/>
+ <scroll_container name="place_scroll">
+ <panel name="scrolling_panel">
+ <text name="owner_label" value="Proprietário:"/>
+ <text name="maturity_value" value="(Desconhecido)"/>
+ <accordion name="advanced_info_accordion">
+ <accordion_tab name="parcel_characteristics_tab" title="Lote">
+ <panel name="parcel_characteristics_panel">
+ <text name="rating_label" value="Classificação:"/>
+ <text name="rating_value" value="(Desconhecido)"/>
+ <text name="voice_label" value="Voz:"/>
+ <text name="voice_value" value="Ligar"/>
+ <text name="fly_label" value="Voar:"/>
+ <text name="fly_value" value="Ligar"/>
+ <text name="push_label" value="Push:"/>
+ <text name="push_value" value="Desligar"/>
+ <text name="build_label" value="Construir:"/>
+ <text name="build_value" value="Ligar"/>
+ <text name="scripts_label" value="Scripts:"/>
+ <text name="scripts_value" value="Ligar"/>
+ <text name="damage_label" value="Dano:"/>
+ <text name="damage_value" value="Desligar"/>
+ <button label="Sobre terrenos" name="about_land_btn"/>
+ </panel>
+ </accordion_tab>
+ <accordion_tab name="region_information_tab" title="Região">
+ <panel name="region_information_panel">
+ <text name="region_name_label" value="Região:"/>
+ <text name="region_type_label" value="Tipo:"/>
+ <text name="region_rating_label" value="Classificação:"/>
+ <text name="region_owner_label" value="Proprietário:"/>
+ <text name="region_group_label" value="Grupo:"/>
+ <button label="Região/Propriedade" name="region_info_btn"/>
+ </panel>
+ </accordion_tab>
+ <accordion_tab name="estate_information_tab" title="Propriedade">
+ <panel name="estate_information_panel">
+ <text name="estate_name_label" value="Propriedade:"/>
+ <text name="estate_rating_label" value="Classificação:"/>
+ <text name="estate_owner_label" value="Proprietário:"/>
+ <text name="covenant_label" value="Contrato:"/>
+ </panel>
+ </accordion_tab>
+ <accordion_tab name="sales_tab" title="À venda">
+ <panel name="sales_panel">
+ <text name="sales_price_label" value="Preço:"/>
+ <text name="area_label" value="Área:"/>
+ <text name="traffic_label" value="Trânsito:"/>
+ <text name="primitives_label" value="Prims:"/>
+ <text name="parcel_scripts_label" value="Scripts:"/>
+ <text name="terraform_limits_label" value="Limite de terraplenagem:"/>
+ <text name="subdivide_label" value="Juntar/subdividir:"/>
+ <text name="resale_label" value="Revenda:"/>
+ <text name="sale_to_label" value="À venda para:"/>
+ </panel>
+ </accordion_tab>
+ </accordion>
+ </panel>
+ </scroll_container>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_places.xml b/indra/newview/skins/default/xui/pt/panel_places.xml
new file mode 100644
index 0000000000..d9045e1a37
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_places.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Lugares" name="places panel">
+ <string name="landmarks_tab_title" value="MEUS MARCOS"/>
+ <string name="teleport_history_tab_title" value="HISTÓRICO DE TELETRANSPORTES"/>
+ <filter_editor label="Filtrar meus lugares" name="Filter"/>
+ <panel name="button_panel">
+ <button label="Teletransportar" name="teleport_btn" tool_tip="Teletransportar para a área selecionada"/>
+ <button label="Mapa" name="map_btn"/>
+ <button label="Editar" name="edit_btn" tool_tip="Editar dados do marco"/>
+ <button label="▼" name="overflow_btn" tool_tip="Mostrar opções adicionais"/>
+ <button label="Salvar" name="save_btn"/>
+ <button label="Cancelar" name="cancel_btn"/>
+ <button label="Fechar" name="close_btn"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/pt/panel_preferences_advanced.xml
index 5ca80bd74d..7ed64404e6 100644
--- a/indra/newview/skins/default/xui/pt/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/pt/panel_preferences_advanced.xml
@@ -1,12 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
-<panel name="advanced">
- <text name="AspectRatioLabel1" tool_tip="largura / altura">
- Relação de Aspecto:
+<panel label="Avançado" name="advanced">
+ <panel.string name="aspect_ratio_text">
+ [NUM]:[DEN]
+ </panel.string>
+ <slider label="Ângulo de visão" name="camera_fov"/>
+ <slider label="Distância" name="camera_offset_scale"/>
+ <text name="heading2">
+ Posicionamento automático da:
</text>
- <combo_box name="aspect_ratio" tool_tip="largura / altura">
- <combo_box.item label="4:3 (CRT Padrão)" name="item1"/>
- <combo_box.item label="5:4 (1280x1024 LCD)" name="item2"/>
- <combo_box.item label="8:5 (tela ampla)" name="item3"/>
- <combo_box.item label="16:9 (tela ampla)" name="item4"/>
- </combo_box>
+ <check_box label="Construir/Editar" name="edit_camera_movement" tool_tip="Use o posicionamento automático da câmera quando entrar e sair do modo de edição"/>
+ <check_box label="Aparência" name="appearance_camera_movement" tool_tip="Use o posicionamento automático da câmera quando em modo de edição"/>
+ <check_box label="Mostre-me em visão de mouse" name="first_person_avatar_visible"/>
+ <check_box label="Teclas de seta sempre me movem" name="arrow_keys_move_avatar_check"/>
+ <check_box label="Dê dois toques e pressione para correr" name="tap_tap_hold_to_run"/>
+ <check_box label="Mover os lábios do avatar quando estiver falando" name="enable_lip_sync"/>
+ <check_box label="Balão de bate-papo" name="bubble_text_chat"/>
+ <slider label="Opacidade" name="bubble_chat_opacity"/>
+ <color_swatch name="background" tool_tip="Escolha a cor do balão de bate-papo"/>
+ <check_box label="Mostrar erros de script" name="show_script_errors"/>
+ <radio_group name="show_location">
+ <radio_item label="Bate-papo local" name="0"/>
+ <radio_item label="Janelas separadas" name="1"/>
+ </radio_group>
+ <check_box label="Tecla liga/desliga da minha voz:" name="push_to_talk_toggle_check" tool_tip="Quando em modo de alternância, pressione e solte o botão UMA vez para ligar e desligar o microfone. Quando em modo de alternância, o microfone só transmite sua enquanto o botão estiver pressionado."/>
+ <line_editor label="Botao apertar e falar" name="modifier_combo"/>
+ <button label="Definir chave" name="set_voice_hotkey_button"/>
+ <button label="Botão do meio do mouse" name="set_voice_middlemouse_button" tool_tip="Redefinir como botão do meio do mouse"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/pt/panel_preferences_alerts.xml
index e060d784da..2ffe720ccf 100644
--- a/indra/newview/skins/default/xui/pt/panel_preferences_alerts.xml
+++ b/indra/newview/skins/default/xui/pt/panel_preferences_alerts.xml
@@ -1,18 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Popups" name="popups" title="Popups">
- <text name="dont_show_label">
- Não mostrar estas popups:
+ <text name="tell_me_label">
+ Avisar:
</text>
- <button label="Habilitar esta popup" label_selected="Habilitar este popup" name="enable_popup"/>
- <button label="Habilitar todas as popups..." label_selected="Reiniciar Dialogos que serão mostrados na próxima vez..." name="reset_dialogs_btn" tool_tip="Habilitar todas as popups opcionais e notificações de “primeiro uso”." width="200"/>
+ <check_box label="Quando eu gasto ou recebo L$" name="notify_money_change_checkbox"/>
+ <check_box label="Quando meus amigos entram e saem" name="friends_online_notify_checkbox"/>
<text name="show_label">
- Mostrar estas popups:
+ Mostrar sempre:
</text>
- <button label="Desabilitar todas estas popups..." name="skip_dialogs_btn" tool_tip="Desabilitar todas as popups opcionais e notificações de “primeiro uso”." width="200"/>
- <text name="text_box2">
- Ofertas de notecards, texturas e landmarks:
+ <text name="dont_show_label">
+ Nunca mostrar:
</text>
- <check_box label="Aceitar automaticamente" name="accept_new_inventory"/>
- <check_box label="Visualizar automaticamente após aceitar" name="show_new_inventory"/>
- <check_box label="Mostrar automaticamente objetos aceitos recentemente no inventário." name="show_in_inventory"/>
</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 aa40f97fe3..d9b18724e2 100644
--- a/indra/newview/skins/default/xui/pt/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/pt/panel_preferences_chat.xml
@@ -1,17 +1,13 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Chat" name="chat">
- <text name="text_box">
- Tamanho da Fonte
-do Chat:
- </text>
<radio_group name="chat_font_size">
- <radio_item name="radio" label="Pequeno" />
- <radio_item name="radio2" label="Médio" />
- <radio_item name="radio3" label="Grande" />
+ <radio_item label="Pequeno" name="radio" value="0"/>
+ <radio_item label="Média" name="radio2" value="1"/>
+ <radio_item label="Grande" name="radio3" value="2"/>
</radio_group>
<color_swatch label="Você" name="user"/>
<text name="text_box1">
- Você
+ Eu
</text>
<color_swatch label="Outros" name="agent"/>
<text name="text_box2">
@@ -37,23 +33,14 @@ do Chat:
<text name="text_box7">
Dono
</text>
- <color_swatch label="Bolha" name="background"/>
- <text name="text_box8">
- Bolha
- </text>
<color_swatch label="URLs" name="links"/>
<text name="text_box9">
URLs
</text>
- <check_box label="Mostrar Erros de Script e avisos como chat comum" name="script_errors_as_chat"/>
- <spinner label="Ocultar Chat depois" label_width="108" name="fade_chat_time" width="160"/>
- <spinner left="373" name="max_chat_count"/>
- <slider label="Opacidade" name="console_opacity"/>
- <check_box label="Use a largura total da tela (Precisa reiniciar)" name="chat_full_width_check"/>
- <check_box label="Feche a barra de conversa após pressionar retornar" name="close_chat_on_return_check"/>
- <check_box label="Teclas de Setas sempre movem o avatar durante a conversa" name="arrow_keys_move_avatar_check"/>
- <check_box label="Mostrar a hora na conversa local" name="show_timestamps_check"/>
- <check_box label="Executar animação digitada quando estiver conversando" name="play_typing_animation"/>
- <check_box label="Mostrar bolhas do chat" name="bubble_text_chat"/>
- <slider label="Opacidade" name="bubble_chat_opacity"/>
+ <check_box initial_value="true" label="Executar animação digitada quando estiver conversando" name="play_typing_animation"/>
+ <check_box label="Envie MIs por email quando eu estiver desconectado" name="send_im_to_email"/>
+ <radio_group name="chat_window" tool_tip="Exibir cada bate-papo em uma janela separada, ou exibir todos em uma única janela com uma aba para cada pessoa (requer reinício)">
+ <radio_item label="Janelas separadas" name="radio" value="0"/>
+ <radio_item label="Guias" name="radio2" value="1"/>
+ </radio_group>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_general.xml b/indra/newview/skins/default/xui/pt/panel_preferences_general.xml
index 8bde39545c..7a3e69c988 100644
--- a/indra/newview/skins/default/xui/pt/panel_preferences_general.xml
+++ b/indra/newview/skins/default/xui/pt/panel_preferences_general.xml
@@ -1,90 +1,67 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Geral" name="general_panel">
- <combo_box name="start_location_combo">
- <combo_box.item name="MyHome" tool_tip="Como padrão, registrar na minha casa." label="Minha Casa"/>
- <combo_box.item name="MyLastLocation" tool_tip="Por padrão, registrar na minha última localidade." label="Minha Última Localidade"/>
- </combo_box>
- <check_box label="Mostrar Posição Inicial na Tela de Login" name="show_location_checkbox"/>
- <combo_box name="fade_out_combobox">
- <combo_box.item name="Never" label="Nunca"/>
- <combo_box.item name="Show Temporarily" label="Mostrar Temporariamente"/>
- <combo_box.item name="Always" label="Sempre"/>
- </combo_box>
- <check_box label="Avatar com Nomes Pequenos" name="small_avatar_names_checkbox"/>
- <check_box label="Ocultar meu Nome na minha Tela" name="show_my_name_checkbox"/>
- <text name="group_titles_textbox">
- Títulos dos Grupos:
- </text>
- <check_box label="Ocultar todos os Títulos de Grupos" name="show_all_title_checkbox"/>
- <check_box label="Ocultar meu Título no Grupo" name="show_my_title_checkbox"/>
- <color_swatch label="" name="effect_color_swatch" tool_tip="Clique para abrir o seletor de cores"/>
- <text name="UI Size:">
- Tamanho da UI:
+ <text name="language_textbox">
+ Linguagem:
</text>
- <check_box label="Usar escala independente da resolução" name="ui_auto_scale"/>
- <spinner label="Tempo para ficar Ausente:" name="afk_timeout_spinner"/>
- <check_box label="Avisar quando receber ou gastar Linden dollars (L$)" name="notify_money_change_checkbox"/>
- <text name="maturity_desired_label">
- Classificação:
+ <combo_box name="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) - Beta" name="Danish"/>
+ <combo_box.item label="Deutsch (Alemão) - Beta" name="Deutsch(German)"/>
+ <combo_box.item label="Español (Espanhol) - Beta" name="Spanish"/>
+ <combo_box.item label="Français (Francês) - Beta" name="French"/>
+ <combo_box.item label="Italiano - Beta" name="Italian"/>
+ <combo_box.item label="Nederlands (Holandês) - Beta" name="Dutch"/>
+ <combo_box.item label="Polski (Polonês) - Beta" name="Polish"/>
+ <combo_box.item label="Português - Beta" name="Portugese"/>
+ <combo_box.item label="日本語 (Japonês) - Beta" name="(Japanese)"/>
+ </combo_box>
+ <text name="language_textbox2">
+ (Reinicie para mostrar o novo idioma)
</text>
<text name="maturity_desired_prompt">
Eu quero acessar conteúdo classificado:
</text>
+ <text name="maturity_desired_textbox"/>
<combo_box name="maturity_desired_combobox">
- <combo_box.item name="Desired_Adult" label="PG, Mature e Adult"/>
- <combo_box.item name="Desired_Mature" label="PG e Mature"/>
- <combo_box.item name="Desired_PG" label="PG"/>
+ <combo_box.item label="PG, Mature e Adult" name="Desired_Adult"/>
+ <combo_box.item label="PG e Mature" name="Desired_Mature"/>
+ <combo_box.item label="PG" name="Desired_PG"/>
</combo_box>
- <text name="maturity_desired_textbox">
- PG
- </text>
<text name="start_location_textbox">
- Posição Inicial:
+ Ponto de partida:
</text>
- <text name="show_names_textbox">
- Mostrar Nomes:
+ <combo_box name="start_location_combo">
+ <combo_box.item label="Minha Última Localidade" name="MyLastLocation" tool_tip="Por padrão, registrar na minha última localidade."/>
+ <combo_box.item label="Minha Casa" name="MyHome" tool_tip="Como padrão, registrar na minha casa."/>
+ </combo_box>
+ <check_box initial_value="true" label="Mostrar ao entrar" name="show_location_checkbox"/>
+ <text name="name_tags_textbox">
+ Mostrar nomes:
</text>
+ <radio_group name="Name_Tag_Preference">
+ <radio_item label="Desligar" name="radio" value="0"/>
+ <radio_item label="Ligar" name="radio2" value="1"/>
+ <radio_item label="Brevemente" name="radio3" value="2"/>
+ </radio_group>
+ <check_box label="Mostrar meu nome" name="show_my_name_checkbox1"/>
+ <check_box initial_value="true" label="Nomes pequenos" name="small_avatar_names_checkbox"/>
+ <check_box label="Mostrar cargo" name="show_all_title_checkbox1"/>
<text name="effects_color_textbox">
- Cores para Meus Efeitos:
- </text>
- <text name="seconds_textbox">
- segundos
- </text>
- <text name="crash_report_textbox">
- Relatórios de Falhas:
+ Meus efeitos:
</text>
- <text name="language_textbox">
- Linguagem:
+ <text name="title_afk_text">
+ Entrar no modo ausente em:
</text>
- <text name="language_textbox2">
- (Precisa de reinício para efetivar)
- </text>
- <string name="region_name_prompt">
- Digite o nome da Região
- </string>
- <combo_box name="crash_behavior_combobox">
- <combo_box.item name="Askbeforesending" label="Perguntar antes de enviar"/>
- <combo_box.item name="Alwayssend" label="Sempre enviar"/>
- <combo_box.item name="Neversend" label="Nunca Enviar"/>
- </combo_box>
- <combo_box name="language_combobox">
- <combo_box.item name="System Default Language" label="Padrão do Sistema"/>
- <combo_box.item name="English" label="English (Inglês)"/>
- <combo_box.item name="Danish" label="Dansk (Dinamarquês) - Beta"/>
- <combo_box.item name="Deutsch(German)" label="Deutsch (Alemão) - Beta"/>
- <combo_box.item name="Spanish" label="Español (Espanhol) - Beta"/>
- <combo_box.item name="French" label="Français (Francês) - Beta"/>
- <combo_box.item name="Italian" label="Italiano - Beta"/>
- <combo_box.item name="Hungarian" label="Magyar (Húngaro) - Beta"/>
- <combo_box.item name="Dutch" label="Nederlands (Holandês) - Beta"/>
- <combo_box.item name="Polish" label="Polski (Polonês) - Beta"/>
- <combo_box.item name="Portugese" label="Português - Beta"/>
- <combo_box.item name="Russian" label="Русский (Russo) - Beta"/>
- <combo_box.item name="Turkish" label="Türkçe (Turco) - Beta"/>
- <combo_box.item name="Ukrainian" label="Українська (Ucraniano) - Beta"/>
- <combo_box.item name="Chinese" label="中文 (简体) (Chinês) - Beta"/>
- <combo_box.item name="(Japanese)" label="日本語 (Japonês) - Beta"/>
- <combo_box.item name="(Korean)" label="한국어 (Coreano) - Beta"/>
+ <color_swatch label="" name="effect_color_swatch" tool_tip="Clique para abrir o seletor de cores"/>
+ <combo_box label="Entrar no modo ausente em:" name="afk">
+ <combo_box.item label="2 minutos" name="item0"/>
+ <combo_box.item label="5 minutos" name="item1"/>
+ <combo_box.item label="10 minutos" name="item2"/>
+ <combo_box.item label="30 minutos" name="item3"/>
+ <combo_box.item label="(nunca)" name="item4"/>
</combo_box>
- <check_box label="Compartilhar a linguagem com objetos" name="language_is_public" tool_tip="Isto permite que os objetos no mundo conheçam sua linguagem preferida."/>
+ <text name="text_box3">
+ Mensagem do modo ocupado:
+ </text>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/pt/panel_preferences_graphics1.xml
index d7982ab940..121272bf6c 100644
--- a/indra/newview/skins/default/xui/pt/panel_preferences_graphics1.xml
+++ b/indra/newview/skins/default/xui/pt/panel_preferences_graphics1.xml
@@ -1,43 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Gráficos" name="Display panel">
- <button label="?" name="GraphicsPreferencesHelpButton"/>
- <check_box label="Execute Second Life em uma janela" name="windowed mode"/>
- <text_editor bottom="-56" height="40" name="FullScreenInfo" width="480">
- Se desmarcado, o visualizador exibirá tela inteira quando fizer o acesso.
- </text_editor>
- <text name="WindowSizeLabel">
- Tamanho da Janela:
+ <text name="UI Size:">
+ Interface:
</text>
- <combo_box name="windowsize combo">
- <combo_box.item name="640x480" label="640x480" />
- <combo_box.item name="800x600" label="800x600" />
- <combo_box.item name="720x480" label="720x480 (NTSC)" />
- <combo_box.item name="768x576" label="768x576 (PAL)" />
- <combo_box.item name="1024x768" label="1024x768" />
- </combo_box>
- <text name="DisplayResLabel">
- Resolução de Display:
- </text>
- <text name="AspectRatioLabel1" tool_tip="largura / altura">
- Relação de Aspecto:
- </text>
- <combo_box name="aspect_ratio" tool_tip="largura / altura">
- <combo_box.item name="4:3(StandardCRT)" label="4:3 (CRT Padrão)" />
- <combo_box.item name="5:4(1280x1024LCD)" label="5:4 (1280x1024 LCD)" />
- <combo_box.item name="8:5(Widescreen)" label="8:5 (tela ampla)" />
- <combo_box.item name="16:9(Widescreen)" label="16:9 (tela ampla)" />
- </combo_box>
- <check_box label="Auto-detectar a relação" name="aspect_auto_detect"/>
- <text name="HigherText">
- Qualidade e
- </text>
- <text name="QualityText">
- Performance:
+ <text name="QualitySpeed">
+ Qualidade e velocidade:
</text>
<text name="FasterText">
Mais
rápido
</text>
+ <text name="BetterText">
+ Melhor
+ </text>
<text name="ShadersPrefText">
Baixo
</text>
@@ -50,96 +25,82 @@ rápido
<text name="ShadersPrefText4">
Ultra
</text>
- <text name="HigherText2">
- Mais alto
- </text>
- <text name="QualityText2">
- Qualidade
- </text>
- <check_box label="Personalizar" left="395" name="CustomSettings"/>
- <panel name="CustomGraphics Panel">
- <text name="ShadersText">
- Sombreadores:
- </text>
- <check_box label="Bump de Mapeamento e Brilho" name="BumpShiny"/>
- <check_box label="Sombreadores básicos" name="BasicShaders" tool_tip="Desabilitar esta opção poderá impedir que alguns drivers de placa de vídeo a travem."/>
- <check_box label="Sombreadores Atmosféricos" name="WindLightUseAtmosShaders"/>
- <check_box label="Reflexos de Água" name="Reflections"/>
- <text name="ReflectionDetailText">
- Detalhes de Reflexão:
- </text>
- <radio_group name="ReflectionDetailRadio">
- <radio_item name="0" label="Terreno e Árvores" />
- <radio_item name="1" label="Todos os objetos estáticos" />
- <radio_item name="2" label="Todos os avatares e Objetos" />
- <radio_item name="3" label="Tudo" />
- </radio_group>
- <text name="AvatarRenderingText">
- Renderização de Avatar:
- </text>
- <check_box label="Atributos do Avatar" name="AvatarImpostors"/>
- <check_box label="Melhoria de Hardware" name="AvatarVertexProgram"/>
- <check_box label="Vestimenta do Avatar" name="AvatarCloth"/>
- <text name="DrawDistanceMeterText1">
- m
- </text>
- <text name="DrawDistanceMeterText2">
- m
- </text>
- <slider label="Distancia de desenho:" label_width="150" name="DrawDistance" width="255"/>
- <slider label="Contador máx. de partículas:" label_width="150" name="MaxParticleCount" width="262"/>
- <slider label="Qualidade de Pós-processamento:" label_width="178" name="RenderPostProcess" width="223"/>
- <text name="MeshDetailText">
- Detalhes de Malha:
- </text>
- <slider label=" Objetos:" name="ObjectMeshDetail"/>
- <slider label=" Primitivas Flexiveis:" name="FlexibleMeshDetail"/>
- <slider label=" Árvores:" name="TreeMeshDetail"/>
- <slider label=" Avatares:" name="AvatarMeshDetail"/>
- <slider label=" Terreno:" name="TerrainMeshDetail"/>
- <slider label=" Céu:" name="SkyMeshDetail"/>
- <text name="PostProcessText">
- Baixo
- </text>
- <text name="ObjectMeshDetailText">
- Baixo
- </text>
- <text name="FlexibleMeshDetailText">
- Baixo
- </text>
- <text name="TreeMeshDetailText">
- Baixo
- </text>
- <text name="AvatarMeshDetailText">
- Baixo
- </text>
- <text name="TerrainMeshDetailText">
- Baixo
- </text>
- <text name="SkyMeshDetailText">
- Baixo
- </text>
- <text name="LightingDetailText">
- Detalhes de Iluminação:
- </text>
- <radio_group name="LightingDetailRadio">
- <radio_item name="SunMoon" label="Sol e Lua apenas" />
- <radio_item name="LocalLights" label="Luzes locais nas proximidades" />
- </radio_group>
- <text name="TerrainDetailText">
- Detalhe do Terreno:
- </text>
- <radio_group left_delta="45" name="TerrainDetailRadio" width="276">
- <radio_item name="0" label="Baixo" />
- <radio_item name="2" label="Alto" />
- </radio_group>
+ <panel label="CustomGraphics" name="CustomGraphics Panel">
+ <text name="ShadersText">
+ Sombreadores:
+ </text>
+ <check_box initial_value="true" label="Bump de Mapeamento e Brilho" name="BumpShiny"/>
+ <check_box initial_value="true" label="Sombreadores básicos" name="BasicShaders" tool_tip="Desabilitar esta opção poderá impedir que alguns drivers de placa de vídeo a travem."/>
+ <check_box initial_value="true" label="Sombreadores Atmosféricos" name="WindLightUseAtmosShaders"/>
+ <check_box initial_value="true" label="Reflexos de Água" name="Reflections"/>
+ <text name="ReflectionDetailText">
+ Detalhes de Reflexão:
+ </text>
+ <radio_group name="ReflectionDetailRadio">
+ <radio_item label="Terreno e árvores" name="0"/>
+ <radio_item label="Todos os objetos estáticos" name="1"/>
+ <radio_item label="Todos os avatares e Objetos" name="2"/>
+ <radio_item label="Tudo" name="3"/>
+ </radio_group>
+ <text name="AvatarRenderingText">
+ Renderização de Avatar:
+ </text>
+ <check_box initial_value="true" label="Atributos do Avatar" name="AvatarImpostors"/>
+ <check_box initial_value="true" label="Melhoria de Hardware" name="AvatarVertexProgram"/>
+ <check_box initial_value="true" label="Vestimenta do Avatar" name="AvatarCloth"/>
+ <slider label="Distancia de desenho:" label_width="150" name="DrawDistance" width="255"/>
+ <text name="DrawDistanceMeterText2">
+ m
+ </text>
+ <slider label="Contador máx. de partículas:" label_width="150" name="MaxParticleCount" width="262"/>
+ <slider label="Qualidade de Pós-processamento:" label_width="178" name="RenderPostProcess" width="223"/>
+ <text name="MeshDetailText">
+ Detalhes de Malha:
+ </text>
+ <slider label=" Objetos:" name="ObjectMeshDetail"/>
+ <slider label=" Primitivas Flexiveis:" name="FlexibleMeshDetail"/>
+ <slider label=" Árvores:" name="TreeMeshDetail"/>
+ <slider label=" Avatares:" name="AvatarMeshDetail"/>
+ <slider label=" Terreno:" name="TerrainMeshDetail"/>
+ <slider label=" Céu:" name="SkyMeshDetail"/>
+ <text name="PostProcessText">
+ Baixo
+ </text>
+ <text name="ObjectMeshDetailText">
+ Baixo
+ </text>
+ <text name="FlexibleMeshDetailText">
+ Baixo
+ </text>
+ <text name="TreeMeshDetailText">
+ Baixo
+ </text>
+ <text name="AvatarMeshDetailText">
+ Baixo
+ </text>
+ <text name="TerrainMeshDetailText">
+ Baixo
+ </text>
+ <text name="SkyMeshDetailText">
+ Baixo
+ </text>
+ <text name="LightingDetailText">
+ Detalhes de Iluminação:
+ </text>
+ <radio_group name="LightingDetailRadio">
+ <radio_item label="Sol e Lua apenas" name="SunMoon" value="0"/>
+ <radio_item label="Luzes locais nas proximidades" name="LocalLights" value="1"/>
+ </radio_group>
+ <text name="TerrainDetailText">
+ Detalhe do Terreno:
+ </text>
+ <radio_group left_delta="45" name="TerrainDetailRadio" width="276">
+ <radio_item label="Baixo" name="0"/>
+ <radio_item label="Alto" name="2"/>
+ </radio_group>
</panel>
- <button label="Configurações Recomendadas" name="Defaults" width="190" left="110"/>
- <button label="Opções de Hardware" label_selected="Opções de Hardware" name="GraphicsHardwareButton"/>
- <panel.string name="resolution_format">
- [RES_X] x [RES_Y]
- </panel.string>
- <panel.string name="aspect_ratio_text">
- [NUM]:[DEN]
- </panel.string>
+ <button label="Aplicar" label_selected="Aplicar" name="Apply"/>
+ <button label="Redefinir" left="110" name="Defaults" width="190"/>
+ <button label="Avançado" name="Advanced"/>
+ <button label="Hardware" label_selected="Hardware" name="GraphicsHardwareButton"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/pt/panel_preferences_privacy.xml
index 84c6c934c8..0cf2b7a4af 100644
--- a/indra/newview/skins/default/xui/pt/panel_preferences_privacy.xml
+++ b/indra/newview/skins/default/xui/pt/panel_preferences_privacy.xml
@@ -1,33 +1,26 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Comunicação" name="im">
- <text name="text_box">
- Minha situação online:
+ <panel.string name="log_in_to_change">
+ autentique-se para mudar
+ </panel.string>
+ <button label="Limpar histórico" name="clear_cache" tool_tip="Apagar imagem do login, última localização, histórico de teletransporte, cache de texturas e web"/>
+ <text name="cache_size_label_l">
+ (Locações, imagens, web, histórico de busca)
</text>
- <check_box label="Apenas meus Amigos e Grupos podem me ver online" name="online_visibility"/>
- <text name="text_box2">
- Opções MI:
+ <check_box label="Apenas amigos e grupos sabem que estou online" name="online_visibility"/>
+ <check_box label="Apenas amigos e grupos podem me chamar ou enviar MI" name="voice_call_friends_only_check"/>
+ <check_box label="Desligar o microfone quando terminar chamadas" name="auto_disengage_mic_check"/>
+ <check_box label="Aceitar cookies" name="cookies_enabled"/>
+ <text name="Logs:">
+ Logs:
</text>
- <string name="log_in_to_change">
- Logar para Alterar
- </string>
- <check_box label="Enviar MI para o e-mail ([EMAIL])" name="send_im_to_email"/>
- <check_box label="Incluir MIs no console do chat" name="include_im_in_chat_console"/>
- <check_box label="Mostrar data e hora na MI" name="show_timestamps_check"/>
- <check_box label="Mostrar notificação de Amigo online" name="friends_online_notify_checkbox"/>
- <text name="text_box3" width="134">
- Resposta no Modo
-Ocupado:
+ <check_box label="Salvar logs de bate- papo das proximidades no meu computador" name="log_nearby_chat"/>
+ <check_box label="Salvar logs de MI no meu computador" name="log_instant_messages"/>
+ <check_box label="Adicionar timestamp" name="show_timestamps_check_im"/>
+ <text name="log_path_desc">
+ Localização dos logs:
</text>
- <text name="text_box4">
- Opções de Registro:
- </text>
- <check_box label="Salvar um registro das MIs em meu computador" name="log_instant_messages"/>
- <check_box label="Mostrar a hora nas MIs" name="log_instant_messages_timestamp"/>
- <check_box label="Mostrar o final da última conversa em MI" name="log_show_history"/>
- <check_box label="Salvar um registro da Conversa local em meu computador" name="log_chat"/>
- <check_box label="Mostrar a hora no registro da Conversa local" name="log_chat_timestamp"/>
- <check_box label="Mostrar MIs recebidas no registro de Conversa local" name="log_chat_IM"/>
- <check_box label="Incluir data e hora" name="log_date_timestamp"/>
- <button label="Mudar Local" label_selected="Alterar Caminho" name="log_path_button" width="120"/>
<line_editor left="278" name="log_path_string" right="-20"/>
+ <button label="Navegar" label_selected="Navegar" name="log_path_button" width="120"/>
+ <button label="Lista dos bloqueados" name="block_list"/>
</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 3c94090131..f220bb156f 100644
--- a/indra/newview/skins/default/xui/pt/panel_preferences_setup.xml
+++ b/indra/newview/skins/default/xui/pt/panel_preferences_setup.xml
@@ -1,33 +1,46 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel label="Câmera" name="Input panel">
- <text name=" Mouselook Options:">
- Mouselook:
+<panel label="Configurações" name="Input panel">
+ <button bottom_delta="-40" label="Outros dispositivos" name="joystick_setup_button" width="165"/>
+ <text name="Mouselook:">
+ Visão subjetiva:
</text>
- <text name=" Mouse Sensitivity:">
- Sensibilidade do Mouse:
+ <text name=" Mouse Sensitivity">
+ Sensibilidade do mouse
</text>
- <check_box label="Inverter o Mouse" name="invert_mouse"/>
- <text name=" Auto Fly Options:">
- Vôo Automático:
+ <check_box label="Inverter" name="invert_mouse"/>
+ <text name="Network:">
+ Rede:
</text>
- <check_box label="Voar/Aterrissar pressionando teclas para cima/baixo" name="automatic_fly"/>
- <text name=" Camera Options:">
- Opções de Câmera:
+ <text name="Maximum bandwidth">
+ Largura de banda máxima
</text>
- <text name="camera_fov_label" width="218">
- Angulo de Visão da Câmera:
+ <text name="text_box2">
+ kbps
</text>
- <slider bottom_delta="-6" width="128" left="360" name="camera_fov" />
- <text name="Camera Follow Distance:" width="218">
- Distância de Acompanhamento da Camêra:
+ <check_box label="Personalizar porta" name="connection_port_enabled"/>
+ <spinner label="Número da porta:" name="connection_port"/>
+ <text name="cache_size_label_l">
+ Tamanho do cache
</text>
- <slider bottom_delta="-6" width="128" left="360" name="camera_offset_scale" />
- <check_box label="Edição automática do movimento da câmera" name="edit_camera_movement" tool_tip="Usar posicionamento automático da câmera quando entrar e sair do modo de edição"/>
- <check_box label="Movimento Automático da Câmera na edição de aparência" name="appearance_camera_movement" tool_tip="Usar posicionamento automático da câmera em modo de edição"/>
- <text name="text2">
- Opções de Exibição
-do Avatar:
+ <text name="text_box5">
+ MB
</text>
- <check_box label="Mostra o avatar em primeira pessoa" name="first_person_avatar_visible"/>
- <button bottom_delta="-40" label="Configuração do Joystick" name="joystick_setup_button" width="165"/>
+ <text name="Cache location">
+ Localização do cache:
+ </text>
+ <button label="Navegar" label_selected="Navegar" name="set_cache"/>
+ <button label="Redefinir" label_selected="Redefinir" name="reset_cache"/>
+ <text name="Web:">
+ Web:
+ </text>
+ <radio_group name="use_external_browser">
+ <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="0"/>
+ <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_group>
+ <check_box initial_value="false" label="Ativar web proxy" name="web_proxy_enabled"/>
+ <text name="Proxy location">
+ Localização do proxy:
+ </text>
+ <line_editor name="web_proxy_editor" tool_tip="O nome ou endereço IP do proxy da sua preferência"/>
+ <spinner label="Número da porta:" name="web_proxy_port"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_preferences_sound.xml b/indra/newview/skins/default/xui/pt/panel_preferences_sound.xml
index 5574679cde..5dbd3d4904 100644
--- a/indra/newview/skins/default/xui/pt/panel_preferences_sound.xml
+++ b/indra/newview/skins/default/xui/pt/panel_preferences_sound.xml
@@ -1,39 +1,45 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel label="Áudio &amp; Vídeo" name="Preference Media panel">
- <slider label="Mestre" name="System Volume"/>
+<panel label="Sons" name="Preference Media panel">
+ <slider label="Volume principal" name="System Volume"/>
+ <check_box initial_value="true" label="Silenciar ao minimizar" name="mute_when_minimized"/>
+ <slider label="Botões" name="UI Volume"/>
<slider label="Ambiente" name="Wind Volume"/>
- <slider label="Sons" name="SFX Volume"/>
+ <slider label="Efeitos sonoros" name="SFX Volume"/>
+ <slider label="Streaming de música" name="Music Volume"/>
+ <check_box label="Ativado" name="music_enabled"/>
<slider label="Mídia" name="Media Volume"/>
- <slider label="UI" name="UI Volume"/>
- <slider label="Música" name="Music Volume"/>
- <slider label="Voz" name="Voice Volume"/>
- <text_editor name="voice_unavailable">
- Bate-papo de Voz nâo está disponível
- </text_editor>
- <check_box label="Habilitar bate-papo de Voz" name="enable_voice_check"/>
- <radio_group name="ear_location">
- <radio_item name="0" label="Ouvir o bate-papo de voz pela posição de câmera" />
- <radio_item name="1" label="Ouvir o bate-papo de voz pela posição do avatar" />
- </radio_group>
- <button label="Configurações do dispositivo" name="device_settings_btn" width="180"/>
- <text name="muting_text">
- Volume:
- </text>
- <text name="streaming_prefs_text">
- Preferências de
-Streaming:
+ <check_box label="Ativado" name="enable_media"/>
+ <slider label="Bate-papo de voz" name="Voice Volume"/>
+ <check_box label="Ativado" name="enable_voice_check"/>
+ <check_box label="Autorizar auto-play de mídias" name="media_auto_play_btn" tool_tip="Marque esta opção para auto-executar mídias, se elas quiserem" value="verdadeiro"/>
+ <check_box label="Tocar mídia anexada em outros avatares" name="media_show_on_others_btn" tool_tip="Desmarque esta opção para ocultar mídias anexadas em avatares por perto" value="verdadeiro"/>
+ <text name="voice_chat_settings">
+ Configuração de bate-papo de voz
</text>
- <text name="audio_prefs_text">
- Preferências de Áudio:
+ <text name="Listen from">
+ Ouvir a partir de:
</text>
- <panel label="Volume" name="Volume Panel"/>
- <check_box label="Tocar música em streaming" name="streaming_music"/>
- <check_box label="Tocar streaming de Mídia" name="streaming_video"/>
- <check_box label="Tocar mídia automaticamente" name="auto_streaming_video"/>
- <check_box label="Silenciar Áudio quando minimizar janela" name="mute_when_minimized"/>
- <slider label="Efeito Doppler" name="Doppler Effect"/>
- <slider label="Fator Distância" name="Distance Factor"/>
- <slider label="Fator Rolloff" name="Rolloff Factor"/>
- <spinner label="Mudar nível de alerta de L$" name="L$ Change Threshold" label_width="165" width="229"/>
- <spinner label="Mudar nível de alerta de Saúde" name="Health Change Threshold" label_width="165" width="229"/>
+ <radio_group name="ear_location">
+ <radio_item label="Posição de câmera" name="0"/>
+ <radio_item label="Posição do avatar" name="1"/>
+ </radio_group>
+ <button label="Controles de entrada/saída" name="device_settings_btn" width="180"/>
+ <panel label="Configuração dos dispositivo" name="device_settings_panel">
+ <panel.string name="default_text">
+ Padrão
+ </panel.string>
+ <text name="Input">
+ Entrada
+ </text>
+ <text name="My volume label">
+ Meu volume:
+ </text>
+ <slider_bar initial_value="1.0" name="mic_volume_slider" tool_tip="Mude o volume usando o controle deslizante"/>
+ <text name="wait_text">
+ Aguarde
+ </text>
+ <text name="Output">
+ Saída
+ </text>
+ </panel>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/pt/panel_prim_media_controls.xml
new file mode 100644
index 0000000000..a1254b4da0
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_prim_media_controls.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="MediaControls">
+ <string name="min_width">
+ 300
+ </string>
+ <string name="min_height">
+ 75
+ </string>
+ <string name="zoom_medium_padding">
+ 1.1
+ </string>
+ <string name="top_world_view_avoid_zone">
+ 50
+ </string>
+ <layout_stack name="progress_indicator_area">
+ <panel name="media_progress_indicator">
+ <progress_bar name="media_progress_bar" tool_tip="Carregando mídia"/>
+ </panel>
+ </layout_stack>
+ <layout_stack name="media_controls">
+ <layout_panel name="back">
+ <button name="back_btn" tool_tip="Navegar para trás"/>
+ </layout_panel>
+ <layout_panel name="fwd">
+ <button name="fwd_btn" tool_tip="Navegar para frente"/>
+ </layout_panel>
+ <layout_panel name="home">
+ <button name="home_btn" tool_tip="Página web:"/>
+ </layout_panel>
+ <layout_panel name="media_stop">
+ <button name="media_stop_btn" tool_tip="Parar mídia"/>
+ </layout_panel>
+ <layout_panel name="reload">
+ <button name="reload_btn" tool_tip="Recarregar"/>
+ </layout_panel>
+ <layout_panel name="stop">
+ <button name="stop_btn" tool_tip="Parar de carregar"/>
+ </layout_panel>
+ <layout_panel name="play">
+ <button name="play_btn" tool_tip="Tocar mídia"/>
+ </layout_panel>
+ <layout_panel name="pause">
+ <button name="pause_btn" tool_tip="Pausar mídia"/>
+ </layout_panel>
+ <layout_panel name="media_address">
+ <line_editor name="media_address_url" tool_tip="URL da mídia"/>
+ <layout_stack name="media_address_url_icons">
+ <layout_panel>
+ <icon name="media_whitelist_flag" tool_tip="Lista ativada"/>
+ </layout_panel>
+ <layout_panel>
+ <icon name="media_secure_lock_flag" tool_tip="Navegação segura"/>
+ </layout_panel>
+ </layout_stack>
+ </layout_panel>
+ <layout_panel name="media_play_position">
+ <slider_bar initial_value="0.5" name="media_play_slider" tool_tip="Andamento do vídeo"/>
+ </layout_panel>
+ <layout_panel name="skip_back">
+ <button name="skip_back_btn" tool_tip="Passo para trás"/>
+ </layout_panel>
+ <layout_panel name="skip_forward">
+ <button name="skip_forward_btn" tool_tip="Passo para frente"/>
+ </layout_panel>
+ <layout_panel name="media_volume">
+ <button name="media_mute_button" tool_tip="Silenciar esta mídia"/>
+ <slider name="volume_slider" tool_tip="Volume"/>
+ </layout_panel>
+ <layout_panel name="zoom_frame">
+ <button name="zoom_frame_btn" tool_tip="Enfocar mídia"/>
+ </layout_panel>
+ <layout_panel name="close">
+ <button name="close_btn" tool_tip="Menos zoom"/>
+ </layout_panel>
+ <layout_panel name="new_window">
+ <button name="new_window_btn" tool_tip="Abrir URL em navegador"/>
+ </layout_panel>
+ </layout_stack>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_profile.xml b/indra/newview/skins/default/xui/pt/panel_profile.xml
index ff53aa6a41..805e3aaebd 100644
--- a/indra/newview/skins/default/xui/pt/panel_profile.xml
+++ b/indra/newview/skins/default/xui/pt/panel_profile.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="panel_profile">
+<panel label="Perfil" name="panel_profile">
<string name="CaptionTextAcctInfo">
[ACCTTYPE]
[PAYMENTINFO] [AGEVERIFICATION]
@@ -11,4 +11,42 @@
http://www.secondlife.com/account/partners.php?lang=pt
</string>
<string name="my_account_link_url" value="http://secondlife.com/my/account/index.php?lang=pt-BR"/>
+ <string name="no_partner_text" value="Ninguém"/>
+ <string name="no_group_text" value="Nenhum"/>
+ <string name="RegisterDateFormat">
+ [REG_DATE] ([AGE])
+ </string>
+ <layout_stack name="layout">
+ <layout_panel name="profile_stack">
+ <scroll_container name="profile_scroll">
+ <panel name="profile_scroll_panel">
+ <panel name="second_life_image_panel">
+ <text name="title_sl_descr_text" value="[SECOND_LIFE]:"/>
+ </panel>
+ <panel name="first_life_image_panel">
+ <text name="title_rw_descr_text" value="Mundo real:"/>
+ </panel>
+ <text name="title_member_text" value="Residente desde:"/>
+ <text name="title_acc_status_text" value="Conta:"/>
+ <text name="title_partner_text" value="Parceiro(a):"/>
+ <panel name="partner_data_panel">
+ <name_box initial_value="(pesquisando)" name="partner_text"/>
+ </panel>
+ <text name="title_groups_text" value="Grupos:"/>
+ </panel>
+ </scroll_container>
+ </layout_panel>
+ <layout_panel name="profile_buttons_panel">
+ <button label="Adicionar amigo" name="add_friend" tool_tip="Oferecer amizade ao residente"/>
+ <button label="MI" name="im" tool_tip="Abrir sessão de mensagem instantânea"/>
+ <button label="Ligar" name="call" tool_tip="Ligar para este residente"/>
+ <button label="Mapa" name="show_on_map_btn" tool_tip="Exibir o residente no mapa"/>
+ <button label="Teletransportar" name="teleport" tool_tip="Oferecer teletransporte"/>
+ <button label="▼" name="overflow_btn" tool_tip="Pagar ou compartilhar inventário com o residente"/>
+ </layout_panel>
+ <layout_panel name="profile_me_buttons_panel">
+ <button label="Editar perfil" name="edit_profile_btn" tool_tip="Editar dados pessoais"/>
+ <button label="Editar aparência" name="edit_appearance_btn" tool_tip="Criar/editar aparência: físico, roupas, etc."/>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_profile_view.xml b/indra/newview/skins/default/xui/pt/panel_profile_view.xml
new file mode 100644
index 0000000000..62a16c6fbe
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_profile_view.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="panel_target_profile">
+ <string name="status_online">
+ Conectado
+ </string>
+ <string name="status_offline">
+ Desconectado
+ </string>
+ <text_editor name="user_name" value="Carregando..."/>
+ <text name="status" value="Conectado"/>
+ <tab_container name="tabs">
+ <panel label="PERFIL" name="panel_profile"/>
+ <panel label="DESTAQUES" name="panel_picks"/>
+ <panel label="ANOTAÇÕES E PRIVACIDADE" name="panel_notes"/>
+ </tab_container>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_region_covenant.xml b/indra/newview/skins/default/xui/pt/panel_region_covenant.xml
index 4977a1fac9..65ac89baf8 100644
--- a/indra/newview/skins/default/xui/pt/panel_region_covenant.xml
+++ b/indra/newview/skins/default/xui/pt/panel_region_covenant.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Corretagem" name="Covenant">
<text name="estate_section_lbl">
- Propriedade:
+ Propriedade
</text>
<text bottom_delta="-19" name="estate_name_lbl">
Nome:
@@ -22,7 +22,7 @@
Última modificação: Quarta, 31 de dezembro de 1969 às 16:00:00 horas
</text>
<button label="?" name="covenant_help"/>
- <text_editor name="covenant_editor" bottom="-247" height="162" >
+ <text_editor bottom="-247" height="162" name="covenant_editor">
Não há nenhuma regra fornecida para esta Propriedade.
</text_editor>
<button label="Resetar" name="reset_covenant"/>
@@ -30,12 +30,11 @@
As mudanças das regras serão mostradas em todos os lotes
da propriedade.
</text>
- <text bottom_delta="-36" name="covenant_instructions">
- Arraste e solte um notecard, para mudar as Regras desta
- Propriedade.
+ <text bottom_delta="-36" name="covenant_instructions">
+ Arrastar e soltar uma anotação para alterar o contrato em vigor nesta propriedade.
</text>
<text bottom_delta="-36" name="region_section_lbl">
- Região:
+ Região
</text>
<text name="region_name_lbl">
Nome:
diff --git a/indra/newview/skins/default/xui/pt/panel_region_debug.xml b/indra/newview/skins/default/xui/pt/panel_region_debug.xml
index 724df20155..2119a06e55 100644
--- a/indra/newview/skins/default/xui/pt/panel_region_debug.xml
+++ b/indra/newview/skins/default/xui/pt/panel_region_debug.xml
@@ -22,18 +22,18 @@
<line_editor name="target_avatar_name">
(nenhum)
</line_editor>
- <button label="Escolher..." name="choose_avatar_btn"/>
+ <button label="Selecionar" name="choose_avatar_btn"/>
<text name="options_text_lbl">
Opções:
</text>
- <check_box label="Retornar apenas aqueles objetos que contenham scripts" name="return_scripts" tool_tip="Retornar apenas objetos que contenham scripts."/>
- <check_box label="Retornar apenas aqueles objetos na terra de alguém" name="return_other_land" tool_tip="Retornar apenas objetos que estejam na terra pertencente a alguém"/>
- <check_box label="Retornar objetos em cada região desta propriedade" name="return_estate_wide" tool_tip="Retornar objetos em todas as regiões que constituem esta propriedade"/>
+ <check_box label="Com scripts" name="return_scripts" tool_tip="Só devolver objetos com scripts"/>
+ <check_box label="No terreno de outra pessoa" name="return_other_land" tool_tip="Retornar apenas objetos que estejam na terra pertencente a alguém"/>
+ <check_box label="Em todas as regiões desta propriedade" name="return_estate_wide" tool_tip="Retornar objetos em todas as regiões que constituem esta propriedade"/>
<button label="Retornar" name="return_btn"/>
- <button width="280" label="Pegar os principais colidentes..." name="top_colliders_btn" tool_tip="Lista dos objetos que experimentam as mais potenciais colisões"/>
- <button label="?" name="top_colliders_help" left="297"/>
- <button width="280" label="Pegar Principais Scripts..." name="top_scripts_btn" tool_tip="Lista de objetos gastando mais tempo rodando scripts"/>
- <button label="?" name="top_scripts_help" left="297"/>
+ <button label="Pegar os principais colidentes..." name="top_colliders_btn" tool_tip="Lista dos objetos que experimentam as mais potenciais colisões" width="280"/>
+ <button label="?" left="297" name="top_colliders_help"/>
+ <button label="Pegar Principais Scripts..." name="top_scripts_btn" tool_tip="Lista de objetos gastando mais tempo rodando scripts" width="280"/>
+ <button label="?" left="297" name="top_scripts_help"/>
<button label="Reiniciar a Região" name="restart_btn" tool_tip="Dar 2 minutos de contagem regressiva e reiniciar a região"/>
<button label="?" name="restart_help"/>
<button label="Atrasar o Reinicio" name="cancel_restart_btn" tool_tip="Atrasar o reinicio da região por uma hora"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_region_estate.xml b/indra/newview/skins/default/xui/pt/panel_region_estate.xml
index f43402be15..0f173ab21a 100644
--- a/indra/newview/skins/default/xui/pt/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/pt/panel_region_estate.xml
@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Propriedade" name="Estate">
<text name="estate_help_text">
- Mudanças nas definições nesta guia irão afetar
-todas as regiões desta propriedade.
+ Mudar as opções desta guia afeta todas as regiões desta propriedade.
</text>
<text name="estate_text">
Propriedade:
@@ -11,7 +10,7 @@ todas as regiões desta propriedade.
(desconhecido)
</text>
<text name="owner_text">
- Proprietário:
+ Proprietário do imóvel:
</text>
<text name="estate_owner">
(desconhecido)
@@ -24,10 +23,10 @@ todas as regiões desta propriedade.
<check_box label="Permitir acesso público" name="externally_visible_check"/>
<button label="?" name="externally_visible_help"/>
<text name="Only Allow">
- Acesso restrito a Residentes...
+ Restringir acesso a contas confirmardas por:
</text>
- <check_box label="com info. de pagamento em arquivo" name="limit_payment" tool_tip="Banir residentes não identificados."/>
- <check_box label="Adultos com idade verificada" name="limit_age_verified" tool_tip="Banir residentes que não tenham confirmado a sua idade. Ver support.secondlife.com para mais informações."/>
+ <check_box label="Dados de pagamento fornecidos" name="limit_payment" tool_tip="Banir residentes sem identificação."/>
+ <check_box label="Verificação de idade" name="limit_age_verified" tool_tip="Banir residentes que não comprovaram a idade. Consulte o [SUPPORT_SITE] para saber mais."/>
<check_box label="Permitir conversa de voz" name="voice_chat_check"/>
<button label="?" name="voice_chat_help"/>
<check_box label="Permitir Tele-transporte direto" name="allow_direct_teleport"/>
diff --git a/indra/newview/skins/default/xui/pt/panel_region_general_layout.xml b/indra/newview/skins/default/xui/pt/panel_region_general_layout.xml
new file mode 100644
index 0000000000..89fcb05658
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_region_general_layout.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Região" name="General">
+ <text name="region_text_lbl">
+ Região:
+ </text>
+ <text name="region_text">
+ (Desconhecido)
+ </text>
+ <text name="version_channel_text_lbl">
+ Versão:
+ </text>
+ <text name="version_channel_text">
+ (Desconhecido)
+ </text>
+ <text name="region_type_lbl">
+ Tipo:
+ </text>
+ <text name="region_type">
+ (Desconhecido)
+ </text>
+ <check_box label="Bloquear terraplanagem" name="block_terraform_check"/>
+ <check_box label="Bloquear voos" name="block_fly_check"/>
+ <check_box label="Permitir danos" name="allow_damage_check"/>
+ <check_box label="Limitar empurrões" name="restrict_pushobject"/>
+ <check_box label="Permitir revenda de terrenos" name="allow_land_resell_check"/>
+ <check_box label="Permitir junção e divisão de terrenos" name="allow_parcel_changes_check"/>
+ <check_box label="Não mostrar nos resultados de pesquisa" name="block_parcel_search_check" tool_tip="Mostrar esta região e lotes nos resultados de pesquisa"/>
+ <spinner label="Limite do agente" name="agent_limit_spin"/>
+ <spinner label="Bônus do objeto" name="object_bonus_spin"/>
+ <text label="Nível de maturidade" name="access_text">
+ Classificação:
+ </text>
+ <combo_box label="Moderado" name="access_combo">
+ <combo_box.item label="Público adulto" name="Adult"/>
+ <combo_box.item label="Moderado" name="Mature"/>
+ <combo_box.item label="Geral" name="PG"/>
+ </combo_box>
+ <button label="Aplicar" name="apply_btn"/>
+ <button label="Teletransportar para início..." name="kick_btn"/>
+ <button label="Teletransportar todos para início..." name="kick_all_btn"/>
+ <button label="Enviar mensagem para região..." name="im_btn"/>
+ <button label="Gerenciar telehub..." name="manage_telehub_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_region_texture.xml b/indra/newview/skins/default/xui/pt/panel_region_texture.xml
index 4787b59a8d..7f37919af2 100644
--- a/indra/newview/skins/default/xui/pt/panel_region_texture.xml
+++ b/indra/newview/skins/default/xui/pt/panel_region_texture.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Texturas de Chão" name="Textures">
<text name="region_text_lbl">
Região:
@@ -36,22 +36,22 @@
<text name="height_text_lbl9">
Noroeste
</text>
- <spinner label="Baixo" name="height_start_spin_0" />
- <spinner label="Baixo" name="height_start_spin_1" />
- <spinner label="Baixo" name="height_start_spin_2" />
- <spinner label="Baixo" name="height_start_spin_3" />
- <spinner label="Alto" name="height_range_spin_0" />
- <spinner label="Alto" name="height_range_spin_1" />
- <spinner label="Alto" name="height_range_spin_2" />
- <spinner label="Alto" name="height_range_spin_3" />
+ <spinner label="Baixo" name="height_start_spin_0"/>
+ <spinner label="Baixo" name="height_start_spin_1"/>
+ <spinner label="Baixo" name="height_start_spin_2"/>
+ <spinner label="Baixo" name="height_start_spin_3"/>
+ <spinner label="Alto" name="height_range_spin_0"/>
+ <spinner label="Alto" name="height_range_spin_1"/>
+ <spinner label="Alto" name="height_range_spin_2"/>
+ <spinner label="Alto" name="height_range_spin_3"/>
<text name="height_text_lbl10">
- Estes valores respresentam o tipo de escala para as texturas acima.
+ Os valores representam o intervalo de mistura das texturas acima.
</text>
<text name="height_text_lbl11">
- Medido em metros, o valor Baixo é a altura máxima da Textura #1,
+ Em metros, o valor BAIXO é a altura MÁXIMA da Textura 1, e HIGH é a altura MÍNIMA da Textura 4.
</text>
<text name="height_text_lbl12">
e o valor Alto é a altura Mínima da Textura #4.
</text>
- <button label="Aplicar" name="apply_btn" />
+ <button label="Aplicar" name="apply_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_script_ed.xml b/indra/newview/skins/default/xui/pt/panel_script_ed.xml
new file mode 100644
index 0000000000..6f022945c2
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_script_ed.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="script panel">
+ <panel.string name="loading">
+ Carregando...
+ </panel.string>
+ <panel.string name="can_not_view">
+ Você não pode ver ou editar o script, uma vez que está definido como &quot;não&quot; copiar &quot;. Você precisa de permissões para ver ou editar um script dentro de um objeto.
+ </panel.string>
+ <panel.string name="public_objects_can_not_run">
+ Objetos públicos não podem executar scripts
+ </panel.string>
+ <panel.string name="script_running">
+ Executando
+ </panel.string>
+ <panel.string name="Title">
+ Script: [NOME]
+ </panel.string>
+ <text_editor name="Script Editor">
+ Carregando...
+ </text_editor>
+ <button label="Salvar" label_selected="Salvar" name="Save_btn"/>
+ <combo_box label="Inserir..." name="Insert..."/>
+ <menu_bar name="script_menu">
+ <menu label="Arquivo" name="File">
+ <menu_item_call label="Salvar" name="Save"/>
+ <menu_item_call label="Reverter todas as alterações" name="Revert All Changes"/>
+ </menu>
+ <menu label="Editar" name="Edit">
+ <menu_item_call label="desfazer" name="Undo"/>
+ <menu_item_call label="Refazer" name="Redo"/>
+ <menu_item_call label="Cortar" name="Cut"/>
+ <menu_item_call label="Copiar" name="Copy"/>
+ <menu_item_call label="Colar" name="Paste"/>
+ <menu_item_call label="Selecionar tudo" name="Select All"/>
+ <menu_item_call label="Desmarcar" name="Deselect"/>
+ <menu_item_call label="Buscar / Substituir..." name="Search / Replace..."/>
+ </menu>
+ <menu label="Ajuda" name="Help">
+ <menu_item_call label="ajuda..." name="Help..."/>
+ <menu_item_call label="ajuda palavra- chave..." name="Keyword Help..."/>
+ </menu>
+ </menu_bar>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_script_limits_my_avatar.xml b/indra/newview/skins/default/xui/pt/panel_script_limits_my_avatar.xml
new file mode 100644
index 0000000000..daf87c4dc6
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_script_limits_my_avatar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="MEU AVATAR" name="script_limits_my_avatar_panel">
+ <text name="script_memory">
+ Uso de scripts
+ </text>
+ <text name="loading_text">
+ Carregando...
+ </text>
+ <scroll_list name="scripts_list">
+ <scroll_list.columns label="Tamanho (kb)" name="size"/>
+ <scroll_list.columns label="URLs" name="urls"/>
+ <scroll_list.columns label="Nome do objeto" name="name"/>
+ <scroll_list.columns label="Localização" name="location"/>
+ </scroll_list>
+ <button label="Atualizar lista" name="refresh_list_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_script_limits_region_memory.xml b/indra/newview/skins/default/xui/pt/panel_script_limits_region_memory.xml
new file mode 100644
index 0000000000..94274b2cfe
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_script_limits_region_memory.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="MEMÓRIA DA REGIÃO" name="script_limits_region_memory_panel">
+ <text name="script_memory">
+ Memória de scripts no lote
+ </text>
+ <text name="loading_text">
+ Carregando...
+ </text>
+ <scroll_list name="scripts_list">
+ <scroll_list.columns label="Tamanho (kb)" name="size"/>
+ <scroll_list.columns label="URLs" name="urls"/>
+ <scroll_list.columns label="Nome do objeto" name="name"/>
+ <scroll_list.columns label="Dono do objeto" name="owner"/>
+ <scroll_list.columns label="Lote" name="parcel"/>
+ <scroll_list.columns label="Localização" name="location"/>
+ </scroll_list>
+ <button label="Atualizar lista" name="refresh_list_btn"/>
+ <button label="Destaque" name="highlight_btn"/>
+ <button label="Devolver" name="return_btn"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_side_tray.xml b/indra/newview/skins/default/xui/pt/panel_side_tray.xml
new file mode 100644
index 0000000000..09ac074b5a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_side_tray.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Side tray cannot show background because it is always
+ partially on screen to hold tab buttons. -->
+<side_tray name="sidebar">
+ <sidetray_tab description="Exibir ou não barra lateral" name="sidebar_openclose" tab_title="Exibir ou não barra lateral"/>
+ <sidetray_tab description="Casa." name="sidebar_home" tab_title="Home">
+ <panel label="casa" name="panel_home"/>
+ </sidetray_tab>
+ <sidetray_tab description="Editar seu perfil público e destaques ." name="sidebar_me" tab_title="My Profile">
+ <panel_container name="panel_container">
+ <panel label="Eu" name="panel_me"/>
+ </panel_container>
+ </sidetray_tab>
+ <sidetray_tab description="Encontre seus amigos, contatos e pessoas nas proximidades." name="sidebar_people" tab_title="People">
+ <panel_container name="panel_container">
+ <panel label="Perfil do grupo" name="panel_group_info_sidetray"/>
+ <panel label="Residentes&amp; Objetos bloqueados" name="panel_block_list_sidetray"/>
+ </panel_container>
+ </sidetray_tab>
+ <sidetray_tab description="Encontre lugares para ir e lugares que você ja visitou." label="Lugares" name="sidebar_places" tab_title="Places">
+ <panel label="Lugares" name="panel_places"/>
+ </sidetray_tab>
+ <sidetray_tab description="Busca no seu inventário." name="sidebar_inventory" tab_title="My Inventory">
+ <panel label="Editar inventário" name="sidepanel_inventory"/>
+ </sidetray_tab>
+ <sidetray_tab description="Muda sua aparência e visual atual." name="sidebar_appearance" tab_title="My Appearance">
+ <panel label="Editar aparência" name="sidepanel_appearance"/>
+ </sidetray_tab>
+</side_tray>
diff --git a/indra/newview/skins/default/xui/pt/panel_side_tray_tab_caption.xml b/indra/newview/skins/default/xui/pt/panel_side_tray_tab_caption.xml
new file mode 100644
index 0000000000..7c06119901
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_side_tray_tab_caption.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="sidetray_tab_panel">
+ <text name="sidetray_tab_title" value="Bandeja lateral"/>
+ <button name="show_help" tool_tip="Mostrar ajuda"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_stand_stop_flying.xml b/indra/newview/skins/default/xui/pt/panel_stand_stop_flying.xml
new file mode 100644
index 0000000000..05869cf67a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_stand_stop_flying.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<!-- Width and height of this panel should be synchronized with "panel_modes" in the floater_moveview.xml-->
+<panel name="panel_stand_stop_flying">
+ <button label="Levantar-se" name="stand_btn" tool_tip="Clique aqui para ficar de pé."/>
+ <button label="Parar de voar" name="stop_fly_btn" tool_tip="Parar de voar"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_status_bar.xml b/indra/newview/skins/default/xui/pt/panel_status_bar.xml
index 7f3d2b34a6..a320d9d56d 100644
--- a/indra/newview/skins/default/xui/pt/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/pt/panel_status_bar.xml
@@ -1,38 +1,31 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="status">
- <text name="ParcelNameText" tool_tip="Nome do pedaço de terra em que você está. Clique Sobre a Terra para informações.">
- Nome do pedaço de terra vai aqui
- </text>
- <text name="BalanceText" tool_tip="Saldo">
- Carregando...
- </text>
- <button label="" label_selected="" name="buycurrency" tool_tip="Comprar dinheiro"/>
- <text name="TimeText" tool_tip="Hora atual (do Pacífico)">
- 12:00 AM
- </text>
- <string name="StatBarDaysOfWeek">
+ <panel.string name="StatBarDaysOfWeek">
Domingo:Segunda-feira:Terça-feira:Quarta-feira:Quinta-feira:Sexta-feira:Sábado
- </string>
- <string name="StatBarMonthsOfYear">
+ </panel.string>
+ <panel.string name="StatBarMonthsOfYear">
Janeiro:Fevereiro:Março:Abril:Maio:Junho:Julho:Agosto:Setembro:Outubro:Novembro:Dezembro
- </string>
- <button label="" label_selected="" name="scriptout" tool_tip="Erros e avisos do Script"/>
- <button label="" label_selected="" name="health" tool_tip="Saúde"/>
- <text name="HealthText" tool_tip="Saúde">
- 100%
- </text>
- <button label="" label_selected="" name="no_fly" tool_tip="Não é permitido Voar"/>
- <button label="" label_selected="" name="no_build" tool_tip="Construir/Rezzar não permitido"/>
- <button label="" label_selected="" name="no_scripts" tool_tip="Scripts não permitidos"/>
- <button label="" label_selected="" name="restrictpush" tool_tip="Não Empurrar"/>
- <button label="" label_selected="" name="status_no_voice" tool_tip="Voz não disponível aqui"/>
- <button label="" label_selected="" name="buyland" tool_tip="Comprar este lote"/>
- <line_editor label="Buscar" name="search_editor" tool_tip="Buscar no [SECOND_LIFE]"/>
- <button label="" label_selected="" name="search_btn" tool_tip="Buscar no [SECOND_LIFE]"/>
- <string name="packet_loss_tooltip">
+ </panel.string>
+ <panel.string name="packet_loss_tooltip">
Perda de pacote
- </string>
- <string name="bandwidth_tooltip">
+ </panel.string>
+ <panel.string name="bandwidth_tooltip">
Banda
- </string>
+ </panel.string>
+ <panel.string name="time">
+ [hour12, datetime, slt]:[min, datetime, slt] [ampm, datetime, slt] [timezone,datetime, slt]
+ </panel.string>
+ <panel.string name="timeTooltip">
+ [weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt]
+ </panel.string>
+ <panel.string name="buycurrencylabel">
+ L$ [AMT]
+ </panel.string>
+ <button label="" label_selected="" name="buycurrency" tool_tip="Meu saldo"/>
+ <button label="Comprar L$" name="buyL" tool_tip="Comprar mais L$"/>
+ <text name="TimeText" tool_tip="Hora atual (Pacífico)">
+ 24:00 AM PST
+ </text>
+ <button name="media_toggle_btn" tool_tip="Tocar/Pausar todas mídias (música, vídeo, páginas web)"/>
+ <button name="volume_btn" tool_tip="Volume geral"/>
</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_teleport_history.xml b/indra/newview/skins/default/xui/pt/panel_teleport_history.xml
new file mode 100644
index 0000000000..ba83fee7ba
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_teleport_history.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="Teleport History">
+ <accordion name="history_accordion">
+ <accordion_tab name="today" title="Hoje"/>
+ <accordion_tab name="yesterday" title="Ontem"/>
+ <accordion_tab name="2_days_ago" title="2 dias atrás"/>
+ 5
+ <accordion_tab name="3_days_ago" title="3 dias atrás"/>
+ <accordion_tab name="4_days_ago" title="4 dias atrás"/>
+ <accordion_tab name="5_days_ago" title="5 dias atrás"/>
+ <accordion_tab name="6_days_and_older" title="6 dias e mais velhos"/>
+ <accordion_tab name="1_month_and_older" title="1 mês e mais velhos"/>
+ <accordion_tab name="6_months_and_older" title="6 meses e mais velhos"/>
+ </accordion>
+ <panel name="bottom_panel">
+ <button name="gear_btn" tool_tip="Mostrar opções adicionais"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_teleport_history_item.xml b/indra/newview/skins/default/xui/pt/panel_teleport_history_item.xml
new file mode 100644
index 0000000000..65f80fddd2
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/panel_teleport_history_item.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="teleport_history_item">
+ <button name="profile_btn" tool_tip="Mostrar dados do item"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_world_map.xml b/indra/newview/skins/default/xui/pt/panel_world_map.xml
index 2fda713ec7..584ef8a666 100644
--- a/indra/newview/skins/default/xui/pt/panel_world_map.xml
+++ b/indra/newview/skins/default/xui/pt/panel_world_map.xml
@@ -1,5 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="world_map">
+ <panel.string name="Loading">
+ Carregando...
+ </panel.string>
+ <panel.string name="InvalidLocation">
+ Localização inválida
+ </panel.string>
<panel.string name="world_map_north">
N
</panel.string>
diff --git a/indra/newview/skins/default/xui/pt/role_actions.xml b/indra/newview/skins/default/xui/pt/role_actions.xml
index 8d192d4002..2e6e4dd133 100644
--- a/indra/newview/skins/default/xui/pt/role_actions.xml
+++ b/indra/newview/skins/default/xui/pt/role_actions.xml
@@ -1,186 +1,71 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<role_actions>
- <action_set
- description="Esta habilidades incluem poderes de adicionar ou remover membros do grupo e permitir que novos membros se juntem sem um convite."
- name="Membership">
- <action description="Convidar pessoas para este grupo"
- longdescription="Convide pessoas para este grupo usando o botão &apos;Convidar nova pessoa...&apos; em Membros &amp; aba Funções &gt; sub-aba Membros."
- name="member invite" />
- <action description="Expulsar membros deste grupo"
- longdescription="Expulse membros deste grupo usando o botão &apos;Expulsar do grupo&apos; em Membros &amp; aba Funções &gt; sub-aba Membros. Um proprietário pode expulsar qualquer um, exceto outro proprietário. Se você não é um proprietário, um membro pode expulsá-lo do grupo se, e somente se, ele apenas tiver a função de todos e não outras funções. Para remover membros de funções, você precisa ter a habilidade &apos;Remover membros de funções&apos;."
- name="member eject" />
- <action
- description="Ativar/desativar &apos;Abrir registro&apos; e mudar &apos;Taxa de assinatura&apos;"
- longdescription="Ative/desative &apos;Abrir registro&apos; para permitir que novos membros se unam sem um convite, e mude a &apos;Taxa de registro&apos; na seção Preferência de grupo da aba Geral."
- name="member options" />
+ <action_set description="Esta habilidades incluem poderes de adicionar ou remover membros do grupo e permitir que novos membros se juntem sem um convite." name="Membership">
+ <action description="Convidar pessoas para este grupo" longdescription="Em Membros &gt; Cargos, use o botão &apos;Convidar&apos; para convidar pessoas para entrar no grupo." name="member invite"/>
+ <action description="Expulsar membros deste grupo" longdescription="Em Membros &gt; Cargos, use o botão &apos;Ejetar&apos; para tirar pessoas do grupo. Proprietários podem expulsar qualquer pessoa, menos outro proprietário. Se você não é Proprietário, um membro só pode ser expulso se tiver cargo &apos;Todos&apos; e nenhum outro cargo. Para destituir um membro de seu cargo, você precisa ter a função &apos;Destituir membro com cargo&apos;." name="member eject"/>
+ <action description="Alterna entre &apos;Inscrições abertas&apos; e &apos;Taxa de associação&apos;." longdescription="Ative &apos;Inscrições abertas&apos; para que novos membros entrem no grupo sem convite, mude a &apos;Taxa de associação&apos; na seção Geral." name="member options"/>
</action_set>
- <action_set
- description="Estas habilidades incluem poderes de adicionar, remover e mudar funções do grupo; adicionar e remover membros em funções e designar habilidades a funções."
- name="Roles">
- <action description="Criar novas funções"
- longdescription="Crie novas funções em Membros &amp; aba Funções &gt; sub-aba Funções."
- name="role create" />
- <action description="Apagar funções"
- longdescription="Apague funções em Membros &amp; aba Funções &gt; sub-aba Funções."
- name="role delete" />
- <action description="Mudar nomes de função, títulos e descrições"
- longdescription="Mude o nome de funções, títulos e descrições na parte inferior de Membros &amp; aba Funções &gt; sub-aba Funções após selecionar uma função."
- name="role properties" />
- <action description="Designar membros para a função do designador"
- longdescription="Designe membros a funções na seção de funções designadas de Membros &amp; aba Funções &gt; sub-aba Membros. Um membro com este poder pode somente adicionar membros para a função que o designador já possui."
- name="role assign member limited" />
- <action description="Designar membros para qualquer função"
- longdescription="Designe membros a qualquer função na seção de funções designadas de Membros &amp; aba Funções &gt; sub-aba Membros. *AVISO* Quaisquer membros em uma função com esta habilidade podem designar a si próprios--e quaisquer outros membros não proprietários--para funções que têm mais poderes do que as atuais, elevando-os a poderes próximos ao do proprietário. Certifique-se de saber o que está fazendo antes de designar esta habilidade."
- name="role assign member" />
- <action description="Remover membros das funções"
- longdescription="Remova membros de funções na seção de funções designadas de Membros &amp; aba Funções &gt; sub-aba Membros. Proprietários não podem ser removidos."
- name="role remove member" />
- <action description="Determinar e remover habilidades em funções"
- longdescription="Designe e remova habilidades em funções na seção habilidades pertmitidas de Membros &amp; aba Funções &gt; sub-aba Funções. *AVISO* Quaisquer membros em uma função com esta habilidade podem desginar a si próprios--e quaisquer outros membros não proprietários--todas as habilidades, elevando-os a poderes próximos ao do proprietário. Certifique-se de saber o que está fazendo antes de designar esta habilidade."
- name="role change actions" />
+ <action_set description="Estas habilidades incluem poderes de adicionar, remover e mudar funções do grupo; adicionar e remover membros em funções e designar habilidades a funções." name="Roles">
+ <action description="Criar novas funções" longdescription="Crie novos cargos na guia Cargos." name="role create"/>
+ <action description="Apagar funções" longdescription="Exclua cargos na guia Cargos." name="role delete"/>
+ <action description="Modificar o nome, título e a descrição de cargos, e se o acesso a essas informações é público ou não" longdescription="Modificar o nome, título e a descrição de cargos, e se o acesso a essas informações é público ou não. Essas configurações ficam na guia Cargos, depois da seleção do cargo." name="role properties"/>
+ <action description="Designar membros para a função do designador" longdescription="Na lista Cargos desempenhados, distribua os cargos aos membros (em Cargos &gt; guia Membros). Membros exercendo esta função devem exercer um cargo para poder adicionar outros membros ao mesmo cargo." name="role assign member limited"/>
+ <action description="Designar membros para qualquer função" longdescription="Designe cargos aos membros na lista Cargos desempenhados (Cargos &gt; guia Membros). *ATENÇÃO* Qualquer membro exercendo um cargo com esta função pode se designar -- ou designar outros membros não-proprietários -- a cargos com mais poder do que têm. Ou seja, membros com essa função podem assumir poderes quase iguais aos do proprietário. Pense bem antes de dar esta função a alguém." name="role assign member"/>
+ <action description="Remover membros das funções" longdescription="Use a lista Cargos desempenhados para destituir membros de seus cargos (Cargos &gt; guia Membros). Proprietários não podem ser destituídos." name="role remove member"/>
+ <action description="Determinar e remover habilidades em funções" longdescription="Use a lista Funções autorizadas para adicionar e tirar as funções de cada cargo (Cargos &gt; guia Cargos). *ATENÇÃO* Qualquer membro exercendo um cargo com esta função pode dar a sim mesmo -- ou a outros membros não-proprietários -- todas as funções. Membros excercendo todas as funções podem assumir poderes quase iguais aos do proprietário. Pense bem antes de dar esta função a alguém." name="role change actions"/>
</action_set>
- <action_set
- description="Estas habilidade incluem poderes para modificar esta identidade de grupo, como mudar a visibilidade pública, apresentação e insígnia."
- name="Group Identity">
- <action
- description="Mudar apresentação, insígnia, &apos;Publicar na web&apos;, e quais membros estão publicamente visíveis em Informações do Grupo."
- longdescription="Mude a apresentação, insígnia, &apos;Publicar na web&apos; e quais membros estão publicamente visíveis em Informações do grupo. É feito na aba Geral."
- name="group change identity" />
+ <action_set description="Estas habilidade incluem poderes para modificar esta identidade de grupo, como mudar a visibilidade pública, apresentação e insígnia." name="Group Identity">
+ <action description="Mudar apresentação, insígnia, &apos;Publicar na web&apos;, e quais membros estão publicamente visíveis em Informações do Grupo." longdescription="Modificar o estatuto, símbolo e exibição nos resultados de busca. Use a seção Geral." name="group change identity"/>
</action_set>
- <action_set
- description="Estas habilidades incluem poderes para transferir, modificar e vender terrenos do grupo. Vá pra a janela Sobre o terreno, clique com o botão direito no terreno e selecione &apos;Sobre o terreno...&apos; ou clique na informação da parcela na barra do menu."
- name="Parcel Management">
- <action description="Transferir e comprar terreno para o grupo"
- longdescription="Transfere e compre terreno para o grupo. É feito em Sobre o terreno &gt; aba Geral."
- name="land deed" />
- <action description="Abandonar terreno para Governador Linden"
- longdescription="Abandone terreno para Governador Linden. *AVISO* Qualquer membro em uma função com esta habilidade pode abandonar o terreno pertencente ao grupo em Sobre o terreno &gt; aba Geral, revertendo à posse Linden sem uma venda! Certifique-se de saber o que está fazendo antes de designar esta habilidade."
- name="land release" />
- <action description="Definir terreno para informação de venda"
- longdescription="Defina informações de venda para terreno. *AVISO* Qualquer membro em uma função com esta habilidade pode vender terrenos pertencentes ao grupo em Sobre o terreno &gt; aba Geral como quiser! Certifique-se de sabe o que está fazendo antes de designar esta habilidade."
- name="land set sale info" />
- <action description="Subdividir e unir parcelas"
- longdescription="Subdivide and join parcels. This is done by right-clicking the ground, &apos;Edit Terrain&apos;, and dragging your mouse on the land to make a selection. To subdivide, select what you want to split and click &apos;Subdivide...&apos;. To join, select two or more contiguous parcels and click &apos;Join...&apos;. "
- name="land divide join" />
+ <action_set description="Estas funções incluem poderes de transferir, vender e modificar os terrenos do grupo. Para acessar a janela &apos;Sobre terrenos&apos;, clique no chão com o botão direito e selecione &apos;Sobre terrenos&apos;. Ou clique no ícone &apos;i&apos; da barra de navegação." name="Parcel Management">
+ <action description="Transferir e comprar terreno para o grupo" longdescription="Transfere e compre terreno para o grupo. É feito em Sobre o terreno &gt; aba Geral." name="land deed"/>
+ <action description="Abandonar terreno para Governador Linden" longdescription="Abandone terreno para Governador Linden. *AVISO* Qualquer membro em uma função com esta habilidade pode abandonar o terreno pertencente ao grupo em Sobre o terreno &gt; aba Geral, revertendo à posse Linden sem uma venda! Certifique-se de saber o que está fazendo antes de designar esta habilidade." name="land release"/>
+ <action description="Definir terreno para informação de venda" longdescription="Defina informações de venda para terreno. *AVISO* Qualquer membro em uma função com esta habilidade pode vender terrenos pertencentes ao grupo em Sobre o terreno &gt; aba Geral como quiser! Certifique-se de sabe o que está fazendo antes de designar esta habilidade." name="land set sale info"/>
+ <action description="Subdividir e unir parcelas" longdescription="Juntar ou dividir lotes. Clique no chão com o botão direito, selecione &apos;Editar terreno&apos; e arraste o mouse sobre o terreno para ver as opções. Para dividir um terreno, selecione a área a ser dividida e clique em &apos;Dividir&apos;. Para juntar terrenos, selecione dois ou mais lotes adjacentes e clique em &apos;Juntar&apos;." name="land divide join"/>
</action_set>
- <action_set
- description="Estas habilidades incluem poderes para mudar o nome da parcelas e configurações de publicação, visibilidade da busca de diretório e ponto de aterrissagem &amp; opções de rota de TP."
- name="Parcel Identity">
- <action
- description="Ativar/desativar &apos;Exibir em locais de encontro&apos; e definir categoria"
- longdescription="Ativar/desativar &apos;Exibir em locais de encontro&apos; e configurar uma categoria de parcela em Sobre o terreno &gt; aba Opções."
- name="land find places" />
- <action
- description="Mudar nome da parcela, descrição, e configurações &apos;Publicar na web&apos;"
- longdescription="Mude o nome da parcela, descrição e configurações de &apos;Publicar na web&apos;. É feito em Sobre o terreno &gt; aba Opções."
- name="land change identity" />
- <action description="Definir ponto de aterrissagem e rota de teletransporte"
- longdescription="Em uma parcela pertencente ao grupo, membros em uma função com esta habilidade podem definir um ponto de aterrissagem para especificar onde os teletransportes chegam e também definir a rota do teletransporte para um maior controle. É feito em Sobre o terreno &gt; aba Opções."
- name="land set landing point" />
+ <action_set description="Estas habilidades incluem poderes para mudar o nome da parcelas e configurações de publicação, visibilidade da busca de diretório e ponto de aterrissagem &amp; opções de rota de TP." name="Parcel Identity">
+ <action description="Alternar &apos;Exibir nos resultados de busca&apos; e selecionar a categoria" longdescription="Alterne entre &apos;Exibir nos resultados de busca&apos; ou não, e selecione a categoria do terreno em &apos;Sobre o terreno&apos;." name="land find places"/>
+ <action description="Mude o nome, a descrição e a exibição do terreno nos resultados de busca." longdescription="Mude o nome, a descrição e a exibição do terreno nos resultados de busca. Veja essas opções em Sobre o terreno &gt; guia Opções." name="land change identity"/>
+ <action description="Definir ponto de aterrissagem e rota de teletransporte" longdescription="Em uma parcela pertencente ao grupo, membros em uma função com esta habilidade podem definir um ponto de aterrissagem para especificar onde os teletransportes chegam e também definir a rota do teletransporte para um maior controle. É feito em Sobre o terreno &gt; aba Opções." name="land set landing point"/>
</action_set>
- <action_set
- description="Estas habilidade incluem poderes que afetam opções de parcela, como &apos;Criar objetos&apos;, &apos;Editar terreno&apos; e música &amp; configurações de mídia."
- name="Parcel Settings">
- <action description="Mudar música &amp; configurações de mídia"
- longdescription="Mude streaming de música e configurações de vídeo em Sobre o terreno &gt; aba Mídia."
- name="land change media" />
- <action description="Ativar/desativar &apos;Editar terreno&apos;"
- longdescription="Ative/desative &apos;Editar terreno&apos;. *AVISO* Sobre o terreno &gt; aba Opções &gt; Editar terreno permite a qualquer um alterar as formas de seu terreno, substituir e mover plantas Linden. Certifique-se de saber o que está fazendo antes de desginar esta habilidade. A edição de terreno é ativada/desativada em Sobre o terreno &gt; aba Opções."
- name="land edit" />
- <action
- description="Ativar/desativar variados Sobre o Terreno &gt; Opções de configuração"
- longdescription="Ative/desative &apos;Seguro (sem dano)&apos;, &apos;Voar&apos;, e permita a outros residentes: &apos;Criar objetos&apos;, &apos;Editar terreno&apos;, &apos;Criar pontos de referência&apos;, e &apos;Executar scripts&apos; em um terreno pertencente ao grupo em Sobre o terreno &gt; aba Opções."
- name="land options" />
+ <action_set description="Estas habilidade incluem poderes que afetam opções de parcela, como &apos;Criar objetos&apos;, &apos;Editar terreno&apos; e música &amp; configurações de mídia." name="Parcel Settings">
+ <action description="Mudar música &amp; configurações de mídia" longdescription="Mude streaming de música e configurações de vídeo em Sobre o terreno &gt; aba Mídia." name="land change media"/>
+ <action description="Ativar/desativar &apos;Editar terreno&apos;" longdescription="Ative/desative &apos;Editar terreno&apos;. *AVISO* Sobre o terreno &gt; aba Opções &gt; Editar terreno permite a qualquer um alterar as formas de seu terreno, substituir e mover plantas Linden. Certifique-se de saber o que está fazendo antes de desginar esta habilidade. A edição de terreno é ativada/desativada em Sobre o terreno &gt; aba Opções." name="land edit"/>
+ <action description="Ativar/desativar variados Sobre o Terreno &gt; Opções de configuração" longdescription="Alterna as opções &apos;Seguro (zero danos)&apos;, &apos;Voar&apos; e autorizar outros residentes a: &apos;Editar terreno&apos;, &apos;Contruir&apos;, &apos;Criar marcos&apos; e &apos;Executar scripts&apos; nos terrenos do grupo. Clique em Sobre o terreno &gt; guia Opções." name="land options"/>
</action_set>
- <action_set
- description="Estas habilidades incluem poderes que permitem a membros ultrapassar restrições em parcelas pertencentes ao grupo."
- name="Parcel Powers">
- <action description="Sempre permitir &apos;Editar terreno&apos;"
- longdescription="Membros em uma função com esta habilidade podem editar terreno em uma parcela pertencente ao grupo, mesmo se estiver desativada em Sobre o terreno &gt; aba Opções."
- name="land allow edit land" />
- <action description="Sempre permitir &apos;Voar&apos;"
- longdescription="Membros em uma função com esta habilidade podem voar sobre uma parcela pertencente ao grupo, mesmo se estiver desativada em Sobre o terreno &gt; aba Opções."
- name="land allow fly" />
- <action description="Sempre permitir &apos;Criar objetos&apos;"
- longdescription="Membros em uma função com esta habilidade podem criar objetos em uma parcela pertencente ao grupo, mesmo se estiver desativada em Sobre o terreno &gt; aba Opções."
- name="land allow create" />
- <action description="Sempre permitir &apos;Criar ponto de referência&apos;"
- longdescription="Membros em uma função com esta habilidade podem colocar um ponto de referência uma parcela pertencente ao grupo, mesmo se estiver desativada em Sobre o terreno &gt; aba Opções."
- name="land allow landmark" />
- <action description="Permitir &apos;Colocar casa aqui&apos; no terreno do grupo"
- longdescription="Membros em uma função com esta habilidade podem usar o menu Mundo &gt; Definir lar aqui em uma parcela do grupo (definir terreno ou transferir para este grupo)."
- name="land allow set home" />
+ <action_set description="Estas habilidades incluem poderes que permitem a membros ultrapassar restrições em parcelas pertencentes ao grupo." name="Parcel Powers">
+ <action description="Sempre permitir &apos;Editar terreno&apos;" longdescription="Membros em uma função com esta habilidade podem editar terreno em uma parcela pertencente ao grupo, mesmo se estiver desativada em Sobre o terreno &gt; aba Opções." name="land allow edit land"/>
+ <action description="Sempre permitir &apos;Voar&apos;" longdescription="Membros em uma função com esta habilidade podem voar sobre uma parcela pertencente ao grupo, mesmo se estiver desativada em Sobre o terreno &gt; aba Opções." name="land allow fly"/>
+ <action description="Sempre permitir &apos;Criar objetos&apos;" longdescription="Membros em uma função com esta habilidade podem criar objetos em uma parcela pertencente ao grupo, mesmo se estiver desativada em Sobre o terreno &gt; aba Opções." name="land allow create"/>
+ <action description="Sempre permitir &apos;Criar ponto de referência&apos;" longdescription="Membros em uma função com esta habilidade podem colocar um ponto de referência uma parcela pertencente ao grupo, mesmo se estiver desativada em Sobre o terreno &gt; aba Opções." name="land allow landmark"/>
+ <action description="Permitir &apos;Colocar casa aqui&apos; no terreno do grupo" longdescription="Membros exercendo cargos com esta função podem selecionar no menu Mundo &gt; Marcos &gt; Definir como casa em lotes doados ao grupo." name="land allow set home"/>
</action_set>
- <action_set
- description="Estas habilidades incluem poderes de permitir ou restringir acesso a parcelas pertencentes ao grupo, incluindo congelar e expulsar residentes."
- name="Parcel Access">
- <action description="Gerenciar listas de acesso à parcela"
- longdescription="Gerencie a lista de acesso à parcela em Sobre o terreno &gt; aba Acesso."
- name="land manage allowed" />
- <action description="Gerenciar lista de banidos da parcela"
- longdescription="Gerencie a lista de banidos da parcela em Sobre o terreno &gt; aba Banido."
- name="land manage banned" />
- <action description="Mudar configurações de parcela &apos;Vender passes...&apos;"
- longdescription="Mude configurações de &apos;Vender passes...&apos; em Sobre o terreno &gt; aba Acesso."
- name="land manage passes" />
- <action description="Expulsar e congelar residentes nas parcelas"
- longdescription="Membros em uma função com esta habilidade podem lidar com um residente indesejado em uma parcela pertencente ao grupo clicando com o botão direitos sobre ele, Mais &gt; e selecionado &apos;Expulsar...&apos; ou &apos;Congelar...&apos;."
- name="land admin" />
+ <action_set description="Estas habilidades incluem poderes de permitir ou restringir acesso a parcelas pertencentes ao grupo, incluindo congelar e expulsar residentes." name="Parcel Access">
+ <action description="Gerenciar listas de acesso à parcela" longdescription="Gerencie a lista de acesso à parcela em Sobre o terreno &gt; aba Acesso." name="land manage allowed"/>
+ <action description="Gerenciar lista de banidos da parcela" longdescription="Administre as listas de acesso e bloqueio em Sobre o terreno &gt; guia Acesso." name="land manage banned"/>
+ <action description="Modificar as opções &apos;Vender passes para&apos;" longdescription="Mude as opções &apos;Vender passes para&apos; em Sobre o terreno &gt; guia Acesso." name="land manage passes"/>
+ <action description="Expulsar e congelar residentes nas parcelas" longdescription="Membros exercendo cargos com esta função podem lidar com residentes problemáticos nos terrenos do grupo. Clique no residente com o botão direito, depois selecione &apos;Ejetar&apos; ou &apos;Congelar&apos;." name="land admin"/>
</action_set>
- <action_set
- description="Estas habilidades incluem poderes de permitir a membros retornar objetos e colocar e mover plantas Linden. Útil para que membros organizem a paisagem, porém deve ser usado com cuidado, devido a não ser possível desfazer a mudança dos objetos."
- name="Parcel Content">
- <action description="Retornar objetos que pertencem ao grupo"
- longdescription="Retorne objetos em parcelas pertencentes ao grupo que pertencem ao grupo em Sobre o terreno &gt; aba Objetos."
- name="land return group owned" />
- <action description="Retornar objetos definidos para o grupo"
- longdescription="Retorne objetos em parcelas pertencentes ao grupo que em Sobre o terrreno &gt; aba Objetos."
- name="land return group set" />
- <action description="Retornar objetos que não pertencem ao grupo"
- longdescription="Retorne objetos nas parcelas pertencentes a um grupo que estão sem grupo em em Sobre o terreno &gt; aba Objetos."
- name="land return non group" />
- <action description="Ajardinar usando plantas Linden"
- longdescription="A habilidade de ajardinar permite colocar e mover árvores Linden, plantas e gramas. Estes itens podem ser encontrando na Biblioteca de seu inventário &gt; pasta Objetos ou podem ser criados através do botão Construir."
- name="land gardening" />
+ <action_set description="Estas habilidades incluem poderes de permitir a membros retornar objetos e colocar e mover plantas Linden. Útil para que membros organizem a paisagem, porém deve ser usado com cuidado, devido a não ser possível desfazer a mudança dos objetos." name="Parcel Content">
+ <action description="Retornar objetos que pertencem ao grupo" longdescription="Retorne objetos em parcelas pertencentes ao grupo que pertencem ao grupo em Sobre o terreno &gt; aba Objetos." name="land return group owned"/>
+ <action description="Retornar objetos definidos para o grupo" longdescription="Retorne objetos em parcelas pertencentes ao grupo que em Sobre o terrreno &gt; aba Objetos." name="land return group set"/>
+ <action description="Retornar objetos que não pertencem ao grupo" longdescription="Retorne objetos nas parcelas pertencentes a um grupo que estão sem grupo em em Sobre o terreno &gt; aba Objetos." name="land return non group"/>
+ <action description="Ajardinar usando plantas Linden" longdescription="Função de paisagismo: poder de plantar e mudar árvores, plantas e grama Linden. A pasta Biblioteca &gt; Objetos do inventário contém material de paisagismo. Use o menu Construir para criar suas próprias plantas." name="land gardening"/>
</action_set>
- <action_set
- description="These Abilities include powers to deed, modify, and sell group-owned objects. These changes are done in the Edit Tools &gt; General Tab. Right-click an object and Edit to see its settings. "
- name="Object Management">
- <action description="Transferir objetos para o grupo"
- longdescription="Transfere objetos para o grupo em Editar ferramentas &gt; aba Geral."
- name="object deed" />
- <action description="Manipular (mover, copiar, modificar) objetos do grupo"
- longdescription="Manipule (mover,copiar, modificar) objetos pertencentes ao grupo em Editar Ferramentas &gt; aba Geral."
- name="object manipulate" />
- <action description="Definir objetos pertencentes ao grupo para venda"
- longdescription="Defina objetos pertencentes ao grupo para venda em Editar Ferramentas &gt; aba Geral."
- name="object set sale" />
+ <action_set description="Estas funções incluem poderes de transferir, vender e modificar os objetos do grupo. Essas opções ficam nas Ferramentas de contrução &gt; guia Geral. Clique em um objeto com o botão direito e selecione Editar para ver as configurações do objeto." name="Object Management">
+ <action description="Transferir objetos para o grupo" longdescription="Transfira objetos para o grupo em Ferramentas de construção &gt; guia Geral." name="object deed"/>
+ <action description="Manipular (mover, copiar, modificar) objetos do grupo" longdescription="Manipule (transportar, copiar, modificar) objetos do grupo nas Ferramentas de construção &gt; guia Geral." name="object manipulate"/>
+ <action description="Definir objetos pertencentes ao grupo para venda" longdescription="Ponha objetos do grupo à venda nas Ferramentas de construção &gt; guia Geral." name="object set sale"/>
</action_set>
- <action_set
- description="Estas habilidades incluem poderes que requerem que membros paguem dívidas e recebam dividendos do grupo, e restringem acesso ao histórico de conta do grupo."
- name="Accounting">
- <action description="Pagar débitos e receber dividendos do grupo"
- longdescription="Members in a Role with this Ability will automatically pay group liabilities and receive group dividends. This means they will receive a portion of group-owned land sales which are distributed daily, as well as contribute towards things like parcel listing fees. "
- name="accounting accountable" />
+ <action_set description="Estas habilidades incluem poderes que requerem que membros paguem dívidas e recebam dividendos do grupo, e restringem acesso ao histórico de conta do grupo." name="Accounting">
+ <action description="Pagar débitos e receber dividendos do grupo" longdescription="Members in a Role with this Ability will automatically pay group liabilities and receive group dividends. This means they will receive a portion of group-owned land sales which are distributed daily, as well as contribute towards things like parcel listing fees. " name="accounting accountable"/>
</action_set>
- <action_set
- description="Estas habilidade incluem poderes de permitir enviar, receber e ver avisos de grupo."
- name="Notices">
- <action description="Enviar aviso"
- longdescription="Membros em uma função com esta habiliade podem enviar avisos em Informações de grupo &gt; aba Avisos."
- name="notices send" />
- <action description="Receber novos avisos e ver os anteriores"
- longdescription="Membros em uma função com esta habilidade podem receber os novos avisos e ver os anteriores em Informações de grupo &gt; aba Avisos."
- name="notices receive" />
+ <action_set description="Estas habilidade incluem poderes de permitir enviar, receber e ver avisos de grupo." name="Notices">
+ <action description="Enviar aviso" longdescription="Membros que exercem cargos com esta função podem enviar avisos na seção Avisos." name="notices send"/>
+ <action description="Receber novos avisos e ver os anteriores" longdescription="Membros que exercem cargos com esta função podem receber e ler avisos antigos na seção Avisos." name="notices receive"/>
</action_set>
- <action_set
- description="Estas habilidades incluem poderes de permitir a membros definir e votar em propostas e ver histórico de votação."
- name="Proposals">
- <action description="Criar proposta"
- longdescription="Membros em uma função com esta habilidade podem criar proposta para serem votadas em Informações de grupo &gt; aba Propostas."
- name="proposal start" />
- <action description="Votar em propostas"
- longdescription="Membros em uma função com esta habilidade podem votar em propostas em Informações de grupo &gt; aba Propostas."
- name="proposal vote" />
+ <action_set description="Estas habilidades incluem poderes de permitir a membros definir e votar em propostas e ver histórico de votação." name="Proposals">
+ <action description="Criar proposta" longdescription="Membros em uma função com esta habilidade podem criar proposta para serem votadas em Informações de grupo &gt; aba Propostas." name="proposal start"/>
+ <action description="Votar em propostas" longdescription="Membros em uma função com esta habilidade podem votar em propostas em Informações de grupo &gt; aba Propostas." name="proposal vote"/>
</action_set>
</role_actions>
diff --git a/indra/newview/skins/default/xui/pt/sidepanel_appearance.xml b/indra/newview/skins/default/xui/pt/sidepanel_appearance.xml
new file mode 100644
index 0000000000..b8bbb4051a
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/sidepanel_appearance.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Looks" name="appearance panel">
+ <string name="No Outfit" value="Nenhum"/>
+ <panel name="panel_currentlook">
+ <text name="currentlook_title">
+ (não salvo)
+ </text>
+ </panel>
+ <filter_editor label="Filtrar looks" name="Filter"/>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml b/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml
new file mode 100644
index 0000000000..75b737b8bd
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/sidepanel_inventory.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel label="Coisas" name="objects panel">
+ <panel label="" name="sidepanel__inventory_panel">
+ <panel name="button_panel">
+ <button label="Perfil" name="info_btn"/>
+ <button label="Vestir" name="wear_btn"/>
+ <button label="Tocar" name="play_btn"/>
+ <button label="Teletransportar" name="teleport_btn"/>
+ </panel>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml b/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml
new file mode 100644
index 0000000000..4fc50bac67
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/sidepanel_item_info.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="item properties" title="Perfil do objeto">
+ <panel.string name="unknown">
+ (desconhecido)
+ </panel.string>
+ <panel.string name="public">
+ (público)
+ </panel.string>
+ <panel.string name="you_can">
+ você pode:
+ </panel.string>
+ <panel.string name="owner_can">
+ Proprietário pode:
+ </panel.string>
+ <panel.string name="acquiredDate">
+ [wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
+ </panel.string>
+ <text name="title" value="Perfil do objeto"/>
+ <text name="where" value="(Inventário)"/>
+ <panel label="">
+ <text name="LabelItemNameTitle">
+ Nome:
+ </text>
+ <text name="LabelItemDescTitle">
+ Descrição:
+ </text>
+ <text name="LabelCreatorTitle">
+ Criador:
+ </text>
+ <button label="Perfil..." name="BtnCreator"/>
+ <text name="LabelOwnerTitle">
+ Proprietário:
+ </text>
+ <button label="Perfil..." name="BtnOwner"/>
+ <text name="LabelAcquiredTitle">
+ Adquirido:
+ </text>
+ <text name="LabelAcquiredDate">
+ Quarta 24 de Maio 12:50:46 2006
+ </text>
+ <panel name="perms_inv">
+ <text name="perm_modify">
+ Você pode:
+ </text>
+ <check_box label="Modificar" name="CheckOwnerModify"/>
+ <check_box label="Copiar" name="CheckOwnerCopy"/>
+ <check_box label="Transferir" name="CheckOwnerTransfer"/>
+ <text name="AnyoneLabel">
+ Todos:
+ </text>
+ <check_box label="Copiar" name="CheckEveryoneCopy"/>
+ <text name="GroupLabel">
+ Grupo:
+ </text>
+ <check_box label="Compartilhar" name="CheckShareWithGroup" tool_tip="Permitir que todos os membros do grupo tenham o seu nível de modificação para este objeto. Faça uma doação para ativar restrições de função."/>
+ <text name="NextOwnerLabel">
+ Próximo proprietário:
+ </text>
+ <check_box label="Modificar" name="CheckNextOwnerModify"/>
+ <check_box label="Copiar" name="CheckNextOwnerCopy"/>
+ <check_box label="Transferir" name="CheckNextOwnerTransfer" tool_tip="O próximo dono poderá revender ou dar este objeto"/>
+ </panel>
+ <check_box label="À venda" name="CheckPurchase"/>
+ <combo_box name="combobox sale copy">
+ <combo_box.item label="Copiar" name="Copy"/>
+ <combo_box.item label="Original" name="Original"/>
+ </combo_box>
+ <spinner label="Preço: L$" name="Edit Cost"/>
+ </panel>
+ <panel name="button_panel">
+ <button label="Cancelar" name="cancel_btn"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/sidepanel_task_info.xml b/indra/newview/skins/default/xui/pt/sidepanel_task_info.xml
new file mode 100644
index 0000000000..7981cd106f
--- /dev/null
+++ b/indra/newview/skins/default/xui/pt/sidepanel_task_info.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<panel name="object properties" title="Perfil do objeto">
+ <panel.string name="text deed continued">
+ Doar
+ </panel.string>
+ <panel.string name="text deed">
+ Doar
+ </panel.string>
+ <panel.string name="text modify info 1">
+ Você pode modificar este objeto
+ </panel.string>
+ <panel.string name="text modify info 2">
+ Você pode modificar estes objetos
+ </panel.string>
+ <panel.string name="text modify info 3">
+ Você não pode modificar este objeto
+ </panel.string>
+ <panel.string name="text modify info 4">
+ Você não pode modificar estes objetos
+ </panel.string>
+ <panel.string name="text modify warning">
+ O objeto contém links ligando suas partes
+ </panel.string>
+ <panel.string name="Cost Default">
+ Preço: L$
+ </panel.string>
+ <panel.string name="Cost Total">
+ Preço total: L$
+ </panel.string>
+ <panel.string name="Cost Per Unit">
+ Preço unitário: L$
+ </panel.string>
+ <panel.string name="Cost Mixed">
+ Preço misto
+ </panel.string>
+ <panel.string name="Sale Mixed">
+ Venda mista
+ </panel.string>
+ <text name="title" value="Perfil do objeto"/>
+ <text name="where" value="(inworld)"/>
+ <panel label="">
+ <text name="Name:">
+ Nome:
+ </text>
+ <text name="Description:">
+ Descrição:
+ </text>
+ <text name="CreatorNameLabel">
+ Criador:
+ </text>
+ <text name="Creator Name">
+ Erica Linden
+ </text>
+ <text name="Owner:">
+ Proprietário:
+ </text>
+ <text name="Group_label">
+ Grupo:
+ </text>
+ <button name="button set group" tool_tip="Selecione o grupo que terá acesso à autorização do objeto"/>
+ <name_box initial_value="Carregando..." name="Group Name Proxy"/>
+ <button label="Doar" label_selected="Doar" name="button deed" tool_tip="Ao doar este item, o próximo dono terá permissões de próximo dono. Objetos de grupos podem ser doados por um oficial do grupo."/>
+ <text name="label click action">
+ Clique para:
+ </text>
+ <combo_box name="clickaction">
+ <combo_box.item label="Tocar (padrão)" name="Touch/grab(default)"/>
+ <combo_box.item label="Sentar em objeto" name="Sitonobject"/>
+ <combo_box.item label="Comprar objeto" name="Buyobject"/>
+ <combo_box.item label="Pagar por objeto" name="Payobject"/>
+ <combo_box.item label="Abrir" name="Open"/>
+ </combo_box>
+ <panel name="perms_inv">
+ <text name="perm_modify">
+ Você pode modificar este objeto
+ </text>
+ <text name="Anyone can:">
+ Todos:
+ </text>
+ <check_box label="Copiar" name="checkbox allow everyone copy"/>
+ <check_box label="Movimentar" name="checkbox allow everyone move"/>
+ <text name="GroupLabel">
+ Grupo:
+ </text>
+ <check_box label="Compartilhar" name="checkbox share with group" tool_tip="Permitir que todos os membros do grupo tenham o seu nível de modificação para este objeto. Faça uma doação para ativar restrições de função."/>
+ <text name="NextOwnerLabel">
+ Próximo proprietário:
+ </text>
+ <check_box label="Modificar" name="checkbox next owner can modify"/>
+ <check_box label="Copiar" name="checkbox next owner can copy"/>
+ <check_box label="Transferir" name="checkbox next owner can transfer" tool_tip="O próximo dono poderá revender ou dar este objeto"/>
+ </panel>
+ <check_box label="À venda" name="checkbox for sale"/>
+ <combo_box name="sale type">
+ <combo_box.item label="Copiar" name="Copy"/>
+ <combo_box.item label="Conteúdo" name="Contents"/>
+ <combo_box.item label="Original" name="Original"/>
+ </combo_box>
+ <spinner label="Preço: L$" name="Edit Cost"/>
+ <check_box label="Mostrar nos resultados de busca" name="search_check" tool_tip="Incluir o objeto nos resultados de busca"/>
+ <text name="B:">
+ B:
+ </text>
+ <text name="O:">
+ O:
+ </text>
+ <text name="G:">
+ G:
+ </text>
+ <text name="E:">
+ E:
+ </text>
+ <text name="N:">
+ N:
+ </text>
+ <text name="F:">
+ F:
+ </text>
+ </panel>
+ <panel name="button_panel">
+ <button label="Abrir" name="open_btn"/>
+ <button label="Pagar" name="pay_btn"/>
+ <button label="Comprar" name="buy_btn"/>
+ </panel>
+</panel>
diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml
index 9acfce99dd..195345abc0 100644
--- a/indra/newview/skins/default/xui/pt/strings.xml
+++ b/indra/newview/skins/default/xui/pt/strings.xml
@@ -1,13 +1,27 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- This file contains strings that used to be hardcoded in the source.
It is only for those strings which do not belong in a floater.
- For example, the strings used in avatar chat bubbles, and strings
+ For example, the strings used in avatar chat bubbles, and strings
that are returned from one component and may appear in many places-->
<strings>
- <string name="create_account_url">http://join.secondlife.com/index.php?lang=pt-BR</string>
+ <string name="CAPITALIZED_APP_NAME">
+ SECOND LIFE
+ </string>
+ <string name="SUPPORT_SITE">
+ Portal de Apoio do Second Life
+ </string>
+ <string name="StartupDetectingHardware">
+ Detectando hardware...
+ </string>
+ <string name="StartupLoading">
+ Carregando
+ </string>
<string name="LoginInProgress">
Fazendo Login. [APP_NAME] pode parecer congelado. Por favor, aguarde.
</string>
+ <string name="LoginInProgressNoFrozen">
+ Logando...
+ </string>
<string name="LoginAuthenticating">
Autenticando
</string>
@@ -26,8 +40,11 @@
<string name="LoginInitializingMultimedia">
Inicializando multimídia...
</string>
+ <string name="LoginInitializingFonts">
+ Carregando fontes...
+ </string>
<string name="LoginVerifyingCache">
- Verificando arquivos no cache (pode levar 60-90 segundos)...
+ Verificando arquivos cache (pode levar de 60-90 segundos)...
</string>
<string name="LoginProcessingResponse">
Processando Resposta...
@@ -56,6 +73,15 @@
<string name="LoginDownloadingClothing">
Baixando roupas...
</string>
+ <string name="LoginFailedNoNetwork">
+ Erro de Rede: Não foi possível estabelecer a conexão, verifique sua conexão de rede.
+ </string>
+ <string name="Quit">
+ Sair
+ </string>
+ <string name="create_account_url">
+ http://join.secondlife.com/index.php?lang=pt-BR
+ </string>
<string name="AgentLostConnection">
Esta região pode estar passando por problemas. Por favor, verifique sua conexão com a internet.
</string>
@@ -74,39 +100,9 @@
<string name="TooltipIsGroup">
(Grupo)
</string>
- <string name="TooltipFlagScript">
- Script
- </string>
- <string name="TooltipFlagPhysics">
- Física
- </string>
- <string name="TooltipFlagTouch">
- Toque
- </string>
- <string name="TooltipFlagL$">
- L$
- </string>
- <string name="TooltipFlagDropInventory">
- Dar Inventário
- </string>
- <string name="TooltipFlagPhantom">
- Imaterial
- </string>
- <string name="TooltipFlagTemporary">
- Temporário
- </string>
- <string name="TooltipFlagRightClickMenu">
- (Clique com o botão direito para acessar o menu)
- </string>
- <string name="TooltipFreeToCopy">
- Cópia Permitida
- </string>
<string name="TooltipForSaleL$">
À venda: L$[AMOUNT]
</string>
- <string name="TooltipForSaleMsg">
- À venda: [MESSAGE]
- </string>
<string name="TooltipFlagGroupBuild">
Construído por Grupo
</string>
@@ -134,6 +130,73 @@
<string name="TooltipMustSingleDrop">
Apenas um item único pode ser arrastado para este local
</string>
+ <string name="TooltipHttpUrl">
+ Clique para ver essa página web
+ </string>
+ <string name="TooltipSLURL">
+ Clique para ver a informação desta localização
+ </string>
+ <string name="TooltipAgentUrl">
+ Clique para ver o perfil deste residente
+ </string>
+ <string name="TooltipGroupUrl">
+ Clique para ver a descrição deste Grupo
+ </string>
+ <string name="TooltipEventUrl">
+ Clique para ver a descrição deste evento
+ </string>
+ <string name="TooltipClassifiedUrl">
+ Clique para ver este classificado
+ </string>
+ <string name="TooltipParcelUrl">
+ Clique para ver a descrição desta parcela
+ </string>
+ <string name="TooltipTeleportUrl">
+ Clique para teletransportar para esta localização
+ </string>
+ <string name="TooltipObjectIMUrl">
+ Clique para ver a descrição deste objeto
+ </string>
+ <string name="TooltipMapUrl">
+ Clique para ver esta localização no mapa
+ </string>
+ <string name="TooltipSLAPP">
+ Clique para ativar no secondlife:// commando
+ </string>
+ <string name="CurrentURL" value="URL atual: [CurrentURL]"/>
+ <string name="SLurlLabelTeleport">
+ Teletransportar para
+ </string>
+ <string name="SLurlLabelShowOnMap">
+ Mostrar no mapa para
+ </string>
+ <string name="BUTTON_CLOSE_DARWIN">
+ Fechar (⌘W)
+ </string>
+ <string name="BUTTON_CLOSE_WIN">
+ Fechar (Ctrl+W)
+ </string>
+ <string name="BUTTON_RESTORE">
+ Restaurar
+ </string>
+ <string name="BUTTON_MINIMIZE">
+ Minimizar
+ </string>
+ <string name="BUTTON_TEAR_OFF">
+ Separar-se da janela
+ </string>
+ <string name="BUTTON_DOCK">
+ conectar-se à barra
+ </string>
+ <string name="BUTTON_HELP">
+ Mostrar ajuda
+ </string>
+ <string name="Searching">
+ Buscando...
+ </string>
+ <string name="NoneFound">
+ Não encontrado.
+ </string>
<string name="RetrievingData">
Buscando...
</string>
@@ -149,9 +212,6 @@
<string name="AvatarNameWaiting">
(aguardando)
</string>
- <string name="AvatarNameHippos">
- (hippos)
- </string>
<string name="GroupNameNone">
(nenhum)
</string>
@@ -188,8 +248,77 @@
<string name="AssetErrorUnknownStatus">
Status desconhecido
</string>
- <string name="AvatarEditingApparance">
- (Editando Aparência)
+ <string name="texture">
+ textura
+ </string>
+ <string name="sound">
+ som
+ </string>
+ <string name="calling card">
+ cartão de visitas
+ </string>
+ <string name="landmark">
+ landmark
+ </string>
+ <string name="legacy script">
+ script obsoleto
+ </string>
+ <string name="clothing">
+ roupas
+ </string>
+ <string name="object">
+ objeto
+ </string>
+ <string name="note card">
+ notecard
+ </string>
+ <string name="folder">
+ pasta
+ </string>
+ <string name="root">
+ raiz
+ </string>
+ <string name="lsl2 script">
+ script LSL2
+ </string>
+ <string name="lsl bytecode">
+ bytecode LSL
+ </string>
+ <string name="tga texture">
+ textura tga
+ </string>
+ <string name="body part">
+ parte do corpo
+ </string>
+ <string name="snapshot">
+ fotografia
+ </string>
+ <string name="lost and found">
+ Achados e Perdidos
+ </string>
+ <string name="targa image">
+ imagem targa
+ </string>
+ <string name="trash">
+ Lixo
+ </string>
+ <string name="jpeg image">
+ imagem jpeg
+ </string>
+ <string name="animation">
+ animação
+ </string>
+ <string name="gesture">
+ gesto
+ </string>
+ <string name="simstate">
+ simstate
+ </string>
+ <string name="favorite">
+ favorito
+ </string>
+ <string name="symbolic link">
+ link
</string>
<string name="AvatarAway">
Distante
@@ -411,7 +540,19 @@
Carregando...
</string>
<string name="worldmap_offline">
- Desconectado
+ Offline
+ </string>
+ <string name="worldmap_results_none_found">
+ Nenhum encontrado.
+ </string>
+ <string name="Ok">
+ OK
+ </string>
+ <string name="Premature end of file">
+ término prematuro do arquivo
+ </string>
+ <string name="ST_NO_JOINT">
+ Não é possível encontrar a raiz (ROOT) ou junção (JOINT).
</string>
<string name="whisper">
sussurra:
@@ -419,6 +560,60 @@
<string name="shout">
grita:
</string>
+ <string name="ringing">
+ Conectando à conversa de Voz no mundo
+ </string>
+ <string name="connected">
+ Conectado
+ </string>
+ <string name="unavailable">
+ Voz não disponível na sua localização atual
+ </string>
+ <string name="hang_up">
+ Desconectado da conversa de Voz no mundo
+ </string>
+ <string name="reconnect_nearby">
+ Agora você será reconectado ao bate-papo local.
+ </string>
+ <string name="ScriptQuestionCautionChatGranted">
+ &apos;[OBJECTNAME]&apos;, um objeto de &apos;[OWNERNAME]&apos;, localizado em [REGIONNAME] a [REGIONPOS], obteve permissão para: [PERMISSIONS].
+ </string>
+ <string name="ScriptQuestionCautionChatDenied">
+ &apos;[OBJECTNAME]&apos;, um objeto de &apos;[OWNERNAME]&apos;, localizado em [REGIONNAME] a [REGIONPOS], teve permissão negada para: [PERMISSIONS].
+ </string>
+ <string name="ScriptTakeMoney">
+ Tomar linden dólares (L$) de você
+ </string>
+ <string name="ActOnControlInputs">
+ Atue nas suas entradas de controle
+ </string>
+ <string name="RemapControlInputs">
+ Remapeie suas entradas de controle
+ </string>
+ <string name="AnimateYourAvatar">
+ Faça uma animação para o seu avatar
+ </string>
+ <string name="AttachToYourAvatar">
+ Anexe ao seu avatar
+ </string>
+ <string name="ReleaseOwnership">
+ Libere a propriedade e torne-a pública
+ </string>
+ <string name="LinkAndDelink">
+ Una e desuna de outros objetos
+ </string>
+ <string name="AddAndRemoveJoints">
+ Adicione e remova junções com outros objetos
+ </string>
+ <string name="ChangePermissions">
+ Modifique as permissões
+ </string>
+ <string name="TrackYourCamera">
+ Acompanhe sua câmera
+ </string>
+ <string name="ControlYourCamera">
+ Controle sua camera
+ </string>
<string name="SIM_ACCESS_PG">
PG
</string>
@@ -437,8 +632,6 @@
<string name="land_type_unknown">
(desconhecido)
</string>
- <string name="covenant_never_modified">Última modificação: (nunca)</string>
- <string name="covenant_modified">Última modificação: </string>
<string name="all_files">
Todos os Arquivos
</string>
@@ -484,17 +677,904 @@
<string name="choose_the_directory">
Escolher Diretório
</string>
+ <string name="AvatarSetNotAway">
+ deixar como não away
+ </string>
+ <string name="AvatarSetAway">
+ deixar como Away
+ </string>
+ <string name="AvatarSetNotBusy">
+ deixar como não Ocupado
+ </string>
+ <string name="AvatarSetBusy">
+ Deixar como Busy
+ </string>
+ <string name="shape">
+ Silhueta
+ </string>
+ <string name="skin">
+ Pele
+ </string>
+ <string name="hair">
+ Cabelo
+ </string>
+ <string name="eyes">
+ Olhos
+ </string>
+ <string name="shirt">
+ Camisa
+ </string>
+ <string name="pants">
+ calças
+ </string>
+ <string name="shoes">
+ Sapatos
+ </string>
+ <string name="socks">
+ Meias
+ </string>
+ <string name="jacket">
+ Blusa
+ </string>
+ <string name="gloves">
+ Luvas
+ </string>
+ <string name="undershirt">
+ camiseta
+ </string>
+ <string name="underpants">
+ roupa debaixo
+ </string>
+ <string name="skirt">
+ saia
+ </string>
+ <string name="alpha">
+ Alpha
+ </string>
+ <string name="tattoo">
+ Tattoo
+ </string>
+ <string name="invalid">
+ inválido
+ </string>
+ <string name="next">
+ Próximo
+ </string>
+ <string name="ok">
+ OK
+ </string>
+ <string name="GroupNotifyGroupNotice">
+ Anúncio de grupo
+ </string>
+ <string name="GroupNotifyGroupNotices">
+ Anúncios do grupo
+ </string>
+ <string name="GroupNotifySentBy">
+ Enviado por
+ </string>
+ <string name="GroupNotifyAttached">
+ Anexo:
+ </string>
+ <string name="GroupNotifyViewPastNotices">
+ Ver últimos anúncios ou optar por não receber essas mensagens aqui.
+ </string>
+ <string name="GroupNotifyOpenAttachment">
+ Abrir anexo
+ </string>
+ <string name="GroupNotifySaveAttachment">
+ Salvar anexo
+ </string>
+ <string name="TeleportOffer">
+ Oferta de teletransporte
+ </string>
+ <string name="StartUpNotifications">
+ [%d] Novas notificações chegaram enquanto você estava fora...
+ </string>
+ <string name="OverflowInfoChannelString">
+ Você tem mais [%d] notificações
+ </string>
+ <string name="BodyPartsRightArm">
+ Braço direito
+ </string>
+ <string name="BodyPartsHead">
+ Cabeça
+ </string>
+ <string name="BodyPartsLeftArm">
+ Braço esquerdo
+ </string>
+ <string name="BodyPartsLeftLeg">
+ Perna esquerda
+ </string>
+ <string name="BodyPartsTorso">
+ Tronco
+ </string>
+ <string name="BodyPartsRightLeg">
+ Perna direita
+ </string>
+ <string name="GraphicsQualityLow">
+ Baixo
+ </string>
+ <string name="GraphicsQualityMid">
+ Meio
+ </string>
+ <string name="GraphicsQualityHigh">
+ Alto
+ </string>
+ <string name="LeaveMouselook">
+ Pressione ESC para retornar para visão do mundo
+ </string>
+ <string name="InventoryNoMatchingItems">
+ Nenhum item correspondente foi encontrado no inventário. Tente fazer uma [secondlife:///app/search/groups &quot;Busca&quot;].
+ </string>
+ <string name="FavoritesNoMatchingItems">
+ Arraste um marco para adicioná-lo aos seus favoritos.
+ </string>
+ <string name="InventoryNoTexture">
+ Você não possui uma cópia desta textura no seu inventário
+ </string>
+ <string name="no_transfer" value="(não transferível)"/>
+ <string name="no_modify" value="(não modificável)"/>
+ <string name="no_copy" value="(não copiável)"/>
+ <string name="worn" value="(vestido)"/>
+ <string name="link" value="(link)"/>
+ <string name="broken_link" value="(link_quebrado)&quot;"/>
+ <string name="LoadingContents">
+ Carregando conteúdo...
+ </string>
+ <string name="NoContents">
+ Nenhum conteúdo
+ </string>
+ <string name="WornOnAttachmentPoint" value="(vestido em [ATTACHMENT_POINT])"/>
+ <string name="Chat" value="Bate papo :"/>
+ <string name="Sound" value="Som :"/>
+ <string name="Wait" value="--- Aguarde :"/>
+ <string name="AnimFlagStop" value="Parar animação :"/>
+ <string name="AnimFlagStart" value="Iniciar animação :"/>
+ <string name="Wave" value="Aceno"/>
+ <string name="HelloAvatar" value="Olá, avatar!"/>
+ <string name="ViewAllGestures" value="Ver tudo &gt;&gt;"/>
+ <string name="Animations" value="Animações,"/>
+ <string name="Calling Cards" value="Cartões de visitas,"/>
+ <string name="Clothing" value="Vestuário,"/>
+ <string name="Gestures" value="Gestos,"/>
+ <string name="Landmarks" value="Landmarks,"/>
+ <string name="Notecards" value="Notecards,"/>
+ <string name="Objects" value="Objetos,"/>
+ <string name="Scripts" value="Scripts,"/>
+ <string name="Sounds" value="Sons,"/>
+ <string name="Textures" value="Texturas,"/>
+ <string name="Snapshots" value="Fotografias,"/>
+ <string name="No Filters" value="Não"/>
+ <string name="Since Logoff" value="- desde desligado"/>
+ <string name="InvFolder My Inventory">
+ Meu Inventorio
+ </string>
+ <string name="InvFolder My Favorites">
+ Meus Favoritos
+ </string>
+ <string name="InvFolder Library">
+ Biblioteca
+ </string>
+ <string name="InvFolder Textures">
+ Texturas
+ </string>
+ <string name="InvFolder Sounds">
+ Sons
+ </string>
+ <string name="InvFolder Calling Cards">
+ Cartões de Visitas
+ </string>
+ <string name="InvFolder Landmarks">
+ Landmarks
+ </string>
+ <string name="InvFolder Scripts">
+ Scripts
+ </string>
+ <string name="InvFolder Clothing">
+ Vestuário
+ </string>
+ <string name="InvFolder Objects">
+ Objetos
+ </string>
+ <string name="InvFolder Notecards">
+ Notecards
+ </string>
+ <string name="InvFolder New Folder">
+ Nova Pasta
+ </string>
+ <string name="InvFolder Inventory">
+ Inventário
+ </string>
+ <string name="InvFolder Uncompressed Images">
+ Imagens Descompactadas
+ </string>
+ <string name="InvFolder Body Parts">
+ Partes do Corpo
+ </string>
+ <string name="InvFolder Trash">
+ Lixo
+ </string>
+ <string name="InvFolder Photo Album">
+ Álbum de Fotografias
+ </string>
+ <string name="InvFolder Lost And Found">
+ Achados e Perdidos
+ </string>
+ <string name="InvFolder Uncompressed Sounds">
+ Sons Descompactados
+ </string>
+ <string name="InvFolder Animations">
+ Animações
+ </string>
+ <string name="InvFolder Gestures">
+ Gestos
+ </string>
+ <string name="InvFolder favorite">
+ Favoritos
+ </string>
+ <string name="InvFolder Current Outfit">
+ Vestimanta Atual
+ </string>
+ <string name="InvFolder My Outfits">
+ Minhas Vestimentas
+ </string>
+ <string name="InvFolder Friends">
+ Amigos
+ </string>
+ <string name="InvFolder All">
+ Tudo
+ </string>
+ <string name="Buy">
+ Comprar
+ </string>
+ <string name="BuyforL$">
+ Comprar por L$
+ </string>
+ <string name="Stone">
+ Pedra
+ </string>
+ <string name="Metal">
+ Metal
+ </string>
+ <string name="Glass">
+ Vidro
+ </string>
+ <string name="Wood">
+ Madeira
+ </string>
+ <string name="Flesh">
+ Carne
+ </string>
+ <string name="Plastic">
+ Plástico
+ </string>
+ <string name="Rubber">
+ Borrracha
+ </string>
+ <string name="Light">
+ Luz
+ </string>
+ <string name="KBShift">
+ Shift
+ </string>
+ <string name="KBCtrl">
+ Ctrl
+ </string>
+ <string name="Chest">
+ Peito
+ </string>
+ <string name="Skull">
+ Crânio
+ </string>
+ <string name="Left Shoulder">
+ Ombro esquerdo
+ </string>
+ <string name="Right Shoulder">
+ Ombro direito
+ </string>
+ <string name="Left Hand">
+ Mão esquerda
+ </string>
+ <string name="Right Hand">
+ Mão direita
+ </string>
+ <string name="Left Foot">
+ Pé esquerdo
+ </string>
+ <string name="Right Foot">
+ Pé direito
+ </string>
+ <string name="Spine">
+ Espinha
+ </string>
+ <string name="Pelvis">
+ Pelvis
+ </string>
+ <string name="Mouth">
+ Boca
+ </string>
+ <string name="Chin">
+ Queixo
+ </string>
+ <string name="Left Ear">
+ Orelha esquerda
+ </string>
+ <string name="Right Ear">
+ Orelha direita
+ </string>
+ <string name="Left Eyeball">
+ Globo ocular esquerdo
+ </string>
+ <string name="Right Eyeball">
+ Globo ocular direito
+ </string>
+ <string name="Nose">
+ Nariz
+ </string>
+ <string name="R Upper Arm">
+ Braço superior D
+ </string>
+ <string name="R Forearm">
+ Antebraço D
+ </string>
+ <string name="L Upper Arm">
+ Braço superior E
+ </string>
+ <string name="L Forearm">
+ Antebraço E
+ </string>
+ <string name="Right Hip">
+ Quadril direito
+ </string>
+ <string name="R Upper Leg">
+ Coxa D
+ </string>
+ <string name="R Lower Leg">
+ Perna inferior D
+ </string>
+ <string name="Left Hip">
+ Quadril esquerdo
+ </string>
+ <string name="L Upper Leg">
+ Coxa E
+ </string>
+ <string name="L Lower Leg">
+ Perna inferior E
+ </string>
+ <string name="Stomach">
+ Estômago
+ </string>
+ <string name="Left Pec">
+ Pec esquerdo
+ </string>
+ <string name="Right Pec">
+ Pec direito
+ </string>
+ <string name="YearsMonthsOld">
+ [AGEYEARS] [AGEMONTHS] de idade
+ </string>
+ <string name="YearsOld">
+ [AGEYEARS] de idade
+ </string>
+ <string name="MonthsOld">
+ [AGEMONTHS] de idade
+ </string>
+ <string name="WeeksOld">
+ [AGEWEEKS] de idade
+ </string>
+ <string name="DaysOld">
+ [AGEDAYS] de idade
+ </string>
+ <string name="TodayOld">
+ Cadastrado hoje
+ </string>
+ <string name="AgeYearsA">
+ [COUNT] ano
+ </string>
+ <string name="AgeYearsB">
+ [COUNT] anos
+ </string>
+ <string name="AgeYearsC">
+ [COUNT] anos
+ </string>
+ <string name="AgeMonthsA">
+ [COUNT] mês
+ </string>
+ <string name="AgeMonthsB">
+ [COUNT] meses
+ </string>
+ <string name="AgeMonthsC">
+ [COUNT] meses
+ </string>
+ <string name="AgeWeeksA">
+ [COUNT] semana
+ </string>
+ <string name="AgeWeeksB">
+ [COUNT] semanas
+ </string>
+ <string name="AgeWeeksC">
+ [COUNT] semanas
+ </string>
+ <string name="AgeDaysA">
+ [COUNT] dia
+ </string>
+ <string name="AgeDaysB">
+ [COUNT] dias
+ </string>
+ <string name="AgeDaysC">
+ [COUNT] dias
+ </string>
+ <string name="GroupMembersA">
+ [COUNT] membro
+ </string>
+ <string name="GroupMembersB">
+ [COUNT] membros
+ </string>
+ <string name="GroupMembersC">
+ [COUNT] membros
+ </string>
+ <string name="AcctTypeResident">
+ Residente
+ </string>
+ <string name="AcctTypeTrial">
+ Prova
+ </string>
+ <string name="AcctTypeCharterMember">
+ Lista de membros
+ </string>
+ <string name="AcctTypeEmployee">
+ Empregado da Linden Lab
+ </string>
+ <string name="PaymentInfoUsed">
+ Info de Pagamento usada
+ </string>
+ <string name="PaymentInfoOnFile">
+ Info de Pagamento no Arquivo
+ </string>
+ <string name="NoPaymentInfoOnFile">
+ Nenhuma Info de Pagamento no Arquivo
+ </string>
+ <string name="AgeVerified">
+ Idade-verificada
+ </string>
+ <string name="NotAgeVerified">
+ Idade não-verificada
+ </string>
+ <string name="Center 2">
+ Centro 2
+ </string>
+ <string name="Top Right">
+ Topo direita
+ </string>
+ <string name="Top">
+ Topo
+ </string>
+ <string name="Top Left">
+ Topo esquerda
+ </string>
+ <string name="Center">
+ Centro
+ </string>
+ <string name="Bottom Left">
+ Inferior esquerdo
+ </string>
+ <string name="Bottom">
+ Inferior
+ </string>
+ <string name="Bottom Right">
+ Inferior direito
+ </string>
+ <string name="CompileQueueDownloadedCompiling">
+ Downloaded, agora compilando
+ </string>
+ <string name="CompileQueueScriptNotFound">
+ Script não encontrado no servidor.
+ </string>
+ <string name="CompileQueueProblemDownloading">
+ Problema no download
+ </string>
+ <string name="CompileQueueInsufficientPermDownload">
+ Permissões insuficientes para fazer o download do script.
+ </string>
+ <string name="CompileQueueInsufficientPermFor">
+ Permissões insuficientes para
+ </string>
+ <string name="CompileQueueUnknownFailure">
+ Falha desconhecida para download
+ </string>
+ <string name="CompileQueueTitle">
+ Progresso do Recompilamento
+ </string>
+ <string name="CompileQueueStart">
+ recompilar
+ </string>
+ <string name="ResetQueueTitle">
+ Reset Progresso
+ </string>
+ <string name="ResetQueueStart">
+ reset
+ </string>
+ <string name="RunQueueTitle">
+ Definir funcionamento do progresso
+ </string>
+ <string name="RunQueueStart">
+ deixar funcionando
+ </string>
+ <string name="NotRunQueueTitle">
+ Definir progresso não funcionando
+ </string>
+ <string name="NotRunQueueStart">
+ não deixar funcionando
+ </string>
+ <string name="CompileSuccessful">
+ Compilação bem sucedida
+ </string>
+ <string name="CompileSuccessfulSaving">
+ Compilação bem sucedida, salvando...
+ </string>
+ <string name="SaveComplete">
+ Salvo.
+ </string>
+ <string name="ObjectOutOfRange">
+ Script (objecto fora de alcance)
+ </string>
+ <string name="GodToolsObjectOwnedBy">
+ Objeto [OBJECT] de propriedade de [OWNER]
+ </string>
+ <string name="GroupsNone">
+ nenhum
+ </string>
+ <string name="Group" value="(grupo)"/>
+ <string name="Unknown">
+ (Desconhecido)
+ </string>
+ <string name="SummaryForTheWeek" value="Resumo para esta semana, com início em"/>
+ <string name="NextStipendDay" value="Próximo dia de salário é"/>
+ <string name="GroupIndividualShare" value="Grupo Divisão individualI"/>
+ <string name="Balance">
+ Balanço
+ </string>
+ <string name="Credits">
+ Créditos
+ </string>
+ <string name="Debits">
+ Débitos
+ </string>
+ <string name="Total">
+ Total
+ </string>
+ <string name="NoGroupDataFound">
+ Não ha dados de grupo para o grupo
+ </string>
+ <string name="IMParentEstate">
+ propriedade dos pais
+ </string>
+ <string name="IMMainland">
+ continente
+ </string>
+ <string name="IMTeen">
+ adolescente
+ </string>
+ <string name="RegionInfoError">
+ erro
+ </string>
+ <string name="RegionInfoAllEstatesOwnedBy">
+ todas as propriedades pertencem a [OWNER]
+ </string>
+ <string name="RegionInfoAllEstatesYouOwn">
+ todas as propriedades que você possui
+ </string>
+ <string name="RegionInfoAllEstatesYouManage">
+ todas as propriedades que você gerencia para [OWNER]
+ </string>
+ <string name="RegionInfoAllowedResidents">
+ Residentes autorizados: ([ALLOWEDAGENTS], max [MAXACCESS])
+ </string>
+ <string name="RegionInfoAllowedGroups">
+ Grupos permitidos: ([ALLOWEDGROUPS], max [MAXACCESS])
+ </string>
+ <string name="ScriptLimitsParcelScriptMemory">
+ Memória de scripts no lote
+ </string>
+ <string name="ScriptLimitsParcelsOwned">
+ Lotes listados: [PARCELS]
+ </string>
+ <string name="ScriptLimitsMemoryUsed">
+ Memória usada: [COUNT] kb de [MAX] kb; [AVAILABLE] kb disponíveis
+ </string>
+ <string name="ScriptLimitsMemoryUsedSimple">
+ Memória usada: [COUNT] kb
+ </string>
+ <string name="ScriptLimitsParcelScriptURLs">
+ URL dos scripts do lote
+ </string>
+ <string name="ScriptLimitsURLsUsed">
+ URLs usados: [COUNT] de [MAX]; [AVAILABLE] disponíveis
+ </string>
+ <string name="ScriptLimitsURLsUsedSimple">
+ URLs usados: [COUNT]
+ </string>
+ <string name="ScriptLimitsRequestError">
+ Erro ao solicitar dados
+ </string>
+ <string name="ScriptLimitsRequestNoParcelSelected">
+ Nenhum lote foi selecionado
+ </string>
+ <string name="ScriptLimitsRequestWrongRegion">
+ Erro: dados de script só disponíveis na região da posição atual
+ </string>
+ <string name="ScriptLimitsRequestWaiting">
+ Obtendo dados...
+ </string>
+ <string name="ScriptLimitsRequestDontOwnParcel">
+ Você não está autorizado a examinar este lote.
+ </string>
+ <string name="SITTING_ON">
+ Sentado em
+ </string>
+ <string name="ATTACH_CHEST">
+ Peito
+ </string>
+ <string name="ATTACH_HEAD">
+ Cabeça
+ </string>
+ <string name="ATTACH_LSHOULDER">
+ Ombro esquerdo
+ </string>
+ <string name="ATTACH_RSHOULDER">
+ Ombro direito
+ </string>
+ <string name="ATTACH_LHAND">
+ Mão esquerda
+ </string>
+ <string name="ATTACH_RHAND">
+ Mão direita
+ </string>
+ <string name="ATTACH_LFOOT">
+ Pé esquerdo
+ </string>
+ <string name="ATTACH_RFOOT">
+ Pé direito
+ </string>
+ <string name="ATTACH_BACK">
+ Atrás
+ </string>
+ <string name="ATTACH_PELVIS">
+ Pélvis
+ </string>
+ <string name="ATTACH_MOUTH">
+ Boca
+ </string>
+ <string name="ATTACH_CHIN">
+ Queixo
+ </string>
+ <string name="ATTACH_LEAR">
+ Orelha esquerda
+ </string>
+ <string name="ATTACH_REAR">
+ Orelha direita
+ </string>
+ <string name="ATTACH_LEYE">
+ Olho esquerdo
+ </string>
+ <string name="ATTACH_REYE">
+ Olho direito
+ </string>
+ <string name="ATTACH_NOSE">
+ Nariz
+ </string>
+ <string name="ATTACH_RUARM">
+ Braço direito
+ </string>
+ <string name="ATTACH_RLARM">
+ Antebraço direito
+ </string>
+ <string name="ATTACH_LUARM">
+ Braço esquerdo
+ </string>
+ <string name="ATTACH_LLARM">
+ Antebraço esquerdo
+ </string>
+ <string name="ATTACH_RHIP">
+ Quadril direito
+ </string>
+ <string name="ATTACH_RULEG">
+ Coxa direita
+ </string>
+ <string name="ATTACH_RLLEG">
+ Perna direita
+ </string>
+ <string name="ATTACH_LHIP">
+ Quadril esquerdo
+ </string>
+ <string name="ATTACH_LULEG">
+ Coxa esquerda
+ </string>
+ <string name="ATTACH_LLLEG">
+ Perna esquerda
+ </string>
+ <string name="ATTACH_BELLY">
+ Barriga
+ </string>
+ <string name="ATTACH_RPEC">
+ Peitorais D
+ </string>
+ <string name="ATTACH_LPEC">
+ Peitorais E
+ </string>
+ <string name="ATTACH_HUD_CENTER_2">
+ HUD Central 2
+ </string>
+ <string name="ATTACH_HUD_TOP_RIGHT">
+ HUD superior direito
+ </string>
+ <string name="ATTACH_HUD_TOP_CENTER">
+ HUD centro superior
+ </string>
+ <string name="ATTACH_HUD_TOP_LEFT">
+ HUD superior esquerdo
+ </string>
+ <string name="ATTACH_HUD_CENTER_1">
+ HUD Central 1
+ </string>
+ <string name="ATTACH_HUD_BOTTOM_LEFT">
+ HUD esquerda inferior
+ </string>
+ <string name="ATTACH_HUD_BOTTOM">
+ HUD inferior
+ </string>
+ <string name="ATTACH_HUD_BOTTOM_RIGHT">
+ HUD direito inferior
+ </string>
+ <string name="CursorPos">
+ Linha [LINE], Coluna [COLUMN]
+ </string>
+ <string name="PanelDirCountFound">
+ [COUNT] encontrado
+ </string>
+ <string name="PanelContentsNewScript">
+ Novo Script
+ </string>
+ <string name="MuteByName">
+ (por nome)
+ </string>
+ <string name="MuteAgent">
+ (residente)
+ </string>
+ <string name="MuteObject">
+ (objeto)
+ </string>
+ <string name="MuteGroup">
+ (grupo)
+ </string>
+ <string name="RegionNoCovenant">
+ Não ha Contrato fornecido para essa Região.
+ </string>
+ <string name="RegionNoCovenantOtherOwner">
+ Não ha Contrato fornecido para essa Região. O terreno nesta região está sendo vendido pelo Proprietário, não pela Linden Lab. Favor contatar o Proprietário da região para detalhes de venda.
+ </string>
+ <string name="covenant_last_modified">
+ Última modificação:
+ </string>
+ <string name="none_text" value="(nenhum)"/>
+ <string name="never_text" value="(nunca)"/>
+ <string name="GroupOwned">
+ Propriedade do Grupo
+ </string>
+ <string name="Public">
+ Público
+ </string>
+ <string name="ClassifiedClicksTxt">
+ Cliques: [TELEPORT] teletransporte, [MAP] mapa, [PROFILE] perfil
+ </string>
+ <string name="ClassifiedUpdateAfterPublish">
+ (vai atualizar depois de publicado)
+ </string>
+ <string name="NoPicksClassifiedsText">
+ Você não criou nenhum Destaque ou Anúncio. Clique no botão &quot;+&quot; para criar um Destaque ou Anúncio.
+ </string>
+ <string name="NoAvatarPicksClassifiedsText">
+ O usuário não tem nenhum destaque ou anúncio
+ </string>
+ <string name="PicksClassifiedsLoadingText">
+ Carregando...
+ </string>
+ <string name="MultiPreviewTitle">
+ Preview
+ </string>
+ <string name="MultiPropertiesTitle">
+ Propriedades
+ </string>
+ <string name="InvOfferAnObjectNamed">
+ um objeto chamado
+ </string>
+ <string name="InvOfferOwnedByGroup">
+ possuído pelo grupo
+ </string>
+ <string name="InvOfferOwnedByUnknownGroup">
+ possuído por um grupo desconhecido
+ </string>
+ <string name="InvOfferOwnedBy">
+ possuído por
+ </string>
+ <string name="InvOfferOwnedByUnknownUser">
+ possuído por usuário desconhecido
+ </string>
+ <string name="InvOfferGaveYou">
+ deu a você
+ </string>
+ <string name="InvOfferYouDecline">
+ Você declina
+ </string>
+ <string name="InvOfferFrom">
+ de
+ </string>
+ <string name="GroupMoneyTotal">
+ Total
+ </string>
+ <string name="GroupMoneyBought">
+ comprou
+ </string>
+ <string name="GroupMoneyPaidYou">
+ pagou a você
+ </string>
+ <string name="GroupMoneyPaidInto">
+ depositado
+ </string>
+ <string name="GroupMoneyBoughtPassTo">
+ comprou passe para
+ </string>
+ <string name="GroupMoneyPaidFeeForEvent">
+ pagou taxa para o evento
+ </string>
+ <string name="GroupMoneyPaidPrizeForEvent">
+ pagou prêmio para o evento
+ </string>
+ <string name="GroupMoneyBalance">
+ Balanço
+ </string>
+ <string name="GroupMoneyCredits">
+ Créditos
+ </string>
+ <string name="GroupMoneyDebits">
+ Débitos
+ </string>
+ <string name="ViewerObjectContents">
+ Conteúdo
+ </string>
+ <string name="AcquiredItems">
+ Itens adquiridos
+ </string>
+ <string name="Cancel">
+ Cancelar
+ </string>
+ <string name="UploadingCosts">
+ Uploading [%s] custos
+ </string>
+ <string name="UnknownFileExtension">
+ Extensão de arquivo desconhecida [.%s]
+Expected .wav, .tga, .bmp, .jpg, .jpeg, or .bvh
+ </string>
+ <string name="MuteObject2">
+ Bloquear
+ </string>
+ <string name="AddLandmarkNavBarMenu">
+ Adicionar Landmark...
+ </string>
+ <string name="EditLandmarkNavBarMenu">
+ Editar Landmark...
+ </string>
<string name="accel-mac-control">
- &#8963;
+ ⌃
</string>
<string name="accel-mac-command">
- &#8984;
+ ⌘
</string>
<string name="accel-mac-option">
- &#8997;
+ ⌥
</string>
<string name="accel-mac-shift">
- &#8679;
+ ⇧
</string>
<string name="accel-win-control">
Ctrl+
@@ -505,80 +1585,1621 @@
<string name="accel-win-shift">
Shift+
</string>
- <string name="GraphicsQualityLow">
- Baixo
+ <string name="FileSaved">
+ Arquivo salvo
</string>
- <string name="GraphicsQualityMid">
- Meio
+ <string name="Receiving">
+ Recebendo
</string>
- <string name="GraphicsQualityHigh">
- Alto
+ <string name="AM">
+ AM
+ </string>
+ <string name="PM">
+ PM
+ </string>
+ <string name="PST">
+ PST
+ </string>
+ <string name="PDT">
+ PDT
+ </string>
+ <string name="Forward">
+ Avante
+ </string>
+ <string name="Left">
+ Esquerda
+ </string>
+ <string name="Right">
+ Direita
+ </string>
+ <string name="Back">
+ Atrás
+ </string>
+ <string name="North">
+ Norte
+ </string>
+ <string name="South">
+ Sul
+ </string>
+ <string name="West">
+ Oeste
+ </string>
+ <string name="East">
+ Leste
+ </string>
+ <string name="Up">
+ Acima
+ </string>
+ <string name="Down">
+ Abaixo
+ </string>
+ <string name="Any Category">
+ Qualquer categoria
+ </string>
+ <string name="Shopping">
+ Compras
+ </string>
+ <string name="Land Rental">
+ Aluguel de terrenos
+ </string>
+ <string name="Property Rental">
+ Aluguel de propriedade
+ </string>
+ <string name="Special Attraction">
+ Atração especial
+ </string>
+ <string name="New Products">
+ Novos Produtos
+ </string>
+ <string name="Employment">
+ Emprego
+ </string>
+ <string name="Wanted">
+ Desejado
</string>
+ <string name="Service">
+ Serviço
+ </string>
+ <string name="Personal">
+ Pessoal
+ </string>
+ <string name="None">
+ Nenhum
+ </string>
+ <string name="Linden Location">
+ Locação Linden
+ </string>
+ <string name="Adult">
+ Adult
+ </string>
+ <string name="Arts&amp;Culture">
+ Artes e Cultura
+ </string>
+ <string name="Business">
+ Negócios
+ </string>
+ <string name="Educational">
+ Educacional
+ </string>
+ <string name="Gaming">
+ Jogos
+ </string>
+ <string name="Hangout">
+ Moradia
+ </string>
+ <string name="Newcomer Friendly">
+ Amigável a Novos Usuários
+ </string>
+ <string name="Parks&amp;Nature">
+ Parques &amp; Natureza
+ </string>
+ <string name="Residential">
+ Residencial
+ </string>
+ <string name="Stage">
+ Estágio
+ </string>
+ <string name="Other">
+ Outros
+ </string>
+ <string name="Any">
+ Qualquer
+ </string>
+ <string name="You">
+ Você
+ </string>
+ <string name="Multiple Media">
+ Mídia múltipla
+ </string>
+ <string name="Play Media">
+ Tocar/Pausar mídia
+ </string>
+ <string name="MBCmdLineError">
+ Um erro foi encontrado analisando a linha de comando.
+Consulte: http://wiki.secondlife.com/wiki/Client_parameters
+Erro:
+ </string>
+ <string name="MBCmdLineUsg">
+ [APP_NAME] Uso de linha de comando:
+ </string>
+ <string name="MBUnableToAccessFile">
+ [APP_NAME] não é capaz de acessar um arquivo que ele precisa.
- <!-- PARCEL_CATEGORY_UI_STRING -->
- <string name="Linden Location">Locação Linden</string>
- <string name="Adult">Adult</string>
- <string name="Arts&amp;Culture">Artes e Cultura</string>
- <string name="Business">Negócios</string>
- <string name="Educational">Educacional</string>
- <string name="Gaming">Jogos</string>
- <string name="Hangout">Moradia</string>
- <string name="Newcomer Friendly">Amigável a Novos Usuários</string>
- <string name="Parks&amp;Nature">Parques &amp; Natureza</string>
- <string name="Residential">Residencial</string>
- <string name="Shopping">Compras</string>
- <string name="Other">Outros</string>
- <string name="ringing">
- Conectando à conversa de Voz no mundo
+Isto pode ocorrer porque você de alguma maneira tem várias cópias em execução, ou o seu sistema acredita de maneira incorreta que um arquivo está aberto.
+Se a mensagem persistir, reinicie o computador e tente novamente.
+Se o error persistir, pode ser necessário desinstalar completamente [APP_NAME] e reinstalá-lo.
</string>
- <string name="connected">
- Conectado
+ <string name="MBFatalError">
+ Erro Fatal
</string>
- <string name="unavailable">
- Voz não disponível na sua localização atual
+ <string name="MBRequiresAltiVec">
+ [APP_NAME] exige um processador com AltiVec (G4 ou superior).
</string>
- <string name="hang_up">
- Desconectado da conversa de Voz no mundo
+ <string name="MBAlreadyRunning">
+ [APP_NAME] já está em execução.
+Verifique a sua barra de tarefas para obter uma cópia do programa minimizado.
+Se a mensagem persistir, reinicie o computador.
+ </string>
+ <string name="MBFrozenCrashed">
+ [APP_NAME] parece ter congelado ou falhado na execução anterior. Você gostaria de enviar um relatório de falha?
+ </string>
+ <string name="MBAlert">
+ Alerta
+ </string>
+ <string name="MBNoDirectX">
+ [APP_NAME] é incapaz de detectar o DirectX 9.0b ou superior.
+[APP_NAME] usa o DirectX para a detecção de hardware e / ou controladores desatualizados que podem causar problemas de estabilidade, desempenho ruim e falhas. Embora você possa executar [APP_NAME] sem ele, nós recomendamos fortemente que utilize o DirectX 9.0b.
+
+Deseja continuar?
+ </string>
+ <string name="MBWarning">
+ Aviso
+ </string>
+ <string name="MBNoAutoUpdate">
+ Atualização automática ainda não está implementada para o Linux.
+Faça o download da versão mais recente do www.secondlife.com.
+ </string>
+ <string name="MBRegClassFailed">
+ RegisterClass falhou
+ </string>
+ <string name="MBError">
+ Erro
+ </string>
+ <string name="MBFullScreenErr">
+ Incapaz de funcionar com tela cheia de [WIDTH] x [HEIGHT].
+Executando em janela.
+ </string>
+ <string name="MBDestroyWinFailed">
+ Erro de desligamento ao destruir janela (DestroyWindow() failed)
+ </string>
+ <string name="MBShutdownErr">
+ Erro de desligamento
+ </string>
+ <string name="MBDevContextErr">
+ Não é possível fazer contexto do dispositivo GL
+ </string>
+ <string name="MBPixelFmtErr">
+ Não é possível encontrar um formato de pixel adequado
+ </string>
+ <string name="MBPixelFmtDescErr">
+ Não é possível encontrar descrição de formato de pixel
+ </string>
+ <string name="MBTrueColorWindow">
+ [APP_NAME] requer True Color (32-bit) para ser executado.
+Por favor, vá para as configurações de vídeo do computador e defina o modo de cores para 32-bit.
+ </string>
+ <string name="MBAlpha">
+ [APP_NAME] é incapaz de executar porque ele não consegue obter um canal alpha de 8 bits. Geralmente isso ocorre devido a problemas de drivers da placa de vídeo.
+Por favor, certifique-se que os últimos drivers da placa de vídeo estão instalados.
+Também não se esqueça de definir seu monitor para True Color (32-bit), em painéis de controle Configurações&gt; Display&gt;.
+Se você continuar a receber esta mensagem, contate o [SUPPORT_SITE].
+ </string>
+ <string name="MBPixelFmtSetErr">
+ ão é possível definir o formato de pixel
+ </string>
+ <string name="MBGLContextErr">
+ Não é possível criar o contexto de renderização GL
+ </string>
+ <string name="MBGLContextActErr">
+ Não é possível ativar o contexto de renderização GL
+ </string>
+ <string name="MBVideoDrvErr">
+ [APP_NAME] é incapaz de funcionar por causa do seu driver de video não ter sido instalado corretamente, estão desatualizados, ou não são suportados pelo hardware. Por favor certifique-se que você possui os drivers de placa de vídeo mais recente e mesmo assim, tente reinstalá-los.
+
+If you continue to receive this message, contact the [SUPPORT_SITE].
+ </string>
+ <string name="5 O&apos;Clock Shadow">
+ Sombra descuidada
+ </string>
+ <string name="All White">
+ Todo branco
+ </string>
+ <string name="Anime Eyes">
+ Olhos de Anime
+ </string>
+ <string name="Arced">
+ arqueado
+ </string>
+ <string name="Arm Length">
+ Comprimento do Braço
+ </string>
+ <string name="Attached">
+ Anexado
+ </string>
+ <string name="Attached Earlobes">
+ Lóbulos da orelha anexados
+ </string>
+ <string name="Back Fringe">
+ corte traseiro
+ </string>
+ <string name="Baggy">
+ folgado
+ </string>
+ <string name="Bangs">
+ Franja
+ </string>
+ <string name="Beady Eyes">
+ Olhos malévolos
+ </string>
+ <string name="Belly Size">
+ Tamanho da barriga
+ </string>
+ <string name="Big">
+ Grande
+ </string>
+ <string name="Big Butt">
+ Traseiro Grande
+ </string>
+ <string name="Big Hair Back">
+ Cabelo volumoso: Trás
+ </string>
+ <string name="Big Hair Front">
+ Cabelo volumoso: Frente
+ </string>
+ <string name="Big Hair Top">
+ cabelo volumoso: Topo
+ </string>
+ <string name="Big Head">
+ cabeça grande
+ </string>
+ <string name="Big Pectorals">
+ Peitorais grandes
+ </string>
+ <string name="Big Spikes">
+ espinhos grandes
+ </string>
+ <string name="Black">
+ Negro
+ </string>
+ <string name="Blonde">
+ Loiro
+ </string>
+ <string name="Blonde Hair">
+ Cabelo Loiro
+ </string>
+ <string name="Blush">
+ Blush
+ </string>
+ <string name="Blush Color">
+ cor do Blush
+ </string>
+ <string name="Blush Opacity">
+ Opacidade do Blush
+ </string>
+ <string name="Body Definition">
+ definição do Corpo
+ </string>
+ <string name="Body Fat">
+ Gordura corporal
+ </string>
+ <string name="Body Freckles">
+ Sardas do corpo
+ </string>
+ <string name="Body Thick">
+ Corpo cheio
+ </string>
+ <string name="Body Thickness">
+ Espessura do corpo
+ </string>
+ <string name="Body Thin">
+ Corpo magro
+ </string>
+ <string name="Bow Legged">
+ pernas arqueadas
+ </string>
+ <string name="Breast Buoyancy">
+ Flexibilidade dos seios
+ </string>
+ <string name="Breast Cleavage">
+ Separação dos seios
+ </string>
+ <string name="Breast Size">
+ Tamanho dos seios
+ </string>
+ <string name="Bridge Width">
+ Largura do nariz
+ </string>
+ <string name="Broad">
+ Largo
+ </string>
+ <string name="Brow Size">
+ tamanho da sobrancelha
+ </string>
+ <string name="Bug Eyes">
+ Olhos saltados
+ </string>
+ <string name="Bugged Eyes">
+ Olhos esbugalhados
+ </string>
+ <string name="Bulbous">
+ Bulbos
+ </string>
+ <string name="Bulbous Nose">
+ Nariz em bulbo
+ </string>
+ <string name="Bushy Eyebrows">
+ Sobrancelhas grossas
+ </string>
+ <string name="Bushy Hair">
+ Cabelo grosso
+ </string>
+ <string name="Butt Size">
+ Tamanho do traseiro
+ </string>
+ <string name="bustle skirt">
+ Movimentação de saia
+ </string>
+ <string name="no bustle">
+ Sem movimento
+ </string>
+ <string name="more bustle">
+ Mais movimento
+ </string>
+ <string name="Chaplin">
+ Chaplin
+ </string>
+ <string name="Cheek Bones">
+ Maças do rosto
+ </string>
+ <string name="Chest Size">
+ Tamanho do peito
+ </string>
+ <string name="Chin Angle">
+ ângulo do queixo
+ </string>
+ <string name="Chin Cleft">
+ Fissura do queixo
+ </string>
+ <string name="Chin Curtains">
+ Barba de contorno
+ </string>
+ <string name="Chin Depth">
+ Profundidade do queixo
+ </string>
+ <string name="Chin Heavy">
+ Queixo pronunciado
+ </string>
+ <string name="Chin In">
+ Queixo para dentro
+ </string>
+ <string name="Chin Out">
+ Queixo para fora
+ </string>
+ <string name="Chin-Neck">
+ Queixo-pescoço
+ </string>
+ <string name="Clear">
+ Limpar
+ </string>
+ <string name="Cleft">
+ Fenda
+ </string>
+ <string name="Close Set Eyes">
+ Fechar conjunto de olhos
+ </string>
+ <string name="Closed">
+ Fechado
+ </string>
+ <string name="Closed Back">
+ Trás fechada
+ </string>
+ <string name="Closed Front">
+ Frente fechada
+ </string>
+ <string name="Closed Left">
+ Esquerda fechada
+ </string>
+ <string name="Closed Right">
+ Direita fechada
+ </string>
+ <string name="Coin Purse">
+ Pubis
+ </string>
+ <string name="Collar Back">
+ Colarinho posterior
+ </string>
+ <string name="Collar Front">
+ Colarinho anterior
+ </string>
+ <string name="Corner Down">
+ Canto para baixo
+ </string>
+ <string name="Corner Up">
+ Canto para cima
+ </string>
+ <string name="Creased">
+ Vincado
+ </string>
+ <string name="Crooked Nose">
+ Nariz torto
+ </string>
+ <string name="Cuff Flare">
+ bainha larga
+ </string>
+ <string name="Dark">
+ Escuro
+ </string>
+ <string name="Dark Green">
+ Verde escuro
+ </string>
+ <string name="Darker">
+ mais escuro
+ </string>
+ <string name="Deep">
+ Profundidade
+ </string>
+ <string name="Default Heels">
+ Salto Padrão
+ </string>
+ <string name="Dense">
+ Densidade
+ </string>
+ <string name="Double Chin">
+ Queixo duplo
+ </string>
+ <string name="Downturned">
+ Curvado para baixo
+ </string>
+ <string name="Duffle Bag">
+ pubis
+ </string>
+ <string name="Ear Angle">
+ ângulo da orelha
+ </string>
+ <string name="Ear Size">
+ Tamanho da orelha
+ </string>
+ <string name="Ear Tips">
+ Pontas das orelhas
+ </string>
+ <string name="Egg Head">
+ Cabeça oval
+ </string>
+ <string name="Eye Bags">
+ Olheiras
+ </string>
+ <string name="Eye Color">
+ Cor dos olhos
+ </string>
+ <string name="Eye Depth">
+ Profundidade dos olhos
+ </string>
+ <string name="Eye Lightness">
+ Luminosidade dos olhos
+ </string>
+ <string name="Eye Opening">
+ Abertura dos olhos
+ </string>
+ <string name="Eye Pop">
+ Olho Saltado
+ </string>
+ <string name="Eye Size">
+ Tamanho dos olhos
+ </string>
+ <string name="Eye Spacing">
+ Espaçamento dos olhos
+ </string>
+ <string name="Eyebrow Arc">
+ Arco da sobrancelha
+ </string>
+ <string name="Eyebrow Density">
+ densidade da sobrancelha
+ </string>
+ <string name="Eyebrow Height">
+ Altura da sobrancelha
+ </string>
+ <string name="Eyebrow Points">
+ Pontas da sobrancelha
+ </string>
+ <string name="Eyebrow Size">
+ Tamanho da sobrancelha
+ </string>
+ <string name="Eyelash Length">
+ Comprimento das pestanas
+ </string>
+ <string name="Eyeliner">
+ Delineador
+ </string>
+ <string name="Eyeliner Color">
+ Cor do delineador
+ </string>
+ <string name="Eyes Bugged">
+ Olhos esbugalhados
+ </string>
+ <string name="Face Shear">
+ Face raspada
+ </string>
+ <string name="Facial Definition">
+ Definição facial
+ </string>
+ <string name="Far Set Eyes">
+ Distância entre os olhos
+ </string>
+ <string name="Fat Lips">
+ Lábios carnudos
+ </string>
+ <string name="Female">
+ Feminino
+ </string>
+ <string name="Fingerless">
+ Dedos
+ </string>
+ <string name="Fingers">
+ Dedos
+ </string>
+ <string name="Flared Cuffs">
+ Punhos largos
+ </string>
+ <string name="Flat">
+ Chato
+ </string>
+ <string name="Flat Butt">
+ Traseiro chato
+ </string>
+ <string name="Flat Head">
+ Cabeça chata
+ </string>
+ <string name="Flat Toe">
+ Dedos dos pés chatos
+ </string>
+ <string name="Foot Size">
+ Tamanho dos pés
+ </string>
+ <string name="Forehead Angle">
+ ângulo da testa
+ </string>
+ <string name="Forehead Heavy">
+ Testa pronunciada
+ </string>
+ <string name="Freckles">
+ Sardas
+ </string>
+ <string name="Front Fringe">
+ Franja
+ </string>
+ <string name="Full Back">
+ Trás cheia
+ </string>
+ <string name="Full Eyeliner">
+ Delienador cheio
+ </string>
+ <string name="Full Front">
+ Frente cheia
+ </string>
+ <string name="Full Hair Sides">
+ Cabelos laterais cheios
+ </string>
+ <string name="Full Sides">
+ Lados cheios
+ </string>
+ <string name="Glossy">
+ Brilhante
+ </string>
+ <string name="Glove Fingers">
+ Dedos da luva
+ </string>
+ <string name="Glove Length">
+ comprimento das luvas
+ </string>
+ <string name="Hair">
+ Cabelo
+ </string>
+ <string name="Hair Back">
+ Cabelo: Trás
+ </string>
+ <string name="Hair Front">
+ Cabelo: Frente
+ </string>
+ <string name="Hair Sides">
+ Cabelos: Lateral
+ </string>
+ <string name="Hair Sweep">
+ Cabelo penteado
+ </string>
+ <string name="Hair Thickess">
+ Espessura do cabelo
+ </string>
+ <string name="Hair Thickness">
+ Espessura do cabelo
+ </string>
+ <string name="Hair Tilt">
+ Divisão do cabelo
+ </string>
+ <string name="Hair Tilted Left">
+ Divistão do cabelo esquerda
+ </string>
+ <string name="Hair Tilted Right">
+ Divisão do cabelo direita
+ </string>
+ <string name="Hair Volume">
+ Cabelo: Volume
+ </string>
+ <string name="Hand Size">
+ Tamanho das mãos
+ </string>
+ <string name="Handlebars">
+ bigode
+ </string>
+ <string name="Head Length">
+ Comprimento da cabeça
+ </string>
+ <string name="Head Shape">
+ Formato da cabeça
+ </string>
+ <string name="Head Size">
+ Tamanho da cabeça
+ </string>
+ <string name="Head Stretch">
+ Extensão da cabeça
+ </string>
+ <string name="Heel Height">
+ Altura do salto
+ </string>
+ <string name="Heel Shape">
+ Formato do salto
+ </string>
+ <string name="Height">
+ Altura
+ </string>
+ <string name="High">
+ alto
+ </string>
+ <string name="High Heels">
+ Salto alto
+ </string>
+ <string name="High Jaw">
+ Maxilar alto
+ </string>
+ <string name="High Platforms">
+ Plataformas alta
+ </string>
+ <string name="High and Tight">
+ Alto e justo
+ </string>
+ <string name="Higher">
+ Mais alto
+ </string>
+ <string name="Hip Length">
+ Comprimento do quadril
+ </string>
+ <string name="Hip Width">
+ Largura do quadril
+ </string>
+ <string name="In">
+ Dentro
+ </string>
+ <string name="In Shdw Color">
+ Cor da sombra interna
+ </string>
+ <string name="In Shdw Opacity">
+ Opacidade da sombra interna
+ </string>
+ <string name="Inner Eye Corner">
+ Canto interno dos olhos
+ </string>
+ <string name="Inner Eye Shadow">
+ Sombra interna dos olhos
+ </string>
+ <string name="Inner Shadow">
+ Sombra interna
+ </string>
+ <string name="Jacket Length">
+ Comprimento da blusa
+ </string>
+ <string name="Jacket Wrinkles">
+ Dobras da Blusa
+ </string>
+ <string name="Jaw Angle">
+ Ângulo da mandíbula
+ </string>
+ <string name="Jaw Jut">
+ Posição do maxilar
+ </string>
+ <string name="Jaw Shape">
+ Formato do maxilar
+ </string>
+ <string name="Join">
+ Juntar
+ </string>
+ <string name="Jowls">
+ Papo
+ </string>
+ <string name="Knee Angle">
+ Ângulo do joelho
+ </string>
+ <string name="Knock Kneed">
+ Joelhos para dentro
+ </string>
+ <string name="Large">
+ Grande
+ </string>
+ <string name="Large Hands">
+ Mãos grandes
+ </string>
+ <string name="Left Part">
+ Parte esquerda
+ </string>
+ <string name="Leg Length">
+ Comprimento da perna
+ </string>
+ <string name="Leg Muscles">
+ Musculatura da perna
+ </string>
+ <string name="Less">
+ Menos
+ </string>
+ <string name="Less Body Fat">
+ Menos gordura corporal
+ </string>
+ <string name="Less Curtains">
+ Menos barba
+ </string>
+ <string name="Less Freckles">
+ Menos sardas
+ </string>
+ <string name="Less Full">
+ Menos
+ </string>
+ <string name="Less Gravity">
+ Menos gravidade
+ </string>
+ <string name="Less Love">
+ Menos cintura
+ </string>
+ <string name="Less Muscles">
+ Menos músculos
+ </string>
+ <string name="Less Muscular">
+ Menos musculoso
+ </string>
+ <string name="Less Rosy">
+ Menos rosado
+ </string>
+ <string name="Less Round">
+ Menos arredondado
+ </string>
+ <string name="Less Saddle">
+ Menos ancas
+ </string>
+ <string name="Less Square">
+ Menos quadrado
+ </string>
+ <string name="Less Volume">
+ Menos volume
+ </string>
+ <string name="Less soul">
+ Menos alma
+ </string>
+ <string name="Lighter">
+ Lighter
+ </string>
+ <string name="Lip Cleft">
+ Fenda dos lábios
+ </string>
+ <string name="Lip Cleft Depth">
+ Prfundidade da fenda dos lábios
+ </string>
+ <string name="Lip Fullness">
+ Volume dos lábios
+ </string>
+ <string name="Lip Pinkness">
+ Rosado dos lábios
+ </string>
+ <string name="Lip Ratio">
+ Proporção dos lábios
+ </string>
+ <string name="Lip Thickness">
+ Espessura dos lábios
+ </string>
+ <string name="Lip Width">
+ Largura dos lábios
+ </string>
+ <string name="Lipgloss">
+ Brilho dos lábios
+ </string>
+ <string name="Lipstick">
+ Batom
+ </string>
+ <string name="Lipstick Color">
+ Cor do batom
+ </string>
+ <string name="Long">
+ Longo
+ </string>
+ <string name="Long Head">
+ Cabeça alongada
+ </string>
+ <string name="Long Hips">
+ Lábios longos
+ </string>
+ <string name="Long Legs">
+ Pernas longas
+ </string>
+ <string name="Long Neck">
+ Pescoço longo
+ </string>
+ <string name="Long Pigtails">
+ Chiquinhas longas
+ </string>
+ <string name="Long Ponytail">
+ Rabo de cavalo longo
+ </string>
+ <string name="Long Torso">
+ Torso longo
+ </string>
+ <string name="Long arms">
+ Braços longos
+ </string>
+ <string name="Loose Pants">
+ Pantalonas
+ </string>
+ <string name="Loose Shirt">
+ Saia folgada
+ </string>
+ <string name="Loose Sleeves">
+ Manga longa
+ </string>
+ <string name="Love Handles">
+ Pneu
+ </string>
+ <string name="Low">
+ baixo
+ </string>
+ <string name="Low Heels">
+ Salto baixo
+ </string>
+ <string name="Low Jaw">
+ maxilar baixo
+ </string>
+ <string name="Low Platforms">
+ Plataformas baixas
+ </string>
+ <string name="Low and Loose">
+ baixo e solto
+ </string>
+ <string name="Lower">
+ diminuir
+ </string>
+ <string name="Lower Bridge">
+ nariz baixo
+ </string>
+ <string name="Lower Cheeks">
+ bochechas abaixadas
+ </string>
+ <string name="Male">
+ Masculino
+ </string>
+ <string name="Middle Part">
+ Parte do meio
+ </string>
+ <string name="More">
+ Mais
+ </string>
+ <string name="More Blush">
+ Mais blush
+ </string>
+ <string name="More Body Fat">
+ Mais gordura corporal
+ </string>
+ <string name="More Curtains">
+ Mais barba
+ </string>
+ <string name="More Eyeshadow">
+ Mais sombra dos olhos
+ </string>
+ <string name="More Freckles">
+ Mais sardas
+ </string>
+ <string name="More Full">
+ Mais volume
+ </string>
+ <string name="More Gravity">
+ Mais gravidade
+ </string>
+ <string name="More Lipstick">
+ Mais batom
+ </string>
+ <string name="More Love">
+ Mais cintura
+ </string>
+ <string name="More Lower Lip">
+ Mais lábio inferior
+ </string>
+ <string name="More Muscles">
+ Mais músculos
+ </string>
+ <string name="More Muscular">
+ Mais musculoso
+ </string>
+ <string name="More Rosy">
+ Mais rosado
+ </string>
+ <string name="More Round">
+ Mais arredondado
+ </string>
+ <string name="More Saddle">
+ Mais ancas
+ </string>
+ <string name="More Sloped">
+ Mais inclinado
+ </string>
+ <string name="More Square">
+ Mais quadrado
+ </string>
+ <string name="More Upper Lip">
+ Mais lábios superiores
+ </string>
+ <string name="More Vertical">
+ Mais vertical
+ </string>
+ <string name="More Volume">
+ Mais Volume
+ </string>
+ <string name="More soul">
+ Mais alma
+ </string>
+ <string name="Moustache">
+ Bigode
+ </string>
+ <string name="Mouth Corner">
+ Canto da boca
+ </string>
+ <string name="Mouth Position">
+ Posição da boca
+ </string>
+ <string name="Mowhawk">
+ Moicano
+ </string>
+ <string name="Muscular">
+ Muscular
+ </string>
+ <string name="Mutton Chops">
+ Costeletas
+ </string>
+ <string name="Nail Polish">
+ Esmate das unhas
+ </string>
+ <string name="Nail Polish Color">
+ Cor do esmalte das unhas
+ </string>
+ <string name="Narrow">
+ Estreito
+ </string>
+ <string name="Narrow Back">
+ Costas estreitas
+ </string>
+ <string name="Narrow Front">
+ Frente estreita
+ </string>
+ <string name="Narrow Lips">
+ Lábios estreitos
+ </string>
+ <string name="Natural">
+ Natural
+ </string>
+ <string name="Neck Length">
+ Comprimento do pescoço
+ </string>
+ <string name="Neck Thickness">
+ Espessura do pescoço
+ </string>
+ <string name="No Blush">
+ Sem Blush
+ </string>
+ <string name="No Eyeliner">
+ Sem delineador
+ </string>
+ <string name="No Eyeshadow">
+ Sem Sombra dos olhos
+ </string>
+ <string name="No Lipgloss">
+ Sem brilho labial
+ </string>
+ <string name="No Lipstick">
+ Sem batom
+ </string>
+ <string name="No Part">
+ Sem parte
+ </string>
+ <string name="No Polish">
+ Sem esmalte
+ </string>
+ <string name="No Red">
+ Sem vermelho
+ </string>
+ <string name="No Spikes">
+ Sem espinhos
+ </string>
+ <string name="No White">
+ Sem branco
+ </string>
+ <string name="No Wrinkles">
+ Sem dobras
+ </string>
+ <string name="Normal Lower">
+ Normal inferior
+ </string>
+ <string name="Normal Upper">
+ Normal superior
+ </string>
+ <string name="Nose Left">
+ Nariz para esquerda
+ </string>
+ <string name="Nose Right">
+ Nariz para direita
+ </string>
+ <string name="Nose Size">
+ Tamanho do nariz
+ </string>
+ <string name="Nose Thickness">
+ Espessura do nariz
+ </string>
+ <string name="Nose Tip Angle">
+ Ângulo da ponta do nariz
+ </string>
+ <string name="Nose Tip Shape">
+ Formato da ponta do nariz
+ </string>
+ <string name="Nose Width">
+ Largura do nariz
+ </string>
+ <string name="Nostril Division">
+ Divisão das narinas
+ </string>
+ <string name="Nostril Width">
+ Largura das narinas
+ </string>
+ <string name="Opaque">
+ Opaco
+ </string>
+ <string name="Open">
+ Abrir
+ </string>
+ <string name="Open Back">
+ Aberto atrás
+ </string>
+ <string name="Open Front">
+ Aberto na frente
+ </string>
+ <string name="Open Left">
+ Aberto esquerdo
+ </string>
+ <string name="Open Right">
+ Aberto direito
+ </string>
+ <string name="Orange">
+ Laranja
+ </string>
+ <string name="Out">
+ Fora
+ </string>
+ <string name="Out Shdw Color">
+ Cor da sombra externa
+ </string>
+ <string name="Out Shdw Opacity">
+ Opacidade da sombra externa
+ </string>
+ <string name="Outer Eye Corner">
+ Canto externo do olho
+ </string>
+ <string name="Outer Eye Shadow">
+ Sombra externa do olho
+ </string>
+ <string name="Outer Shadow">
+ Sombra externa
+ </string>
+ <string name="Overbite">
+ Overbite
+ </string>
+ <string name="Package">
+ Pubis
+ </string>
+ <string name="Painted Nails">
+ Unhas pintadas
+ </string>
+ <string name="Pale">
+ Pálido
+ </string>
+ <string name="Pants Crotch">
+ Cavalo da calça
+ </string>
+ <string name="Pants Fit">
+ Pants Fit
+ </string>
+ <string name="Pants Length">
+ Comprimento das calças
+ </string>
+ <string name="Pants Waist">
+ Cintura da calça
+ </string>
+ <string name="Pants Wrinkles">
+ Dobras das calças
+ </string>
+ <string name="Part">
+ Parte
+ </string>
+ <string name="Part Bangs">
+ Parts da franja
+ </string>
+ <string name="Pectorals">
+ Peitoral
+ </string>
+ <string name="Pigment">
+ Pigmento
+ </string>
+ <string name="Pigtails">
+ Chiquinhas
+ </string>
+ <string name="Pink">
+ Rosa
+ </string>
+ <string name="Pinker">
+ Mais rosado
+ </string>
+ <string name="Platform Height">
+ Altura da plataforma
+ </string>
+ <string name="Platform Width">
+ Largura da plataforma
+ </string>
+ <string name="Pointy">
+ Pontudo
+ </string>
+ <string name="Pointy Heels">
+ Salto agulha
+ </string>
+ <string name="Ponytail">
+ Rabo de cavalo
+ </string>
+ <string name="Poofy Skirt">
+ Saia bufante
+ </string>
+ <string name="Pop Left Eye">
+ Olho saltado esquerdo
+ </string>
+ <string name="Pop Right Eye">
+ Olho saltado direito
+ </string>
+ <string name="Puffy">
+ Inchado
+ </string>
+ <string name="Puffy Eyelids">
+ Pálpebras inchadas
+ </string>
+ <string name="Rainbow Color">
+ Cor do arco iris
+ </string>
+ <string name="Red Hair">
+ Cabelo ruivo
+ </string>
+ <string name="Regular">
+ Normal
+ </string>
+ <string name="Right Part">
+ Parte direita
+ </string>
+ <string name="Rosy Complexion">
+ Rosado da face
+ </string>
+ <string name="Round">
+ Arredondado
+ </string>
+ <string name="Ruddiness">
+ Rubor
+ </string>
+ <string name="Ruddy">
+ Corado
+ </string>
+ <string name="Rumpled Hair">
+ Cabelo desalinhado
+ </string>
+ <string name="Saddle Bags">
+ Saddle Bags
+ </string>
+ <string name="Scrawny Leg">
+ Pernas magricelas
+ </string>
+ <string name="Separate">
+ Separar
+ </string>
+ <string name="Shallow">
+ raso
+ </string>
+ <string name="Shear Back">
+ Trás rente
+ </string>
+ <string name="Shear Face">
+ Face raspada
+ </string>
+ <string name="Shear Front">
+ Frente rente
+ </string>
+ <string name="Shear Left Up">
+ Esquerda rente para cima
+ </string>
+ <string name="Shear Right Up">
+ Trás rente para cima
+ </string>
+ <string name="Sheared Back">
+ Rente atrás
+ </string>
+ <string name="Sheared Front">
+ Rente frente
+ </string>
+ <string name="Shift Left">
+ Deslocar à esquerda
+ </string>
+ <string name="Shift Mouth">
+ Deslocar boca
+ </string>
+ <string name="Shift Right">
+ Deslocar direita
+ </string>
+ <string name="Shirt Bottom">
+ Deslocar inferior
+ </string>
+ <string name="Shirt Fit">
+ Deslocar ajuste
+ </string>
+ <string name="Shirt Wrinkles">
+ Deslocar dobras
+ </string>
+ <string name="Shoe Height">
+ Altura do sapato
+ </string>
+ <string name="Short">
+ Curto
+ </string>
+ <string name="Short Arms">
+ Braços curtos
+ </string>
+ <string name="Short Legs">
+ Pernas curtas
+ </string>
+ <string name="Short Neck">
+ Pescoço curto
+ </string>
+ <string name="Short Pigtails">
+ Chiquinhas curtas
+ </string>
+ <string name="Short Ponytail">
+ Rabo de cavalo curto
+ </string>
+ <string name="Short Sideburns">
+ Costeletas curtas
+ </string>
+ <string name="Short Torso">
+ Tronco curto
+ </string>
+ <string name="Short hips">
+ Quadril curto
+ </string>
+ <string name="Shoulders">
+ Ombros
+ </string>
+ <string name="Side Fringe">
+ pontas laterais
+ </string>
+ <string name="Sideburns">
+ Costeletas
+ </string>
+ <string name="Sides Hair">
+ Cabelo lateral
+ </string>
+ <string name="Sides Hair Down">
+ Cabelo lateral long
+ </string>
+ <string name="Sides Hair Up">
+ Cabelo lateral superior
+ </string>
+ <string name="Skinny Neck">
+ Pescoço fino
+ </string>
+ <string name="Skirt Fit">
+ Ajuste de saia
+ </string>
+ <string name="Skirt Length">
+ Comprimento da saia
+ </string>
+ <string name="Slanted Forehead">
+ Testa inclinada
+ </string>
+ <string name="Sleeve Length">
+ Comprimento da manga
+ </string>
+ <string name="Sleeve Looseness">
+ Folga da manga
+ </string>
+ <string name="Slit Back">
+ Abertura : Atrás
+ </string>
+ <string name="Slit Front">
+ Abertura: Frente
+ </string>
+ <string name="Slit Left">
+ Abertura: Esquerda
+ </string>
+ <string name="Slit Right">
+ Abertura: Direita
+ </string>
+ <string name="Small">
+ Pequeno
+ </string>
+ <string name="Small Hands">
+ Mãos pequenas
+ </string>
+ <string name="Small Head">
+ Cabeça pequena
+ </string>
+ <string name="Smooth">
+ Suavizar
+ </string>
+ <string name="Smooth Hair">
+ Suavizar cabelo
+ </string>
+ <string name="Socks Length">
+ Comprimento das meias
+ </string>
+ <string name="Soulpatch">
+ Cavanhaque
+ </string>
+ <string name="Sparse">
+ Disperso
+ </string>
+ <string name="Spiked Hair">
+ Cabelo espetado
+ </string>
+ <string name="Square">
+ Quadrado
+ </string>
+ <string name="Square Toe">
+ Dedo quadrado
+ </string>
+ <string name="Squash Head">
+ Cabeça de Pera
+ </string>
+ <string name="Stretch Head">
+ Cabeça esticada
+ </string>
+ <string name="Sunken">
+ Afundar
+ </string>
+ <string name="Sunken Chest">
+ Peito afundado
+ </string>
+ <string name="Sunken Eyes">
+ Olhos afundados
+ </string>
+ <string name="Sweep Back">
+ Pentear para trás
+ </string>
+ <string name="Sweep Forward">
+ Pentear para frente
+ </string>
+ <string name="Tall">
+ Alto
+ </string>
+ <string name="Taper Back">
+ Afinar atrás
+ </string>
+ <string name="Taper Front">
+ Afinar a frente
+ </string>
+ <string name="Thick Heels">
+ Salto grosso
+ </string>
+ <string name="Thick Neck">
+ Pescoço grosso
+ </string>
+ <string name="Thick Toe">
+ Dedo grosso
+ </string>
+ <string name="Thin">
+ Fino
+ </string>
+ <string name="Thin Eyebrows">
+ Sobrancelhas finas
+ </string>
+ <string name="Thin Lips">
+ Lábios finos
+ </string>
+ <string name="Thin Nose">
+ Nariz fino
+ </string>
+ <string name="Tight Chin">
+ Queixo apertado
+ </string>
+ <string name="Tight Cuffs">
+ Punho justo
+ </string>
+ <string name="Tight Pants">
+ Calça justa
+ </string>
+ <string name="Tight Shirt">
+ Camisa justa
+ </string>
+ <string name="Tight Skirt">
+ Saia justa
+ </string>
+ <string name="Tight Sleeves">
+ Tight Sleeves
+ </string>
+ <string name="Toe Shape">
+ Formato dos dedos
+ </string>
+ <string name="Toe Thickness">
+ Espessura dos dos dedos
+ </string>
+ <string name="Torso Length">
+ Comprimento do tronco
+ </string>
+ <string name="Torso Muscles">
+ Músculos do tronco
+ </string>
+ <string name="Torso Scrawny">
+ Tronco magricela
+ </string>
+ <string name="Unattached">
+ Desanexado
+ </string>
+ <string name="Uncreased">
+ Uncreased
+ </string>
+ <string name="Underbite">
+ Underbite
+ </string>
+ <string name="Unnatural">
+ Não natural
+ </string>
+ <string name="Upper Bridge">
+ Parte alta do nariz
+ </string>
+ <string name="Upper Cheeks">
+ Bochechas altas
+ </string>
+ <string name="Upper Chin Cleft">
+ fenda do queixo alta
+ </string>
+ <string name="Upper Eyelid Fold">
+ Curvatura dos cílios supériores
+ </string>
+ <string name="Upturned">
+ Voltado para cima
+ </string>
+ <string name="Very Red">
+ Bem vermelho
+ </string>
+ <string name="Waist Height">
+ Altura da cintura
+ </string>
+ <string name="Well-Fed">
+ Corpulento
+ </string>
+ <string name="White Hair">
+ Grisalho
+ </string>
+ <string name="Wide">
+ Amplo
+ </string>
+ <string name="Wide Back">
+ Costas largas
+ </string>
+ <string name="Wide Front">
+ Testa larga
+ </string>
+ <string name="Wide Lips">
+ Lábios amplos
+ </string>
+ <string name="Wild">
+ Selvagem
+ </string>
+ <string name="Wrinkles">
+ Rugas
+ </string>
+ <string name="LocationCtrlAddLandmarkTooltip">
+ Adicionar às minhas Landmarks
+ </string>
+ <string name="LocationCtrlEditLandmarkTooltip">
+ Editar minhas Landmarks
+ </string>
+ <string name="LocationCtrlInfoBtnTooltip">
+ Ver mais informações sobre a localização atual
+ </string>
+ <string name="LocationCtrlComboBtnTooltip">
+ Meu histórico de localizações
+ </string>
+ <string name="UpdaterWindowTitle">
+ [APP_NAME] Atualização
+ </string>
+ <string name="UpdaterNowUpdating">
+ Atualizando agora o [APP_NAME]...
+ </string>
+ <string name="UpdaterNowInstalling">
+ Instalando [APP_NAME]...
+ </string>
+ <string name="UpdaterUpdatingDescriptive">
+ Seu visualizador [APP_NAME] está sendo atualizado para a versão mais recente. Isso pode levar algum tempo, então por favor seja paciente.
+ </string>
+ <string name="UpdaterProgressBarTextWithEllipses">
+ Fazendo o download da atualização...
+ </string>
+ <string name="UpdaterProgressBarText">
+ Fazendo o download da atualização
+ </string>
+ <string name="UpdaterFailDownloadTitle">
+ Falha no download da atualização
+ </string>
+ <string name="UpdaterFailUpdateDescriptive">
+ Um erro ocorreu ao atualizar [APP_NAME]. Por favor, faça o download da versão mais recente em www.secondlife.com.
+ </string>
+ <string name="UpdaterFailInstallTitle">
+ Falha ao instalar a atualização
+ </string>
+ <string name="UpdaterFailStartTitle">
+ Falha ao iniciar o visualizador
+ </string>
+ <string name="IM_logging_string">
+ -- Log de mensagem instantânea habilitado --
+ </string>
+ <string name="IM_typing_start_string">
+ [NAME] está digitando...
+ </string>
+ <string name="Unnamed">
+ (Anônimo)
+ </string>
+ <string name="IM_moderated_chat_label">
+ (Moderado: Voz desativado por padrão)
+ </string>
+ <string name="IM_unavailable_text_label">
+ Bate-papo de texto não está disponível para esta chamada.
+ </string>
+ <string name="IM_muted_text_label">
+ Seu bate- papo de texto foi desabilitado por um Moderador do Grupo.
+ </string>
+ <string name="IM_default_text_label">
+ Clique aqui para menagem instantânea.
+ </string>
+ <string name="IM_to_label">
+ Para
+ </string>
+ <string name="IM_moderator_label">
+ (Moderador)
+ </string>
+ <string name="started_call">
+ Iniciou uma ligação de voz
+ </string>
+ <string name="joined_call">
+ Entrou na ligação
+ </string>
+ <string name="ringing-im">
+ Entrando em ligação de voz...
+ </string>
+ <string name="connected-im">
+ Conectado. Para sair, clique em Desligar
+ </string>
+ <string name="hang_up-im">
+ Saiu da ligação de voz
</string>
- <string name="ScriptQuestionCautionChatGranted">
- &apos;[OBJECTNAME]&apos;, um objeto de &apos;[OWNERNAME]&apos;, localizado em [REGIONNAME] a [REGIONPOS], obteve permissão para: [PERMISSIONS].
- </string>
- <string name="ScriptQuestionCautionChatDenied">
- &apos;[OBJECTNAME]&apos;, um objeto de &apos;[OWNERNAME]&apos;, localizado em [REGIONNAME] a [REGIONPOS], teve permissão negada para: [PERMISSIONS].
- </string>
- <string name="ScriptTakeMoney">
- Tomar linden dólares (L$) de você
- </string>
- <string name="ActOnControlInputs">
- Atue nas suas entradas de controle
- </string>
- <string name="RemapControlInputs">
- Remapeie suas entradas de controle
- </string>
- <string name="AnimateYourAvatar">
- Faça uma animação para o seu avatar
- </string>
- <string name="AttachToYourAvatar">
- Anexe ao seu avatar
- </string>
- <string name="ReleaseOwnership">
- Libere a propriedade e torne-a pública
- </string>
- <string name="LinkAndDelink">
- Una e desuna de outros objetos
- </string>
- <string name="AddAndRemoveJoints">
- Adicione e remova junções com outros objetos
- </string>
- <string name="ChangePermissions">
- Modifique as permissões
- </string>
- <string name="TrackYourCamera">
- Acompanhe sua câmera
- </string>
- <string name="ControlYourCamera">
- Controle sua camera
- </string>
<string name="only_user_message">
Você é o único usuário desta sessão.
</string>
@@ -588,6 +3209,12 @@
<string name="invite_message">
Clique no botão [BUTTON NAME] para aceitar/ conectar a este bate-papo em voz.
</string>
+ <string name="muted_message">
+ Você bloqueou este residente. Se quiser retirar o bloqueio, basta enviar uma mensagem.
+ </string>
+ <string name="generic">
+ Erro de solicitação, tente novamente mais tarde.
+ </string>
<string name="generic_request_error">
Erro na requisição, por favor, tente novamente.
</string>
@@ -606,46 +3233,37 @@
<string name="not_a_mod_error">
Você não é um moderador de sessão.
</string>
+ <string name="muted">
+ Bate-papo de texto desativado por um moderador.
+ </string>
<string name="muted_error">
Um moderador do grupo desabilitou seu bate-papo em texto.
</string>
<string name="add_session_event">
Não foi possível adicionar usuários na sessão de bate-papo com [RECIPIENT].
</string>
+ <string name="message">
+ Não foi possível enviar sua mensagem para o bate-papo com [RECIPIENT].
+ </string>
<string name="message_session_event">
Não foi possível enviar sua mensagem na sessão de bate- papo com [RECIPIENT].
</string>
+ <string name="mute">
+ Erro durante a moderação.
+ </string>
+ <string name="removed">
+ Você foi tirado do grupo.
+ </string>
<string name="removed_from_group">
Você foi removido do grupo.
</string>
<string name="close_on_no_ability">
Você não possui mais a habilidade de estar na sessão de bate-papo.
</string>
- <string name="AcctTypeResident">
- Residente
- </string>
- <string name="AcctTypeTrial">
- Teste
- </string>
- <string name="AcctTypeCharterMember">
- Estatuto do membro
- </string>
- <string name="AcctTypeEmployee">
- Contratado da Linden Lab
- </string>
- <string name="PaymentInfoUsed">
- Infor. de pagamento utilizadas
- </string>
- <string name="PaymentInfoOnFile">
- Infor. de pagamento no arquivo
- </string>
- <string name="NoPaymentInfoOnFile">
- Sem infor. de pagamento no arquivo
- </string>
- <string name="AgeVerified">
- Idade Verificada
- </string>
- <string name="NotAgeVerified">
- Idade não Verificada
- </string>
+ <string name="unread_chat_single">
+ [SOURCES] disse alguma coisa
+ </string>
+ <string name="unread_chat_multiple">
+ [SOURCES] disseram alguma coisa
+ </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 6eecc45bcf..1a0461082b 100644
--- a/indra/newview/skins/default/xui/pt/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/pt/teleport_strings.xml
@@ -2,12 +2,12 @@
<teleport_messages>
<message_set name="errors">
<message name="invalid_tport">
- Problema encontrado ao processar seu pedido de Teletransporte. Você pode tentar reiniciar antes de tentar teletransportar-se. Se você continuar a receber esta mensagem, por favor verifique a FAQ do Suporte Técnico em:
-www.secondlife.com/support
+ Houve um problema ao processar o teletransporte. Talvez seja preciso sair e entrar do Second Life para fazer o teletransporte.
+Se você continuar a receber esta mensagem, por favor consulte o [SUPPORT_SITE].
</message>
<message name="invalid_region_handoff">
- Problema encontrado ao processar a passagem de regiões. Você pode tentar reiniciar antes de tentar atravessar regiões novamente. Se você continuar a receber esta mensagem, por favor verifique a FAQ do Suporte Técnico em:
-www.secondlife.com/support
+ Problema encontrado ao processar a passagem de regiões. Talvez seja preciso sair e entrar do Second Life atravessar regiões novamente.
+Se você continuar a receber esta mensagem, por favor consulte o [SUPPORT_SITE].
</message>
<message name="blocked_tport">
Desculpe, teletransportes estão atualmente bloqueados. Tente novamente dentro de alguns instantes. Se você continuar com problemas de teletransporte, por favor tente deslogar e relogar para resolver o problema.
diff --git a/indra/newview/tests/llviewerhelputil_test.cpp b/indra/newview/tests/llviewerhelputil_test.cpp
index dd61ac6ae5..eecc79d36c 100644
--- a/indra/newview/tests/llviewerhelputil_test.cpp
+++ b/indra/newview/tests/llviewerhelputil_test.cpp
@@ -86,7 +86,7 @@ public:
#ifdef __GNUC__
__attribute__ ((noinline))
#endif
- BOOL isGodlike() const { return FALSE; }
+ bool isGodlike() const { return FALSE; }
};
LLAgent gAgent;
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 15a51bbe14..3f379fcf75 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -854,16 +854,10 @@ class Linux_i686Manifest(LinuxManifest):
print "Skipping %s - not found" % libfile
pass
-
- if(self.args['buildtype'].lower() == 'release'):
- print "* packaging stripped viewer binary."
- self.path("secondlife-stripped","bin/do-not-directly-run-secondlife-bin")
- else:
- print "* packaging un-stripped viewer binary."
- self.path("secondlife-bin","bin/do-not-directly-run-secondlife-bin")
+ self.path("secondlife-bin","bin/do-not-directly-run-secondlife-bin")
- self.path("../linux_crash_logger/linux-crash-logger-stripped","bin/linux-crash-logger.bin")
- self.path("../linux_updater/linux-updater-stripped", "bin/linux-updater.bin")
+ self.path("../linux_crash_logger/linux-crash-logger","bin/linux-crash-logger.bin")
+ self.path("../linux_updater/linux-updater", "bin/linux-updater.bin")
self.path("../llplugin/slplugin/SLPlugin", "bin/SLPlugin")
if self.prefix("res-sdl"):
self.path("*")
@@ -914,23 +908,16 @@ class Linux_i686Manifest(LinuxManifest):
if self.prefix(src="vivox-runtime/i686-linux", dst="lib"):
self.path("libortp.so")
self.path("libsndfile.so.1")
- #self.path("libvivoxoal.so.1") # no - we'll re-use the viewer's own OAL lib
+ #self.path("libvivoxoal.so.1") # no - we'll re-use the viewer's own OpenAL lib
self.path("libvivoxsdk.so")
self.path("libvivoxplatform.so")
self.end_prefix("lib")
-class Linux_x86_64Manifest(LinuxManifest):
- def construct(self):
- super(Linux_x86_64Manifest, self).construct()
- self.path("secondlife-stripped","bin/do-not-directly-run-secondlife-bin")
- self.path("../linux_crash_logger/linux-crash-logger-stripped","linux-crash-logger.bin")
- if self.prefix("res-sdl"):
- self.path("*")
- # recurse
- self.end_prefix("res-sdl")
+ if self.args['buildtype'].lower() == 'release':
+ print "* Going strip-crazy on the packaged binaries, since this is a RELEASE build"
+ self.run_command("find %(d)r/bin %(d)r/lib -type f | xargs --no-run-if-empty strip -S" % {'d': self.get_dst_prefix()} ) # makes some small assumptions about our packaged dir structure
- self.path("featuretable_linux.txt")
- self.path("secondlife-i686.supp")
+################################################################
if __name__ == "__main__":
main()
diff --git a/indra/test_apps/llplugintest/llmediaplugintest.cpp b/indra/test_apps/llplugintest/llmediaplugintest.cpp
index 0ff53f3e00..e5a846f15a 100644
--- a/indra/test_apps/llplugintest/llmediaplugintest.cpp
+++ b/indra/test_apps/llplugintest/llmediaplugintest.cpp
@@ -66,11 +66,11 @@ static void gluiCallbackWrapper( int control_id );
static bool isTexture( GLuint texture )
{
bool result = false;
-
+
// glIsTexture will sometimes return false for real textures... do this instead.
if(texture != 0)
result = true;
-
+
return result;
}
@@ -95,24 +95,24 @@ mediaPanel::~mediaPanel()
glDeleteTextures( 1, &mPickTextureHandle );
mPickTextureHandle = 0;
}
-
+
if ( isTexture( mMediaTextureHandle ) )
{
std::cerr << "remMediaPanel: deleting media texture " << mMediaTextureHandle << std::endl;
glDeleteTextures( 1, &mMediaTextureHandle );
mMediaTextureHandle = 0;
}
-
+
if(mPickTexturePixels)
{
delete mPickTexturePixels;
}
-
+
if(mMediaSource)
{
delete mMediaSource;
}
-
+
}
////////////////////////////////////////////////////////////////////////////////
@@ -128,6 +128,7 @@ LLMediaPluginTest::LLMediaPluginTest( int app_window, int window_width, int wind
mCurMouseY( 0 ),
mFuzzyMedia( true ),
mSelectedPanel( 0 ),
+ mDistanceCameraToSelectedGeometry( 0.0f ),
mMediaBrowserControlEnableCookies( 0 ),
mMediaBrowserControlBackButton( 0 ),
mMediaBrowserControlForwardButton( 0 ),
@@ -151,7 +152,7 @@ LLMediaPluginTest::LLMediaPluginTest( int app_window, int window_width, int wind
//mBookmarks.push_back( std::pair< std::string, std::string >( "description", "url" ) );
// read bookmarks from file.
- // note: uses command in ./CmakeLists.txt which copies bookmmarks file from source directory
+ // note: uses command in ./CmakeLists.txt which copies bookmmarks file from source directory
// to app directory (WITHOUT build configuration dir) (this is cwd in Windows within MSVC)
// For example, test_apps\llplugintest and not test_apps\llplugintest\Release
// This may need to be changed for Mac/Linux builds.
@@ -193,7 +194,7 @@ LLMediaPluginTest::LLMediaPluginTest( int app_window, int window_width, int wind
// initialize linden lab APR module
ll_init_apr();
- // Set up llerror logging
+ // Set up llerror logging
{
LLError::initForApplication(".");
LLError::setDefaultLevel(LLError::LEVEL_INFO);
@@ -273,7 +274,7 @@ void LLMediaPluginTest::reshape( int width, int height )
void LLMediaPluginTest::bindTexture(GLuint texture, GLint row_length, GLint alignment)
{
glEnable( GL_TEXTURE_2D );
-
+
glBindTexture( GL_TEXTURE_2D, texture );
glPixelStorei( GL_UNPACK_ROW_LENGTH, row_length );
glPixelStorei( GL_UNPACK_ALIGNMENT, alignment );
@@ -285,27 +286,57 @@ bool LLMediaPluginTest::checkGLError(const char *name)
{
bool result = false;
GLenum error = glGetError();
-
+
if(error != GL_NO_ERROR)
{
// For some reason, glGenTextures is returning GL_INVALID_VALUE...
std::cout << name << " ERROR 0x" << std::hex << error << std::dec << std::endl;
result = true;
}
-
+
return result;
}
////////////////////////////////////////////////////////////////////////////////
//
-void LLMediaPluginTest::drawGeometry( int panel )
+GLfloat LLMediaPluginTest::distanceToCamera( GLfloat point_x, GLfloat point_y, GLfloat point_z )
+{
+ GLdouble camera_pos_x = 0.0f;
+ GLdouble camera_pos_y = 0.0f;
+ GLdouble camera_pos_z = 0.0f;
+
+ GLdouble modelMatrix[16];
+ GLdouble projMatrix[16];
+ GLint viewport[4];
+
+ glGetDoublev(GL_MODELVIEW_MATRIX, modelMatrix);
+ glGetDoublev(GL_PROJECTION_MATRIX, projMatrix);
+ glGetIntegerv(GL_VIEWPORT, viewport);
+
+ gluUnProject(
+ (viewport[2]-viewport[0])/2 , (viewport[3]-viewport[1])/2,
+ 0.0,
+ modelMatrix, projMatrix, viewport,
+ &camera_pos_x, &camera_pos_y, &camera_pos_z );
+
+ GLfloat distance =
+ sqrt( ( camera_pos_x - point_x ) * ( camera_pos_x - point_x ) +
+ ( camera_pos_y - point_y ) * ( camera_pos_y - point_y ) +
+ ( camera_pos_z - point_z ) * ( camera_pos_z - point_z ) );
+
+ return distance;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+//
+void LLMediaPluginTest::drawGeometry( int panel, bool selected )
{
// texture coordinates for each panel
GLfloat non_opengl_texture_coords[ 8 ] = { 0.0f, 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f };
GLfloat opengl_texture_coords[ 8 ] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f };
-
+
GLfloat *texture_coords = mMediaPanels[ panel ]->mAppTextureCoordsOpenGL?opengl_texture_coords:non_opengl_texture_coords;
-
+
// base coordinates for each panel
GLfloat base_vertex_pos[ 8 ] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f };
@@ -316,31 +347,35 @@ void LLMediaPluginTest::drawGeometry( int panel )
const int panel_x = ( panel / num_rows );
const int panel_y = ( panel % num_rows );
- const float spacing = 0.1f;
+ // default spacing is small - make it larger if checkbox set - for testing positional audio
+ float spacing = 0.1f;
+ if ( mLargePanelSpacing )
+ spacing = 2.0f;
+
const GLfloat offset_x = num_cols * ( 1.0 + spacing ) / 2;
const GLfloat offset_y = num_rows * ( 1.0 + spacing ) / 2;
-
+
// Adjust for media aspect ratios
- {
+ {
float aspect = 1.0f;
if(mMediaPanels[ panel ]->mMediaHeight != 0)
{
aspect = (float)mMediaPanels[ panel ]->mMediaWidth / (float)mMediaPanels[ panel ]->mMediaHeight;
}
-
+
if(aspect > 1.0f)
{
// media is wider than it is high -- adjust the top and bottom in
for( int corner = 0; corner < 4; ++corner )
{
float temp = base_vertex_pos[corner * 2 + 1];
-
+
if(temp < 0.5f)
temp += 0.5 - (0.5f / aspect);
else
temp -= 0.5 - (0.5f / aspect);
-
+
base_vertex_pos[corner * 2 + 1] = temp;
}
}
@@ -350,7 +385,7 @@ void LLMediaPluginTest::drawGeometry( int panel )
for( int corner = 0; corner < 4; ++corner )
{
float temp = base_vertex_pos[corner * 2];
-
+
if(temp < 0.5f)
temp += 0.5f - (0.5f * aspect);
else
@@ -371,6 +406,15 @@ void LLMediaPluginTest::drawGeometry( int panel )
glVertex3f( x, y, 0.0f );
};
glEnd();
+
+ // calculate distance to this panel if it's selected
+ if ( selected )
+ {
+ GLfloat point_x = base_vertex_pos[ 0 ] + panel_x * ( 1.0 + spacing ) - offset_x + spacing / 2.0f;
+ GLfloat point_y = base_vertex_pos[ 0 + 1 ] + panel_y * ( 1.0 + spacing ) - offset_y + spacing / 2.0f;
+ GLfloat point_z = 0.0f;
+ mDistanceCameraToSelectedGeometry = distanceToCamera( point_x, point_y, point_z );
+ };
}
//////////////////////////////////////////////////////////////////////////////
@@ -403,7 +447,7 @@ void LLMediaPluginTest::draw( int draw_type )
if ( draw_type == DrawTypePickTexture )
{
// only bother with pick if we have something to render
- // Actually, we need to pick even if we're not ready to render.
+ // Actually, we need to pick even if we're not ready to render.
// Otherwise you can't select and remove a panel which has gone bad.
//if ( mMediaPanels[ panel ]->mReadyToRender )
{
@@ -420,7 +464,7 @@ void LLMediaPluginTest::draw( int draw_type )
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
// draw geometry using pick texture
- drawGeometry( panel );
+ drawGeometry( panel, false );
glMatrixMode( GL_TEXTURE );
glPopMatrix();
@@ -431,13 +475,13 @@ void LLMediaPluginTest::draw( int draw_type )
{
bool texture_valid = false;
bool plugin_exited = false;
-
+
if(mMediaPanels[ panel ]->mMediaSource)
{
texture_valid = mMediaPanels[ panel ]->mMediaSource->textureValid();
plugin_exited = mMediaPanels[ panel ]->mMediaSource->isPluginExited();
}
-
+
// save texture matrix (changes for each panel)
glMatrixMode( GL_TEXTURE );
glPushMatrix();
@@ -465,14 +509,14 @@ void LLMediaPluginTest::draw( int draw_type )
mMediaPanels[ panel ]->mTextureScaleY,
1.0f );
};
-
+
float intensity = plugin_exited?0.25f:1.0f;
-
+
// highlight the selected panel
if ( mSelectedPanel && ( mMediaPanels[ panel ]->mId == mSelectedPanel->mId ) )
{
startPanelHighlight( intensity, intensity, 0.0f, 5.0f );
- drawGeometry( panel );
+ drawGeometry( panel, true );
endPanelHighlight();
}
else
@@ -481,21 +525,21 @@ void LLMediaPluginTest::draw( int draw_type )
if ( !mMediaPanels[ panel ]->mReadyToRender )
{
startPanelHighlight( intensity, 0.0f, 0.0f, 2.0f );
- drawGeometry( panel );
+ drawGeometry( panel, false );
endPanelHighlight();
}
else
- // just display a border around the media
+ // just display a border around the media
{
startPanelHighlight( 0.0f, intensity, 0.0f, 2.0f );
- drawGeometry( panel );
+ drawGeometry( panel, false );
endPanelHighlight();
};
-
+
if ( mMediaPanels[ panel ]->mReadyToRender && texture_valid )
{
// draw visual geometry
- drawGeometry( panel );
+ drawGeometry( panel, false );
}
// restore texture matrix (changes for each panel)
@@ -551,7 +595,7 @@ void LLMediaPluginTest::idle()
// GLUI requires this
if ( glutGetWindow() != mAppWindow )
glutSetWindow( mAppWindow );
-
+
// random creation/destruction of panels enabled?
const time_t panel_timeout_time = 5;
if ( mRandomPanelCount )
@@ -704,7 +748,7 @@ void LLMediaPluginTest::idle()
for( int panel_index = 0; panel_index < (int)mMediaPanels.size(); ++panel_index )
{
mediaPanel *panel = mMediaPanels[ panel_index ];
-
+
// call plugins idle function so it can potentially update itself
panel->mMediaSource->idle();
@@ -717,7 +761,7 @@ void LLMediaPluginTest::idle()
//std::cout << "texture invalid, skipping update..." << std::endl;
}
else
- if ( panel &&
+ if ( panel &&
( panel->mMediaWidth != panel->mMediaSource->getWidth() ||
panel->mMediaHeight != panel->mMediaSource->getHeight() ) )
{
@@ -733,7 +777,7 @@ void LLMediaPluginTest::idle()
int y_offset = dirty_rect.mBottom;
int width = dirty_rect.mRight - dirty_rect.mLeft;
int height = dirty_rect.mTop - dirty_rect.mBottom;
-
+
if((dirty_rect.mRight <= panel->mTextureWidth) && (dirty_rect.mTop <= panel->mTextureHeight))
{
// Offset the pixels pointer properly
@@ -752,23 +796,23 @@ void LLMediaPluginTest::idle()
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
};
-
+
checkGLError("glTexParameteri");
-
+
if(panel->mMediaSource->getTextureFormatSwapBytes())
{
glPixelStorei(GL_UNPACK_SWAP_BYTES, 1);
checkGLError("glPixelStorei");
}
-
+
// draw portion that changes into texture
- glTexSubImage2D( GL_TEXTURE_2D, 0,
- x_offset,
+ glTexSubImage2D( GL_TEXTURE_2D, 0,
+ x_offset,
y_offset,
- width,
+ width,
height,
- panel->mMediaSource->getTextureFormatPrimary(),
- panel->mMediaSource->getTextureFormatType(),
+ panel->mMediaSource->getTextureFormatPrimary(),
+ panel->mMediaSource->getTextureFormatType(),
pixels );
if(checkGLError("glTexSubImage2D"))
@@ -788,9 +832,9 @@ void LLMediaPluginTest::idle()
glPixelStorei(GL_UNPACK_SWAP_BYTES, 0);
checkGLError("glPixelStorei");
}
-
+
panel->mMediaSource->resetDirty();
-
+
panel->mReadyToRender = true;
}
else
@@ -811,8 +855,8 @@ void LLMediaPluginTest::idle()
////////////////////////////////////////////////////////////////////////////////
//
-void LLMediaPluginTest::windowPosToTexturePos( int window_x, int window_y,
- int& media_x, int& media_y,
+void LLMediaPluginTest::windowPosToTexturePos( int window_x, int window_y,
+ int& media_x, int& media_y,
int& id )
{
if ( ! mSelectedPanel )
@@ -828,7 +872,7 @@ void LLMediaPluginTest::windowPosToTexturePos( int window_x, int window_y,
// OpenGL app == coordinate system this way
// NOTE: unrelated to settings in plugin - this
// is just for this app
- mCurMouseY = mWindowHeight - window_y;
+ mCurMouseY = mWindowHeight - window_y;
// extract x (0..1023, y (0..1023) and id (0..15) from RGB components
unsigned long pixel_read_color_bits = ( mPixelReadColor[ 0 ] << 16 ) | ( mPixelReadColor[ 1 ] << 8 ) | mPixelReadColor[ 2 ];
@@ -880,14 +924,14 @@ void LLMediaPluginTest::selectPanel( mediaPanel* panel )
mSelectedPanel->mMediaSource->setVolume( 0.0f );
mSelectedPanel->mMediaSource->setPriority( LLPluginClassMedia::PRIORITY_LOW );
};
-
+
mSelectedPanel = panel;
if( mSelectedPanel && mSelectedPanel->mMediaSource )
{
mSelectedPanel->mMediaSource->setVolume( (float)mMediaTimeControlVolume / 100.0f );
mSelectedPanel->mMediaSource->setPriority( LLPluginClassMedia::PRIORITY_NORMAL );
-
+
if(!mSelectedPanel->mStartUrl.empty())
{
mUrlEdit->set_text(const_cast<char*>(mSelectedPanel->mStartUrl.c_str()) );
@@ -900,7 +944,7 @@ void LLMediaPluginTest::selectPanel( mediaPanel* panel )
mediaPanel* LLMediaPluginTest::findMediaPanel( LLPluginClassMedia* source )
{
mediaPanel *result = NULL;
-
+
for( int panel = 0; panel < (int)mMediaPanels.size(); ++panel )
{
if ( mMediaPanels[ panel ]->mMediaSource == source )
@@ -908,7 +952,7 @@ mediaPanel* LLMediaPluginTest::findMediaPanel( LLPluginClassMedia* source )
result = mMediaPanels[ panel ];
}
}
-
+
return result;
}
@@ -1066,7 +1110,7 @@ void LLMediaPluginTest::gluiCallback( int control_id )
{
if ( mSelectedPanel )
{
- // get value from spinner
+ // get value from spinner
float seconds_to_seek = mMediaTimeControlSeekSeconds;
mSelectedPanel->mMediaSource->seek( seconds_to_seek );
mSelectedPanel->mMediaSource->start();
@@ -1194,7 +1238,7 @@ void LLMediaPluginTest::mouseButton( int button, int state, int x, int y )
windowPosToTexturePos( x, y, media_x, media_y, id );
// only select a panel if we're on a panel
- // (HACK: strictly speaking this rules out clicking on
+ // (HACK: strictly speaking this rules out clicking on
// the origin of a panel but that's very unlikely)
if ( media_x > 0 && media_y > 0 )
{
@@ -1327,18 +1371,18 @@ void LLMediaPluginTest::makeChrome()
mGluiMediaTimeControlWindow->add_column( false );
mIdMediaTimeControlVolume = start_id++;
GLUI_Spinner* spinner = mGluiMediaTimeControlWindow->add_spinner( "Volume", 2, &mMediaTimeControlVolume, mIdMediaTimeControlVolume, gluiCallbackWrapper);
- spinner->set_float_limits( 0, 100 );
+ spinner->set_float_limits( 0, 100 );
mGluiMediaTimeControlWindow->add_column( true );
mIdMediaTimeControlSeekSeconds = start_id++;
spinner = mGluiMediaTimeControlWindow->add_spinner( "", 2, &mMediaTimeControlSeekSeconds, mIdMediaTimeControlSeekSeconds, gluiCallbackWrapper);
- spinner->set_float_limits( 0, 200 );
+ spinner->set_float_limits( 0, 200 );
spinner->set_w( 32 );
spinner->set_speed( 0.025f );
mGluiMediaTimeControlWindow->add_column( false );
mIdMediaTimeControlSeek = start_id++;
mGluiMediaTimeControlWindow->add_button( "SEEK", mIdMediaTimeControlSeek, gluiCallbackWrapper );
mGluiMediaTimeControlWindow->add_column( false );
-
+
// top window - media controls for "browser" media types (e.g. web browser)
mGluiMediaBrowserControlWindow = GLUI_Master.create_glui_subwindow( mAppWindow, GLUI_SUBWINDOW_TOP );
@@ -1385,6 +1429,13 @@ void LLMediaPluginTest::makeChrome()
mDisableTimeout = 0;
glui_window_misc_control->add_checkbox( "Disable plugin timeout", &mDisableTimeout, mIdDisableTimeout, gluiCallbackWrapper );
glui_window_misc_control->set_main_gfx_window( mAppWindow );
+ glui_window_misc_control->add_column( true );
+
+ mIdLargePanelSpacing = start_id++;
+ mLargePanelSpacing = 0;
+ glui_window_misc_control->add_checkbox( "Large Panel Spacing", &mLargePanelSpacing, mIdLargePanelSpacing, gluiCallbackWrapper );
+ glui_window_misc_control->set_main_gfx_window( mAppWindow );
+ glui_window_misc_control->add_column( true );
// bottom window - status
mBottomGLUIWindow = GLUI_Master.create_glui_subwindow( mAppWindow, GLUI_SUBWINDOW_BOTTOM );
@@ -1449,7 +1500,7 @@ void LLMediaPluginTest::makePickTexture( int id, GLuint* texture_handle, unsigne
//
std::string LLMediaPluginTest::mimeTypeFromUrl( std::string& url )
{
- // default to web
+ // default to web
std::string mime_type = "text/html";
// we may need a more advanced MIME type accessor later :-)
@@ -1479,7 +1530,7 @@ std::string LLMediaPluginTest::pluginNameFromMimeType( std::string& mime_type )
else
if ( mime_type == "text/html" )
plugin_name = "media_plugin_webkit.dylib";
-
+
#elif LL_WINDOWS
std::string plugin_name( "media_plugin_null.dll" );
@@ -1523,7 +1574,7 @@ void LLMediaPluginTest::addMediaPanel( std::string url )
// tell the plugin what size we asked for
media_source->setSize( media_width, media_height );
- // Use the launcher start and initialize the plugin
+ // Use the launcher start and initialize the plugin
#if LL_DARWIN || LL_LINUX
std::string launcher_name( "SLPlugin" );
#elif LL_WINDOWS
@@ -1580,7 +1631,7 @@ void LLMediaPluginTest::addMediaPanel( std::string url )
// id wasn't found so we can use it
if ( ! id_exists )
{
- panel->mId = nid;
+ panel->mId = nid;
break;
};
};
@@ -1592,7 +1643,7 @@ void LLMediaPluginTest::addMediaPanel( std::string url )
}
else
{
- // now we have the ID we can use it to make the
+ // now we have the ID we can use it to make the
// pick texture (id is baked into texture pixels)
makePickTexture( panel->mId, &panel->mPickTextureHandle, &panel->mPickTexturePixels );
@@ -1615,17 +1666,17 @@ void LLMediaPluginTest::addMediaPanel( std::string url )
void LLMediaPluginTest::updateMediaPanel( mediaPanel* panel )
{
// checkGLError("LLMediaPluginTest::updateMediaPanel");
-
- if ( ! panel )
+
+ if ( ! panel )
return;
-
+
if(!panel->mMediaSource || !panel->mMediaSource->textureValid())
{
panel->mReadyToRender = false;
return;
}
-
- // take a reference copy of the plugin values since they
+
+ // take a reference copy of the plugin values since they
// might change during this lifetime of this function
int plugin_media_width = panel->mMediaSource->getWidth();
int plugin_media_height = panel->mMediaSource->getHeight();
@@ -1633,18 +1684,18 @@ void LLMediaPluginTest::updateMediaPanel( mediaPanel* panel )
int plugin_texture_height = panel->mMediaSource->getBitsHeight();
// If the texture isn't created or the media or texture dimensions changed AND
- // the sizes are valid then we need to delete the old media texture (if necessary)
+ // the sizes are valid then we need to delete the old media texture (if necessary)
// then make a new one.
if ((panel->mMediaTextureHandle == 0 ||
panel->mMediaWidth != plugin_media_width ||
- panel->mMediaHeight != plugin_media_height ||
+ panel->mMediaHeight != plugin_media_height ||
panel->mTextureWidth != plugin_texture_width ||
panel->mTextureHeight != plugin_texture_height) &&
- ( plugin_media_width > 0 && plugin_media_height > 0 &&
+ ( plugin_media_width > 0 && plugin_media_height > 0 &&
plugin_texture_width > 0 && plugin_texture_height > 0 ) )
{
- std::cout << "Valid media size (" << plugin_media_width << " x " << plugin_media_height
- << ") and texture size (" << plugin_texture_width << " x " << plugin_texture_height
+ std::cout << "Valid media size (" << plugin_media_width << " x " << plugin_media_height
+ << ") and texture size (" << plugin_texture_width << " x " << plugin_texture_height
<< ") for panel with ID=" << panel->mId << " - making texture" << std::endl;
// delete old GL texture
@@ -1654,13 +1705,13 @@ void LLMediaPluginTest::updateMediaPanel( mediaPanel* panel )
glDeleteTextures( 1, &panel->mMediaTextureHandle );
panel->mMediaTextureHandle = 0;
}
-
+
std::cerr << "before: pick texture is " << panel->mPickTextureHandle << ", media texture is " << panel->mMediaTextureHandle << std::endl;
-
+
// make a GL texture based on the dimensions the plugin told us
GLuint new_texture = 0;
glGenTextures( 1, &new_texture );
-
+
checkGLError("glGenTextures");
std::cout << "glGenTextures returned " << new_texture << std::endl;
@@ -1679,7 +1730,7 @@ void LLMediaPluginTest::updateMediaPanel( mediaPanel* panel )
std::cerr << "after: pick texture is " << panel->mPickTextureHandle << ", media texture is " << panel->mMediaTextureHandle << std::endl;
};
-
+
// update our record of the media and texture dimensions
// NOTE: do this after we we check for sizes changes
panel->mMediaWidth = plugin_media_width;
@@ -1699,7 +1750,7 @@ void LLMediaPluginTest::updateMediaPanel( mediaPanel* panel )
panel->mAppTextureCoordsOpenGL = panel->mMediaSource->getTextureCoordsOpenGL();
// Check to see if we have enough to render this panel.
- // If we do, set a flag that the display functions use so
+ // If we do, set a flag that the display functions use so
// they only render a panel with media if it's ready.
if ( panel->mMediaWidth < 0 ||
panel->mMediaHeight < 0 ||
@@ -1716,26 +1767,26 @@ void LLMediaPluginTest::updateMediaPanel( mediaPanel* panel )
void LLMediaPluginTest::replaceMediaPanel( mediaPanel* panel, std::string url )
{
// no media panels so we can't change anything - have to add
- if ( mMediaPanels.size() == 0 )
+ if ( mMediaPanels.size() == 0 )
return;
// sanity check
- if ( ! panel )
+ if ( ! panel )
return;
-
+
int index;
for(index = 0; index < (int)mMediaPanels.size(); index++)
{
if(mMediaPanels[index] == panel)
break;
}
-
+
if(index >= (int)mMediaPanels.size())
{
// panel isn't in mMediaPanels
return;
}
-
+
std::cout << "Replacing media panel with index " << panel->mId << std::endl;
int panel_id = panel->mId;
@@ -1760,7 +1811,7 @@ void LLMediaPluginTest::replaceMediaPanel( mediaPanel* panel, std::string url )
// tell the plugin what size we asked for
media_source->setSize( media_width, media_height );
- // Use the launcher start and initialize the plugin
+ // Use the launcher start and initialize the plugin
#if LL_DARWIN || LL_LINUX
std::string launcher_name( "SLPlugin" );
#elif LL_WINDOWS
@@ -1799,12 +1850,12 @@ void LLMediaPluginTest::replaceMediaPanel( mediaPanel* panel, std::string url )
panel->mAppTextureCoordsOpenGL = false; // really need an 'undefined' state here too
panel->mReadyToRender = false;
- panel->mId = panel_id;
-
+ panel->mId = panel_id;
+
// Replace the entry in the panels array
mMediaPanels[index] = panel;
- // now we have the ID we can use it to make the
+ // now we have the ID we can use it to make the
// pick texture (id is baked into texture pixels)
makePickTexture( panel->mId, &panel->mPickTextureHandle, &panel->mPickTexturePixels );
@@ -1820,7 +1871,7 @@ void LLMediaPluginTest::replaceMediaPanel( mediaPanel* panel, std::string url )
//
void LLMediaPluginTest::getRandomMediaSize( int& width, int& height, std::string mime_type )
{
- // Make a new media source with a random size which we'll either
+ // Make a new media source with a random size which we'll either
// directly or the media plugin will tell us what it wants later.
// Use a random size so we can test support for weird media sizes.
// (Almost everything else will get filled in later once the
@@ -1829,8 +1880,8 @@ void LLMediaPluginTest::getRandomMediaSize( int& width, int& height, std::string
width = ( ( rand() % 170 ) + 30 ) * 4;
height = ( ( rand() % 170 ) + 30 ) * 4;
- // adjust this random size if it's a browser so we get
- // a more useful size for testing..
+ // adjust this random size if it's a browser so we get
+ // a more useful size for testing..
if ( mime_type == "text/html" || mime_type == "example/example" )
{
width = ( ( rand() % 100 ) + 100 ) * 4;
@@ -1843,11 +1894,11 @@ void LLMediaPluginTest::getRandomMediaSize( int& width, int& height, std::string
void LLMediaPluginTest::remMediaPanel( mediaPanel* panel )
{
// always leave one panel
- if ( mMediaPanels.size() == 1 )
+ if ( mMediaPanels.size() == 1 )
return;
// sanity check - don't think this can happen but see above for a case where it might...
- if ( ! panel )
+ if ( ! panel )
return;
std::cout << "Removing media panel with index " << panel->mId << " - total panels = " << mMediaPanels.size() - 1 << std::endl;
@@ -1855,7 +1906,7 @@ void LLMediaPluginTest::remMediaPanel( mediaPanel* panel )
if(mSelectedPanel == panel)
mSelectedPanel = NULL;
- delete panel;
+ delete panel;
// remove from storage list
for( int i = 0; i < (int)mMediaPanels.size(); ++i )
@@ -1867,7 +1918,7 @@ void LLMediaPluginTest::remMediaPanel( mediaPanel* panel )
};
};
- // select the first panel
+ // select the first panel
selectPanel( mMediaPanels[ 0 ] );
}
@@ -1887,18 +1938,20 @@ void LLMediaPluginTest::updateStatusBar()
static bool cached_supports_browser_media = true;
static bool cached_supports_time_media = false;
static int cached_movie_time = -1;
+ static GLfloat cached_distance = -1.0f;
static std::string cached_plugin_version = "";
- if (
+ if (
cached_id == mSelectedPanel->mId &&
cached_media_width == mSelectedPanel->mMediaWidth &&
cached_media_height == mSelectedPanel->mMediaHeight &&
cached_texture_width == mSelectedPanel->mTextureWidth &&
cached_texture_height == mSelectedPanel->mTextureHeight &&
- cached_supports_browser_media == mSelectedPanel->mMediaSource->pluginSupportsMediaBrowser() &&
+ cached_supports_browser_media == mSelectedPanel->mMediaSource->pluginSupportsMediaBrowser() &&
cached_supports_time_media == mSelectedPanel->mMediaSource->pluginSupportsMediaTime() &&
cached_plugin_version == mSelectedPanel->mMediaSource->getPluginVersion() &&
- cached_movie_time == (int)mSelectedPanel->mMediaSource->getCurrentTime()
+ cached_movie_time == (int)mSelectedPanel->mMediaSource->getCurrentTime() &&
+ cached_distance == mDistanceCameraToSelectedGeometry
)
{
// nothing changed so don't spend time in this shitty function
@@ -1906,7 +1959,7 @@ void LLMediaPluginTest::updateStatusBar()
};
std::ostringstream stream( "" );
-
+
stream.str( "" );
stream.clear();
@@ -1927,7 +1980,15 @@ void LLMediaPluginTest::updateStatusBar()
stream << " x ";
stream << std::setw( 4 ) << std::setfill( '0' );
stream << mSelectedPanel->mTextureHeight;
+
stream << " | ";
+ stream << "Distance: ";
+ stream << std::setw( 6 );
+ stream << std::setprecision( 3 );
+ stream << std::setprecision( 3 );
+ stream << mDistanceCameraToSelectedGeometry;
+ stream << " | ";
+
if ( mSelectedPanel->mMediaSource->pluginSupportsMediaBrowser() )
stream << "BROWSER";
else
@@ -2005,7 +2066,7 @@ void LLMediaPluginTest::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent e
{
// Uncomment this to make things much, much quieter.
// return;
-
+
switch(event)
{
case MEDIA_EVENT_CONTENT_UPDATED:
@@ -2065,11 +2126,11 @@ void LLMediaPluginTest::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent e
case MEDIA_EVENT_CLICK_LINK_HREF:
std::cerr << "Media event: MEDIA_EVENT_CLICK_LINK_HREF, uri is " << self->getClickURL() << std::endl;
break;
-
+
case MEDIA_EVENT_CLICK_LINK_NOFOLLOW:
std::cerr << "Media event: MEDIA_EVENT_CLICK_LINK_NOFOLLOW, uri is " << self->getClickURL() << std::endl;
break;
-
+
case MEDIA_EVENT_PLUGIN_FAILED:
std::cerr << "Media event: MEDIA_EVENT_PLUGIN_FAILED" << std::endl;
break;
@@ -2195,13 +2256,13 @@ int main( int argc, char* argv[] )
glutSetWindow( app_window_handle );
gApplication = new LLMediaPluginTest( app_window_handle, app_window_width, app_window_height );
-
+
// update at approximately 60hz
int update_ms = 1000 / 60;
-
+
GLUI_Master.set_glutTimerFunc( update_ms, glutIdle, update_ms);
glutMainLoop();
-
+
delete gApplication;
}
diff --git a/indra/test_apps/llplugintest/llmediaplugintest.h b/indra/test_apps/llplugintest/llmediaplugintest.h
index c2b2baba95..e7c7699343 100644
--- a/indra/test_apps/llplugintest/llmediaplugintest.h
+++ b/indra/test_apps/llplugintest/llmediaplugintest.h
@@ -89,7 +89,7 @@ class LLMediaPluginTest : public LLPluginClassMediaOwner
void bindTexture(GLuint texture, GLint row_length = 0, GLint alignment = 1);
bool checkGLError(const char *name = "OpenGL");
- void drawGeometry( int panel );
+ void drawGeometry( int panel, bool selected );
void startPanelHighlight( float red, float green, float blue, float line_width );
void endPanelHighlight();
enum { DrawTypePickTexture, DrawTypeMediaTexture };
@@ -113,6 +113,9 @@ class LLMediaPluginTest : public LLPluginClassMediaOwner
void dumpPanelInfo();
void updateStatusBar();
+ GLfloat distanceToCamera( GLfloat point_x, GLfloat point_y, GLfloat point_z );
+
+
// Inherited from LLPluginClassMediaOwner
/*virtual*/ void handleMediaEvent(LLPluginClassMedia* self, LLPluginClassMediaOwner::EMediaEvent);
@@ -142,6 +145,8 @@ class LLMediaPluginTest : public LLPluginClassMediaOwner
float mViewPos[ 3 ];
float mViewRotation[ 16 ];
+ float mDistanceCameraToSelectedGeometry;
+
int mIdControlAddPanel;
int mIdControlRemPanel;
@@ -159,6 +164,8 @@ class LLMediaPluginTest : public LLPluginClassMediaOwner
int mRandomBookmarks;
int mIdDisableTimeout;
int mDisableTimeout;
+ int mIdLargePanelSpacing;
+ int mLargePanelSpacing;
int mIdControlCrashPlugin;
int mIdControlHangPlugin;
int mIdControlExitApp;