From 123cc804114cff2fda9e62825d6eb9c01e749b09 Mon Sep 17 00:00:00 2001
From: eli <none@none>
Date: Fri, 27 Jul 2012 19:48:40 -0700
Subject: [PATCH] sync with viewer-release

---
 .../skins/default/xui/en/floater_about.xml    |  19 +-
 .../default/xui/en/floater_about_land.xml     |  74 +-
 .../default/xui/en/floater_autoreplace.xml    | 289 ++++++++
 .../skins/default/xui/en/floater_chat_bar.xml |   1 +
 .../default/xui/en/floater_im_session.xml     |   8 +-
 .../default/xui/en/floater_model_preview.xml  |  74 +-
 .../default/xui/en/floater_my_inventory.xml   |   2 +-
 .../xui/en/floater_preview_notecard.xml       |   1 +
 .../default/xui/en/floater_spellcheck.xml     | 160 ++++
 .../xui/en/floater_spellcheck_import.xml      | 116 +++
 .../default/xui/en/floater_texture_ctrl.xml   |  10 +
 .../xui/en/floater_texture_fetch_debugger.xml | 682 +++++++++---------
 .../skins/default/xui/en/menu_text_editor.xml |  79 ++
 .../skins/default/xui/en/menu_viewer.xml      |  30 +-
 .../skins/default/xui/en/notifications.xml    | 459 +++++++++---
 .../skins/default/xui/en/panel_edit_pick.xml  |   1 +
 .../default/xui/en/panel_group_notices.xml    |   4 +
 .../default/xui/en/panel_nearby_chat_bar.xml  |   1 +
 .../default/xui/en/panel_preferences_chat.xml |  29 +-
 .../default/xui/en/panel_region_estate.xml    |   4 +-
 .../default/xui/en/sidepanel_inventory.xml    |   2 +-
 .../newview/skins/default/xui/en/strings.xml  |   6 +
 .../skins/default/xui/en/teleport_strings.xml |   8 +-
 23 files changed, 1496 insertions(+), 563 deletions(-)
 create mode 100644 indra/newview/skins/default/xui/en/floater_autoreplace.xml
 create mode 100644 indra/newview/skins/default/xui/en/floater_spellcheck.xml
 create mode 100644 indra/newview/skins/default/xui/en/floater_spellcheck_import.xml

diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml
index 060d8890032..63eb87f27a1 100644
--- a/indra/newview/skins/default/xui/en/floater_about.xml
+++ b/indra/newview/skins/default/xui/en/floater_about.xml
@@ -196,27 +196,26 @@ Dummy Name replaced at run time
        top="5"
        width="435"
        word_wrap="true">
-        3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
-        APR Copyright (C) 2000-2004 The Apache Software Foundation
-        Collada DOM Copyright 2005 Sony Computer Entertainment Inc.
-        cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
+        3Dconnexion SDK Copyright (C) 1992-2009 3Dconnexion
+        APR Copyright (C) 2011 The Apache Software Foundation
+        Collada DOM Copyright 2006 Sony Computer Entertainment Inc.
+        cURL Copyright (C) 1996-2010, Daniel Stenberg, (daniel@haxx.se)
         DBus/dbus-glib Copyright (C) 2002, 2003  CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
         expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
-        FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
+        FreeType Copyright (C) 1996-2002, 2006 David Turner, Robert Wilhelm, and Werner Lemberg.
         GL Copyright (C) 1999-2004 Brian Paul.
         GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University and David Luebke, Brenden Schubert, University of Virginia.
         google-perftools Copyright (c) 2005, Google Inc.
         Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
         jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
         jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
-        ogg/vorbis Copyright (C) 2001, Xiphophorus
-        OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
-        PCRE Copyright (c) 1997-2008 University of Cambridge
+        ogg/vorbis Copyright (C) 2002, Xiphophorus
+        OpenSSL Copyright (C) 1998-2008 The OpenSSL Project.
+        PCRE Copyright (c) 1997-2012 University of Cambridge
         SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
         SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
         xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
-        zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler.
-        google-perftools Copyright (c) 2005, Google Inc.
+        zlib Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler.
 
         Second Life Viewer uses Havok (TM) Physics. (c)Copyright 1999-2010 Havok.com Inc. (and its Licensors). All Rights Reserved. See www.havok.com for details.
 
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 fb123ec4d1d..793a6e6fa1e 100644
--- a/indra/newview/skins/default/xui/en/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/en/floater_about_land.xml
@@ -1354,79 +1354,13 @@ Only large parcels can be listed in search.
              top="150"
              width="430" />
             <combo_box
-             enabled="false"
-             height="23"
-             layout="topleft"
-             left="20"
-             top="194"
-             name="land category with adult"
-             visible="false"
-             width="140">
-                <combo_box.item
-                 label="Any Category"
-                 name="item0"
-                 value="any" />
-                <combo_box.item
-                 label="Linden Location"
-                 name="item1"
-                 value="linden" />
-                <combo_box.item
-                 label="Adult"
-                 name="item2"
-                 value="adult" />
-                <combo_box.item
-                 label="Arts &amp; Culture"
-                 name="item3"
-                 value="arts" />
-                <combo_box.item
-                 label="Business"
-                 name="item4"
-                 value="store" />
-                <combo_box.item
-                 label="Educational"
-                 name="item5"
-                 value="educational" />
-                <combo_box.item
-                 label="Gaming"
-                 name="item6"
-                 value="game" />
-                <combo_box.item
-                 label="Hangout"
-                 name="item7"
-                 value="gather" />
-                <combo_box.item
-                 label="Newcomer Friendly"
-                 name="item8"
-                 value="newcomer" />
-                <combo_box.item
-                 label="Parks &amp; Nature"
-                 name="item9"
-                 value="park" />
-                <combo_box.item
-                 label="Residential"
-                 name="item10"
-                 value="home" />
-                <combo_box.item
-                 label="Shopping"
-                 name="item11"
-                 value="shopping" />
-                <combo_box.item
-                 label="Rental"
-                 name="item13"
-                 value="rental" />
-                <combo_box.item
-                 label="Other"
-                 name="item12"
-                 value="other" />
-            </combo_box>
-            <combo_box
-             enabled="false"
+             enabled="true"
              height="23"
              layout="topleft"
              left="20"
              top="194"
              name="land category"
-             visible="false"
+             visible="true"
              width="140">
                 <combo_box.item
                  label="Any Category"
@@ -1989,11 +1923,11 @@ Only large parcels can be listed in search.
             <check_box
              follows="top|left"
              height="16"
-             label="Have been age-verified [ESTATE_AGE_LIMIT]"
+             label="Are age 18 or older [ESTATE_AGE_LIMIT]"
              layout="topleft"
              left_delta="0"
              name="limit_age_verified"
-             tool_tip="Residents must be age verified to access this parcel. See the [SUPPORT_SITE] for more information."
+             tool_tip="Residents must be age 18 or older to access this parcel. See the [SUPPORT_SITE] for more information."
              top_pad="4"
              width="278" />
             <check_box
