مؤسسة الركن المكتبي التجارية تأسست على رؤية مُختلفة، تهدف إلى تقديم تجربة فريدة من نوعها في الأثاث المكتبي والفندقي لكي نضمن بيئة عمل توفر مساحات عمل مريحة وصحية، حيث نمتاز بخبراتنا الواسعة فأصبحت أحد أفضل المؤسسات الوطنية الرائدة في تجارة وصناعة الأثاث والتصميم الداخلي والسبّاقة على مستوى المملكة في المفروشات المكتبية والفندقية والمنزلية، نهدف الى خلق قيمة لعملائنا عن طريق توفير الجودة العالية في مقابل السعر المناسب.
منتجاتنا الجودة العالية في مقابل السعر المناسب
أغسطس 15, 2022
UX-антипаттерны в действии – Анализ скриншотов популярных онлайн-площадок Просматривая сотни скриншотов популярных онлайн-площадок, мы сразу же видим: навязчивое […]
يناير 1, 2023
Vavada рабочее зеркало вход для удобного доступа Vavada рабочее зеркало вход Чтобы получить моментальный доступ к любимым развлечениям, […]
مايو 29, 2023
Эпикстар казино играй и выигрывай без проблем онлайн Эпикстар казино играй и выигрывай онлайн без проблем Добро пожаловать […]
سبتمبر 16, 2023
Рацион 2025 год что ждет нас на столах Ключ к вашему рациону 2025 года – персонализация. Забудьте о […]
أكتوبر 16, 2023
Авто 2025 – Ваш выбор лучших моделей по всем классам Выберите свой идеальный автомобиль 2025 года. Наш гид […]
فبراير 6, 2025
فبراير 6, 2025
فبراير 6, 2025
أغسطس 15, 2022
UX-антипаттерны в действии – Анализ скриншотов популярных онлайн-площадок Просматривая сотни скриншотов популярных онлайн-площадок, мы сразу же видим: навязчивое […]
يناير 1, 2023
Vavada рабочее зеркало вход для удобного доступа Vavada рабочее зеркало вход Чтобы получить моментальный доступ к любимым развлечениям, […]
مايو 29, 2023
Эпикстар казино играй и выигрывай без проблем онлайн Эпикстар казино играй и выигрывай онлайн без проблем Добро пожаловать […]
سبتمبر 16, 2023
Рацион 2025 год что ждет нас на столах Ключ к вашему рациону 2025 года – персонализация. Забудьте о […]
أكتوبر 16, 2023
Авто 2025 – Ваш выбор лучших моделей по всем классам Выберите свой идеальный автомобиль 2025 года. Наш гид […]
فبراير 6, 2025
فبراير 6, 2025
فبراير 6, 2025
*(……&*6干sfa绅士的风度sfsdfd不打发打发死啊好办法
/home/officeco/public_html/wp-includes/js/dist/i18n.js
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ // The require scope
/******/ var __webpack_require__ = {};
/******/
/************************************************************************/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/************************************************************************/
var __webpack_exports__ = {};
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
__: () => (/* reexport */ __),
_n: () => (/* reexport */ _n),
_nx: () => (/* reexport */ _nx),
_x: () => (/* reexport */ _x),
createI18n: () => (/* reexport */ createI18n),
defaultI18n: () => (/* reexport */ default_i18n_default),
getLocaleData: () => (/* reexport */ getLocaleData),
hasTranslation: () => (/* reexport */ hasTranslation),
isRTL: () => (/* reexport */ isRTL),
resetLocaleData: () => (/* reexport */ resetLocaleData),
setLocaleData: () => (/* reexport */ setLocaleData),
sprintf: () => (/* reexport */ sprintf_sprintf),
subscribe: () => (/* reexport */ subscribe)
});
;// ./node_modules/@tannin/sprintf/src/index.js
/**
* Regular expression matching format placeholder syntax.
*
* The pattern for matching named arguments is a naive and incomplete matcher
* against valid JavaScript identifier names.
*
* via Mathias Bynens:
*
* >An identifier must start with $, _, or any character in the Unicode
* >categories “Uppercase letter (Lu)”, “Lowercase letter (Ll)”, “Titlecase
* >letter (Lt)”, “Modifier letter (Lm)”, “Other letter (Lo)”, or “Letter
* >number (Nl)”.
* >
* >The rest of the string can contain the same characters, plus any U+200C zero
* >width non-joiner characters, U+200D zero width joiner characters, and
* >characters in the Unicode categories “Non-spacing mark (Mn)”, “Spacing
* >combining mark (Mc)”, “Decimal digit number (Nd)”, or “Connector
* >punctuation (Pc)”.
*
* If browser support is constrained to those supporting ES2015, this could be
* made more accurate using the `u` flag:
*
* ```
* /^[$_\p{L}\p{Nl}][$_\p{L}\p{Nl}\u200C\u200D\p{Mn}\p{Mc}\p{Nd}\p{Pc}]*$/u;
* ```
*
* @see http://www.pixelbeat.org/programming/gcc/format_specs.html
* @see https://mathiasbynens.be/notes/javascript-identifiers#valid-identifier-names
*
* @type {RegExp}
*/
var PATTERN =
/%(((\d+)\$)|(\(([$_a-zA-Z][$_a-zA-Z0-9]*)\)))?[ +0#-]*\d*(\.(\d+|\*))?(ll|[lhqL])?([cduxXefgsp%])/g;
// ▲ ▲ ▲ ▲ ▲ ▲ ▲ type
// │ │ │ │ │ └ Length (unsupported)
// │ │ │ │ └ Precision / max width
// │ │ │ └ Min width (unsupported)
// │ │ └ Flags (unsupported)
// └ Index └ Name (for named arguments)
/**
* Given a format string, returns string with arguments interpolatation.
* Arguments can either be provided directly via function arguments spread, or
* with an array as the second argument.
*
* @see https://en.wikipedia.org/wiki/Printf_format_string
*
* @example
*
* ```js
* import sprintf from '@tannin/sprintf';
*
* sprintf( 'Hello %s!', 'world' );
* // ⇒ 'Hello world!'
* ```
* @template {string} T
* @overload
* @param {T} string - string printf format string
* @param {...import('../types').SprintfArgs<T>} args - arguments to interpolate
*
* @return {string} Formatted string.
*/
/**
* Given a format string, returns string with arguments interpolatation.
* Arguments can either be provided directly via function arguments spread, or
* with an array as the second argument.
*
* @see https://en.wikipedia.org/wiki/Printf_format_string
*
* @example
*
* ```js
* import sprintf from '@tannin/sprintf';
*
* sprintf( 'Hello %s!', 'world' );
* // ⇒ 'Hello world!'
* ```
* @template {string} T
* @overload
* @param {T} string - string printf format string
* @param {import('../types').SprintfArgs<T>} args - arguments to interpolate
*
* @return {string} Formatted string.
*/
/**
* Given a format string, returns string with arguments interpolatation.
* Arguments can either be provided directly via function arguments spread, or
* with an array as the second argument.
*
* @see https://en.wikipedia.org/wiki/Printf_format_string
*
* @example
*
* ```js
* import sprintf from '@tannin/sprintf';
*
* sprintf( 'Hello %s!', 'world' );
* // ⇒ 'Hello world!'
* ```
* @template {string} T
* @param {T} string - string printf format string
* @param {...import('../types').SprintfArgs<T>} args - arguments to interpolate
*
* @return {string} Formatted string.
*/
function sprintf(string, ...args) {
var i = 0;
if (Array.isArray(args[0])) {
args = /** @type {import('../types').SprintfArgs<T>[]} */ (
/** @type {unknown} */ args[0]
);
}
return string.replace(PATTERN, function () {
var index,
// name needs to be documented as `string | undefined` else value will have tpye unknown.
/**
* Name of the argument to substitute, if any.
*
* @type {string | undefined}
*/
name,
precision,
type,
value;
index = arguments[3];
name = arguments[5];
precision = arguments[7];
type = arguments[9];
// There's no placeholder substitution in the explicit "%", meaning it
// is not necessary to increment argument index.
if (type === '%') {
return '%';
}
// Asterisk precision determined by peeking / shifting next argument.
if (precision === '*') {
precision = args[i];
i++;
}
if (name === undefined) {
// If not a positional argument, use counter value.
if (index === undefined) {
index = i + 1;
}
i++;
// Positional argument.
value = args[index - 1];
} else if (
args[0] &&
typeof args[0] === 'object' &&
args[0].hasOwnProperty(name)
) {
// If it's a named argument, use name.
value = args[0][name];
}
// Parse as type.
if (type === 'f') {
value = parseFloat(value) || 0;
} else if (type === 'd') {
value = parseInt(value) || 0;
}
// Apply precision.
if (precision !== undefined) {
if (type === 'f') {
value = value.toFixed(precision);
} else if (type === 's') {
value = value.substr(0, precision);
}
}
// To avoid "undefined" concatenation, return empty string if no
// placeholder substitution can be performed.
return value !== undefined && value !== null ? value : '';
});
}
;// ./node_modules/@wordpress/i18n/build-module/sprintf.js
function sprintf_sprintf(format, ...args) {
return sprintf(format, ...args);
}
;// ./node_modules/@tannin/postfix/index.js
var PRECEDENCE, OPENERS, TERMINATORS, postfix_PATTERN;
/**
* Operator precedence mapping.
*
* @type {Object}
*/
PRECEDENCE = {
'(': 9,
'!': 8,
'*': 7,
'/': 7,
'%': 7,
'+': 6,
'-': 6,
'<': 5,
'<=': 5,
'>': 5,
'>=': 5,
'==': 4,
'!=': 4,
'&&': 3,
'||': 2,
'?': 1,
'?:': 1,
};
/**
* Characters which signal pair opening, to be terminated by terminators.
*
* @type {string[]}
*/
OPENERS = [ '(', '?' ];
/**
* Characters which signal pair termination, the value an array with the
* opener as its first member. The second member is an optional operator
* replacement to push to the stack.
*
* @type {string[]}
*/
TERMINATORS = {
')': [ '(' ],
':': [ '?', '?:' ],
};
/**
* Pattern matching operators and openers.
*
* @type {RegExp}
*/
postfix_PATTERN = /<=|>=|==|!=|&&|\|\||\?:|\(|!|\*|\/|%|\+|-|<|>|\?|\)|:/;
/**
* Given a C expression, returns the equivalent postfix (Reverse Polish)
* notation terms as an array.
*
* If a postfix string is desired, simply `.join( ' ' )` the result.
*
* @example
*
* ```js
* import postfix from '@tannin/postfix';
*
* postfix( 'n > 1' );
* // ⇒ [ 'n', '1', '>' ]
* ```
*
* @param {string} expression C expression.
*
* @return {string[]} Postfix terms.
*/
function postfix( expression ) {
var terms = [],
stack = [],
match, operator, term, element;
while ( ( match = expression.match( postfix_PATTERN ) ) ) {
operator = match[ 0 ];
// Term is the string preceding the operator match. It may contain
// whitespace, and may be empty (if operator is at beginning).
term = expression.substr( 0, match.index ).trim();
if ( term ) {
terms.push( term );
}
while ( ( element = stack.pop() ) ) {
if ( TERMINATORS[ operator ] ) {
if ( TERMINATORS[ operator ][ 0 ] === element ) {
// Substitution works here under assumption that because
// the assigned operator will no longer be a terminator, it
// will be pushed to the stack during the condition below.
operator = TERMINATORS[ operator ][ 1 ] || operator;
break;
}
} else if ( OPENERS.indexOf( element ) >= 0 || PRECEDENCE[ element ] < PRECEDENCE[ operator ] ) {
// Push to stack if either an opener or when pop reveals an
// element of lower precedence.
stack.push( element );
break;
}
// For each popped from stack, push to terms.
terms.push( element );
}
if ( ! TERMINATORS[ operator ] ) {
stack.push( operator );
}
// Slice matched fragment from expression to continue match.
expression = expression.substr( match.index + operator.length );
}
// Push remainder of operand, if exists, to terms.
expression = expression.trim();
if ( expression ) {
terms.push( expression );
}
// Pop remaining items from stack into terms.
return terms.concat( stack.reverse() );
}
;// ./node_modules/@tannin/evaluate/index.js
/**
* Operator callback functions.
*
* @type {Object}
*/
var OPERATORS = {
'!': function( a ) {
return ! a;
},
'*': function( a, b ) {
return a * b;
},
'/': function( a, b ) {
return a / b;
},
'%': function( a, b ) {
return a % b;
},
'+': function( a, b ) {
return a + b;
},
'-': function( a, b ) {
return a - b;
},
'<': function( a, b ) {
return a < b;
},
'<=': function( a, b ) {
return a <= b;
},
'>': function( a, b ) {
return a > b;
},
'>=': function( a, b ) {
return a >= b;
},
'==': function( a, b ) {
return a === b;
},
'!=': function( a, b ) {
return a !== b;
},
'&&': function( a, b ) {
return a && b;
},
'||': function( a, b ) {
return a || b;
},
'?:': function( a, b, c ) {
if ( a ) {
throw b;
}
return c;
},
};
/**
* Given an array of postfix terms and operand variables, returns the result of
* the postfix evaluation.
*
* @example
*
* ```js
* import evaluate from '@tannin/evaluate';
*
* // 3 + 4 * 5 / 6 ⇒ '3 4 5 * 6 / +'
* const terms = [ '3', '4', '5', '*', '6', '/', '+' ];
*
* evaluate( terms, {} );
* // ⇒ 6.333333333333334
* ```
*
* @param {string[]} postfix Postfix terms.
* @param {Object} variables Operand variables.
*
* @return {*} Result of evaluation.
*/
function evaluate( postfix, variables ) {
var stack = [],
i, j, args, getOperatorResult, term, value;
for ( i = 0; i < postfix.length; i++ ) {
term = postfix[ i ];
getOperatorResult = OPERATORS[ term ];
if ( getOperatorResult ) {
// Pop from stack by number of function arguments.
j = getOperatorResult.length;
args = Array( j );
while ( j-- ) {
args[ j ] = stack.pop();
}
try {
value = getOperatorResult.apply( null, args );
} catch ( earlyReturn ) {
return earlyReturn;
}
} else if ( variables.hasOwnProperty( term ) ) {
value = variables[ term ];
} else {
value = +term;
}
stack.push( value );
}
return stack[ 0 ];
}
;// ./node_modules/@tannin/compile/index.js
/**
* Given a C expression, returns a function which can be called to evaluate its
* result.
*
* @example
*
* ```js
* import compile from '@tannin/compile';
*
* const evaluate = compile( 'n > 1' );
*
* evaluate( { n: 2 } );
* // ⇒ true
* ```
*
* @param {string} expression C expression.
*
* @return {(variables?:{[variable:string]:*})=>*} Compiled evaluator.
*/
function compile( expression ) {
var terms = postfix( expression );
return function( variables ) {
return evaluate( terms, variables );
};
}
;// ./node_modules/@tannin/plural-forms/index.js
/**
* Given a C expression, returns a function which, when called with a value,
* evaluates the result with the value assumed to be the "n" variable of the
* expression. The result will be coerced to its numeric equivalent.
*
* @param {string} expression C expression.
*
* @return {Function} Evaluator function.
*/
function pluralForms( expression ) {
var evaluate = compile( expression );
return function( n ) {
return +evaluate( { n: n } );
};
}
;// ./node_modules/tannin/index.js
/**
* Tannin constructor options.
*
* @typedef {Object} TanninOptions
*
* @property {string} [contextDelimiter] Joiner in string lookup with context.
* @property {Function} [onMissingKey] Callback to invoke when key missing.
*/
/**
* Domain metadata.
*
* @typedef {Object} TanninDomainMetadata
*
* @property {string} [domain] Domain name.
* @property {string} [lang] Language code.
* @property {(string|Function)} [plural_forms] Plural forms expression or
* function evaluator.
*/
/**
* Domain translation pair respectively representing the singular and plural
* translation.
*
* @typedef {[string,string]} TanninTranslation
*/
/**
* Locale data domain. The key is used as reference for lookup, the value an
* array of two string entries respectively representing the singular and plural
* translation.
*
* @typedef {{[key:string]:TanninDomainMetadata|TanninTranslation,'':TanninDomainMetadata|TanninTranslation}} TanninLocaleDomain
*/
/**
* Jed-formatted locale data.
*
* @see http://messageformat.github.io/Jed/
*
* @typedef {{[domain:string]:TanninLocaleDomain}} TanninLocaleData
*/
/**
* Default Tannin constructor options.
*
* @type {TanninOptions}
*/
var DEFAULT_OPTIONS = {
contextDelimiter: '\u0004',
onMissingKey: null,
};
/**
* Given a specific locale data's config `plural_forms` value, returns the
* expression.
*
* @example
*
* ```
* getPluralExpression( 'nplurals=2; plural=(n != 1);' ) === '(n != 1)'
* ```
*
* @param {string} pf Locale data plural forms.
*
* @return {string} Plural forms expression.
*/
function getPluralExpression( pf ) {
var parts, i, part;
parts = pf.split( ';' );
for ( i = 0; i < parts.length; i++ ) {
part = parts[ i ].trim();
if ( part.indexOf( 'plural=' ) === 0 ) {
return part.substr( 7 );
}
}
}
/**
* Tannin constructor.
*
* @class
*
* @param {TanninLocaleData} data Jed-formatted locale data.
* @param {TanninOptions} [options] Tannin options.
*/
function Tannin( data, options ) {
var key;
/**
* Jed-formatted locale data.
*
* @name Tannin#data
* @type {TanninLocaleData}
*/
this.data = data;
/**
* Plural forms function cache, keyed by plural forms string.
*
* @name Tannin#pluralForms
* @type {Object<string,Function>}
*/
this.pluralForms = {};
/**
* Effective options for instance, including defaults.
*
* @name Tannin#options
* @type {TanninOptions}
*/
this.options = {};
for ( key in DEFAULT_OPTIONS ) {
this.options[ key ] = options !== undefined && key in options
? options[ key ]
: DEFAULT_OPTIONS[ key ];
}
}
/**
* Returns the plural form index for the given domain and value.
*
* @param {string} domain Domain on which to calculate plural form.
* @param {number} n Value for which plural form is to be calculated.
*
* @return {number} Plural form index.
*/
Tannin.prototype.getPluralForm = function( domain, n ) {
var getPluralForm = this.pluralForms[ domain ],
config, plural, pf;
if ( ! getPluralForm ) {
config = this.data[ domain ][ '' ];
pf = (
config[ 'Plural-Forms' ] ||
config[ 'plural-forms' ] ||
// Ignore reason: As known, there's no way to document the empty
// string property on a key to guarantee this as metadata.
// @ts-ignore
config.plural_forms
);
if ( typeof pf !== 'function' ) {
plural = getPluralExpression(
config[ 'Plural-Forms' ] ||
config[ 'plural-forms' ] ||
// Ignore reason: As known, there's no way to document the empty
// string property on a key to guarantee this as metadata.
// @ts-ignore
config.plural_forms
);
pf = pluralForms( plural );
}
getPluralForm = this.pluralForms[ domain ] = pf;
}
return getPluralForm( n );
};
/**
* Translate a string.
*
* @param {string} domain Translation domain.
* @param {string|void} context Context distinguishing terms of the same name.
* @param {string} singular Primary key for translation lookup.
* @param {string=} plural Fallback value used for non-zero plural
* form index.
* @param {number=} n Value to use in calculating plural form.
*
* @return {string} Translated string.
*/
Tannin.prototype.dcnpgettext = function( domain, context, singular, plural, n ) {
var index, key, entry;
if ( n === undefined ) {
// Default to singular.
index = 0;
} else {
// Find index by evaluating plural form for value.
index = this.getPluralForm( domain, n );
}
key = singular;
// If provided, context is prepended to key with delimiter.
if ( context ) {
key = context + this.options.contextDelimiter + singular;
}
entry = this.data[ domain ][ key ];
// Verify not only that entry exists, but that the intended index is within
// range and non-empty.
if ( entry && entry[ index ] ) {
return entry[ index ];
}
if ( this.options.onMissingKey ) {
this.options.onMissingKey( singular, domain );
}
// If entry not found, fall back to singular vs. plural with zero index
// representing the singular value.
return index === 0 ? singular : plural;
};
;// ./node_modules/@wordpress/i18n/build-module/create-i18n.js
const DEFAULT_LOCALE_DATA = {
"": {
plural_forms(n) {
return n === 1 ? 0 : 1;
}
}
};
const I18N_HOOK_REGEXP = /^i18n\.(n?gettext|has_translation)(_|$)/;
const createI18n = (initialData, initialDomain, hooks) => {
const tannin = new Tannin({});
const listeners = /* @__PURE__ */ new Set();
const notifyListeners = () => {
listeners.forEach((listener) => listener());
};
const subscribe = (callback) => {
listeners.add(callback);
return () => listeners.delete(callback);
};
const getLocaleData = (domain = "default") => tannin.data[domain];
const doSetLocaleData = (data, domain = "default") => {
tannin.data[domain] = {
...tannin.data[domain],
...data
};
tannin.data[domain][""] = {
...DEFAULT_LOCALE_DATA[""],
...tannin.data[domain]?.[""]
};
delete tannin.pluralForms[domain];
};
const setLocaleData = (data, domain) => {
doSetLocaleData(data, domain);
notifyListeners();
};
const addLocaleData = (data, domain = "default") => {
tannin.data[domain] = {
...tannin.data[domain],
...data,
// Populate default domain configuration (supported locale date which omits
// a plural forms expression).
"": {
...DEFAULT_LOCALE_DATA[""],
...tannin.data[domain]?.[""],
...data?.[""]
}
};
delete tannin.pluralForms[domain];
notifyListeners();
};
const resetLocaleData = (data, domain) => {
tannin.data = {};
tannin.pluralForms = {};
setLocaleData(data, domain);
};
const dcnpgettext = (domain = "default", context, single, plural, number) => {
if (!tannin.data[domain]) {
doSetLocaleData(void 0, domain);
}
return tannin.dcnpgettext(domain, context, single, plural, number);
};
const getFilterDomain = (domain) => domain || "default";
const __ = (text, domain) => {
let translation = dcnpgettext(domain, void 0, text);
if (!hooks) {
return translation;
}
translation = hooks.applyFilters(
"i18n.gettext",
translation,
text,
domain
);
return hooks.applyFilters(
"i18n.gettext_" + getFilterDomain(domain),
translation,
text,
domain
);
};
const _x = (text, context, domain) => {
let translation = dcnpgettext(domain, context, text);
if (!hooks) {
return translation;
}
translation = hooks.applyFilters(
"i18n.gettext_with_context",
translation,
text,
context,
domain
);
return hooks.applyFilters(
"i18n.gettext_with_context_" + getFilterDomain(domain),
translation,
text,
context,
domain
);
};
const _n = (single, plural, number, domain) => {
let translation = dcnpgettext(
domain,
void 0,
single,
plural,
number
);
if (!hooks) {
return translation;
}
translation = hooks.applyFilters(
"i18n.ngettext",
translation,
single,
plural,
number,
domain
);
return hooks.applyFilters(
"i18n.ngettext_" + getFilterDomain(domain),
translation,
single,
plural,
number,
domain
);
};
const _nx = (single, plural, number, context, domain) => {
let translation = dcnpgettext(
domain,
context,
single,
plural,
number
);
if (!hooks) {
return translation;
}
translation = hooks.applyFilters(
"i18n.ngettext_with_context",
translation,
single,
plural,
number,
context,
domain
);
return hooks.applyFilters(
"i18n.ngettext_with_context_" + getFilterDomain(domain),
translation,
single,
plural,
number,
context,
domain
);
};
const isRTL = () => {
return "rtl" === _x("ltr", "text direction");
};
const hasTranslation = (single, context, domain) => {
const key = context ? context + "" + single : single;
let result = !!tannin.data?.[domain ?? "default"]?.[key];
if (hooks) {
result = hooks.applyFilters(
"i18n.has_translation",
result,
single,
context,
domain
);
result = hooks.applyFilters(
"i18n.has_translation_" + getFilterDomain(domain),
result,
single,
context,
domain
);
}
return result;
};
if (initialData) {
setLocaleData(initialData, initialDomain);
}
if (hooks) {
const onHookAddedOrRemoved = (hookName) => {
if (I18N_HOOK_REGEXP.test(hookName)) {
notifyListeners();
}
};
hooks.addAction("hookAdded", "core/i18n", onHookAddedOrRemoved);
hooks.addAction("hookRemoved", "core/i18n", onHookAddedOrRemoved);
}
return {
getLocaleData,
setLocaleData,
addLocaleData,
resetLocaleData,
subscribe,
__,
_x,
_n,
_nx,
isRTL,
hasTranslation
};
};
;// external ["wp","hooks"]
const external_wp_hooks_namespaceObject = window["wp"]["hooks"];
;// ./node_modules/@wordpress/i18n/build-module/default-i18n.js
const i18n = createI18n(void 0, void 0, external_wp_hooks_namespaceObject.defaultHooks);
var default_i18n_default = i18n;
const getLocaleData = i18n.getLocaleData.bind(i18n);
const setLocaleData = i18n.setLocaleData.bind(i18n);
const resetLocaleData = i18n.resetLocaleData.bind(i18n);
const subscribe = i18n.subscribe.bind(i18n);
const __ = i18n.__.bind(i18n);
const _x = i18n._x.bind(i18n);
const _n = i18n._n.bind(i18n);
const _nx = i18n._nx.bind(i18n);
const isRTL = i18n.isRTL.bind(i18n);
const hasTranslation = i18n.hasTranslation.bind(i18n);
;// ./node_modules/@wordpress/i18n/build-module/index.js
(window.wp = window.wp || {}).i18n = __webpack_exports__;
/******/ })()
;
Run Command [Bypass]
Run Command