Commits

dessie linden committed 1f37bd6 Merge

merged .hgtags

Comments (0)

Files changed (35)

 493d9127ee50e84ba08a736a65a23ca86f7a5b01 2.8.0-release
 2c7e459e0c883f8e406b932e41e60097e9ee077e DRTVWR-73_2.8.1-beta1
 2c7e459e0c883f8e406b932e41e60097e9ee077e 2.8.1-beta1
+29e93d7e19991011bd12b5748142b11a5dcb4370 DRTVWR-72_2.8.1-release
+29e93d7e19991011bd12b5748142b11a5dcb4370 2.8.1-release
+4780e3bd2b3042f91be3426151f28c30d199bb3b DRTVWR-76_2.8.1-hotfix
+4780e3bd2b3042f91be3426151f28c30d199bb3b 2.8.1-hotfix
 54bc7823ad4e3a436fef79710f685a7372bbf795 2.8.2-start
 29e93d7e19991011bd12b5748142b11a5dcb4370 DRTVWR-72_2.8.1-release
 29e93d7e19991011bd12b5748142b11a5dcb4370 2.8.1-release
 46a010f4885a9d223b511eac553ba5720284b1dc 3.0.0-start
 b0be6ce3adfef3a014a2389d360539f8a86c5439 DRTVWR-78_3.0.0-beta1
 b0be6ce3adfef3a014a2389d360539f8a86c5439 3.0.0-beta1
+46a010f4885a9d223b511eac553ba5720284b1dc 3.0.0-start
+6b678ea52f90d5c14181661dcd2546e25bde483e 3.0.0-start
+82a2079ffcb57ecb1b3849cb41376b443e1eb912 3.0.1-start

doc/contributions.txt

-Linden Lab would like to acknowledge source code contributions from the
+Linden Lab would like to acknowledge contributions from the
 following residents. The Second Life resident name is given below,
-along with the issue identifier corresponding to the patches we've
-received from them.
+along with the issue identifiers to which they have contributed.
 
+45ms Zhong
 Able Whitman
 	VWR-650
 	VWR-1460
 	VWR-1813
 Adam Marker
 	VWR-2755
+Adeon Writer
+Aeonix Aeon
 Agathos Frascati
 	CT-246
 	CT-317
 	CT-352
+Ai Austin
+Aiko Ying
 Aimee Trescothick
 	SNOW-227
 	SNOW-570
 	VWR-12620
 	VWR-12789
 	SNOW-322
+Alliez Mysterio
 Angus Boyd
 	VWR-592
 Ann Congrejo
 	CT-193
+Annie Milestone
+Annika Genezzia
 Ansariel Hiller
 	STORM-1101
 	VWR-25480
 	VWR-26150
+Aralara Rajal
 Ardy Lay
 	STORM-859
 	VWR-19499
 	VWR-68
 Armin Weatherwax
 	VWR-8436
+ArminasX Saiman
+Arya Braveheart
+Asaeda Meltingdots
+Asturkon Jua
 Asuka Neely
 	VWR-3434
 	VWR-8179
+Aura Dirval
+Avallyn Oakleaf
+Avatar Quinzet
+BabyA Littlething
+Bacchus Ireto
 Balp Allen
 	VWR-4157
+Bazaar
 Be Holder
 	SNOW-322
 	SNOW-397
+Beansy Twine
 Benja Kepler
 	VWR-746
+Benjamin Bigdipper
+Beth Walcher
+Bezilon Kasei
 Biancaluce Robbiani
 	CT-225
 	CT-226
 	CT-231
 	CT-321
 	CT-352
+Bill Walach
 Blakar Ogre
 	VWR-418
 	VWR-881
 	VWR-2164
 blino Nakamura
 	VWR-17
+Blitzckreed Levenque
+Borg Capalini
 Boroondas Gupte
 	OPEN-29
 	OPEN-39
 	VWR-23455
 	VWR-24487
 	VWR-26066
+	VWR-26458
 	WEB-262
+Bryn Oh
+Buckaroo Mu
 Bulli Schumann
 	CT-218
 	CT-219
 bushing Spatula
 	VWR-119
 	VWR-424
+blakopal Galicia
+Callipygian Christensen
+Cap Carver
 Carjay McGinnis
 	VWR-3737
 	VWR-4070
 	VWR-6154
 	VWR-9400
 	VWR-9620
+Carla Broek
+Carr Arbenlow
 Catherine Pfeffer
 	VWR-1282
 	VWR-8624
 	VWR-10854
+Cayu Cluny
 Celierra Darling
 	VWR-1274
 	VWR-6975
+Chantal Harvey
+Charles Courtois
+Charlie Sazaland
+Cherry Cheevers
+ChickyBabes Zuzu
+Christopher  Organiser
+Ciaran Laval
+Clara Young
 Coaldust Numbers
     VWR-1095
+Colpo Wexler
+Corinne Helendale
+Corro Moseley
+Coughdrop Littlething
 Cron Stardust
 	VWR-10579
 	VWR-25120
 	STORM-1075
 Cypren Christenson
 	STORM-417
+Dante Tucker
 Dale Glass
 	VWR-120
 	VWR-560
 	VWR-2502
 	VWR-1358
 	VWR-2041
+Darien Caldwell
+Dartagan Shepherd
+Debs Regent
+Decro Schmooz
+Denim Kamachi
+DiJodi Dubratt
+Dil Spitz
+Dimitrio Lewis
+Dirk
 Draconis Neurocam
 	STORM-1259
 Drew Dri
 	VWR-19683
+Drew Dwi
 Drewan Keats
 	VWR-28
 	VWR-248
 	VWR-412
 	VWR-638
 	VWR-660
+Dusan Writer
 Dylan Haskell
 	VWR-72
 Dzonatas Sol
 	VWR-23
 	VWR-1468
 	VWR-1475
+Edgware Marker
+Egehan Dryke
+Ellla McMahon
+Elric Anatine
+Emma Portilo
+Emmie Fairymeadow
 EponymousDylan Ra
 	VWR-1289
 	VWR-1465
 Eva Nowicka
 	CT-324
 	CT-352
+Eva Rau
+Evangelista Emerald
+Faelon Swordthain
 Farallon Greyskin
 	VWR-2036
 Feep Larsson
 	VWR-447
 	VWR-1314
 	VWR-4444
+Fiachra Lach
 Flemming Congrejo
 	CT-193
 	CT-318
+Flower Ducatillon
 Fluf Fredriksson
 	VWR-3450
 Fremont Cunningham
 	VWR-1147
+FreeSL Aeon
+Frenchimmo Sabra
+Frontera Thor
+Fury Rosewood
+Gaberoonie Zanzibar
+Ganymedes Costagravas
+Gene Frostbite
+GeneJ Composer
 Geneko Nemeth
 	CT-117
 	VWR-11069
+Gentle Heron
+Gentle Welinder
+gwampa Lomu
+Giggles Littlebird
 Gigs Taggart
 	SVC-493
 	VWR-6
 	VWR-8783
 Ginko Bayliss
 	VWR-4
+Grady Echegaray
 Grazer Kline
 	VWR-1092
 	VWR-2113
 Gudmund Shepherd
 	VWR-1594
 	VWR-1873
+Guni Greenstein
+Gwyneth Llewelyn
+Gypsy Tripsa
+Hackshaven Harford
+Ham Rambler
 Hamncheese Omlet
 	VWR-333
+Han Shuffle
+Hanglow Short
 HappySmurf Papp
 	CT-193
+Harleen Gretzky
+Hatzfeld Runo
 Henri Beauchamp
 	VWR-1320
 	VWR-1406
 	VWR-4157
+herina Bode
 Hikkoshi Sakai
 	VWR-429
 Hiro Sommambulist
 	VWR-132
 	VWR-136
 	VWR-143
+Holger Gilruth
+Horatio Freund
 Hoze Menges
 	VWR-255
+Hydra Shaftoe
+Hypatia Callisto
+Hypatia Pickens
 Ian Kas
 	VWR-8780 (Russian localization)
 	[NO JIRA] (Ukranian localization)
 	CT-322
 	CT-325
+Identity Euler
 Ima Mechanique
 	OPEN-50
 	OPEN-61
 	STORM-1175
+Imnotgoing Sideways
+Inma Rau
+Innula Zenovka
 Irene Muni
 	CT-324
 	CT-352
 Iskar Ariantho
 	VWR-1223
 	VWR-11759
+Iyoba Tarantal
 Jacek Antonelli
 	SNOW-388
 	VWR-165
 	VWR-2948
 	VWR-3605
 	VWR-8617
+Jack Abraham
+Jagga Meredith
 JB Kraft
 	VWR-5283
 	VWR-7802