diff --git a/indra/newview/skins/default/xui/en/floater_autoreplace.xml b/indra/newview/skins/default/xui/en/floater_autoreplace.xml
new file mode 100644
index 00000000000..0bfefc8abe3
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/floater_autoreplace.xml
@@ -0,0 +1,289 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<floater
+ border="true"
+ can_close="true"
+ can_minimize="true"
+ can_resize="false"
+ help_topic="autoreplace_settings"
+ save_rect="true"
+ height="455"
+ width="490"
+ name="autoreplace_floater"
+ title="Auto-Replace Settings">
+  <check_box
+   bottom_delta="30"
+   left_delta="15"
+   height="16"
+   width="100"
+   follows="left|top"
+   label="Enable Auto-Replace"
+   name="autoreplace_enable"
+   tool_tip="As you enter chat text, replace any of the keywords entered with the corresponding replacement"/>
+  <view_border
+   top_pad="15"
+   left="2"
+   height="0"
+   width="491"
+   follows="left|top"
+   bevel_style="none"
+   border_thickness="1"
+   mouse_opaque="false"
+   name="divisor1"/>
+  <button
+   top_pad="10"
+   left="10"
+   height="22"
+   width="110"
+   enabled="true"
+   follows="left|top"
+   mouse_opaque="true"
+   halign="center"
+   scale_image="true"
+   name="autoreplace_import_list"
+   label="Import List..."
+   tool_tip="Load a previously exported list from a file."/>
+  <button
+   top_delta="0"
+   left_pad="10"
+   height="22"
+   width="110"
+   enabled="true"
+   follows="left|top"
+   mouse_opaque="true"
+   halign="center"
+   scale_image="true"
+   name="autoreplace_export_list"
+   label="Export List..."
+   tool_tip="Save the selected list to a file so you can share it."/>
+  <button
+   top_delta="0"
+   left_pad="10"
+   height="22"
+   width="110"
+   enabled="true"
+   follows="left|top"
+   mouse_opaque="true"
+   halign="center"
+   scale_image="true"
+   name="autoreplace_new_list"
+   label="New List..."
+   tool_tip="Create a new list."/>
+  <button
+   top_delta="0"
+   left_pad="10"
+   height="22"
+   width="110"
+   enabled="true"
+   follows="left|top"
+   mouse_opaque="true"
+   halign="center"
+   scale_image="true"
+   name="autoreplace_delete_list"
+   label="Delete List"
+   tool_tip="Delete the selected list."/>
+  <scroll_list
+   top_pad="10"
+   left="10"
+   height="100"
+   width="370"
+   follows="left|top"
+   column_padding="0"
+   draw_heading="false"
+   multi_select="false"
+   name="autoreplace_list_name"
+   search_column="0">
+  </scroll_list>
+  <button
+   top_delta="23"
+   left_pad="10"
+   height="22"
+   width="90"
+   enabled="true"
+   follows="left|top"
+   mouse_opaque="true"
+   halign="center"
+   scale_image="true"
+   name="autoreplace_list_up"
+   image_overlay="Arrow_Up"
+   tool_tip="Move this list up in priority."/>
+  <button
+   top_pad="10"
+   left_delta="0"
+   height="22"
+   width="90"
+   enabled="true"
+   follows="left|top"
+   mouse_opaque="true"
+   halign="center"
+   scale_image="true"
+   name="autoreplace_list_down"
+   image_overlay="Arrow_Down"
+   tool_tip="Move this list down in priority."/>
+  <view_border
+   top_pad="36"
+   left="2"
+   height="0"
+   width="491"
+   follows="left|top"
+   bevel_style="none"
+   border_thickness="1"
+   mouse_opaque="false"
+   name="divisor2"/>
+  <scroll_list
+   top_pad="10"
+   left="10"
+   height="120"
+   width="370"
+   follows="left|top"
+   column_padding="0"
+   draw_heading="true"
+   multi_select="true"
+   name="autoreplace_list_replacements"
+   search_column="0">
+    <scroll_list.columns
+        label="Keyword"
+        name="keyword"
+        relative_width="0.30" />
+    <scroll_list.columns
+        label="Replacement"
+        name="replacement"
+        relative_width="0.70" />
+  </scroll_list>
+  <button
+   top_delta="41"
+   left_pad="10"
+   height="22"
+   width="90"
+   enabled="true"
+   follows="left|top"
+   mouse_opaque="true"
+   halign="center"
+   scale_image="true"
+   name="autoreplace_add_entry"
+   label="Add..."/>
+  <button 
+   top_pad="10"
+   left_delta="0"
+   height="22"
+   width="90"
+   enabled="true"
+   follows="left|top"
+   mouse_opaque="true"
+   halign="center"
+   scale_image="true"
+   name="autoreplace_delete_entry"
+   label="Remove"/>
+  <view_border
+   top_pad="38"
+   left="2"
+   height="0"
+   width="491"
+   follows="left|top"
+   bevel_style="none"
+   border_thickness="1"
+   mouse_opaque="false"
+   name="divisor3"/>
+  <text
+   type="string"
+   follows="left|top"
+   height="16"
+   layout="topleft"
+   left="10"
+   top_pad="13"
+   width="50">
+   Keyword:
+  </text>
+  <line_editor
+   name="autoreplace_keyword"
+   follows="left|top"
+   height="23"
+   layout="topleft"
+   left="100"
+   max_length_bytes="255"
+   top_delta="-5"
+   width="150"
+   />
+  <text
+   type="string"
+   follows="left|top"
+   height="16"
+   layout="topleft"
+   left="10"
+   right="90"
+   top_pad="10"
+   >
+   Replacement:
+  </text>
+  <line_editor
+   name="autoreplace_replacement"
+   follows="left|top"
+   height="23"
+   layout="topleft"
+   left="100"
+   max_length_bytes="255"
+   top_delta="-5"
+   width="280"
+   />
+  <button
+   top_delta="0"
+   right="-10"
+   height="22"
+   width="90"
+   enabled="false"
+   follows="left|top"
+   mouse_opaque="true"
+   halign="center"
+   scale_image="true"
+   name="autoreplace_save_entry"
+   label="Save Entry"
+   tool_tip="Save this entry."/>
+  <view_border
+   top_pad="10"
+   left="2"
+   height="0"
+   width="491"
+   follows="left|top"
+   bevel_style="none"
+   border_thickness="1"
+   mouse_opaque="false"
+   name="divisor4"/>
+  <button
+   top_pad="10"
+   right="380"
+   height="22"
+   width="90"
+   enabled="true"
+   follows="left|top"
+   mouse_opaque="true"
+   halign="center"
+   scale_image="true"
+   name="autoreplace_save_changes"
+   label="Save Changes"
+   tool_tip="Save all changes."/>
+  <button
+   top_delta="0"
+   right="480"
+   height="22"
+   width="90"
+   enabled="true"
+   follows="left|top"
+   mouse_opaque="true"
+   halign="center"
+   scale_image="true"
+   name="autoreplace_cancel"
+   label="Cancel"
+   tool_tip="Discard all changes."/>
+</floater>
+<!--
+  <text 
+   top_pad="10"
+   left="10"
+   height="16"
+   width="260"
+   follows="left|top"
+   halign="center"
+   mouse_opaque="true"
+   name="autoreplace_text2">
+    Entries
+  </text>
+-->
diff --git a/indra/newview/skins/default/xui/en/floater_chat_bar.xml b/indra/newview/skins/default/xui/en/floater_chat_bar.xml
index 688a01ce7bc..405557242fa 100644
--- a/indra/newview/skins/default/xui/en/floater_chat_bar.xml
+++ b/indra/newview/skins/default/xui/en/floater_chat_bar.xml
@@ -46,6 +46,7 @@
         left="0"
         max_length_bytes="1023"
         name="chat_box"
+        spellcheck="true"
         text_pad_left="5"
         text_pad_right="25"
         tool_tip="Press Enter to say, Ctrl+Enter to shout"
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 ca73883e534..040b66623e7 100644
--- a/indra/newview/skins/default/xui/en/floater_im_session.xml
+++ b/indra/newview/skins/default/xui/en/floater_im_session.xml
@@ -46,7 +46,7 @@
        tab_group="2"
        top="0"
        height="200"
-	     width="254"
+	     width="244"
        user_resize="true">
         <button
           height="20"
@@ -73,18 +73,20 @@
          parse_highlights="true"
          parse_urls="true"
         left="1"
-         width="249">
+         width="238">
         </chat_history>
         <line_editor
          bottom="0"
+         left="3"
          follows="left|right|bottom"
 	 font="SansSerifSmall"
          height="20"
          label="To"
          layout="bottomleft"
          name="chat_editor"
+         spellcheck="true"
          tab_group="3"
-         width="249">
+         width="236">
         </line_editor>
     </layout_panel>
   </layout_stack>
diff --git a/indra/newview/skins/default/xui/en/floater_model_preview.xml b/indra/newview/skins/default/xui/en/floater_model_preview.xml
index 0e211551e67..5e92a122517 100644
--- a/indra/newview/skins/default/xui/en/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/en/floater_model_preview.xml
@@ -1,8 +1,16 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<floater can_close="true" can_drag_on_left="false" can_minimize="false"
-     can_resize="false" height="480" min_height="480" min_width="940"
-     name="Model Preview" title="UPLOAD MODEL" width="940"
-      help_topic="upload_model" >
+<floater
+ can_close="true"
+ can_drag_on_left="false"
+ can_minimize="false"
+ can_resize="false"
+ height="480"
+ min_height="480"
+ width="980"
+ min_width="980"
+ name="Model Preview"
+ title="UPLOAD MODEL"
+ help_topic="upload_model" >
 
   <string name="status_idle"></string>
   <string name="status_parse_error">Error: Dae parsing issue - see log for details.</string>
@@ -98,7 +106,7 @@
       top_pad="15"
       left="0"
       height="300"
-      width="625"
+      width="635"
       name="import_tab"
       tab_position="top">
       <!-- LOD PANEL -->
@@ -116,13 +124,13 @@
              left="3"
              name="lod_tab_border"
              top_pad="0"
-             width="619" />
+             width="629" />
           <text
            follows="left|top"
            height="18"
            initial_value="Source"
            layout="topleft"
-           left="75"
+           left="85"
            name="source"
            text_color="ModelUploaderLabels"
            top="15"
@@ -165,7 +173,7 @@
              top_pad="10"
              valign="top"
              value="High"
-             width="65" />
+             width="75" />
             <combo_box
              follows="top|left"
              height="20"
@@ -175,10 +183,10 @@
              top_delta="-3"
              width="135">
                 <item
-                 id="Load from file"
+                 name="Load from file"
                  value="Load from file" />
                 <item
-                 id="Generate"
+                 name="Generate"
                  value="Generate" />
             </combo_box>
             <line_editor
@@ -210,10 +218,10 @@
              visible="false"
              width="135">
                 <item
-                 id="Triangle Limit"
+                 name="Triangle Limit"
                  value="Triangle Limit" />
                 <item
-                 id="Error Threshold"
+                 name="Error Threshold"
                  value="Error Threshold" />
             </combo_box>
             <spinner
@@ -290,7 +298,7 @@
              top_pad="15"
              valign="top"
              value="Medium"
-             width="65" />
+             width="75" />
             <combo_box
              follows="top|left"
              height="20"
@@ -300,13 +308,13 @@
              top_delta="-3"
              width="135">
                 <item
-                 id="Load from file"
+                 name="Load from file"
                  value="Load from file" />
                 <item
-                 id="Generate"
+                 name="Generate"
                  value="Generate" />
                 <item
-                 id="Use LoD above"
+                 name="Use LoD above"
                  value="Use LoD above" />
             </combo_box>
             <line_editor
@@ -339,10 +347,10 @@
              top_delta="0"
              width="135">
                 <item
-                 id="Triangle Limit"
+                 name="Triangle Limit"
                  value="Triangle Limit" />
                 <item
-                 id="Error Threshold"
+                 name="Error Threshold"
                  value="Error Threshold" />
             </combo_box>
             <spinner
@@ -418,7 +426,7 @@
              top_pad="15"
              valign="top"
              value="Low"
-             width="65" />
+             width="75" />
             <combo_box
              follows="top|left"
              height="20"
@@ -428,13 +436,13 @@
              top_delta="-3"
              width="135">
                 <item
-                 id="Load from file"
+                 name="Load from file"
                  value="Load from file" />
                 <item
-                 id="Generate"
+                 name="Generate"
                  value="Generate" />
                 <item
-                 id="Use LoD above"
+                 name="Use LoD above"
                  value="Use LoD above" />
             </combo_box>
             <line_editor
@@ -467,10 +475,10 @@
              top_delta="0"
              width="135">
                 <item
-                 id="Triangle Limit"
+                 name="Triangle Limit"
                  value="Triangle Limit" />
                 <item
-                 id="Error Threshold"
+                 name="Error Threshold"
                  value="Error Threshold" />
             </combo_box>
             <spinner
@@ -546,7 +554,7 @@
              top_pad="15"
              valign="top"
              value="Lowest"
-             width="65" />
+             width="75" />
             <combo_box
              follows="top|left"
              height="20"
@@ -556,13 +564,13 @@
              top_delta="-3"
              width="135">
                 <item
-                 id="Load from file"
+                 name="Load from file"
                  value="Load from file" />
                 <item
-                 id="Generate"
+                 name="Generate"
                  value="Generate" />
                 <item
-                 id="Use LoD above"
+                 name="Use LoD above"
                  value="Use LoD above" />
             </combo_box>
             <line_editor
@@ -595,10 +603,10 @@
              top_delta="0"
              width="135">
                 <item
-                 id="Triangle Limit"
+                 name="Triangle Limit"
                  value="Triangle Limit" />
                 <item
