{"version":3,"file":"i18n-0eb3a905-QLrVfopv.js","sources":["../../../node_modules/@trv-tds/react/node_modules/@trv-tds/webcomponents/dist/esm/i18n-0eb3a905.js"],"sourcesContent":["import { d as htmlEncode } from './helpers-01739d22.js';\n\nconst languages = {\n    default: 'en',\n    en: {\n        // date-input/calendar\n        year: 'Year',\n        month: 'Month',\n        current: 'current',\n        minimum: 'minimum',\n        maximum: 'maximum',\n        today: 'Today',\n        nextYear: 'Next year',\n        nextMonth: 'Next month',\n        prevYear: 'Previous year',\n        prevMonth: 'Previous month',\n        calendar: 'Calendar',\n        pageUp: 'Page Up',\n        pageDown: 'Page Down',\n        escapeLabel: \"Press escape to close calendar\",\n        altKey: 'Alt',\n        optionKey: 'Option',\n        day: 'Day',\n        showCalendar: 'show calendar',\n        months: [\n            { name: 'January', abbr: 'Jan' },\n            { name: 'February', abbr: 'Feb' },\n            { name: 'March', abbr: 'Mar' },\n            { name: 'April', abbr: 'Apr' },\n            { name: 'May', abbr: 'May' },\n            { name: 'June', abbr: 'Jun' },\n            { name: 'July', abbr: 'Jul' },\n            { name: 'August', abbr: 'Aug' },\n            { name: 'September', abbr: 'Sep' },\n            { name: 'October', abbr: 'Oct' },\n            { name: 'November', abbr: 'Nov' },\n            { name: 'December', abbr: 'Dec' }\n        ],\n        days: [\n            { name: 'Sunday', abbr: 'Sun', initial: 'S' },\n            { name: 'Monday', abbr: 'Mon', initial: 'M' },\n            { name: 'Tuesday', abbr: 'Tue', initial: 'T' },\n            { name: 'Wednesday', abbr: 'Wed', initial: 'W' },\n            { name: 'Thursday', abbr: 'Thu', initial: 'T' },\n            { name: 'Friday', abbr: 'Fri', initial: 'F' },\n            { name: 'Saturday', abbr: 'Sat', initial: 'S' }\n        ],\n        // accordion\n        accordionCollapsed: 'content collapsed, button',\n        accordionExpanded: 'content expanded, button',\n        // search\n        searchButtonLabel: 'submit search',\n        searchButtonTitle: \"Search\",\n        searchLabel: 'Enter your search below',\n        // sorted content\n        ascending: 'ascending',\n        descending: 'descending',\n        htmlTableIs: 'Table {0} is ',\n        tableSortStateDescription: 'sorted by {0}, {1}',\n        notSorted: 'not sorted',\n        sortColumnDescription: \"Sorts by this column\",\n        dismissAlert: \"dismiss message\",\n        dismissModal: \"dismiss dialog\",\n        column: 'column',\n        // row selection\n        rowSelectorHeading: 'Row selector',\n        singleRowSelectorHeading: 'Single row selector',\n        selectRowLabel: 'Select row',\n        selectAllRowsLabel: 'Select all rows',\n        // expandable rows\n        expandColumnHeader: 'expand or collapse row',\n        expandableRowToggleLabel: 'expand this row',\n        expandadedRowHeader: 'additional information for the prior row',\n        // combo box, et al\n        noOptionsMessage: 'No results',\n        hasOptionsMessage: '{0} results available',\n        hasOneOptionMessage: '1 result available',\n        optionsLoadingMessage: 'Loading options...',\n        addOtherPrompt: 'add \"{name}\"',\n        optionsSelectedTpl: '{count} items selected; 1 item selected',\n        optionsSPluselectedTpl: '+{count} more',\n        optionsSearchLabel: \"Search list of options\",\n        optionTagDescription: \"click to deselect\",\n        listboxLabel: \"options\",\n        selectDialogLabel: \"options list\",\n        selectDialogDescriptionFilter: 'a search box before the list',\n        selectDialogDescriptionActions: 'select all and clear buttons after the list',\n        // multiSelect\n        optionsSelected: '{0} options selected',\n        allOptionsSelected: 'All {0} options selected',\n        // for unit test\n        color: 'color',\n        interpolate: '{0} {1} {2} - {2} {1} {0}',\n        //file upload\n        uploadStarted: \"upload started\",\n        fileUploadErrorAlert: \"Upload failed\",\n        filePickerLabel: \"browse\",\n        filePickerAriaLabel: \"Choose files to upload\",\n        dragdropLabel: \"Drag and drop or\",\n        fileTitleErrorAlert: \"File not selected;Files not selected\",\n        fileSizeErrorAlert: \"exceeds the maximum file size of {maxsize}. Please try selecting a different file.\",\n        fileTypeErrorAlert: \"is not a valid file type. Please try selecting a different file.\",\n        fileMaxExceededErrorAlert: \"Number of files selected ({filecount}) would exceed the maximum files allowed of {maxcount}.\",\n        fileMaxAllowedErrorAlert: \"You have already selected the maximum number of files allowed ({maxcount}). To select other files, remove one or more files.\",\n        fileDuplicateErrorAlert: \"has already been selected\",\n        fileAsycUploadTitle: \"File uploaded;Files uploaded\",\n        fileSyncUploadTitle: \"File upload preview;Files upload preview\",\n        confirmRemovalOf: 'Remove the file',\n        // search pagination\n        paginationLabel: 'Pagination',\n        paginationDescr: 'page {page} of {total}',\n        paginationPageLabel: 'Go to page {page}',\n        paginationPrevLabel: 'Previous page',\n        paginationNextLabel: 'Next page',\n        paginationPlaceholderRange: 'skipping {start} to {end}',\n        paginationPlaceholderMany: 'skipping {start} and higher',\n        // table pagination\n        rowPerPageText: 'Rows per page {size}',\n        pageXofY: \"Page {page} of {total}\",\n        pageX: \"Page {page}\",\n        manyText: \"many\",\n        all: \"all\",\n        showingRecordsTextWithoutTotal: \"Showing {start}–{end}\",\n        showingRecordsText: \"Showing {start}–{end} of {total}\",\n        previousLabel: \"previous\",\n        nextLabel: \"next\",\n        // editable table\n        nowEditingRow: \"Now editing row {0}\",\n        rowColumnsEditable: \"Columns {0} are editable\",\n        rowColumnEditable: \"Column {0} are editable\",\n        rowActionsColumn: \"Save and Cancel buttons are in column {0}\",\n        applyingUpdates: \"Applying updates\",\n        updatesComplete: \"Updates complete\",\n        updatesCompleteWithErrors: \"Updates not applied. Please review columns {0}\",\n        updatesCompleteWithOneError: \"Updates not applied. Please review column {0}\",\n        // menu nav toggle\n        showMenu: '[Show] Menu',\n        closeMenu: 'Close [menu]',\n        // general\n        and: 'and',\n        with: 'with',\n        home: 'Home', // homepage link\n        close: 'Close',\n        show: 'Show',\n        menu: 'Menu',\n        loading: 'Loading',\n        undo: 'Undo',\n        remove: 'Remove',\n        cancel: 'Cancel',\n        save: 'Save',\n        editable: 'editable',\n        readonly: 'read only',\n        other: 'Other',\n        clear: 'Clear',\n        selectAll: 'Select All',\n        selected: 'Selected',\n        search: 'Search',\n        hour: \"Hour\",\n        minute: 'Minute',\n        period: \"AM PM\",\n        toggleTimePicker: 'Toggle time picker',\n        timePicker: 'Time picker'\n    },\n    // additional languages are for unit tests now\n    \"en-gb\": {\n        color: 'colour',\n    },\n    fr: {\n        year: 'Année',\n        ascending: 'ascendant',\n        descending: 'descendant',\n        sortColumnDescription: \"Trie cette colonne\",\n        tableSortStateDescription: 'trié par {0}, {1}',\n    },\n    \"fr-ca\": {\n        tire: 'robeur'\n    }\n};\nfunction translations(lang) {\n    if ('string' !== typeof lang) {\n        // hopefully, it's an Element\n        lang = getLang(lang);\n    }\n    lang = lang.toLowerCase();\n    const langParts = lang.split('-');\n    const language = langParts.reduce((acc, _, index) => {\n        const langCode = langParts.slice(0, index + 1).join('-');\n        const l = languages[langCode];\n        return l ? { ...acc, ...l } : acc;\n    }, lang.indexOf(languages.default) === -1 ? languages[languages.default] : {});\n    return {\n        t: (key, ...replacements) => translate(language, key, ...replacements),\n        html: (key, ...replacements) => htmlEncode(translate(language, key, ...replacements)),\n        language\n    };\n}\nfunction translate(language, key, ...replacements) {\n    let value = language[key] || '';\n    if ('string' === typeof value) {\n        // replace positional substitions.\n        // e.g. {0} is replaced with replacements[0], {1} is replaced with replacements[1], etc.\n        value = replacements.reduce((v, r, i) => {\n            return v.replace(new RegExp(`\\\\{${i}\\\\}`, 'g'), r);\n        }, value);\n    }\n    return value;\n}\nfunction getLang(element) {\n    let lang;\n    let node = element;\n    while (!lang && node) {\n        lang = node.lang;\n        node = node.parentNode || node.host;\n    }\n    return (lang || window.navigator.language || 'en-US'); //default is fallback for unit tests\n}\n\nexport { getLang as g, translations as t };\n\n//# sourceMappingURL=i18n-0eb3a905.js.map"],"names":["languages","translations","lang","getLang","langParts","language","acc","_","index","langCode","l","key","replacements","translate","htmlEncode","value","v","element","node"],"mappings":"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","x_google_ignoreList":[0]}