Bug 1279647 - Period instead of em dash. draft wider-dash-in-title-bar
authorh-h <henrik.hank@aol.de>
Sun, 10 Jun 2018 08:34:26 +0200
branchwider-dash-in-title-bar
changeset 806494 d7fbe0335eeb3f3568c411d46744de85dffb8b38
parent 806474 874dedd55599e4b87fe37a497a968c079f1cca69
push id112899
push userbmo:henrik.hank@aol.de
push dateSun, 10 Jun 2018 06:46:47 +0000
bugs1279647
milestone62.0a1
Bug 1279647 - Period instead of em dash. MozReview-Commit-ID: 3ZzmH58586k
browser/components/places/content/places.js
browser/locales/en-US/chrome/browser/browser.dtd
browser/locales/en-US/chrome/browser/pageInfo.properties
browser/locales/en-US/chrome/browser/tabbrowser.properties
browser/locales/en-US/chrome/browser/webrtcIndicator.properties
devtools/client/locales/en-US/animationinspector.properties
devtools/client/locales/en-US/toolbox.properties
dom/locales/en-US/chrome/dom/dom.properties
dom/locales/en-US/chrome/layout/MediaDocument.properties
layout/tools/layout-debug/ui/content/layoutdebug.xul
toolkit/locales/en-US/chrome/global/aboutServiceWorkers.properties
toolkit/locales/en-US/chrome/mozapps/profile/profileSelection.properties
--- a/browser/components/places/content/places.js
+++ b/browser/components/places/content/places.js
@@ -459,16 +459,20 @@ var PlacesOrganizer = {
       for (let i = 0; i < backupFiles.length; i++) {
         let fileSize = (await OS.File.stat(backupFiles[i])).size;
         let [size, unit] = DownloadUtils.convertByteUnits(fileSize);
         let sizeString = PlacesUtils.getFormattedString("backupFileSizeText",
                                                         [size, unit]);
         let sizeInfo;
         let bookmarkCount = PlacesBackups.getBookmarkCountForFile(backupFiles[i]);
         if (bookmarkCount != null) {
+          // TODO: Don't hardcode " - ". Instead, use localized separator dash
+          // that's also used in the title bar of a browser window. See:
+          // "browser.dtd"; `getWindowTitleForBrowser()` in "tabbrowser.js";
+          // text " \u2014 " in various .properties files.
           sizeInfo = " (" + sizeString + " - " +
                      PlacesUIUtils.getPluralString("detailsPane.itemsCountLabel",
                                                    bookmarkCount,
                                                    [bookmarkCount]) +
                      ")";
         } else {
           sizeInfo = " (" + sizeString + ")";
         }
--- a/browser/locales/en-US/chrome/browser/browser.dtd
+++ b/browser/locales/en-US/chrome/browser/browser.dtd
@@ -1,24 +1,32 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <!-- LOCALIZATION NOTE : FILE This file contains the browser main menu items -->
 <!-- LOCALIZATION NOTE : FILE Do not translate commandkeys -->
 
 <!-- LOCALIZATION NOTE (mainWindow.title): DONT_TRANSLATE -->
-<!ENTITY mainWindow.title "&brandFullName;">
-<!-- LOCALIZATION NOTE (mainWindow.titlemodifier) : DONT_TRANSLATE -->
-<!ENTITY mainWindow.titlemodifier "&brandFullName;">
-<!-- LOCALIZATION NOTE (mainWindow.titlemodifiermenuseparator): DONT_TRANSLATE -->
-<!ENTITY mainWindow.titlemodifiermenuseparator " - ">
-<!-- LOCALIZATION NOTE (mainWindow.titlePrivateBrowsingSuffix): This will be appended to the window's title
-                                                                inside the private browsing mode -->
-<!ENTITY mainWindow.titlePrivateBrowsingSuffix "(Private Browsing)">
+<!ENTITY mainWindow.title                       "&brandFullName;">
+<!-- LOCALIZATION NOTE (mainWindow.titlemodifier): DONT_TRANSLATE -->
+<!ENTITY mainWindow.titlemodifier               "&brandFullName;">
+<!-- LOCALIZATION NOTE (mainWindow.titlemodifiermenuseparator): This is the
+     separator dash, including spaces, that's used in the title bar of a window.
+     Choose the dash that's usually used in a typographically well-designed
+     context in your language. Typically, that means using an em dash
+     (`&#x2014;`) or en dash (`&#x2013;`). Note that the very short hyphen in
+     this role can be considered a leftover of the ANSI era and should not be
+     used. You also have to search through .properties files for separator
+     dashes and use the same code point there as in the line below (find
+     " \u2014 " or, possibly, " - "). -->
+<!ENTITY mainWindow.titlemodifiermenuseparator  " &#x2014; ">
+<!-- LOCALIZATION NOTE (mainWindow.titlePrivateBrowsingSuffix): This will be
+     appended to the window's title inside the private browsing mode. -->
+<!ENTITY mainWindow.titlePrivateBrowsingSuffix  "(Private Browsing)">
 
 <!ENTITY appmenu.tooltip                     "Open menu">
 <!ENTITY navbarOverflow.label                "More tools…">
 
 <!-- Tab context menu -->
 <!ENTITY  reloadTab.label                    "Reload Tab">
 <!ENTITY  reloadTab.accesskey                "R">
 <!ENTITY  reloadAllTabs.label                "Reload All Tabs">
--- a/browser/locales/en-US/chrome/browser/pageInfo.properties
+++ b/browser/locales/en-US/chrome/browser/pageInfo.properties
@@ -1,14 +1,14 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-pageInfo.page.title=Page Info - %S
-pageInfo.frame.title=Frame Info - %S
+pageInfo.page.title=Page Info \u2014 %S
+pageInfo.frame.title=Frame Info \u2014 %S
 
 noPageTitle=Untitled Page:
 unknown=Unknown
 notset=Not specified
 yes=Yes
 no=No
 
 mediaImg=Image
--- a/browser/locales/en-US/chrome/browser/tabbrowser.properties
+++ b/browser/locales/en-US/chrome/browser/tabbrowser.properties
@@ -34,17 +34,17 @@ tabs.unblockAudio.tooltip=Play tab
 # LOCALIZATION NOTE (tabs.allowTabFocusByPromptForSite):
 # %S is the hostname of the site where dialogs are allowed to switch tabs
 tabs.allowTabFocusByPromptForSite=Allow dialogs from %S to take you to their tab
 
 # LOCALIZATION NOTE (tabs.containers.tooltip):
 # Displayed as a tooltip on container tabs
 # %1$S is the title of the current tab
 # %2$S is the name of the current container
-tabs.containers.tooltip=%1$S - %2$S
+tabs.containers.tooltip=%1$S \u2014 %2$S
 
 # LOCALIZATION NOTE (tabs.openWarningTitle, tabs.openWarningMultipleBranded, tabs.openButtonMultiple, tabs.openWarningPromptMeBranded):
 # These items are moved from chrome/browser/places/places.properties
 # Now they are not specific to bookmark.
 tabs.openWarningTitle=Confirm open
 tabs.openWarningMultipleBranded=You are about to open %S tabs.  This might slow down %S while the pages are loading.  Are you sure you want to continue?
 tabs.openButtonMultiple=Open tabs
 tabs.openWarningPromptMeBranded=Warn me when opening multiple tabs might slow down %S
--- a/browser/locales/en-US/chrome/browser/webrtcIndicator.properties
+++ b/browser/locales/en-US/chrome/browser/webrtcIndicator.properties
@@ -2,17 +2,17 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 # LOCALIZATION NOTE : FILE This file contains the webrtc global indicator strings
 
 # LOCALIZATION NOTE (webrtcIndicator.windowtitle): %S is the brand name (e.g. Firefox).
 # This string is used so that the window has a title in tools that enumerate/look for window
 # titles. It is not normally visible anywhere.
-webrtcIndicator.windowtitle = %S - Sharing Indicator
+webrtcIndicator.windowtitle = %S \u2014 Sharing Indicator
 
 webrtcIndicator.sharingCameraAndMicrophone.tooltip = Your camera and microphone are being shared. Click to control sharing.
 webrtcIndicator.sharingCamera.tooltip              = Your camera is being shared. Click to control sharing.
 webrtcIndicator.sharingMicrophone.tooltip          = Your microphone is being shared. Click to control sharing.
 webrtcIndicator.sharingApplication.tooltip = An application is being shared. Click to control sharing.
 webrtcIndicator.sharingScreen.tooltip = Your screen is being shared. Click to control sharing.
 webrtcIndicator.sharingWindow.tooltip = A window is being shared. Click to control sharing.
 webrtcIndicator.sharingBrowser.tooltip = A tab is being shared. Click to control sharing.
--- a/devtools/client/locales/en-US/animationinspector.properties
+++ b/devtools/client/locales/en-US/animationinspector.properties
@@ -153,29 +153,29 @@ timeline.rewindButtonTooltip=Rewind the 
 # graduation, to indicate what duration (in milliseconds) this graduation
 # corresponds to.
 timeline.timeGraduationLabel=%Sms
 
 # LOCALIZATION NOTE (timeline.cssanimation.nameLabel):
 # This string is displayed in a tooltip of the animation panel that is shown
 # when hovering over the name of a CSS Animation in the timeline UI.
 # %S will be replaced by the name of the animation at run-time.
-timeline.cssanimation.nameLabel=%S - CSS Animation
+timeline.cssanimation.nameLabel=%S \u2014 CSS Animation
 
 # LOCALIZATION NOTE (timeline.csstransition.nameLabel):
 # This string is displayed in a tooltip of the animation panel that is shown
 # when hovering over the name of a CSS Transition in the timeline UI.
 # %S will be replaced by the name of the transition at run-time.
-timeline.csstransition.nameLabel=%S - CSS Transition
+timeline.csstransition.nameLabel=%S \u2014 CSS Transition
 
 # LOCALIZATION NOTE (timeline.scriptanimation.nameLabel):
 # This string is displayed in a tooltip of the animation panel that is shown
 # when hovering over the name of a script-generated animation in the timeline UI.
 # %S will be replaced by the name of the animation at run-time.
-timeline.scriptanimation.nameLabel=%S - Script Animation
+timeline.scriptanimation.nameLabel=%S \u2014 Script Animation
 
 # LOCALIZATION NOTE (timeline.scriptanimation.unnamedLabel):
 # This string is displayed in a tooltip of the animation panel that is shown
 # when hovering over an unnamed script-generated animation in the timeline UI.
 timeline.scriptanimation.unnamedLabel=Script Animation
 
 # LOCALIZATION NOTE (timeline.unknown.nameLabel):
 # This string is displayed in a tooltip of the animation panel that is shown
--- a/devtools/client/locales/en-US/toolbox.properties
+++ b/devtools/client/locales/en-US/toolbox.properties
@@ -1,22 +1,22 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 # LOCALIZATION NOTE (toolbox.titleTemplate1): This is the template
 # used to format the title of the toolbox.
 # The URL of the page being targeted: %1$S.
-toolbox.titleTemplate1=Developer Tools - %1$S
+toolbox.titleTemplate1=Developer Tools \u2014 %1$S
 
 # LOCALIZATION NOTE (toolbox.titleTemplate2): This is the template
 # used to format the title of the toolbox.
 # The page title or other name for the thing being targeted: %1$S
 # The URL of the page being targeted: %2$S.
-toolbox.titleTemplate2=Developer Tools - %1$S - %2$S
+toolbox.titleTemplate2=Developer Tools \u2014 %1$S \u2014 %2$S
 
 # LOCALIZATION NOTE (toolbox.defaultTitle): This is used as the tool
 # name when no tool is selected.
 toolbox.defaultTitle=Developer Tools
 
 # LOCALIZATION NOTE (toolbox.label): This is used as the label for the
 # toolbox as a whole
 toolbox.label=Developer Tools
--- a/dom/locales/en-US/chrome/dom/dom.properties
+++ b/dom/locales/en-US/chrome/dom/dom.properties
@@ -15,17 +15,17 @@ KillAddonScriptGlobalMessage=Prevent the
 
 StopScriptButton=Stop script
 DebugScriptButton=Debug script
 WaitForScriptButton=Continue
 DontAskAgain=&Don’t ask me again
 JSURLLoadBlockedWarning=Attempt to load a javascript: URL from one host\nin a window displaying content from another host\nwas blocked by the security manager.
 WindowCloseBlockedWarning=Scripts may not close windows that were not opened by script.
 OnBeforeUnloadTitle=Are you sure?
-OnBeforeUnloadMessage=This page is asking you to confirm that you want to leave - data you have entered may not be saved.
+OnBeforeUnloadMessage=This page is asking you to confirm that you want to leave. Data you have entered may not be saved.
 OnBeforeUnloadStayButton=Stay on Page
 OnBeforeUnloadLeaveButton=Leave Page
 UnexpectedCanvasVariantStyle=canvas: an attempt to set strokeStyle or fillStyle to a value that is neither a string, a CanvasGradient, or a CanvasPattern was ignored.
 EmptyGetElementByIdParam=Empty string passed to getElementById().
 LowMemoryTitle=Warning: Low memory
 LowMemoryMessage=A script on this page has been stopped due to a low memory condition.
 SpeculationFailed=An unbalanced tree was written using document.write() causing data from the network to be reparsed. For more information https://developer.mozilla.org/en/Optimizing_Your_Pages_for_Speculative_Parsing
 DocumentWriteIgnored=A call to document.write() from an asynchronously-loaded external script was ignored.
--- a/dom/locales/en-US/chrome/layout/MediaDocument.properties
+++ b/dom/locales/en-US/chrome/layout/MediaDocument.properties
@@ -13,9 +13,9 @@ ImageTitleWithoutDimensions=%S (%S Image
 ImageTitleWithDimensions2=(%S Image, %S\u00A0\u00D7\u00A0%S pixels)
 ImageTitleWithNeitherDimensionsNorFile=(%S Image)
 MediaTitleWithFile=%S (%S Object)
 MediaTitleWithNoInfo=(%S Object)
 
 InvalidImage=The image \u201c%S\u201d cannot be displayed because it contains errors.
 ScaledImage=Scaled (%S%%)
 
-TitleWithStatus=%S - %S
+TitleWithStatus=%S \u2014 %S
--- a/layout/tools/layout-debug/ui/content/layoutdebug.xul
+++ b/layout/tools/layout-debug/ui/content/layoutdebug.xul
@@ -20,17 +20,17 @@
 -->
 
 <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
         id="main-window"
         align="stretch"
         title="&ldb.MainWindow.title;"
         titlemodifier="&ldb.MainWindow.title;"
         contenttitlesetting="true"
-        titlemenuseparator=" - "
+        titlemenuseparator=" &#x2014; "
         windowtype="mozapp:layoutdebug"
         onload="OnLDBLoad();"
         onunload="OnLDBUnload();"
         width="610" height="450"
         screenX="4" screenY="4"
         >
 
   <script src="chrome://layoutdebug/content/layoutdebug.js"/>
--- a/toolkit/locales/en-US/chrome/global/aboutServiceWorkers.properties
+++ b/toolkit/locales/en-US/chrome/global/aboutServiceWorkers.properties
@@ -1,17 +1,17 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 title = Origin: %S
 
 # LOCALIZATION NOTE: %1$S is brandShortName, %2$2 is the application ID, and $%$3 is true/false value.
 # LOCALIZATION NOTE: the term "InBrowserElement" should not be translated
-b2gtitle = %1$S Application ID %2$S - InBrowserElement %3$S
+b2gtitle = %1$S Application ID %2$S \u2014 InBrowserElement %3$S
 
 scope = Scope:
 
 scriptSpec = Script Spec:
 
 # LOCALIZATION NOTE: the term "Worker" should not be translated.
 currentWorkerURL = Current Worker URL:
 
--- a/toolkit/locales/en-US/chrome/mozapps/profile/profileSelection.properties
+++ b/toolkit/locales/en-US/chrome/mozapps/profile/profileSelection.properties
@@ -9,17 +9,17 @@
 restartTitle=Close %S
 restartMessageNoUnlocker=%S is already running, but is not responding. To open a new window, you must first close the existing %S process, or restart your system.
 restartMessageUnlocker=%S is already running, but is not responding. The old %S process must be closed to open a new window.
 restartMessageNoUnlockerMac=A copy of %S is already open. Only one copy of %S can be open at a time.
 restartMessageUnlockerMac=A copy of %S is already open. The running copy of %S will quit in order to open this one.
 
 # Profile manager
 # LOCALIZATION NOTE (profileTooltip): First %S is the profile name, second %S is the path to the profile folder.
-profileTooltip=Profile: ‘%S’ - Path: ‘%S’
+profileTooltip=Profile: ‘%S’ \u2014 Path: ‘%S’
 
 pleaseSelectTitle=Select Profile
 pleaseSelect=Please select a profile to begin %S, or create a new profile.
 
 profileLockedTitle=Profile In Use
 profileLocked2=%S cannot use the profile “%S” because it is in use.\n\nTo continue, close the running instance of %S or choose a different profile.
 
 renameProfileTitle=Rename Profile