-                 id="Error Threshold"
+                 name="Error Threshold"
                  value="Error Threshold" />
             </combo_box>
             <spinner
@@ -1201,7 +1209,7 @@
          name="calculate_btn"
          top="3"
          height="20"
-         width="150"
+         width="165"
          tool_tip="Calculate weights &amp;fee"/>
        <button
          follows="top|left"
@@ -1234,7 +1242,7 @@
          right="-2"
          top="3"
          height="20"
-         width="155"/>
+         width="275"/>
        <!-- ========== WEIGHTS ==========-->
        <text
          follows="top|left"
@@ -1343,7 +1351,7 @@
   layout="topleft"
   name="right_panel"
   top_pad="5"
-  width="290">
+  width="340">
     <combo_box
       top_pad="3"
       follows="left|top"
diff --git a/indra/newview/skins/default/xui/en/floater_my_inventory.xml b/indra/newview/skins/default/xui/en/floater_my_inventory.xml
index 184f2962559..ea44fd493ec 100644
--- a/indra/newview/skins/default/xui/en/floater_my_inventory.xml
+++ b/indra/newview/skins/default/xui/en/floater_my_inventory.xml
@@ -6,7 +6,7 @@
  height="570"
  help_topic="sidebar_inventory"
  min_width="333"
- min_height="440"
+ min_height="560"
  name="floater_my_inventory"
  save_rect="true"
  save_visibility="true"
diff --git a/indra/newview/skins/default/xui/en/floater_preview_notecard.xml b/indra/newview/skins/default/xui/en/floater_preview_notecard.xml
index be3b2d179d5..2e1c8ce6707 100644
--- a/indra/newview/skins/default/xui/en/floater_preview_notecard.xml
+++ b/indra/newview/skins/default/xui/en/floater_preview_notecard.xml
@@ -70,6 +70,7 @@
      max_length="65536"
      name="Notecard Editor"
      parse_urls="false" 
+     spellcheck="true"
      tab_group="1"
      top="46"
      width="392"
diff --git a/indra/newview/skins/default/xui/en/floater_spellcheck.xml b/indra/newview/skins/default/xui/en/floater_spellcheck.xml
new file mode 100644
index 00000000000..76a350dd294
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/floater_spellcheck.xml
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<floater
+ border="true"
+ can_close="true"
+ can_minimize="true"
+ save_rect="true"
+ help_topic="spelling_settings"
+ can_resize="false"
+ height="315"
+ width="490"
+ name="spellcheck_floater"
+ title="Spell Checker Settings">
+  <check_box
+   bottom_delta="30"
+   control_name="SpellCheck"
+   left_delta="15"
+   height="16"
+   width="100"
+   follows="left|top"
+   label="Enable spell checker"
+   name="spellcheck_enable" />
+  <view_border
+   top_pad="10"
+   left="2"
+   height="0"
+   width="491"
+   follows="left|top"
+   bevel_style="none"
+   border_thickness="1"
+   mouse_opaque="false"
+   name="divisor1"/>
+  <text
+   enabled_control="SpellCheck"
+   follows="top|left"
+   height="10"
+   layout="topleft"
+   left="38"
+   mouse_opaque="false"
+   name="spellcheck_main"
+   top_pad="15"
+   type="string"
+   width="90"
+  >
+    Main dictionary :
+  </text>
+  <combo_box
+   enabled_control="SpellCheck"
+   follows="top|left"
+   height="23"
+   layout="topleft"
+   left_pad="10"
+   name="spellcheck_main_combo"
+   top_pad="-15"
+   width="175"
+  />
+  <text
+   enabled_control="SpellCheck"
+   follows="top|left"
+   height="10"
+   label="Logs:"
+   layout="topleft"
+   left="38"
+   mouse_opaque="false"
+   name="spellcheck_additional"
+   top_pad="15"
+   type="string"
+   width="190"
+  >
+    Additional dictionaries :
+  </text>
+  <text
+   follows="top|left"
+   height="12"
+   layout="topleft"
+   left="55"
+   length="1"
+   name="spellcheck_available"
+   top_pad="10"
+   type="string"
+   width="175">
+      Available
+  </text>
+  <text
+   follows="top|left"
+   height="12"
+   type="string"
+   left_pad="45"
+   length="1"
+   layout="topleft"
+   name="spellcheck_active"
+   width="175">
+      Active
+  </text>
+  <scroll_list
+   enabled_control="SpellCheck"
+   follows="top|left"
+   height="155"
+   layout="topleft"
+   left="55"
+   multi_select="true"
+   name="spellcheck_available_list"
+   sort_column="0"
+   sort_ascending="true" 
+   width="175" />
+  <button
+   enabled_control="SpellCheck"
+   follows="top|left"
+   height="26"
+   image_overlay="Arrow_Right"
+   hover_glow_amount="0.15"
+   layout="topleft"
+   left_pad="10"
+   name="spellcheck_moveright_btn"
+   top_delta="50"
+   width="25">
+  </button>
+  <button
+   enabled_control="SpellCheck"
+   follows="top|left"
+   height="26"
+   image_overlay="Arrow_Left"
+   hover_glow_amount="0.15"
+   layout="topleft"
+   name="spellcheck_moveleft_btn"
+   top_delta="30"
+   width="25">
+  </button>
+  <scroll_list
+   enabled_control="SpellCheck"
+   follows="top|left"
+   height="155"
+   layout="topleft"
+   left_pad="10"
+   multi_select="true"
+   name="spellcheck_active_list"
+   sort_column="0"
+   sort_ascending="true" 
+   top_pad="-105"
+   width="175"
+  />
+  <button
+   enabled="false"
+   follows="left|top"
+   height="23"
+   label="Remove"
+   layout="topleft"
+   left="55"
+   name="spellcheck_remove_btn"
+   top_pad="5"
+   width="80" />
+  <button
+   follows="left|top"
+   height="23"
+   label="Import..."
+   layout="topleft"
+   left_pad="15"
+   name="spellcheck_import_btn"
+   top_delta="0"
+   width="80" />
+</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_spellcheck_import.xml b/indra/newview/skins/default/xui/en/floater_spellcheck_import.xml
new file mode 100644
index 00000000000..b54090015d6
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/floater_spellcheck_import.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<floater
+ border="true"
+ can_close="true"
+ can_minimize="true"
+ bottom="275"
+ left="300"
+ can_resize="false"
+ height="140"
+ width="400"
+ name="spellcheck_import"
+ title="Import Dictionary">
+  <text
+   follows="top|left"
+   height="16"
+   layout="topleft"
+   left="25"
+   top="15"
+   type="string"
+   width="65">
+   Dictionary:
+  </text>
+  <line_editor
+   enabled="false"
+   follows="left|top"
+   height="23"
+   layout="topleft"
+   left_pad="10"
+   max_length_bytes="255"
+   name="dictionary_path"
+   top_delta="-5"
+   width="200" />
+  <button
+   follows="left|top"
+   height="23"
+   label="Browse"
+   label_selected="Browse"
+   layout="topleft"
+   left_pad="5"
+   name="dictionary_path_browse"
+   top_delta="0"
+   width="75" />
+  <text
+   follows="top|left"
+   height="16"
+   layout="topleft"
+   left="25"
+   top_pad="8"
+   type="string"
+   width="65">
+   Name:
+  </text>
+  <line_editor
+   enabled="false"
+   follows="left|top"
+   height="23"
+   layout="topleft"
+   left_pad="10"
+   max_length_bytes="255"
+   name="dictionary_name"
+   top_delta="-5"
+   width="200" />
+  <text
+   follows="top|left"
+   height="16"
+   layout="topleft"
+   left="25"
+   top_pad="8"
+   type="string"
+   width="65">
+   Language:
+  </text>
+  <line_editor
+   follows="left|top"
+   height="23"
+   layout="topleft"
+   left_pad="10"
+   max_length_bytes="255"
+   name="dictionary_language"
+   top_delta="-5"
+   width="200" />
+  <view_border
+   top_pad="10"
+   left="2"
+   height="0"
+   width="396"
+   follows="left|top"
+   bevel_style="none"
+   border_thickness="1"
+   mouse_opaque="false"
+   name="divisor"/>
+  <button
+   top_pad="10"
+   right="280"
+   height="22"
+   width="90"
+   enabled="true"
+   follows="left|top"
+   mouse_opaque="true"
+   halign="center"
+   scale_image="true"
+   name="ok_btn"
+   label="Import" />
+  <button
+   top_delta="0"
+   right="380"
+   height="22"
+   width="90"
+   enabled="true"
+   follows="left|top"
+   mouse_opaque="true"
+   halign="center"
+   scale_image="true"
+   name="cancel_btn"
+   label="Cancel" />
+</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_texture_ctrl.xml b/indra/newview/skins/default/xui/en/floater_texture_ctrl.xml
index ffb8b842f0c..6021ba0a5ab 100644
--- a/indra/newview/skins/default/xui/en/floater_texture_ctrl.xml
+++ b/indra/newview/skins/default/xui/en/floater_texture_ctrl.xml
@@ -134,6 +134,16 @@
      top_delta="-25"
      name="Pipette"
      width="28" />
+   <text
+     follows="left|bottom"
+     height="20"
+     layout="topleft"
+     left="8"
+     name="preview_disabled"
+     top="266"
+     value="Preview Disabled"
+     visible="false"
+     width="120" />
     <filter_editor
      follows="left|top|right"
      height="23"
