diff options
-rw-r--r-- | indra/newview/llappviewer.cpp | 24 | ||||
-rw-r--r-- | indra/newview/llappviewerwin32.cpp | 8 | ||||
-rw-r--r-- | indra/newview/llfolderview.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llfolderview.h | 5 | ||||
-rw-r--r-- | indra/newview/llgroupmgr.cpp | 19 | ||||
-rw-r--r-- | indra/newview/llinventorypanel.cpp | 1 | ||||
-rw-r--r-- | indra/newview/llpanellandmarkinfo.cpp | 37 | ||||
-rw-r--r-- | indra/newview/llpanellandmarks.cpp | 21 | ||||
-rw-r--r-- | indra/newview/llpanellandmarks.h | 1 | ||||
-rw-r--r-- | indra/newview/llpanelobjectinventory.cpp | 1 | ||||
-rw-r--r-- | indra/newview/llpanelpick.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llplacesinventorypanel.cpp | 1 | ||||
-rw-r--r-- | indra/newview/llstartup.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llviewermessage.cpp | 12 | ||||
-rw-r--r-- | indra/newview/llviewerwindow.cpp | 8 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_bottomtray.xml | 8 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_edit_pick.xml | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_nearby_media.xml | 5 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/strings.xml | 20 |
19 files changed, 125 insertions, 58 deletions
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index bdfe0d9142..2384e6c5ba 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -305,7 +305,9 @@ static std::string gLaunchFileOnQuit; // Used on Win32 for other apps to identify our window (eg, win_setup) const char* const VIEWER_WINDOW_CLASSNAME = "Second Life"; static const S32 FIRST_RUN_WINDOW_WIDTH = 1024; -static const S32 FIRST_RUN_WINDOW_HIGHT = 768; + +//should account for Windows task bar +static const S32 FIRST_RUN_WINDOW_HIGHT = 738; //---------------------------------------------------------------------------- // List of entries from strings.xml to always replace @@ -2199,10 +2201,12 @@ bool LLAppViewer::initConfiguration() // Display splash screen. Must be after above check for previous // crash as this dialog is always frontmost. - std::ostringstream splash_msg; - splash_msg << "Loading " << LLTrans::getString("SECOND_LIFE") << "..."; + std::string splash_msg; + LLStringUtil::format_map_t args; + args["[APP_NAME]"] = LLTrans::getString("SECOND_LIFE"); + splash_msg = LLTrans::getString("StartupLoading", args); LLSplashScreen::show(); - LLSplashScreen::update(splash_msg.str()); + LLSplashScreen::update(splash_msg); //LLVolumeMgr::initClass(); LLVolumeMgr* volume_manager = new LLVolumeMgr(); @@ -2384,7 +2388,7 @@ bool LLAppViewer::initWindow() window_width = FIRST_RUN_WINDOW_WIDTH;//yep hardcoded window_height = FIRST_RUN_WINDOW_HIGHT; - //if screen resolution is lower then 1024*768 then show maximized + //if screen resolution is lower then first run width/height then show maximized LLDisplayInfo display_info; if(display_info.getDisplayWidth() <= FIRST_RUN_WINDOW_WIDTH || display_info.getDisplayHeight()<=FIRST_RUN_WINDOW_HIGHT) @@ -3066,11 +3070,11 @@ bool LLAppViewer::initCache() if (mPurgeCache) { - LLSplashScreen::update("Clearing cache..."); + LLSplashScreen::update(LLTrans::getString("StartupClearingCache")); purgeCache(); } - LLSplashScreen::update("Initializing Texture Cache..."); + LLSplashScreen::update(LLTrans::getString("StartupInitializingTextureCache")); // Init the texture cache // Allocate 80% of the cache size for textures @@ -3083,7 +3087,7 @@ bool LLAppViewer::initCache() S64 extra = LLAppViewer::getTextureCache()->initCache(LL_PATH_CACHE, texture_cache_size, read_only); texture_cache_size -= extra; - LLSplashScreen::update("Initializing VFS..."); + LLSplashScreen::update(LLTrans::getString("StartupInitializingVFS")); // Init the VFS S64 vfs_size = cache_size - texture_cache_size; @@ -3852,7 +3856,7 @@ void LLAppViewer::idleShutdown() S32 finished_uploads = total_uploads - pending_uploads; F32 percent = 100.f * finished_uploads / total_uploads; gViewerWindow->setProgressPercent(percent); - gViewerWindow->setProgressString("Saving your settings..."); + gViewerWindow->setProgressString(LLTrans::getString("SavingSettings")); return; } @@ -3864,7 +3868,7 @@ void LLAppViewer::idleShutdown() // Wait for a LogoutReply message gViewerWindow->setShowProgress(TRUE); gViewerWindow->setProgressPercent(100.f); - gViewerWindow->setProgressString("Logging out..."); + gViewerWindow->setProgressString(LLTrans::getString("LoggingOut")); return; } diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp index 12cff32780..63d9ed19ad 100644 --- a/indra/newview/llappviewerwin32.cpp +++ b/indra/newview/llappviewerwin32.cpp @@ -480,10 +480,12 @@ bool LLAppViewerWin32::initHardwareTest() gSavedSettings.setBOOL("ProbeHardwareOnStartup", FALSE); // Disable so debugger can work - std::ostringstream splash_msg; - splash_msg << LLTrans::getString("StartupLoading") << " " << LLAppViewer::instance()->getSecondLifeTitle() << "..."; + std::string splash_msg; + LLStringUtil::format_map_t args; + args["[APP_NAME]"] = LLAppViewer::instance()->getSecondLifeTitle(); + splash_msg = LLTrans::getString("StartupLoading", args); - LLSplashScreen::update(splash_msg.str()); + LLSplashScreen::update(splash_msg); } if (!restoreErrorTrap()) diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index 0de41ee591..f74d912842 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -186,7 +186,7 @@ LLFolderView::LLFolderView(const Params& p) mNeedsAutoRename(FALSE), mDebugFilters(FALSE), mSortOrder(LLInventoryFilter::SO_FOLDERS_BY_NAME), // This gets overridden by a pref immediately - mFilter( new LLInventoryFilter(p.name) ), + mFilter( new LLInventoryFilter(p.title) ), mShowSelectionContext(FALSE), mShowSingleSelection(FALSE), mArrangeGeneration(0), diff --git a/indra/newview/llfolderview.h b/indra/newview/llfolderview.h index 38255b3cea..42390dfd17 100644 --- a/indra/newview/llfolderview.h +++ b/indra/newview/llfolderview.h @@ -93,8 +93,9 @@ class LLFolderView : public LLFolderViewFolder, public LLEditMenuHandler public: struct Params : public LLInitParam::Block<Params, LLFolderViewFolder::Params> { - Mandatory<LLPanel*> parent_panel; - Optional<LLUUID> task_id; + Mandatory<LLPanel*> parent_panel; + Optional<LLUUID> task_id; + Optional<std::string> title; }; LLFolderView(const Params&); virtual ~LLFolderView( void ); diff --git a/indra/newview/llgroupmgr.cpp b/indra/newview/llgroupmgr.cpp index aeac3841f9..7f93a357de 100644 --- a/indra/newview/llgroupmgr.cpp +++ b/indra/newview/llgroupmgr.cpp @@ -54,6 +54,7 @@ #include "llgroupactions.h" #include "llnotificationsutil.h" #include "lluictrlfactory.h" +#include "lltrans.h" #include <boost/regex.hpp> #if LL_MSVC @@ -1062,6 +1063,24 @@ void LLGroupMgr::processGroupRoleDataReply(LLMessageSystem* msg, void** data) msg->getU64("RoleData","Powers",powers,i); msg->getU32("RoleData","Members",member_count,i); + //there are 3 predifined roles - Owners, Officers, Everyone + //there names are defined in lldatagroups.cpp + //lets change names from server to localized strings + if(name == "Everyone") + { + name = LLTrans::getString("group_role_everyone"); + } + else if(name == "Officers") + { + name = LLTrans::getString("group_role_officers"); + } + else if(name == "Owners") + { + name = LLTrans::getString("group_role_owners"); + } + + + lldebugs << "Adding role data: " << name << " {" << role_id << "}" << llendl; LLGroupRoleData* rd = new LLGroupRoleData(role_id,name,title,desc,powers,member_count); group_data->mRoles[role_id] = rd; diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 8097985ade..ec83a1fd6d 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -118,6 +118,7 @@ BOOL LLInventoryPanel::postBuild() 0); LLFolderView::Params p; p.name = getName(); + p.title = getLabel(); p.rect = folder_rect; p.parent_panel = this; p.tool_tip = p.name; diff --git a/indra/newview/llpanellandmarkinfo.cpp b/indra/newview/llpanellandmarkinfo.cpp index 56d52ccc65..143a64d08b 100644 --- a/indra/newview/llpanellandmarkinfo.cpp +++ b/indra/newview/llpanellandmarkinfo.cpp @@ -383,22 +383,41 @@ std::string LLPanelLandmarkInfo::getFullFolderName(const LLViewerInventoryCatego if (cat) { name = cat->getName(); - - // translate category name, if it's right below the root - // FIXME: it can throw notification about non existent string in strings.xml - if (cat->getParentUUID().notNull() && cat->getParentUUID() == gInventory.getRootFolderID()) - { - LLTrans::findString(name, "InvFolder " + name); - } + parent_id = cat->getParentUUID(); + bool is_under_root_category = parent_id == gInventory.getRootFolderID(); // we don't want "My Inventory" to appear in the name - while ((parent_id = cat->getParentUUID()).notNull() && parent_id != gInventory.getRootFolderID()) + while ((parent_id = cat->getParentUUID()).notNull()) { cat = gInventory.getCategory(parent_id); llassert(cat); if (cat) { - name = cat->getName() + "/" + name; + if (is_under_root_category || cat->getParentUUID() == gInventory.getRootFolderID()) + { + std::string localized_name; + if (is_under_root_category) + { + // translate category name, if it's right below the root + // FIXME: it can throw notification about non existent string in strings.xml + bool is_found = LLTrans::findString(localized_name, "InvFolder " + name); + name = is_found ? localized_name : name; + } + else + { + // FIXME: it can throw notification about non existent string in strings.xml + bool is_found = LLTrans::findString(localized_name, "InvFolder " + cat->getName()); + + // add translated category name to folder's full name + name = (is_found ? localized_name : cat->getName()) + "/" + name; + } + + break; + } + else + { + name = cat->getName() + "/" + name; + } } } } diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp index 45a8dc4cbe..879fbba9cd 100644 --- a/indra/newview/llpanellandmarks.cpp +++ b/indra/newview/llpanellandmarks.cpp @@ -656,9 +656,6 @@ void LLLandmarksPanel::initListCommandsHandlers() mListCommands->childSetAction(OPTIONS_BUTTON_NAME, boost::bind(&LLLandmarksPanel::onActionsButtonClick, this)); mListCommands->childSetAction(TRASH_BUTTON_NAME, boost::bind(&LLLandmarksPanel::onTrashButtonClick, this)); - mListCommands->getChild<LLButton>(ADD_BUTTON_NAME)->setHeldDownCallback(boost::bind(&LLLandmarksPanel::onAddButtonHeldDown, this)); - static const LLSD add_landmark_command("add_landmark"); - mListCommands->childSetAction(ADD_BUTTON_NAME, boost::bind(&LLLandmarksPanel::onAddAction, this, add_landmark_command)); LLDragAndDropButton* trash_btn = mListCommands->getChild<LLDragAndDropButton>(TRASH_BUTTON_NAME); trash_btn->setDragAndDropHandler(boost::bind(&LLLandmarksPanel::handleDragAndDropToTrash, this @@ -676,6 +673,8 @@ void LLLandmarksPanel::initListCommandsHandlers() mGearLandmarkMenu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_places_gear_landmark.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); mGearFolderMenu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_places_gear_folder.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); mMenuAdd = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_place_add_button.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); + + mListCommands->childSetAction(ADD_BUTTON_NAME, boost::bind(&LLLandmarksPanel::showActionMenu, this, mMenuAdd, ADD_BUTTON_NAME)); } @@ -713,11 +712,6 @@ void LLLandmarksPanel::onActionsButtonClick() showActionMenu(menu,OPTIONS_BUTTON_NAME); } -void LLLandmarksPanel::onAddButtonHeldDown() -{ - showActionMenu(mMenuAdd,ADD_BUTTON_NAME); -} - void LLLandmarksPanel::showActionMenu(LLMenuGL* menu, std::string spawning_view_name) { if (menu) @@ -777,6 +771,12 @@ void LLLandmarksPanel::onAddAction(const LLSD& userdata) const "category"), gInventory.findCategoryUUIDForType( LLFolderType::FT_LANDMARK)); } + else + { + //in case My Landmarks tab is completely empty (thus cannot be determined as being selected) + menu_create_inventory_item(mLandmarksInventoryPanel->getRootFolder(), NULL, LLSD("category"), + gInventory.findCategoryUUIDForType(LLFolderType::FT_LANDMARK)); + } } } @@ -917,7 +917,7 @@ bool LLLandmarksPanel::isActionEnabled(const LLSD& userdata) const return false; } } - else if (!root_folder_view) + else if (!root_folder_view && "category" != command_name) { return false; } @@ -953,7 +953,8 @@ bool LLLandmarksPanel::isActionEnabled(const LLSD& userdata) const // ... but except Received folder return !isReceivedFolderSelected(); } - else return false; + //"Add a folder" is enabled by default (case when My Landmarks is empty) + else return true; } else if("create_pick" == command_name) { diff --git a/indra/newview/llpanellandmarks.h b/indra/newview/llpanellandmarks.h index f1ce1a18b5..2b46ba9933 100644 --- a/indra/newview/llpanellandmarks.h +++ b/indra/newview/llpanellandmarks.h @@ -121,7 +121,6 @@ private: void updateListCommands(); void onActionsButtonClick(); void showActionMenu(LLMenuGL* menu, std::string spawning_view_name); - void onAddButtonHeldDown(); void onTrashButtonClick() const; void onAddAction(const LLSD& command_name) const; void onClipboardAction(const LLSD& command_name) const; diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index dedd1afcde..c14812ca17 100644 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -1575,6 +1575,7 @@ void LLPanelObjectInventory::reset() LLRect dummy_rect(0, 1, 1, 0); LLFolderView::Params p; p.name = "task inventory"; + p.title = "task inventory"; p.task_id = getTaskUUID(); p.parent_panel = this; p.tool_tip= p.name; diff --git a/indra/newview/llpanelpick.cpp b/indra/newview/llpanelpick.cpp index 82bbcaf38b..f0dc493ebe 100644 --- a/indra/newview/llpanelpick.cpp +++ b/indra/newview/llpanelpick.cpp @@ -72,10 +72,6 @@ #define XML_BTN_ON_TXTR "edit_icon" #define XML_BTN_SAVE "save_changes_btn" -#define SAVE_BTN_LABEL "[WHAT]" -#define LABEL_PICK = "Pick" -#define LABEL_CHANGES = "Changes" - ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// @@ -148,8 +144,6 @@ BOOL LLPanelPickInfo::postBuild() { mSnapshotCtrl = getChild<LLTextureCtrl>(XML_SNAPSHOT); - childSetLabelArg(XML_BTN_SAVE, SAVE_BTN_LABEL, std::string("Pick")); - childSetAction("teleport_btn", boost::bind(&LLPanelPickInfo::onClickTeleport, this)); childSetAction("show_on_map_btn", boost::bind(&LLPanelPickInfo::onClickMap, this)); childSetAction("back_btn", boost::bind(&LLPanelPickInfo::onClickBack, this)); diff --git a/indra/newview/llplacesinventorypanel.cpp b/indra/newview/llplacesinventorypanel.cpp index f1e450a083..ed0fb54051 100644 --- a/indra/newview/llplacesinventorypanel.cpp +++ b/indra/newview/llplacesinventorypanel.cpp @@ -92,6 +92,7 @@ BOOL LLPlacesInventoryPanel::postBuild() 0); LLPlacesFolderView::Params p; p.name = getName(); + p.title = getLabel(); p.rect = folder_rect; p.parent_panel = this; mFolders = (LLFolderView*)LLUICtrlFactory::create<LLPlacesFolderView>(p); diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 025dd6029a..d4d6a74f0c 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -1040,7 +1040,7 @@ bool idle_startup() if(STATE_LOGIN_PROCESS_RESPONSE == LLStartUp::getStartupState()) { std::ostringstream emsg; - emsg << "Login failed.\n"; + emsg << LLTrans::getString("LoginFailed") << "\n"; if(LLLoginInstance::getInstance()->authFailure()) { LL_INFOS("LLStartup") << "Login failed, LLLoginInstance::getResponse(): " diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index b90e3dcda4..2b4f33b8ed 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1500,7 +1500,9 @@ void inventory_offer_handler(LLOfferInfo* info) std::string typestr = ll_safe_string(LLAssetType::lookupHumanReadable(info->mType)); if (!typestr.empty()) { - args["OBJECTTYPE"] = typestr; + // human readable matches string name from strings.xml + // lets get asset type localized name + args["OBJECTTYPE"] = LLTrans::getString(typestr); } else { @@ -4484,11 +4486,13 @@ void process_money_balance_reply( LLMessageSystem* msg, void** ) std::string ammount = desc.substr(marker_pos + marker.length(),desc.length() - marker.length() - marker_pos); //reform description - std::string paid_you = LLTrans::getString("paid_you_ldollars"); - std::string new_description = base_name + paid_you + ammount; + LLStringUtil::format_map_t str_args; + str_args["NAME"] = base_name; + str_args["AMOUNT"] = ammount; + std::string new_description = LLTrans::getString("paid_you_ldollars", str_args); + args["MESSAGE"] = new_description; - args["NAME"] = name; LLSD payload; payload["from_id"] = from_id; diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index d0a1a31ebd..adac4b9b40 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1124,7 +1124,7 @@ BOOL LLViewerWindow::handleActivate(LLWindow *window, BOOL activated) { // if we're in world, show a progress bar to hide reloading of textures llinfos << "Restoring GL during activate" << llendl; - restoreGL("Restoring..."); + restoreGL(LLTrans::getString("ProgressRestoring")); } else { @@ -1384,7 +1384,7 @@ LLViewerWindow::LLViewerWindow( if (NULL == mWindow) { - LLSplashScreen::update("Shutting down..."); + LLSplashScreen::update(LLTrans::getString("ShuttingDown")); #if LL_LINUX || LL_SOLARIS llwarns << "Unable to create window, be sure screen is set at 32-bit color and your graphics driver is configured correctly. See README-linux.txt or README-solaris.txt for further information." << llendl; @@ -4758,7 +4758,7 @@ void LLViewerWindow::restartDisplay(BOOL show_progress_bar) stopGL(); if (show_progress_bar) { - restoreGL("Changing Resolution..."); + restoreGL(LLTrans::getString("ProgressChangingResolution")); } else { @@ -4845,7 +4845,7 @@ BOOL LLViewerWindow::changeDisplaySettings(BOOL fullscreen, LLCoordScreen size, llinfos << "Restoring GL during resolution change" << llendl; if (show_progress_bar) { - restoreGL("Changing Resolution..."); + restoreGL(LLTrans::getString("ProgressChangingResolution")); } else { diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray.xml b/indra/newview/skins/default/xui/en/panel_bottomtray.xml index 015a2e91ff..e70a0512d6 100644 --- a/indra/newview/skins/default/xui/en/panel_bottomtray.xml +++ b/indra/newview/skins/default/xui/en/panel_bottomtray.xml @@ -59,9 +59,9 @@ height="28" layout="topleft" min_height="28" - width="100" + width="105" top_delta="0" - min_width="100" + min_width="54" name="speak_panel" user_resize="false"> <talk_button @@ -73,11 +73,13 @@ left="0" name="talk" top="5" - width="100"> + width="105"> <speak_button + halign="left" name="speak_btn" label="Speak" label_selected="Speak" + pad_left="12" /> <show_button> <show_button.init_callback diff --git a/indra/newview/skins/default/xui/en/panel_edit_pick.xml b/indra/newview/skins/default/xui/en/panel_edit_pick.xml index 15517fb805..08ee0306dd 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_pick.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_pick.xml @@ -183,7 +183,7 @@ <button follows="bottom|left" height="23" - label="Save [WHAT]" + label="Save Pick" layout="topleft" name="save_changes_btn" left="0" diff --git a/indra/newview/skins/default/xui/en/panel_nearby_media.xml b/indra/newview/skins/default/xui/en/panel_nearby_media.xml index 7c0ce9e62e..d14712a7fa 100644 --- a/indra/newview/skins/default/xui/en/panel_nearby_media.xml +++ b/indra/newview/skins/default/xui/en/panel_nearby_media.xml @@ -95,6 +95,7 @@ follows="top|left" font="SansSerif" left="10" + name="nearby_media" width="100"> Nearby Media </text> @@ -105,6 +106,7 @@ font="SansSerif" top_pad="15" left="10" + name="show" width="40"> Show: </text> @@ -130,7 +132,7 @@ <combo_box.item label="On other Avatars" value="4" - ame="OnOthers" /> + name="OnOthers" /> </combo_box> <scroll_list name="media_list" @@ -179,6 +181,7 @@ top_pad="5" height="30" left="10" + name="media_controls_panel" right="-10"> <layout_stack name="media_controls" diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 48fa5dd44f..431ecda5f1 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -14,7 +14,14 @@ <!-- starting up --> <string name="StartupDetectingHardware">Detecting hardware...</string> - <string name="StartupLoading">Loading</string> + <string name="StartupLoading">Loading [APP_NAME]...</string> + <string name="StartupClearingCache">Clearing cache...</string> + <string name="StartupInitializingTextureCache">Initializing Texture Cache...</string> + <string name="StartupInitializingVFS">Initializing VFS...</string> + + <!-- progress --> + <string name="ProgressRestoring">Restoring...</string> + <string name="ProgressChangingResolution">Changing Resolution...</string> <!-- Legacy strings, almost never used --> <string name="Fullbright">Fullbright (Legacy)</string> <!-- used in the Build > materials dropdown--> @@ -40,11 +47,15 @@ <string name="LoginConnectingToRegion">Connecting to region...</string> <string name="LoginDownloadingClothing">Downloading clothing...</string> <string name="LoginFailedNoNetwork">Network Error: Could not establish connection, please check your network connection.</string> + <string name="LoginFailed">Login failed.</string> <string name="Quit">Quit</string> <string name="create_account_url">http://join.secondlife.com/</string> <!-- Disconnection --> <string name="AgentLostConnection">This region may be experiencing trouble. Please check your connection to the Internet.</string> + <string name="SavingSettings">Saving your settings...</string> + <string name="LoggingOut">Logging out...</string> + <string name="ShuttingDown">Shutting down...</string> <!-- Tooltip, lltooltipview.cpp --> @@ -134,6 +145,7 @@ <string name="AssetErrorUnknownStatus">Unknown status</string> <!-- Asset Type human readable names: these will replace variable [TYPE] in notification FailedToFindWearable* --> + <!-- Will also replace [OBJECTTYPE] in notifications: UserGiveItem, ObjectGiveItem --> <string name="texture">texture</string> <string name="sound">sound</string> <string name="calling card">calling card</string> @@ -158,6 +170,7 @@ <string name="simstate">simstate</string> <string name="favorite">favorite</string> <string name="symbolic link">link</string> + <string name="symbolic folder link">folder link</string> <!-- llvoavatar. Displayed in the avatar chat bubble --> <string name="AvatarEditingAppearance">(Editing Appearance)</string> @@ -3016,6 +3029,9 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. [SOURCES] have said something new </string>" - <string name="paid_you_ldollars">"paid you L$"</string>" + <string name="paid_you_ldollars">[NAME] paid you L$[AMOUNT]</string> + <string name="group_role_everyone">Everyone</string> + <string name="group_role_officers">Officers</string> + <string name="group_role_owners">Owners</string> </strings> |