diff options
Diffstat (limited to 'indra')
24 files changed, 336 insertions, 106 deletions
diff --git a/indra/llmessage/lltemplatemessagereader.cpp b/indra/llmessage/lltemplatemessagereader.cpp index f470e1b2a5..ab91f74abe 100644 --- a/indra/llmessage/lltemplatemessagereader.cpp +++ b/indra/llmessage/lltemplatemessagereader.cpp @@ -795,7 +795,7 @@ const char* LLTemplateMessageReader::getMessageName() const { if (!mCurrentRMessageTemplate) { - llwarns << "no mCurrentRMessageTemplate" << llendl; + // no message currently being read return ""; } return mCurrentRMessageTemplate->mName; diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 86fbc248b0..7e1d46f0e8 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1253,10 +1253,13 @@ if (WINDOWS) endif(USE_PRECOMPILED_HEADERS) # Replace the icons with the appropriate ones for the channel + # ('test' is the default) set(ICON_PATH "test") string(TOLOWER ${VIEWER_CHANNEL} channel_lower) - if(channel_lower MATCHES "^(release|beta|development)") + if(channel_lower MATCHES "^(release|development)") set(ICON_PATH ${channel_lower}) + elseif(channel_lower MATCHES "^(beta.*)") + set(ICON_PATH "beta") elseif(channel_lower MATCHES "^(project.*)") set(ICON_PATH "project") endif() diff --git a/indra/newview/llfloaterabout.cpp b/indra/newview/llfloaterabout.cpp index 2873bc0059..849826bb6b 100644 --- a/indra/newview/llfloaterabout.cpp +++ b/indra/newview/llfloaterabout.cpp @@ -26,6 +26,8 @@ */ #include "llviewerprecompiledheaders.h" +#include <iostream> +#include <fstream> #include "llfloaterabout.h" @@ -108,8 +110,14 @@ BOOL LLFloaterAbout::postBuild() 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)); @@ -190,8 +198,59 @@ BOOL LLFloaterAbout::postBuild() 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; } diff --git a/indra/newview/llfloaterbuyland.cpp b/indra/newview/llfloaterbuyland.cpp index 5cfdd69f7b..8223e89b64 100644 --- a/indra/newview/llfloaterbuyland.cpp +++ b/indra/newview/llfloaterbuyland.cpp @@ -508,7 +508,9 @@ void LLFloaterBuyLandUI::updateCovenantInfo() 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) @@ -530,6 +532,7 @@ void LLFloaterBuyLandUI::updateCovenantInfo() if (region_type) { region_type->setText(region->getLocalizedSimProductName()); + region_type->setToolTip(region->getLocalizedSimProductName()); } LLTextBox* resellable_clause = getChild<LLTextBox>("resellable_clause"); @@ -619,7 +622,8 @@ void LLFloaterBuyLandUI::updateFloaterCovenantText(const std::string &string, co 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) diff --git a/indra/newview/llfloatervoiceeffect.cpp b/indra/newview/llfloatervoiceeffect.cpp index 2a3950f9b1..030fed0575 100644 --- a/indra/newview/llfloatervoiceeffect.cpp +++ b/indra/newview/llfloatervoiceeffect.cpp @@ -145,7 +145,7 @@ void LLFloaterVoiceEffect::refreshEffectList() 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); diff --git a/indra/newview/llfloaterwebcontent.cpp b/indra/newview/llfloaterwebcontent.cpp index 03e90a3d27..2c9a736aff 100644 --- a/indra/newview/llfloaterwebcontent.cpp +++ b/indra/newview/llfloaterwebcontent.cpp @@ -229,10 +229,8 @@ void LLFloaterWebContent::open_media(const Params& p) getChild<LLLayoutPanel>("status_bar")->setVisible(p.show_chrome); getChild<LLLayoutPanel>("nav_controls")->setVisible(p.show_chrome); bool address_entry_enabled = p.allow_address_entry && !p.trusted_content; - // disable components of combo box so that we can still select and copy text from address bar (a disabled line editor still allows this, but not if its parent is disabled) - getChildView("address")->getChildView("Combo Text Entry")->setEnabled(address_entry_enabled); - getChildView("address")->getChildView("Combobox Button")->setEnabled(address_entry_enabled); - getChildView("address")->getChildView("ComboBox")->setEnabled(address_entry_enabled); + getChildView("address")->setEnabled(address_entry_enabled); + getChildView("popexternal")->setEnabled(address_entry_enabled); if (!address_entry_enabled) { diff --git a/indra/newview/llpanelcontents.cpp b/indra/newview/llpanelcontents.cpp index bf3bf38863..a64b4ec94d 100644 --- a/indra/newview/llpanelcontents.cpp +++ b/indra/newview/llpanelcontents.cpp @@ -172,7 +172,7 @@ void LLPanelContents::onClickNewScript(void *userdata) LLUUID::null, LLAssetType::AT_LSL_TEXT, LLInventoryType::IT_LSL, - LLTrans::getString("PanelContentsNewScript"), + "New Script", desc, LLSaleInfo::DEFAULT, LLInventoryItemFlags::II_FLAGS_NONE, diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index e3b61f695a..83ba8afbfc 100644 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -83,6 +83,7 @@ protected: LLAssetType::EType mAssetType; LLInventoryType::EType mInventoryType; + LLInventoryObject* findInvObject() const; LLInventoryItem* findItem() const; public: @@ -162,16 +163,22 @@ LLTaskInvFVBridge::LLTaskInvFVBridge( } } -LLInventoryItem* LLTaskInvFVBridge::findItem() const +LLInventoryObject* LLTaskInvFVBridge::findInvObject() const { LLViewerObject* object = gObjectList.findObject(mPanel->getTaskUUID()); - if(object) + if (object) { - return dynamic_cast<LLInventoryItem*>(object->getInventoryObject(mUUID)); + return object->getInventoryObject(mUUID); } return NULL; } + +LLInventoryItem* LLTaskInvFVBridge::findItem() const +{ + return dynamic_cast<LLInventoryItem*>(findInvObject()); +} + void LLTaskInvFVBridge::showProperties() { show_task_item_profile(mUUID, mPanel->getTaskUUID()); @@ -295,21 +302,15 @@ const std::string& LLTaskInvFVBridge::getDisplayName() const if(item) { - if(item->getParentUUID().isNull()) - { - if(item->getName() == "Contents") - { - mDisplayName.assign(LLTrans::getString("ViewerObjectContents")); - } - else - { - mDisplayName.assign(item->getName()); - } - } - else + 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")) { - mDisplayName.assign(item->getName()); + LLStringUtil::replaceString(mDisplayName, "New Script", LLTrans::getString("PanelContentsNewScript")); } + 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); @@ -700,7 +701,7 @@ public: 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); @@ -728,6 +729,27 @@ LLUIImagePtr LLTaskCategoryBridge::getIcon() const 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; diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index b5fdca632b..cd71b6d42a 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -2750,7 +2750,7 @@ void LLViewerObject::processTaskInv(LLMessageSystem* msg, void** user_data) 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; @@ -2817,7 +2817,7 @@ void LLViewerObject::loadTaskInvFile(const std::string& filename) { LLPointer<LLInventoryObject> inv = new LLInventoryObject; inv->importLegacyStream(ifs); - inv->rename(LLTrans::getString("ViewerObjectContents").c_str()); + inv->rename("Contents"); mInventory->push_front(inv); } else diff --git a/indra/newview/skins/default/xui/da/strings.xml b/indra/newview/skins/default/xui/da/strings.xml index b5d8ac44bc..165d47c931 100644 --- a/indra/newview/skins/default/xui/da/strings.xml +++ b/indra/newview/skins/default/xui/da/strings.xml @@ -1835,7 +1835,7 @@ Prøv venligst om lidt igen. <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"> diff --git a/indra/newview/skins/default/xui/de/floater_delete_env_preset.xml b/indra/newview/skins/default/xui/de/floater_delete_env_preset.xml index c924716523..cc14ce640d 100644 --- a/indra/newview/skins/default/xui/de/floater_delete_env_preset.xml +++ b/indra/newview/skins/default/xui/de/floater_delete_env_preset.xml @@ -4,7 +4,7 @@ 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 diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml index e1c9ad0e5c..5cfec6446b 100644 --- a/indra/newview/skins/default/xui/de/strings.xml +++ b/indra/newview/skins/default/xui/de/strings.xml @@ -1882,7 +1882,7 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden. <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"> diff --git a/indra/newview/skins/default/xui/en/floater_about.xml b/indra/newview/skins/default/xui/en/floater_about.xml index a8b3ce9c28..3dd394bac1 100644 --- a/indra/newview/skins/default/xui/en/floater_about.xml +++ b/indra/newview/skins/default/xui/en/floater_about.xml @@ -98,26 +98,80 @@ Packets Lost: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number 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 diff --git a/indra/newview/skins/default/xui/en/floater_build_options.xml b/indra/newview/skins/default/xui/en/floater_build_options.xml index c247a12e7a..afb7917043 100644 --- a/indra/newview/skins/default/xui/en/floater_build_options.xml +++ b/indra/newview/skins/default/xui/en/floater_build_options.xml @@ -37,7 +37,7 @@ layout="topleft" left="10" tool_tip="Grid opacity" - name="grid_opacity_label" + name="grid_mode_label" top_pad="30" width="123"> Mode diff --git a/indra/newview/skins/default/xui/en/floater_buy_land.xml b/indra/newview/skins/default/xui/en/floater_buy_land.xml index ab81a86720..22cc058e46 100644 --- a/indra/newview/skins/default/xui/en/floater_buy_land.xml +++ b/indra/newview/skins/default/xui/en/floater_buy_land.xml @@ -208,7 +208,7 @@ supports [AMOUNT2] objects name="region_name_text" top_delta="0" use_ellipses="true" - width="155"> + width="150"> (unknown) </text> <icon @@ -240,7 +240,8 @@ supports [AMOUNT2] objects left_delta="125" name="region_type_text" top_delta="0" - width="175"> + use_ellipses="true" + width="170"> (unknown) </text> <text @@ -265,7 +266,8 @@ supports [AMOUNT2] objects left_delta="125" name="estate_name_text" top_delta="0" - width="175"> + use_ellipses="true" + width="170"> (unknown) </text> <text @@ -290,7 +292,8 @@ supports [AMOUNT2] objects left_delta="125" name="estate_owner_text" top_delta="0" - width="175"> + use_ellipses="true" + width="170"> (unknown) </text> <text @@ -348,11 +351,10 @@ supports [AMOUNT2] objects 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" diff --git a/indra/newview/skins/default/xui/en/floater_model_wizard.xml b/indra/newview/skins/default/xui/en/floater_model_wizard.xml index b5a5ff5342..3d16ccbc45 100644 --- a/indra/newview/skins/default/xui/en/floater_model_wizard.xml +++ b/indra/newview/skins/default/xui/en/floater_model_wizard.xml @@ -108,7 +108,7 @@ height="22" top_pad="15" width="505" - name="header_panel" + name="choose_file_header_panel" bg_opaque_color="DkGray2" background_visible="true" background_opaque="true" @@ -117,7 +117,7 @@ width="200" left="10" top="3" - name="header_text" + name="choose_file_header_text" text_color="White" height="10" font="SansSerifBig" @@ -130,7 +130,7 @@ left="15" height="310" width="505" - name="content" + name="choose_file_content_panel" bg_opaque_color="DkGray2" background_visible="true" background_opaque="true"> @@ -163,7 +163,7 @@ height="10" layout="topleft" left_delta="0" - name="Cache location" + name="choose_model_file_label" width="320"> Choose model file to upload </text> @@ -199,7 +199,7 @@ height="10" layout="topleft" left="10" - name="Cache location" + name="support_collada_text" width="320"> Second Life supports COLLADA (.dae) files </text> @@ -221,6 +221,7 @@ width="130" height="14" left_delta="0" + name="dimensions_label" text_color="White" word_wrap="true"> Dimensions (meters): @@ -287,7 +288,7 @@ <panel height="22" top_pad="15" - name="header_panel" + name="optimize_header_panel" width="505" bg_opaque_color="DkGray2" background_visible="true" @@ -296,7 +297,7 @@ <text width="200" left="10" - name="header_text" + name="optimize_header_text" top="3" text_color="White" height="10" @@ -311,7 +312,7 @@ 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. @@ -322,11 +323,12 @@ 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" @@ -401,12 +403,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> @@ -424,21 +426,24 @@ 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" @@ -454,7 +459,7 @@ Higher prim weight</text> 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 @@ -471,16 +476,16 @@ Higher prim weight</text> </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> @@ -497,7 +502,7 @@ Higher prim weight</text> <panel height="22" top_pad="15" - name="header_panel" + name="physics_header_panel" width="505" bg_opaque_color="DkGray2" background_visible="true" @@ -506,7 +511,7 @@ Higher prim weight</text> <text width="200" left="10" - name="header_text" + name="physics_header_text" top="3" height="10" font="SansSerifBig" @@ -521,7 +526,7 @@ Higher prim weight</text> 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. @@ -531,16 +536,16 @@ Higher prim weight</text> 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> @@ -558,15 +563,15 @@ 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> @@ -592,7 +597,7 @@ 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 @@ -609,16 +614,16 @@ Buildings</text> </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> @@ -635,7 +640,7 @@ Buildings</text> <panel height="22" top_pad="15" - name="header_panel" + name="review_header_panel" width="505" bg_opaque_color="DkGray2" background_visible="true" @@ -644,7 +649,7 @@ Buildings</text> <text width="200" left="10" - name="header_text" + name="review_header_text" text_color="White" top="3" height="10" @@ -658,7 +663,7 @@ Buildings</text> left="15" height="310" width="505" - name="content" + name="review_content_panel" bg_opaque_color="DkGray2" background_visible="true" background_opaque="true"> @@ -706,7 +711,7 @@ Buildings</text> <panel height="22" top_pad="15" - name="header_panel" + name="upload_header_panel" width="505" bg_opaque_color="DkGray2" background_visible="true" @@ -715,7 +720,7 @@ Buildings</text> <text width="200" left="10" - name="header_text" + name="upload_header_text" top="3" text_color="White" height="10" diff --git a/indra/newview/skins/default/xui/en/floater_openobject.xml b/indra/newview/skins/default/xui/en/floater_openobject.xml index 41a440aaa0..f526970ad0 100644 --- a/indra/newview/skins/default/xui/en/floater_openobject.xml +++ b/indra/newview/skins/default/xui/en/floater_openobject.xml @@ -22,6 +22,7 @@ layout="topleft" left="10" name="object_name" + parse_urls="false" top="20" width="284"> [DESC]: diff --git a/indra/newview/skins/default/xui/en/floater_voice_effect.xml b/indra/newview/skins/default/xui/en/floater_voice_effect.xml index 9bf9cc6c77..2c754cd8d0 100644 --- a/indra/newview/skins/default/xui/en/floater_voice_effect.xml +++ b/indra/newview/skins/default/xui/en/floater_voice_effect.xml @@ -25,6 +25,46 @@ <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" diff --git a/indra/newview/skins/default/xui/it/strings.xml b/indra/newview/skins/default/xui/it/strings.xml index 4bcb4dd88f..36a2d07409 100644 --- a/indra/newview/skins/default/xui/it/strings.xml +++ b/indra/newview/skins/default/xui/it/strings.xml @@ -1855,7 +1855,7 @@ Prova ad accedere nuovamente tra un minuto. <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"> diff --git a/indra/newview/skins/default/xui/nl/strings.xml b/indra/newview/skins/default/xui/nl/strings.xml index e9db237e82..ca6b8eb521 100644 --- a/indra/newview/skins/default/xui/nl/strings.xml +++ b/indra/newview/skins/default/xui/nl/strings.xml @@ -1300,9 +1300,7 @@ <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"> diff --git a/indra/newview/skins/default/xui/pl/strings.xml b/indra/newview/skins/default/xui/pl/strings.xml index e93da48dc0..6a8309cca5 100644 --- a/indra/newview/skins/default/xui/pl/strings.xml +++ b/indra/newview/skins/default/xui/pl/strings.xml @@ -1695,7 +1695,7 @@ <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"> diff --git a/indra/newview/skins/default/xui/pt/strings.xml b/indra/newview/skins/default/xui/pt/strings.xml index 3b3b7041d7..73b954d79d 100644 --- a/indra/newview/skins/default/xui/pt/strings.xml +++ b/indra/newview/skins/default/xui/pt/strings.xml @@ -1810,7 +1810,7 @@ Titulares de contas gratuitas não poderão acessar o Second Life para acomodar <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"> diff --git a/indra/newview/skins/default/xui/zh/strings.xml b/indra/newview/skins/default/xui/zh/strings.xml index 28b8cce5b2..53f997017d 100644 --- a/indra/newview/skins/default/xui/zh/strings.xml +++ b/indra/newview/skins/default/xui/zh/strings.xml @@ -1728,7 +1728,7 @@ <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"> diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 34565835e9..cd9d52cb85 100644 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -31,6 +31,7 @@ import os.path 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')) @@ -62,6 +63,26 @@ class ViewerManifest(LLManifest): # 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") @@ -147,10 +168,11 @@ class ViewerManifest(LLManifest): icon_path="icons/" channel_type=self.channel_lowerword() if channel_type == 'release' \ - or channel_type == 'beta' \ or channel_type == 'development' \ : icon_path += channel_type + elif channel_type == 'betaviewer' : + icon_path += 'beta' elif re.match('project.*',channel_type) : icon_path += 'project' else : @@ -188,6 +210,28 @@ class ViewerManifest(LLManifest): 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): |