diff --git a/indra/newview/skins/default/xui/en/floater_texture_fetch_debugger.xml b/indra/newview/skins/default/xui/en/floater_texture_fetch_debugger.xml
index 44b6a63bcae..f3f8d4ddca4 100644
--- a/indra/newview/skins/default/xui/en/floater_texture_fetch_debugger.xml
+++ b/indra/newview/skins/default/xui/en/floater_texture_fetch_debugger.xml
@@ -1,341 +1,341 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<floater
- legacy_header_height="18"
- can_minimize="false"
- height="550"
- layout="topleft"
- name="TexFetchDebugger"
- help_topic="texfetchdebugger"
- title="Texture Fetching Debugger"
- width="540">
-  <text
-   type="string"
-   length="1"
-   follows="left|top"
-   height="25"
-   layout="topleft"
-   left="10"
-   name="total_num_fetched_label"
-   top="30"
-   width="400">
-    1, Total number of fetched textures: [NUM]
-  </text>
-  <text
-   type="string"
-   length="1"
-   follows="left|top"
-   height="25"
-   layout="topleft"
-   left_delta="0"
-   name="total_num_fetching_requests_label"
-   top_delta="25"
-   width="400">
-    2, Total number of fetching requests: [NUM]
-  </text>
-  <text
-   type="string"
-   length="1"
-   follows="left|top"
-   height="25"
-   layout="topleft"
-   left_delta="0"
-   name="total_num_cache_hits_label"
-   top_delta="25"
-   width="400">
-    3, Total number of cache hits: [NUM]
-  </text>
-  <text
-   type="string"
-   length="1"
-   follows="left|top"
-   height="25"
-   layout="topleft"
-   left_delta="0"
-   name="total_num_visible_tex_label"
-   top_delta="25"
-   width="400">
-    4, Total number of visible textures: [NUM]
-  </text>
-  <text
-   type="string"
-   length="1"
-   follows="left|top"
-   height="25"
-   layout="topleft"
-   left_delta="0"
-   name="total_num_visible_tex_fetch_req_label"
-   top_delta="25"
-   width="450">
-    5, Total number of visible texture fetching requests: [NUM]
-  </text>
-  <text
-   type="string"
-   length="1"
-   follows="left|top"
-   height="25"
-   layout="topleft"
-   left_delta="0"
-   name="total_fetched_data_label"
-   top_delta="25"
-   width="530">
-    6, Total number of fetched data: [SIZE1]KB, Decoded Data: [SIZE2]KB, [PIXEL]MPixels
-  </text>
-  <text
-   type="string"
-   length="1"
-   follows="left|top"
-   height="25"
-   layout="topleft"
-   left_delta="0"
-   name="total_fetched_vis_data_label"
-   top_delta="25"
-   width="480">
-    7, Total number of visible data: [SIZE1]KB, Decoded Data: [SIZE2]KB
-  </text>
-  <text
-   type="string"
-   length="1"
-   follows="left|top"
-   height="25"
-   layout="topleft"
-   left_delta="0"
-   name="total_fetched_rendered_data_label"
-   top_delta="25"
-   width="530">
-    8, Total number of rendered data: [SIZE1]KB, Decoded Data: [SIZE2]KB, [PIXEL]MPixels
-  </text>
-  <text
-   type="string"
-   length="1"
-   follows="left|top"
-   height="25"
-   layout="topleft"
-   left_delta="0"
-   name="total_time_cache_read_label"
-   top_delta="25"
-   width="400">
-    9, Total time on cache readings: [TIME] seconds
-  </text>
-  <text
-   type="string"
-   length="1"
-   follows="left|top"
-   height="25"
-   layout="topleft"
-   left_delta="0"
-   name="total_time_cache_write_label"
-   top_delta="25"
-   width="400">
-    10, Total time on cache writings: [TIME] seconds
-  </text>
-  <text
-   type="string"
-   length="1"
-   follows="left|top"
-   height="25"
-   layout="topleft"
-   left_delta="0"
-   name="total_time_decode_label"
-   top_delta="25"
-   width="400">
-    11, Total time on decodings: [TIME] seconds
-  </text>
-  <text
-   type="string"
-   length="1"
-   follows="left|top"
-   height="25"
-   layout="topleft"
-   left_delta="0"
-   name="total_time_gl_label"
-   top_delta="25"
-   width="400">
-    12, Total time on gl texture creation: [TIME] seconds
-  </text>
-  <text
-   type="string"
-   length="1"
-   follows="left|top"
-   height="25"
-   layout="topleft"
-   left_delta="0"
-   name="total_time_http_label"
-   top_delta="25"
-   width="400">
-    13, Total time on HTTP fetching: [TIME] seconds
-  </text>
-  <text
-   type="string"
-   length="1"
-   follows="left|top"
-   height="25"
-   layout="topleft"
-   left_delta="0"
-   name="total_time_fetch_label"
-   top_delta="25"
-   width="400">
-    14, Total time on entire fetching: [TIME] seconds
-  </text>
-  <text
-  type="string"
-  length="1"
-  follows="left|top"
-  height="25"
-  layout="topleft"
-  left_delta="0"
-  name="total_time_refetch_vis_cache_label"
-  top_delta="25"
-  width="540">
-    15, Refetching visibles from cache, Time: [TIME] seconds, Fetched: [SIZE]KB, [PIXEL]MPixels
-  </text>
-  <text
-  type="string"
-  length="1"
-  follows="left|top"
-  height="25"
-  layout="topleft"
-  left_delta="0"
-  name="total_time_refetch_vis_http_label"
-  top_delta="25"
-  width="540">
-    16, Refetching visibles from HTTP, Time: [TIME] seconds, Fetched: [SIZE]KB, [PIXEL]MPixels
-  </text>
-  <spinner
-     decimal_digits="2"
-     follows="left|top"
-     height="20"
-     increment="0.01"
-     initial_value="1.0"
-     label="17, Ratio of Texel/Pixel:"
-     label_width="130"
-     layout="topleft"
-     left_delta="0"
-     max_val="10.0"
-     min_val="0.01"
-     name="texel_pixel_ratio"
-     top_delta="30"
-     width="200">
-    <spinner.commit_callback
-		function="TexFetchDebugger.ChangeTexelPixelRatio" />
-  </spinner>
-  <button
-   follows="left|top"
-   height="20"
-   label="Start"
-   layout="topleft"
-   left_delta="0"
-   name="start_btn"
-   top_delta="30"
-   width="70">
-    <button.commit_callback
-		function="TexFetchDebugger.Start" />
-  </button>
-  <button
-   follows="left|top"
-   height="20"
-   label="Reset"
-   layout="topleft"
-   left_pad="7"
-   name="clear_btn"
-   top_delta="0"
-   width="70">
-    <button.commit_callback
-		function="TexFetchDebugger.Clear" />
-  </button>
-  <button
-   follows="left|top"
-   height="20"
-   label="Close"
-   layout="topleft"
-   left_pad="7"
-   name="close_btn"
-   top_delta="0"
-   width="70">
-    <button.commit_callback
-		function="TexFetchDebugger.Close" />
-  </button>
-  <button
-   follows="left|top"
-   height="20"
-   label="Cache Read"
-   layout="topleft"
-   left="10"
-   name="cacheread_btn"
-   top_delta="30"
-   width="80">
-    <button.commit_callback
-		function="TexFetchDebugger.CacheRead" />
-  </button>
-  <button
-   follows="left|top"
-   height="20"
-   label="Cache Write"
-   layout="topleft"
-   left_pad="7"
-   name="cachewrite_btn"
-   top_delta="0"
-   width="80">
-    <button.commit_callback
-		function="TexFetchDebugger.CacheWrite" />
-  </button>
-  <button
-   follows="left|top"
-   height="20"
-   label="HTTP"
-   layout="topleft"
-   left_pad="7"
-   name="http_btn"
-   top_delta="0"
-   width="70">
-    <button.commit_callback
-		function="TexFetchDebugger.HTTPLoad" />
-  </button>
-  <button
-   follows="left|top"
-   height="20"
-   label="Decode"
-   layout="topleft"
-   left_pad="7"
-   name="decode_btn"
-   top_delta="0"
-   width="70">
-    <button.commit_callback
-		function="TexFetchDebugger.Decode" />
-  </button>
-  <button
-   follows="left|top"
-   height="20"
-   label="GL Texture"
-   layout="topleft"
-   left_pad="7"
-   name="gl_btn"
-   top_delta="0"
-   width="70">
-    <button.commit_callback
-		function="TexFetchDebugger.GLTexture" />
-  </button>
-  <button
-   follows="left|top"
-   height="20"
-   label="Refetch Vis Cache"
-   layout="topleft"
-   left="10"
-   name="refetchviscache_btn"
-   top_delta="30"
-   width="120">
-    <button.commit_callback
-		function="TexFetchDebugger.RefetchVisCache" />
-  </button>
-  <button
-   follows="left|top"
-   height="20"
-   label="Refetch Vis HTTP"
-   layout="topleft"
-   left_pad="7"
-   name="refetchvishttp_btn"
-   top_delta="0"
-   width="120">
-    <button.commit_callback
-		function="TexFetchDebugger.RefetchVisHTTP" />
-  </button>
-</floater>
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<floater
+ legacy_header_height="18"
+ can_minimize="false"
+ height="550"
+ layout="topleft"
+ name="TexFetchDebugger"
+ help_topic="texfetchdebugger"
+ title="Texture Fetching Debugger"
+ width="540">
+  <text
+   type="string"
+   length="1"
+   follows="left|top"
+   height="25"
+   layout="topleft"
+   left="10"
+   name="total_num_fetched_label"
+   top="30"
+   width="400">
+    1, Total number of fetched textures: [NUM]
+  </text>
+  <text
+   type="string"
+   length="1"
+   follows="left|top"
+   height="25"
+   layout="topleft"
+   left_delta="0"
+   name="total_num_fetching_requests_label"
+   top_delta="25"
+   width="400">
+    2, Total number of fetching requests: [NUM]
+  </text>
+  <text
+   type="string"
+   length="1"
+   follows="left|top"
+   height="25"
+   layout="topleft"
+   left_delta="0"
+   name="total_num_cache_hits_label"
+   top_delta="25"
+   width="400">
+    3, Total number of cache hits: [NUM]
+  </text>
+  <text
+   type="string"
+   length="1"
+   follows="left|top"
+   height="25"
+   layout="topleft"
+   left_delta="0"
+   name="total_num_visible_tex_label"
+   top_delta="25"
+   width="400">
+    4, Total number of visible textures: [NUM]
+  </text>
+  <text
+   type="string"
+   length="1"
+   follows="left|top"
+   height="25"
+   layout="topleft"
+   left_delta="0"
+   name="total_num_visible_tex_fetch_req_label"
+   top_delta="25"
+   width="450">
+    5, Total number of visible texture fetching requests: [NUM]
+  </text>
+  <text
+   type="string"
+   length="1"
+   follows="left|top"
+   height="25"
+   layout="topleft"
+   left_delta="0"
+   name="total_fetched_data_label"
+   top_delta="25"
+   width="530">
+    6, Total number of fetched data: [SIZE1]KB, Decoded Data: [SIZE2]KB, [PIXEL]MPixels
+  </text>
+  <text
+   type="string"
+   length="1"
+   follows="left|top"
+   height="25"
+   layout="topleft"
+   left_delta="0"
+   name="total_fetched_vis_data_label"
+   top_delta="25"
+   width="480">
+    7, Total number of visible data: [SIZE1]KB, Decoded Data: [SIZE2]KB
+  </text>
+  <text
+   type="string"
+   length="1"
+   follows="left|top"
+   height="25"
+   layout="topleft"
+   left_delta="0"
+   name="total_fetched_rendered_data_label"
+   top_delta="25"
+   width="530">
+    8, Total number of rendered data: [SIZE1]KB, Decoded Data: [SIZE2]KB, [PIXEL]MPixels
+  </text>
+  <text
+   type="string"
+   length="1"
+   follows="left|top"
+   height="25"
+   layout="topleft"
+   left_delta="0"
+   name="total_time_cache_read_label"
+   top_delta="25"
+   width="400">
+    9, Total time on cache readings: [TIME] seconds
+  </text>
+  <text
+   type="string"
+   length="1"
+   follows="left|top"
+   height="25"
+   layout="topleft"
+   left_delta="0"
+   name="total_time_cache_write_label"
+   top_delta="25"
+   width="400">
+    10, Total time on cache writings: [TIME] seconds
+  </text>
+  <text
+   type="string"
+   length="1"
+   follows="left|top"
+   height="25"
+   layout="topleft"
+   left_delta="0"
+   name="total_time_decode_label"
+   top_delta="25"
+   width="400">
+    11, Total time on decodings: [TIME] seconds
+  </text>
+  <text
+   type="string"
+   length="1"
+   follows="left|top"
+   height="25"
+   layout="topleft"
+   left_delta="0"
+   name="total_time_gl_label"
+   top_delta="25"
+   width="400">
+    12, Total time on gl texture creation: [TIME] seconds
+  </text>
+  <text
+   type="string"
+   length="1"
+   follows="left|top"
+   height="25"
+   layout="topleft"
+   left_delta="0"
+   name="total_time_http_label"
+   top_delta="25"
+   width="400">
+    13, Total time on HTTP fetching: [TIME] seconds
+  </text>
+  <text
+   type="string"
+   length="1"
+   follows="left|top"
+   height="25"
+   layout="topleft"
+   left_delta="0"
+   name="total_time_fetch_label"
+   top_delta="25"
+   width="400">
+    14, Total time on entire fetching: [TIME] seconds
+  </text>
+  <text
+  type="string"
+  length="1"
+  follows="left|top"
+  height="25"
+  layout="topleft"
+  left_delta="0"
+  name="total_time_refetch_vis_cache_label"
+  top_delta="25"
+  width="540">
+    15, Refetching visibles from cache, Time: [TIME] seconds, Fetched: [SIZE]KB, [PIXEL]MPixels
+  </text>
+  <text
+  type="string"
+  length="1"
+  follows="left|top"
+  height="25"
+  layout="topleft"
+  left_delta="0"
+  name="total_time_refetch_vis_http_label"
+  top_delta="25"
+  width="540">
+    16, Refetching visibles from HTTP, Time: [TIME] seconds, Fetched: [SIZE]KB, [PIXEL]MPixels
+  </text>
+  <spinner
+     decimal_digits="2"
+     follows="left|top"
+     height="20"
+     increment="0.01"
+     initial_value="1.0"
+     label="17, Ratio of Texel/Pixel:"
+     label_width="130"
+     layout="topleft"
+     left_delta="0"
+     max_val="10.0"
+     min_val="0.01"
+     name="texel_pixel_ratio"
+     top_delta="30"
+     width="200">
+    <spinner.commit_callback
+		function="TexFetchDebugger.ChangeTexelPixelRatio" />
+  </spinner>
+  <button
+   follows="left|top"
+   height="20"
+   label="Start"
+   layout="topleft"
+   left_delta="0"
+   name="start_btn"
+   top_delta="30"
+   width="70">
+    <button.commit_callback
+		function="TexFetchDebugger.Start" />
+  </button>
+  <button
+   follows="left|top"
+   height="20"
+   label="Reset"
+   layout="topleft"
+   left_pad="7"
+   name="clear_btn"
+   top_delta="0"
+   width="70">
+    <button.commit_callback
+		function="TexFetchDebugger.Clear" />
+  </button>
+  <button
+   follows="left|top"
+   height="20"
+   label="Close"
+   layout="topleft"
+   left_pad="7"
+   name="close_btn"
+   top_delta="0"
+   width="70">
+    <button.commit_callback
+		function="TexFetchDebugger.Close" />
+  </button>
+  <button
+   follows="left|top"
+   height="20"
+   label="Cache Read"
+   layout="topleft"
+   left="10"
+   name="cacheread_btn"
+   top_delta="30"
+   width="80">
+    <button.commit_callback
+		function="TexFetchDebugger.CacheRead" />
+  </button>
+  <button
+   follows="left|top"
+   height="20"
+   label="Cache Write"
+   layout="topleft"
+   left_pad="7"
+   name="cachewrite_btn"
+   top_delta="0"
+   width="80">
+    <button.commit_callback
+		function="TexFetchDebugger.CacheWrite" />
+  </button>
+  <button
+   follows="left|top"
+   height="20"
+   label="HTTP"
+   layout="topleft"
+   left_pad="7"
+   name="http_btn"
+   top_delta="0"
+   width="70">
+    <button.commit_callback
+		function="TexFetchDebugger.HTTPLoad" />
+  </button>
+  <button
+   follows="left|top"
+   height="20"
+   label="Decode"
+   layout="topleft"
+   left_pad="7"
+   name="decode_btn"
+   top_delta="0"
+   width="70">
+    <button.commit_callback
+		function="TexFetchDebugger.Decode" />
+  </button>
+  <button
+   follows="left|top"
+   height="20"
+   label="GL Texture"
+   layout="topleft"
+   left_pad="7"
+   name="gl_btn"
+   top_delta="0"
+   width="70">
+    <button.commit_callback
+		function="TexFetchDebugger.GLTexture" />
+  </button>
+  <button
+   follows="left|top"
+   height="20"
+   label="Refetch Vis Cache"
+   layout="topleft"
+   left="10"
+   name="refetchviscache_btn"
+   top_delta="30"
+   width="120">
+    <button.commit_callback
+		function="TexFetchDebugger.RefetchVisCache" />
+  </button>
+  <button
+   follows="left|top"
+   height="20"
+   label="Refetch Vis HTTP"
+   layout="topleft"
+   left_pad="7"
+   name="refetchvishttp_btn"
+   top_delta="0"
+   width="120">
+    <button.commit_callback
+		function="TexFetchDebugger.RefetchVisHTTP" />
+  </button>
+</floater>
diff --git a/indra/newview/skins/default/xui/en/menu_text_editor.xml b/indra/newview/skins/default/xui/en/menu_text_editor.xml
index fe8489166b9..70b40dd89b4 100644
--- a/indra/newview/skins/default/xui/en/menu_text_editor.xml
+++ b/indra/newview/skins/default/xui/en/menu_text_editor.xml
@@ -1,6 +1,85 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <context_menu
  name="Text editor context menu">