+Jennifer Boyle
+Jeremy Marquez
+Jessica Qin
+Jinx Nordberg
+Jo Bernandes
+Jocial Sonnenkern
+Joel Savard
 Joghert LeSabre
 	VWR-64
 Jonathan Yap
 	STORM-1459
 Kadah Coba
     STORM-1060
+Jondan Lundquist
+Josef Munster
+Josette Windlow
+Juilan Tripsa
+Juro Kothari
+Justin RiversRunRed
 Kage Pixel
 	VWR-11
+Kagehi Kohn
+Kaimen Takahe
+Keklily Longfall
+Ken Lavender
 Ken March
 	CT-245
+Kestral Karas
 Kerutsen Sellery
 	VWR-1350
+Khisme Nitely
 Khyota Wulluf
 	VWR-2085
 	VWR-8885
 	VWR-9256
 	VWR-9966
+Kimar Coba
+Kithrak Kirkorian
 Kitty Barnett
 	VWR-19699
 	STORM-288
 	STORM-1001
 	STORM-1175
     VWR-24217
+Kolor Fall
+Komiko Okamoto
+Korvel Noh
 Kunnis Basiat
 	VWR-82
 	VWR-102
 	VWR-5370
 leliel Mirihi
 	STORM-1100
+len Starship
 Lisa Lowe
 	CT-218
 	CT-219
 	CT-319
 Lockhart Cordoso
 	VWR-108
+LSL Scientist
+Lamorna Proctor
+Lares Carter
+Larry Pixel
+Laurent Bechir
+Leal Choche
+Lenae Munz
+Lexi Frua
+Lillie Cordeaux
+Lilly Zenovka
+Lizzy Macarthur
+Luban Yiyuan
+Luc Starsider
+Lunita Savira
+Maccus McCullough
 maciek marksman
 	CT-86
+Madison Blanc
+Maggie Darwin
 Magnus Balczo
 	CT-138
+Malarthi Behemoth
+Mallory Destiny
 Malwina Dollinger
 	CT-138
+Manx Wharton
 march Korda
 	SVC-1020
+Marc Claridge
+Marc2 Sands
+Marianne McCann
 Marine Kelley
     STORM-281
+Matthew Anthony
 Matthew Dowd
 	VWR-1344
 	VWR-1651
 	VWR-1737
 	VWR-1761
 	VWR-2681
+Matto Destiny
+Maxim RiversRunRed
 McCabe Maxsted
 	SNOW-387
 	VWR-1318
 	VWR-8454
 	VWR-8689
 	VWR-9007
+Medhue Simoni
+Mel Vanbeeck
+Melinda Latynina
+Mencius Watts
 Michelle2 Zenovka
     STORM-477
 	VWR-2652
 	VWR-8310
 	VWR-9499
     STORM-1060
+Michi Lumin
+Midian Farspire
+Miles Glaz
+Mindy Mathy
+Minerva Memel
+Mitch Wagner
 Mm Alder
 	SNOW-376
 	VWR-197
 	VWR-4232
 	VWR-4794
 	VWR-13578
+Mo Hax
+Mourna Biziou
 Mr Greggan
 	VWR-445
+Nao Noe
+naofan Teardrop
+Naomah Beaumont
+Nathiel Siamendes
+Nber Medici
+Neko Link
+Netpat Igaly
+Neutron Chesnokov
+Newfie Pendragon
+Nicholai Laviscu
 Nicholaz Beresford
 	VWR-132
 	VWR-176
 	VWR-2412
 	VWR-2682
 	VWR-2684
+Nick Rhodes
 Nicky Perian
 	OPEN-1
 	STORM-1087
 	STORM-1090
+Nicoladie Gymnast
 Nounouch Hapmouche
 	VWR-238
+Ollie Kubrick
+Orenj Marat
+Orion Delphis
+Oryx Tempel
+Parvati Silverweb
 Patric Mills
 	VWR-2645
 Paul Churchill
 	VWR-79
 Peter Lameth
 	VWR-7331
+PeterPunk Mooney
+Pixel Gausman
+Pixel Scientist
 Pf Shan
 	CT-225
 	CT-226
 	CT-231
 	CT-321
 	SNOW-422
+Polo Gufler
+Pounce Teazle
 princess niven
 	VWR-5733
 	CT-85
 	CT-320
 	CT-352
+Professor Noarlunga
+Psi Merlin
+Quantum Destiny
+Questar Utu
+Quicksilver Hermes
+RAT Quan
+Radio Signals
+Ralf Setsuko
+RedMokum Bravin
 Renault Clio
 	VWR-1976
 resu Ampan
 	SNOW-93
+Revolution Perenti
+Rezit Sideways
+Rich Grainger
 Ringo Tuxing
 	CT-225
 	CT-226
 	CT-230
 	CT-231
 	CT-321
+Riva
 Robin Cornelius
 	SNOW-108
 	SNOW-204
 	VWR-12763
 	VWR-12995
 	VWR-20911
+Rosco Teardrop
+Rose Evans
+Rudee Voom
+RufusTT Horsefly
 Ryozu Kojima
 	VWR-53
 	VWR-287
+Sachi Vixen
+Sahkolihaa Contepomi
+Saii Hallard
+SaintLEOlions Zimer
 Salahzar Stenvaag
 	CT-225
 	CT-226
 	CT-230
 	CT-231
 	CT-321
+Samm Larkham
 Sammy Frederix
 	VWR-6186
+Sasy Scarborough
+Satanello Miami
 Satomi Ahn
 	STORM-501
 	STORM-229
+Scrim Pinion
 Scrippy Scofield
 	VWR-3748
 Seg Baphomet
 	CT-230
 	CT-231
 	CT-321
+SexySteven Morrisey
 Shawn Kaufmat
 	SNOW-240
+Sheet Spotter
+Shnurui Troughton
 Siana Gearz
 	STORM-960
 	STORM-1088
+sicarius Thorne
+Sicarius Toxx
 SignpostMarv Martin
 	VWR-153
 	VWR-154
 	VWR-8357
 Simon Nolan
 	VWR-409
+Sini Nubalo
+Sitearm Madonna
+SLB Wirefly
+snowy Sidran
 SpacedOut Frye
 	VWR-34
 	VWR-45
 	VWR-1823
 Sporked Friis
 	VWR-4903
+Soupa Segura
+Squirrel Wood
+ST Mensing
+Starshine Halasy
 Stevex Janus
 	VWR-1182
+Stickman Ingmann
 Still Defiant
 	VWR-207
 	VWR-227
 	VWR-2265
 	VWR-4111
 	SNOW-691
+Sudane Erato
+Synystyr Texan
+Takeda Terrawyng
 TankMaster Finesmith
 	STORM-1100
+Talamasca
+Tali Rosca
 Tayra Dagostino
 	SNOW-517
 	SNOW-543
 	SNOW-746
 	VWR-12385
 	VWR-20893
+Templar Merlin
 tenebrous pau
 	VWR-247
+Tezcatlipoca Bisiani
 Tharax Ferraris
 	VWR-605
 Thickbrick Sleaford
 Thraxis Epsilon
 	SVC-371
 	VWR-383
+Tiel Stonecutter
 tiamat bingyi
 	CT-246
 Tofu Buzzard
 	CTS-411
 	STORM-546
 	VWR-24509
+Tony Kembia
+Torben Trautman
+TouchaHoney Perhaps
 TraductoresAnonimos Alter
 	CT-324
+Trey Reanimator
 TriloByte Zanzibar
 	STORM-1100
+Trinity Dechou
+Trinity Dejavu
 Tue Torok
 	CT-68
 	CT-69
 	STORM-643
 	STORM-954
 	STORM-1103
+Unlikely Quintessa
+UsikuFarasi Kanarik
 Vadim Bigbear
 	VWR-2681
 Vector Hastings
 	VWR-8726
+Veritas Raymaker
+Vex Streeter
+Viaticus Speculaas
+Vick Forcella
+Villain Baroque
 Vixen Heron
 	VWR-2710
 	CT-88
+Vixie Durant
+Void Singer
+Watty Berkson
+Westley Schridde
+Westley Streeter
+Whimsy Winx
 Whoops Babii
 	VWR-631
 	VWR-1640
 	VWR-8296
 	VWR-8297
 	VWR-8298
+Winter Ventura
 Wilton Lundquist
 	VWR-7682
 WolfPup Lowenhar
 	STORM-1098
 	VWR-20741
 	VWR-20933
+Wundur Primbee
+Xiki Luik
+xstorm Radek
+YongYong Francois
+Zak Westminster
 Zai Lynch
 	VWR-19505
