diff options
Diffstat (limited to 'devtools/client/inspector/animation/utils/l10n.js')
-rw-r--r-- | devtools/client/inspector/animation/utils/l10n.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/devtools/client/inspector/animation/utils/l10n.js b/devtools/client/inspector/animation/utils/l10n.js new file mode 100644 index 0000000000..6fffa98b65 --- /dev/null +++ b/devtools/client/inspector/animation/utils/l10n.js @@ -0,0 +1,46 @@ +/* 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/. */ + +"use strict"; + +const { LocalizationHelper } = require("resource://devtools/shared/l10n.js"); +const L10N = new LocalizationHelper( + "devtools/client/locales/animationinspector.properties" +); +const INSPECTOR_L10N = new LocalizationHelper( + "devtools/client/locales/inspector.properties" +); + +/** + * Get a formatted title for this animation. This will be either: + * "%S", "%S : CSS Transition", "%S : CSS Animation", + * "%S : Script Animation", or "Script Animation", depending + * if the server provides the type, what type it is and if the animation + * has a name. + * + * @param {Object} state + */ +function getFormattedTitle(state) { + // Older servers don't send a type, and only know about + // CSSAnimations and CSSTransitions, so it's safe to use + // just the name. + if (!state.type) { + return state.name; + } + + // Script-generated animations may not have a name. + if (state.type === "scriptanimation" && !state.name) { + return L10N.getStr("timeline.scriptanimation.unnamedLabel"); + } + + return L10N.getFormatStr(`timeline.${state.type}.nameLabel`, state.name); +} + +module.exports = { + getFormatStr: (...args) => L10N.getFormatStr(...args), + getFormattedTitle, + getInspectorStr: (...args) => INSPECTOR_L10N.getStr(...args), + getStr: (...args) => L10N.getStr(...args), + numberWithDecimals: (...args) => L10N.numberWithDecimals(...args), +}; |