+  <menu_item_call
+   label="(unknown)"
+   layout="topleft"
+   name="Suggestion 1">
+    <menu_item_call.on_click
+     function="SpellCheck.ReplaceWithSuggestion"
+     parameter="0" />
+    <menu_item_call.on_visible
+     function="SpellCheck.VisibleSuggestion"
+     parameter="0" />
+  </menu_item_call>
+  <menu_item_call
+   label="(unknown)"
+   layout="topleft"
+   name="Suggestion 2">
+    <menu_item_call.on_click
+     function="SpellCheck.ReplaceWithSuggestion"
+     parameter="1" />
+    <menu_item_call.on_visible
+     function="SpellCheck.VisibleSuggestion"
+     parameter="1" />
+  </menu_item_call>
+  <menu_item_call
+   label="(unknown)"
+   layout="topleft"
+   name="Suggestion 3">
+    <menu_item_call.on_click
+     function="SpellCheck.ReplaceWithSuggestion"
+     parameter="2" />
+    <menu_item_call.on_visible
+     function="SpellCheck.VisibleSuggestion"
+     parameter="2" />
+  </menu_item_call>
+  <menu_item_call
+   label="(unknown)"
+   layout="topleft"
+   name="Suggestion 4">
+    <menu_item_call.on_click
+     function="SpellCheck.ReplaceWithSuggestion"
+     parameter="3" />
+    <menu_item_call.on_visible
+     function="SpellCheck.VisibleSuggestion"
+     parameter="3" />
+  </menu_item_call>
+  <menu_item_call
+   label="(unknown)"
+   layout="topleft"
+   name="Suggestion 5">
+    <menu_item_call.on_click
+     function="SpellCheck.ReplaceWithSuggestion"
+     parameter="4" />
+    <menu_item_call.on_visible
+     function="SpellCheck.VisibleSuggestion"
+     parameter="4" />
+  </menu_item_call>
+  <menu_item_separator
+   layout="topleft"
+   name="Suggestion Separator" />
+  <menu_item_call
+   label="Add to Dictionary"
+   layout="topleft"
+   name="Add to Dictionary">
+    <menu_item_call.on_click
+     function="SpellCheck.AddToDictionary" />
+    <menu_item_call.on_enable
+     function="SpellCheck.EnableAddToDictionary" />
+  </menu_item_call>
+  <menu_item_call
+   label="Add to Ignore"
+   layout="topleft"
+   name="Add to Ignore">
+    <menu_item_call.on_click
+     function="SpellCheck.AddToIgnore" />
+    <menu_item_call.on_enable
+     function="SpellCheck.EnableAddToIgnore" />
+  </menu_item_call>
+  <menu_item_separator
+   layout="topleft"
+   name="Spellcheck Separator" />
   <menu_item_call
    label="Cut"
    layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index a6898c554fc..6bcdc615c3b 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -193,6 +193,15 @@
            <menu_item_call.on_click
             function="View.ToggleUI" />
          </menu_item_call>
+         <menu_item_check
+         label="Show HUD Attachments"
+         name="Show HUD Attachments"
+         shortcut="alt|shift|H">
+           <menu_item_check.on_check
+            function="View.CheckHUDAttachments" />
+            <menu_item_check.on_click
+             function="View.ShowHUDAttachments" />
+         </menu_item_check>
 
         <menu_item_separator/>
 
@@ -291,6 +300,12 @@
               function="SideTray.PanelPeopleTab"
               parameter="nearby_panel" />
         </menu_item_call>