+Zana Kohime
+Zaren Alexander
 Zarkonnen Decosta
 	VWR-253
+Zeja Pyle
+ZenMondo Wormser
 Zi Ree
+	SH-489
 	VWR-423
 	VWR-671
 	VWR-682
 	VWR-684
 	VWR-9127
 	VWR-1140
+	VWR-24017
+	VWR-25588
 Zipherius Turas
 	VWR-76
 	VWR-77
+Zoex Flanagan
 
+
+
+

doc/translations.txt

+#List of translators who contribute to SL Viewer 2.0+ and SL web translation by language
+
+	Danish
+Flemming Congrejo
+	French
+Valerie Linden
+	Polish
+Identity Euler
+	Portuguese
+Zaza Linden
+	Spanish
+Aralara Rajal
+Aura Dirval
+Cayu Cluny
+Eva Rau
+FreeSL Aeon
+Frontera Thor
+Inma Rau
+Irene Muni
+Lunita Savira
+Minerva Memel
+Polo Gufler
+Xiki Luik
+Perez Linden
+	Traditional Chinese
+gefeit Dufaux

indra/llcommon/llversionviewer.h

 
 const S32 LL_VERSION_MAJOR = 3;
 const S32 LL_VERSION_MINOR = 0;
-const S32 LL_VERSION_PATCH = 0;
+const S32 LL_VERSION_PATCH = 1;
 const S32 LL_VERSION_BUILD = 0;
 
 const char * const LL_CHANNEL = "Second Life Developer";

indra/llmessage/lltemplatemessagereader.cpp

 {
 	if (!mCurrentRMessageTemplate)
 	{
-		llwarns << "no mCurrentRMessageTemplate" << llendl;
+		// no message currently being read
 		return "";
 	}
 	return mCurrentRMessageTemplate->mName;

indra/llrender/llfontgl.cpp

 	origin.mV[VX] -= llround((F32)sCurOrigin.mX) - (sCurOrigin.mX);
 	origin.mV[VY] -= llround((F32)sCurOrigin.mY) - (sCurOrigin.mY);
 
+	// Depth translation, so that floating text appears 'inworld'
+	// and is correclty occluded.
+	gGL.translatef(0.f,0.f,sCurOrigin.mZ);
 
 	S32 chars_drawn = 0;
 	S32 i;

indra/llui/llurlentry.cpp

 //
 LLUrlEntryNoLink::LLUrlEntryNoLink()
 {
-	mPattern = boost::regex("<nolink>.*</nolink>",
+	mPattern = boost::regex("<nolink>.*?</nolink>",
 							boost::regex::perl|boost::regex::icase);
 }
 

indra/newview/app_settings/settings.xml

File contents unchanged.

indra/newview/llfloaterabout.cpp

  */
  
 #include "llviewerprecompiledheaders.h"
+#include <iostream>
+#include <fstream>
 
 #include "llfloaterabout.h"
 
 	LLViewerTextEditor *support_widget = 
 		getChild<LLViewerTextEditor>("support_editor", true);
 
-	LLViewerTextEditor *credits_widget = 
-		getChild<LLViewerTextEditor>("credits_editor", true);
+	LLViewerTextEditor *linden_names_widget = 
+		getChild<LLViewerTextEditor>("linden_names", true);
+
+	LLViewerTextEditor *contrib_names_widget = 
+		getChild<LLViewerTextEditor>("contrib_names", true);
+
+	LLViewerTextEditor *trans_names_widget = 
+		getChild<LLViewerTextEditor>("trans_names", true);
 
 	getChild<LLUICtrl>("copy_btn")->setCommitCallback(
 		boost::bind(&LLFloaterAbout::onClickCopyToClipboard, this));
 	support_widget->setEnabled(FALSE);
 	support_widget->startOfDoc();
 
-	credits_widget->setEnabled(FALSE);
-	credits_widget->startOfDoc();
+	// Get the names of Lindens, added by viewer_manifest.py at build time
+	std::string lindens_path = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS,"lindens.txt");
+	llifstream linden_file;
+	std::string lindens;
+	linden_file.open(lindens_path);		/* Flawfinder: ignore */
+	if (linden_file.is_open())
+	{
+		std::getline(linden_file, lindens); // all names are on a single line
+		linden_file.close();
+		linden_names_widget->setText(lindens);
+	}
+	else
+	{
+		LL_INFOS("AboutInit") << "Could not read lindens file at " << lindens_path << LL_ENDL;
+	}
+	linden_names_widget->setEnabled(FALSE);
+	linden_names_widget->startOfDoc();
+
+	// Get the names of contributors, extracted from .../doc/contributions.txt by viewer_manifest.py at build time
+	std::string contributors_path = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS,"contributors.txt");
+	llifstream contrib_file;
+	std::string contributors;
+	contrib_file.open(contributors_path);		/* Flawfinder: ignore */
+	if (contrib_file.is_open())
+	{
+		std::getline(contrib_file, contributors); // all names are on a single line
+		contrib_file.close();
+	}
+	else
+	{
+		LL_WARNS("AboutInit") << "Could not read contributors file at " << contributors_path << LL_ENDL;
+	}
+	contrib_names_widget->setText(contributors);
+	contrib_names_widget->setEnabled(FALSE);
+	contrib_names_widget->startOfDoc();
+
+	// Get the names of translators, extracted from .../doc/tranlations.txt by viewer_manifest.py at build time
+	std::string translators_path = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS,"translators.txt");
+	llifstream trans_file;
+	std::string translators;
+	trans_file.open(translators_path);		/* Flawfinder: ignore */
+	if (trans_file.is_open())
+	{
+		std::getline(trans_file, translators); // all names are on a single line
+		trans_file.close();
+	}
+	else
+	{
+		LL_WARNS("AboutInit") << "Could not read translators file at " << translators_path << LL_ENDL;
+	}
+	trans_names_widget->setText(translators);
+	trans_names_widget->setEnabled(FALSE);
+	trans_names_widget->startOfDoc();
 
 	return TRUE;
 }

indra/newview/llfloaterbuyland.cpp

 
 		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;
+		S32 region_name_width = llmin(region_name->getRect().getWidth(), region_name->getTextBoundingRect().getWidth());
+		S32 icon_left_pad = region_name->getRect().mLeft + region_name_width + ICON_PAD;
+		region_name->setToolTip(region_name->getText());
 		rating_icon->setRect(rect.setOriginAndSize(icon_left_pad, rect.mBottom, rect.getWidth(), rect.getHeight()));
 
 		switch(sim_access)
 	if (region_type)
 	{
 		region_type->setText(region->getLocalizedSimProductName());
+		region_type->setToolTip(region->getLocalizedSimProductName());
 	}
 	
 	LLTextBox* resellable_clause = getChild<LLTextBox>("resellable_clause");
 void LLFloaterBuyLandUI::updateFloaterEstateName(const std::string& name)
 {
 	LLTextBox* box = getChild<LLTextBox>("estate_name_text");
-	if (box) box->setText(name);
+	box->setText(name);
+	box->setToolTip(name);
 }
 
 void LLFloaterBuyLandUI::updateFloaterLastModified(const std::string& text)

indra/newview/llfloatervoiceeffect.cpp

 		for (voice_effect_list_t::const_iterator it = template_list.begin(); it != template_list.end(); ++it)
 		{
 			const LLUUID& effect_id = it->second;
-			std::string effect_name = it->first;
+			std::string effect_name = getString("effect_" + it->first); // will throw an error if the effect is not listed in the XML
 
 			LLSD effect_properties = effect_interface->getVoiceEffectProperties(effect_id);
 

indra/newview/llfloaterworldmap.cpp

 	{	// Set the value in the UI if any spaces were removed
 		getChild<LLUICtrl>("location")->setValue(str);
 	}
+
+	// Don't try completing empty name (STORM-1427).
+	if (str.empty())
+	{
+		return;
+	}
 	
 	LLStringUtil::toLower(str);
 	mCompletingRegionName = str;

indra/newview/llpanelcontents.cpp

 				LLUUID::null,
 				LLAssetType::AT_LSL_TEXT,
 				LLInventoryType::IT_LSL,
-				LLTrans::getString("PanelContentsNewScript"),
+				"New Script",
 				desc,
 				LLSaleInfo::DEFAULT,
 				LLInventoryItemFlags::II_FLAGS_NONE,

indra/newview/llpanelobjectinventory.cpp

 	LLAssetType::EType mAssetType;	
 	LLInventoryType::EType mInventoryType;
 
+	LLInventoryObject* findInvObject() const;
 	LLInventoryItem* findItem() const;
 
 public:
 	}
 }
 
