Marcello has a QA test plan for localizations at http://cl10n.rwx.it/how-to/l10n-qa; however, based on experiences with Camino 1.5, we need to expand this.
To test, always run Camino under a fresh profile; an application like http://pimpmycamino.com/parts/troubleshoot-camino can facilitate this.
Changing the active localization from the command-line
To launch a given Camino using a given language default (without changing the language via Get Info or System Preferences) from the command line, use the following syntax
/path/to/Camino.app/Contents/MacOS/Camino -AppleLanguages '(de)'
where '(de)' is a string of language(s) similar to the output of
defaults read -g AppleLanguages. (Hat tip to Marc Liyanage.) To use a fresh (or other arbitrary) profile, append a
-profile /full/path/to/desired/location argument.
Note, however, that some language- and locale-specific features (or bugs) only appear when the “OS” and Finder have been launched into a language at login.
The in-Xcode version of this tip is not useful for l10n release testing, but is included here for completeness. Define an argument in the executable info pane:
-AppleLanguages "(en, es)"
where "(en, es)" is once again a string of language(s) similar to the output of
defaults read -g AppleLanguages. (Hat tip to Wincent Colaiuta.)
QAing a Camino ML Release
Based on the errors we've seen in the past, the following are the minimum steps that should be performed to QA the Camino ML build before release.
- Install the Camino ML using a default (admin) user
- Run Camino ML using another, non-admin user
- For each of the supported languages in Camino ML, set that language as topmost in the list in International prefPane of System Prefs (some languages will need to be added using the "Add…" button) and run Camino ML (again as the non-admin user who did not install Camino ML)
- Spot-check the preferences and menus
- Make sure Cmd-l/r arrow are not set in the menu as the shortcuts for forward/backward
- Spot-check sheets/dialogs (secure-to-insecure sheet, Reset Camino or Empty Cache, etc.)
- NEW for 2.0: check both safebrowsing error pages to ensure there are no XML parsing errors - ()
- NEW for 2.0: check about:crashes to ensure there are no XML parsing errors
- NEW for 2.0 (upgrades only): make sure tabs are 24px tall and not cut off (broken BrowserWindow.nib)
- NEW for 2.0 (upgrades only): make sure blocking popups does not crash Camino (broken PopUpBlockView.nib) - 
- NEW for 2.1 (upgrades only): make sure that CookieText in Localizable.strings uses %@ and not %s - 
- NEW for 2.1 (upgrades only): make sure that print UI strings are present in Localizable.strings
- NEW for 2.1: make sure certificate error pages have no XML parsing errors - , 
- NEW for 2.1: make sure about:config is localized
- NEW for 2.1: make sure FAYT strings are localized
- NEW for 2.1: make sure network error pages are fully localized - 
- NEW for 2.1: make sure offline mode menu item and error pages are localized
- NEW for 2.1: make sure XML pretty-print strings are localized - 
- NEW for 2.1: make sure missing/disabled/blocked plug-in strings are localized - , , 
- NEW for 2.1 (upgrades only): Verify that MacUpdate has replaced VersionTracker in the default bookmarks
- NEW for 2.1 (upgrades only): Verify that the URL for the BBC News has been updated in the default bookmarks
- NEW for 2.1 (upgrades only): Verify that WebSearchEngines.plist has been updated properly
- Make sure Page Info's titles are translated
- Make sure the Downloads window and its views are translated
- Spot-check the preferences and menus
Expanded (Specific Items)
- Verify that all included localizations appear to "work", i.e. by setting each one as the preferred language in the System Prefs in turn and performing the subsequent steps.
- Set the default browser to other-than-Camino and launch
- Ensure the Bookmarks menu works properly and is validated
- Bookmark Current Page… (enabled for any non-blank, non-special-protocol page)
- Bookmark Current Pages as Tab Group… (enabled for any 2 or more non-blank, non-special-protocol pages)
- Check that the alternates (hold down shift) work for these items
- Check to
Localizable.stringsfiles to ensure all strings are translated
- Check the Spelling context menu to ensure No Guesses Found, Learn Word, and Ignore Word are translated.
- Check button widths in all new or modified nibs
- Ensure the leftmost button in the pop-up blocker nib is clickable for its entire width and not covered by the text field.
- Verify all search engines and default bookmarks work (note that some default Camino bookmarks referring to Camino itself are redirects; this is by design)
- Make sure the software update window appears and all the buttons are visible/functional (N.B. This requires temporarily moving aside the
org.mozilla.camino.plistfile, since any changes to window sizes or positions you have made personally are stored in that file and will override any potentially broken dimensions in nibs)
- ProgressView.nib: make sure none of the "time remaining" strings are cut off (the view needs to be resized by localizer in order to fit the longest string; see Bug 485146 comment 10-12)
- NEW for 2.0: check the Breakpad client UI; it's entirely strings-based with layout all done via code, so there shouldn't be any problems (Bug 403997 to crash)
- NEW for 2.0: check the Appearance preference pane and make sure each tab resizes properly
- NEW for 2.0: check the cert override UI (cacert.org to test)
- NEW for 2.0: check the Flashblock context menu (adobe)
Camino 1.5.1 ML verification smoketesting
- Bug 383431 - [l10n] the word "como" is misspelled when i ctrl-click in certain pages (Spanish)
- Bug 383319 - [l10n] Text not translated in Keychain.nib, elsewhere, in German localization
- Bug 387065 - Portugese localization non-functional due to incorrectly-named .lproj
- Ensure Norwegian l10n functions when language is set to Norwegian (Norsk; 10.3) and Norwegian Bokmål (10.4)
- Spelling CM as above
- Default browser buttons as above
- Rightmost popup blocker button as above
- Multilingual dmg changes (ensure nothing looks weird in fr, es, de, it)