+        <menu_item_call
+         label="Block List"
+         name="Block List">
+            <menu_item_call.on_click
+              function="Communicate.BlockList" />
+        </menu_item_call>
     </menu>
     <menu
      create_jump_keys="true"
@@ -1373,15 +1388,6 @@
                 <menu_item_check.on_click
                  function="View.HighlightTransparent" />
             </menu_item_check>
-            <menu_item_check
-             label="Show HUD Attachments"
-             name="Show HUD Attachments"
-             shortcut="alt|shift|H">
-                <menu_item_check.on_check
-                 function="View.CheckHUDAttachments" />
-                <menu_item_check.on_click
-                 function="View.ShowHUDAttachments" />
-            </menu_item_check>
             <menu_item_check
              label="Show Mouselook Crosshairs"
              name="ShowCrosshairs">
@@ -3125,12 +3131,6 @@
                     <menu_item_call.on_click
                      function="Advanced.TestFemale" />
                 </menu_item_call>
-                <menu_item_call
-                 label="Toggle PG"
-                 name="Toggle PG">
-                    <menu_item_call.on_click
-                     function="Advanced.TogglePG" />
-                </menu_item_call>
                 <menu_item_check
                  label="Allow Select Avatar"
                  name="Allow Select Avatar">
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index a26c5bb3449..91b4d38e971 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -2358,6 +2358,93 @@ Would you be my friend?
     </form>
   </notification>
 
+  <notification
+   icon="alertmodal.tga"
+   label="Add Auto-Replace List"
+   name="AddAutoReplaceList"
+   type="alertmodal">
+    <tag>addlist</tag>
+    Name for the new list:
+    <tag>confirm</tag>
+    <form name="form">
+      <input name="listname" type="text"/>
+      <button
+       default="true"
+       index="0"
+       name="SetName"
+       text="OK"/>
+    </form>
+  </notification>
+
+  <notification
+   icon="alertmodal.tga"
+   label="Rename Auto-Replace List"
+   name="RenameAutoReplaceList"
+   type="alertmodal">
+    The name '[DUPNAME]' is in use
+    Enter a new unique name:
+    <tag>confirm</tag>
+    <form name="form">
+      <input name="listname" type="text"/>
+      <button
+       default="false"
+       index="0"
+       name="ReplaceList"
+       text="Replace Current List"/>
+      <button
+       default="true"
+       index="1"
+       name="SetName"
+       text="Use New Name"/>
+    </form>
+  </notification>
+
+  <notification
+   icon="alertmodal.tga"
+   name="InvalidAutoReplaceEntry"
+   type="alertmodal">
+    The keyword must be a single word, and the replacement may not be empty.
+    <tag>fail</tag>
+  </notification>
+
+  <notification
+   icon="alertmodal.tga"
+   name="InvalidAutoReplaceList"
+   type="alertmodal">
+    That replacement list is not valid.
+    <tag>fail</tag>
+  </notification>
+
+  <notification
+   icon="alertmodal.tga"
+   name="SpellingDictImportRequired"
+   type="alertmodal">
+    You must specify a file, a name, and a language.
+    <tag>fail</tag>
+  </notification>
+
+  <notification
+   icon="alertmodal.tga"
+   name="SpellingDictIsSecondary"
+   type="alertmodal">
+The dictionary [DIC_NAME] does not appear to have an "aff" file; this means that it is a "secondary" dictionary.
+It can be used as an additional dictionary, but not as your Main dictionary.
+
+See https://wiki.secondlife.com/wiki/Adding_Spelling_Dictionaries
+    <tag>confirm</tag>
+  </notification>
+
+  <notification
+   icon="alertmodal.tga"
+   name="SpellingDictImportFailed"
+   type="alertmodal">
+    Unable to copy
+    [FROM_NAME]
+    to
+    [TO_NAME]
+    <tag>fail</tag>
+  </notification>
+
   <notification
  icon="alertmodal.tga"
  label="Save Outfit"
@@ -4089,9 +4176,7 @@ Are you sure you want to change the Estate Covenant?
    name="RegionEntryAccessBlocked"
    type="alertmodal">
    <tag>fail</tag>
-You are not allowed in that Region due to your maturity Rating. This may be a result of a lack of information validating your age.
-
-Please verify you have the latest Viewer installed, and go to the Knowledge Base for details on accessing areas with this maturity rating.
+    The region you're trying to visit contains content exceeding your current preferences.  You can change your preferences using Me &gt; Preferences &gt; General.
     <usetemplate
      name="okbutton"
      yestext="OK"/>
@@ -4099,13 +4184,11 @@ Please verify you have the latest Viewer installed, and go to the Knowledge Base
 
   <notification
    icon="alertmodal.tga"
-   name="RegionEntryAccessBlocked_KB"
+   name="RegionEntryAccessBlocked_AdultsOnlyContent"
    type="alertmodal">
    <tag>fail</tag>
     <tag>confirm</tag>
-You are not allowed in that region due to your maturity Rating.
-
-Go to the Knowledge Base for more information about maturity Ratings?
+    The region you're trying to visit contains [REGIONMATURITY] content, which is accessible to adults only.
     <url option="0" name="url">
 		http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview
     </url>
@@ -4113,7 +4196,7 @@ Go to the Knowledge Base for more information about maturity Ratings?
      name="okcancelignore"
      yestext="Go to Knowledge Base"
 	 notext="Close"
-	 ignoretext="I can&apos;t enter this Region, due to restrictions of the maturity Rating"/>
+	 ignoretext="Region crossing: The region you&apos;re trying to visit contains content which is accessible to adults only."/>
   </notification>
 
   <notification
@@ -4121,47 +4204,156 @@ Go to the Knowledge Base for more information about maturity Ratings?
    name="RegionEntryAccessBlocked_Notify"
    type="notifytip">
    <tag>fail</tag>
-You are not allowed in that region due to your maturity Rating.
+The region you're trying to visit contains [REGIONMATURITY] content, but your current preferences are set to exclude [REGIONMATURITY] content.
+  </notification>
+
+  <notification
+   icon="notifytip.tga"
+   name="RegionEntryAccessBlocked_NotifyAdultsOnly"
+   type="notifytip">
+    <tag>fail</tag>
+    The region you're trying to visit contains [REGIONMATURITY] content, which is accessible to adults only.
   </notification>
 
   <notification
    icon="alertmodal.tga"
    name="RegionEntryAccessBlocked_Change"
    type="alertmodal">
-   <tag>fail</tag>
+    <tag>fail</tag>
     <tag>confirm</tag>
-You are not allowed in that Region due to your maturity Rating preference.
-
-To enter the desired region, please change your maturity Rating preference. This will allow you to search for and access [REGIONMATURITY] content. To undo any changes, go to Me &gt; Preferences &gt; General.
-	 <form name="form">
+The region you're trying to visit contains [REGIONMATURITY] content, but your current preferences are set to exclude [REGIONMATURITY] content. We can change your preferences, or you can cancel. After your preferences are changed, you may attempt to enter the region again.
+    <form name="form">
       <button
        index="0"
        name="OK"
-       text="Change Preference"/>
-      <button
+       text="Change preferences"/>
+      <button 
        default="true"
        index="1"
        name="Cancel"
-       text="Close"/>
-       <ignore name="ignore" text="My chosen Rating preference prevents me from entering a Region"/>
+       text="Cancel"/>
+      <ignore name="ignore" text="Region crossing: The region you&apos;re trying to visit contains content excluded by your preferences."/>
     </form>
   </notification>
 
+  <notification
+   icon="alertmodal.tga"
+   name="RegionEntryAccessBlocked_PreferencesOutOfSync"
+   type="alertmodal">
+    <tag>fail</tag>
+    We are having technical difficulties with your teleport because your preferences are out of sync with the server.
+    <usetemplate
+     name="okbutton"
+     yestext="OK"/>
+  </notification>
+
+  <notification
+   icon="alertmodal.tga"
+   name="TeleportEntryAccessBlocked"
+   type="alertmodal">
+    <tag>fail</tag>
+    The region you're trying to visit contains content exceeding your current preferences.  You can change your preferences using Me &gt; Preferences &gt; General.
+    <usetemplate
+     name="okbutton"
+     yestext="OK"/>
+  </notification>
+
+  <notification
+   icon="alertmodal.tga"
+   name="TeleportEntryAccessBlocked_AdultsOnlyContent"
+   type="alertmodal">
+    <unique>
+      <context>REGIONMATURITY</context>
+    </unique>
+    <tag>fail</tag>
+    <tag>confirm</tag>
+    The region you're trying to visit contains [REGIONMATURITY] content, which is accessible to adults only.
+    <url option="0" name="url">
+      http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview
+    </url>
+    <usetemplate
+     name="okcancelignore"
+     yestext="Go to Knowledge Base"
+	 notext="Close"
+	 ignoretext="Teleport: The region you&apos;re trying to visit contains content which is accessible to adults only."/>
+  </notification>
+
   <notification
    icon="notifytip.tga"
-   name="PreferredMaturityChanged"
+   name="TeleportEntryAccessBlocked_Notify"
+   type="notifytip">
+    <unique>
+      <context>REGIONMATURITY</context>
+    </unique>
+    <tag>fail</tag>
+    The region you're trying to visit contains [REGIONMATURITY] content, but your current preferences are set to exclude [REGIONMATURITY] content.
+  </notification>
+
+  <notification
+   icon="notifytip.tga"
+   name="TeleportEntryAccessBlocked_NotifyAdultsOnly"
    type="notifytip">
-Your maturity Rating preference is now [RATING].
+    <unique>
+      <context>REGIONMATURITY</context>
+    </unique>
+    <tag>fail</tag>
+    The region you're trying to visit contains [REGIONMATURITY] content, which is accessible to adults only.
   </notification>
 
   <notification
    icon="alertmodal.tga"
-   name="LandClaimAccessBlocked"
+   name="TeleportEntryAccessBlocked_ChangeAndReTeleport"
    type="alertmodal">
-You cannot claim this land due to your maturity Rating. This may be a result of a lack of information validating your age.
+    <unique>
+      <context>REGIONMATURITY</context>
+    </unique>
+    <tag>fail</tag>
+    <tag>confirm</tag>
+    The region you're trying to visit contains [REGIONMATURITY] content, but your current preferences are set to exclude [REGIONMATURITY] content. We can change your preferences and continue with the teleport, or you can cancel this teleport.
+    <form name="form">
+      <button
+       index="0"
+       name="OK"
+       text="Change and continue"/>
+      <button
+       default="true"
+       index="1"
+       name="Cancel"
+       text="Cancel"/>
+      <ignore name="ignore" text="Teleport (restartable): The region you&apos;re trying to visit contains content excluded by your preferences."/>
+    </form>
+  </notification>
 