+LLInventoryObject* LLTaskInvFVBridge::findInvObject() const
+{
+	LLViewerObject* object = gObjectList.findObject(mPanel->getTaskUUID());
+	if (object)
+	{
+		return object->getInventoryObject(mUUID);
+	}
+	return NULL;
+}
+
+
 LLInventoryItem* LLTaskInvFVBridge::findItem() const
 {
-	LLViewerObject* object = gObjectList.findObject(mPanel->getTaskUUID());
-	if(object)
-	{
-		return dynamic_cast<LLInventoryItem*>(object->getInventoryObject(mUUID));
-	}
-	return NULL;
+	return dynamic_cast<LLInventoryItem*>(findInvObject());
 }
 
 void LLTaskInvFVBridge::showProperties()
 
 	if(item)
 	{
-		if(item->getParentUUID().isNull())
+		mDisplayName.assign(item->getName());
+
+		// Localize "New Script", "New Script 1", "New Script 2", etc.
+		if (item->getType() == LLAssetType::AT_LSL_TEXT &&
+			LLStringUtil::startsWith(item->getName(), "New Script"))
 		{
-			if(item->getName() == "Contents")
-			{
-				mDisplayName.assign(LLTrans::getString("ViewerObjectContents"));
-			}
-			else
-			{
-				mDisplayName.assign(item->getName());
-			}
+			LLStringUtil::replaceString(mDisplayName, "New Script", LLTrans::getString("PanelContentsNewScript"));
 		}
-		else
-		{
-			mDisplayName.assign(item->getName());
-		}
+
 		const LLPermissions& perm(item->getPermissions());
 		BOOL copy = gAgent.allowOperation(PERM_COPY, perm, GP_OBJECT_MANIPULATE);
 		BOOL mod  = gAgent.allowOperation(PERM_MODIFY, perm, GP_OBJECT_MANIPULATE);
 		const std::string& name);
 
 	virtual LLUIImagePtr getIcon() const;
-	virtual const std::string& getDisplayName() const { return getName(); }
+	virtual const std::string& getDisplayName() const;
 	virtual BOOL isItemRenameable() const;
 	// virtual BOOL isItemCopyable() const { return FALSE; }
 	virtual BOOL renameItem(const std::string& new_name);
 	return LLUI::getUIImage("Inv_FolderClosed");
 }
 
+// virtual
+const std::string& LLTaskCategoryBridge::getDisplayName() const
+{
+	LLInventoryObject* cat = findInvObject();
+
+	if (cat)
+	{
+		// Localize "Contents" folder.
+		if (cat->getParentUUID().isNull() && cat->getName() == "Contents")
+		{
+			mDisplayName.assign(LLTrans::getString("ViewerObjectContents"));
+		}
+		else
+		{
+			mDisplayName.assign(cat->getName());
+		}
+	}
+
+	return mDisplayName;
+}
+
 BOOL LLTaskCategoryBridge::isItemRenameable() const
 {
 	return FALSE;

indra/newview/llviewerobject.cpp

 		LLPointer<LLInventoryObject> obj;
 		obj = new LLInventoryObject(object->mID, LLUUID::null,
 									LLAssetType::AT_CATEGORY,
-									LLTrans::getString("ViewerObjectContents").c_str());
+									"Contents");
 		object->mInventory->push_front(obj);
 		object->doInventoryCallback();
 		delete ft;
 			{
 				LLPointer<LLInventoryObject> inv = new LLInventoryObject;
 				inv->importLegacyStream(ifs);
-				inv->rename(LLTrans::getString("ViewerObjectContents").c_str());
+				inv->rename("Contents");
 				mInventory->push_front(inv);
 			}
 			else

indra/newview/skins/default/xui/da/strings.xml

 	<string name="RegionNoCovenantOtherOwner">
 		Der er ingen regler for dette estate. Land på dette estate sælges af estate ejeren, ikke af Linden Lab.  Kontakt venligst estate ejeren for detaljer om salg.
 	</string>
-	<string name="covenant_last_modified" value="Sidst rettet:"/>
+	<string name="covenant_last_modified" value="Sidst rettet: "/>
 	<string name="none_text" value=" (ingen) "/>
 	<string name="never_text" value=" (aldrig) "/>
 	<string name="GroupOwned">

indra/newview/skins/default/xui/de/floater_delete_env_preset.xml

 		Wasser-Voreinstellung löschen
 	</string>
 	<string name="title_sky">
-		Hilmmel-Voreinstellung löschen
+		Himmel-Voreinstellung löschen
 	</string>
 	<string name="title_day_cycle">
 		Tageszyklus löschen

indra/newview/skins/default/xui/de/strings.xml

 	<string name="RegionNoCovenantOtherOwner">
 		Für diesen Grundbesitz liegt kein Vertrag vor. Das Land auf diesem Grundbesitz wird vom Grundbesitzer und nicht von Linden Lab verkauft.  Für Informationen zum Verkauf setzen Sie sich bitte mit dem Grundbesitzer in Verbindung.
 	</string>
-	<string name="covenant_last_modified" value="Zuletzt geändert:"/>
+	<string name="covenant_last_modified" value="Zuletzt geändert: "/>
 	<string name="none_text" value=" (keiner) "/>
 	<string name="never_text" value=" (nie) "/>
 	<string name="GroupOwned">

indra/newview/skins/default/xui/en/floater_about.xml

       label="Credits" 
       help_topic="about_credits_tab"
       name="credits_panel">
+      <text
+          follows="top|left|right"
+          height="10"
+          layout="topleft"
+          left="5"
+          name="linden_intro"
+          top="10"
+          width="435"
+          wrap="true">
+Second Life is brought to you by the Lindens:
+      </text>
       <text_editor
        enabled="false" 
-       follows="left|top"
-       height="375"
+       follows="top|left"
+       height="98"
        bg_readonly_color="Transparent"
        left="5"
        text_color="LtGray"
        max_length="65536"
-       name="credits_editor"
-       top="5"
+       name="linden_names"
+       top_pad="10"
        width="435"
        word_wrap="true">
