Open Bug 1320594 Opened 8 years ago Updated 8 years ago

verify that all the entities we localize are used somewhere

Categories

(Localization Infrastructure and Tools :: Automation, defect)

defect
Not set
normal

Tracking

(Not tracked)

People

(Reporter: florian, Unassigned)

Details

With something slightly similar to what I did in bug 1316187, I think it's possible to verify that all the entities in .dtd files are used at least once.

Unfortunately the list of entities used is different on each platform, but we ship the same localized files on all platforms, so the test running on a single platform can't report something useful, one has to merge/compare the results of a test run on every platforms to extract a list of potentially dead entities.

Not sure yet if this will turn out to be useful, but I think it's worth trying at least once.
I've tried to do this in bug 1203547, but it was horrible due to xul overlays, in particular on android.
(In reply to Axel Hecht [:Pike] from comment #2)
> I've tried to do this in bug 1203547, but it was horrible due to xul
> overlays, in particular on android.

How do we have xul overlays on android? And why did you r+'ed patch there never land?
Actually, overrides was the problem.

I didn't land because I didn't get the testing stuff in shape. Also the change to the chrome urls on mobile mid-aired with the reorgs in mobile.
Here is the list of entities used on neither of the 3 platforms:

aboutSupport.installationHistoryTitle
aboutSupport.updateHistoryTitle
aboutTelemetry.rawPingData
addLogin.accesskey
addLogin.label
addon.homepage
availprofiles.label
blocked.label
btnClear.label
captivePortal.longDesc
captivePortal.title
changeOptions.label
checkbox.label
clearOutputCtrl.key
clearTimeDuration.dateColumn
clearTimeDuration.nameColumn
closeWhenDone.label
closeWhenDone.tooltip
cmd.openWith.accesskey
cmd.openWith.label
cmd.sortby_name.accesskey
cmd_engineManager.label
columnChooser.tooltip
connectionError
continueUsing.label
copyPref.key
date.header
debuggerUI.clearButton
debuggerUI.clearButton.tooltip
debuggerUI.closeButton.tooltip
debuggerUI.seEditMenuCondBreak.key
debuggerUI.tabs.traces
deleteCmd.key
detail.creator.label
detail.homepage.label
detail.version.label
determiningAcctStatus.label
dialogCancel.label
downloading.intro
downloadsListNoMatch.label
editBookmarkOverlay.feedLocation.accesskey
editBookmarkOverlay.feedLocation.label
editBookmarkOverlay.siteLocation.accesskey
editBookmarkOverlay.siteLocation.label
generalSource
getStarted.label
getUserMedia.audioCapture.label
header.label
importButton.label
learnMore.label
locbar.searches.accesskey
locbar.searches.label
message.label
name.header
newtab.customize.suggested
newtab.customize.topsites
notSignedIn.label
offlineAppRemove.confirm
offlineAppsList.height
openPortalLoginPage.label
options.defaultColorUnit.accesskey
options.sourceeditor.keybinding.accesskey
options.sourceeditor.tabsize.accesskey
options.usedeveditiontheme.label
options.usedeveditiontheme.tooltip
paneTabs.title
performanceUI.table.selfAlloc
performanceUI.table.selfAlloc.tooltip
performanceUI.table.totalAlloc
permAllowSession
prefColumnHeader.tooltip
prefWinMinSize.styleGNOME
prefWinMinSize.styleMac
prefWinMinSize.styleWin2
prefWindow.titleGNOME
profilename.label
progress.pause.tooltip
projectButton_label
quota.dialogTitle.label
quota.retrievingInfo.label
quota.sizeColumn.label
quota.typeColumn.label
redirectWindowsSearch.accesskey
redirectWindowsSearch.label
releaseNotes.link
resetContext2.accesskey
resetContext2.label
rights.intro-point3-unbranded
rights.intro-point4a-unbranded
rights.intro-point4b-unbranded
rights.intro-point4c-unbranded
rights.webservices-term1-unbranded
rights.webservices-unbranded
robots.imgtitle
separateProfileMode.label
setPassword.meter.loading
setup.choicePage.existing2.label
setup.choicePage.new.label
setup.choicePage.title.label
setup.newRecoveryKeyPage.description.label
setup.newRecoveryKeyPage.title.label
setup.successPage.title
setup.tosAgree2.accesskey
setupButton.accesskey
sharePageCmd.commandkey
showFolder.label
state.header
stats.activity
stats.activityEnded
stats.activityPaused
stats.activityPlaying
stats.activitySeeking
stats.framesDecoded
stats.framesPainted
stats.framesParsed
stats.framesPresented
stats.media
stats.size
stats.volume
suggestionSettings.accesskey
syncToolbarButton.label
syncedTabs.sidebar.noclients.label
trackingContentBlocked.block.accesskey
trackingContentBlocked.block.label
trackingContentBlocked.disabled.message
trackingContentBlocked.learnMore
trackingContentBlocked.message
trackingContentBlocked.moreinfo
trackingContentBlocked.options
trackingContentBlocked.unblock2.accesskey
trackingContentBlocked.unblock2.label
type.header
undoChanges.label
useFirefoxSync.label
videoHideStats.accesskey
videoHideStats.label
videoShowStats.accesskey
videoShowStats.label
viewDetails.tooltip
weakCryptoAdvanced.title
webAudioEditorUI.inspectorTitle
welcome.createAccount.label
welcome.description
welcome.signIn.label
welcome.useOldSync.label

I build this list by copying to local files the relevant parts of the test logs for the 3 platforms, then use this command line:
cat *|sed "s@.*entity: @@"|sort|uniq -c|grep '3 '|sed "s@.*3 @@"
You need to log in before you can comment on or make changes to this bug.