-Please verify you have the latest Viewer installed, and go to the Knowledge Base for details on accessing areas with this maturity rating.
-  <tag>fail</tag>
+  <notification
+   icon="alertmodal.tga"
+   name="TeleportEntryAccessBlocked_Change"
+   type="alertmodal">
+    <unique>
+      <context>REGIONMATURITY</context>
+    </unique>
+    <tag>fail</tag>
+    <tag>confirm</tag>
+    The region you're trying to visit contains [REGIONMATURITY] content, but your current preferences are set to exclude [REGIONMATURITY] content. We can change your preferences, or you can cancel the teleport. After your preferences are changed, you will need to attempt the teleport again.
+    <form name="form">
+      <button
+       index="0"
+       name="OK"
+       text="Change preferences"/>
+      <button
+       default="true"
+       index="1"
+       name="Cancel"
+       text="Cancel"/>
+      <ignore name="ignore" text="Teleport (non-restartable): The region you&apos;re trying to visit contains content excluded by your preferences."/>
+    </form>
+  </notification>
+
+  <notification
+   icon="alertmodal.tga"
+   name="TeleportEntryAccessBlocked_PreferencesOutOfSync"
+   type="alertmodal">
+    <tag>fail</tag>
+    We are having technical difficulties with your teleport because your preferences are out of sync with the server.
     <usetemplate
      name="okbutton"
      yestext="OK"/>
@@ -4169,12 +4361,43 @@ Please verify you have the latest Viewer installed, and go to the Knowledge Base
 
   <notification
    icon="alertmodal.tga"
-   name="LandClaimAccessBlocked_KB"
+   name="PreferredMaturityChanged"
    type="alertmodal">
-You cannot claim this land due to your maturity Rating.
+You won't receive any more notifications that you're about to visit a region with [RATING] content.  You may change your content preferences in the future by using Me &gt; Preferences &gt; General from the menu bar.
+  <tag>confirm</tag>
+    <usetemplate
+     name="okbutton"
+     yestext="OK"/>
+  </notification>
 
-Go to the Knowledge Base for more information about maturity Ratings?
-  <tag>fail</tag>
+  <notification
+   icon="alertmodal.tga"
+   name="MaturityChangeError"
+   type="alertmodal">
+    We were unable to change your preferences to view [PREFERRED_MATURITY] content at this time.  Your preferences have been reset to view [ACTUAL_MATURITY] content.  You may attempt to change your preferences again by using Me &gt; Preferences &gt; General from the menu bar.
+    <tag>confirm</tag>
+    <usetemplate
+     name="okbutton"
+     yestext="OK"/>
+  </notification>
+
+  <notification
+   icon="alertmodal.tga"
+   name="LandClaimAccessBlocked"
+   type="alertmodal">
+    The land you're trying to claim has a maturity rating exceeding your current preferences.  You can change your preferences using Me &gt; Preferences &gt; General.
+    <tag>fail</tag>
+    <usetemplate
+     name="okbutton"
+     yestext="OK"/>
+  </notification>
+
+  <notification
+   icon="alertmodal.tga"
+   name="LandClaimAccessBlocked_AdultsOnlyContent"
+   type="alertmodal">
+    Only adults can claim this land.
+    <tag>fail</tag>
     <tag>confirm</tag>
     <url option="0" name="url">
 		http://wiki.secondlife.com/wiki/Linden_Lab_Official:Maturity_ratings:_an_overview
@@ -4183,41 +4406,52 @@ Go to the Knowledge Base for more information about maturity Ratings?
      name="okcancelignore"
      yestext="Go to Knowledge Base"
 	 notext="Close"
-	 ignoretext="I can&apos;t claim this Land, due to restrictions of the maturity Rating"/>
+	 ignoretext="Only adults can claim this land."/>
   </notification>
 
   <notification
    icon="notifytip.tga"
    name="LandClaimAccessBlocked_Notify"
    type="notifytip">
-You cannot claim this land due to your maturity Rating.
-  <tag>fail</tag>
+    The land you're trying to claim contains [REGIONMATURITY] content, but your current preferences are set to exclude [REGIONMATURITY] content.
+    <tag>fail</tag>
+  </notification>
+
+  <notification
+   icon="notifytip.tga"
+   name="LandClaimAccessBlocked_NotifyAdultsOnly"
+   type="notifytip">
+    <tag>fail</tag>
+    The land you're trying to claim contains [REGIONMATURITY] content, which is accessible to adults only.
   </notification>
 
   <notification
    icon="alertmodal.tga"
    name="LandClaimAccessBlocked_Change"
    type="alertmodal">
-You cannot claim this land due to your maturity Rating preference.
-
-You can click &apos;Change Preference&apos; to raise your maturity Rating preference now and allow you to enter. You will be able to search and access [REGIONMATURITY] content from now on. If you later want to change this setting back, go to Me &gt; Preferences &gt; General.
+    The land you're trying to claim contains [REGIONMATURITY] content, but your current preferences are set to exclude [REGIONMATURITY] content. We can change your preferences, then you can try claiming the land again.
     <tag>fail</tag>
     <tag>confirm</tag>
-    <usetemplate
-     name="okcancelignore"
-     yestext="Change Preference"
-	 notext="Close"
-	 ignoretext="My chosen Rating preference prevents me from claiming Land"/>
+    <form name="form">
+      <button
+       index="0"
+       name="OK"
+       text="Change preferences"/>
+      <button
+       default="true"
+       index="1"
+       name="Cancel"
+       text="Cancel"/>
+      <ignore name="ignore" text="The land you&apos;re trying to claim contains content excluded by your preferences."/>
+    </form>
   </notification>
 
   <notification
    icon="alertmodal.tga"
    name="LandBuyAccessBlocked"
    type="alertmodal">
-You cannot buy this land due to your maturity Rating. This may be a result of a lack of information validating your age.
-
-Please verify you have the latest Viewer installed, and go to the Knowledge Base for details on accessing areas with this maturity rating.
-  <tag>fail</tag>
+    The land you're trying to buy has a maturity rating exceeding your current preferences.  You can change your preferences using Me &gt; Preferences &gt; General.
+    <tag>fail</tag>
     <usetemplate
      name="okbutton"
      yestext="OK"/>
@@ -4225,11 +4459,9 @@ Please verify you have the latest Viewer installed, and go to the Knowledge Base
 
   <notification
    icon="alertmodal.tga"
-   name="LandBuyAccessBlocked_KB"
+   name="LandBuyAccessBlocked_AdultsOnlyContent"
    type="alertmodal">
-You cannot buy this land due to your maturity Rating.
-
-Go to the Knowledge Base for more information about maturity Ratings?
+    Only adults can buy this land.
     <tag>confirm</tag>
   <tag>fail</tag>
     <url option="0" name="url">
@@ -4239,31 +4471,44 @@ Go to the Knowledge Base for more information about maturity Ratings?
      name="okcancelignore"
      yestext="Go to Knowledge Base"
 	 notext="Close"
-	 ignoretext="I can&apos;t buy this Land, due to restrictions of the maturity Rating"/>
+	 ignoretext="Only adults can buy this land."/>
   </notification>
 
   <notification
    icon="notifytip.tga"
    name="LandBuyAccessBlocked_Notify"
    type="notifytip">
-You cannot buy this land due to your maturity Rating.
-  <tag>fail</tag>
+    The land you're trying to buy contains [REGIONMATURITY] content, but your current preferences are set to exclude [REGIONMATURITY] content.
+    <tag>fail</tag>
+  </notification>
+
+  <notification
+   icon="notifytip.tga"
+   name="LandBuyAccessBlocked_NotifyAdultsOnly"
+   type="notifytip">
+    <tag>fail</tag>
+    The land you're trying to buy contains [REGIONMATURITY] content, which is accessible to adults only.
   </notification>
 
   <notification
    icon="alertmodal.tga"
    name="LandBuyAccessBlocked_Change"
    type="alertmodal">
-You cannot buy this land due to your maturity Rating preference.
-
-You can click &apos;Change Preference&apos; to raise your maturity Rating preference now and allow you to enter. You will be able to search and access [REGIONMATURITY] content from now on. If you later want to change this setting back, go to Me &gt; Preferences &gt; General.
+    The land you're trying to buy contains [REGIONMATURITY] content, but your current preferences are set to exclude [REGIONMATURITY] content. We can change your preferences, then you can try buying the land again.
     <tag>confirm</tag>
     <tag>fail</tag>
-    <usetemplate
-     name="okcancelignore"
-     yestext="Change Preference"
-	 notext="Close"
-	 ignoretext="My chosen Rating preference prevents me from buying Land"/>
+    <form name="form">
+      <button
+       index="0"
+       name="OK"
+       text="Change preferences"/>
+      <button
+       default="true"
+       index="1"
+       name="Cancel"
+       text="Cancel"/>
+      <ignore name="ignore" text="The land you&apos;re trying to buy contains content excluded by your preferences."/>
+    </form>
   </notification>
 
 	<notification
@@ -4418,10 +4663,11 @@ Type a short announcement which will be sent to everyone in this region.
    label="Changed Region Maturity"
    name="RegionMaturityChange"
    type="alertmodal">
-The maturity rating for this region has been updated.
-It may take some time for the change to be reflected on the map.
-
-To enter Adult regions, Residents must be Account Verified, either by age-verification or payment-verification.
+The maturity rating for this region has been changed.
+It may take some time for this change to be reflected on the map.
+    <usetemplate
+     name="okbutton"
+     yestext="OK"/>
   </notification>
 
   <notification
@@ -5127,20 +5373,20 @@ Would you like to automatically wear the clothing you are about to create?
    icon="alertmodal.tga"
    name="NotAgeVerified"
    type="alertmodal">
-   <tag>fail</tag>
-To access adult content and areas in Second Life you must be at least 18 years old. Please visit our age verification page to confirm you are over 18. 
-Note this will launch your web browser.
-
-[_URL]
-    <tag>confirm</tag>
-    <url option="0" name="url">
-	    https://secondlife.com/my/account/verification.php
-    </url>
+    The location you're trying to visit is restricted to residents age 18 and over.
+    <tag>fail</tag>
     <usetemplate