-Second Life is brought to you by Philip, Tessa, Andrew, Cory, Ian, James, Phoenix, Ryan, Haney, Dan, Char, Ben, John, Tanya, Eddie, Richard, Mitch, Doug, Eric, Frank, Bruce, Aaron, Peter, Alice, Charlie, Debra, Eileen, Helen, Janet, Steffan, Steve, Tom, Mark, Hunter, Xenon, Burgess, Bill, Jim, Lee, Hamlet, Daniel, Jeff, Todd, Sarah, Tim, Stephanie, Colin, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Jack, Vektor, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Jesse, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Yuko, Makiko, Thomas, Harry, Seth, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Brad, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, Beez, Milo, Hermia, Red, Thrax, Gulliver, Joe, Sally, Paul, Jose, Rejean, Dore, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, Dustin, George, Del, Matthew, Cat, Jacqui, Adrian, Viola, Alfred, Noel, Irfan, Yool, Rika, Jane, Frontier, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Jeremy, JP, Jake, Anthony, Maurice, Madhavi, Leopard, Kyle, Joon, Bert, Belinda, Jon, Kristi, Bridie, Pramod, Socrates, Maria, Aric, Adreanne, Jay, Kari, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Colossus, Zen, BigPapi, Pastrami, Kurz, Mani, Neuro, Mel, Sardonyx, MJ, Rowan, Sgt, Elvis, Samuel, Leo, Bryan, Niko, Austin, Soft, Poppy, Rachel, Aki, Banzai, Alexa, Sue, Bender, CG, Angelo, 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, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Rothman, Niall, Marin, Allison, Katie, Dawn, Dusty, Katt, Judy, Andrea, Ambroff, Infinity, Rico, Gail, Kalpana, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, 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, Maestro, Simone, Yang, T, Shannon, Nelson, Khanh, Scott, Courtney, Charlene, Quixote, Susan, Zed, Amanda, Katelin, Enkidu, Roxie, Esbee, JoRoan, Scarlet, Tay, Kevin, Wolfgang, Johnny, Ray, Andren, Merov, Bob, Rand, Howard, Callen, Heff, Galen, Newell, 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, Ashley, JessieAnn, Huseby, Karina, Paris, Kurt, Rick, Lis, Kotler, Theeba, Lynx, Murphy, Doten, Taka, Norm, Jillian, Marcus, Mae, Novack, Esther, Perry, Dana, Ducot, Javier, Porter, Madison, Gecko, Dough, JR, Gisele, Crimp, Norie, Arch, Kimi, Fisher, Barbara, Jason, Peggy, Bernard, Jules, Leroy, Eva, Khederian, Campbell, Vogt, Masido, Karel, Torres, Lo, Breezer, Delby, Rountree, Anna, Servus, Rue, Itiaes, Chuck, Luna, Novella, Zaza, Wen, Gino, Lex, Cassandra, Limey, Nancy, Anukul, Silver, Brodesky, Jinsai, Squid, Gez, Rakesh, Ladan, Edelman, Marcet, Squire, Tatem, Tony, Jerm, Tia, Falcon, BK, Tiggs, Driscoll, Bacon, Timothee, Cru, Carmilla, Coyot, Webb, Kazu, Rudas, LJ, Sea, Ali Wallace, Bewest, Pup, Drub, Dragon, Inoshiro, Byron, Rhett, Xandix, Aimee, Fredrik, Thor, Teddy, Baron, Nelly, Ghengis, Epic, Eli, Stone, Grapes, Irie, Prep, Scobu, Valerie, Alain, and many others.
-
-Thank you to the following Residents for helping to ensure that this is the best version yet: Drew Dwi, Zai Lynch, Latif Khalifa, Ellla McMahon, Harleen Gretzky, Squirrel Wood, Malarthi Behemoth, Dante Tucker, Buckaroo Mu, Eddi Decosta, Dirk, Talamasca, Torben Trautman, Irene Muni, Aralara Rajal, Aura Dirval, Cayu Cluny, Eva Rau, FreeSL Aeon, Frontera Thor, Inma Rau, Lunita Savira, Minerva Memel, Polo Gufler, Xiki Luik, Lilly Zenovka, Vick Forcella, Sasy Scarborough, Gentle Welinder, Elric Anatine, Techwolf Lupindo, Dusan Writer, WolfPup Lowenhar, Marianne McCann, Fiachra Lach, Sitearm Madonna, Sudane Erato, Sahkolihaa Contepomi, Sachi Vixen, Questar Utu, Dimitrio Lewis, Matto Destiny, Scrim Pinion, Radio Signals, Psi Merlin, Pixel Gausman, Mel Vanbeeck, Laurent Bechir, Lamorna Proctor, Lares Carter, Gwyneth Llewelyn, Hydra Shaftoe, Holger Gilruth, Gentle Heron, Carla Broek, Boroondas Gupte, Fury Rosewood, Flower Ducatillon, Colpo Wexler, gwampa Lomu, Borg Capalini, Beansy Twine, Ardy Lay, , 45ms Zhong, Adeon Writer, Aeonix Aeon, Ai Austin, Aiko Ying, Alexandrea Fride, Alliez Mysterio, Annie Milestone, Annika Genezzia, Ansariel Hiller, ArminasX Saiman, Arya Braveheart, Asaeda Meltingdots, Asturkon Jua, Avallyn Oakleaf, Avatar Quinzet, BabyA Littlething, Bacchus Ireto, Bazaar, Riva, Benjamin Bigdipper, Beth Walcher, Bezilon Kasei, Biancaluce Robbiani, Bill Walach, blakopal Galicia, Blitzckreed Levenque, Bryn Oh, Callipygian Christensen, Cap Carver, Carr Arbenlow, Chantal Harvey, Charles Courtois, Charlie Sazaland, Cherry Cheevers, ChickyBabes Zuzu, Christopher  Organiser, Ciaran Laval, Clara Young, Celierra Darling, Corinne Helendale, Corro Moseley, Coughdrop Littlething, Darien Caldwell, Dartagan Shepherd, Debs Regent, Decro Schmooz, Denim Kamachi, DiJodi Dubratt, Dil Spitz, Edgware Marker, Egehan Dryke, Emma Portilo, Emmie Fairymeadow, Evangelista Emerald, Faelon Swordthain, Frenchimmo Sabra, Gaberoonie Zanzibar, Ganymedes Costagravas, Gene Frostbite, GeneJ Composer, Giggles Littlebird, Grady Echegaray, Guni Greenstein, Gypsy Tripsa, Hackshaven Harford, Ham Rambler, Han Shuffle, Hanglow Short, Hatzfeld Runo, herina Bode, Horatio Freund, Hypatia Callisto, Hypatia Pickens, Identity Euler, Imnotgoing Sideways, Innula Zenovka, Iyoba Tarantal, Jack Abraham, Jagga Meredith, Jennifer Boyle, Jeremy Marquez, Jessica Qin, Jinx Nordberg, Jo Bernandes, Jocial Sonnenkern, Joel Savard, Jondan Lundquist, Josef Munster, Josette Windlow, Juilan Tripsa, Juro Kothari, Justin RiversRunRed, Kagehi Kohn, Kaimen Takahe, Keklily Longfall, Ken Lavender, Kestral Karas, Khisme Nitely, Kimar Coba, Kithrak Kirkorian, Kitty Barnett, Kolor Fall, Komiko Okamoto, Korvel Noh, Larry Pixel, Leal Choche, len Starship, Lenae Munz, Lexi Frua, Lillie Cordeaux, Lizzy Macarthur, LSL Scientist, Luban Yiyuan, Luc Starsider, Maccus McCullough, Madison Blanc, Maggie Darwin, Mallory Destiny, Manx Wharton, Marc Claridge, Marc2 Sands, Matthew Anthony, Maxim RiversRunRed, Medhue Simoni, Melinda Latynina, Mencius Watts, Michi Lumin, Midian Farspire, Miles Glaz, Mindy Mathy, Mitch Wagner, Mo Hax, Mourna Biziou, Nao Noe, naofan Teardrop, Naomah Beaumont, Nathiel Siamendes, Nber Medici, Neko Link, Netpat Igaly, Neutron Chesnokov, Newfie Pendragon, Nicholai Laviscu, Nick Rhodes, Nicoladie Gymnast, Ollie Kubrick, Orenj Marat, Orion Delphis, Oryx Tempel, Parvati Silverweb, PeterPunk Mooney, Pixel Scientist, Pounce Teazle, Professor Noarlunga, Quantum Destiny, Quicksilver Hermes, Ralf Setsuko, RAT Quan, RedMokum Bravin, Revolution Perenti, Rezit Sideways, Rich Grainger, Rosco Teardrop, Rose Evans, Rudee Voom, RufusTT Horsefly, Saii Hallard, SaintLEOlions Zimer, Samm Larkham, Satanello Miami, SexySteven Morrisey, Sheet Spotter, Shnurui Troughton, sicarius Thorne, Sicarius Toxx, Sini Nubalo, SLB Wirefly, snowy Sidran, Soupa Segura, ST Mensing, Starshine Halasy, Stickman Ingmann, Synystyr Texan, Takeda Terrawyng, Tali Rosca, Templar Merlin, Tezcatlipoca Bisiani, Tiel Stonecutter, Tony Kembia, TouchaHoney Perhaps, Trey Reanimator, TriloByte Zanzibar, Trinity Dechou, Trinity Dejavu, Unlikely Quintessa, UsikuFarasi Kanarik, Veritas Raymaker, Vex Streeter, Viaticus Speculaas, Villain Baroque, Vixie Durant, Void Singer, Watty Berkson, Westley Schridde, Westley Streeter, Whimsy Winx, Winter Ventura, Wundur Primbee, xstorm Radek, YongYong Francois, Zak Westminster, Zana Kohime, Zaren Alexander, Zeja Pyle, ZenMondo Wormser, Zoex Flanagan, and many others.
-
-
-
-
-"The work goes on, the cause endures, the hope still lives, and the dreams shall never die" - Edward Kennedy
+Philip, Andrew, Doug, Richard, Phoenix, Ian, Mark, Robin, Dan, Char, Ryan, Eric, Jim, Lee, Jeff, Michael, Kelly, Steve, Catherine, Bub, Ramzi, Jill, Jeska, Don, Kona, Callum, Charity, Jack, Shawn, babbage, James, Lauren, Blue, Brent, Reuben, Pathfinder, Jesse, Patsy, Torley, Bo, Cyn, Jonathan, Gia, Annette, Ginsu, Harry, Lex, Runitai, Guy, Cornelius, Beth, Swiss, Thumper, Wendy, Teeple, Seth, Dee, Mia, Sally, Liana, Aura, Beez, Milo, Red, Gulliver, Marius, Joe, Jose, Dore, Justin, Nora, Morpheus, Lexie, Amber, Chris, Xan, Leyla, Walker, Sabin, Joshua, Hiromi, Tofu, Fritz, June, Jean, Ivy, Dez, Ken, Betsy, Which, Spike, Rob, Zee, Dustin, George, Claudia, del, Matthew, jane, jay, Adrian, Yool, Rika, Yoz, siobhan, Qarl, Benjamin, Beast, Everett, madhavi, Christopher, Izzy, stephany, Jeremy, sean, adreanne, Pramod, Tobin, sejong, Iridium, maurice, kj, Meta, kari, JP, bert, kyle, Jon, Socrates, Bridie, Ivan, maria, Aric, Coco, Periapse, sandy, Storrs, Lotte, Colossus, Brad, Pastrami, Zen, BigPapi, Banzai, Sardonyx, Mani, Garry, Jaime, Neuro, Samuel, Niko, CeeLo, Austin, Soft, Poppy, emma, tessa, angelo, kurz, alexa, Sue, CG, Blake, Erica, Brett, Bevis, kristen, Q, simon, Enus, MJ, laurap, Kip, Scouse, Ron, Ram, kend, Marty, Prospero, melissa, kraft, Nat, Seraph, Hamilton, Lordan, Green, miz, Ashlei, Trinity, Ekim, Echo, Charlie, Rowan, Rome, Jt, Doris, benoc, Christy, Bao, Kate, Tj, Patch, Cheah, Johan, Brandy, Angela, Oreh, Cogsworth, Lan, Mitchell, Space, Bambers, Einstein, Bender, Malbers, Matias, Maggie, Rothman, Milton, Niall, Marin, Allison, Mango, Andrea, Katt, Yi, Ambroff, Rico, Raymond, Gail, Christa, William, Dawn, Usi, Dynamike, M, Corr, Dante, Molly, kaylee, Danica, Kelv, Lil, jacob, Nya, Rodney, elsie, Blondin, Grant, Nyx, Devin, Monty, Minerva, Keira, Katie, Jenn, Makai, Clare, Joy, Cody, Gayathri, FJ, spider, Oskar, Landon, Jarv, Noelle, Al, Doc, Gray, Vir, t, Maestro, Simone, Shannon, yang, Courtney, Scott, charlene, Quixote, Susan, Zed, Amanda, Katelin, Esbee, JoRoan, Enkidu, roxie, Scarlet, Merov, Kevin, Judy, Rand, Newell, Les, Dessie, Galen, Michon, Geo, Siz, Calyle, Pete, Praveen, Callen, Sheldon, Pink, Nelson, jenelle, Terrence, Nathan, Juan, Sascha, Huseby, Karina, Kaye, Kotler, Lis, Darv, Charrell, Dakota, Kimmora, Theeba, Taka, Mae, Perry, Ducot, dana, Esther, Dough, gisele, Doten, Viale, Fisher, jessieann, ashley, Torres, delby, rountree, kurt, Slaton, Madison, Rue, Gino, Wen, Casssandra, Brodesky, Squid, Gez, Rakesh, Gecko, Ladan, Tony, Tatem, Squire, Falcon, BK, Crimp, Tiggs, Bacon, Coyot, Carmilla, Webb, Sea, Arch, Jillian, Jason, Bernard, Vogt, Peggy, dragon, Pup, xandix, Wallace, Bewest, Inoshiro, Rhett, AG, Aimee, Ghengis, Itiaes, Eli, Steffan, Epic, Grapes, Stone, Prep, Scobu, Robert, Alain, Carla, Vicky, Tia, Alec, Taras, Lisa, Oz, Ariane, Log, House, Kazu, Kim, Drofnas, Tyler, Campbell, Michele, Madeline, Nelly, Baron, Thor, Lori, Hele, Fredrik, Teddy, Pixie, Berry, Gabrielle, Alfonso, Brooke, Wolf, Ringo, Cru, Charlar, Rodvik, Gibson, Elise, Bagman, Greger, Leonidas, Jerm, Leslie, CB, Brenda, Durian, Carlo, mm, Zeeshan, Caleb, Max, Elikak, Mercille, Steph, Chase
+      </text_editor>
+      <text
+          follows="top|left"
+          height="10"
+          layout="topleft"
+          left="5"
+          name="contrib_intro"
+          top_pad="10"
+          width="435"
+          wrap="true">
+with open source contributions from:
+      </text>
+      <text_editor
+       enabled="false" 
+       follows="top|left"
+       height="98"
+       bg_readonly_color="Transparent"
+       left="5"
+       text_color="LtGray"
+       max_length="65536"
+       name="contrib_names"
+       top_pad="10"
+       width="435"
+       word_wrap="true">
+Dummy Name replaced at run time
+      </text_editor>
+      <text
+          follows="top|left"
+          height="10"
+          layout="topleft"
+          left="5"
+          name="trans_intro"
+          top_pad="10"
+          width="435"
+          wrap="true">
+and translations from:
+      </text>
+      <text_editor
+       enabled="false" 
+       follows="top|left"
+       height="98"
+       bg_readonly_color="Transparent"
+       left="5"
+       text_color="LtGray"
+       max_length="65536"
+       name="trans_names"
+       top_pad="10"
+       width="435"
+       word_wrap="true">
+Dummy Name replaced at run time
       </text_editor>
     </panel>
     <panel

indra/newview/skins/default/xui/en/floater_build_options.xml

      layout="topleft"
      left="10"
      tool_tip="Grid opacity"
-     name="grid_opacity_label"
+     name="grid_mode_label"
      top_pad="30"
      width="123">
         Mode

indra/newview/skins/default/xui/en/floater_buy_land.xml

      name="region_name_text"
      top_delta="0"
      use_ellipses="true"
-     width="155">
+     width="150">
         (unknown)
     </text>
     <icon
      left_delta="125"
      name="region_type_text"
      top_delta="0"
-     width="175">
+     use_ellipses="true"
+     width="170">
         (unknown)
     </text>
     <text
      left_delta="125"
      name="estate_name_text"
      top_delta="0"
-     width="175">
+     use_ellipses="true"
+     width="170">
         (unknown)
     </text>
     <text
      left_delta="125"
      name="estate_owner_text"
      top_delta="0"
-     width="175">
+     use_ellipses="true"
+     width="170">
         (unknown)
     </text>
     <text
      follows="left|top"
      height="12"
      layout="topleft"
-     left="500"
      name="covenant_timestamp_text"
-     right="725"
+     right="-15"
      top="175"
-     width="275"
+     width="281"
      word_wrap="true" />
     <text_editor
      type="string"

indra/newview/skins/default/xui/en/floater_model_wizard.xml

 		 height="22"
 		 top_pad="15"
 		 width="505"
-		 name="header_panel"
+		 name="choose_file_header_panel"
 		 bg_opaque_color="DkGray2"
 		 background_visible="true"
 		 background_opaque="true"
 			 width="200"
 			 left="10"
 			 top="3"
-			 name="header_text"
+			 name="choose_file_header_text"
 			 text_color="White"
 			 height="10"
 			 font="SansSerifBig"
 		 left="15"
 		 height="310"
 		 width="505"
-		 name="content"
+		 name="choose_file_content_panel"
 		 bg_opaque_color="DkGray2"
 		 background_visible="true"
 		 background_opaque="true">
 			 height="10"
 			 layout="topleft"
 			 left_delta="0"
-			 name="Cache location"
+			 name="choose_model_file_label"
 			 width="320">
 				Choose model file to upload
 			</text>
 			 height="10"
 			 layout="topleft"
 			 left="10"
-			 name="Cache location"
+			 name="support_collada_text"
 			 width="320">
 				Second Life supports COLLADA (.dae) files
 			</text>
 			 width="130"
 			 height="14"
 			 left_delta="0"
+			 name="dimensions_label"
 			 text_color="White"
 			 word_wrap="true">
 				Dimensions (meters):
 		<panel
 		 height="22"
 		 top_pad="15"
-		 name="header_panel"
+		 name="optimize_header_panel"
 		 width="505"
 		 bg_opaque_color="DkGray2"
 		 background_visible="true"
 			<text
 			 width="200"
 			 left="10"
-			 name="header_text"
+			 name="optimize_header_text"
 			 top="3"
 			 text_color="White"
 			 height="10"
 		 height="20"
 		 font="SansSerifSmall"
 		 layout="topleft"
-		 name="description"
+		 name="optimize_hint"
 		 word_wrap="true"
 		 left_delta="5">
 			We have optimized the model for performance. Adjust it further if you wish.
 		 left="15"
 		 height="270"
 		 width="505"
-		 name="content"
+		 name="optimize_content_panel"
 		 bg_opaque_color="DkGray2"
 		 background_visible="true"
 		 background_opaque="true">
 			<text
+			 name="generating_lod_label"
 			 top="20"
 			 width="300"
 			 height="12"
 				 bg_opaque_color="DkGray2"
 				 background_visible="true"
 				 background_opaque="true">