-     ignoretext="I have not verified my age"
-     name="okcancelignore"
-     notext="Cancel"
-     yestext="Go to Age Verification"/>
+     ignoretext="I am not old enough to visit age restricted areas."
+     name="okignore"
+     yestext="OK"/>
+  </notification>
+
+  <notification
+   icon="notifytip.tga"
+   name="NotAgeVerified_Notify"
+   type="notifytip">
+    Location restricted to age 18 and over.
+    <tag>fail</tag>
   </notification>
 
   <notification
@@ -5287,7 +5533,7 @@ Terrain.raw downloaded
    icon="notifytip.tga"
    name="GestureMissing"
    type="notifytip">
-Hmm. Gesture [NAME] is missing from the database.
+Gesture [NAME] is missing from the database.
   <tag>fail</tag>
   </notification>
 
@@ -5825,9 +6071,7 @@ You can only claim public land in the Region you&apos;re in.
    persist="true"
    type="notify">
    <tag>fail</tag>
-You aren&apos;t allowed in that Region due to your maturity Rating. You may need to validate your age and/or install the latest Viewer.
-
-Please go to the Knowledge Base for details on accessing areas with this maturity Rating.
+    The region you're trying to visit contains content exceeding your current preferences.  You can change your preferences using Me &gt; Preferences &gt; General.
   </notification>
 
   <notification
@@ -5859,11 +6103,11 @@ You do not have proper payment status to enter this region.
 
   <notification
 	icon="notify.tga"
-	name="MustGetAgeRgion"
+	name="MustGetAgeRegion"
    persist="true"
 	type="notify">
    <tag>fail</tag>
-You must be age-verified to enter this region.
+You must be age 18 or over to enter this region.
   </notification>
 
   <notification
@@ -5872,7 +6116,7 @@ You must be age-verified to enter this region.
    persist="true"
 	type="notify">
    <tag>fail</tag>
-You must be age-verified to enter this parcel.
+    You must be age 18 or over to enter this parcel.
   </notification>
 
   <notification
@@ -6147,7 +6391,8 @@ Your object named &lt;nolink&gt;[OBJECTFROMNAME]&lt;/nolink&gt; has given you th
    type="offer">
 [NAME_SLURL] has offered to teleport you to their location:
 
-[MESSAGE] - [MATURITY_STR] &lt;icon&gt;[MATURITY_ICON]&lt;/icon&gt;
+“[MESSAGE]”
+&lt;icon&gt;[MATURITY_ICON]&lt;/icon&gt; - [MATURITY_STR]
     <tag>confirm</tag>
     <form name="form">
       <button
@@ -6161,6 +6406,42 @@ Your object named &lt;nolink&gt;[OBJECTFROMNAME]&lt;/nolink&gt; has given you th
     </form>
   </notification>
 
+  <notification
+   icon="notify.tga"
+   name="TeleportOffered_MaturityExceeded"
+   type="offer">
+[NAME_SLURL] has offered to teleport you to their location:
+
+“[MESSAGE]”
+&lt;icon&gt;[MATURITY_ICON]&lt;/icon&gt; - [MATURITY_STR]
+
+This region contains [REGION_CONTENT_MATURITY] content, but your current preferences are set to exclude [REGION_CONTENT_MATURITY] content.  We can change your preferences and continue with the teleport, or you can cancel this teleport.
+    <tag>confirm</tag>
+    <form name="form">
+      <button
+       index="0"
+       name="Teleport"
+       text="Change and Continue"/>
+      <button
+       index="1"
+       name="Cancel"
+       text="Cancel"/>
+    </form>
+  </notification>
+
+  <notification
+   icon="notify.tga"
+   name="TeleportOffered_MaturityBlocked"
+   type="notifytip">
+[NAME_SLURL] has offered to teleport you to their location:
+
+“[MESSAGE]”
+&lt;icon&gt;[MATURITY_ICON]&lt;/icon&gt; - [MATURITY_STR]
+
+However, this region contains content accessible to adults only.
+    <tag>fail</tag>
+  </notification>
+
   <notification
    icon="notify.tga"
    name="TeleportOfferSent"
@@ -7195,6 +7476,18 @@ You uploaded a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] second
 You locally updated a [RESOLUTION] baked texture for '[BODYREGION]' after [TIME] seconds.
   </notification>
 
+  <notification
+   icon="alertmodal.tga"
+   name="LivePreviewUnavailable"
+   type="alert">
+   
+We cannot display a preview of this texture because it is no-copy and/or no-transfer.
+  <usetemplate
+    ignoretext="Warn me that Live Preview mode is not available for no-copy and/or no-transfer textures"
+    name="okignore"
+    yestext="OK"/>
+  </notification>
+
   <notification
    icon="alertmodal.tga"
    name="ConfirmLeaveCall"
diff --git a/indra/newview/skins/default/xui/en/panel_edit_pick.xml b/indra/newview/skins/default/xui/en/panel_edit_pick.xml
index 0faa1598b1b..553c112e6fc 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_pick.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_pick.xml
@@ -134,6 +134,7 @@
          top_pad="2"
          max_length="1023"
          name="pick_desc"
+         spellcheck="true"
          text_color="black"
          word_wrap="true" />
         <text
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 607e1bb2135..6d5fb51e858 100644
--- a/indra/newview/skins/default/xui/en/panel_group_notices.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_notices.xml
@@ -141,6 +141,7 @@ Maximum 200 per group daily
          max_length_bytes="63"
          name="create_subject"
          prevalidate_callback="ascii"
+         spellcheck="true"
          width="218" />
         <text
          follows="left|top"
@@ -161,6 +162,7 @@ Maximum 200 per group daily
          left_pad="3"
          max_length="511"
          name="create_message"
+         spellcheck="true"
          top_delta="0"
          width="218"
          word_wrap="true" />
@@ -309,6 +311,7 @@ Maximum 200 per group daily
          left_pad="3"
          max_length_bytes="63"
          name="view_subject"
+         spellcheck="true"
          top_delta="-1"
          visible="false"
          width="200" />
@@ -333,6 +336,7 @@ Maximum 200 per group daily
          right="-1"
          max_length="511"
          name="view_message"
+         spellcheck="true"
          top_delta="-40"
          width="313"
          word_wrap="true" />
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 21c627cdfb8..6bc9c48729d 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
@@ -19,6 +19,7 @@
      left="0"
      max_length_bytes="1023"
      name="chat_box"
+     spellcheck="true"
      text_pad_left="5"
      text_pad_right="25"
      tool_tip="Press Enter to say, Ctrl+Enter to shout"
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 caf7fc85f56..27193a984f0 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_chat.xml
@@ -207,13 +207,36 @@
   <button
    follows="left|top"
    height="23"
-   label="Chat Translation Settings"
+   label="Translation..."
    layout="topleft"
    left="30"
    name="ok_btn"
-   top="-40"
+   top="-50"
    width="170">
    <button.commit_callback
     function="Pref.TranslationSettings" />
   </button>
-</panel>
\ No newline at end of file
+  <button
+   follows="top|left"
+   height="23"
+   layout="topleft"
+   top_pad="-23"
+   left_pad="5"
+   name="autoreplace_showgui"
+   commit_callback.function="Pref.AutoReplace"
+   label="Auto-Replace..."
+   width="150">
+  </button>
+  <button
+   follows="top|left"
+   height="23"
+   layout="topleft"
+   top_pad="-23"
+   left_pad="5"
+   name="spellcheck_showgui"
+   commit_callback.function="Pref.SpellChecker"
+   label="Spell Checking..."
+   width="150">
+  </button>
+
+</panel>
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 bfd796a62bd..76a82212ae9 100644
--- a/indra/newview/skins/default/xui/en/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/en/panel_region_estate.xml
@@ -149,11 +149,11 @@
     <check_box
      follows="top|left"
      height="16"
-     label="Have been age-verified"
+     label="Are age 18 or older"
      layout="topleft"
      left_delta="0"
      name="limit_age_verified"
-     tool_tip="Residents must be age verified to access this estate. See the [SUPPORT_SITE] for more information."
+     tool_tip="Residents must be age 18 or older to access this estate. See the [SUPPORT_SITE] for more information."
      top_pad="2"
      width="278" />
 
diff --git a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml
index 6ecb57b41d8..14bd3494804 100644
--- a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml
+++ b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml
@@ -48,7 +48,7 @@
                       height="300"
                       width="330" />
              </layout_panel>
-			 <layout_panel
+			    <layout_panel
                  width="330"
                  layout="topleft"
                  auto_resize="false"
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 866ea296c3a..6dd80dc11ae 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -441,6 +441,7 @@ Please try logging in again in a minute.</string>
 	<string name="load_files">Load Files</string>
 	<string name="choose_the_directory">Choose Directory</string>
 	<string name="script_files">Scripts</string>
+	<string name="dictionary_files">Dictionaries</string>
 
   <!-- LSL Usage Hover Tips -->
   <!-- NOTE: For now these are set as translate="false", until DEV-40761 is implemented (to internationalize the rest of tooltips in the same window).
@@ -3758,4 +3759,9 @@ Try enclosing path to the editor with double quotes.
   <string name="snapshot_quality_high">High</string>
   <string name="snapshot_quality_very_high">Very High</string>
 
+  <string name="TeleportMaturityExceeded">The Resident cannot visit this region.</string>
+
+  <!-- Spell check settings floater -->
+  <string name="UserDictionary">[User]</string>
+  
   </strings>
diff --git a/indra/newview/skins/default/xui/en/teleport_strings.xml b/indra/newview/skins/default/xui/en/teleport_strings.xml
index dce6b8dd6d6..fdf41991cd5 100644
--- a/indra/newview/skins/default/xui/en/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/en/teleport_strings.xml
@@ -45,6 +45,9 @@ Go to &apos;Welcome Island Public&apos; to repeat the tutorial.
 		<message name="no_inventory_host">
 			The inventory system is currently unavailable.
 		</message>
+    <message name="MustGetAgeRegion">
+      You must be age 18 or over to enter this region.
+    </message>
 	</message_set>
 	<message_set name="progress">
 		<message name="sending_dest">
@@ -80,5 +83,8 @@ Go to &apos;Welcome Island Public&apos; to repeat the tutorial.
 		<message name="requesting">
 			Requesting Teleport...
 		</message>
-	</message_set>
+    <message name="pending">
+      Pending Teleport...
+    </message>
+  </message_set>
 </teleport_messages>
-- 
GitLab