-			<text top="69" left="10" text_color="White" font="SansSerifSmallBold" width="120" height="16" wrap="true">Performance</text>
-			<text top="85" left="10" width="120" word_wrap="true" font="SansSerifSmall" height="40">Faster rendering
+			<text name="optimize_performance_text" top="69" left="10" text_color="White" font="SansSerifSmallBold" width="120" height="16" wrap="true">Performance</text>
+			<text name="optimize_faster_rendering_text" top="85" left="10" width="120" word_wrap="true" font="SansSerifSmall" height="40">Faster rendering
 Less detail
 Lower prim weight</text>
-			<text top="69" left="184" text_color="White" font="SansSerifSmallBold" width="120" height="16" wrap="true">Accuracy</text>
-			<text top="85" left="184" width="120" word_wrap="true" font="SansSerifSmall" height="40">Slower rendering
+			<text name="optimize_accuracy_text" top="69" left="184" text_color="White" font="SansSerifSmallBold" width="120" height="16" wrap="true">Accuracy</text>
+			<text name="optimize_slower_rendering_text" top="85" left="184" width="120" word_wrap="true" font="SansSerifSmall" height="40">Slower rendering
 More detail
 Higher prim weight</text>
 
 		   top="130"
 		   width="290" />
           <text 
-			font="SansSerifSmall" 
+			font="SansSerifSmall"
+			name="accuracy_slider_mark1" 
 			top_pad="0"  
 			width="5" 
 			left_delta="6" 
 			height="4">'  
           </text>
           <text 
-			font="SansSerifSmall" 
+			font="SansSerifSmall"
+			name="accuracy_slider_mark2" 
 			top_delta="0"  
 			width="5" 
 			left_delta="137" 
 			height="4">'  
           </text>
           <text 
-			font="SansSerifSmall" 
+			font="SansSerifSmall"
+			name="accuracy_slider_mark3" 
 			top_delta="0"  
 			width="5" 
 			left_delta="137" 
 			top_pad="15"
             width="150">
           </button>
-			<text top="10" right="-10" width="185" text_color="White" follows="left|top" height="15" name="lod_label">
+			<text top="10" right="-10" width="185" text_color="White" follows="left|top" height="15" name="geometry_preview_label">
 				Geometry preview
 			</text>
 			<panel
 			</panel>
 			<combo_box left_delta="75" top_pad="10"  follows="left|top" list_position="below" height="22"
 	     name="preview_lod_combo" width="110" tool_tip="LOD to view in preview render">
-				<combo_item name="high">
+				<combo_item name="preview_lod_high">
 					High detail
 				</combo_item>
-				<combo_item name="medium">
+				<combo_item name="preview_lod_medium">
 					Medium detail
 				</combo_item>
-				<combo_item name="low">
+				<combo_item name="preview_lod_low">
 					Low detail
 				</combo_item>
-				<combo_item name="lowest">
+				<combo_item name="preview_lod_lowest">
 					Lowest detail
 				</combo_item>
 			</combo_box>
 		<panel
 		 height="22"
 		 top_pad="15"
-		 name="header_panel"
+		 name="physics_header_panel"
 		 width="505"
 		 bg_opaque_color="DkGray2"
 		 background_visible="true"
 			<text
 			 width="200"
 			 left="10"
-			 name="header_text"
+			 name="physics_header_text"
 			 top="3"
 			 height="10"
 			 font="SansSerifBig"
 		 height="50"
 		 font="SansSerifSmall"
 		 layout="topleft"
-		 name="description"
+		 name="physics_hint"
 		 word_wrap="true"
 		 left_delta="5">
 			We will create a shape for the outer hull of the model. Adjust the shape's detail level as needed for the intended purpose of your model.
 		 left="15"
 		 height="270"
 		 width="505"
-		 name="content"
+		 name="physics_content_panel"
 		 bg_opaque_color="DkGray2"
 		 background_visible="true"
 		 background_opaque="true">
-      <text top="10" left="10" text_color="White" font="SansSerifSmallBold" width="120" halign="right" height="16" wrap="true">Performance</text>
-      <text top="26" left="10" width="120" word_wrap="true" font="SansSerifSmall" halign="right" height="40">Faster rendering
+      <text name="physics_performance_text" top="10" left="10" text_color="White" font="SansSerifSmallBold" width="120" halign="right" height="16" wrap="true">Performance</text>
+      <text name="physics_faster_rendering_text" top="26" left="10" width="120" word_wrap="true" font="SansSerifSmall" halign="right" height="40">Faster rendering
 Less detail
 Lower prim weight</text>
-      <text top="174" left="10" text_color="White" font="SansSerifSmallBold" width="120" halign="right" height="16" wrap="true">Accuracy</text>
-      <text top="190" left="10" width="120" word_wrap="true" font="SansSerifSmall" halign="right" height="40">Slower rendering
+      <text name="physics_accuracy_text" top="174" left="10" text_color="White" font="SansSerifSmallBold" width="120" halign="right" height="16" wrap="true">Accuracy</text>
+      <text name="physics_slower_dendering_text" top="190" left="10" width="120" word_wrap="true" font="SansSerifSmall" halign="right" height="40">Slower rendering
 More detail
 Higher prim weight</text>
 
 		   show_text="false"
 		   top="25"
 		   width="22" />
-      <text top="10" width="120" word_wrap="true" left_pad="10" height="50">Examples:
+      <text name="physics_example_1" top="10" width="120" word_wrap="true" left_pad="10" height="50">Examples:
 Moving objects
 Flying objects
 Vehicles</text>
-      <text top="95" width="120" word_wrap="true" left_delta="0" height="50">Examples:
+      <text name="physics_example_2" top="95" width="120" word_wrap="true" left_delta="0" height="50">Examples:
 Small static objects
 Less detailed objects
 Simple furniture</text>
-      <text top="180" width="120" word_wrap="true" left_delta="0" height="50">Examples:
+      <text name="physics_example_3" top="180" width="120" word_wrap="true" left_delta="0" height="50">Examples:
 Static objects
 Detailed objects
 Buildings</text>
 			visible="false"
             width="150">
           </button>
-			<text top="10" right="-10" width="185" text_color="White" follows="left|top" height="15" name="lod_label">
+			<text top="10" right="-10" width="185" text_color="White" follows="left|top" height="15" name="physics_preview_label">
 				Physics preview
 			</text>
 			<panel
 			</panel>
 			<combo_box left_delta="75" top_pad="10"  follows="left|top" list_position="below" height="22"
 	     name="preview_lod_combo2" width="110" tool_tip="LOD to view in preview render">
-				<combo_item name="high">
+				<combo_item name="preview_lod2_high">
 					High detail
 				</combo_item>
-				<combo_item name="medium">
+				<combo_item name="preview_lod2_medium">
 					Medium detail
 				</combo_item>
-				<combo_item name="low">
+				<combo_item name="preview_lod2_low">
 					Low detail
 				</combo_item>
-				<combo_item name="lowest">
+				<combo_item name="preview_lod2_lowest">
 					Lowest detail
 				</combo_item>
 			</combo_box>
 		<panel
 		 height="22"
 		 top_pad="15"
-		 name="header_panel"
+		 name="review_header_panel"
 		 width="505"
 		 bg_opaque_color="DkGray2"
 		 background_visible="true"
 			<text
 			 width="200"
 			 left="10"
-			 name="header_text"
+			 name="review_header_text"
 			 text_color="White" 
 			 top="3"
 			 height="10"
 		 left="15"
 		 height="310"
 		 width="505"
-		 name="content"
+		 name="review_content_panel"
 		 bg_opaque_color="DkGray2"
 		 background_visible="true"
 		 background_opaque="true">
 		<panel
 		 height="22"
 		 top_pad="15"
-		 name="header_panel"
+		 name="upload_header_panel"
 		 width="505"
 		 bg_opaque_color="DkGray2"
 		 background_visible="true"
 			<text
 			 width="200"
 			 left="10"
-			 name="header_text"
+			 name="upload_header_text"
 			 top="3"
 			 text_color="White" 
 			 height="10"

indra/newview/skins/default/xui/en/floater_openobject.xml

      layout="topleft"
      left="10"
      name="object_name"
+     parse_urls="false"
      top="20"
      width="284">
         [DESC]:

indra/newview/skins/default/xui/en/floater_voice_effect.xml

   <string name="new_voice_effect">
     (New!)
   </string>
+
+  <!--  effect names begin -->
+  <string name="effect_Arena">Arena</string>
+  <string name="effect_Beast">Beast</string>
+  <string name="effect_Buff">Buff</string>
+  <string name="effect_Buzz">Buzz</string>
+  <string name="effect_Camille">Camille</string>
+  <string name="effect_Creepy">Creepy</string>
+  <string name="effect_CreepyBot">CreepyBot</string>
+  <string name="effect_Cyber">Cyber</string>
+  <string name="effect_DeepBot">DeepBot</string>
+  <string name="effect_Demon">Demon</string>
+  <string name="effect_Flirty">Flirty</string>
+  <string name="effect_Foxy">Foxy</string>
+  <string name="effect_Halloween_2010_Bonus">Halloween_2010_Bonus</string>
+  <string name="effect_Helium">Helium</string>
+  <string name="effect_Husky">Husky</string>
+  <string name="effect_Intercom">Intercom</string>
+  <string name="effect_Macho">Macho</string>
+  <string name="effect_Micro">Micro</string>
+  <string name="effect_Mini">Mini</string>
+  <string name="effect_Nano">Nano</string>
+  <string name="effect_Nightmare">Nightmare</string>
+  <string name="effect_PopBot">PopBot</string>
+  <string name="effect_Rachel">Rachel</string>
+  <string name="effect_Radio">Radio</string>
+  <string name="effect_Robot">Robot</string>
+  <string name="effect_Roxanne">Roxanne</string>
+  <string name="effect_Sabrina">Sabrina</string>
+  <string name="effect_Samantha">Samantha</string>
+  <string name="effect_Sexy">Sexy</string>
+  <string name="effect_Shorty">Shorty</string>
+  <string name="effect_Sneaky">Sneaky</string>
+  <string name="effect_Stallion">Stallion</string>
+  <string name="effect_Sultry">Sultry</string>
+  <string name="effect_Thunder">Thunder</string>
+  <string name="effect_Vixen">Vixen</string>
+  <string name="effect_WhinyBot">WhinyBot</string>
+  <!--  effect names end -->
+
  <text
    height="16"
    word_wrap="true"

indra/newview/skins/default/xui/en/inspect_avatar.xml

      height="20"
      left="8"
      name="user_name_small"
+     parse_urls="false"
      top="7"
      text_color="White"
      translate="false"
     height="21"
     left="8"
     name="user_name"
+    parse_urls="false"
     top="10"
     text_color="White"
     translate="false"
      left="8"
      name="user_slid"
      font="SansSerifSmallBold"
+     parse_urls="false"
      text_color="EmphasisColor"
      translate="false"
      value="teststring.pleaseignore"

indra/newview/skins/default/xui/en/notifications.xml

    name="FriendOnline"
    type="notifytip">
     <tag>friendship</tag>
-[NAME] is Online
+&lt;nolink&gt;[NAME]&lt;/nolink&gt; is Online
   </notification>
 
   <notification
    name="FriendOffline"
    type="notifytip">
     <tag>friendship</tag>
-[NAME] is Offline
+&lt;nolink&gt;[NAME]&lt;/nolink&gt; is Offline
   </notification>
 
   <notification
 
 With the following Residents:
 
-[RESIDENTS]
+&lt;nolink&gt;[RESIDENTS]&lt;/nolink&gt;
   <tag>confirm</tag>
 	<usetemplate
      name="okcancelbuttons"

indra/newview/skins/default/xui/en/panel_activeim_row.xml

 		width="250"
 		length="1"
 		follows="right|left"
+		parse_urls="false"
 		use_ellipses="true"
 		font="SansSerifBold">
     TestString PleaseIgnore

indra/newview/skins/default/xui/en/panel_avatar_list_item.xml

      layout="topleft"
      left_pad="5"
      name="avatar_name"
+     parse_urls="false"
      top="6"
      use_ellipses="true"
      value="(loading)"

indra/newview/skins/default/xui/en/panel_instant_message.xml

          layout="topleft"
          left_pad="5"
          name="user_name"
+         parse_urls="false"
          text_color="white"
          top="8"
          translate="false"

indra/newview/skins/default/xui/it/strings.xml

 	<string name="RegionNoCovenantOtherOwner">
 		Non esiste alcun regolamento per questa proprietà. Il terreno di questa proprietà è messo in vendita dal proprietario, non dalla Linden Lab.  Contatta il proprietario del terreno per i dettagli della vendita.
 	</string>
-	<string name="covenant_last_modified" value="Ultima modifica:"/>
+	<string name="covenant_last_modified" value="Ultima modifica: "/>
 	<string name="none_text" value="(nessuno)"/>
 	<string name="never_text" value="(mai)"/>
 	<string name="GroupOwned">

indra/newview/skins/default/xui/nl/strings.xml

 	<string name="RegionNoCovenantOtherOwner">
 		There is no Covenant provided for this Estate. The land on this estate is being sold by the Estate owner, not Linden Lab.  Please contact the Estate Owner for sales details.
 	</string>
-	<string name="covenant_last_modified">
-		Laatst bewerkt:
-	</string>
+	<string name="covenant_last_modified" value="Laatst bewerkt: " />
 	<string name="none_text" value="(none)"/>
 	<string name="never_text" value="(never)"/>
 	<string name="GroupOwned">

indra/newview/skins/default/xui/pl/strings.xml

 	<string name="RegionNoCovenantOtherOwner">
 		Brak umowy dla tego majątku. Każda posiadłość w tym majątku została sprzedana przez właściciela majątku nie Linden Lab. Skontaktuj się z właścicielem majątku w celu uzuskania szczegółów sprzedaży.
 	</string>
-	<string name="covenant_last_modified" value="Ostatnio modyfikowano:"/>
+	<string name="covenant_last_modified" value="Ostatnio modyfikowano: "/>
 	<string name="none_text" value=" (żadne) "/>
 	<string name="never_text" value=" (nigdy) "/>
 	<string name="GroupOwned">

indra/newview/skins/default/xui/pt/strings.xml

 	<string name="RegionNoCovenantOtherOwner">
 		Não foi definido um contrato 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" value="Última modificação:"/>
+	<string name="covenant_last_modified" value="Última modificação: "/>
 	<string name="none_text" value="(nenhum)"/>
 	<string name="never_text" value="(nunca)"/>
 	<string name="GroupOwned">

indra/newview/skins/default/xui/zh/strings.xml

 	<string name="RegionNoCovenantOtherOwner">
 		There is no Covenant provided for this Estate. The land on this estate is being sold by the Estate owner, not Linden Lab.  Please contact the Estate Owner for sales details.
 	</string>
-	<string name="covenant_last_modified" value="Last Modified:"/>
+	<string name="covenant_last_modified" value="Last Modified: "/>
 	<string name="none_text" value="(無)"/>
 	<string name="never_text" value="(絕不)"/>
 	<string name="GroupOwned">

indra/newview/viewer_manifest.py

 import re
 import tarfile
 import time
+import random
 viewer_dir = os.path.dirname(__file__)
 # add llmanifest library to our path so we don't have to muck with PYTHONPATH
 sys.path.append(os.path.join(viewer_dir, '../lib/python/indra/util'))
 
                 # include the entire shaders directory recursively
                 self.path("shaders")
+                # include the extracted list of contributors
+                contributor_names = self.extract_names("../../doc/contributions.txt")
+                self.put_in_file(contributor_names, "contributors.txt")
+                # include the extracted list of translators
+                translator_names = self.extract_names("../../doc/translations.txt")
+                self.put_in_file(translator_names, "translators.txt")
+                # include the list of Lindens (if any)
+                #   see https://wiki.lindenlab.com/wiki/Generated_Linden_Credits
+                linden_names_path = os.getenv("linden_credits")
+                if linden_names_path :
+                    try:
+                        linden_file = open(linden_names_path,'r')
+                         # all names should be one line, but the join below also converts to a string
+                        linden_names = ', '.join(linden_file.readlines())
+                        self.put_in_file(linden_names, "lindens.txt")
+                        linden_file.close()
+                    except IOError:
+                        print "No Linden names found at '%s', using built-in list" % linden_names_path
+                        pass
+
                 # ... and the entire windlight directory
                 self.path("windlight")
                 self.end_prefix("app_settings")
                                                 
         return " ".join((channel_flags, grid_flags, setting_flags)).strip()
 
+    def extract_names(self,src):
+        try:
+            contrib_file = open(src,'r')
+        except IOError:
+            print "Failed to open '%s'" % src
+            raise
+        lines = contrib_file.readlines()
+        contrib_file.close()
+
+        # All lines up to and including the first blank line are the file header; skip them
+        lines.reverse() # so that pop will pull from first to last line
+        while not re.match("\s*$", lines.pop()) :
+            pass # do nothing
+
+        # A line that starts with a non-whitespace character is a name; all others describe contributions, so collect the names
+        names = []
+        for line in lines :
+            if re.match("\S", line) :
+                names.append(line.rstrip())
+        # It's not fair to always put the same people at the head of the list
+        random.shuffle(names)
+        return ', '.join(names)
 
 class WindowsManifest(ViewerManifest):
     def final_exe(self):