{"version":3,"file":"js/2023-42aa935a3102f03c441b.js","mappings":"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","sources":["webpack://AYTM/./app/_stock/webpack/app/survey/editor/styles/content/assets/AssetUploader.module.scss?9890","webpack://AYTM/./app/_stock/webpack/app/survey/editor/components/content/assets/AssetUploader.jsx","webpack://AYTM/./app/_stock/webpack/app/survey/editor/styles/content/assets/ImagePreview.module.scss?071c","webpack://AYTM/./app/_stock/webpack/app/survey/editor/components/content/assets/ImagePreview.jsx","webpack://AYTM/./app/_stock/webpack/app/swidget/base/modules/devlog/Module.ts","webpack://AYTM/./app/_stock/webpack/app/swidget/base/modules/locale/Locale.Context.ts","webpack://AYTM/./app/_stock/webpack/app/swidget/base/modules/locale/dicts/en_US.ts","webpack://AYTM/./app/_stock/webpack/app/swidget/base/modules/locale/loadDict.ts","webpack://AYTM/./app/_stock/webpack/app/swidget/base/modules/locale/state.ts","webpack://AYTM/./app/_stock/webpack/app/swidget/base/modules/locale/Module.ts","webpack://AYTM/./app/_stock/webpack/app/swidget/base/modules/locale/useSurveyLocale.ts","webpack://AYTM/./app/_stock/webpack/app/swidget/base/modules/types.ts","webpack://AYTM/./app/_stock/webpack/app/swidget/base/questions/_common/RotateDevice/Arrow.tsx","webpack://AYTM/./app/_stock/webpack/app/swidget/base/questions/_common/RotateDevice/Mobile.tsx","webpack://AYTM/./app/_stock/webpack/app/swidget/base/questions/_common/RotateDevice/style.module.scss?df9d","webpack://AYTM/./app/_stock/webpack/app/swidget/base/questions/_common/RotateDevice/RotateDevice.tsx","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/styles/_base.module.scss?80ff","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/components/_base.jsx","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/styles/common/notice.module.scss?d283","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/components/common/notice.jsx","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/styles/scx.module.scss?9828","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/components/scx.jsx","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/lib/functions.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locale.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/ar.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/bg.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/da.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/de.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/en_us.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/fi.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/fr.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/gr.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/he.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/hi.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/id.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/it.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/ja.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/ko.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/ma.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/nl.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/nor.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/pl.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/pt.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/pt_br.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/ro.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/ru.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/sp.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/sv.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/th.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/tr.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/ua.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/vi.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/zh_cn.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/zh_hk.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/locales/zh_tw.js","webpack://AYTM/./app/_stock/webpack/lib/common/assets.ts","webpack://AYTM/./app/_stock/webpack/lib/common/object.js","webpack://AYTM/./app/_stock/webpack/lib/common/subscription.ts","webpack://AYTM/./app/_stock/webpack/lib/csrf-token.js","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/styles/basic/image-popup.scss?806a","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/components/basic/image-popup.jsx","webpack://AYTM/./app/_stock/webpack/lib/rfd-ui/components/basic/light-box.jsx","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/styles/common.module.scss?090a"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"minPlaceholderHeight\":\"34\",\"indent0\":\"39\",\"indent1\":\"72\",\"indent2\":\"105\",\"indent3\":\"138\",\"component\":\"AssetUploader-module__component___1jn2G surveyeditor-AssetUploader\",\"component-readOnly\":\"AssetUploader-module__component-readOnly___1GBK0\",\"input\":\"AssetUploader-module__input___2umvZ\"};","// lib\nimport React from 'react'\nimport ManagedRenderComponent from '@aytm/lib/common/components/ManagedRenderComponent'\nimport autobind from 'autobind-decorator'\nimport PropTypes from 'prop-types'\n\n// styles\nimport style from '@aytm/app/survey/editor/styles/content/assets/AssetUploader.module.scss'\n\n// <Component>\nexport default class AssetUploader extends ManagedRenderComponent {\n static propTypes = {\n readOnly: PropTypes.bool,\n children: PropTypes.any,\n accept: PropTypes.string,\n onUploadFile: PropTypes.func\n }\n static updateOnProps(/*nextProps, prevProps*/) {\n return true\n }\n\n @autobind\n fileSelected() {\n if (this.refUploadInput && this.refUploadInput.files && this.refUploadInput.files.length) {\n this.uploadFile(this.refUploadInput.files[0])\n }\n }\n\n @autobind\n uploadFile(file) {\n const { onUploadFile } = this.props\n if ('function' == typeof onUploadFile) {\n onUploadFile(file)\n }\n }\n\n render() {\n const { accept, readOnly, children } = this.props\n return readOnly ? (\n <label className={`${style.component} ${style['component-readOnly']}`}>{children}</label>\n ) : (\n <label className={style.component}>\n <input\n type=\"file\"\n name=\"file\"\n onChange={this.fileSelected}\n accept={accept}\n className={style.input}\n tabIndex=\"-1\"\n ref={this.saveRef('UploadInput')}\n />\n {children}\n </label>\n )\n }\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"minPlaceholderHeight\":\"34\",\"indent0\":\"39\",\"indent1\":\"72\",\"indent2\":\"105\",\"indent3\":\"138\",\"component\":\"ImagePreview-module__component___CgYZO surveyeditor-ImagePreview\",\"zoom\":\"ImagePreview-module__zoom___1TVio icon-aytmfd-zoom-in surveyeditor-ImagePreview-zoom\",\"uploadImage\":\"ImagePreview-module__uploadImage___2_jAZ rfd-highlight-hover-background-color\",\"deleteImage\":\"ImagePreview-module__deleteImage___1fHBa rfd-highlight-hover-background-color\",\"loading\":\"ImagePreview-module__loading___2HqjN\",\"loading-icon\":\"ImagePreview-module__loading-icon___PMkzk icon-aytmfd-spin aytmfd-spin\",\"imageHolder\":\"ImagePreview-module__imageHolder___2gNMf surveyeditor-ImagePreview-imageHolder\",\"image\":\"ImagePreview-module__image___hDIOm\",\"image-loading\":\"ImagePreview-module__image-loading___2ToMx\",\"image-loaded\":\"ImagePreview-module__image-loaded___3ArF2\",\"image-inactive\":\"ImagePreview-module__image-inactive___1j03Q\",\"loader\":\"ImagePreview-module__loader___1Zavk\"};","// lib\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport autobind from 'autobind-decorator'\nimport ManagedRenderComponent from '@aytm/lib/common/components/ManagedRenderComponent'\n\n// components\nimport ImagePopup from '@aytm//lib/rfd-ui/components/basic/image-popup'\nimport AssetUploader from '@aytm/app/survey/editor/components/content/assets/AssetUploader'\nimport Popup, { PopupContent } from '@aytm/lib/rfd-ui/components/basic/popup'\n\n// style\nimport style from '@aytm/app/survey/editor/styles/content/assets/ImagePreview.module.scss'\n\n// <Components>\nexport default class ImagePreview extends ManagedRenderComponent {\n static propTypes = {\n accept: PropTypes.string,\n label: PropTypes.string,\n imageUrl: PropTypes.string,\n previewUrl: PropTypes.string,\n maxHeight: PropTypes.string,\n maxWidth: PropTypes.string,\n minWidth: PropTypes.string,\n minHeight: PropTypes.string,\n openImageOnZoomButtonOnly: PropTypes.bool,\n doubleBuffering: PropTypes.bool,\n allowScrolling: PropTypes.bool,\n onPreviewLoaded: PropTypes.func,\n uploadImageLabel: PropTypes.string,\n onUploadImage: PropTypes.func,\n deleteImageLabel: PropTypes.string,\n onDeleteImage: PropTypes.func,\n onImageOpen: PropTypes.func,\n onImageHide: PropTypes.func,\n onImageLoaded: PropTypes.func\n }\n static updateOnProps(nextProps, prevProps) {\n return (\n nextProps.imageUrl != prevProps.imageUrl ||\n nextProps.previewUrl != prevProps.previewUrl ||\n nextProps.maxHeight != prevProps.maxHeight ||\n nextProps.maxWidth != prevProps.maxWidth ||\n nextProps.minWidth != prevProps.minWidth ||\n nextProps.minHeight != prevProps.minHeight ||\n nextProps.openImageOnZoomButtonOnly != prevProps.openImageOnZoomButtonOnly ||\n nextProps.doubleBuffering != prevProps.doubleBuffering ||\n nextProps.onImageLoaded != prevProps.onImageLoaded ||\n nextProps.uploadImageLabel != prevProps.uploadImageLabel\n )\n }\n\n static contextTypes = {\n popup: PropTypes.instanceOf(Popup),\n popupContent: PropTypes.instanceOf(PopupContent)\n }\n\n state = {\n loading: true,\n loaded: false,\n previewUrl: null,\n previewState: 'fetch',\n showImage: false\n }\n\n constructor(props, context) {\n super(props, context)\n this.previewImage = null\n }\n\n componentDidMount() {\n const { previewUrl } = this.props\n this.setPreviewImage(previewUrl)\n }\n\n UNSAFE_componentWillReceiveProps(nextProps /*, nextContext*/) {\n if (nextProps.previewUrl != this.props.previewUrl) {\n this.setPreviewImage(nextProps.previewUrl)\n }\n }\n\n @autobind\n setPreviewImage(url) {\n if (false === this.props.doubleBuffering) {\n this.setState({ previewState: 'fetched', previewUrl: url }, () => {\n this.reposition()\n })\n } else {\n this.previewImage = document.createElement('img')\n this.previewImage.addEventListener('load', () => {\n const { onPreviewLoaded } = this.props\n if ('function' == typeof onPreviewLoaded) {\n onPreviewLoaded(url)\n }\n this.setState({ previewState: 'fetched', previewUrl: url }, () => {\n this.reposition()\n })\n })\n this.setState({ previewState: 'fetch' }, this.reposition)\n setTimeout(() => {\n if (this.mounted && 'fetch' == this.state.previewState) {\n this.setState({ previewState: 'fetching' }, this.reposition)\n }\n }, 200)\n this.previewImage.src = url\n }\n }\n\n @autobind\n reposition() {\n const { popupContent } = this.context\n if (popupContent) {\n setTimeout(() => {\n popupContent.reposition()\n }, 0)\n setTimeout(() => {\n // control shot!\n popupContent.reposition()\n }, 100)\n }\n }\n\n @autobind\n onLoaded() {\n const { onImageLoaded } = this.props\n setTimeout(() => {\n this.reposition()\n if ('function' == typeof onImageLoaded) {\n onImageLoaded()\n }\n }, 10)\n this.setState({ loading: false, loaded: true })\n }\n\n @autobind\n showImage() {\n const { popup } = this.context\n const { onImageOpen } = this.props\n if (popup) popup.freeze()\n if ('function' == typeof onImageOpen) onImageOpen()\n this.setState({\n showImage: true\n })\n }\n\n @autobind\n hideImage() {\n const { popup } = this.context\n const { onImageHide } = this.props\n if (popup) {\n popup.unfreeze()\n popup.hide()\n }\n if ('function' == typeof onImageHide) onImageHide()\n this.setState({\n showImage: false\n })\n }\n\n render() {\n const {\n label,\n imageUrl,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n allowScrolling,\n openImageOnZoomButtonOnly,\n accept,\n onUploadImage,\n uploadImageLabel,\n onDeleteImage,\n deleteImageLabel\n } = this.props\n const { loading, loaded, previewUrl, previewState, showImage } = this.state\n return (\n <div\n className={`${style.component}${'fetched' != previewState ? ' ' + style.loading : ''}`}\n style={{ maxHeight, maxWidth, minWidth, minHeight }}\n >\n {previewUrl && (\n <div\n className={`${style.image}${loading ? ' ' + style['image-loading'] : ''}${\n loaded ? ' ' + style['image-loaded'] : ''\n }${openImageOnZoomButtonOnly ? ' ' + style['image-inactive'] : ''}`}\n onClick={openImageOnZoomButtonOnly ? null : this.showImage}\n style={{ minWidth }}\n >\n <div className={style.imageHolder} style={{ maxHeight, minWidth, maxWidth }}>\n <img role=\"presentation\" alt=\"\" src={previewUrl} onLoad={this.onLoaded} style={{ maxHeight, maxWidth }} />\n {loading && !loaded && (\n <div className={style.loader}>\n <i className=\"icon-aytmfd-spin aytmfd-spin\" />\n </div>\n )}\n {'fetched' == previewState && <i className={style.zoom} onClick={this.showImage} />}\n {'fetched' == previewState && 'function' == typeof onUploadImage && (\n <div className={style.uploadImage}>\n <AssetUploader onUploadFile={onUploadImage} accept={accept}>\n <i className=\"icon-aytmfd-qimage\" /> {uploadImageLabel || 'CHANGE'}\n </AssetUploader>\n </div>\n )}\n {'fetched' == previewState && 'function' == typeof onDeleteImage && (\n <div className={style.deleteImage} onClick={onDeleteImage}>\n {deleteImageLabel || 'DELETE'}\n </div>\n )}\n </div>\n </div>\n )}\n {'fetching' == previewState && <i className={style['loading-icon']} />}\n <ImagePopup\n label={label}\n src={imageUrl}\n show={showImage}\n scrolling={allowScrolling}\n onClose={this.hideImage}\n closeOnClick={true}\n />\n </div>\n )\n }\n}\n","import { ModuleID } from '../types'\nimport { IDevLogModule } from './types'\n\nimport exceptionReporter from '@aytm/lib/common/exception-reporter'\n\nlet moduleLoaded = false\nconst DevLog: IDevLogModule = {\n get id() {\n return ModuleID.DEV_LOG\n },\n config(_props) {\n return DevLog\n },\n async load() {\n moduleLoaded = true\n return Promise.resolve(DevLog)\n },\n get loaded() {\n return moduleLoaded\n },\n log(...details) {\n exceptionReporter.sendTaggedMessage('swidget', String(details[0]), ...details.slice(1))\n },\n _log(...details) {\n //TODO: kits\n // if ('development' === process.env.NODE_ENV) {\n // eslint-disable-next-line no-console\n console.debug(...details)\n // }\n },\n error(error, ...details) {\n exceptionReporter(error, ...details)\n },\n moduleLog(module, ...details) {\n DevLog.log(`SW[${module.id}]:`, ...details)\n },\n _moduleLog(module, ...details) {\n DevLog._log(`SW[${module.id}]:`, ...details)\n },\n moduleError(module, error, ...details) {\n DevLog.error(error, `SW[${module.id}]:`, String(error), ...details)\n }\n}\n\nexport default DevLog\n","import React from 'react'\n\nimport { ILocaleContext } from './types'\n\nimport { DEFAULT_LOCALE_ID } from './Module'\n\nexport const DEFAULT_LOCALE_CONTEXT: ILocaleContext = {\n surveyLocaleID: DEFAULT_LOCALE_ID,\n interfaceLocaleID: DEFAULT_LOCALE_ID\n}\n\nexport const LocaleContext = React.createContext<ILocaleContext>(DEFAULT_LOCALE_CONTEXT)\nexport default LocaleContext\n","import { ILocaleDict } from '../types'\n\nconst dict: ILocaleDict = {\n global: {\n nth: (() => {\n const below20 = [\n 'Zeroth',\n 'First',\n 'Second',\n 'Third',\n 'Fourth',\n 'Fifth',\n 'Sixth',\n 'Seventh',\n 'Eighth',\n 'Ninth',\n 'Tenth',\n 'Eleventh',\n 'Twelfth',\n 'Thirteenth',\n 'Fourteenth',\n 'Fifteenth',\n 'Sixteenth',\n 'Seventeenth',\n 'Eighteenth',\n 'Nineteenth'\n ]\n const decaPrefix = ['Twent', 'Thirt', 'Fort', 'Fift', 'Sixt', 'Sevent', 'Eight', 'Ninet']\n return (number: number) =>\n 20 > number\n ? below20[number]\n : 0 == number % 10 && 100 > number\n ? `${decaPrefix[number / 10 - 2]}ieth`\n : 100 > number\n ? `${decaPrefix[Math.floor(number / 10) - 2]}y ${below20[number % 10]}`\n : 100 == number\n ? 'Hundredth'\n : 'Another'\n })()\n },\n navigation: {\n time: {\n almostThere: 'Almost there!',\n xrays: {\n mobile: 'qtime:',\n desktop: 'This question will take ~'\n }\n },\n screenNumber: {\n label: 'Screen #'\n },\n repeatVideos: {\n buttonLabel: 'Repeat videos'\n },\n progressBar: {\n label: 'Survey progress'\n }\n },\n questions: {\n noAnswers: 'No answer options, please click next to continue.',\n placeholder: 'Please specify...',\n pleaseSelect: 'Please select...',\n noResults: 'No results found...',\n rotateLandscape: 'Please rotate your phone from portrait to landscape to continue.',\n rotatePortrait: 'Please rotate your phone from landscape to portrait to continue.',\n exitSimulation: 'Exit simulation',\n gotIt: 'Got it!',\n ir: {\n selectWebCam: \"Select webcam (if available) or click 'Browse' to upload from your device\",\n uploadOnly: \"Click 'Browse' to upload from your device\",\n noWebCam: 'No webcam detected',\n selectFile: 'Please select a file',\n uploadFile: 'PLEASE, UPLOAD THE FILE',\n accessCamUpload: 'ACCESS CAMERA/UPLOAD',\n browse: 'BROWSE',\n uploadPhoto: 'Upload a photo',\n camera: 'Web Camera',\n instead: 'instead',\n capture: 'CAPTURE',\n somethingWrong: 'Sorry, something went wrong. Please, try again.',\n couldntRead: \"Sorry, we couldn't read the code!\",\n couldntProcess: \"Sorry, we couldn't process your image!\",\n inValidCode: 'Please, submit the valid code',\n moveOn: 'Please try again or submit your photo and move on',\n tryAgain: 'Please try again',\n dataReceived: 'Data received!',\n enterManually: 'Please try again or enter the data manually below',\n positionQR:\n 'Please position the QR code in front of your camera to fit it into the red frame or upload it from your computer.',\n uploadQR: 'Upload the QR code from your computer',\n uploadQRMobile: 'Upload the QR code from your device',\n positionQRMobile: 'Please position the QR code in front of your camera or upload it from your device.',\n analyzing: 'Analyzing image, please wait',\n submit: 'SUBMIT',\n startOver: 'START OVER',\n allDone: 'ALL DONE!',\n cantAnalyze:\n \"Attention - we couldn't render this image. Please try resubmitting it or choose a more generic image format (JPG, PNG, GIF, BMP)\",\n wrongFormat:\n \"We're sorry - we don't support this file format. Please upload a supported image type (JPG, PNG, GIF, BMP, TIF, PDF, SVG)\"\n },\n vr_pre: {\n question:\n `VIDEO RESPONSE IS NEEDED.<br/><br/><span>As a part of this survey we invite you to record a short video clip if you have a working Web camera ` +\n `& mic, a quiet and well-lit place and are ready to answer client's questions.</span>`,\n answers: {\n 0: 'Yes, I have a working webcam & microphone.',\n 1: \"Yes, I'm in a well-lit quiet area and fully clothed.\",\n 2: 'Yes, I have a few extra minutes and ready to record my answers.',\n 3: \"No, I don't wish to do a video response at this time.\"\n },\n panels: {\n pv: {\n question: {\n vr_optional:\n `VIDEO RESPONSE IS NEEDED.<br/>We invite you to earn an extra \\${bonus} bonus in addition to your promised earnings, if you` +\n `have a working web camera & mic, you are in a quiet and well-lit place, and are ready to record a short video clip answering a few questions ` +\n `right now.<br/>Our team will review the video and deposit the earnings within 3-4 days. You’ll receive compensation only if the quality of ` +\n `the video & audio you submitted is acceptable and all talking points are covered. If you choose to skip this step, you still will receive ` +\n `the \\${regular_amount} for completing the regular questions of this survey. Please remember you are addressing our client, not PV. As ` +\n ` always, your responses will remain anonymous (no need to mention your name). If you have any questions, comments, or concerns about this ` +\n `opportunity, please reach out to <a href=\"mailto:support@PaidViewpoint.com\" target=\"_blank\">support@PaidViewpoint.com</a>.`,\n vr_required:\n `VIDEO RESPONSE IS NEEDED.<br/>We invite you to earn an extra \\${bonus} in addition to your promised earnings, if you have ` +\n `a working web camera & mic, you are in a quiet and well-lit place, and are ready to record a short video clip answering a few questions ` +\n `right now.<br/>A video recording screen will be followed by a set of regular questions. If you decide to participate, you must record ` +\n `a video and also complete the rest of the survey.<br/>Our team will review the video and deposit the earnings within 3-4 days. You’ll ` +\n `receive compensation only if the quality of the video & audio you submitted is acceptable and all talking points are covered. We’ll ` +\n `send an email to confirm your video has been accepted. If you don’t wish to provide a video response because of technical or other reason, ` +\n `you will not receive any compensation.<br/>Please remember you are addressing our client, not PV. As always, your responses will remain ` +\n `anonymous (no need to mention your name). If you have any questions, comments, or concerns about this opportunity, please reach out to ` +\n `<a href=\"mailto:support@PaidViewpoint.com\" target=\"_blank\">support@PaidViewpoint.com</a>.`\n }\n }\n }\n },\n vr: {\n noWebCam: 'No webcam detected',\n uploadVideo: 'Upload a video',\n skip: 'Skip?',\n accessCamUpload: 'ACCESS CAMERA/UPLOAD',\n browse: 'BROWSE',\n instead: 'instead',\n or: 'or',\n stopRecording: 'Stop recording',\n willBeStopped: 'Recording will stop at <b>5 minutes</b>',\n stopOnDone: \"Stop recording when you're done!\",\n record: 'RECORD',\n somethingWrong: 'Sorry, something went wrong. Please, try again.',\n dataReceived: 'Data received!',\n microphone: 'Microphone',\n camera: 'Web Camera',\n selectMicrophone: 'Select your microphone',\n selectCam: 'Select your web camera',\n submit: 'SUBMIT',\n upload: 'UPLOAD',\n playback: 'PLAYBACK',\n stopPlayback: 'STOP PLAYBACK',\n startOver: 'START OVER',\n allDone: 'ALL DONE!',\n alternativeRecordSpan: 'Please, upload a video-clip from your computer-device.<br/>Alternatively, you can ',\n alrenativeRecordHref: 'record the video with a webcam',\n cantAnalyze:\n \"Attention - we couldn't render this video. Please try resubmitting it or choose a more generic video format (MP4, M4V, WEBPM)\",\n wrongFormat:\n \"We're sorry - we don't support this file format. Please upload a supported video type (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)\"\n },\n cjc: {\n choose: 'CHOOSE',\n pleaseChoose: 'Please choose',\n this: 'THIS',\n one: 'one',\n myChoice: 'MY CHOICE',\n none: 'None of the above',\n colContent: 'Answer content: '\n },\n hm: {\n addComment: 'Please add a comment below',\n commentMandatoryPlaceHolder: 'Please, add mandatory comment... ',\n commentOptionalPlaceHolder: 'Please, add optional comment... ',\n dragPin: 'Drag to reposition (long click/tap for precision pinning). ',\n removePin: 'Drag outside of the image to delete. ',\n editComment: 'Click/tap pin to edit comment. ',\n addPin: 'Please drag the pin from the panel below and drop it at a spot of your choice on the image.',\n addPins: 'Please drag the pins from the panel below and drop them at a spot of your choice on the image. ',\n leavePins: (minPoints: number, maxPoints: number) =>\n `Please leave at least ${minPoints} but no more than ${maxPoints} pins of every kind.`,\n leavePinsAny: (minPoints: number, maxPoints: number) =>\n `Please leave at least ${minPoints} but no more than ${maxPoints} pins of any kind. `,\n leavePinsPerPage: (minPoints: number, maxPoints: number) =>\n `Please leave at least ${minPoints} but no more than ${maxPoints} pins. `,\n leavePinsWithOff: (maxPoints: number) =>\n `Please leave no more than ${maxPoints} pins of every kind or click Next to skip. `,\n leavePinsWithOffAny: (maxPoints: number) =>\n `Please leave no more than ${maxPoints} pins of any kind or click Next to skip. `,\n leavePinsPerPageWithOff: (maxPoints: number) =>\n `Please leave no more than ${maxPoints} pins or click Next to skip. `,\n leavePinWithOff: `Please leave no more than 1 pin of every kind or click Next to skip. `,\n leavePinWithOffAny: `Please leave no more than 1 pin of any kind or click Next to skip. `,\n leavePinPerPageWithOff: 'Please leave no more than 1 pin or click Next to skip. ',\n leaveExactlyPin: `Please leave 1 pin of every kind. `,\n leaveExactlyPinAny: `Please leave 1 pin of any kind. `,\n leaveExactlyPinPerPage: 'Please leave 1 pin. ',\n leaveExactlyPins: (maxPoints: number) => `Please leave ${maxPoints} pins of every kind. `,\n leaveExactlyPinsAny: (maxPoints: number) => `Please leave ${maxPoints} pins of any kind. `,\n leaveExactlyPinsPerPage: (maxPoints: number) => `Please leave ${maxPoints} pins. `,\n leaveComment: 'Type below the image to leave comment. ',\n noAnswers: 'No answer options, please click next to continue',\n outOfPins: 'you are out of pins',\n pinsBehavior: 'As you move across the image you’ll see areas that will be highlighted with a single pin drop.',\n clusters: 'You’ll only be able to place pins in these highlighted areas.',\n contentAware: 'You can drop pins inside or outside of the highlighted areas.'\n },\n mp: {\n expand_note: 'Please hover over image(s) to expand',\n rb_note: (rows: boolean) => `Please select only 1 response per item${rows ? ' below' : ''}:`,\n cb_note: (min: number, max: number, rows: boolean) => {\n if (min === max) {\n return `Please select ${min !== 1 ? 'any' : 'only'} ${min} response${min !== 1 ? 's' : ''} per item${\n rows ? ' below' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Please select at least ${min} response${min !== 1 ? 's' : ''} but no more than ${max} per item${\n rows ? ' below' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Please select at least ${min} response${min !== 1 ? 's' : ''} per item${rows ? ' below' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Please select no more than ${max} response${max !== 1 ? 's' : ''} per item${rows ? ' below' : ''}:`\n } else {\n return 'Check all that apply:'\n }\n }\n },\n sh: {\n note: \"Click a product to zoom in and add to your virtual cart if you'd buy it in the store\",\n amazonNote: 'Click on a product to zoom in or add multiples of a product to your cart',\n fullCart: 'Your cart is full!',\n qty: 'QTY',\n each: 'each',\n items: 'items',\n addToCart: 'ADD TO CART',\n deleteFromCart: 'Delete',\n emptyCard: 'Your cart is empty',\n total: 'Cart',\n clearCart: 'Clear Cart',\n backToStore: 'Back To Store',\n na: 'None of the above',\n closedFullscreenLabel: 'LAUNCH FULLSCREEN SHELF TEST',\n next: 'NEXT',\n researcherWarning: 'Researcher mode warning: ',\n xraysWarning: 'Ghost mode warning: ',\n shelfError_out_of_shelves:\n 'Too many products, the width of the products exceeds the maximum allowed. Try to enable full-screen mode or reduce the number of products to increase the width.',\n shelfError_too_much_products:\n 'Too many products, the width of the products exceeds the maximum allowed. Try to enable full-screen mode or reduce the number of products to increase the width.',\n shelfError_out_of_shelves_fullscreen:\n 'Too many products, the width of products exceeds the maximum allowed. Scale products down or reduce the number of products.',\n shelfError_too_much_products_fullscreen:\n 'Too many products, the width of products exceeds the maximum allowed. Scale products down or reduce the number of products.',\n shelfError_longWidget:\n 'To many shelves blocks. Try to enable full-screen mode or reduce the number of products to increase the width.',\n shelfError_too_much_shelves: 'Too much shelves',\n scrollError: 'You need to see all products before continue!',\n emptyCartError: (min: number) => `Please add to cart at least ${min} product${min !== 1 ? 's' : ''}. `,\n maxCartCountError: (max: number) => `Please add no more than ${max} products to your cart. `,\n maxSpentError: (max: number) => `Please spend no more than ${max}. `,\n maxProductCountError: (max: number) =>\n `Please add no more than a quantity of ${max} to your cart for each product. `,\n application: {\n iosText:\n '<h>The next section involves a virtual shopping exercise that can be experienced in augmented reality (AR).</h><br/><br/>' +\n 'If you are in a stable environment with enough room, and an unobstructed wall you can walk along and shop virtually without distraction, please download the app and check if your smartphone supports AR.<br/><br/>' +\n 'Otherwise, you may continue taking<br/>' +\n 'this exercise in your browser. ',\n androidText:\n '<h>The next section involves a virtual shopping exercise that can be experienced in augmented reality (AR).</h><br/><br/>' +\n 'If you are in a stable environment with enough room, and an unobstructed wall you can walk along and shop virtually without distraction, please download the app and check if your smartphone supports AR.<br/><br/>' +\n 'Otherwise, you may continue taking<br/>' +\n 'this exercise in your browser. ',\n buttonYes: 'GO TO AR APP',\n buttonNo: 'CONTINUE WITHOUT AR'\n },\n introBody: (store: string, checkout: string) =>\n `In this exercise, imagine that you are shopping for a product as you would on <a>${store}.com</a> <br/><br/> Please browse the available options, add your selection(s) to the cart, and proceed to checkout by clicking “${checkout}â€. Once you complete this step, you will be moved to the next question.`,\n introFindabilityBody: (store: string) =>\n `In this exercise, imagine that you are shopping for a product as you would on <a>${store}.com</a> <br/><br/> Please browse the available options and add your selection to the cart. Once you complete this step, you will be moved to the next question.`,\n introHeader: `On the next screen, you will be taken to a simulated online shopping experience.`,\n getDaysLeft: (days: number) => {\n let phrase\n switch (days) {\n case 0:\n phrase = 'today'\n break\n case 1:\n phrase = 'tomorrow'\n break\n case 2:\n phrase = 'in 2 days'\n break\n case 3:\n phrase = 'in 3 days'\n break\n default:\n phrase = 'in 3+ days'\n }\n return `<b>${phrase}</b>`\n },\n amazon: {\n open: 'Open',\n subtotal: (total: number, subtotal: boolean) =>\n `${subtotal ? 'Subtotal' : 'Proceed'} (${total} item${total > 1 ? 's' : ''})`,\n checkoutMobile: (total: number) => `Proceed to checkout (${total} item${total > 1 ? 's' : ''}) `,\n subTotalPrice: 'Subtotal',\n goToCart: 'Go to Cart',\n sign: 'Sign in',\n filters: 'Filters',\n backToStoreNote: (store: string) => `Back to ${store} View`,\n deliverTo: 'Deliver to',\n myAddress: 'My Address',\n top: 'Back to top',\n simulation: 'Simulation modal',\n exit: 'Exit simulation',\n back: 'Back to results',\n addToCart: 'Add to cart',\n results: 'Results <br /> <span>Check each product page for other buying options.</span>',\n freeShipping1: 'Your order qualifies for FREE Shipping',\n freeShipping2: 'Choose this option at checkout.',\n add1: 'Add',\n add2: 'of eligible items to your order to qualify for FREE Shipping.',\n seeDetails: 'See details',\n sendGift: 'Send as a gift. Include custom message',\n emptyCart: 'Your Cart is empty',\n shoppingCart: 'Shopping Cart',\n inStock: 'In Stock',\n freeDelivery: 'FREE delivery',\n freeReturns: 'FREE Returns',\n isGift: 'This is a gift.',\n learnMore: 'Learn more',\n delete: 'Delete',\n save: 'Save for later',\n compare: 'Compare with similar items',\n share: 'Share',\n continueShopping: 'Continue shopping',\n info1:\n 'The price and availability of items at Amazon.com are subject to change. The Cart is a temporary place to store a list of your items and reflects each item's most recent price. ',\n info2:\n 'Do you have a gift card or promotional code? We'll ask you to enter your claim code when it's time to pay.',\n checkout: 'Proceed to checkout',\n cart: 'Cart',\n all: 'All',\n signMobile: 'Hello, sign in',\n lang: 'EN',\n accounts: 'Account & Lists',\n returns: 'Returns',\n andOrders: '& Orders',\n medical: 'Medical Care',\n best: 'Best Sellers',\n basics: 'Amazon Basics',\n todayDeals: 'Today's Deals',\n music: 'Music',\n groceries: 'Groceries',\n customerService: 'Customer Service',\n amazonHome: 'Amazon Home',\n registry: 'Registry',\n condition: '1-48 of over 4,000 results for',\n knowUs: 'Get to Know Us',\n careers: 'Careers',\n newsletter: 'Amazon Newsletter',\n aboutAmazon: 'About Amazon',\n axe: 'Accessibility',\n sustain: 'Sustainability',\n press: 'Press Center',\n invest: 'Investor Relations',\n devices: 'Amazon Devices',\n science: 'Amazon Science',\n money: 'Make Money with Us',\n sellOn: 'Sell on Amazon',\n sellApps: 'Sell apps on Amazon',\n supply: 'Supply to Amazon',\n protect: 'Protect & Build Your Brand',\n affiliate: 'Become an Affiliate',\n driver: 'Become a Delivery Driver',\n packageDelivery: 'Start a Package Delivery Business',\n advertise: 'Advertise Your Products',\n selfPublish: 'Self-Publish with Us',\n hubPartner: 'Become an Amazon Hub Partner',\n moreWays: 'See More Ways to Make Money',\n payment: 'Amazon Payment Products',\n visa: 'Amazon Visa',\n storeCard: 'Amazon Store Card',\n secureCard: 'Amazon Secured Card',\n businessCard: 'Amazon Business Card',\n points: 'Shop with Points',\n creditCard: 'Credit Card Marketplace',\n reload: 'Reload Your Balance',\n giftCards: 'Gift Cards',\n converter: 'Amazon Currency Converter',\n helpYou: 'Let Us Help You',\n yourAccount: 'Your Account',\n yourOrders: 'Your Orders',\n shippingRates: 'Shipping Rates & Policies',\n replacements: 'Returns & Replacements',\n manage: 'Manage Your Content and Devices',\n recalls: 'Recalls and Product Safety Alerts',\n giftList: 'Registry & Gift List',\n help: 'Help',\n amazonCom: 'Amazon.com',\n yourLists: 'Your lists',\n sellOnAmazon: 'Sell products on Amazon',\n findGift: 'Find a gift',\n browsing: 'Browsing History',\n note54: 'Your Returns',\n getShip: 'Get <b>Fast, Free Shipping with</b> ',\n backToResults: '<span>‹</span> Back to results',\n roll: 'Roll over image to zoom in',\n ratings: 'ratings',\n searchPage: 'Search this page',\n listPrice: 'List price:',\n list: 'List:',\n prime: 'Amazon Prime',\n getGift:\n 'Apply now and get a $10 Amazon Gift Card upon approval of the Amazon Store Card, or see if you pre-qualify with no impact to your credit bureau score.',\n aboutItem: 'About this item',\n delivery: 'Delivery',\n pickup: 'Pickup',\n fastDelivery: 'Or fastest delivery',\n buyNow: 'Buy now',\n seeMore: 'See more',\n coupon: 'with coupon',\n sold: 'Sold by Amazon',\n tooltip: 'Action disabled',\n ideas: 'Popular Shopping Ideas',\n idea1: 'Fluoride Free',\n idea2: 'Travel',\n idea3: 'Baking Soda',\n idea4: 'Foam',\n aside1: 'Eligible for Free Shipping',\n aside2: 'Free Shipping by Amazon',\n aside3: 'Get FREE Shipping on eligible orders shipped by Amazon',\n aside4: 'Delivery Day',\n aside5: 'Get It by Tomorrow',\n aside6: 'Brands',\n aside7: 'Colgate',\n aside8: 'Top Brands in Health & Household',\n aside9: 'Top Brands',\n aside10: 'Customer Reviews',\n aside11: '& Up',\n aside12: 'Deals & Discounts',\n aside13: 'All Discounts',\n aside14: 'From Our Brands',\n aside15: 'Amazon Brands',\n searchAmazon: 'Search Amazon',\n shape: 'Shape',\n getFast: 'Get It Fast',\n getTomorrow: 'Get It Tomorrow',\n overnight: 'Overnight by 11pm',\n spendLess: 'Spend Less',\n indoor: 'Indoor Outdoor Us...',\n purchased: 'Most Purchased',\n up25: 'Up to $25',\n to25: '$25 to 50$',\n to50: '$50 to $100',\n to100: '$100 to $200',\n to200: '$200 & above',\n recommend: 'Recommended Use',\n features: 'Features',\n theme: 'Theme',\n color: 'Color'\n },\n walmart: {\n checkout: 'Continue to checkout',\n noRating: 'No ratings yet',\n freeShipping: 'Free shipping',\n free90days: 'Free 90-day returns',\n popularPick: 'Popular pick',\n bestSeller: 'Best seller',\n back: 'Back to results',\n viewAll: 'View all',\n oneItem: '<strong>Quantity: </strong><span>1 item</span>',\n aboutItem: 'About this item',\n viewMore: 'View more',\n youSave: 'You save',\n purchasedOnline: 'Price when purchased online',\n buyNow: 'Buy now',\n howGet: 'How you'll get this item:',\n addToCart: 'Add to cart',\n shipping: 'Shipping',\n arrives: 'Arrives',\n pickup: 'Pickup',\n notAvailable: 'Not available',\n delivery: 'Delivery',\n myAddress: 'My Address, 95829',\n change: 'change',\n arrivesBy: 'Arrives by ',\n soldBy: 'Sold and shipped by Walmart.com',\n details: 'Details',\n quickView: 'Quick view:',\n specifications: 'Specifications',\n reviews: 'Reviews',\n itemEligible: 'This item is gift eligible',\n learnMore: 'Learn more',\n addToList: 'Add to list',\n addToRegistry: 'Add to registry',\n filters: 'Filters',\n inStore: 'In-store',\n price: 'Price',\n brand: 'Brand',\n fullfillment: 'Fullfillment Speed',\n sortBy: 'Sort by',\n bestMatch: '| Best Match',\n results: 'Results for ',\n external: 'Uses external data. Price when purchased online',\n images: 'Images',\n search: 'Search',\n howYouWant: 'How do you want your items?',\n zip: '| 95829',\n reorder: 'Reorder',\n myItems: 'My Items',\n signIn: 'Sign in',\n account: 'Account',\n department: 'Department',\n services: 'Services',\n filter1: 'Savings',\n filter2: 'Grocery & Essentials',\n filter3: `Valentine's day`,\n filter4: 'Game Time',\n filter5: 'New & Trending',\n filter6: 'Fashion',\n filter7: 'Home',\n filter8: 'Electronics',\n filter9: 'Gift Ideas',\n filter10: 'Registry',\n filter11: 'ONE Cash',\n filter12: 'Walmart+',\n cart: 'Cart',\n cartEmpty: 'Your cart is empty.',\n continue: 'Continue shopping',\n options: 'Pickup and delivery options',\n itemsAvailible: 'All items availible',\n orderWithin: 'Order within',\n remove: 'Remove',\n saveForLater: 'Save for later',\n showDetails: 'Show details',\n hideDetails: 'Hide details',\n experience: 'For the best shopping experience,',\n subtotal: 'Subtotal',\n savings: 'Savings',\n free: 'Free',\n taxes: 'Taxes',\n calcAndCheck: 'Calculated at checkout',\n estimate: 'Estimated total',\n monthlyPayments: 'Monthly payments available for eligible items.',\n withAffirm: 'Continue with Affirm',\n isGift: 'This order is a gift',\n rightsReserved: '© 2025 Walmart. All Rights Reserved.',\n giveFeedback: 'Give feedback',\n caPrivacy: 'CA Privacy Rights',\n privacyChoice: 'Your Privacy Choices',\n noticeCollection: 'Notice at Collection',\n requestPersonal: 'Request My Personal Information',\n deleteAccount: 'Delete Account',\n supplyChains: 'California Supply Chains Act',\n add: 'Add',\n sponsored: 'Sponsored',\n now: 'Now',\n shippingArrives: 'Shipping, arrives ',\n subscription: 'Subscription',\n availability: 'Availability',\n specialOffers: 'Special Offers',\n customerRating: 'Customer Rating',\n features: 'Features',\n recommendedLocation: 'Recommended Location',\n category: 'Category',\n retailer: 'Retailer',\n gifting: 'Gifting',\n type: 'Type',\n thank1: 'We’d love to hear what you think!',\n thank2: 'Give feedback',\n allDepartments: 'All Departments',\n storeDirectory: 'Store Directory',\n careers: 'Careers',\n ourCompany: 'Our Company',\n sellOn: 'Sell on Walmart.com',\n help: 'Help',\n recalls: 'Product Recalls',\n accessibility: 'Accessibility',\n tax: 'Tax Exempt Program',\n getApp: 'Get the Walmart App',\n signUp: 'Sign-up for Email',\n safety: 'Safety Data Sheet',\n terms: 'Terms of Use',\n privacy: 'Privacy & Security',\n adChoices: 'AdChoices',\n consumer: 'Consumer Health Data Privacy Notices',\n brandShop: 'Brand Shop Directory',\n pharmacy: 'Pharmacy',\n business: 'Walmart Business',\n iywyk: '#IYWYK',\n shop: 'Shop',\n items: (amount: number) => `${amount} ${1 === amount ? 'item' : 'items'}`\n },\n target: {\n checkout: 'Check out'\n }\n },\n rb: {\n note: 'Please select only 1 item:'\n },\n sr: {\n current: (current: number, amount: number) =>\n null === current\n ? 'Please rate'\n : current > amount\n ? 'None of the above'\n : `Stars: ${current} out of ${amount}`,\n starLabel: (current: number, amount: number) => `${current} out of ${amount}`,\n note: 'Please rate:'\n },\n sbs: {\n switch: 'New pair displayed.',\n select: 'Selected.',\n progress: 'Question progress'\n },\n img: {\n noAlt: 'Missing alternative text for this image'\n },\n vo: {\n note: 'Please watch the video till the end'\n },\n cb: {\n note: (min: number, max: number) => {\n if (1 === min && 5000 === max) {\n return 'Please select all that apply:'\n } else if (min === max) {\n return `Please select ${min !== 1 ? 'any' : 'only'} ${min} item${min !== 1 ? 's' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Please select at least ${min} item${min !== 1 ? 's' : ''} but no more than ${max}:`\n } else if (5000 === max && min > 0) {\n return `Please select at least ${min} item${min !== 1 ? 's' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Please select no more than ${max} item${max !== 1 ? 's' : ''}:`\n } else {\n return 'Please select all that apply:'\n }\n }\n },\n oe: {\n note: (min: number, max: number, optional: boolean) => {\n if (min === max) {\n return `Please type ${1 !== min ? 'any' : 'exactly'} ${min} character${1 !== min ? 's' : ''}${\n optional ? ' (optional)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Please type at least ${min} character${1 !== min ? 's' : ''} but no more than ${max}${\n optional ? ' (optional)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Please type at least ${min} character${1 !== min ? 's' : ''}${optional ? ' (optional)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Please type no more than ${max} character${1 !== max ? 's' : ''}${optional ? ' (optional)' : ''}:`\n } else {\n return ''\n }\n },\n hint: 'Press \"Tab\" to switch to textfield',\n invalid: 'This field is required'\n },\n oex: {\n note: 'Please fill in the following fields:'\n },\n it: {\n note: 'Please read'\n },\n cn: {\n placeholder: 'Start typing or click the mic icon to speak',\n placeholderAudio: 'Click the mic icon to speak',\n placeholderText: 'Start typing',\n you: 'You',\n skipper: 'Skipper',\n typing: 'typing...',\n thinking: 'thinking...',\n sorry: \"Sorry, I didn't get that. Please, try one more time.\",\n question: `On the next question, we'd like to ask you to chat with Skipper, our AI survey companion, using your <b>microphone</b>.<br/><br/>\n Do you have <b>a few minutes in a quiet place</b> and are willing to turn on your mic to chat with your voice?`,\n answers: {\n 0: '<b>Yes</b>, I am in a quiet place',\n 1: '<b>Yes</b>, I have a working microphone',\n 2: \"<b>Yes</b>, I'm happy to chat with an AI survey companion\",\n 3: \"<b>No</b>, I'm not ready to use my mic (it's not working / I'm in a noisy place) and/or I'm not comfortable chatting with an AI)\"\n },\n sendMessage: 'Send message',\n stopPlay: 'Stop audio',\n startPlay: 'Play audio',\n startRecording: 'Start record',\n delete: 'Stop recording and delete message',\n conersation: 'Conversation'\n },\n mx: {\n note1: 'Please move the sliders to continue',\n note: 'Please move the highlighted sliders to continue',\n dragSlider: 'Drag left or right to answer'\n },\n psc: {\n dragLeftRight: 'Drag left or right to answer',\n choise: 'Selected: ',\n note: (v1: string, v2: string) => `Please move the slider to select a value between ${v1} and ${v2}`\n },\n ps: {\n note: (value: string, remaining: number) =>\n `Please distribute ${remaining ? 'remaining' : ''} ${value} between the items below`,\n allDone: `All done`,\n total: `Total:`,\n dragSlider: 'Drag left or right to answer',\n input: (min: number, max: number) => `Please type value from ${min} to ${max} for `\n },\n cx: {\n note: 'Open the drop-down menu and start typing your answer to autoscroll or select it manually'\n },\n ro: {\n note: 'Drag up or down to reorder:',\n onDragStart: 'Picked up sortable item \"{text}\". Sortable item is in position {position} of {total}.',\n onDragOver: 'Sortable item \"{text}\" was moved into position {position} of {total}.',\n onDragEnd: 'Sortable item \"{text}\" was dropped at position {position} of {total}.',\n onDragCancel: 'Dragging was cancelled. Sortable item \"{text}\" was dropped at position {position}.'\n },\n md: {\n note1: 'Please click/tap the item of your <b>first choice</b>.<br/>Click/tap again to clear the choice.',\n note2: 'Now please click/tap the item of your <b>last choice</b>.<br/>Click/tap again to clear the choice.',\n note3: 'Thanks! Continue to the next question or click/tap any unselected item to start over.',\n selectLast: (value: string) => `Select as your last choice: ${value}`,\n lastSelected: (value: string) => `Selected as the last choice: ${value}`,\n selectFirst: (value: string) => `Select as your first choice: ${value}`,\n firstSelected: (value: string) => `Selected as the first choice: ${value}`\n },\n aro: {\n note: 'Please choose one item from each pair:'\n },\n wd: {\n note: 'Make sure that each subsequent value is greater than the previous one.'\n },\n emd: {\n note: 'Please watch the video till the end\\n',\n noAnswers: 'No answer options, please click next to continue.',\n start: 'Click and hold to start',\n resume: 'Click and hold to resume',\n continue: \"You're ready! <br />Click <strong>Next</strong> to continue\",\n continueMobile: \"You're ready! <br />Click <strong>here</strong> to continue\",\n training: {\n session: 'training session',\n note: 'Please finish training',\n moveLeft: 'Please drag the dial all the way to the <strong>left</strong>',\n moveBottom: 'Please drag the dial all the way to the <strong>bottom</strong>',\n moveRight: 'Now, please drag the dial all the way to the <strong>right</strong>',\n moveTop: 'Now, please drag the dial all the way to the <strong>top</strong>',\n success: 'Great job!'\n }\n },\n sft: {\n noAnswers: 'No answer options, please click next to continue',\n note: 'Please answer as quickly as you can with the answer that intuitively feels right',\n imageError: 'No image exposure time chosen',\n finish: 'You are all done! <br /> Please click Next to continue',\n training: {\n start:\n '<p>This question will rapidly show you different words and will require your concentration. ' +\n 'You'll need to react quickly to answer.</p> <p>Ready to practice?</p>',\n step1: (touch: boolean, mouse: boolean, key: boolean) =>\n touch\n ? `Tap \"{buttonLeft}\"`\n : (mouse ? `Click \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Hit \"{keyBtnLeft}\" key` : ''),\n step2: (touch: boolean, mouse: boolean, key: boolean) =>\n touch\n ? `Tap \"{buttonRight}\"`\n : (mouse ? `Click \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Hit \"{keyBtnRight}\" key` : ''),\n fail: () => 'Too slow',\n success: () => 'Great!',\n finish: () =>\n '<p><strong> Excellent!</strong></p><p>Please make sure you are not<br />' +\n 'going to be distracted in the<br/> next 2-3 minutes</p><p>Click Next to start when ready.</p>'\n },\n buttons: {\n start: 'Start',\n yesno: {\n left: 'Yes',\n right: 'No'\n },\n matches: {\n left: 'Match',\n right: 'Not Match'\n },\n fits: {\n left: 'Fit',\n right: 'Not Fit'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n },\n noyes: {\n left: 'Yes',\n right: 'No'\n },\n matchesRev: {\n left: 'Match',\n right: 'Not Match'\n },\n fitsRev: {\n left: 'Fit',\n right: 'Not Fit'\n },\n thumbsRev: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n },\n se: {\n groupLabel: 'Please select one of the following smileys:',\n smileys: {\n angry: 'Angry smiley',\n sad: 'Sad smiley',\n indifferent: 'Indifferent smiley',\n happy: 'Happy smiley',\n excited: 'Excited smiley'\n }\n },\n ad: {\n start: 'START',\n open: 'OPEN',\n next: 'NEXT',\n finish: '<strong>{socialType}</strong> simulation is over. <br /> Please, click Next to continue.',\n scroll: 'Please scroll down the page to view the feed.',\n back: 'Back to <strong>{socialType}</strong> view',\n exit: 'Exit simulation',\n instagram: {\n suggested: 'Suggested for you',\n all: 'See all',\n new: 'New in Instagram',\n follow: 'Follow',\n footerMenu: [\n 'About',\n 'Help',\n 'Press',\n 'API',\n 'Jobs',\n 'Privacy',\n 'Terms',\n 'Locations',\n 'Language',\n 'Meta Verified'\n ],\n sidebarMenu: {\n home: 'Home',\n search: 'Search',\n explore: 'Explore',\n reels: 'Reels',\n messages: 'Messages',\n notifications: 'Notifications',\n create: 'Create',\n profile: 'Profile',\n threads: 'Threads',\n more: 'More'\n },\n simulation: 'Instagram Simulation'\n },\n facebook: {\n search: 'Search Facebook',\n create: {\n placeholder: \"What's on your mind?\",\n live: 'Live Video',\n media: 'Photo/video',\n photo: 'Photo',\n feel: 'Feeling/activity'\n },\n footerMenu: ['Privacy', 'Terms', 'Advertising', 'Ad Choices', 'Cookies', 'More', 'Meta Simulation'],\n sidebarMenu: {\n video: 'Video',\n market: 'Marketplace',\n friends: 'Friends',\n events: 'Events',\n pages: 'Pages',\n memories: 'Memories',\n groups: 'Groups',\n bookmarks: 'Saved',\n feeds: 'Feeds'\n },\n more: 'See more',\n createChat: 'Create group chat',\n chats: 'Group chats',\n contacts: 'Contacts'\n }\n }\n },\n end: {\n title: 'Thank you!',\n text: 'We sincerely appreciate your help!'\n },\n preview: {\n title: 'Preview mode',\n subtitle: 'Your answers will not be recorded',\n collapse: 'Hide preview tools',\n expand: 'Show preview tools',\n close: 'Close preview',\n texts: {\n next: 'NEXT',\n prev: 'PREVIOUS',\n restart: 'RESTART',\n privacy: 'Privacy',\n poweredBy: 'Powered by '\n },\n controls: {\n device: {\n desktop: {\n title: 'Desktop preview',\n subtitle: 'Your answers will not be recorded'\n },\n tablet: {\n title: 'Tablet preview',\n subtitle: 'Your answers will not be recorded'\n },\n mobile: {\n title: 'Mobile preview',\n subtitle: 'Your answers will not be recorded',\n qrCodeTitle: 'SCAN QR CODE',\n qrCodeMessage: 'to test this survey on a physical mobile device'\n }\n },\n mode: {\n respondent: {\n title: 'Respondent mode',\n subtitle: 'Experience your survey as your respondent will'\n },\n researcher: {\n title: 'Researcher mode',\n subtitle: 'Enjoy full flexibility to thoroughly test your survey'\n },\n xrays: {\n title: 'Ghost mode',\n subtitle: 'Routing logic is disabled! Walk through the walls, see hidden items'\n }\n },\n previewOptions: {\n label: 'View/logic options',\n options: {\n suppressLogic: 'Suppress routing logic',\n showNumbers: 'Show question labels',\n showHints: 'Show navigation hints',\n showLogic: 'Show AYTM logic',\n showHidden: 'Show hidden items'\n }\n },\n jumpToQuestion: {\n label: 'JUMP TO QUESTION',\n startOver: 'START OVER',\n restartFromQuestion: 'Start over from question',\n xrays: 'Switch to GHOST MODE'\n }\n },\n redirect: {\n text: 'At this point respondents will be redirected to <a href=\"{url}\" target=\"_blank\">this URL</a>',\n textSurvey:\n 'Please click <a href=\"{url}\" target=\"_blank\">here</a> if you are not redirected within a few seconds',\n open: 'OPEN IN NEW TAB',\n dismiss: 'DISMISS',\n title: 'Survey redirects to:'\n }\n },\n sidebar: {\n title: 'Welcome'\n },\n error: {\n text: ['Sorry, something went wrong.', 'Please', 'try again', 'or contact support team.']\n }\n}\n\nconst rtl = false\nexport { dict, rtl }\n","import { dict as en_us_dict, rtl as en_us_rlt } from './dicts/en_US'\n\nimport { ILocaleDict, LocaleID } from './types'\n\nexport default async function loadDict(localeID: LocaleID): Promise<{ dict: ILocaleDict; rtl: boolean }> {\n switch (localeID?.toLowerCase()) {\n case 'en':\n case 'en_us':\n case 'en_gb':\n case 'en_ie': {\n // PRELOAD DEFAULT LOCALE\n return { dict: en_us_dict, rtl: en_us_rlt }\n }\n case 'ar':\n case 'ar_ae': {\n const localeDict = await import('./dicts/ar')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'bg':\n case 'bg_bg': {\n const localeDict = await import('./dicts/bg')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'da':\n case 'da_da':\n case 'da_dk': {\n const localeDict = await import('./dicts/da')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'de':\n case 'de_de': {\n const localeDict = await import('./dicts/de')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'fi':\n case 'fi_fi': {\n const localeDict = await import('./dicts/fi')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'fr':\n case 'fr_ca':\n case 'fr_fr': {\n const localeDict = await import('./dicts/fr')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'el':\n case 'el_gr': {\n const localeDict = await import('./dicts/el')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'es':\n case 'es_es':\n case 'es_mx':\n case 'es_us': {\n const localeDict = await import('./dicts/es')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'he':\n case 'he_il': {\n const localeDict = await import('./dicts/he')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'hi':\n case 'hi_in': {\n const localeDict = await import('./dicts/hi')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'id':\n case 'id_id': {\n const localeDict = await import('./dicts/id')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'it':\n case 'it_it': {\n const localeDict = await import('./dicts/it')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'ja':\n case 'ja_jp': {\n const localeDict = await import('./dicts/ja')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'ko':\n case 'ko_kr': {\n const localeDict = await import('./dicts/ko')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'ms':\n case 'ms_ma':\n case 'ms_my': {\n const localeDict = await import('./dicts/ms')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'nl':\n case 'nl_nl': {\n const localeDict = await import('./dicts/nl')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'no':\n case 'no_no': {\n const localeDict = await import('./dicts/no')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'pl':\n case 'pl_pl': {\n const localeDict = await import('./dicts/pl')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'pt':\n case 'pt_pt':\n case 'pt_br': {\n const localeDict = await import('./dicts/pt')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'ro':\n case 'ro_ro': {\n const localeDict = await import('./dicts/ro')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'ru':\n case 'ru_ru': {\n const localeDict = await import('./dicts/ru')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'sv':\n case 'sv_se': {\n const localeDict = await import('./dicts/sv')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'th':\n case 'th_th': {\n const localeDict = await import('./dicts/th')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'tr':\n case 'tr_tr': {\n const localeDict = await import('./dicts/tr')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'uk':\n case 'uk_ua': {\n const localeDict = await import('./dicts/uk')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'vi':\n case 'vi_vi':\n case 'vi_vn': {\n const localeDict = await import('./dicts/vi')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'zh':\n case 'zh_cn': {\n const localeDict = await import('./dicts/zh_CN')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'zh_hk': {\n const localeDict = await import('./dicts/zh_HK')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'zh_tw': {\n const localeDict = await import('./dicts/zh_TW')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n case 'zh_sg': {\n const localeDict = await import('./dicts/zh_CN')\n return { dict: localeDict.dict, rtl: localeDict.rtl }\n }\n\n default: {\n const splitLocaleID = localeID?.split('_') || []\n if (splitLocaleID.length > 1) {\n // try for locale without country code if locale with country code is not found\n return await loadDict(splitLocaleID[0])\n } else {\n throw new TypeError(`Locale ${localeID} is not supported`)\n }\n }\n }\n}\n","// LocaleModule state is in separate module to prevent hot reload from resetting state\n\nimport { ILocale, ILocaleOptions, LocaleID } from './types'\n\nexport const DEFAULT_LOCALE_ID: LocaleID = 'en_US'\n\nexport const LOCALES: Record<LocaleID, ILocale> = {\n [DEFAULT_LOCALE_ID]: EMPTY_LOCALE(DEFAULT_LOCALE_ID)\n}\n\n// eslint-disable-next-line immutablejs/no-native-map-set\nexport const PRELOAD_LOCALES = new Set<LocaleID>()\nPRELOAD_LOCALES.add(DEFAULT_LOCALE_ID)\n\n// eslint-disable-next-line immutablejs/no-native-map-set\nexport const LOCALE_DICT_LOADING = new Set<LocaleID>()\n\nexport function EMPTY_LOCALE_OPTIONS() {\n const localeOptions: ILocaleOptions = {\n rtl: false\n }\n return localeOptions\n}\nexport function EMPTY_LOCALE(localeID: LocaleID = DEFAULT_LOCALE_ID) {\n const locale: ILocale = {\n id: localeID,\n loaded: false,\n updatedFromServer: false,\n dict: {},\n options: EMPTY_LOCALE_OPTIONS()\n }\n return locale\n}\n\nexport function ensureLocale(localeID: LocaleID) {\n return LOCALES[localeID] || ((LOCALES[localeID] = EMPTY_LOCALE(localeID)), LOCALES[localeID])\n}\n","import { deepEqual, deepFreeze, deepMergeCloneObject, getIn, hasOwn } from '@aytm/lib/common/object'\nimport Subscription from '@aytm/lib/common/subscription'\nimport DevLog from '../devlog/Module'\n\nimport { ModuleID } from '../types'\nimport loadDict from './loadDict'\nimport { ILocaleModule, LocaleID, LocaleValue } from './types'\n\nimport { DEFAULT_LOCALE_ID, LOCALES, LOCALE_DICT_LOADING, PRELOAD_LOCALES, ensureLocale } from './state'\nexport { DEFAULT_LOCALE_ID }\n\nconst DEBUG_LOCALE = 'development' === process.env.NODE_ENV\n\nlet moduleLoaded = false\nconst LocaleModule: ILocaleModule = {\n get id() {\n return ModuleID.LOCALE\n },\n config({ locales = {}, preload } = {}) {\n for (const localeID in locales) {\n if (hasOwn(locales, localeID)) {\n LocaleModule.setLocale(localeID, locales[localeID], moduleLoaded)\n }\n }\n if (Array.isArray(preload)) {\n if (moduleLoaded) {\n preload.forEach(localeID => {\n void LocaleModule.loadLocaleDict(localeID)\n })\n } else {\n preload.forEach(localeID => {\n PRELOAD_LOCALES.add(localeID)\n })\n }\n }\n return LocaleModule\n },\n async load() {\n if (PRELOAD_LOCALES.size) {\n await Promise.all([...PRELOAD_LOCALES].map(localeID => LocaleModule.loadLocaleDict(localeID)))\n PRELOAD_LOCALES.clear()\n }\n moduleLoaded = true\n return LocaleModule\n },\n get loaded() {\n return moduleLoaded\n },\n hasLoadedLocale(localeID, orLoading = false) {\n return Boolean(LOCALES[localeID] && LOCALES[localeID].loaded) || (orLoading && LOCALE_DICT_LOADING.has(localeID))\n },\n hasUpdatedFromServerLocale(localeID) {\n return Boolean(LOCALES[localeID] && LOCALES[localeID].updatedFromServer)\n },\n async loadLocaleDict(localeID) {\n if (!LocaleModule.hasLoadedLocale(localeID) && !LOCALE_DICT_LOADING.has(localeID)) {\n if (DEBUG_LOCALE) {\n DevLog._moduleLog(LocaleModule, 'loadLocaleDict', localeID)\n }\n try {\n LOCALE_DICT_LOADING.add(localeID)\n const { dict, rtl } = await loadDict(localeID)\n LOCALE_DICT_LOADING.delete(localeID)\n LocaleModule.setLocale(localeID, { dict, options: { rtl: Boolean(rtl) }, setLoaded: true })\n } catch (error) {\n DevLog.moduleError(LocaleModule, error, 'Failed to load locale dict')\n }\n }\n return LocaleModule\n },\n setLocale(localeID, { dict, options, setLoaded = false, setUpdatedFromServer = false } = {}, notify = true) {\n if (DEBUG_LOCALE) {\n DevLog._moduleLog(LocaleModule, 'setLocale', localeID, { dict, options, setLoaded, setUpdatedFromServer })\n }\n const locale = ensureLocale(localeID)\n const localeBackupDict = locale.dict\n const localeBackupOptions = locale.options\n if (dict) {\n locale.dict = deepFreeze(deepMergeCloneObject(locale.dict, dict))\n }\n if (options) {\n locale.options = deepFreeze(deepMergeCloneObject(locale.options, options))\n }\n if (setLoaded) {\n locale.loaded = true\n }\n if (setUpdatedFromServer) {\n locale.updatedFromServer = true\n }\n if (\n notify &&\n locale.subscription &&\n ((dict && !deepEqual(localeBackupDict, locale.dict)) ||\n (options && !deepEqual(localeBackupOptions, locale.options)))\n ) {\n locale.subscription.update(localeID)\n }\n return LocaleModule\n },\n options(localeID) {\n return ensureLocale(localeID).options\n },\n t(localeID = DEFAULT_LOCALE_ID, path, fallbackValue) {\n const locale = ensureLocale(localeID)\n return getIn<LocaleValue>(\n locale.dict,\n path,\n 'undefined' === typeof fallbackValue\n ? localeID === DEFAULT_LOCALE_ID\n ? DEFAULT_FALLBACK_VALUE\n : DEFAULT_FALLBACK_VALUE_WITH_DEFAULT_LOCALE_LOOKUP\n : fallbackValue\n )\n },\n onChange(localeID = DEFAULT_LOCALE_ID, listener) {\n if (!LOCALES[localeID]?.subscription) {\n ensureLocale(localeID).subscription = Subscription<LocaleID, ILocaleModule>()\n }\n return LOCALES[localeID].subscription.listen(listener, LocaleModule)\n }\n}\n\nexport default LocaleModule\n\nexport function DEFAULT_FALLBACK_VALUE(_target: object, path: Array<string | number | symbol>) {\n DevLog._moduleLog(LocaleModule, 'Missing locale value', path)\n return 'development' === process.env.NODE_ENV ? `!${path.join('.')}!` : ''\n}\n\nexport function DEFAULT_FALLBACK_VALUE_WITH_DEFAULT_LOCALE_LOOKUP(\n _target: object,\n path: Array<string | number | symbol>\n) {\n return getIn<LocaleValue>(LOCALES[DEFAULT_LOCALE_ID].dict, path, DEFAULT_FALLBACK_VALUE)\n}\n","import { useContext, useMemo } from 'react'\n\nimport { ILocaleContext, IUseLocale, LocaleFallbackValue } from './types'\n\nimport LocaleContext from './Locale.Context'\nimport LocaleModule from './Module'\n\nconst useSurveyLocale: IUseLocale = () => {\n const localeContext = useContext<ILocaleContext>(LocaleContext)\n return useMemo<ReturnType<IUseLocale>>(() => {\n function t<ValueType = string>(...path: string[]): ValueType {\n return LocaleModule.t(localeContext.surveyLocaleID, path) as ValueType\n }\n function _t<ValueType = string>(fallbackValue: LocaleFallbackValue, ...path: string[]): ValueType {\n return LocaleModule.t(localeContext.surveyLocaleID, path, fallbackValue) as ValueType\n }\n return {\n t,\n _t,\n get localeID() {\n return localeContext.surveyLocaleID\n },\n get localeOptions() {\n return LocaleModule.options(localeContext.surveyLocaleID)\n }\n }\n }, [localeContext.surveyLocaleID])\n}\n\nexport default useSurveyLocale\n","// !!! DON'T FORGET TO UPDATE index.ts IF YOU ADD A NEW MODULE\nexport enum ModuleID {\n CLIENT = 'client',\n LOCALE = 'locale',\n TIMELINE = 'timeline',\n IMAGES = 'images',\n WEBCAM = 'webcam',\n VIDEOS = 'videos',\n VIEWPORT = 'viewport',\n PREVIEW = 'preview',\n THEME = 'theme',\n THEME_EDITOR = 'theme_editor',\n MODAL = 'modal',\n DEV_LOG = 'dev_log',\n SURVEY_LOG = 'survey_log',\n HOOKS = 'hooks',\n SUPERVISOR = 'supervisor',\n VOID = 'void',\n TOOLBAR = 'toolbar'\n}\n\nexport interface IModule {\n get id(): ModuleID\n config(props: unknown): IModule\n load(): Promise<IModule>\n get loaded(): boolean\n}\n","import React from 'react'\n\nexport default function Arrow() {\n return (\n <svg width=\"40\" height=\"40\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clipPath=\"url(#clip0_1030_12)\">\n <path\n d=\"M22.7882 17.5437L19.6878 23.5393L16.0485 17.8512L18.2605 17.7524C17.4418 13.6511 15.3185 9.9245 12.2077 7.12918C9.0968 4.33386 5.16523 2.61971 1 2.2427L1.20908 0C5.91709 0.425476 10.3562 2.38114 13.8477 5.56797C17.3392 8.7548 19.6909 12.9974 20.5433 17.6471L22.7882 17.5437Z\"\n fill=\"#697D93\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_1030_12\">\n <rect width=\"24\" height=\"24\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n )\n}\n","import React from 'react'\n\nexport default function Mobile({\n className,\n width,\n height,\n color = '#000000'\n}: {\n className?: string\n width?: number\n height?: number\n color?: string\n}) {\n return (\n <svg\n className={className}\n width={width}\n height={height}\n viewBox=\"0 0 414.88 691.46698\"\n version=\"1.1\"\n id=\"svg1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <defs id=\"defs1\" />\n <path\n d=\"m 414.87999,622.321 a 69.147,69.147 0 0 1 -69.147,69.146 H 69.145993 A 69.147,69.147 0 0 1 -6.8359375e-6,622.321 V 69.146998 A 69.147,69.147 0 0 1 69.145993,-2.4414063e-6 H 345.73299 A 69.147,69.147 0 0 1 414.87999,69.146998 Z m -51.722,-466.464 a 17.702,17.702 0 0 0 -17.286,-17.563 H 69.284993 a 17.702,17.702 0 0 0 -17.287,17.286 v 380.307 a 17.702,17.702 0 0 0 17.425,17.287 H 346.00999 a 17.702,17.702 0 0 0 17.287,-17.287 z m -112.294,-86.710002 h -86.848 a 8.6435,8.6435 0 0 0 0,17.287 h 86.433 a 8.6435,8.6435 0 1 0 0,-17.287 z M 207.57799,579.173 a 43.148,43.148 0 1 0 43.286,43.148 43.286,43.286 0 0 0 -43.286,-43.148 z\"\n id=\"path1\"\n fill={color}\n />\n </svg>\n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"RotateDevice\":\"style-module__RotateDevice___2qY6a\",\"text\":\"style-module__text___1s8Nj\",\"rotate\":\"style-module__rotate___10KPm\",\"arrow\":\"style-module__arrow___1r3tv\",\"fade-in\":\"style-module__fade-in___2TMAq\",\"phone\":\"style-module__phone___3C6rE\",\"icon\":\"style-module__icon___3Kh9D\",\"animated\":\"style-module__animated___DVnsg\",\"horizontal\":\"style-module__horizontal___3mYh3 swidget-rotate-landscape\",\"phone-to-landscape\":\"style-module__phone-to-landscape___307_U\",\"vertical\":\"style-module__vertical___MUG9a\",\"phone-to-portrait\":\"style-module__phone-to-portrait___1awWY\"};","import React from 'react'\nimport useSurveyLocale from '../../../modules/locale/useSurveyLocale'\n\n// assets\nimport Arrow from './Arrow'\nimport Mobile from './Mobile'\n\n// styles\nimport style from './style.module.scss'\n\nexport interface RotateDeviceProps {\n vertical?: boolean\n locale?: string\n}\n\nexport default function RotateDevice({ vertical, locale }: RotateDeviceProps) {\n const { t } = useSurveyLocale()\n const text = locale || t('questions', vertical ? 'rotatePortrait' : 'rotateLandscape')\n\n return (\n <div className={`${style.RotateDevice} ${vertical ? style.vertical : style.horizontal}`} data-testid=\"SW-Rotate\">\n <div className={style.rotate}>\n <div className={style.arrow}>\n <Arrow />\n </div>\n <div className={style.phone}>\n <Mobile className={style.icon} height={80} width={48} />\n </div>\n <div className={`${style.phone} ${style.animated}`}>\n <Mobile className={style.icon} height={80} width={48} />\n </div>\n </div>\n {text && (\n <div className={style.text} data-testid=\"SW-Rotate-Text\" dangerouslySetInnerHTML={{ __html: text }}></div>\n )}\n </div>\n )\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"preloader\":\"_base-module__preloader___1fwtO\",\"rotating\":\"_base-module__rotating___31hU3\",\"header\":\"_base-module__header___3nFDB swidget-question-header\",\"desktop\":\"_base-module__desktop___3n1Cs\",\"title\":\"_base-module__title___cUe6c\",\"span\":\"_base-module__span___1IMQI\",\"image\":\"_base-module__image___2YJWr\",\"mobile\":\"_base-module__mobile___22Ly4 swidget-question-header-mobile\",\"rtl\":\"_base-module__rtl___2nUBT\",\"titleSpan\":\"_base-module__titleSpan___1Kk0N\",\"rtlContent\":\"_base-module__rtlContent___1iDnF\",\"fullsized\":\"_base-module__fullsized___1H28X\",\"content\":\"_base-module__content___3UNnU swidget-question-content\",\"questionImage\":\"_base-module__questionImage___2R2xh\",\"afd-spin\":\"_base-module__afd-spin___5B6W9\"};","import React, { Fragment } from 'react'\nimport PropTypes from 'prop-types'\nimport autobind from 'autobind-decorator'\nimport { Map, List } from 'immutable'\nimport getCSRFToken from '@aytm/lib/csrf-token'\nimport railsPostFetch from '@aytm/lib/common/rails-post-fetch'\n\nimport { PureDataComponent } from '@aytm/lib/common/components/pure-component'\nimport { SwidgetImage, SwidgetPinImage } from '@aytm/app/swidget/questions/components/common/swidget-image'\nimport { RTL_LOCALES, isRTL } from '@aytm/app/swidget/questions/lib/functions'\n\n// styles\nimport style from '@aytm/app/swidget/questions/styles/_base.module.scss'\nimport commonStyle from '@aytm/app/swidget/questions/styles/common.module.scss'\n\n//export default class Question extends Component {\nclass QuestionTheme extends PureDataComponent {\n static propTypes = {\n accentColorRGB: PropTypes.object,\n accentColor: PropTypes.string,\n columns: PropTypes.number\n }\n render() {\n const accentColor = this.props.accentColor\n\n this.currentAccentColor = accentColor\n\n if (!this.props.accentColor) return null\n return (\n <style\n type=\"text/css\"\n dangerouslySetInnerHTML={{\n __html: `\n .rfd-ui-popup .rfd-ui-popup-content.rfd-ui-popup-content-thin-black {\n background: ${accentColor};\n }\n .rfd-ui-popup .rfd-ui-popup-arrow.rfd-ui-popup-arrow-right {\n border-color: transparent transparent transparent ${accentColor};\n filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.2));\n }\n .rfd-ui-popup .rfd-ui-popup-arrow.rfd-ui-popup-arrow-bottom {\n border-color: ${accentColor} transparent transparent transparent;\n filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.2));\n }`\n }}\n />\n )\n }\n}\n\nexport default class Question extends PureDataComponent {\n static propTypes = {\n questionSchema: PropTypes.instanceOf(Map).isRequired,\n answer: PropTypes.instanceOf(Map),\n theme: PropTypes.string,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n inFrame: PropTypes.bool,\n part: PropTypes.number,\n locale: PropTypes.string,\n showErrors: PropTypes.bool,\n accentColorRGB: PropTypes.object,\n accentColor: PropTypes.string,\n position: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n imageCallback: PropTypes.func,\n sizeChanged: PropTypes.func,\n actionAfterDidMount: PropTypes.func,\n goNext: PropTypes.func,\n onLogEvent: PropTypes.func,\n answerChanged: PropTypes.func\n }\n\n constructor(props) {\n super(props)\n this.rootEl = React.createRef()\n this.isPincherActive = 'ontouchstart' in document.documentElement\n this.state = {\n answer: props.answer || null,\n imagesLoaded: List([]),\n imagesFailed: List([]),\n timeline: []\n }\n this.initTimeline()\n this.loadBigImages(props)\n this.waitForSmallImages(props)\n }\n\n componentDidMount() {\n super.componentDidMount()\n if ('function' === typeof this.props.actionResize) this.props.actionResize()\n if ('function' === typeof this.props.actionAfterDidMount) this.props.actionAfterDidMount()\n\n // set focus to the top of the question on question change\n const progressBar = document.querySelector('#survey-pb-progressbar [tabindex]')\n if (progressBar) {\n progressBar.focus()\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n super.UNSAFE_componentWillReceiveProps(nextProps)\n if (nextProps.answer != this.props.answer && nextProps.answer != this.state.answer) {\n const validation = this.validate(nextProps.answer)\n this.setState({ answer: nextProps.answer, validation })\n }\n if (nextProps.pair != this.props.pair) {\n this.setState({ imagesLoaded: List([]) })\n this.loadBigImages(nextProps)\n }\n if (nextProps.questionSchema != this.props.questionSchema) {\n this.loadBigImages(nextProps)\n this.waitForSmallImages(nextProps)\n }\n }\n\n loadBigImages(props) {\n if ('im' == props.questionSchema.get('type') || this.isPincherActive)\n this.preLoadImage(props.questionSchema, 'original_url')\n this.preLoadImage(props.questionSchema, 'big_thumbnail_path')\n this.preLoadQuestionImages(props)\n }\n\n waitForSmallImages(props) {\n const paths = List(\n props.questionSchema.getIn(['picture', 'original_url']) && !props.questionSchema.getIn(['picture', 'pin_image'])\n ? [props.questionSchema.getIn(['picture', 'thumbnail_path'])]\n : []\n ).concat(this.collectSmallImages(props))\n\n Promise.all(\n paths.map(\n path =>\n new Promise(resolve => {\n if (!path) resolve()\n if (path) {\n const img = new Image()\n img.onload = () => resolve({ path })\n\n img.onerror = () => resolve({ path })\n img.src = path\n }\n })\n )\n ).then(() => {\n setTimeout(() => {\n this.setState({ smallImagesReady: true })\n if ('function' === typeof props.afterImage) props.afterImage()\n }, 10)\n })\n }\n\n collectSmallImages(__props) {\n return List([])\n }\n\n preLoadQuestionImages(__props) {\n return false\n }\n\n preLoadImage(item, path) {\n if (item.get('picture') && item.getIn(['picture', path])) {\n this.loadImage(item.getIn(['picture', path]))\n .then(url => {\n this.setState({ imagesLoaded: this.state.imagesLoaded.push(url) })\n if ('function' === typeof this.props.afterImage) this.props.afterImage()\n })\n .catch(error => this.setState({ imagesFailed: this.state.imagesFailed.push(error) }))\n }\n // if (item.get('image') && item.getIn(['image', path])) {\n // this.loadImage(item.getIn(['image', path]))\n // .then(url => {\n // this.setState({ imagesLoaded: this.state.imagesLoaded.push(url) })\n // if ('function' === typeof this.props.afterImage) this.props.afterImage()\n // })\n // .catch(error => this.setState({ imagesFailed: this.state.imagesFailed.push(error) }))\n // }\n }\n\n async loadImage(url) {\n return new Promise((resolve, reject) => {\n const img = new Image()\n img.addEventListener('load', () => resolve(url))\n img.addEventListener('error', () => {\n reject(new Error(url))\n })\n img.src = url\n })\n }\n\n @autobind\n resizeForFrame() {\n if (this.props.inFrame && 'function' === typeof this.props.actionResize) this.props.actionResize()\n }\n\n @autobind\n updateAnswer(answerModel = null, timeline = null) {\n const { answerChanged, answer } = this.props\n if (answerModel !== this.state.answer || answerModel !== answer) {\n const validation = this.validate(answerModel)\n const response = this.backendResponse(answerModel)\n response.timeline = timeline || this.state.timeline\n this.setState({ answer: answerModel, validation })\n if ('function' === typeof answerChanged) answerChanged(answerModel, validation, response)\n }\n }\n\n @autobind\n initAnswer(answerModel, force) {\n const { answerChanged } = this.props\n const validation = this.validate(answerModel)\n const response = this.backendResponse(answerModel)\n if (!this.state.answer || force) {\n this.state.answer = answerModel\n }\n if ('function' === typeof answerChanged) answerChanged(answerModel, validation, response)\n }\n\n @autobind\n initTimeline() {\n this.state.timeline = []\n this.startTime = Date.now()\n }\n\n @autobind\n updateTimeline(event, oldTimeline) {\n const timeline = oldTimeline || this.state.timeline\n const { onLogEvent } = this.props\n if (timeline) {\n const time = Date.now()\n const timeDif = Math.round((time - this.startTime) / 10) / 100\n timeline.push({ ...event, time: timeDif })\n this.setState({ timeline })\n }\n if (onLogEvent && 'function' == typeof onLogEvent) onLogEvent(event)\n return timeline\n }\n\n @autobind\n sendDebugLog(log, message = 'Swidget Question Log') {\n if (log && log.length) {\n // eslint-disable-next-line no-console\n //console.log(log, 'this.debugLog')\n // eslint-disable-next-line unicorn/no-lonely-if\n if (window.Sentry && window.Sentry.withScope) {\n window.Sentry.withScope(function (scope) {\n scope.setLevel('log')\n scope.setExtra('details', log)\n window.Sentry.captureMessage(message)\n })\n }\n }\n }\n\n @autobind\n sendSurveyLogs(url, params, log = {}) {\n // data should contain { proxy_params: this._options.action.proxyParams }\n if (url && params && log) {\n const data = {}\n const csrfToken = getCSRFToken()\n data[csrfToken[0]] = csrfToken[1]\n for (const key in params) {\n data[key] = params[key]\n }\n for (const key in log) {\n data[key] = log[key]\n }\n railsPostFetch(url, {\n body: JSON.stringify(data),\n mode: 'cors'\n }).catch(error => {\n console.log(error) // eslint-disable-line no-console\n })\n }\n }\n\n @autobind\n resizeText(text, width, height, options = {}) {\n const isMobile = 'mobile' == this.props.theme\n const h = document.querySelector('body')\n const d = document.createElement('div')\n const s = document.createElement('span')\n let it = Math.min(height, 100)\n d.style.display = 'block'\n d.style.width = width - 5 + 'px'\n d.style.height = height - 5 + 'px'\n d.style.fontSize = it + 'px'\n d.style.whiteSpace = 'normal'\n d.style.lineHeight = it + 'px'\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n h.appendChild(d)\n s.style.display = 'inline'\n s.style.fontSize = it + 'px'\n s.style.fontFamily = 'Ubuntu, Calibri, Segoe, Helvetica, Arial'\n s.style.lineHeight = it + 'px'\n s.innerHTML = text\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n d.appendChild(s)\n\n let sw = s.offsetWidth\n let sh = s.offsetHeight\n\n const widthOffset = options && options.widthOffset ? options.widthOffset : 25\n const heightOffset = options && options.heightOffset ? options.heightOffset : isMobile ? 10 : 25\n const minFontSize = options && options.minFontSize ? options.minFontSize : 15\n\n while ((sw > width - widthOffset || sh > height - heightOffset) && it > minFontSize) {\n it -= Math.ceil(sw / (width - 5))\n d.style.fontSize = it + 'px'\n d.style.lineHeight = it + 'px'\n s.style.fontSize = it + 'px'\n s.style.lineHeight = it + 'px'\n sw = s.offsetWidth\n sh = s.offsetHeight\n }\n\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n h.removeChild(d)\n return {\n fontSize: it + 'px',\n lineHeight: it + 'px'\n }\n }\n\n @autobind\n getMinimumResizedStyle(items, width, height) {\n return items.reduce((res, item) => {\n const fontStyleItem = this.resizeText(item.get('text'), width, height)\n return !res.fontSize ||\n parseInt(fontStyleItem.fontSize.split('px')[0], 10) < parseInt(res.fontSize.split('px')[0], 10)\n ? fontStyleItem\n : res\n }, {})\n }\n\n validate(_answer) {\n return Map({ valid: true, canAdvance: false })\n }\n\n backendResponse(answer) {\n return answer\n }\n\n renderDesktop() {\n return null\n }\n\n renderMobile() {\n return null\n }\n\n render() {\n const {\n theme,\n width,\n position,\n questionSchema,\n inFrame,\n imageCallback,\n accentColor,\n accentColorRGB,\n locale,\n noHeader\n } = this.props\n const { imagesLoaded, smallImagesReady } = this.state\n const expandImages = questionSchema.get('expand_all_images') && questionSchema.get('id')\n const picture = questionSchema.get('picture')\n const skipIcon = questionSchema.get('skipIcon')\n const skipHtml = questionSchema.get('skipHtml')\n\n const showHeaderPic = questionSchema.get('skipPic')\n ? !questionSchema.get('skipPic')\n : questionSchema.get('type') != 'im' && questionSchema.get('type') != 'sft'\n\n let label = position ? position + '. ' : ''\n if (0 === (questionSchema.get('text') || '').length && 'number' === typeof position) {\n label = ''\n }\n\n const rtlStyle =\n (isRTL(questionSchema.get('text') || '') || 'sft' === questionSchema.get('type')) && RTL_LOCALES.includes(locale)\n\n return (\n <Fragment>\n {smallImagesReady ? (\n <Fragment>\n {noHeader ? (\n <></>\n ) : (\n <Fragment key=\"header\">\n <QuestionTheme accentColor={accentColor} accentColorRGB={accentColorRGB} />\n <div className={`${style.header} ${style[theme]}` + (rtlStyle ? ` ${style.rtl}` : ``)}>\n {skipHtml && (\n <div className={`${commonStyle.hint} ${commonStyle['hint-skip']}`}>\n <i className={`${commonStyle['hint-icon']} ${skipIcon}`} />\n <div dangerouslySetInnerHTML={{ __html: skipHtml }} />\n </div>\n )}\n {showHeaderPic &&\n picture &&\n picture.get('original_url') &&\n !picture.get('pin_image') &&\n !expandImages && (\n <SwidgetImage\n text={(questionSchema.get('text') || '').replace('<br/><br/>', '<br/>')}\n picture={picture}\n accentColor={accentColor}\n theme={theme}\n inFrame={inFrame}\n imageCallback={imageCallback}\n />\n )}\n <span className={style.span}>\n {rtlStyle ? (\n <h2\n className={style.title}\n id=\"swidget-question-header-text\"\n style={{ maxWidth: width ? width - 30 : 'auto' }}\n >\n <span>{label}</span>\n <span\n className={style.titleSpan}\n dangerouslySetInnerHTML={{\n __html: questionSchema.get('text') || questionSchema.get('question_text') || ''\n }}\n />\n </h2>\n ) : (\n <h2\n className={style.title}\n id=\"swidget-question-header-text\"\n dangerouslySetInnerHTML={{\n __html: label + ' ' + (questionSchema.get('text') || '')\n }}\n style={{ maxWidth: width ? width - 30 : 'auto' }}\n />\n )}\n </span>\n </div>\n </Fragment>\n )}\n <div className=\"sq_content\" key=\"content\">\n <div\n ref={this.rootEl}\n className={`${style.content} ${style[theme]}` + (rtlStyle ? ` ${style.rtlContent}` : ``)}\n style={{ width: width ? width : 'auto' }}\n >\n {showHeaderPic &&\n picture &&\n picture.get('original_url') &&\n (expandImages || picture.get('pin_image')) && (\n <div className={style.questionImage}>\n <SwidgetPinImage\n picture={picture.set('pin_image', true)}\n onLoad={this.resizeForFrame}\n imageCallback={imageCallback}\n accentColor={accentColor}\n text={(questionSchema.get('text') || '').replace('<br/><br/>', '<br/>')}\n hasLoaded={imagesLoaded.includes(\n picture.get(this.isPincherActive ? 'original_url' : 'big_thumbnail_path')\n )}\n />\n </div>\n )}\n {(() => {\n switch (theme) {\n case 'mobile':\n return this.renderMobile()\n default:\n // 'desktop'\n return this.renderDesktop()\n }\n })()}\n </div>\n </div>\n </Fragment>\n ) : (\n <div className=\"preloaderDiv\">\n <div className={style.preloader}></div>\n </div>\n )}\n </Fragment>\n )\n }\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"notice\":\"notice-module__notice___3XpBH swidget-question-notice\",\"notice-warning\":\"notice-module__notice-warning___3aUV3\",\"notice-error\":\"notice-module__notice-error___2tzPx\"};","import React from 'react'\nimport PropTypes from 'prop-types'\n\nimport { PureDataComponent } from '@aytm/lib/common/components/pure-component'\n\n//styles\nimport style from '@aytm/app/swidget/questions/styles/common/notice.module.scss'\n\nexport default class Notice extends PureDataComponent {\n static propTypes = {\n text: PropTypes.string.isRequired,\n showErrors: PropTypes.bool,\n hideVertically: PropTypes.bool\n }\n\n render() {\n const { text, showErrors = false, hideVertically = false, className, ...restProps } = this.props\n\n return (\n <div\n {...restProps}\n className={`\n ${style.notice}\n ${showErrors ? style['notice-error'] : ''}\n ${hideVertically ? 'swidget-hide-portrait' : ''}\n ${className ? className : ''}`}\n dangerouslySetInnerHTML={{ __html: text }}\n ></div>\n )\n }\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"component\":\"scx-module__component___1ZUQC swidget-question-scx\",\"selectContainer\":\"scx-module__selectContainer___3-ndF\",\"mobile\":\"scx-module__mobile___31vBp\",\"notice\":\"scx-module__notice___3sZjN\",\"openEnded\":\"scx-module__openEnded___-qGVI\"};","import React, { Fragment } from 'react'\nimport { Map, List, fromJS } from 'immutable'\nimport autobind from 'autobind-decorator'\n\nimport Question from '@aytm/app/swidget/questions/components/_base'\nimport Select from '@aytm/lib/rfd-ui/components/basic/select'\nimport { escapeText } from '@aytm/app/swidget/questions/lib/functions'\n\nimport locale from '@aytm/app/swidget/questions/locale'\n\nimport style from '@aytm/app/swidget/questions/styles/scx.module.scss'\nimport PropTypes from 'prop-types'\nimport railsPostFetch from '@aytm/lib/common/rails-post-fetch'\nimport getCSRFToken from '@aytm/lib/csrf-token'\nimport TextField from '@aytm/lib/rfd-ui/components/basic/text-field'\nimport Notice from '@aytm/app/swidget/questions/components/common/notice'\n\nconst DEFAULT_ANSWER = fromJS({ id: false })\n\nexport default class SCX extends Question {\n static propTypes = Object.assign(Question.propTypes, {\n cxUrl: PropTypes.string,\n validateUrl: PropTypes.string,\n optionsID: PropTypes.string\n })\n constructor(props) {\n super(props)\n this.locale = locale(props.locale).get('questions')\n this.firstTouch = true\n this.state = {\n options: List([List([])]),\n fetching: List([true]),\n ...this.state\n }\n\n this.initAnswer(List([DEFAULT_ANSWER]))\n }\n\n componentDidMount() {\n super.componentDidMount()\n const self = this\n setTimeout(function () {\n self.requestCxData(0)\n }, 400)\n }\n\n requestCxData(i, id, callback) {\n const { cxUrl, cxData, locale, questionSchema } = this.props\n const url = cxUrl || questionSchema.getIn(['urls', 'cx_data'])\n const { options, answer } = this.state\n const csrfToken = getCSRFToken()\n const data = { locale: locale }\n const self = this\n self.setState({\n error: false\n })\n data[csrfToken[0]] = csrfToken[1]\n\n for (const key in this.props.data) {\n data[key] = this.props.data[key]\n }\n for (const key in cxData) {\n data[key] = cxData[key]\n }\n if (i > 0) {\n data['q_answers'] = answer\n .setSize(i)\n .reduce((prev, cur, j) => prev.push(i === j + 1 ? id : cur.get('id')), List([]))\n }\n data['uid'] = questionSchema.getIn(['selectoptions', 'uid'])\n\n const dataToCx = data => {\n const newOptions = options.set(\n i,\n data.v.reduce(\n (prev, cur, i) =>\n prev.push(\n fromJS({\n id: cur.id || 'a' + (i + 1),\n value: i + 1,\n text: cur.l.toString(),\n oe: cur.o,\n // eslint-disable-next-line no-useless-escape\n skipFilter: Boolean(/^(other|n[/\\\\]a)/i.test(cur.l.toString())),\n children: cur.v,\n t: data.t,\n placeholder: cur.t,\n validate: true === cur.validate\n })\n ),\n List([])\n )\n )\n self.setState({\n options: newOptions,\n fetching: List([])\n })\n if ('function' == typeof callback) callback(newOptions)\n }\n\n if (questionSchema.get('sxc_data')) {\n dataToCx(questionSchema.get('sxc_data').toJS())\n return\n }\n\n this.setState({ fetching: List([]).set(i, true) })\n railsPostFetch(url, {\n body: JSON.stringify(data),\n mode: 'cors'\n })\n .then(response => response.json())\n .then(data => {\n if ('ok' === data.status) {\n dataToCx(data.data)\n if (\n self.props.theme != 'mobile' &&\n self['refSelect' + i] &&\n self['refSelect' + i].refFocusHolder &&\n !this.firstTouch\n )\n self['refSelect' + i]?.refFocusHolder?.focus()\n }\n })\n .catch(_error => {\n const newOptions = options.setSize(i)\n self.setState(\n {\n options: newOptions,\n error: true\n },\n () => {\n self.updateAnswer(answer.setSize(i))\n }\n )\n // if ('function' == typeof callback) callback(newOptions)\n })\n }\n\n validate(answerModel) {\n const validateObj = answerModel.find(el => el && el.get('validate') && true !== el.get('validated'))\n\n if (validateObj) {\n return Map({ valid: false })\n } else {\n if (answerModel) {\n // todo: comments, validated\n return Map({\n valid: answerModel.size && answerModel.reduce((prev, cur) => prev && Boolean(cur && cur.get('value')), true)\n })\n }\n\n return Map({ valid: false })\n }\n }\n\n // response: [{id: 'a1', c: 'hello world'}]\n backendResponse(answerModel) {\n if (!answerModel) return []\n\n return answerModel.reduce((prev, cur) => {\n prev.push(!cur.get('comment') ? { id: cur.get('id') } : { id: cur.get('id'), c: cur.get('comment') })\n return prev\n }, [])\n }\n\n @autobind\n selectOption(v, i, newOptions, newAnswer) {\n const { answer, options, fetching } = this.state\n if (fetching.get(i)) return\n this.firstTouch = false\n const currentOptions = newOptions ? newOptions : options\n const currentAnswer = newAnswer ? newAnswer : answer\n\n const focus = () => {\n const self = this\n setTimeout(() => {\n if (self.props.theme != 'mobile' && self['refSelect' + i]) self['refSelect' + i].refFocusHolder.focus()\n }, 200)\n }\n const hotUpdateAnswer = newOptions => {\n const newAnswer = currentAnswer\n .setSize(i + 1)\n .set(i, v.set('comment', ''))\n .set(i + 1, DEFAULT_ANSWER)\n this.updateAnswer(newAnswer)\n focus()\n if (1 == newOptions.get(i + 1).size) this.selectOption(newOptions.getIn([i + 1, 0]), i + 1, newOptions, newAnswer)\n }\n if (!v.get('children') || (!v.get('children').size && 'request' != v.get('children'))) {\n this.updateAnswer(currentAnswer.setSize(i + 1).set(i, v.set('comment', '')))\n this.setState({ placeholder: v.get('t') })\n focus()\n } else if ('request' == v.get('children')) {\n this.requestCxData(i + 1, v.get('id'), newOptions => hotUpdateAnswer(newOptions))\n } else {\n const updatedOptions = currentOptions.set(\n i + 1,\n v.get('children').reduce(\n (prev, cur, i) =>\n prev.push(\n fromJS({\n id: cur.get('id') || 'a' + (i + 1),\n value: i + 1,\n text: cur.get('l').toString(),\n oe: cur.get('o'),\n children: cur.get('v'),\n placeholder: cur.get('t'),\n skipFilter: Boolean(\n /^(other|n[/\\\\]a)/i\n // eslint-disable-next-line no-useless-escape\n .test(cur.get('l').toString())\n ),\n t: v.get('placeholder')\n })\n ),\n List([])\n )\n )\n this.setState(\n {\n options: updatedOptions\n },\n () => {\n hotUpdateAnswer(updatedOptions)\n }\n )\n }\n }\n\n @autobind\n changeText(text, i) {\n const { answer } = this.state\n this.updateAnswer(answer.setIn([i, 'comment'], text).setIn([i, 'validated'], null))\n }\n\n @autobind\n renderContent() {\n const { options, answer, error, fetching } = this.state\n const { showErrors } = this.props\n\n return (\n <Fragment>\n <Notice\n showErrors={showErrors}\n text={this.locale.getIn(['cx', 'note'])}\n data-testid=\"SW-CX-ValidationMessage\"\n />\n\n {answer.map((answerItem, i) => {\n const comment = answer.getIn([i, 'comment']) || ''\n const commentRows = Math.max((comment.match(/\\n/g) || []).length + 1, 3, comment.length / 50)\n return (\n <div key={i} className={style.selectContainer} data-testid=\"SW-CX-Combobox\" style={{ zIndex: 110 - i }}>\n {options.get(i) && (options.get(i).size > 1 || !answerItem.get('oe')) && (\n <Select\n options={options.get(i) || List([])}\n newIcon={true}\n // width=\"100%\"\n value={answer.getIn([i, 'value']) || null}\n placeholder={escapeText(\n options.getIn([i, 0, 't']) ||\n options.getIn([i, 0, 'placeholder']) ||\n (options.get(i).size ? this.locale.getIn(['pleaseSelect']) : '')\n )}\n onSelect={v => this.selectOption(v, i)}\n showSelected={true}\n filterOptions={true}\n filterStrategy=\"firstChar\"\n ref={this.saveRef('Select' + i)}\n theme=\"swidget\"\n fetching={fetching.get(i)}\n />\n )}\n {answerItem.get('oe') && (\n <div className={style.openEnded} data-testid=\"SW-CX-OpenEnded\">\n <span\n className={style.placeholder}\n dangerouslySetInnerHTML={{\n __html: options.getIn([i, 0, 't']) || options.getIn([i, 0, 'placeholder'])\n }}\n />\n <TextField\n error={showErrors && !comment.length}\n rows={commentRows}\n onChange={v => this.changeText(v, i)}\n debounce={100}\n placeholder={escapeText(answerItem.get('text'))}\n value={comment}\n resizableHeight={true}\n ref={this.saveRef('Comment')}\n data-testid=\"SW-CX-Input\"\n />\n </div>\n )}\n </div>\n )\n })}\n {error && (\n <Notice\n data-testid=\"SW-CX-Error\"\n text=\"Something went wrong, please refresh the page and try again\"\n showErrors={true}\n />\n )}\n </Fragment>\n )\n }\n\n @autobind\n renderDesktop() {\n return (\n <div data-testid=\"SW-CX\" className={style.component}>\n {this.renderContent()}\n </div>\n )\n }\n\n @autobind\n renderMobile() {\n return (\n <div data-testid=\"SW-CX\" className={`${style.component} ${style.mobile}`}>\n {this.renderContent()}\n </div>\n )\n }\n}\n","export const RTL_LOCALES = ['ar', 'he']\n\nexport function isRTL(s) {\n const ltrChars =\n 'A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02B8\\u0300-\\u0590\\u0800-\\u1FFF' +\n '\\u2C00-\\uFB1C\\uFDFE-\\uFE6F\\uFEFD-\\uFFFF'\n const rtlChars = '\\u0591-\\u07FF\\uFB1D-\\uFDFD\\uFE70-\\uFEFC'\n // eslint-disable-next-line no-misleading-character-class\n const rtlDirCheck = new RegExp('^[^' + ltrChars + ']*[' + rtlChars + ']')\n\n const html = s\n const div = document.createElement('div')\n div.innerHTML = html\n return rtlDirCheck.test(div.textContent || div.innerText || '')\n}\n\nexport function escapeText(t) {\n return t.replace(/</g, '<').replace(/>/g, '>').replace(/&/g, '&')\n}\n","import { Map } from 'immutable'\n\nconst locales = {\n default: require('./locales/en_us').default,\n en_us: require('./locales/en_us').default,\n en_gb: require('./locales/en_us').default,\n en_ie: require('./locales/en_us').default,\n ru: require('./locales/ru').default,\n ru_ru: require('./locales/ru').default,\n ro: require('./locales/ro').default,\n ro_ro: require('./locales/ro').default,\n ua: require('./locales/ua').default,\n uk_ua: require('./locales/ua').default,\n fr: require('./locales/fr').default,\n fr_fr: require('./locales/fr').default,\n fr_ca: require('./locales/fr').default,\n es: require('./locales/sp').default,\n es_mx: require('./locales/sp').default,\n es_us: require('./locales/sp').default,\n es_es: require('./locales/sp').default,\n de: require('./locales/de').default,\n de_de: require('./locales/de').default,\n da: require('./locales/da').default,\n da_da: require('./locales/da').default,\n da_dk: require('./locales/da').default,\n it: require('./locales/it').default,\n it_it: require('./locales/it').default,\n pt_br: require('./locales/pt_br').default,\n pt_pt: require('./locales/pt_br').default,\n pt: require('./locales/pt').default,\n tr: require('./locales/tr').default,\n tr_tr: require('./locales/tr').default,\n th: require('./locales/th').default,\n th_th: require('./locales/th').default,\n zh_cn: require('./locales/zh_cn').default,\n zh_sg: require('./locales/zh_cn').default,\n zh_tw: require('./locales/zh_tw').default,\n zh_hk: require('./locales/zh_hk').default,\n ko: require('./locales/ko').default,\n ko_kr: require('./locales/ko').default,\n ja: require('./locales/ja').default,\n ja_jp: require('./locales/ja').default,\n hi: require('./locales/hi').default,\n hi_in: require('./locales/hi').default,\n id: require('./locales/id').default,\n id_id: require('./locales/id').default,\n pl: require('./locales/pl').default,\n pl_pl: require('./locales/pl').default,\n sv: require('./locales/sv').default,\n sv_se: require('./locales/sv').default,\n nl: require('./locales/nl').default,\n nl_nl: require('./locales/nl').default,\n ar: require('./locales/ar').default,\n ar_ae: require('./locales/ar').default,\n he: require('./locales/he').default,\n he_il: require('./locales/he').default,\n gr: require('./locales/gr').default,\n el_gr: require('./locales/gr').default,\n no_no: require('./locales/nor').default,\n nor: require('./locales/nor').default,\n bg: require('./locales/bg').default,\n bg_bg: require('./locales/bg').default,\n vi: require('./locales/vi').default,\n vi_vi: require('./locales/vi').default,\n vi_vn: require('./locales/vi').default,\n ma: require('./locales/ma').default,\n ms_ma: require('./locales/ma').default,\n ms_my: require('./locales/ma').default,\n fi: require('./locales/fi').default,\n fi_fi: require('./locales/fi').default\n}\n\nexport default function locale(locale = 'en_us') {\n return 'en_us' == locale\n ? locales.default\n : locales.default\n .mergeDeep(locales[locale.toLowerCase().slice(0, 2)] || Map())\n .mergeDeep(locales[locale.toLowerCase()] || Map())\n}\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'لايوجد خيار للجواب، من Ùضلك اضغط التالي للمتابعة',\n placeholder: 'Øدد من Ùضلك',\n pleaseSelect: 'اختر من Ùضلك',\n rotateLandscape: 'يرجى إدارة الهات٠من الوضع الرأسي إلى الأÙقي للمتابعة.',\n rotatePortrait: 'يرجى إدارة الهات٠من الوضع الأÙقي إلى الرأسي للمتابعة.',\n ir: {\n selectWebCam: 'اختر كاميرا الويب (إذا كانت متوÙرة) أو اضغط (تصÙØ) لتØمل من جهازك',\n noWebCam: 'لم يتم الكش٠عن كاميرا الويب',\n accessCamUpload: 'إمكانية الوصول إلى الكاميرا/ تØميل',\n browse: 'تصÙØ',\n uploadPhoto: 'Øمل صورة',\n camera: 'كاميرا ويب',\n instead: 'عوضًا عن',\n capture: 'التقاط',\n somethingWrong: 'المعذرة، Øدث خطأ ما. من Ùضلك Øاول مرة ثانية لاØقًا',\n couldntRead: 'المعذرة، لم نستطع قراءة الرمز!',\n couldntProcess: 'المعذرة، لم نستطع معالجة صورتك!',\n inValidCode: 'Please, submit the valid code', // !\n moveOn: 'من Ùضلك Øاول مرة ثانية أو أرسل صورتك وتابع',\n tryAgain: 'من Ùضلك Øاول مرة أخرى',\n dataReceived: 'تم استلام البيانات!',\n enterManually: 'من Ùضلك Øاول مرة أخرى أو أدخل البيانات يدويًا أدناه',\n positionQR: 'من Ùضلك ضع رمز الوصول السريع أمام كاميرتك لتلائمه ضمن الأطار الأØمر أو Øمله من Øاسوبك.',\n positionQRMobile: 'ÙŠÙرجى وضع رمز الاستجابة السريعة أمام الكاميرا أو تØميله من جهازك.',\n analyzing: 'تØليل الصورة، انتظر من Ùضلك',\n submit: 'ارسال',\n startOver: 'ابدأ من جديد',\n allDone: 'Ø£Ùنجز كل شيئ!',\n cantAnalyze:\n 'انتباه - لم نتمكن من تقديم هذه الصورة. الرجاء Ù…Øاولة إعادة التقديم أو اختيار تنسيق صورة أكثر عمومية (JPG, PNG, GIF, BMP)',\n wrongFormat: 'معذرةً - لا ندعم تنسيق المل٠هذا. ÙŠÙرجى تØميل نوع صورة مدعوم (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'لم يتم الكش٠عن كاميرا الويب',\n uploadVideo: 'رÙع مقطع Ùيديو',\n skip: 'تخطي؟',\n accessCamUpload: 'إمكانية الوصول إلى الكاميرا/ تØميل',\n browse: 'تصÙØ',\n instead: 'عوضًا عن',\n or: 'أو',\n stopRecording: 'أوق٠التسجيل',\n willBeStopped: 'سيتوق٠التسجيل بعد خمس دقائق',\n stopOnDone: 'أوق٠التسجيل عندما تنتهي!',\n record: 'تسجيل',\n somethingWrong: 'المعذرة، Øدث خطأ ما. من Ùضلك Øاول مرة ثانية لاØقًا',\n dataReceived: 'تم استلام البيانات!',\n microphone: 'ميكروÙون',\n camera: 'كاميرا ويب',\n selectMicrophone: 'Øدد الميكروÙون الخاص بك',\n selectCam: 'Øدد كاميرا الويب الخاصة بك',\n submit: 'ارسال',\n upload: 'رÙع',\n playback: 'إعادة التشغيل',\n stopPlayback: 'إيقا٠استرجاع التشغيل',\n startOver: 'ابدأ من جديد',\n allDone: 'Ø£Ùنجز كل شيئ!',\n alternativeRecordSpan: '',\n alrenativeRecordHref: 'من Ùضلك، Øمل مقطع Ùيديو من Øاسوبك.بدلًا من ذلك، تستطيع أن تسجيل Ùيديو عبر كاميرا الويب.',\n cantAnalyze:\n 'انتباه - لم نتمكن من تقديم هذا الÙيديو. ÙŠÙرجى Ù…Øاولة إعادة الإرسال أو اختيار تنسيق Ùيديو أكثر عمومية (MP4, M4V, WEBPM)',\n wrongFormat:\n 'معذرةً - لا ندعم تنسيق المل٠هذا. ÙŠÙرجى تØميل نوع Ùيديو مدعوم (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'اختر',\n pleaseChoose: 'اختر من Ùضلك',\n this: 'هذا',\n one: 'واØد',\n myChoice: 'خياري'\n },\n hm: {\n addComment: 'من Ùضلك أض٠تعليقًا أدناه',\n commentMandatoryPlaceHolder: 'من Ùضلك أض٠تعليقًا الزاميًا',\n commentOptionalPlaceHolder: 'من Ùضلك أض٠تعليقًا خياريًا',\n dragPin: 'اسØب لإعادة التموضع (النقر الطويل / الضغط للتثبيت الدقيق).',\n removePin: 'اسØب خارج الصورة للØØ°Ù',\n editComment: 'انقر/ اضغط دبوس لتعديل التعليق.',\n addPin: 'من Ùضلك اسØب الدبوس من اللوØØ© أدناه وأسقطه ÙÙŠ المكان الذي تختاره على الصورة.',\n addPins: 'من Ùضلك اسØب الدبابيس من اللوØØ© أدناه وأسقطهم ÙÙŠ المكان الذي تختاره على الصورة.',\n leavePins: (minPoints, maxPoints) =>\n `من Ùضلك اترك على الأقل ${minPoints} لكن ليس أكثر من ${maxPoints} دبوس من كل نوع.`,\n leavePinsAny: (minPoints, maxPoints) => `الرجاء ترك ${minPoints} ولكن ليس أكثر من ${maxPoints} دبابيس من أي نوع.`,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `من Ùضلك اترك على الأقل ${minPoints} لكن ليس أكثر من ${maxPoints} دبوس.`,\n leavePinsWithOff: maxPoints => `من Ùضلك لا تترك أكثر من ${maxPoints} دبوس من كل نوع أو انقر على التالي للتخطي.`,\n leavePinsWithOffAny: maxPoints =>\n `من Ùضلك لا تترك أكثر من ${maxPoints} دبابيس من أي نوع أو انقر Ùوق \"التالي\" للتخطي.`,\n leavePinsPerPageWithOff: maxPoints => `من Ùضلك لا تترك أكثر من ${maxPoints} دبوس أو انقر على التالي للتخطي.`,\n leavePinWithOff: `من Ùضلك لا تترك أكثر من دبوس واØد من كل نوع أو انقر على التالي للتخطي.`,\n leavePinWithOffAny: `الرجاء عدم ترك أكثر من دبوس واØد من أي نوع أو النقر Ùوق \"التالي\" للتخطي. `,\n leavePinPerPageWithOff: 'من Ùضلك لا تترك أكثر من 1 دبوس أو انقر على التالي للتخطي.',\n leaveExactlyPin: `من Ùضلك اترك دبوس واØد من كل نوع.`,\n leaveExactlyPinAny: `الرجاء ترك دبوس واØد من أي نوع.`,\n leaveExactlyPinPerPage: 'من Ùضلك اترك دبوس واØد.',\n leaveExactlyPins: maxPoints => `من Ùضلك اترك ${maxPoints} دبوس من كل نوع.`,\n leaveExactlyPinsAny: maxPoints => `الرجاء ترك ${maxPoints} دبابيس من أي نوع.`,\n leaveExactlyPinsPerPage: maxPoints => `من Ùضلك اترك ${maxPoints} دبوس .`,\n leaveComment: 'اكتب تØت الصورة لتترك تعليقًا.',\n noAnswers: 'لا يوجد خيار للإجابة، من Ùضلك انقر على التالي للمتابعة.',\n outOfPins: 'لقد Ùرغت من الدبابيس',\n pinsBehavior: 'أثناء تنقلك عبر الصورة، سترى مناطق ستÙØدد بوضع دبوس واØد.',\n clusters: 'ستتمكن Ùقط من وضع الدبابيس ÙÙŠ هذه المناطق المØددة.',\n contentAware: 'يمكنك وضع الدبابيس داخل المناطق المØددة أو خارجها.'\n },\n mp: {\n expand_note: 'يرجى تمرير مؤشر الماوس Ùوق الصورة (الصور) أو النقر عليها للتوسيع',\n rb_note: rows => `يرجى اختيار إجابة واØدة Ùقط لكل عنصر ${rows ? 'أدناه' : ''}`,\n cb_note: (min, max, rows) => {\n if (min === max) {\n return `يرجى تØديد ${min !== 1 ? 'أي' : 'Ùقط'} ${min} ${min !== 1 ? 'إجابات' : 'إجابة'} ${\n rows ? 'أدناه' : ''\n } لكل عنصر :`\n } else if (min > 0 && max < 5000) {\n return `يرجى اختيار ${min} ${min !== 1 ? 'إجابات' : 'إجابة'} على الأقل، ولكن بما لا يزيد عن ${max} ${\n rows ? 'أدناه' : ''\n } لكل عنصر :`\n } else if (5000 === max && min > 0) {\n return `يرجى اختيار ${min} ${min !== 1 ? 'إجابات' : 'إجابة'} ${rows ? 'أدناه' : ''} على الأقل لكل عنصر :`\n } else if (0 === min && max < 5000) {\n return `يرجى اختيار ما لا يزيد عن ${max} ${max !== 1 ? 'إجابات' : 'إجابة'} ${rows ? 'أدناه' : ''} لكل عنصر :`\n } else {\n return 'تØقق من كل ما ÙŠÙطبق:'\n }\n }\n },\n sh: {\n note: 'انقر Ùوق منتج لتكبيره وإضاÙته إلى عربة التسوق الاÙتراضية الخاصة بك إذا كنت ستشتريه من المتجر',\n amazonNote: 'انقر على المنتج لتكبير صورته وإضاÙته إلى سلة التسوق الاÙتراضية.',\n fullCart: 'عربة التسوق الخاصة بك ممتلئة!',\n qty: 'الكمية',\n each: 'كل',\n items: 'أغراض',\n addToCart: 'أض٠إلى السلة',\n deleteFromCart: 'ØØ°Ù',\n emptyCard: 'سلة التسوق Ùارغة',\n total: 'السلة',\n next: 'التالي',\n clearCart: 'تÙريغ السلة',\n backToStore: 'العودة إلى المتجر',\n na: 'لاشيء مما سبق',\n scrollError: `يرجى التمرير بالكامل إلى اليسار واليمين للمتابعة ÙÙŠ الاستبيان.`,\n maxCartCountError: max => `منتج إلى عربة التسوق${max}ÙŠÙرجى عدم إضاÙØ© أكثر من `,\n maxSpentError: max => ` ÙŠÙرجى عدم إنÙاق أكثر من${max} `,\n maxProductCountError: max => ` ÙŠÙرجى عدم إضاÙØ© كمية أكثر من${max}إلى عربة التسوق لكل منتج `\n },\n rb: {\n note: 'من Ùضلك اختر عنصرًا واØدًا Ùقط:'\n },\n vo: {\n note: 'من Ùضلك شاهد الÙيديو Øتى نهايته\\n'\n },\n cb: {\n note: (min, max) => {\n if (1 === min && 5000 === max) {\n return 'تØقق من كل مايÙطبق:'\n } else if (min === max) {\n return `من Ùضلك اختر ${min !== 1 ? 'أي' : 'عنصر'} ${min} عناصر ${min !== 1 ? 'Ùقط' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `من Ùضلك اختر على الأقل ${min} عنصر ${min !== 1 ? 'عناصر' : ''} لكن ليس أكثر من ${max} لكل صÙ:`\n } else if (5000 === max && min > 0) {\n return `من Ùضلك اختر على الأقل ${min} عنصر ${min !== 1 ? 'عناصر' : ''}:`\n } else if (0 === min && max < 5000) {\n return `من Ùضلك اختر ما لا يزيد عن ${max} عنصر ${max !== 1 ? 'عناصر' : ''}:`\n } else {\n return 'تØقق من كل مايÙطبق:'\n }\n }\n },\n oe: {\n na: 'غير قابل للتطبيق',\n note: (min, max, optional) => {\n if (min === max) {\n return `من Ùضلك اكتب ${1 !== min ? 'أي' : 'بالضبط'} ${min} رمز ${1 !== min ? 'رموز' : ''}${\n optional ? ' (اختياري)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `من Ùضلك اكتب على الأقل ${min} رمز ${1 !== min ? 'رموز' : ''} لكن ليس أكثر من ${max}${\n optional ? ' (اختياري)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `من Ùضلك اكتب على الأقل ${min} رمز ${1 !== min ? 'رموز' : ''}${optional ? ' (اختياري)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `من Ùضلك اكتب ما لا يزيد عن ${max} رمز ${1 !== min ? 'رموز' : ''}${optional ? ' (اختياري)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'من Ùضلك املأ الØقول التالية'\n },\n mx: {\n note: 'من Ùضلك Øرك أشرطة التمرير المميزة للمتابعة',\n dragSlider: 'اسØب إلى اليسار أو اليمين للإجابة'\n },\n psc: {\n dragLeftRight: 'اسØب إلى اليسار أو اليمين للإجابة'\n },\n ps: {\n note: (value, remaining) => `من Ùضلك وزع بقية ${remaining ? 'المتبقية' : ''} ${value} بين العناصر أدناه`,\n allDone: `Ø£Ùنجز كل شيئ!`,\n total: `مجموع:`,\n dragSlider: 'اسØب إلى اليسار أو اليمين للإجابة'\n },\n cx: {\n note: 'اÙØªØ Ø§Ù„Ù‚Ø§Ø¦Ù…Ø© المنسدلة وابدأ بكتابة جوابك عن طريق الممرر التلقائي أو Øدده يدويًا'\n },\n ro: {\n note: 'اسØب للأعلى أو الأسÙÙ„ من أجل إعادة الترتيب:'\n },\n md: {\n note1: 'من Ùضلك انقر/اضغط Ùوق عنصر خيارك الأول<br/>انقر/اضغط مرة ثانية لإزالة الاختيار.',\n note2: 'من Ùضلك انقر/اضغط Ùوق عنصر خيارك الأخير<br/>انقر/اضغط مرة ثانية لإزالة الاختيار.',\n note3: 'شكرًا! أكمل إلى السؤال التالي أو انقر/ اضغط على أي عنصر غير مختار للبدء من جديد.'\n },\n aro: {\n note: 'من Ùضلك اختر عنصرًا واØدًا من كل زوج.'\n },\n wd: {\n note: 'تأكد من أن كل قيمة لاØقة أكبر من القيمة السابقة.'\n },\n emd: {\n note: 'من Ùضلك شاهد الÙيديو Øتى نهايته\\n',\n noAnswers: 'لايوجد خيار للجواب، من Ùضلك اضغط التالي للمتابعة',\n start: 'انقر مع الاستمرار للبدء',\n resume: 'انقر مع الاستمرار للاستئناÙ',\n continue: 'أنت جاهز! اضغط على التالي للمتابعة.',\n continueMobile: 'أنت مستعد! انقر هنا للمتابعة',\n training: {\n session: 'دورة تدريبية',\n note: 'الرجاء إنهاء التدريب',\n moveLeft: 'من Ùضلك اسØب القرص على طول الطريق إلى اليسار',\n moveBottom: 'من Ùضلك اسØب القرص Øتى النهاية',\n moveRight: 'الآن، من Ùضلك اسØب أيقونة الاتصال الهاتÙÙŠ على طول الطريق إلى اليمين',\n moveTop: 'من Ùضلك اسØب القرص على طول الطريق إلى الأعلى',\n success: 'عمل رائع!'\n }\n },\n sft: {\n noAnswers: 'لايوجد خيار للجواب، من Ùضلك اضغط التالي للمتابعة',\n note: 'ÙŠÙرجى الإجابة بأسرع ما يمكن بالإجابة التي تشعر أنها صØÙŠØØ© بشكل بديهي',\n finish: 'لقد انتهيت! الرجاء النقر Ùوق \"مواÙÙ‚\" للمتابعة',\n training: {\n start:\n '<p>سيÙظهر لك هذا السؤال كلمات مختلÙØ© بسرعة وسيتطلب تركيزك. ' +\n 'ستØتاج إلى الرد بسرعة للإجابة' +\n '</p> <p>جاهز للتطبيق؟</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `مقبض \"{buttonLeft}\"`\n : (mouse ? `انقر \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `اضغط على Ù…ÙØªØ§Ø \"{keyBtnLeft}\"` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `مقبض \"{buttonRight}\"`\n : (mouse ? `انقر \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `اضغط على Ù…ÙØªØ§Ø \"{keyBtnRight}\"` : ''),\n fail: () => 'بطيئ جدًا',\n success: () => 'عظيم!',\n finish: () =>\n '<p><strong> رائع!</strong></p><p>ÙŠÙرجى التأكد من أنك لن تشتت انتباهك ÙÙŠ الدقائق 2-3 القادمة</p><p>انقر Ùوق \"التالي\" للبدء عندما تكون جاهزًا</p>'\n },\n buttons: {\n start: 'البدء',\n yesno: {\n left: 'نعم',\n right: 'لا'\n },\n matches: {\n left: 'تطابق',\n right: 'لا يوجد تطابق'\n },\n fits: {\n left: 'مناسب',\n right: 'غير مناسب'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'ÐÑма Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° отговор. Кликнете „Ðапред“, за да продължите.',\n placeholder: 'ПоÑÑнете...',\n pleaseSelect: 'Изберете...',\n rotateLandscape: 'Завъртете телефона Ñи от портретен в пейзажен режим.',\n rotatePortrait: 'Завъртете телефона Ñи от пейзажен в портретен режим.',\n ir: {\n selectWebCam:\n 'Изберете уебкамера (ако е налична) или кликнете върху „Преглед“, за да качите от Вашето уÑтройÑтво',\n uploadOnly: \"Кликнете върху 'Преглед', за да качите от Вашето уÑтройÑтво\",\n noWebCam: 'Ðе е открита уебкамера',\n accessCamUpload: 'ДОСТЪП ДО КÐМЕРÐ/КÐЧВЕÐЕ',\n browse: 'ПРЕГЛЕД',\n uploadPhoto: 'Качи Ñнимка',\n camera: 'Уебкамера',\n instead: 'вмеÑто',\n capture: 'ЗÐСÐЕМÐÐЕ',\n somethingWrong: 'За Ñъжаление нещо Ñе обърка. Опитайте отново по-къÑно',\n couldntRead: 'За Ñъжаление не уÑпÑхме да прочетем кода!',\n couldntProcess: 'За Ñъжаление не уÑпÑхме да обработим изображението Ви!',\n inValidCode: 'Изпратете Ð²Ð°Ð»Ð¸Ð´Ð½Ð¸Ñ ÐºÐ¾Ð´',\n moveOn: 'Опитайте отново или изпратете Ñнимката Ñи и продължете напред',\n tryAgain: 'Опитайте отново',\n dataReceived: 'Данните Ñа получени!',\n enterManually: 'Опитайте отново или въведете данните ръчно по-долу',\n positionQR:\n 'ПоÑтавете QR кода пред камерата Ñи така, че да Ñе побере в червената рамка, или го качете от компютъра Ñи.',\n positionQRMobile: 'ПоÑтавете QR кода пред камерата Ñи или го качете от Вашето уÑтройÑтво.',\n analyzing: 'Ðнализиране на изображението, молÑ, изчакайте',\n submit: 'ИЗПРÐЩÐÐЕ',\n startOver: 'Започни отначало',\n allDone: 'Готово!',\n cantAnalyze:\n 'Внимание – не можахме да разпознаем това изображение. Опитайте да го изпратите повторно или изберете по-общ формат на изображението (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'СъжалÑваме – не поддържаме този файлов формат. Качете поддържан тип изображение (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Ðе е открита уебкамера',\n uploadVideo: 'Качете видео',\n skip: 'ПропуÑни?',\n accessCamUpload: 'ДОСТЪП ДО КÐМЕРÐ/КÐЧВЕÐЕ',\n browse: 'ПРЕГЛЕД',\n instead: 'вмеÑто',\n or: 'или',\n stopRecording: 'Спрете запиÑа',\n willBeStopped: 'ЗапиÑÑŠÑ‚ ще Ñпре Ñлед <b>5 минути</b>',\n stopOnDone: 'Спрете да запиÑвате, когато Ñте готови!',\n record: 'ЗÐПИС',\n somethingWrong: 'За Ñъжаление нещо Ñе обърка. Опитайте отново по-къÑно.',\n dataReceived: 'Данните Ñа получени!',\n microphone: 'Микрофон',\n camera: 'Уебкамера',\n selectMicrophone: 'Изберете микрофон',\n selectCam: 'Изберете уебкамера',\n submit: 'ИЗПРÐЩÐÐЕ',\n upload: 'КÐЧЕТЕ',\n playback: 'Възпроизвеждане',\n stopPlayback: 'СПИРÐÐЕ ÐРВЪЗПРОИЗВЕЖДÐÐЕТО',\n startOver: 'ЗÐПОЧÐИ ОТÐÐЧÐЛО',\n allDone: 'Готово!',\n alternativeRecordSpan: 'Качете видеоклип от Вашето компютърно уÑтройÑтво.<br/>Като алтернатива можете ',\n alrenativeRecordHref: 'да запишете видеоклипа Ñ ÑƒÐµÐ±ÐºÐ°Ð¼ÐµÑ€Ð°.',\n cantAnalyze:\n 'Внимание – не можахме да разпознаем това видео. Опитайте да го изпратите повторно или изберете по-общ видеоформат (MP4, M4V, WEBPM)',\n wrongFormat:\n 'СъжалÑваме – не поддържаме този файлов формат. Качете поддържан тип видео (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'ИЗБОР',\n pleaseChoose: 'Изберете',\n this: 'ТОВÐ',\n one: ' eднн',\n myChoice: 'МоÑÑ‚ ИЗБОР'\n },\n hm: {\n addComment: 'Добавете коментар по-долу',\n commentMandatoryPlaceHolder: 'Добавете задължителен коментар... ',\n commentOptionalPlaceHolder: 'Добавете коментар по избор... ',\n dragPin: 'Плъзнете за препозициониране (дълго кликване/натиÑкане за прецизно закачане). ',\n removePin: 'Плъзнете извън изображението за изтриване. ',\n editComment: 'Кликнете/натиÑнете върху маркер за редактиране на коментар. ',\n addPin: 'Плъзнете маркера от панела по-долу и го пуÑнете на избрано от Ð’Ð°Ñ Ð¼ÑÑто върху изображението.',\n addPins: 'Плъзнете маркерите от панела по-долу и ги пуÑнете на избрано от Ð’Ð°Ñ Ð¼ÑÑто върху изображението. ',\n leavePins: (minPoints, maxPoints) =>\n `ОÑтавете поне ${minPoints}, но не повече от ${maxPoints} маркера от вÑеки вид.`,\n leavePinsAny: (minPoints, maxPoints) =>\n `ОÑтавете поне ${minPoints}, но не повече от ${maxPoints} маркера от който и да е вид. `,\n leavePinsPerPage: (minPoints, maxPoints) => `ОÑтавете поне ${minPoints}, но не повече от ${maxPoints} маркера. `,\n leavePinsWithOff: maxPoints =>\n `ОÑтавете не повече от ${maxPoints} маркера от вÑеки вид или кликнете върху „Ðапред“ за пропуÑкане. `,\n leavePinsWithOffAny: maxPoints =>\n `ОÑтавете не повече от ${maxPoints} маркера от който и да е вид или кликнете върху „Ðапред“ за пропуÑкане. `,\n leavePinsPerPageWithOff: maxPoints =>\n `ОÑтавете не повече от ${maxPoints} маркера или кликнете върху „Ðапред“ за пропуÑкане. `,\n leavePinWithOff: `ОÑтавете не повече от 1 маркер от вÑеки вид или кликнете върху „Ðапред“ за пропуÑкане. `,\n leavePinWithOffAny: `ОÑтавете не повече от 1 маркер от който и да е вид или кликнете върху „Ðапред“ за пропуÑкане. `,\n leavePinPerPageWithOff: 'ОÑтавете не повече от 1 маркер или кликнете върху „Ðапред“ за пропуÑкане. ',\n leaveExactlyPin: `ОÑтавете 1 маркер от вÑеки вид. `,\n leaveExactlyPinAny: `ОÑтавете 1 маркер от който и да е вид.. `,\n leaveExactlyPinPerPage: 'ОÑтавете 1 маркер. ',\n leaveExactlyPins: maxPoints => `ОÑтавете ${maxPoints} маркера от вÑеки вид. `,\n leaveExactlyPinsAny: maxPoints => `ОÑтавете ${maxPoints} маркера от който и да е вид. `,\n leaveExactlyPinsPerPage: maxPoints => `ОÑтавете ${maxPoints} маркера. `,\n leaveComment: 'Въведете под изображението, за да оÑтавите коментар. ',\n noAnswers: 'ÐÑма Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° отговор. Кликнете „Ðапред“, за да продължите.',\n outOfPins: 'маркерите Ви Ñе изчерпаха',\n pinsBehavior: 'Когато Ñе движите по изображението, ще видите облаÑти, които Ñа маркирани Ñ Ñ‚Ð¾Ð¿Ñ‡Ðµ на маркерите.',\n clusters: 'Ще можете да поÑтавÑте маркерите Ñамо в тези очертани облаÑти.',\n contentAware: 'Можете да поÑтавÑте маркерите във или извън маркираните облаÑти.'\n },\n mp: {\n expand_note:\n 'МолÑ, задръжте Ñтрелката върху изображението(Ñта) или кликнете върху него(Ñ‚ÑÑ…), за да го(ги) разтворите.',\n rb_note: rows => `Изберете Ñамо 1 отговор за вÑеки елемент${rows ? ' по-долу' : ''}:`,\n cb_note: (min, max, rows) => {\n if (min === max) {\n return `Изберете ${min !== 1 ? '' : 'Ñамо'} ${min} отговор${min !== 1 ? 'а' : ''} за вÑеки елемент${\n rows ? ' по-долу' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `МолÑ, изберете най-малко ${min} отговор${\n min !== 1 ? 'а' : ''\n }, но не повече от ${max} отговора на въпроÑ:`\n } else if (5000 === max && min > 0) {\n return `МолÑ, изберете поне ${min} отговор${min !== 1 ? 'а' : ''} на въпроÑ:`\n } else if (0 === min && max < 5000) {\n return `МолÑ, изберете не повече от ${max} отговор${max !== 1 ? 'а' : ''} на въпроÑ:`\n } else {\n return 'Маркирайте вÑички приложими:'\n }\n }\n },\n sh: {\n note: 'Кликнете върху продукт, за да го увеличите и добавите към Вашата виртуална количка, ако бихте го купили в магазина',\n amazonNote: 'Кликнете върху продукт, за да го увеличите и добавите към Вашата виртуална количка.',\n fullCart: 'Количката Ви е пълна!',\n qty: 'КОЛИЧЕСТВО',\n addToCart: 'ДОБÐВИ Ð’ КОЛИЧКÐТÐ',\n deleteFromCart: 'ИЗТРИЙ',\n each: 'вÑеки',\n items: 'елементи',\n emptyCard: 'Количката Ви е празна',\n total: 'Количка',\n clearCart: 'ИзчиÑтване на количката',\n backToStore: 'Обратно в магазина',\n na: 'Ðито едно от поÑочените',\n next: 'ÐÐПРЕД',\n maxCartCountError: max => `МолÑ, не добавÑйте повече от ${max} продукта във Вашата количка. `,\n scrollError: `МолÑ, превъртете изцÑло налÑво и надÑÑно, за да продължите анкетата. `,\n maxSpentError: max => `МолÑ, не харчете повече от ${max}. `,\n maxProductCountError: max => `МолÑ, не добавÑйте във Вашата количка повече от ${max} за вÑеки продукт.`\n },\n rb: {\n note: 'Изберете Ñамо 1 елемент:'\n },\n vo: {\n note: 'Изгледайте видеото до краÑ'\n },\n cb: {\n note: (min, max) => {\n if (1 === min && 5000 === max) {\n return 'Маркирайте вÑички приложими:'\n } else if (min === max) {\n return `Изберете ${min !== 1 ? 'произволен' : 'Ñамо'} ${min} елемент${min !== 1 ? 'a' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Изберете поне ${min} елемент${min !== 1 ? 'а' : ''}, но не повече от ${max}:`\n } else if (5000 === max && min > 0) {\n return `Изберете поне ${min} елемент${min !== 1 ? 'а' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Изберете не повече от ${max} елемент${max !== 1 ? 'a' : ''}:`\n } else {\n return 'Маркирайте вÑички приложими:'\n }\n }\n },\n oe: {\n na: 'Ðе е приложимо',\n note: (min, max, optional) => {\n if (min === max) {\n return `Въведете ${1 !== min ? 'произволен' : 'точно'} ${min} Ñимвол${1 !== min ? 'a' : ''}${\n optional ? ' (по избор)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Въведете поне ${min} Ñимвол${1 !== min ? 'a' : ''} но не повече от ${max}${\n optional ? ' (по избор)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Въведете поне ${min} Ñимвол${1 !== min ? 'a' : ''}${optional ? ' (по избор)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Въведете не повече от ${max} Ñимвол${1 !== min ? 'a' : ''}${optional ? ' (по избор)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Попълнете Ñледните полета:'\n },\n mx: {\n note: 'ПремеÑтете оцветените плъзгачи, за да продължите',\n dragSlider: 'Плъзнете налÑво или надÑÑно, за да отговорите'\n },\n psc: {\n dragLeftRight: 'Плъзнете налÑво или надÑÑно, за да отговорите'\n },\n ps: {\n note: (value, remaining) => `Разпределете ${remaining ? 'оÑтаналите' : ''} ${value} между елементите по-долу`,\n allDone: `Готово`,\n total: `Общо:`,\n dragSlider: 'Плъзнете налÑво или надÑÑно, за да отговорите'\n },\n cx: {\n note: 'Отворете полето и започнете да пишете отговора Ñи, за да превъртите автоматично или да го изберете ръчно'\n },\n ro: {\n note: 'Плъзнете нагоре или надолу, за да пренаредите:'\n },\n md: {\n note1:\n 'Кликнете/натиÑнете върху елемента по Ð’Ð°ÑˆÐ¸Ñ <b>първи избор</b>.<br/>Кликнете/натиÑнете отново, за да изчиÑтите избора.',\n note2:\n 'Сега кликнете/натиÑнете върху елемента по Ð’Ð°ÑˆÐ¸Ñ <b>поÑледен избор</b>.<br/>Кликнете/натиÑнете отново, за да изчиÑтите избора.',\n note3:\n 'БлагодарÑ! Продължете към ÑÐ»ÐµÐ´Ð²Ð°Ñ‰Ð¸Ñ Ð²ÑŠÐ¿Ñ€Ð¾Ñ <br/ >или кликнете/натиÑнете върху вÑеки неизбран елемент, за да започнете отначало.'\n },\n aro: {\n note: 'Изберете по един елемент от вÑÑка двойка:'\n },\n wd: {\n note: 'Уверете Ñе, че вÑÑка Ñледваща ÑтойноÑÑ‚ е по-голÑма от предишната.'\n },\n emd: {\n note: 'Изгледайте видеото до краÑ',\n noAnswers: 'ÐÑма Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° отговор. Кликнете „Ðапред“, за да продължите.',\n start: 'Кликнете и задръжте за започване',\n resume: 'Кликнете и задръжте за продължаване',\n continue: 'Готови Ñте! <br />Кликнете <strong>Ðапред</strong> за да продължите',\n continueMobile: 'Готови Ñте! <br />Кликнете <strong>ТУК</strong> за да продължите',\n training: {\n session: 'Обучителна ÑеÑиÑ',\n note: 'Завършете обучението',\n moveLeft: 'Плъзнете циферблата докрай <strong>налÑво</strong>',\n moveBottom: 'Плъзнете циферблата докрай <strong>надолу</strong>',\n moveRight: 'Плъзнете циферблата докрай <strong>надÑÑно</strong>',\n moveTop: 'Плъзнете циферблата докрай <strong>нагоре</strong>',\n success: 'Страхотно!'\n }\n },\n sft: {\n noAnswers: 'ÐÑма Ð¾Ð¿Ñ†Ð¸Ñ Ð·Ð° отговор. Кликнете „Ðапред“, за да продължите.',\n note: 'Отговорете възможно най-бързо Ñ Ð¾Ñ‚Ð³Ð¾Ð²Ð¾Ñ€Ð°, който интуитивно изглежда правилен',\n imageError: 'No image exposure time chosen',\n finish: 'Готови Ñте! <br /> Кликнете „Ðапред“, за да продължите',\n training: {\n start:\n '<p>Този Ð²ÑŠÐ¿Ñ€Ð¾Ñ Ñ‰Ðµ Ви покаже бързо различни думи и ще изиÑква Вашата концентрациÑ. ' +\n 'Ще Ñ‚Ñ€Ñбва да реагирате бързо, за да отговорите. </p> <p>Готови ли Ñте да Ñе упражнÑвате?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `ÐатиÑнете \"{buttonLeft}\"`\n : (mouse ? `Кликнете \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `ÐатиÑнете клавиша \"{keyBtnLeft}\"` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `ÐатиÑнете \"{buttonRight}\"`\n : (mouse ? `Кликнете \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `ÐатиÑнете клавиша \"{keyBtnRight}\"` : ''),\n fail: () => 'Твърде бавно',\n success: () => 'Страхотно!',\n finish: () =>\n '<p><strong> Отлично!</strong></p><p>Уверете Ñе, че нÑма <br />' +\n 'да Ñе разÑейвате през<br/> Ñледващите 2 – 3 минути</p><p>Кликнете „Ðапред“, за да започнете, когато Ñте готови.</p>'\n },\n buttons: {\n start: 'Започни',\n yesno: {\n left: 'Да',\n right: 'Ðе'\n },\n matches: {\n left: 'Съвпадение',\n right: 'ÐеÑъвпадение'\n },\n fits: {\n left: 'ПодходÑщо',\n right: 'ÐеподходÑщо'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n },\n noyes: {\n left: 'Да',\n right: 'Ðе'\n },\n matchesRev: {\n left: 'Съвпадение',\n right: 'ÐеÑъвпадение'\n },\n fitsRev: {\n left: 'ПодходÑщо',\n right: 'ÐеподходÑщо'\n },\n thumbsRev: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Hvis du ikke har mulighed for at svare, skal du klikke pÃ¥ næste for at fortsætte.',\n placeholder: 'Angiv venligst ...',\n pleaseSelect: 'Vælg venligst ...',\n rotateLandscape: 'Rotér din telefon fra portræt til landskab for at fortsætte.',\n rotatePortrait: 'Rotér din telefon fra landskab til portræt for at fortsætte.',\n ir: {\n selectWebCam: 'Vælg webcam (hvis det er tilgængeligt), eller klik pÃ¥ \"Gennemse\" for at uploade fra din enhed',\n noWebCam: 'Der er ikke registreret noget webcam',\n accessCamUpload: 'ADGANG TIL KAMERA/UPLOAD',\n browse: 'GENNEMSE',\n uploadPhoto: 'Upload et foto',\n instead: 'i stedet',\n startOver: 'Start forfra',\n capture: 'TAG BILLEDE',\n allDone: 'Alt er klaret!',\n somethingWrong: 'Beklager, der gik noget galt. Prøv venligst igen senere',\n couldntRead: 'Beklager, vi kunne ikke læse koden!',\n couldntProcess: 'Beklager, vi kunne ikke behandle dit billede!',\n moveOn: 'Prøv igen, eller indsend dit billede, og gÃ¥ videre',\n tryAgain: 'Prøv venligst igen',\n dataReceived: 'Data modtaget!',\n enterManually: 'Prøv venligst igen eller indtast dataene manuelt nedenfor',\n positionQR:\n 'Placer QR-koden foran dit kamera, sÃ¥ den passer ind i den røde ramme, eller upload den fra din computer.',\n submit: 'INDSEND',\n analyzing: 'Analyserer billede, vent venligst...',\n cantAnalyze:\n 'Vær opmærksom - vi kunne ikke rendere dette billede. Prøv venligst at indsende igen eller vælg et mere generisk billedformat (JPG, PNG, GIF, BMP).',\n wrongFormat:\n 'Vi beklager - vi understøtter ikke dette filformat. Upload venligst en understøttet billedtype (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Der er ikke registreret noget webcam',\n uploadVideo: 'Upload en video',\n skip: 'Spring over?',\n accessCamUpload: 'ADGANG TIL KAMERA/UPLOAD',\n browse: 'GENNEMSE',\n instead: 'i stedet',\n or: 'eller',\n stopRecording: 'Stop optagelse',\n willBeStopped: 'Optagelsen stopper efter 5 minutter',\n stopOnDone: 'Stop optagelsen, nÃ¥r du er færdig!',\n record: 'OPTAG',\n somethingWrong: 'Beklager, der gik noget galt. Prøv venligst igen senere',\n microphone: 'Mikrofon',\n camera: 'Webkamera',\n selectMicrophone: 'Vælg din mikrofon',\n selectCam: 'Vælg dit webkamera',\n upload: 'Upload',\n playback: 'Afspilning',\n stopPlayback: 'Stop optagelse',\n submit: 'INDSEND',\n startOver: 'Start forfra',\n allDone: 'Alt er klaret!',\n alternativeRecordSpan:\n 'Du bedes uploade et videoklip fra din computer-enhed. Alternativt kan du optage videoen med et webcam.',\n alrenativeRecordHref: ' optag videoen med et webcam.',\n cantAnalyze:\n 'Vær opmærksom - vi kunne ikke rendere denne video. Prøv venligst at indsende igen eller vælg et mere generisk videoformat (MP4, M4V, WEBPM)',\n wrongFormat:\n 'Vi beklager - vi understøtter ikke dette filformat. Upload venligst en understøttet videotype (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'VÆLG',\n pleaseChoose: 'Vælg venligst',\n this: 'DETTE',\n one: 'en',\n myChoice: 'Mit VALG'\n },\n hm: {\n addComment: 'Tilføj venligst en kommentar nedenfor',\n commentMandatoryPlaceHolder: 'Tilføj venligst obligatorisk kommentar...',\n commentOptionalPlaceHolder: 'Tilføj venligst valgfri kommentar... ',\n dragPin: 'Træk for at flytte positionen (klik/tap længe for præcis fastgørelse).',\n removePin: 'Træk uden for billedet for at slette det.',\n editComment: 'Klik/tryk pÃ¥ markeringen for at redigere kommentaren.',\n addPin: 'Træk markeringer fra panelet nedenfor, og placer den pÃ¥ et sted pÃ¥ billedet, som du selv vælger.',\n addPins: 'Træk markeringer fra panelet nedenfor, og placer dem pÃ¥ et sted pÃ¥ billedet, som du selv vælger.',\n leavePins: (minPoints, maxPoints) =>\n `Efterlad mindst ${minPoints} men ikke mere end ${maxPoints} markeringer af hver slags.`,\n leavePinsAny: (minPoints, maxPoints) =>\n `Efterlad mindst ${minPoints}, men ikke mere end ${maxPoints} markeringer af enhver art.`,\n leavePinsPerPage: (minPoints, maxPoints) => `Efterlad mindst ${minPoints} og højst ${maxPoints} markeringer.`,\n leavePinsWithOff: maxPoints =>\n `Efterlad højst ${maxPoints} markeringer af hver slags, eller klik pÃ¥ Næste for at springe over.`,\n leavePinsWithOffAny: maxPoints =>\n `Efterlad højst ${maxPoints} markeringer af enhver art, eller klik pÃ¥ Næste for at springe over for at springe over.`,\n leavePinsPerPageWithOff: maxPoints =>\n `Efterlad højst ${maxPoints} markeringer, eller klik pÃ¥ Næste for at springe over.`,\n leavePinWithOff: 'Efterlad højst 1 markering af enhver art, eller klik pÃ¥ Næste for at springe over.',\n leavePinWithOffAny: 'Efterlad højst 1 markering af enhver art, eller klik pÃ¥ Næste for at springe over.',\n leavePinPerPageWithOff: 'Efterlad højst 1 markering af enhver art, eller klik pÃ¥ Næste for at springe over.',\n leaveExactlyPin: 'Efterlad venligst 1 markering af hver slags.',\n leaveExactlyPinAny: 'Efterlad venligst 1 markering af enhver art.',\n leaveExactlyPinPerPage: 'Efterlad venligst 1 markering.',\n leaveExactlyPins: maxPoints => `Efterlad venligst ${maxPoints} markeringer af enhver art.`,\n leaveExactlyPinsAny: maxPoints => `Efterlad venligst ${maxPoints} markeringer af enhver art.`,\n leaveExactlyPinsPerPage: maxPoints => `Efterlad venligst ${maxPoints} markeringer.`,\n leaveComment: 'Skriv under billedet for at efterlade en kommentar.',\n noAnswers: '',\n outOfPins: 'Du er løbet tør for markeringer',\n pinsBehavior:\n 'NÃ¥r du bevæger dig hen over billedet, vil du se omrÃ¥der, som vil blive fremhævet med et enkelt markeringspunkt.',\n clusters: 'Du kan kun placere markeringer i disse markerede omrÃ¥der.',\n contentAware: 'Du kan placere markeringer inden for eller uden for de markerede omrÃ¥der.'\n },\n mp: {\n expand_note: 'Hold musen hen over eller klik pÃ¥ billedet for at forstørre',\n rb_note: rows => `Vælg kun 1 svar pr. punkt ${rows ? ' nedenfor' : ''}:`,\n cb_note: (min, max, rows) => {\n if (min === max) {\n return `Vælg ${min !== 1 ? '' : 'kun'} ${min} svar pr. punkt ${rows ? ' nedenfor' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Vælg mindst ${min} svar , men ikke mere end ${max} pr. punkt${rows ? ' nedenfor' : ''}:`\n } else if (5000 === max && min > 0) {\n return `Vælg venligst mindst ${min} svar 1 svar pr. punkt${rows ? ' nedenfor' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Vælg venligst ikke mere end ${max} svar pr. punkt${rows ? ' nedenfor' : ''}:`\n } else {\n return 'Sæt kryds i alt, hvad der er relevant:'\n }\n }\n },\n sh: {\n note: 'Klik pÃ¥ et produkt for at zoome ind og lægge det i din virtuelle indkøbskurv, hvis du ønsker at købe det i butikken',\n amazonNote: 'Klik pÃ¥ et produkt for at zoome ind og lægge det i din virtuelle indkøbskurv.',\n fullCart: 'Din indkøbskurv er fuld!',\n qty: 'ANTAL',\n each: 'hver',\n items: 'genstande',\n addToCart: 'LÆG I KURVEN',\n deleteFromCart: 'SLET',\n next: 'NÆSTE',\n emptyCard: 'Din indkøbskurv er tom',\n total: 'Indkøbskurv',\n clearCart: 'Ryd indkøbskurv',\n backToStore: 'Tilbage til butik',\n scrollError: `Scroll helt ud til venstre og helt ud højre for at fortsætte i undersøgelsen. `,\n na: 'Ingen af ovennævnte'\n },\n rb: {\n note: 'Vælg venligst kun 1 vare:'\n },\n vo: {\n note: 'Se venligst videoen til slut'\n },\n cb: {\n note: (min, max) => {\n if (1 === min && 5000 === max) {\n return 'Vælg venligst alle relevante:'\n } else if (min === max) {\n return `Vælg venligst ${min !== 1 ? 'any' : 'kun'} ${min} item${min !== 1 ? 's' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Vælg venligst mindst ${min} item${min !== 1 ? 's' : ''} men ikke mere end ${max}:`\n } else if (5000 === max && min > 0) {\n return `Vælg venligst mindst ${min} item${min !== 1 ? 's' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Vælg ikke mere end ${max} item${max !== 1 ? 's' : ''}:`\n } else {\n return 'Vælg venligst alle relevante:'\n }\n }\n },\n oe: {\n na: 'Ikke anvendelig',\n note: (min, max, optional) => {\n if (min === max) {\n return `Skriv venligst ${1 !== min ? 'any' : 'præcis'} ${min} tegn${1 !== min ? 's' : ''}${\n optional ? ' (valgfri)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Skriv venligst mindst ${min} tegn${1 !== min ? 's' : ''} men ikke mere end ${max}${\n optional ? ' (valgfri)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Skriv venligst mindst ${min} tegn${1 !== min ? 's' : ''}${optional ? ' (valgfrit)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Indtast ikke mere end ${max} tegn${1 !== min ? 's' : ''}${optional ? ' (valgfrit)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Udfyld venligst følgende felter:'\n },\n mx: {\n note: 'Flyt de markerede skydere for at fortsætte',\n dragSlider: 'Træk til venstre eller højre for at svare'\n },\n psc: {\n dragLeftRight: 'Træk til venstre eller højre for at svare'\n },\n ps: {\n note: (value, remaining) =>\n `Venligst fordel ${remaining ? 'resterende' : ''} ${value} mellem nedenstÃ¥ende elementer`,\n allDone: `Alt er klaret`,\n total: `Ð’Ñего:`,\n dragSlider: 'Arrastre hacia la izquierda o la derecha para responder'\n },\n cx: {\n note: 'Ã…bn dropbox og begynd at skrive dit svar for at autoscrolle eller vælg det manuelt'\n },\n ro: {\n note: 'Træk op eller ned for at ændre rækkefølgen:'\n },\n md: {\n note1: 'Klik/tryk venligst pÃ¥ det emne, du vælger først.<br/>Klik/tryk igen for at fjerne valget.',\n note2: 'Klik/tryk venligst nu pÃ¥ det emne, du sidst har valgt.<br/>Klik/tryk igen for at fjerne valget.',\n note3: 'Tak! Fortsæt til næste spørgsmÃ¥l, eller klik/tryk pÃ¥ et element, der ikke er valgt, for at starte forfra.'\n },\n aro: {\n note: 'Vælg venligst et element fra hvert par.'\n },\n wd: {\n note: 'Sørg for, at hver efterfølgende værdi er større end den foregÃ¥ende.'\n },\n emd: {\n note: 'Se venligst videoen til slut',\n noAnswers: 'Hvis du ikke har mulighed for at svare, skal du klikke pÃ¥ næste for at fortsætte.',\n start: 'Klik og hold nede for at starte',\n resume: 'Klik og hold nede for at genoptage',\n continue: 'Du er klar!<br /> Klik pÃ¥ Næste for at fortsætte',\n continueMobile: 'Du er klar!<br />Klik HER for at fortsætte',\n training: {\n session: 'Træningssession',\n note: 'Afslut venligst træningen',\n moveLeft: 'Træk drejeskiven helt til venstre',\n moveBottom: 'Træk drejeskiven helt ned til bunden',\n moveRight: 'Træk nu drejeskiven helt til højre',\n moveTop: 'Træk nu drejeskiven helt op til toppen',\n success: 'Godt arbejde!'\n }\n },\n sft: {\n noAnswers: 'Hvis du ikke har mulighed for at svare, skal du klikke pÃ¥ næste for at fortsætte.',\n note: 'Svar venligst sÃ¥ hurtigt som muligt med det svar, der intuitivt føles rigtigt',\n finish: 'Du er klar!<br />Klik HER for at fortsætte',\n training: {\n start:\n '<p>Dette spørgsmÃ¥l vil hurtigt vise dig forskellige ord og vil kræve din koncentration.' +\n 'Du skal reagere hurtigt for at besvare.</p> <p>Er du klar til at øve dig?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Tryk pÃ¥ \"{buttonLeft}\"`\n : (mouse ? `Klik \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Hit \"{keyBtnLeft}\" nøgle` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Tryk pÃ¥ \"{buttonRight}\"`\n : (mouse ? `Klik \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Hit \"{keyBtnRight}\" nøgle` : ''),\n fail: () => 'For langsom',\n success: () => 'Fantastisk!',\n finish: () =>\n '<p><strong>Fremragende!</strong></p><p>Sørg for, at du ikke vil blive distraheret i de næste 2-3 minutter</p><p>Klik pÃ¥ Næste for at starte, nÃ¥r du er klar</p>'\n },\n buttons: {\n start: 'Start',\n yesno: {\n left: 'Ja',\n right: 'Nej'\n },\n matches: {\n left: 'Match',\n right: 'Ikke et match'\n },\n fits: {\n left: 'Passer',\n right: 'Passer ikke'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Keine Antwortmöglichkeit, bitte klicken Sie auf ‚Weiter‘, um fortzufahren.',\n placeholder: 'Bitte erläutern Sie ...',\n pleaseSelect: 'Bitte auswählen Sie...',\n rotateLandscape: 'Bitte drehen Sie Ihr Handy von Hoch- in Querformat.',\n rotatePortrait: 'Bitte drehen Sie Ihr Handy von Quer- in Hochformat.',\n ir: {\n selectWebCam:\n 'Wählen Sie die Webcam aus (falls verfügbar) oder klicken Sie auf ‚Durchsuchen‘, um von Ihrem Gerät hochzuladen',\n noWebCam: 'Keine Webcam gefunden',\n accessCamUpload: 'ZUGRIFF KAMERA / UPLOAD',\n browse: 'DURCHSUCHEN',\n uploadPhoto: 'Laden Sie ein Foto hoch',\n instead: 'stattdessen',\n capture: 'ERFASSUNG',\n somethingWrong: 'Sorry, etwas ist schiefgelaufen. Bitte versuchen Sie es später erneut',\n couldntRead: 'Leider wir konnten den Code nicht lesen!',\n couldntProcess: 'Leider konnten wir Ihr Bild nicht bearbeiten!',\n moveOn: 'Bitte versuchen Sie es erneut oder reichen Sie Ihr Foto ein und machen Sie weiter',\n tryAgain: 'Bitte versuchen Sie es erneut',\n dataReceived: 'Daten erhalten!',\n enterManually: 'Bitte versuchen Sie es erneut oder geben Sie die Daten manuell ein',\n positionQR:\n 'Bitte positionieren Sie den QR-Code vor Ihrer Kamera, damit er in den roten Rahmen passt oder laden Sie ihn von Ihrem Computer hoch.',\n analyzing: 'Bild wird analysiert, bitte warten',\n submit: 'EINREICHEN',\n startOver: 'Von vorn anfangen',\n allDone: 'Fertig!',\n cantAnalyze:\n 'Achtung - wir konnten dieses Bild nicht rendern. Bitte versuchen Sie, es erneut hochzuladen oder wählen Sie ein üblicheres Bildformat (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Es tut uns leid - dieses Dateiformat wird von uns nicht unterstützt. Bitte laden Sie ein unterstütztes Bildformat hoch (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Keine Webcam gefunden',\n uploadVideo: 'Ein Video hochladen',\n skip: 'Ãœberspringen?',\n accessCamUpload: 'ZUGRIFF KAMERA / LADEN',\n browse: 'DURCHSUCHEN',\n instead: 'stattdessen',\n or: 'oder',\n stopRecording: 'Aufnahme anhalten',\n willBeStopped: 'Die Aufnahme stoppt nach 5 Minuten.',\n stopOnDone: 'Stoppen Sie die Aufnahme, wenn Sie fertig sind!',\n record: 'AUFZEICHNEN',\n somethingWrong: 'Sorry, etwas ist schiefgelaufen. Bitte versuchen Sie es später erneut',\n microphone: 'Mikrofon',\n camera: 'Webcam',\n selectMicrophone: 'Wählen Sie Ihr Mikrofon aus',\n selectCam: 'Wählen Sie Ihre Webcam aus',\n submit: 'EINREICHEN',\n upload: 'HOCHLADEN',\n playback: 'Abspielen',\n stopPlayback: 'STOPPEN',\n startOver: 'Von vorn anfangen',\n allDone: 'Fertig!',\n alternativeRecordSpan:\n 'Bitte laden Sie einen Videoclip von Ihrem Computer hoch.<br/>Alternativ können Sie ',\n alrenativeRecordHref: 'das Video auch mit einer Webcam aufnehmen.',\n cantAnalyze:\n 'Achtung - wir konnten dieses Video nicht rendern. Bitte versuchen Sie, es erneut hochzuladen oder wählen Sie ein üblicheres Videoformat (MP4, M4V, WEBPM)',\n wrongFormat:\n 'Es tut uns leid - dieses Dateiformat wird von uns nicht unterstützt. Bitte laden Sie ein unterstütztes Videoformat hoch (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'WÄHLEN',\n pleaseChoose: 'Bitte wählen',\n this: 'DIES',\n one: 'eins',\n myChoice: 'Meine AUSWAHL'\n },\n hm: {\n addComment: 'Bitte fügen Sie im Folgenden einen Kommentar hinzu',\n commentMandatoryPlaceHolder: 'Bitte fügen Sie den erforderlichen Kommentar hinzu ... ',\n commentOptionalPlaceHolder: 'Bitte fügen Sie ggf. einen Kommentar hinzu ... ',\n dragPin: 'Zur Repositionierung ziehen (für präzisen Pin-Einsatz anklicken/antippen und festhalten). ',\n removePin: 'Zum Löschen außerhalb des Bildes ziehen. ',\n editComment: 'Klicken/Tippen Sie auf den Pin, um den Kommentar zu bearbeiten. ',\n addPin:\n 'Bitte ziehen Sie den Pin vom nachstehenden Bedienfeld an eine Bildstelle Ihrer Wahl und setzen Sie ihn dort. ',\n addPins:\n 'Bitte ziehen Sie die Pins vom nachstehenden Bedienfeld an eine Bildstelle Ihrer Wahl und setzen Sie sie dort. ',\n leavePins: (minPoints, maxPoints) =>\n `Bitte setzen Sie mindestens ${minPoints}, aber nicht mehr als ${maxPoints} Pins pro Sorte. `,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `Bitte setzen Sie mindestens ${minPoints}, aber nicht mehr als ${maxPoints} Pins. `,\n leavePinsWithOff: maxPoints =>\n `Bitte setzen Sie nicht mehr als ${maxPoints} Pins pro Sorte oder klicken Sie zum Ãœberspringen auf „Weiter“. `,\n leavePinsPerPageWithOff: maxPoints =>\n `Bitte setzen Sie nicht mehr als ${maxPoints} Pins oder klicken Sie zum Ãœberspringen auf „Weiter“. `,\n leavePinWithOff:\n 'Bitte setzen Sie nicht mehr als 1 Pin pro Sorte oder klicken Sie zum Ãœberspringen auf „Weiter“.',\n leavePinPerPageWithOff: 'Bitte setzen Sie nicht mehr als 1 Pin oder klicken Sie zum Ãœberspringen auf „Weiter“. ',\n leaveExactlyPin: 'Bitte setzen Sie 1 Pin pro Sorte. ',\n leaveExactlyPinPerPage: 'Bitte setzen Sie 1 Pin. ',\n leaveExactlyPins: maxPoints => `Bitte setzen Sie ${maxPoints} Pins pro Sorte. `,\n leaveExactlyPinsPerPage: maxPoints => `Bitte setzen Sie ${maxPoints} Pins. `,\n leaveComment: 'Geben Sie unterhalb des Bilds Ihren Kommentar ein. ',\n noAnswers: 'Keine Antwortmöglichkeit. Bitte klicken Sie auf „Weiter“, um fortzufahren.',\n outOfPins: 'Sie haben keine Pins mehr',\n pinsBehavior:\n 'Wenn Sie über das Bild navigieren, sehen Sie Bereiche, die mit einer einzelnen Pin-Markierung hervorgehoben werden.',\n clusters: 'Sie können Pins nur in diesen hervorgehobenen Bereichen platzieren.',\n contentAware: 'Sie können Pins innerhalb oder außerhalb der hervorgehobenen Bereiche platzieren.'\n },\n mp: {\n expand_note: 'Zum Vergrößern bitte mit dem Mauszeiger über das/die Bild/er fahren oder darauf klicken',\n rb_note: rows => `Bitte wählen Sie nur 1 Antwort für jeden ${rows ? 'nachstehenden' : ''} Punkt auswählen:`,\n cb_note: (min, max, _rows) => {\n if (min === max) {\n return `Bitte wählen Sie ${min !== 1 ? 'beliebige' : 'nur'} ${min} Antwort${\n min !== 1 ? 'en' : ''\n } pro Punkt aus:`\n } else if (min > 0 && max < 5000) {\n return `Bitte wählen Sie mindestens ${min} Antwort${\n min !== 1 ? 'en' : ''\n } aus, aber nicht mehr als ${max} pro Punkt aus:`\n } else if (5000 === max && min > 0) {\n return `Bitte wählen Sie mindestens ${min} Antwort${min !== 1 ? 'en' : ''} pro Punkt aus:`\n } else if (0 === min && max < 5000) {\n return `Bitte wählen Sie nicht mehr als ${max} Antwort${max !== 1 ? 'en' : ''} pro Punkt aus:`\n } else {\n return 'Bitte alle Zutreffenden auswählen:'\n }\n }\n },\n sh: {\n note: 'Klicken Sie auf ein Produkt, um es zu vergrößern und zu Ihrem virtuellen Einkaufskorb hinzuzufügen, wenn Sie es im Geschäft kaufen würden',\n amazonNote: 'Klicken Sie ein Produkt an, um es zu vergrößern und in Ihren virtuellen Warenkorb zu legen.',\n fullCart: 'Ihr Einkaufskorb ist voll!',\n qty: 'MGE',\n each: 'jede',\n items: 'artikel',\n next: 'WEITER',\n addToCart: 'ZUM EINKAUFSKORB HINZUFÃœGEN',\n deleteFromCart: 'LÖSCHEN',\n emptyCard: 'Ihr Einkaufskorb ist leer',\n total: 'Einkaufskorb',\n clearCart: 'Einkaufskorb leeren',\n backToStore: 'Zurück zum Geschäft',\n na: 'Keine der obigen',\n maxCartCountError: max => `Bitte legen Sie nicht mehr als ${max} Produkte in Ihren Warenkorb`,\n scrollError: `Scrollen Sie bitte ganz nach links und rechts, um mit der Umfrage fortzufahren. `,\n maxSpentError: max => `Bitte geben Sie nicht mehr als ${max} aus.`,\n maxProductCountError: max =>\n `Bitte legen Sie für jedes Produkt nicht mehr als die Menge ${max} in Ihren Warenkorb.`\n },\n rb: {\n note: 'Bitte wählen Sie nur 1 Punkt:'\n },\n vo: {\n note: 'Bitte schauen Sie sich das Video bis zum Ende an'\n },\n cb: {\n note: (min, max) => {\n if (1 === min && 5000 === max) {\n return 'Bitte alle Zutreffenden auswählen:'\n } else if (min === max) {\n return `Bitte wählen Sie ${min !== 1 ? 'any' : 'nur'} ${min} Punkt${min !== 1 ? 'e' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Bitte wählen Sie mindestens ${min} Punkt${min !== 1 ? 'e' : ''} aus, aber nicht mehr als ${max}:`\n } else if (5000 === max && min > 0) {\n return `Bitte wählen Sie mindestens ${min} Punkt${min !== 1 ? 'e' : ''} aus:`\n } else if (0 === min && max < 5000) {\n return `Bitte wählen Sie nicht mehr als ${max} Punkt${max !== 1 ? 'e' : ''}:`\n } else {\n return 'Bitte alle Zutreffenden auswählen:'\n }\n }\n },\n oe: {\n na: 'Unzutreffend',\n note: (min, max, optional) => {\n if (min === max) {\n return `Bitte geben Sie ${1 !== min ? 'beliebiges' : 'genau'} ${min} Zeichen${optional ? ' (optional)' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Bitte geben Sie mindestens ${min} Zeichen ein, aber nicht mehr als ${max}${\n optional ? ' (optional)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Bitte geben Sie mindestens ${min} Zeichen ${optional ? ' ein (optional)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Bitte geben Sie nicht mehr als ${max} Zeichen ${optional ? ' ein (optional)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Bitte füllen Sie die folgenden Felder aus:'\n },\n mx: {\n note: 'Bitte verschieben Sie die markierten Schieberegler, um fortzufahren',\n dragSlider: 'Zum Beantworten nach links oder rechts ziehen'\n },\n psc: {\n dragLeftRight: 'Zum Beantworten nach links oder rechts ziehen'\n },\n ps: {\n note: value => `Bitte verteilen Sie die verbleibenden ${value} auf die unten gezeigten Möglichkeiten`,\n allDone: 'Fertig!',\n total: `Gesamt:`,\n dragSlider: 'Zum Beantworten nach links oder rechts ziehen'\n },\n cx: {\n note: 'Bitte tragen Sie Ihren Antwort ein, um die automatische Bildlauffunktion zu aktiveren oder wählen Sie sie manuell aus.'\n },\n ro: {\n note: 'Zur Neueinordnung nach oben oder unten ziehen:'\n },\n md: {\n note1:\n 'Bitte klicken/tippen Sie auf das Element, das Ihnen am meisten zusagt<br/>Bei erneutem Anklicken/Antippen wird dieses gelöscht.',\n note2:\n 'Bitte klicken/tippen Sie jetzt auf das Element, das Ihnen am wenigsten zusagt<br/>Bei erneutem Anklicken/Antippen wird dieses gelöscht.',\n note3:\n 'Vielen Dank! Gehen Sie zur nächsten Frage über oder klicken/tippen<br/>Sie auf ein beliebiges, noch nicht ausgewähltes Element, um neu zu beginnen.'\n },\n aro: {\n note: 'Bitte wählen Sie für jedes Paar einen Artikel.'\n },\n wd: {\n note: 'Bitte achten Sie darauf, dass jeder folgende Wert größer ist als der vorherige.'\n },\n emd: {\n note: 'Bitte schauen Sie sich das Video bis zum Ende an',\n noAnswers: 'Keine Antwortmöglichkeit, bitte klicken Sie auf ‚Weiter‘, um fortzufahren.',\n start: 'Zum Starten klicken und halten',\n resume: 'Zum Fortsetzen klicken und gedrückt halten',\n continue: 'Sie sind bereit! <br /> Klicken Sie auf <strong>Weiter</strong>, um fortzufahren',\n continueMobile: 'Sie sind bereit! <br /> Zum Fortfahren HIER klicken',\n training: {\n session: 'Trainingssitzung',\n note: 'Bitte schließen Sie das Training ab',\n moveLeft: 'Bitte ziehen Sie das Rad ganz nach links',\n moveBottom: 'Bitte ziehen Sie das Rad nach ganz unten',\n moveRight: 'Bitte ziehen Sie jetzt das Rad ganz nach rechts',\n moveTop: 'Bitte ziehen Sie jetzt das Rad ganz nach oben',\n success: 'Gut gemacht!'\n }\n },\n sft: {\n noAnswers: 'Keine Antwortmöglichkeit, bitte klicken Sie auf ‚Weiter‘, um fortzufahren.',\n note: 'Bitte antworten Sie so schnell wie möglich mit der Antwort, die sich intuitiv richtig anfühlt',\n finish: 'Sie sind bereit! <br /> Bitte klicken Sie auf Weiter, um fortzufahren',\n training: {\n start:\n '<p>Bei dieser Frage werden Ihnen schnell verschiedene Wörter angezeigt und Ihre Konzentration ist gefragt. ' +\n 'Sie müssen beim Antworten schnell reagieren.</p> <p>Bereit zum Trainieren?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Tippen Sie auf \"{buttonLeft}\"`\n : (mouse ? `Klicken Sie auf \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Drücken Sie die \"{keyBtnLeft}\"-Taste` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Tippen Sie auf \"{buttonRight}\"`\n : (mouse ? `Klicken Sie auf \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Drücken Sie die \"{keyBtnRight}\"-Taste` : ''),\n fail: () => 'Zu langsam',\n success: () => 'Toll!',\n finish: () =>\n '<p><strong> Ausgezeichnet!</strong></p><p> Bitte stellen Sie sicher, <br />' +\n ' dass Sie in den nächsten <br/> 2-3 Minuten nicht abgelenkt werden. </p><p>Klicken Sie auf Weiter, um zu starten, wenn Sie bereit sind. </p>'\n },\n buttons: {\n start: 'Start',\n yesno: {\n left: 'Ja',\n right: 'Nein'\n },\n matches: {\n left: 'Match',\n right: 'Kein Match'\n },\n fits: {\n left: 'Passend',\n right: 'Nicht passend'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n global: {\n nth: (() => {\n const below20 = [\n 'Zeroth',\n 'First',\n 'Second',\n 'Third',\n 'Fourth',\n 'Fifth',\n 'Sixth',\n 'Seventh',\n 'Eighth',\n 'Ninth',\n 'Tenth',\n 'Eleventh',\n 'Twelfth',\n 'Thirteenth',\n 'Fourteenth',\n 'Fifteenth',\n 'Sixteenth',\n 'Seventeenth',\n 'Eighteenth',\n 'Nineteenth'\n ]\n const decaPrefix = ['Twent', 'Thirt', 'Fort', 'Fift', 'Sixt', 'Sevent', 'Eight', 'Ninet']\n return number =>\n 20 > number\n ? below20[number]\n : 0 == number % 10 && 100 > number\n ? `${decaPrefix[number / 10 - 2]}ieth`\n : 100 > number\n ? `${decaPrefix[Math.floor(number / 10) - 2]}y ${below20[number % 10]}`\n : 100 == number\n ? 'Hundredth'\n : 'Another'\n })()\n },\n questions: {\n noAnswers: 'No answer option, please click next to continue.',\n placeholder: 'Please specify...',\n pleaseSelect: 'Please select...',\n rotateLandscape: 'Please rotate your phone from portrait to landscape to continue.',\n rotatePortrait: 'Please rotate your phone from landscape to portrait to continue.',\n cn: {\n placeholder: 'Start typing or click the mic icon to speak'\n },\n ir: {\n selectWebCam: \"Select webcam (if available) or click 'Browse' to upload from your device\",\n uploadOnly: \"Click 'Browse' to upload from your device\",\n noWebCam: 'No webcam detected',\n selectFile: 'Please select a file',\n uploadFile: 'PLEASE, UPLOAD THE FILE',\n accessCamUpload: 'ACCESS CAMERA/UPLOAD',\n browse: 'BROWSE',\n uploadPhoto: 'Upload a photo',\n camera: 'Web Camera',\n instead: 'instead',\n capture: 'CAPTURE',\n somethingWrong: 'Sorry, something went wrong. Please, try again.',\n couldntRead: \"Sorry, we couldn't read the code!\",\n couldntProcess: \"Sorry, we couldn't process your image!\",\n inValidCode: 'Please, submit the valid code',\n moveOn: 'Please try again or submit your photo and move on',\n tryAgain: 'Please try again',\n dataReceived: 'Data received!',\n enterManually: 'Please try again or enter the data manually below',\n positionQR:\n 'Please position the QR code in front of your camera to fit it into the red frame or upload it from your computer.',\n uploadQR: 'Upload the QR code from your computer',\n uploadQRMobile: 'Upload the QR code from your device',\n positionQRMobile: 'Please position the QR code in front of your camera or upload it from your device.',\n analyzing: 'Analyzing image, please wait',\n submit: 'SUBMIT',\n startOver: 'START OVER',\n allDone: 'ALL DONE!',\n cantAnalyze:\n \"Attention - we couldn't render this image. Please try resubmitting it or choose a more generic image format (JPG, PNG, GIF, BMP)\",\n wrongFormat:\n \"We're sorry - we don't support this file format. Please upload a supported image type (JPG, PNG, GIF, BMP, TIF, PDF, SVG)\"\n },\n vr: {\n noWebCam: 'No webcam detected',\n uploadVideo: 'Upload a video',\n skip: 'Skip?',\n accessCamUpload: 'ACCESS CAMERA/UPLOAD',\n browse: 'BROWSE',\n instead: 'instead',\n or: 'or',\n stopRecording: 'Stop recording',\n willBeStopped: 'Recording will stop at <b>5 minutes</b>',\n stopOnDone: \"Stop recording when you're done!\",\n record: 'RECORD',\n somethingWrong: 'Sorry, something went wrong. Please, try again.',\n dataReceived: 'Data received!',\n microphone: 'Microphone',\n camera: 'Web Camera',\n selectMicrophone: 'Select your microphone',\n selectCam: 'Select your web camera',\n submit: 'SUBMIT',\n upload: 'UPLOAD',\n playback: 'PLAYBACK',\n stopPlayback: 'STOP PLAYBACK',\n startOver: 'START OVER',\n allDone: 'ALL DONE!',\n alternativeRecordSpan: 'Please, upload a video-clip from your computer-device.<br/>Alternatively, you can ',\n alrenativeRecordHref: 'record the video with a webcam',\n cantAnalyze:\n \"Attention - we couldn't render this video. Please try resubmitting it or choose a more generic video format (MP4, M4V, WEBPM)\",\n wrongFormat:\n \"We're sorry - we don't support this file format. Please upload a supported video type (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)\"\n },\n cjc: {\n choose: 'CHOOSE',\n pleaseChoose: 'Please choose',\n this: 'THIS',\n one: 'one',\n myChoice: 'MY CHOICE'\n },\n hm: {\n addComment: 'Please add a comment below',\n commentMandatoryPlaceHolder: 'Please, add mandatory comment... ',\n commentOptionalPlaceHolder: 'Please, add optional comment... ',\n dragPin: 'Drag to reposition (long click/tap for precision pinning). ',\n removePin: 'Drag outside of the image to delete. ',\n editComment: 'Click/tap pin to edit comment. ',\n addPin: 'Please drag the pin from the panel below and drop it at a spot of your choice on the image.',\n addPins: 'Please drag the pins from the panel below and drop them at a spot of your choice on the image. ',\n leavePins: (minPoints, maxPoints) =>\n `Please leave at least ${minPoints} but no more than ${maxPoints} pins of every kind.`,\n leavePinsAny: (minPoints, maxPoints) =>\n `Please leave at least ${minPoints} but no more than ${maxPoints} pins of any kind. `,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `Please leave at least ${minPoints} but no more than ${maxPoints} pins. `,\n leavePinsWithOff: maxPoints =>\n `Please leave no more than ${maxPoints} pins of every kind or click Next to skip. `,\n leavePinsWithOffAny: maxPoints =>\n `Please leave no more than ${maxPoints} pins of any kind or click Next to skip. `,\n leavePinsPerPageWithOff: maxPoints => `Please leave no more than ${maxPoints} pins or click Next to skip. `,\n leavePinWithOff: `Please leave no more than 1 pin of every kind or click Next to skip. `,\n leavePinWithOffAny: `Please leave no more than 1 pin of any kind or click Next to skip. `,\n leavePinPerPageWithOff: 'Please leave no more than 1 pin or click Next to skip. ',\n leaveExactlyPin: `Please leave 1 pin of every kind. `,\n leaveExactlyPinAny: `Please leave 1 pin of any kind. `,\n leaveExactlyPinPerPage: 'Please leave 1 pin. ',\n leaveExactlyPins: maxPoints => `Please leave ${maxPoints} pins of every kind. `,\n leaveExactlyPinsAny: maxPoints => `Please leave ${maxPoints} pins of any kind. `,\n leaveExactlyPinsPerPage: maxPoints => `Please leave ${maxPoints} pins. `,\n leaveComment: 'Type below the image to leave comment. ',\n noAnswers: 'No answer option, please click next to continue',\n outOfPins: 'you are out of pins',\n pinsBehavior: 'As you move across the image you’ll see areas that will be highlighted with a single pin drop.',\n clusters: 'You’ll only be able to place pins in these highlighted areas.',\n contentAware: 'You can drop pins inside or outside of the highlighted areas.'\n },\n mp: {\n expand_note: 'Please hover over or click on image(s) to expand',\n rb_note: rows => `Please select only 1 response per item${rows ? ' below' : ''}:`,\n cb_note: (min, max, rows) => {\n if (min === max) {\n return `Please select ${min !== 1 ? 'any' : 'only'} ${min} response${min !== 1 ? 's' : ''} per item${\n rows ? ' below' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Please select at least ${min} response${min !== 1 ? 's' : ''} but no more than ${max} per item${\n rows ? ' below' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Please select at least ${min} response${min !== 1 ? 's' : ''} per item${rows ? ' below' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Please select no more than ${max} response${max !== 1 ? 's' : ''} per item${rows ? ' below' : ''}:`\n } else {\n return 'Check all that apply:'\n }\n }\n },\n sh: {\n note: \"Click a product to zoom in and add to your virtual cart if you'd buy it in the store\",\n amazonNote: 'Click on a product to zoom in or add multiples of a product to your cart',\n fullCart: 'Your cart is full!',\n qty: 'QTY',\n addToCart: 'ADD TO CART',\n deleteFromCart: 'Delete',\n each: 'each',\n items: 'items',\n emptyCard: 'Your cart is empty',\n total: 'Cart',\n clearCart: 'Clear Cart',\n backToStore: 'Back To Store',\n na: 'None of the above',\n closedFullscreenLabel: 'LAUNCH FULLSCREEN SHELF TEST',\n next: 'NEXT',\n researcherWarning: 'Researcher mode warning: ',\n xraysWarning: 'Ghost mode warning: ',\n shelfError_out_of_shelves:\n 'Too many products, the width of the products exceeds the maximum allowed. Try to enable full-screen mode or reduce the number of products to increase the width.',\n shelfError_too_much_products:\n 'Too many products, the width of the products exceeds the maximum allowed. Try to enable full-screen mode or reduce the number of products to increase the width.',\n shelfError_out_of_shelves_fullscreen:\n 'Too many products, the width of products exceeds the maximum allowed. Scale products down or reduce the number of products.',\n shelfError_too_much_products_fullscreen:\n 'Too many products, the width of products exceeds the maximum allowed. Scale products down or reduce the number of products.',\n shelfError_longWidget:\n 'To many shelves blocks. Try to enable full-screen mode or reduce the number of products to increase the width.',\n shelfError_too_much_shelves: 'Too much shelves',\n emptyCartError: min => `Please add to cart at least ${min} product${min !== 1 ? 's' : ''}. `,\n maxCartCountError: max => `Please add no more than ${max} products to your cart. `,\n maxSpentError: max => `Please spend no more than ${max}. `,\n scrollError: `Please scroll fully left and right to proceed in the survey. `,\n maxProductCountError: max => `Please add no more than a quantity of ${max} to your cart for each product. `,\n application: {\n iosText:\n '<h>The next section involves a virtual shopping exercise that can be experienced in augmented reality (AR).</h><br/><br/>' +\n 'If you are in a stable environment with enough room, and an unobstructed wall you can walk along and shop virtually without distraction, please download the app and check if your smartphone supports AR.<br/><br/>' +\n 'Otherwise, you may continue taking<br/>' +\n 'this exercise in your browser. ',\n androidText:\n '<h>The next section involves a virtual shopping exercise that can be experienced in augmented reality (AR).</h><br/><br/>' +\n 'If you are in a stable environment with enough room, and an unobstructed wall you can walk along and shop virtually without distraction, please download the app and check if your smartphone supports AR.<br/><br/>' +\n 'Otherwise, you may continue taking<br/>' +\n 'this exercise in your browser. ',\n buttonYes: 'GO TO AR APP',\n buttonNo: 'CONTINUE WITHOUT AR'\n }\n },\n rb: {\n note: 'Please select only 1 item:'\n },\n vo: {\n note: 'Please watch the video till the end'\n },\n cb: {\n note: (min, max) => {\n if (1 === min && 5000 === max) {\n return 'Please select all that apply:'\n } else if (min === max) {\n return `Please select ${min !== 1 ? 'any' : 'only'} ${min} item${min !== 1 ? 's' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Please select at least ${min} item${min !== 1 ? 's' : ''} but no more than ${max}:`\n } else if (5000 === max && min > 0) {\n return `Please select at least ${min} item${min !== 1 ? 's' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Please select no more than ${max} item${max !== 1 ? 's' : ''}:`\n } else {\n return 'Please select all that apply:'\n }\n }\n },\n oe: {\n na: 'Not applicable',\n note: (min, max, optional) => {\n if (min === max) {\n return `Please type ${1 !== min ? 'any' : 'exactly'} ${min} character${1 !== min ? 's' : ''}${\n optional ? ' (optional)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Please type at least ${min} character${1 !== min ? 's' : ''} but no more than ${max}${\n optional ? ' (optional)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Please type at least ${min} character${1 !== min ? 's' : ''}${optional ? ' (optional)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Please type no more than ${max} character${1 !== min ? 's' : ''}${optional ? ' (optional)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Please fill in the following fields:'\n },\n mx: {\n note: 'Please move the highlighted sliders to continue',\n dragSlider: 'Drag left or right to answer'\n },\n psc: {\n dragLeftRight: 'Drag left or right to answer'\n },\n ps: {\n note: (value, remaining) => `Please distribute ${remaining ? 'remaining' : ''} ${value} between the items below`,\n allDone: `All done`,\n total: `Total:`,\n dragSlider: 'Drag left or right to answer'\n },\n cx: {\n note: 'Open the drop-down menu and start typing your answer to autoscroll or select it manually'\n },\n ro: {\n note: 'Drag up or down to reorder:'\n },\n md: {\n note1: 'Please click/tap the item of your <b>first choice</b>.<br/>Click/tap again to clear the choice.',\n note2: 'Now please click/tap the item of your <b>last choice</b>.<br/>Click/tap again to clear the choice.',\n note3: 'Thanks! Continue to the next question<br/>or click any unselected item to start over.'\n },\n aro: {\n note: 'Please choose one item from each pair:'\n },\n wd: {\n note: 'Make sure that each subsequent value is greater than the previous one.'\n },\n emd: {\n note: 'Please watch the video till the end\\n',\n noAnswers: 'No answer option, please click next to continue.',\n start: 'Click and hold to start',\n resume: 'Click and hold to resume',\n continue: \"You're ready! <br />Click <strong>Next</strong> to continue\",\n continueMobile: \"You're ready! <br />Click <strong>here</strong> to continue\",\n training: {\n session: 'training session',\n note: 'Please finish training',\n moveLeft: 'Please drag the dial all the way to the <strong>left</strong>',\n moveBottom: 'Please drag the dial all the way to the <strong>bottom</strong>',\n moveRight: 'Now, please drag the dial all the way to the <strong>right</strong>',\n moveTop: 'Now, please drag the dial all the way to the <strong>top</strong>',\n success: 'Great job!'\n },\n tap: `tap anywhere <br /> to unmute`\n },\n sft: {\n noAnswers: 'No answer option, please click next to continue',\n note: 'Please answer as quickly as you can with the answer that intuitively feels right',\n imageError: 'No image exposure time chosen',\n finish: 'You are all done! <br /> Please click Next to continue',\n training: {\n start:\n '<p>This question will rapidly show you different words and will require your concentration. ' +\n 'You'll need to react quickly to answer.</p> <p>Ready to practice?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Tap \"{buttonLeft}\"`\n : (mouse ? `Click \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Hit \"{keyBtnLeft}\" key` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Tap \"{buttonRight}\"`\n : (mouse ? `Click \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Hit \"{keyBtnRight}\" key` : ''),\n fail: () => 'Too slow',\n success: () => 'Great!',\n finish: () =>\n '<p><strong> Excellent!</strong></p><p>Please make sure you are not<br />' +\n 'going to be distracted in the<br/> next 2-3 minutes</p><p>Click Next to start when ready.</p>'\n },\n buttons: {\n start: 'Start',\n yesno: {\n left: 'Yes',\n right: 'No'\n },\n matches: {\n left: 'Match',\n right: 'Not Match'\n },\n fits: {\n left: 'Fit',\n right: 'Not Fit'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n },\n noyes: {\n left: 'Yes',\n right: 'No'\n },\n matchesRev: {\n left: 'Match',\n right: 'Not Match'\n },\n fitsRev: {\n left: 'Fit',\n right: 'Not Fit'\n },\n thumbsRev: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Ei vastausvaihtoehtoa, jatka napsauttamalla Seuraava...',\n placeholder: 'Tarkenna...',\n pleaseSelect: 'Valitse...',\n rotateLandscape: 'Käännä puhelin vaaka-asentoon jatkaaksesi.',\n rotatePortrait: 'Käännä puhelin vaaka-asennosta pystyasentoon jatkaaksesi.',\n ir: {\n selectWebCam: \"Valitse web-kamera (jos saatavilla) tai napsauta 'Selaa' ladataksesi kuvan laitteestasi\",\n uploadOnly: 'Napsauta Selaa ladataksesi kuvan laitteestasi',\n noWebCam: 'Web-kameraa ei havaittu',\n accessCamUpload: 'AVAA KAMERA/LATAA',\n browse: 'SELAA',\n uploadPhoto: 'Lataa valokuva',\n camera: 'Web-kamera',\n instead: 'sen sijaan',\n capture: 'TALLENNA',\n somethingWrong: 'Pahoittelut, jotain meni pieleen. Yritä uudelleen.',\n couldntRead: 'Valitettavasti emme voineet lukea koodia!',\n couldntProcess: 'Valitettavasti emme voineet käsitellä kuvaasi!',\n inValidCode: 'Ole hyvä ja lähetä kelvollinen koodi',\n moveOn: 'Yritä uudelleen tai lähetä valokuvasi ja siirry eteenpäin',\n tryAgain: 'Yritä uudelleen',\n dataReceived: 'Tiedot vastaanotettu!',\n enterManually: 'Yritä uudelleen tai syötä tiedot manuaalisesti alle',\n positionQR:\n 'Aseta QR-koodi kamerasi eteen niin, että se istuu punaiseen kehykseen, tai lataa se tietokoneeltasi.',\n uploadQR: 'Lataa QR-koodi tietokoneeltasi',\n uploadQRMobile: 'Lataa QR-koodi laitteeltasi.',\n positionQRMobile:\n 'Aseta QR-koodi kamerasi eteen niin, että se istuu punaiseen kehykseen, tai lataa se tietokoneeltasi.',\n analyzing: 'Analysoidaan kuvaa, odota',\n submit: 'LÄHETÄ',\n startOver: 'Aloitta alusta',\n allDone: 'Valmis!',\n cantAnalyze:\n 'Huomio – emme voineet renderoida tätä kuvaa. Yritä lähettää se uudelleen tai valitse yleisempi kuvamuoto (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Valitettavasti emme tue tätä tiedostomuotoa. Lataa tuettu kuvatyyppi (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Web-kameraa ei havaittu',\n uploadVideo: 'Lataa video',\n skip: 'Ohita?',\n accessCamUpload: 'AVAA KAMERA/LATAA',\n browse: 'SELAA',\n instead: 'sen sijaan',\n or: 'tai',\n stopRecording: 'Lopeta tallennus',\n willBeStopped: 'Tallennus pysähtyy <b>5 minuutin</b> kohdalla',\n stopOnDone: 'Lopeta tallennus, kun olet valmis! ',\n record: 'TALLENNA',\n somethingWrong: 'Pahoittelut, jotain meni pieleen. Yritä uudelleen.',\n dataReceived: 'Tiedot vastaanotettu!',\n microphone: 'Valitse mikrofonisi',\n camera: 'Valitse web-kamerasi',\n selectMicrophone: 'Valitse mikrofonisi',\n selectCam: 'Valitse web-kamerasi',\n submit: 'LÄHETÄ',\n upload: 'LATAA',\n playback: 'Toisto',\n stopPlayback: 'PYSÄYTÄ TOISTO',\n startOver: 'Aloitta alusta',\n allDone: 'Valmis!',\n alternativeRecordSpan: 'Ole hyvä ja lataa videoleike tietokonelaitteeltasi. <br/>Vaihtoehtoisesti voit ',\n alrenativeRecordHref: 'tallentaa videon web-kameralla.',\n cantAnalyze:\n 'Huomio – emme voineet renderoida tätä kuvaa. Yritä lähettää se uudelleen tai valitse yleisempi kuvamuoto (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Valitettavasti emme tue tätä tiedostomuotoa. Lataa tuettu kuvatyyppi (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n cjc: {\n choose: 'VALITSE',\n pleaseChoose: 'Valitse',\n this: 'TÄMÄ',\n one: 'yksi',\n myChoice: 'MINUN VALINTANI'\n },\n hm: {\n addComment: 'Lisää kommentti alle',\n commentMandatoryPlaceHolder: 'Lisää pakollinen kommentti... ',\n commentOptionalPlaceHolder: 'Lisää valinnainen kommentti... ',\n dragPin: 'Vedä sijoittaaksesi uudelleen (pitkä klikkaus/napautus tarkkuutta varten). ',\n removePin: 'Vedä kuvan ulkopuolelle poistaaksesi. ',\n editComment: 'Klikkaa/napauta merkkiä muokataksesi kommenttia. ',\n addPin: 'Vedä merkki alla olevasta paneelista ja pudota se haluamaasi kohtaan kuvassa.',\n addPins: 'Vedä merkit alla olevasta paneelista ja pudota ne haluamaasi kohtaan kuvassa. ',\n leavePins: (minPoints, maxPoints) =>\n `Jätä vähintään ${minPoints} mutta enintään ${maxPoints} minkälaista merkkiä tahansa. `,\n leavePinsAny: (minPoints, maxPoints) =>\n `Jätä vähintään ${minPoints} mutta enintään ${maxPoints} minkälaista merkkiä tahansa.`,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `Jätä vähintään ${minPoints} mutta enintään ${maxPoints} minkälaista merkkiä tahansa.`,\n leavePinsWithOff: maxPoints =>\n `Jätä korkeintaan ${maxPoints} minkälaista tahansa merkkiä tai napsauta Seuraava ohittaaksesi. `,\n leavePinsWithOffAny: maxPoints =>\n `Jätä korkeintaan ${maxPoints} minkälaista tahansa merkkiä tai napsauta Seuraava ohittaaksesi.`,\n leavePinsPerPageWithOff: maxPoints =>\n `Jätä korkeintaan ${maxPoints} merkkiä tai napsauta Seuraava ohittaaksesi. `,\n leavePinWithOff: `Jätä korkeintaan 1 minkälainen tahansa merkki tai napsauta Seuraava ohittaaksesi. `,\n leavePinWithOffAny: `Jätä korkeintaan 1 minkälainen tahansa laista merkkiä tai napsauta Seuraava ohittaaksesi.`,\n leavePinPerPageWithOff: 'Jätä korkeintaan 1 merkkiä tai napsauta Seuraava ohittaaksesi..',\n leaveExactlyPin: `Jätä 1 minkälaista tahansa merkkiä. `,\n leaveExactlyPinAny: `Jätä 1 minkälainen tahansa merkki. `,\n leaveExactlyPinPerPage: 'Jätä 1 merkki. ',\n leaveExactlyPins: maxPoints => `Jätä ${maxPoints} minkälaista tahansa merkkiä. `,\n leaveExactlyPinsAny: maxPoints => `Jätä ${maxPoints} minkälaista tahansa merkkiä. `,\n leaveExactlyPinsPerPage: maxPoints => `Jätä ${maxPoints} merkkiä.`,\n leaveComment: 'Kirjoita kuvan alle jättääksesi kommentin.',\n noAnswers: 'Ei vastausvaihtoehtoa, jatka napsauttamalla Seuraava.',\n outOfPins: 'Merkkisi ovat loppu',\n pinsBehavior: 'Kun liikut kuvan poikki, näet alueita, jotka korostetaan yhdellä merkin pudotuksella.',\n clusters: 'Voit asettaa merkkejä vain näille korostetuille alueille.',\n contentAware: 'Voit pudottaa merkkejä korostettujen alueiden sisään tai ulkopuolelle.'\n },\n mp: {\n expand_note: 'Laajenna viemällä hiiren osoitin kuvien päälle tai napsauttamalla niitä',\n rb_note: rows => `Valitse${rows ? ' alta' : ''} vain 1 vastaus per kohde:`,\n cb_note: (min, max, rows) => {\n if (min === max) {\n return `Valitse ${rows ? 'alta' : ''} ${min !== 1 ? 'mikä tahansa' : 'vain'} ${min} vastaus${\n min !== 1 ? 'ta' : ''\n } per kohde:`\n } else if (min > 0 && max < 5000) {\n return `Valitse vähintään ${min} vastaus${min !== 1 ? 'ta' : ''} mutta enintään ${max} vastausta ${\n rows ? 'alla' : ''\n } oleviin kohtiin:`\n } else if (5000 === max && min > 0) {\n return `Valitse vähintään ${min} vastaus${min !== 1 ? 'ta' : ''}${rows ? 'alla' : ''} oleviin kohtiin:`\n } else if (0 === min && max < 5000) {\n return `Valitse enintään ${max} vastaus${max !== 1 ? 'ta' : ''}${rows ? 'alla' : ''} oleviin kohtiin:`\n } else {\n return 'Valitse kaikki sopivat:'\n }\n }\n },\n sh: {\n note: 'Napsauta tuotetta zoomataksesi ja lisätäksesi sen virtuaalikoriisi, jos ostaisit sen kaupasta',\n amazonNote: 'Napsauta tuotetta zoomataksesi ja lisätäksesi sen virtuaalikoriisi',\n fullCart: 'Ostoskorisi on täynnä!',\n qty: 'KPL',\n each: 'jokainen',\n items: 'kohteita',\n addToCart: 'LISÄÄ OSTOSKORIIN',\n deleteFromCart: 'POISTA',\n emptyCard: 'Ostoskorisi on tyhjä',\n total: 'Ostoskori',\n clearCart: 'Tyhjennä ostoskori',\n backToStore: 'Takaisin kauppaan',\n na: 'Ei mikään ylläolevista',\n scrollError: `Ole hyvä ja vieritä kokonaan vasemmalle ja oikealle jatkaaksesi kyselyssä. `,\n next: 'SEURAAVA'\n },\n rb: {\n note: 'Valitse vain 1 kohde:'\n },\n vo: {\n note: 'Katso video loppuun asti'\n },\n cb: {\n note: (min, max) => {\n if (1 === min && 5000 === max) {\n return 'Valitse kaikki sopivat:'\n } else if (min === max) {\n return `Valitse ${min !== 1 ? 'mikä tahansa' : 'vain'} ${min} kohde${min !== 1 ? 'tta' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Valitse vähintään ${min} kohde${min !== 1 ? 'tta' : ''} mutta enintään ${max} riviä kohden:`\n } else if (5000 === max && min > 0) {\n return `Valitse vähintään ${min} kohde${min !== 1 ? 'tta' : ''}`\n } else if (0 === min && max < 5000) {\n return `Valitse enintään ${max} kohde${max !== 1 ? 'tta' : ''}:`\n } else {\n return 'Valitse kaikki sopivat:'\n }\n }\n },\n oe: {\n na: 'Ei sovellettavissa',\n note: (min, max, optional) => {\n if (min === max) {\n return `Kirjoita ${1 !== min ? 'mikä tahansa' : 'tasan'} ${min} merkki${1 !== min ? 'ä' : ''}${\n optional ? ' (valinnainen)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Kirjoita vähintään ${min} merkki${1 !== min ? 's' : ''} mutta enintään ${max}${\n optional ? ' (valinnainen)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Kirjoita vähintään ${min} merkki${1 !== min ? 'ä' : ''}${optional ? ' (valinnainen)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Kirjoita enintään ${max} merkki${1 !== min ? 'ä' : ''}${optional ? ' (valinnainen)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Täytä seuraavat kentät:'\n },\n mx: {\n note: 'Jatka siirtämällä korostettuja liukusäätimiä',\n dragSlider: 'Vastaa vetämällä vasemmalle tai oikealle'\n },\n psc: {\n dragLeftRight: 'Vastaa vetämällä vasemmalle tai oikealle'\n },\n ps: {\n note: (value, remaining) => `Jaa ${remaining ? 'loput' : ''} ${value} alla olevien kohteiden kesken`,\n allDone: `Valmis`,\n total: `kaikki yhteensä:`,\n dragSlider: 'Vastaa vetämällä vasemmalle tai oikealle'\n },\n cx: {\n note: 'Avaa pudotusvalikko ja ala kirjoittaa vastausta automaattista selausta varten tai valitse se manuaalisesti'\n },\n ro: {\n note: 'Järjestä uudelleen vetämällä ylös tai alas:'\n },\n md: {\n note1: 'Napsauta/napauta ensimmäistä valitsemaasi kohdetta. <br/> Napsauta uudelleen poistaaksesi valinnan.',\n note2: 'Napsauta/napauta nyt viimeistä valitsemaasi kohdetta. <br/>Napsauta uudelleen poistaaksesi valinnan.',\n note3:\n 'Kiitos! Jatka seuraavaan kysymykseen<br/>tai napsauta/napauta mitä tahansa valitsematonta kohdetta aloittaaksesi alusta.'\n },\n aro: {\n note: 'Valitse yksi kohde jokaisesta parista:'\n },\n wd: {\n note: 'Varmista, että jokainen seuraava arvo on suurempi kuin edellinen.'\n },\n emd: {\n note: 'Katso video loppuun asti\\n',\n noAnswers: 'Ei vastausvaihtoehtoa, jatka napsauttamalla Seuraava.',\n start: 'Napsauta ja pidä painettuna aloittaaksesi',\n resume: 'Napsauta ja pidä painettuna jatkaaksesi',\n continue: 'Olet valmis! <br />Napsauta <strong>SEURAAVA</strong> jatkaaksesi',\n continueMobile: 'Olet valmis!<br />Napsauta <strong>TÄSTÄ</strong> jatkaaksesi',\n training: {\n session: 'Koulutussessio',\n note: 'Lopeta koulutus',\n moveLeft: 'Vedä valitsin kokonaan <strong>vasemmalle</strong>',\n moveBottom: 'Vedä valitsin kokonaan <strong>alhaalle</strong>',\n moveRight: 'Nyt, ole hyvä ja Vedä valitsin kokonaan <strong>oikealle</strong>',\n moveTop: 'Nyt, ole hyvä ja Vedä valitsin kokonaan <strong>ylhäälle</strong>',\n success: 'Hyvää työtä!'\n }\n },\n sft: {\n noAnswers: 'Ei vastausvaihtoehtoa, jatka napsauttamalla Seuraava.',\n note: 'Vastaa mahdollisimman nopeasti intuitiivisesti oikealta tuntuvalla vastauksella',\n finish: 'Olet valmis! <br /> Jatka napsauttamalla Seuraava.',\n training: {\n start:\n '<p>Tämä kysymys näyttää sinulle nopeasti erilaisia sanoja ja vaatii keskittymistäsi. ' +\n 'Sinun on reagoitava nopeasti vastataksesi. </p> <p>Oletko valmis harjoittelemaan?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Napauta \"{buttonLeft}\"`\n : (mouse ? `Napsauta \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Paina \"{keyBtnLeft}\" näppäintä` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Napauta \"{buttonRight}\"`\n : (mouse ? `Napsauta \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Paina \"{keyBtnRight}\" näppäintä` : ''),\n fail: () => 'Liian hidas',\n success: () => 'Mahtavaa!',\n finish: () =>\n '<p><strong> Erinomaista!</strong></p><p>Varmista, että sinua<br />' +\n 'ei häiritä seuraavien<br/> 2–3 minuutin aikana</p><p>Kun olet valmis, napsauta Seuraava aloittaaksesi.</p>'\n },\n buttons: {\n start: 'Aloita',\n yesno: {\n left: 'Kyllä',\n right: 'Ei'\n },\n matches: {\n left: 'Osuma',\n right: 'Ei osumaa'\n },\n fits: {\n left: 'Sopiva',\n right: 'Ei sopiva'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n },\n noyes: {\n left: 'Kyllä',\n right: 'Ei'\n },\n matchesRev: {\n left: 'Osuma',\n right: 'Ei osumaa'\n },\n fitsRev: {\n left: 'Sopiva',\n right: 'Ei sopiva'\n },\n thumbsRev: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Option Pas de réponse, veuillez cliquer sur Suivant pour continuer.',\n placeholder: 'Veuillez préciser...',\n pleaseSelect: 'Veuillez sélectionner...',\n rotateLandscape: 'Veuillez faire pivoter votre téléphone du mode portrait au mode paysage pour continuer.',\n rotatePortrait: 'Veuillez faire pivoter votre téléphone du mode paysage au mode portrait pour continuer.',\n ir: {\n selectWebCam:\n 'Sélectionner la webcam (si disponible) ou cliquer sur \"Rechercher\" pour télécharger depuis votre appareil',\n noWebCam: 'Pas de webcam détectée',\n accessCamUpload: 'ACCÈS À LA CAMÉRA/TÉLÉCHARGEMENT',\n browse: 'RECHERCHER',\n uploadPhoto: 'Télécharger une photo',\n instead: 'à la place',\n capture: 'CAPTURER',\n somethingWrong: \"Désolé, quelque chose n'a pas fonctionné. Veuillez réessayer plus tard.\",\n couldntRead: 'Désolé, nous ne sommes pas parvenus à lire le code !',\n couldntProcess: \"Désolé, nous n'avons pas pu traiter votre image !\",\n moveOn: 'Veuillez essayer de nouveau ou soumettre votre photo et continuer',\n tryAgain: 'Veuillez réessayer',\n dataReceived: 'Données reçues !',\n enterManually: 'Veuillez réessayer ou entrer les données manuellement ci-dessous',\n positionQR:\n \"Veuillez positionner le code QR en face de la caméra pour qu'il rentre dans le cadre rouge ou télécharger-le depuis votre ordinateur.\",\n analyzing: \"Analyse de l'image, veuillez patienter\",\n submit: 'SOUMETTRE',\n startOver: 'Recommencer',\n allDone: 'Terminé !',\n cantAnalyze:\n \"Attention - nous n'avons pas pu rendre cette image. Veuillez réessayer ou choisir un format d'image plus générique (JPG, PNG, GIF, BMP)\",\n wrongFormat:\n \"Nous sommes désolés, nous ne prenons pas en charge ce format de fichier. Veuillez télécharger un type d'image pris en charge (JPG, PNG, GIF, BMP, TIF, PDF, SVG)\"\n },\n vr: {\n noWebCam: 'Pas de webcam détectée',\n uploadVideo: 'Charger une vidéo', // !\n skip: 'Passer ?',\n accessCamUpload: 'ACCÈS À LA CAMÉRA/TÉLÉCHARGEMENT',\n browse: 'RECHERCHER',\n instead: 'à la place',\n or: 'ou',\n stopRecording: \"Arrêter l'enregistrement\",\n willBeStopped: \"L'enregistrement s'arrêtera après 5 minutes\",\n stopOnDone: \"Arrêtez d'enregistrer quand vous aurez fini !\",\n record: 'ENREGISTRER',\n somethingWrong: \"Désolé, quelque chose n'a pas fonctionné. Veuillez réessayer plus tard.\",\n microphone: 'Microphone',\n camera: 'Web de travail',\n selectMicrophone: 'Sélectionnez votre microphone.',\n selectCam: 'Sélectionnez votre webcam',\n submit: 'SOUMETTRE',\n upload: 'TÉLÉCHARGER',\n playback: 'Lecture',\n stopPlayback: 'ARRÊTER',\n startOver: 'Recommencer',\n allDone: 'Terminé !',\n alternativeRecordSpan: 'Veuillez télécharger un clip vidéo depuis votre ordinateur.<br/>Vous pouvez ',\n alrenativeRecordHref: 'aussi enregistrer la vidéo avec une webcam.',\n cantAnalyze:\n \"Attention - nous n'avons pas pu rendre cette vidéo. Veuillez réessayer ou choisir un format vidéo plus générique (MP4, M4V, WEBPM)\",\n wrongFormat:\n 'Nous sommes désolés, nous ne prenons pas en charge ce format de fichier. Veuillez télécharger un type de vidéo pris en charge (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'CHOISIR',\n pleaseChoose: 'Veuillez choisir',\n this: 'CECI',\n one: 'un',\n myChoice: 'MON CHOIX'\n },\n hm: {\n addComment: 'Veuillez ajouter un commentaire ci-dessous',\n commentMandatoryPlaceHolder: 'Veuillez ajouter un commentaire obligatoire... ',\n commentOptionalPlaceHolder: 'Veuillez ajouter un commentaire facultatif... ',\n dragPin: 'Faites glisser pour repositionner (cliquer/appuyer long pour un épinglage précis). ',\n removePin: \"Faites glisser à l'extérieur de l'image pour supprimer. \",\n editComment: \"Cliquez/appuyez sur l'épingle pour modifier le commentaire. \",\n addPin:\n \"Veuillez faire glisser l'épingle du panneau ci-dessous et la déposer à l'endroit de votre choix sur l'image. \",\n addPins:\n \"Veuillez faire glisser les épingles du panneau ci-dessous et les déposer à l'endroit de votre choix sur l'image. \",\n leavePins: (minPoints, maxPoints) =>\n `Veuillez laisser au moins ${minPoints} mais pas plus de ${maxPoints} épingles de chaque type. `,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `Veuillez laisser au moins ${minPoints} mais pas plus de ${maxPoints} épingles. `,\n leavePinsWithOff: maxPoints =>\n `Veuillez ne pas laisser plus de ${maxPoints} épingles de chaque type ou cliquez sur Suivant pour passer. `,\n leavePinsPerPageWithOff: maxPoints =>\n `Veuillez ne pas laisser plus de ${maxPoints} broches ou cliquez sur Suivant pour passer. `,\n leavePinWithOff: \"Veuillez ne pas laisser plus d'une épingle de chaque type ou cliquez sur Suivant pour passer. \",\n leavePinPerPageWithOff: \"Veuillez ne pas laisser plus d'une épingle ou cliquez sur Suivant pour passer.\",\n leaveExactlyPin: 'Veuillez laisser 1 épingle de chaque type. ',\n leaveExactlyPinPerPage: 'Veuillez laisser 1 épingle. ',\n leaveExactlyPins: maxPoints => `Veuillez laisser ${maxPoints} épingles de chaque type. `,\n leaveExactlyPinsPerPage: maxPoints => `Veuillez laisser ${maxPoints} épingles. `,\n leaveComment: \"Appuyez sous l'image pour laisser un commentaire.\",\n noAnswers: 'Option sans réponse, veuillez cliquer sur Suivant pour continuer. ',\n outOfPins: \"Vous n'avez plus d'épingles \",\n pinsBehavior:\n \"Lorsque vous vous déplacez à travers l'image, vous verrez des zones qui seront en surbrillance avec une seule broche.\",\n clusters: 'Vous ne pourrez placer des broches que dans ces zones en surbrillance.',\n contentAware: \"Vous pouvez déposer des broches à l'intérieur ou à l'extérieur des zones en surbrillance.\"\n },\n mp: {\n expand_note: \"Veuillez glisser ou cliquer sur l'image(s) pour agrandir\",\n rb_note: rows => `Veuillez sélectionner 1 réponse par élément${rows ? ' ci-dessous' : ''}:`,\n cb_note: (min, max, rows) => {\n if (1 === min && 5000 === max) {\n return \"Cochez toutes les réponses qui s'appliquent:\"\n } else if (min === max) {\n return `Veuillez sélectionner ${min} réponse${min !== 1 ? 's' : ''} seulement par article${\n rows ? ' ci-dessous' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Veuillez sélectionner au moins ${min} réponse${\n min !== 1 ? 's' : ''\n } mais pas plus que ${max} par article${rows ? ' ci-dessous' : ''}:`\n } else if (5000 === max && min > 0) {\n return `Veuillez sélectionner au moins ${min} réponse${min !== 1 ? 's' : ''} par article${\n rows ? ' ci-dessous' : ''\n }:`\n } else if (0 === min && max < 5000) {\n return `Veuillez ne pas sélectionner plus de ${max} réponse${max !== 1 ? 's' : ''} par article${\n rows ? ' ci-dessous' : ''\n }:`\n } else {\n return \"Cochez toutes les réponses qui s'appliquent:\"\n }\n }\n },\n sh: {\n note: \"Cliquez sur un produit pour zoomer et ajoutez-le à votre panier virtuel si vous l'achetiez à la boutique\",\n amazonNote: 'Cliquez sur un produit pour zoomer et l’ajouter à votre panier virtuel.',\n fullCart: 'Votre panier est plein !',\n qty: 'QTÉ',\n addToCart: 'AJOUTER AU PANIER',\n deleteFromCart: 'SUPPRIMER',\n each: 'chaque',\n items: 'articles',\n next: 'SUIVANT',\n emptyCard: 'Votre panier est vide',\n total: 'Panier',\n clearCart: 'Vider le panier',\n backToStore: 'Retour à la boutique',\n na: 'Aucune de ces réponses',\n maxCartCountError: max => `Veuillez ne pas ajouter plus de ${max} produits à votre panier`,\n scrollError: `Veuillez faire défiler l’écran entièrement vers la gauche et vers la droite pour poursuivre l’enquête. `,\n maxSpentError: max => `Veuillez ne pas dépenser plus de ${max}.`,\n maxProductCountError: max => `Veuillez ne pas ajouter à votre panier plus de ${max} articles du même produit.`\n },\n rb: {\n note: 'Veuillez sélectionner 1 point seulement:'\n },\n vo: {\n note: \"Veuillez regarder la vidéo jusqu'à la fin\"\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `Veuillez sélectionner ${min !== 1 ? 'articles' : 'point'} ${min} seulement:`\n } else if (min > 0 && max < 5000) {\n return `Veuillez sélectionner au moins ${min} article${min !== 1 ? 's' : ''} mais pas plus que ${max}:`\n } else if (5000 === max && min > 0) {\n return `Veuillez sélectionner au moins ${min} article${min !== 1 ? 's' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Veuillez ne pas sélectionner plus de ${max} article${max !== 1 ? 's' : ''}:`\n } else {\n return \"Cochez toutes les réponses qui s'appliquent:\"\n }\n }\n },\n oe: {\n na: \"N'est pas applicable\",\n note: (min, max, optional) => {\n if (min === max) {\n return `Veuillez taper exactement ${min} caractère${1 !== min ? 's' : ''}${optional ? ' (facultatif)' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Veuillez taper au moins ${min} caractère${1 !== min ? 's' : ''} mais pas plus que ${max}${\n optional ? ' (facultatif)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Veuillez taper au moins ${min} caractère${1 !== min ? 's' : ''}${optional ? ' (facultatif)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Veuillez taper un maximum de ${max} caractère${1 !== min ? 's' : ''}${\n optional ? ' (facultatif)' : ''\n }:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Veuillez renseigner les champs suivants :'\n },\n mx: {\n note: 'Veuillez faire bouger les barres surlignées pour continuer',\n dragSlider: 'Faites glisser vers la gauche ou la droite pour répondre'\n },\n psc: {\n dragLeftRight: 'Faites glisser vers la gauche ou la droite pour répondre'\n },\n ps: {\n note: value => `Veuillez distribute ${value} restants entre les éléments ci-dessous`,\n allDone: 'Terminé !',\n total: `Total:`,\n dragSlider: 'Faites glisser vers la gauche ou la droite pour répondre'\n },\n cx: {\n note: 'Commencez à taper votre réponse à défilement automatique ou sélectionnez-la manuellement'\n },\n ro: {\n note: 'Faites glisser vers le haut ou le bas pour réorganiser:'\n },\n md: {\n note1:\n \"Veuillez cliquer/appuyer sur l'élément que vous souhaitez sélectionner en premier<br/>Cliquez/appuyez à nouveau pour effacer votre sélection\",\n note2:\n \"Maintenant, veuillez cliquer/appuyer sur l'élément que vous souhaitez sélectionner en dernier<br/>Cliquez/appuyez à nouveau pour effacer votre sélection.\",\n note3:\n 'Merci ! Passez à la question suivante<br/>ou cliquez/appuyez sur un élément non sélectionné pour recommencer.'\n },\n aro: {\n note: 'Veuillez choisir un élément pour chaque paire'\n },\n wd: {\n note: 'Assurez-vous que chaque valeur ultérieure est supérieure à la précédente.'\n },\n emd: {\n note: \"Veuillez regarder la vidéo jusqu'à la fin\",\n noAnswers: 'Option Pas de réponse, veuillez cliquer sur Suivant pour continuer.',\n start: 'Cliquez et maintenez pour commencer',\n resume: 'Cliquez et maintenez pour reprendre',\n continue: 'Vous avez terminé ! <br /> Cliquez sur suivant pour continuer',\n continueMobile: 'Vous êtes prête ! <br /> Cliquez ICI pour continuer',\n training: {\n session: 'session de formation',\n note: \"Veuillez terminer l'entraînement\",\n moveLeft: 'Veuillez faire glisser le cadran complètement vers la gauche',\n moveBottom: 'Veuillez faire glisser le cadran complètement vers le bas',\n moveRight: 'Maintenant faites glisser le cadran complètement vers la droite',\n moveTop: 'Maintenant faites glisser le cadran complètement vers le haut',\n success: 'Excellent !'\n }\n },\n sft: {\n noAnswers: 'Option Pas de réponse, veuillez cliquer sur Suivant pour continuer.',\n note: 'Donnez aussi vite que possible réponse qui vous semble intuitivement la plus juste',\n finish: \"C'est fait !<br /> Veuillez cliquer sur Suivant pour continuer\",\n training: {\n start:\n '<p>Cette question vous montrera rapidement différents mots et exigera votre concentration. ' +\n 'Tout doit maintenant aller très vite.</p> <p>Prêt à pratiquer ?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Appuyez sur \"{buttonLeft}\"`\n : (mouse ? `Cliquez sur \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Appuyez sur la touche « F »` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Appuyez sur \"{buttonRight}\"`\n : (mouse ? `Cliquez sur \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Appuyez sur la touche « J »` : ''),\n fail: () => 'Trop lent',\n success: () => 'Super !',\n finish: () =>\n '<p><strong> Excellent !</strong></p><p>Veuillez vous assurer que rien<br />' +\n 'ne va vous distraire <br/> dans les 2-3 prochaines minutes</p><p>Cliquez sur Suivant lorsque vous serez prêt.</p>'\n },\n buttons: {\n start: 'Démarrer',\n yesno: {\n left: 'Oui',\n right: 'No'\n },\n matches: {\n left: 'Correspond',\n right: 'Ne correspond pas'\n },\n fits: {\n left: 'Convient',\n right: 'Ne convient pas'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Δεν υπάÏχει επιλογή απάντησης, κάντε κλικ στο επόμενο για να συνεχίσετε.',\n placeholder: 'ΠαÏακαλώ Ï€ÏοσδιοÏίστε...',\n pleaseSelect: 'ΠαÏακαλώ επιλÎξτε...',\n rotateLandscape: 'ΠεÏιστÏÎψτε το τηλÎφωνό σας από την κατακόÏυφη στην οÏιζόντια θÎση για να συνεχίσετε.',\n rotatePortrait: 'ΠεÏιστÏÎψτε το τηλÎφωνό σας από την οÏιζόντια στην κατακόÏυφη θÎση για να συνεχίσετε.',\n ir: {\n selectWebCam:\n 'ΕπιλÎξτε την κάμεÏα (αν υπάÏχει) ή κάντε κλικ στο «Αναζήτηση» για να ανεβάσετε από τη συσκευή σας.',\n uploadOnly: 'ΕπιλÎξτε την κάμεÏα (αν υπάÏχει) ή κάντε κλικ στο «Αναζήτηση» για να ανεβάσετε από τη συσκευή σας.',\n noWebCam: 'Δεν εντοπίστηκε κάμεÏα',\n accessCamUpload: 'ΠΡΟΣΒΑΣΗ ΣΤΗΠΚΑΜΕΡΑ/ΜΕΤΑΦΟΡΤΩΣΗ',\n browse: 'ΠΕΡΙΗΓΗΣΗ',\n uploadPhoto: 'Ανεβάστε μια φωτογÏαφία',\n camera: 'Διαδικτυακή ΚάμεÏα',\n instead: 'αντί να την',\n capture: 'ΤΡΑΒΗΞΕΤΕ',\n somethingWrong: 'Λυπάμαι, κάτι πήγε στÏαβά. Î Ïοσπαθήστε ξανά αÏγότεÏα',\n couldntRead: 'Λυπάμαι, δεν μποÏÎσαμε να διαβάσουμε τον κωδικό!',\n couldntProcess: 'Λυπάμαι, δεν μποÏÎσαμε να επεξεÏγαστοÏμε την εικόνα σας!',\n inValidCode: 'ΠαÏακαλώ, υποβάλετε τον ÎγκυÏο κωδικό',\n moveOn: 'Î Ïοσπαθήστε ξανά ή στείλτε τη φωτογÏαφία σας και συνεχίστε',\n tryAgain: 'Î Ïοσπαθήστε ξανά',\n dataReceived: 'Data received!',\n enterManually: 'Î Ïοσπαθήστε ξανά ή εισάγετε τα δεδομÎνα χειÏοκίνητα παÏακάτω',\n positionQR:\n 'Τοποθετήστε τον κωδικό QR μπÏοστά από την κάμεÏά σας για να χωÏÎσει στο κόκκινο πλαίσιο ή ανεβάστε τον από τον υπολογιστή σας.',\n positionQRMobile: 'Τοποθετήστε τον κωδικό QR μπÏοστά από την κάμεÏά σας ή ανεβάστε τον από την συσκευή σας.',\n analyzing: 'Ανάλυση εικόνας, παÏακαλώ πεÏιμÎνετε',\n submit: 'ΥΠΟΒΟΛΗ',\n startOver: 'Ξεκινήστε',\n allDone: 'Όλα εντάξει!',\n cantAnalyze:\n 'Î Ïοσοχή - δεν μποÏÎσαμε να εμφανίσουμε αυτή την εικόνα. Î Ïοσπαθήστε να επαναλάβετε την υποβολή ή επιλÎξτε μια πιο γενική μοÏφή εικόνας. (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'ΛυποÏμαστε - δεν υποστηÏίζουμε αυτή τη μοÏφή αÏχείου. ΜεταφοÏτώστε Îναν υποστηÏιζόμενο Ï„Ïπο εικόνας (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Δεν εντοπίστηκε κάμεÏα',\n uploadVideo: 'Ανεβάστε Îνα βίντεο',\n skip: 'ΠαÏάλειψη;',\n accessCamUpload: 'ΠΡΟΣΒΑΣΗ ΣΤΗΠΚΑΜΕΡΑ/ΜΕΤΑΦΟΡΤΩΣΗ',\n browse: 'ΠΕΡΙΗΓΗΣΗ',\n instead: 'αντί να την',\n or: 'ή',\n stopRecording: 'Διακοπή της καταγÏαφής',\n willBeStopped: 'Η καταγÏαφή θα σταματήσει σε <b>5 λεπτά</b>',\n stopOnDone: 'Σταματήστε την καταγÏαφή όταν τελειώσετε!',\n record: 'ΚΑΤΑΓΡΑΦΗ',\n somethingWrong: 'Λυπάμαι, κάτι πήγε στÏαβά. Î Ïοσπαθήστε ξανά αÏγότεÏα.',\n dataReceived: 'Τα δεδομÎνα ελήφθησαν!',\n microphone: 'μικÏόφωνο',\n camera: 'Διαδικτυακή ΚάμεÏα',\n selectMicrophone: 'ΠαÏακαλώ επιλÎξτε микрофон',\n selectCam: 'ΠαÏακαλώ επιλÎξτε уебкамера',\n submit: 'ΥΠΟΒΟΛΗ',\n upload: 'Ανεβάστε',\n playback: 'ΑναπαÏαγωγή',\n stopPlayback: 'ΔΙΑΚΟΠΗ ΤΗΣ ΑÎΑΠΑΡΑΓΩΓΗΣ',\n startOver: 'Ξεκινήστε',\n allDone: 'Όλα εντάξει!',\n alternativeRecordSpan:\n 'ΠαÏακαλοÏμε, ανεβάστε Îνα βίντεο από τον υπολογιστή σας. <br/>Εναλλακτικά, μποÏείτε να καταγÏάψετε το βίντεο με μια κάμεÏα. ',\n alrenativeRecordHref: 'καταγÏάψετε το βίντεο με μια κάμεÏα.',\n cantAnalyze:\n 'Î Ïοσοχή - δεν μποÏÎσαμε να εμφανίσουμε αυτό το βίντεο. Î Ïοσπαθήστε να επαναλάβετε την υποβολή ή επιλÎξτε μια πιο γενική μοÏφή βίντεο (MP4, M4V, WEBPM)',\n wrongFormat:\n 'ΛυποÏμαστε - δεν υποστηÏίζουμε αυτή τη μοÏφή αÏχείου. ΜεταφοÏτώστε Îναν υποστηÏιζόμενο Ï„Ïπο βίντεο (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'ΕΠΙΛΕΞΤΕ',\n pleaseChoose: 'ΠαÏακαλώ επιλÎξτε',\n this: 'Αυτό',\n one: ' από εδώ',\n myChoice: 'Η ΕΠΙΛΟΓΗ ΜΟΥ'\n },\n hm: {\n addComment: 'Î ÏοσθÎστε Îνα σχόλιο παÏακάτω',\n commentMandatoryPlaceHolder: 'Î ÏοσθÎστε υποχÏεωτικά Îνα σχόλιο... ',\n commentOptionalPlaceHolder: 'Î ÏοσθÎστε Ï€ÏοαιÏετικά Îνα σχόλιο... ',\n dragPin: 'ΣÏÏετε για επανατοποθÎτηση (παÏατεταμÎνο κλικ/πατήστε στην ακίδα με ακÏίβεια). ',\n removePin: 'ΣÏÏετε Îξω από την εικόνα για διαγÏαφή. ',\n editComment: 'Κάντε κλικ/πατήστε στην ακίδα για να επεξεÏγαστείτε το σχόλιο.',\n addPin:\n 'ΣÏÏετε την ακίδα από τον παÏακάτω πίνακα και αφήστε την σε Îνα σημείο της επιλογής σας επάνω στην εικόνα.',\n addPins:\n 'ΣÏÏετε τις ακίδες από τον παÏακάτω πίνακα και αφήστε τις σε Îνα σημείο της επιλογής σας επάνω στην εικόνα. ',\n leavePins: (minPoints, maxPoints) =>\n `Αφήστε τουλάχιστον ${minPoints}, αλλά όχι πεÏισσότεÏες από ${maxPoints} ακίδες κάθε είδους.`,\n leavePinsAny: (minPoints, maxPoints) =>\n `Αφήστε τουλάχιστον ${minPoints}, αλλά όχι πεÏισσότεÏες από ${maxPoints} ακίδες κάθε είδους. `,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `Αφήστε τουλάχιστον ${minPoints}, αλλά όχι πεÏισσότεÏες από ${maxPoints} ακίδες. `,\n leavePinsWithOff: maxPoints =>\n `Αφήστε το Ï€Î¿Î»Ï ${maxPoints} ακίδες κάθε είδους ή κάντε κλικ στο κουμπί Επόμενο για παÏάλειψη. `,\n leavePinsWithOffAny: maxPoints =>\n `Αφήστε το Ï€Î¿Î»Ï ${maxPoints} ακίδες κάθε είδους ή κάντε κλικ στο κουμπί Επόμενο για παÏάλειψη `,\n leavePinsPerPageWithOff: maxPoints =>\n `Αφήστε το Ï€Î¿Î»Ï ${maxPoints} ακίδες ή κάντε κλικ στο κουμπί Επόμενο για παÏάλειψη. `,\n leavePinWithOff: `Αφήστε το Ï€Î¿Î»Ï 1 ακίδα κάθε είδους ή κάντε κλικ στο κουμπί Επόμενο για παÏάλειψη. `,\n leavePinWithOffAny: `Αφήστε το Ï€Î¿Î»Ï 1 ακίδα κάθε είδους ή κάντε κλικ στο κουμπί Επόμενο για παÏάλειψη `,\n leavePinPerPageWithOff: 'Αφήστε το Ï€Î¿Î»Ï 1 ακίδα ή κάντε κλικ στο κουμπί Επόμενο για παÏάλειψη ',\n leaveExactlyPin: `Αφήστε 1 ακίδα κάθε είδους. `,\n leaveExactlyPinAny: `Αφήστε 1 ακίδα κάθε είδους.. `,\n leaveExactlyPinPerPage: 'Αφήστε 1 ακίδα. ',\n leaveExactlyPins: maxPoints => `Αφήστε ${maxPoints} ακίδες κάθε είδους. `,\n leaveExactlyPinsAny: maxPoints => `Αφήστε ${maxPoints} ακίδες κάθε είδους. `,\n leaveExactlyPinsPerPage: maxPoints => `Αφήστε ${maxPoints} ακίδες. `,\n leaveComment: 'ΠληκτÏολογήστε κάτω από την εικόνα για να αφήσετε Îνα σχόλιο. ',\n noAnswers: 'Δεν υπάÏχει επιλογή απάντησης, κάντε κλικ στο επόμενο για να συνεχίσετε.',\n outOfPins: 'Έχετε ξεμείνει από ακίδες',\n pinsBehavior: 'Καθώς μετακινείστε σε όλη την εικόνα, θα δείτε πεÏιοχÎÏ‚ που θα επισημαίνονται με μια απλή ακίδα.',\n clusters: 'Θα μποÏείτε να τοποθετήσετε τις ακίδες μόνο σε αυτÎÏ‚ τις επισημασμÎνες πεÏιοχÎÏ‚.',\n contentAware: 'ΜποÏείτε να τοποθετήσετε τις ακίδες μÎσα ή Îξω από τις επισημασμÎνες πεÏιοχÎÏ‚.'\n },\n mp: {\n expand_note: 'ΠεÏάστε με το ποντίκι ή κάντε κλικ στην εικόνα(ες) για επÎκταση.',\n rb_note: rows => `ΠαÏακαλώ επιλÎξτε μόνο 1 απάντηση ανά στοιχείο${rows ? ' παÏακάτω' : ''}:`,\n cb_note: (min, max, rows) => {\n if (min === max) {\n return `ΠαÏακαλώ επιλÎξτε ${min !== 1 ? 'οποιαδήποτε' : 'μόνο'} ${min} ${\n min !== 1 ? 'απαντήσεις ' : 'απάντηση'\n } ανά στοιχείο${rows ? ' παÏακάτω' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `ΠαÏακαλοÏμε επιλÎξτε τουλάχιστον ${min} ${\n min !== 1 ? 'απαντήσεις ' : 'απάντηση'\n } αλλά όχι πεÏισσότεÏα από ${max} ανά στοιχείο${rows ? ' παÏακάτω' : ''}:`\n } else if (5000 === max && min > 0) {\n return `ΠαÏακαλοÏμε επιλÎξτε τουλάχιστον ${min} ${min !== 1 ? 'απαντήσεις ' : 'απάντηση'} ανά στοιχείο${\n rows ? ' παÏακάτω' : ''\n }:`\n } else if (0 === min && max < 5000) {\n return `ΠαÏακαλοÏμε επιλÎξτε όχι πεÏισσότεÏα από ${max} ${\n max !== 1 ? 'απαντήσεις ' : 'απάντηση'\n } ανά στοιχείο${rows ? ' παÏακάτω' : ''}:`\n } else {\n return 'ΕπιλÎξτε όλα όσα ισχÏουν:'\n }\n }\n },\n sh: {\n note: 'Κάντε κλικ σε Îνα Ï€Ïοϊόν για να το μεγεθÏνετε και να το Ï€ÏοσθÎσετε στο εικονικό σας καλάθι, αν το αγοÏάζατε στο κατάστημα.',\n amazonNote: 'Κάντε κλικ σε Îνα Ï€Ïοϊόν για να το μεγεθÏνετε και να το Ï€ÏοσθÎσετε στο εικονικό σας καλάθι.',\n fullCart: 'Το καλάθι σας είναι γεμάτο!',\n qty: 'ΠΟΣΟΤΗΤΑ',\n addToCart: 'ΠΡΟΣΘΗΚΗ ΣΤΟ ΚΑΛΑΘΙ',\n deleteFromCart: 'ΔΙΑΓΡΑΦΗ',\n each: 'καθε',\n items: 'είδη',\n emptyCard: 'Το καλάθι σας είναι άδειο',\n total: 'Καλάθι',\n clearCart: 'ΔιαγÏαφή καλαθιοÏ',\n backToStore: 'Πίσω στο κατάστημα',\n scrollError: `Κάντε κÏλιση πλήÏως Ï€Ïος τα αÏιστεÏά και Ï€Ïος τα δεξιά για να Ï€ÏοχωÏήσετε στην ÎÏευνα. `,\n na: 'Τίποτα από τα παÏαπάνω',\n next: 'ΕΠΟΜΕÎΟ'\n },\n rb: {\n note: 'ΠαÏακαλώ επιλÎξτε μόνο 1 στοιχείο'\n },\n vo: {\n note: 'ΠαÏακολουθήστε το βίντεο μÎχÏι το Ï„Îλος'\n },\n cb: {\n note: (min, max) => {\n if (1 === min && 5000 === max) {\n return 'ΕπιλÎξτε όλα όσα ισχÏουν:'\n } else if (min === max) {\n return `ΠαÏακαλώ επιλÎξτε ${min !== 1 ? 'επακÏιβώς' : 'μόνο'} ${min} στοιχεί${min !== 1 ? 'α' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `ΠαÏακαλώ επιλÎξτε τουλάχιστον ${min} στοιχεί${\n min !== 1 ? 'α' : ''\n }, αλλά όχι πεÏισσότεÏες από ${max}:`\n } else if (5000 === max && min > 0) {\n return `ΠαÏακαλώ επιλÎξτε τουλάχιστον ${min} στοιχεί${min !== 1 ? 'α' : ''}:`\n } else if (0 === min && max < 5000) {\n return `ΠαÏακαλώ επιλÎξτε όχι πεÏισσότεÏα από ${max} στοιχεί${max !== 1 ? 'α' : ''}:`\n } else {\n return 'ΕπιλÎξτε όλα όσα ισχÏουν:'\n }\n }\n },\n oe: {\n na: 'Δεν εφαÏμόζεται',\n note: (min, max, optional) => {\n if (min === max) {\n return `ΠληκτÏολογήστε ${1 !== min ? 'επακÏιβώς' : 'οποιουσδήποτε'} ${min} χαÏακτήÏε${1 !== min ? 'α' : ''}${\n optional ? ' (Ï€ÏοαιÏετικά)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `ΠληκτÏολογήστε τουλάχιστον ${min} χαÏακτήÏε${1 !== min ? 'α' : ''} αλλά όχι πεÏισσότεÏες από ${max}${\n optional ? ' (Ï€ÏοαιÏετικά)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `ΠληκτÏολογήστε τουλάχιστον ${min} χαÏακτήÏε${1 !== min ? 'α' : ''}${\n optional ? ' (Ï€ÏοαιÏετικά)' : ''\n }:`\n } else if (0 === min && max < 5000) {\n return `ΠληκτÏολογήστε όχι πεÏισσότεÏα από ${max} χαÏακτήÏε${1 !== min ? 'α' : ''}${\n optional ? ' (Ï€ÏοαιÏετικά)' : ''\n }:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'ΣυμπληÏώστε τα ακόλουθα πεδία:'\n },\n mx: {\n note: 'Μετακινήστε τα επισημασμÎνα Ïυθμιστικά για να συνεχίσετε',\n dragSlider: 'ΣÏÏετε αÏιστεÏά ή δεξιά για να απαντήσετε'\n },\n psc: {\n dragLeftRight: 'ΣÏÏετε αÏιστεÏά ή δεξιά για να απαντήσετε'\n },\n ps: {\n note: value => `Κατανείμετε το ${value} Î¼ÎµÏ„Î±Î¾Ï Ï„Ï‰Î½ παÏακάτω στοιχείων`,\n allDone: `Όλα εντάξει!`,\n total: `σÏνολο:`,\n dragSlider: 'ΣÏÏετε αÏιστεÏά ή δεξιά για να απαντήσετε'\n },\n cx: {\n note: 'Ανοίξτε το πλαίσιο επιλογών και αÏχίστε να πληκτÏολογείτε την απάντησή σας στην αυτόματη κÏλιση ή επιλÎξτε την χειÏοκίνητα'\n },\n ro: {\n note: 'ΣÏÏετε Ï€Ïος τα πάνω ή Ï€Ïος τα κάτω για αναδιάταξη:'\n },\n md: {\n note1:\n 'Κάντε κλικ/πατήστε στο στοιχείο της Ï€Ïώτης <b>σας επιλογής</b>.<br/>' +\n ' Κάντε κλικ/πατήστε ξανά για να ακυÏώσετε την επιλογή.',\n note2:\n 'ΤώÏα κάντε κλικ/πατήστε στο στοιχείο της τελευταίας <b>σας επιλογής</b>.<br/>' +\n ' Κάντε κλικ/πατήστε ξανά για να ακυÏώσετε την επιλογή.',\n note3:\n 'ΕυχαÏιστοÏμε! Συνεχίστε στην επόμενη εÏώτηση ή κάντε κλικ/πατήστε σε οποιοδήποτε μη επιλεγμÎνο στοιχείο για να ξεκινήσετε από την αÏχή.'\n },\n aro: {\n note: 'ΕπιλÎξτε Îνα στοιχείο από κάθε ζεÏγος.'\n },\n wd: {\n note: 'Βεβαιωθείτε ότι κάθε επόμενη τιμή είναι μεγαλÏτεÏη από την Ï€ÏοηγοÏμενη.'\n },\n emd: {\n note: 'ΠαÏακολουθήστε το βίντεο μÎχÏι το Ï„Îλος',\n noAnswers: 'Δεν υπάÏχει επιλογή απάντησης, κάντε κλικ στο επόμενο για να συνεχίσετε.',\n start: 'Κάντε κλικ και κÏατήστε το πατημÎνο για να ξεκινήσετε',\n resume: 'Κάντε κλικ και κÏατήστε το πατημÎνο για να συνεχίσετε',\n continue: 'Είστε Îτοιμοι! <br />Κάντε κλικ <strong>Επόμενο</strong> για να συνεχίσετε',\n continueMobile: 'Είστε Îτοιμοι! <br />Κάντε κλικ <strong>ΕΔΩ</strong> για να συνεχίσετε',\n training: {\n session: 'Εκπαιδευτική συνεδÏία',\n note: 'ΠαÏακαλώ ολοκληÏώστε την εκπαίδευση',\n moveLeft: 'ΣÏÏετε τον επιλογÎα μÎχÏι Ï„ÎÏμα Ï€Ïος τα αÏιστεÏά',\n moveBottom: 'ΣÏÏετε τον επιλογÎα μÎχÏι κάτω',\n moveRight: 'ΤώÏα, σÏÏετε τον επιλογÎα μÎχÏι Ï„ÎÏμα Ï€Ïος τα δεξιά',\n moveTop: 'ΤώÏα, σÏÏετε τον επιλογÎα Ï€Ïος τα επάνω',\n success: 'ΜπÏάβο!'\n }\n },\n sft: {\n noAnswers: 'Δεν υπάÏχει επιλογή απάντησης, κάντε κλικ στο επόμενο για να συνεχίσετε.',\n note: 'Απαντήστε όσο πιο γÏήγοÏα μποÏείτε με την απάντηση που αισθάνεστε διαισθητικά ως σωστή.',\n finish: 'Είστε Îτοιμοι! <br /> Κάντε κλικ Επόμενο για να συνεχίσετε.',\n training: {\n start:\n '<p>Αυτή η εÏώτηση θα σας εμφανίσει γÏήγοÏα διάφοÏες λÎξεις και θα απαιτήσει τη συγκÎντÏωσή σας. ' +\n 'Θα Ï€ÏÎπει να αντιδÏάσετε γÏήγοÏα για να απαντήσετε. </p> <p>Έτοιμοι για εξάσκηση;</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Πατήστε στο \"{buttonLeft}\"`\n : (mouse ? `Κάντε κλικ \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Πατήστε στο πλήκτÏο \"{keyBtnLeft}\"` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Πατήστε στο \"{buttonRight}\"`\n : (mouse ? `Κάντε κλικ \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Πατήστε στο πλήκτÏο \"{keyBtnRight}\"` : ''),\n fail: () => 'Î Î¿Î»Ï Î±Ïγά',\n success: () => 'ΜπÏάβο!',\n finish: () =>\n '<p><strong> ΕξαιÏετικά!</strong></p><p>Βεβαιωθείτε ότι δεν Ï€Ïόκειται να σας αποσπάσουν την Ï€Ïοσοχή για τα επόμενα 2-3 λεπτά. <br />' +\n '</p><p>Κάντε κλικ στο Επόμενο για να ξεκινήσετε όταν είστε Îτοιμοι</p>'\n },\n buttons: {\n start: 'Εκκίνηση',\n yesno: {\n left: 'Îαί',\n right: 'όχι'\n },\n matches: {\n left: 'ΤαιÏιάζει',\n right: 'Δεν ΤαιÏιάζει'\n },\n fits: {\n left: 'ΙσχÏει',\n right: 'Δεν ΙσχÏει'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n },\n noyes: {\n left: 'Îαί',\n right: 'όχι'\n },\n matchesRev: {\n left: 'ΤαιÏιάζει',\n right: 'Δεν ΤαιÏιάζει'\n },\n fitsRev: {\n left: 'ΙσχÏει',\n right: 'Δεν ΙσχÏει'\n },\n thumbsRev: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: '×ין ×פשרות לתשובה, יש ללחוץ ״הב××´ כדי להמשיך.',\n placeholder: 'יש לציין',\n pleaseSelect: 'יש לבחור',\n rotateLandscape: '×× × ×¡×•×‘×‘ ×ת הטלפון שלך ממצב לרוחב כדי להמשיך.',\n rotatePortrait: '×× × ×¡×•×‘×‘ ×ת הטלפון שלך מרוחב לפורטרייט כדי להמשיך.',\n ir: {\n selectWebCam: 'יש לבחור מצלמת רשת (×× ×–×ž×™× ×”) ×ו ללחוץ ׳עיון׳ כדי להעלות קובץ מהמכשיר שלכ×',\n // uploadOnly: \"Кликнете върху 'עיון', за да качите от Вашето уÑтройÑтво\",\n noWebCam: '×œ× × ×ž×¦××” מצלמת רשת',\n accessCamUpload: 'גישה למצלמה/העל×ת קובץ',\n browse: 'עיון',\n uploadPhoto: 'העל×ת ×ª×ž×•× ×”',\n camera: 'מצלמת רשת',\n instead: 'במקו×',\n capture: 'צילו×',\n somethingWrong: 'סליחה, משהו השתבש. יש ×œ× ×¡×•×ª שוב מ×וחר יותר',\n couldntRead: 'מצטערי×, ×œ× ×”×¦×œ×—× ×• ×œ×§×¨×•× ×ת הקוד!',\n couldntProcess: 'מצטערי×, ×œ× ×”×¦×œ×—× ×• לעבד ×ת ×”×ª×ž×•× ×” שלכ×!',\n inValidCode: 'יש לשלוח ×ת הקוד התקין',\n moveOn: 'יש ×œ× ×¡×•×ª שוב ×ו לשלוח ×ת ×”×ª×ž×•× ×” ×©×œ×›× ×•×œ×”×ž×©×™×š הל××”',\n tryAgain: 'יש ×œ× ×¡×•×ª שוב',\n dataReceived: 'המידע התקבל!',\n enterManually: 'יש ×œ× ×¡×•×ª שוב ×ו ×œ×”×›× ×™×¡ ×ת המידע למטה ב×ופן ×™×“× ×™',\n positionQR: 'יש ×œ×ž×§× ×ת קוד ×”-QR מול המצלמה ×©×œ×›× ×•×œ×”×›× ×™×¡ ×ותו למסגרת ×”×דומה, ×ו להעלות מהמחשב שלכ×.',\n positionQRMobile: 'יש ×œ×ž×§× ×ת קוד ×”-QR מול המצלמה ×©×œ×›× ×ו להעלות מהמחשב שלכ×.',\n analyzing: 'מתבצע × ×™×ª×•×— ×œ×ª×ž×•× ×”, ×× × ×”×ž×ª×™× ×•',\n submit: 'שליחה',\n startOver: 'התחילו מחדש',\n allDone: '×¡×™×™×ž× ×•!',\n cantAnalyze:\n 'שימו לב - ×œ× ×”×¦×œ×—× ×• לעבד ×ת ×”×ª×ž×•× ×” ×”×–×ת. יש ×œ× ×¡×•×ª לשלוח מחדש ×ו לבחור ×ª×ž×•× ×” בפורמט יותר ×’× ×¨×™ (JPG, PNG, GIF, BMP)',\n wrongFormat:\n '×× ×—× ×• ×ž×¦×˜×¢×¨×™× - ×× ×—× ×• ×œ× ×ª×•×ž×›×™× ×‘×¡×•×’ הקובץ ×”×–×”. יש להעלות ×ª×ž×•× ×” בפורמט × ×ª×ž×š (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: '×œ× × ×ž×¦××” מצלמת רשת',\n uploadVideo: 'העל×ת סרטון',\n skip: 'לדלג?',\n accessCamUpload: 'גישה למצלמה/העל×ת קובץ',\n browse: 'עיון',\n instead: 'במקו×',\n or: '×ו',\n stopRecording: 'עצרו ×ת הקלטה',\n willBeStopped: 'ההקלטה תיעצר בעוד 5 דקות',\n stopOnDone: 'עצרו ×ת ההקלטה כשתסיימו!',\n record: 'הקלטה',\n somethingWrong: 'סליחה, משהו השתבש. יש ×œ× ×¡×•×ª שוב מ×וחר יותר',\n dataReceived: 'המידע התקבל!',\n microphone: 'המיקרופון',\n camera: 'מצלמת רשת',\n selectMicrophone: 'יש לבחור ×ת המיקרופון שלכ×',\n selectCam: 'יש לבחור ×ת מצלמת הרשת שלכ×',\n submit: 'שליחה',\n upload: 'העלו',\n playback: 'הפעלה',\n stopPlayback: 'עצרו ×ת ההפעלה',\n startOver: 'התחילו מחדש',\n allDone: '×¡×™×™×ž× ×•!',\n alternativeRecordSpan: 'יש להעלות ×ת הסרטון מהמחשב שלכ×. לחלופין, תוכלו ×œ×¦×œ× ×ת הסרטון ',\n alrenativeRecordHref: '×¢× ×ž×¦×œ×ž×ª רשת',\n cantAnalyze:\n 'שימו לב - ×œ× ×”×¦×œ×—× ×• לעבד ×ת הסרטון ×”×–×”. יש ×œ× ×¡×•×ª לשלוח מחדש ×ו לבחור סרטון בפורמט יותר ×’× ×¨×™ (MP4, M4V, WEBPM)',\n wrongFormat:\n '×× ×—× ×• ×ž×¦×˜×¢×¨×™× - ×× ×—× ×• ×œ× ×ª×•×ž×›×™× ×‘×¡×•×’ הקובץ ×”×–×”. יש להעלות סרטון בפורמט × ×ª×ž×š (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'בחירה',\n pleaseChoose: 'יש לבחור',\n this: '×–×”',\n one: ' ×חד',\n myChoice: 'הבחירה שלי'\n },\n hm: {\n addComment: 'יש להוסיף תגובה מתחת',\n commentMandatoryPlaceHolder: 'יש להוסיף תגובת חובה... ',\n commentOptionalPlaceHolder: 'יש להוסיף תגובה ××•×¤×¦×™×•× ×œ×™×ª...',\n dragPin: 'יש לגרור כדי ×œ×ž×§× ×ž×—×“×© לחיצה ×רוכה הקשה עבוד × ×¢×™×¦×” מדויקת. ',\n removePin: 'יש לגרור ×ל מחוץ ×œ×ª×ž×•× ×” כדי למחוק. ',\n editComment: 'לחצו הקישו על סיכה כדי לערוך ×ת התגובה. ',\n addPin: 'יש לגרור ×ת הסיכה מהלוח שלמטה ×•×œ×”× ×™×— ×ותה ×‘× ×§×•×“×” שתבחרו על ×”×ª×ž×•× ×”. ',\n addPins: 'יש לגרור ×ת הסיכות מהלוח שלמטה ×•×œ×”× ×™×— ×ותן ×‘× ×§×•×“×” שתבחרו על ×”×ª×ž×•× ×”. ',\n leavePins: (minPoints, maxPoints) => `סיכות מכל סוג. ${maxPoints} ×•×œ× ×™×•×ª×¨ מ- ${minPoints} יש להש×יר לפחות`,\n leavePinsAny: (minPoints, maxPoints) => `סיכות מכל סוג. ${maxPoints} ×•×œ× ×™×•×ª×¨ מ- ${minPoints} יש להש×יר לפחות`,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `סיכות מכל סוג. ${maxPoints} ×•×œ× ×™×•×ª×¨ מ ${minPoints} יש להש×יר לפחות `,\n leavePinsWithOff: maxPoints => `סיכות מכל סוג ×ו ללחוץ ׳הב×׳ כדי לדלג. ${maxPoints} יש להש×יר ×œ× ×™×•×ª×¨ מ `,\n leavePinsWithOffAny: maxPoints => `סיכות מכל סוג ×ו ללחוץ ׳הב×׳ כדי לדלג. ${maxPoints} יש להש×יר ×œ× ×™×•×ª×¨ מ- `,\n leavePinsPerPageWithOff: maxPoints => `סיכות מכל סוג ×ו ללחוץ ׳הב×׳ כדי לדלג. ${maxPoints} יש להש×יר ×œ× ×™×•×ª×¨ מ `,\n leavePinWithOff: `יש להש×יר ×œ× ×™×•×ª×¨ מסיכה ×חת מכל סוג ×ו ללחוץ ׳הב×׳ כדי לדלג. `,\n leavePinWithOffAny: `יש להש×יר ×œ× ×™×•×ª×¨ מסיכה ×חת מכל סוג ×ו ללחוץ ׳הב×׳ כדי לדלג.`,\n leavePinPerPageWithOff: 'יש להש×יר סיכה ×חת. ',\n leaveExactlyPin: `יש להש×יר סיכה ×חת מכל סוג.`,\n leaveExactlyPinAny: `יש להש×יר ×œ× ×™×•×ª×¨ מסיכה ×חת מכל סוג ×ו ללחוץ ׳הב×׳ כדי לדלג. `,\n leaveExactlyPinPerPage: 'יש להש×יר סיכה ×חת מכל סוג.',\n leaveExactlyPins: maxPoints => `סיכות מכל סוג. ${maxPoints} יש להש×יר `,\n leaveExactlyPinsAny: maxPoints => `סיכות מכל סוג. ${maxPoints} ייש להש×יר `,\n leaveExactlyPinsPerPage: maxPoints => `סיכות. ${maxPoints} יש להש×יר `,\n leaveComment: 'הקלידו מתחת ×œ×ª×ž×•× ×” כדי להש×יר תגובה.',\n noAnswers: '×ין ×פשרות לתשובה, יש ללחוץ ״הב××´ כדי להמשיך.',\n outOfPins: '× ×’×ž×¨×• לך הסיכות',\n pinsBehavior: 'כשתתקדמו ל×ורך ×”×ª×ž×•× ×” תר×ו ××–×•×¨×™× ×©×ž×¡×•×ž× ×™× ×¢×œ ידי סיכה × ×¢×•×¦×” ×חת.',\n clusters: 'תוכלו ×œ×ž×§× ×¡×™×›×•×ª רק ב××–×•×¨×™× ×”×ž×¡×•×ž× ×™× ×”×לה.',\n contentAware: '××ª× ×™×›×•×œ×™× ×œ×ž×§× ×¡×™×›×•×ª בתוך ומחוץ ל××–×•×¨×™× ×”×ž×¡×•×ž× ×™×.'\n },\n mp: {\n expand_note: 'יש להעביר ×ת הסמן מעל ×ו ללחוץ על ×ª×ž×•× ×”/×ª×ž×•× ×•×ª כדי להגדיל',\n rb_note: rows => `${rows ? 'למטה' : ''} יש לבחור רק תגובה ×חת לכל פריט :`,\n cb_note: (min, max, rows) => {\n if (min === max) {\n return ` יש לבחור ${min !== 1 ? 'כלשהן' : 'בלבד'} ${min} ${min !== 1 ? 'תגובות' : 'תגובה'} עבור כל פריט מטה:`\n } else if (min > 0 && max < 5000) {\n return ` יש לבחור לפחות ${min} ${min !== 1 ? 'תגובות' : 'תגובה'} ×ך ×œ× ×™×•×ª×¨ מ- ${max} ${\n rows ? 'למטה' : ''\n } עבור כל פריט : `\n } else if (5000 === max && min > 0) {\n return ` יש לבחור לפחות ${min} ${min !== 1 ? 'תגובות' : 'תגובה'} ${rows ? 'למטה' : ''} עבור כל פריט :`\n } else if (0 === min && max < 5000) {\n return ` ש לבחור ×œ× ×™×•×ª×¨ מ- ${max} ${max !== 1 ? 'תגובות' : 'תגובה'} ${rows ? 'למטה' : ''} עבור כל פריט :`\n } else {\n return 'יש לסמן ×ת כל מה שמת××™×:'\n }\n }\n },\n sh: {\n note: 'יש ללחוץ על מוצר כדי להגדיל ×ותו וכדי להוסיף ×ותו לעגלת ×”×§× ×™×•×ª הוירטו×לית ×©×œ×›× ×× ×ª×¨×¦×• ×œ×§× ×•×ª ×ותו ×‘×—× ×•×ª',\n amazonNote:\n 'יש ללחוץ על מוצר כדי להגדיל ×ותו וכדי להוסיף ×ותו לעגלת ×”×§× ×™×•×ª הוירטו×לית ×©×œ×›× ×× ×ª×¨×¦×• ×œ×§× ×•×ª ×ותו ברשת',\n fullCart: 'עגלת ×”×§× ×™×•×ª ×©×œ×›× ×ž×œ××”!',\n qty: 'כמות',\n each: 'יעדער',\n items: '×–×כן',\n addToCart: 'הוסיפו לעגלת ×”×§× ×™×•×ª',\n deleteFromCart: 'מחיקה',\n emptyCard: 'עגלת ×”×§× ×™×•×ª ×©×œ×›× ×¨×™×§×”',\n total: 'עגלת ×”×§× ×™×•×ª',\n clearCart: '×¨×•×§× ×• ×ת עגלת ×”×§× ×™×•×ª',\n backToStore: 'בחזרה ×œ×—× ×•×ª',\n na: '××£ ×חד מהללו',\n scrollError: `× × ×œ×’×œ×•×œ שמ×לה ×•×™×ž×™× ×” עד הסוף כדי להמשיך בסקר. `,\n next: 'הב×'\n },\n rb: {\n note: 'יש לבחור פריט ×חד בלבד:'\n },\n vo: {\n note: 'יש לצפות בסרטון עד הסוף'\n },\n cb: {\n note: (min, max) => {\n if (1 === min && 5000 === max) {\n return 'יש לסמן ×ת כל מה שמת××™×:'\n } else if (min === max) {\n return ` יש לבחור לפחות ${min !== 1 ? 'כל' : 'בדיוק'} ${min} תו ${min !== 1 ? 'כלשה×' : 'בלבד'}:`\n } else if (min > 0 && max < 5000) {\n return ` יש לבחור לפחות ${min} פריט ${min !== 1 ? '×™×' : ''} ×ך ×œ× ×™×•×ª×¨ מ- ${max} בכל שורה: `\n } else if (5000 === max && min > 0) {\n return ` יש לבחור לפחות ${min} פריט ${min !== 1 ? '×™×' : ''}:`\n } else if (0 === min && max < 5000) {\n return ` יש לבחור ×œ× ×™×•×ª×¨ מ ${max} פריט ${max !== 1 ? '×™×' : ''}:`\n } else {\n return 'יש לסמן ×ת כל מה שמת××™×:'\n }\n }\n },\n oe: {\n na: '×œ× ×™×©×™',\n note: (min, max, optional) => {\n if (min === max) {\n return `יש להקליד ${1 !== min ? 'כל' : 'בדיוק'} ${min} תו${1 !== min ? 'וי×' : ''}${\n optional ? ' (××•×¤×¦×™×•× ×œ×™)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `יש להקליד לפחות ${min} תו ${1 !== min ? 'וי×' : ''} ×ך ×œ× ×™×•×ª×¨ מ ${max}${\n optional ? ' (××•×¤×¦×™×•× ×œ×™)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `יש להקליד לפחות ${min} תו ${1 !== min ? 'וי×' : ''}${optional ? ' (××•×¤×¦×™×•× ×œ×™)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `יש להקליד ×œ× ×™×•×ª×¨ מ ${max} תו ${1 !== min ? 'וי×' : ''}${optional ? ' (××•×¤×¦×™×•× ×œ×™)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'יש ×œ×ž×œ× ×ת השדות הב××™×:'\n },\n mx: {\n note: 'יש להזיז ×ת ×”×ž×—×•×•× ×™× ×”×ž×•×“×’×©×™× ×›×“×™ להמשיך',\n dragSlider: 'יש לגרור שמ×לה ×ו ×™×ž×™× ×” כדי ×œ×¢× ×•×ª'\n },\n psc: {\n dragLeftRight: 'יש לגרור שמ×לה ×ו ×™×ž×™× ×” כדי ×œ×¢× ×•×ª'\n },\n ps: {\n note: value => `יש לחלק ${value} בין ×”×¤×¨×™×˜×™× ×©×œ×ž×˜×” `,\n allDone: `×¡×™×™×ž× ×•`,\n total: `Общо:`,\n dragSlider: 'יש לגרור שמ×לה ×ו ×™×ž×™× ×” כדי ×œ×¢× ×•×ª'\n },\n cx: {\n note: 'פתחו ×ת שדה הטקסט והחלו להקליד ×ת התשובה ×©×œ×›× ×›×“×™ לגלול ב×ופן ×וטומטי, ×ו בחרו ב×ופן ×™×“× ×™'\n },\n ro: {\n note: 'יש לגרור למעלה ×ו למטה כדי לסדר מחדש:'\n },\n md: {\n // eslint-disable-next-line no-useless-concat\n note1: 'יש ללחוץ/להקיש על הפריט הר×שון שתרצו לבחור<br/>' + ' יש ללחוץ/להקיש שוב כדי ×œ× ×§×•×ª ×ת הבחירה.',\n // eslint-disable-next-line no-useless-concat\n note2: 'כעת יש ללחוץ/להקיש על הפריט ×”×חרון שתרצו לבחור<br/>' + ' יש ללחוץ/להקיש שוב כדי ×œ× ×§×•×ª ×ת הבחירה.',\n note3: 'תודה! המשיכו לש×לה הב××” ×ו לחצו/הקישו על כל פריט ×©×œ× × ×‘×—×¨ כדי להתחיל מחדש.'\n },\n aro: {\n note: 'יש לבחור פריט ×חד מכל צמד.'\n },\n wd: {\n note: 'יש ×œ×•×•×“× ×©×›×œ ערך עוקב גדול יותר מזה ×©×œ×¤× ×™×•.'\n },\n emd: {\n note: 'יש לצפות בסרטון עד הסוף',\n noAnswers: '×ין ×פשרות לתשובה, יש ללחוץ ״הב××´ כדי להמשיך.',\n start: 'יש ללחוץ ולהחזיק כדי להתחיל',\n resume: 'יש ללחוץ ולהחזיק כדי להמשיך',\n continue: '××ª× ×ž×•×›× ×™×! יש ללחוץ ׳הב×׳ כדי להמשיך',\n continueMobile: '××ª× ×ž×•×›× ×™×! לחצו ×›×ן כדי להמשיך',\n training: {\n session: '×ימון',\n note: 'יש ×œ×¡×™×™× ×ת ההכשרה',\n moveLeft: 'יש לגרור ×ת החוגה עד הסוף לצד שמ×ל',\n moveBottom: 'יש לגרור ×ת החוגה עד הסוף לחלק התחתון',\n moveRight: 'עכשיו, בבקשה יש לגרור ×ת החוגה עד הסוף לצדימין',\n moveTop: 'עכשיו, בבקשה יש לגרור ×ת החוגה עד הסוף לחלק העליון',\n success: 'עבודה מעולה!'\n }\n },\n sft: {\n noAnswers: '×ין ×פשרות לתשובה, יש ללחוץ ״הב××´ כדי להמשיך.',\n note: 'יש ×œ×¢× ×•×ª כמה שיותר מהר תשובה שמרגישה × ×›×•× ×” ב×ופן ××™× ×˜×•×יטיבי',\n imageError: 'No image exposure time chosen',\n finish: 'סיימת×! יש ללחוץ ׳הב×׳ כדי להמשיך.',\n training: {\n start:\n '<p>בש×לה הזו יוצגו ×œ×›× ×ž×™×œ×™× ×©×•× ×•×ª במהירות ותידרשו להתרכז. תצטרכו להגיב במהירות כדי ×œ×¢× ×•×ª </p>' +\n ' <p> ×ž×•×›× ×™× ×œ×”×ª×מן? </p>',\n step1: (touch, mouse, key) =>\n touch\n ? `הקישו \"{buttonLeft}\"`\n : (mouse ? `לחצו \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `הקישו על המקש \"{keyBtnLeft}\"` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `הקישו \"{buttonRight}\"`\n : (mouse ? `לחצו \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `הקישו על המקש \"{keyBtnRight}\"` : ''),\n fail: () => 'ל×ט מדי',\n success: () => 'עבודה מעולה!',\n finish: () =>\n '<p><strong> מצוין!</strong></p><p>יש ×œ×•×•×“× ×©×“×¢×ª×›× ×œ× ×ª×”×™×” מוסחת ב-2-3 הדקות הב×ות <br />' +\n '</p><p>לחצו ׳הב×׳ כדי להתחיל כשתהיו ×ž×•×›× ×™×</p>'\n },\n buttons: {\n start: 'התחלה',\n yesno: {\n left: 'כן',\n right: 'ל×'\n },\n matches: {\n left: 'הת×מה',\n right: '×œ× ×”×ª×מה'\n },\n fits: {\n left: 'מת××™×',\n right: '×œ× ×ž×ª××™×'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n },\n noyes: {\n left: 'Да',\n right: 'Ðе'\n },\n matchesRev: {\n left: 'הת×מה',\n right: '×œ× ×”×ª×מה'\n },\n fitsRev: {\n left: 'מת××™×',\n right: '×œ× ×ž×ª××™×'\n },\n thumbsRev: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: \"जवाब हेतॠकोई विकलà¥à¤ª उपलबà¥à¤§ नहीं, कृपया जारी रखने हेतॠ'अगला' पर कà¥à¤²à¤¿à¤• करें\",\n placeholder: 'कृपया निरà¥à¤¦à¤¿à¤·à¥à¤Ÿ करें...',\n pleaseSelect: 'कृपया चà¥à¤¨à¥‡à¤‚...',\n rotateLandscape: 'कृपया जारी रखने के लिठआलेख से आलेख पर फोन घà¥à¤®à¤¾à¤à¤‚।',\n rotatePortrait: 'कृपया जारी रखने के लिठआलेख से आलेख पर फोन घà¥à¤®à¤¾à¤à¤‚।',\n ir: {\n selectWebCam: \"अपने डिवाइस से अपलोड करने हेतॠ(अगर उपलबà¥à¤§ हो तो) वेबकैम का चयन करें या 'बà¥à¤°à¤¾à¤‰à¥›' पर कà¥à¤²à¤¿à¤• करें\",\n noWebCam: 'वेबकैम उपलबà¥à¤§ नहीं है',\n accessCamUpload: 'कैमरा का उपयोग करें/अपलोड करें',\n browse: 'बà¥à¤°à¤¾à¤‰à¥›',\n uploadPhoto: 'कोई फोटो अपलोड करें',\n instead: 'इसके बजाय',\n capture: 'खीचें',\n somethingWrong: 'कà¥à¤·à¤®à¤¾ करें, कà¥à¤› गलत हो गया। कृपया, बाद में पà¥à¤¨à¤ƒ पà¥à¤°à¤¯à¤¾à¤¸ करें',\n couldntRead: 'कà¥à¤·à¤®à¤¾ करें, हम कोड नहीं पॠसकें!',\n couldntProcess: 'कà¥à¤·à¤®à¤¾ करें, हम आपकी तसà¥à¤µà¥€à¤° को संसाधित नहीं कर सके!',\n moveOn: 'कृपया पà¥à¤¨à¤ƒ पà¥à¤°à¤¯à¤¾à¤¸ करें या अपनी फोटो सबमिट करें और आगे बà¥à¥‡à¤‚',\n tryAgain: 'कृपया पà¥à¤¨à¤ƒ पà¥à¤°à¤¯à¤¾à¤¸ करें',\n dataReceived: 'देटा पà¥à¤°à¤¾à¤ªà¥à¤¤ हà¥à¤†!',\n enterManually: 'कृपया पà¥à¤¨à¤ƒ पà¥à¤°à¤¯à¤¾à¤¸ करें या नीचे सà¥à¤µà¤¯à¤‚ डेटा पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿ करें',\n positionQR:\n 'कृपया लाल फà¥à¤°à¥‡à¤® में ठीक से आ सके इसके लिठकà¥à¤¯à¥‚आर कोड को अपने कैमरा के सामने रखें या इसे अपने कंपà¥à¤¯à¥‚टर से अपलोड करें।',\n analyzing: 'तसà¥à¤µà¥€à¤° का विशà¥à¤²à¥‡à¤·à¤£ कर रहे हैं, कृपया पà¥à¤°à¤¤à¥€à¤•à¥à¤·à¤¾ करें',\n submit: 'सबमिट करें',\n startOver: 'पà¥à¤°à¤¾à¤°à¤‚ठकरें',\n allDone: 'सब कà¥à¤› हो गया!',\n cantAnalyze:\n 'धà¥à¤¯à¤¾à¤¨ दें - हम इस छवि को पà¥à¤°à¤¸à¥à¤¤à¥à¤¤ नहीं कर सके। कृपया फिर से सबमिट करने का पà¥à¤°à¤¯à¤¾à¤¸ करें या अधिक सामानà¥à¤¯ इमेज फॉरà¥à¤®à¥‡à¤Ÿ (JPG, PNG, GIF, BMP) चà¥à¤¨à¥‡à¤‚',\n wrongFormat:\n 'हमें खेद है - हम इस फ़ाइल पà¥à¤°à¤¾à¤°à¥‚प का समरà¥à¤¥à¤¨ नहीं करते हैं। कृपया समरà¥à¤¥à¤¿à¤¤ इमेज पà¥à¤°à¤•à¤¾à¤° (JPG, PNG, GIF, BMP, TIF, PDF, SVG) अपलोड करें'\n },\n vr: {\n noWebCam: 'वेबकैम उपलबà¥à¤§ नहीं है',\n uploadVideo: 'à¤à¤• वीडियो अपलोड करें',\n skip: 'छोड़ दें?',\n accessCamUpload: 'कैमरा का उपयोग करें/अपलोड करें',\n browse: 'बà¥à¤°à¤¾à¤‰à¥›',\n instead: 'इसके बजाय',\n or: 'या',\n stopRecording: 'रिकॉरà¥à¤¡à¤¿à¤‚ग बंद करें',\n willBeStopped: 'रिकॉरà¥à¤¡à¤¿à¤‚ग 5 मिनट पर बंद हो जाà¤à¤—ी',\n stopOnDone: 'जब आप पूरा कर लेंगे तब रिकॉरà¥à¤¡à¤¿à¤‚ग बंद करें!',\n record: 'रिकॉरà¥à¤¡',\n somethingWrong: 'कà¥à¤·à¤®à¤¾ करें, कà¥à¤› गलत हो गया। कृपया, बाद में पà¥à¤¨à¤ƒ पà¥à¤°à¤¯à¤¾à¤¸ करें',\n microphone: 'माइकà¥à¤°à¥‹à¤«à¤¼à¥‹à¤¨',\n camera: 'वेब कैमेरा',\n selectMicrophone: 'अपना माइकà¥à¤°à¥‹à¤«à¤¼à¥‹à¤¨ चà¥à¤¨à¥‡à¤‚',\n selectCam: 'अपना वेब कैमरा चà¥à¤¨à¥‡à¤‚',\n upload: 'अपलोड',\n playback: 'पà¥à¤²à¥‡à¤¬à¥ˆà¤•',\n stopPlayback: 'खेल को रोकें',\n submit: 'सबमिट करें',\n startOver: 'पà¥à¤°à¤¾à¤°à¤‚ठकरें',\n allDone: 'सब कà¥à¤› हो गया!',\n alternativeRecordSpan: 'कृपया, अपने कंपà¥à¤¯à¥‚टर से वीडियो-कà¥à¤²à¤¿à¤ª अपलोड करें। वैकलà¥à¤ªà¤¿à¤•<br/> ',\n alrenativeRecordHref: 'रूप से आप à¤à¤• वेबकैम के साथ वीडियो रिकॉरà¥à¤¡ कर सकते हैं।',\n cantAnalyze:\n 'धà¥à¤¯à¤¾à¤¨ दें - हम इस वीडियो को पà¥à¤°à¤¸à¥à¤¤à¥à¤¤ नहीं कर सके। कृपया फिर से सबमिट करने का पà¥à¤°à¤¯à¤¾à¤¸ करें या अधिक सामानà¥à¤¯ वीडियो फॉरà¥à¤®à¥‡à¤Ÿ (MP4, M4V, WEBPM) चà¥à¤¨à¥‡à¤‚',\n wrongFormat:\n 'हमें खेद है - हम इस फ़ाइल पà¥à¤°à¤¾à¤°à¥‚प का समरà¥à¤¥à¤¨ नहीं करते हैं। कृपया à¤à¤• समरà¥à¤¥à¤¿à¤¤ वीडियो पà¥à¤°à¤•à¤¾à¤° (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV) अपलोड करें'\n },\n cjc: {\n choose: 'चà¥à¤¨à¥‡à¤‚',\n pleaseChoose: 'कृपया चà¥à¤¨à¥‡à¤‚',\n this: 'यह',\n one: 'à¤à¤•',\n myChoice: 'मेरी पसंद'\n },\n hm: {\n addComment: 'कृपया नीचे à¤à¤• टिपà¥à¤ªà¤£à¥€ जोड़ें ',\n commentMandatoryPlaceHolder: 'कृपया अनिवारà¥à¤¯ टिपà¥à¤ªà¤£à¥€ जोड़ें ... ',\n commentOptionalPlaceHolder: 'कृपया वैकलà¥à¤ªà¤¿à¤• टिपà¥à¤ªà¤£à¥€ जोड़ें ... ',\n dragPin: 'सà¥à¤¥à¤¿à¤¤à¤¿ बदलने के लिठडà¥à¤°à¥ˆà¤— करें (सटीक पिन करने के लिठदेर तक कà¥à¤²à¤¿à¤• / टैप करें)। ',\n removePin: 'मिटाने के लिठइमेज के बाहर डà¥à¤°à¥ˆà¤— करें। ',\n editComment: 'टिपà¥à¤ªà¤£à¥€ बदलने के लिठपिन पर कà¥à¤²à¤¿à¤•/टैप करें। ',\n addPin: 'कृपया नीचे दिठगठपैनल में से पिन डà¥à¤°à¥ˆà¤— करें और इसे इमेज पर अपनी पसंद की जगह पर छोड़ दें। ',\n addPins: 'कृपया नीचे दिठगठपैनल में से पिन डà¥à¤°à¥ˆà¤— करें और उनà¥à¤¹à¥‡à¤‚ इमेज पर अपनी पसंद की जगह पर छोड़ दें। ',\n leavePins: (minPoints, maxPoints) =>\n `कृपया हर तरह की कम से कम ${minPoints} पिन छोड़ दें लेकिन ${maxPoints} पिन से अधिक नहीं। `,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `कृपया कम से कम ${minPoints} पिन छोड़ दें लेकिन ${maxPoints} से अधिक नहीं। `,\n leavePinsWithOff: maxPoints =>\n `कृपया हर पà¥à¤°à¤•à¤¾à¤° की ${maxPoints} पिन से अधिक न छोड़ें या सà¥à¤•à¤¿à¤ª करने के लिठअगला पर कà¥à¤²à¤¿à¤• करें। `,\n leavePinsPerPageWithOff: maxPoints =>\n `कृपया ${maxPoints} पिन से अधिक न छोड़ें या सà¥à¤•à¤¿à¤ª करने के लिठअगला पर कà¥à¤²à¤¿à¤• करें। `,\n leavePinWithOff: 'कृपया हर पà¥à¤°à¤•à¤¾à¤° की 1 से अधिक पिन न छोड़ें या सà¥à¤•à¤¿à¤ª करने के लिठअगला पर कà¥à¤²à¤¿à¤• करें। ',\n leavePinPerPageWithOff: 'कृपया 1 पिन से अधिक न छोड़ें या सà¥à¤•à¤¿à¤ª करने के लिठअगला पर कà¥à¤²à¤¿à¤• करें। . ',\n leaveExactlyPin: 'कृपया हर तरह की 1 पिन छोड़ें। ',\n leaveExactlyPinPerPage: 'कृपया 1 पिन छोड़ें। ',\n leaveExactlyPins: maxPoints => `कृपया हर तरह की ${maxPoints} पिन छोड़ें। `,\n leaveExactlyPinsPerPage: maxPoints => `कृपया ${maxPoints} पिन छोड़ें। `,\n leaveComment: 'टिपà¥à¤ªà¤£à¥€ छोड़ने के लिठइमेज के नीचे टाइप करें। ',\n noAnswers: 'कोई उतà¥à¤¤à¤° विकलà¥à¤ª नहीं, कृपया जारी रखने के लिठअगला पर कà¥à¤²à¤¿à¤• करें।',\n outOfPins: 'आप पिंनों से बाहर हैं',\n pinsBehavior:\n 'जैसे-जैसे आप इमेज के साथ आगे बढ़ते हैं, आपको वो जगहें दिखेंगी जिनà¥à¤¹à¥‡à¤‚ à¤à¤• पिन डà¥à¤°à¥‰à¤ª के साथ हाइलाइट किया जाà¤à¤—ा।',\n clusters: 'आप केवल इन हाइलाइट की गई जगहों में ही पिन लगा पाà¤à¤‚गे।',\n contentAware: 'आप इन हाइलाइट की गई जगहों के अंदर या बाहर पिन डà¥à¤°à¥‰à¤ª सकते हैं।'\n },\n mp: {\n expand_note: 'विसà¥à¤¤à¥ƒà¤¤ करने के लिठकृपया ऊपर होवर करें या छवि (छवियों) पर कà¥à¤²à¤¿à¤• करें',\n rb_note: rows =>\n `कृपया ${rows ? 'नीचे ' : ''}दिठगठपà¥à¤°à¤¤à¥à¤¯à¥‡à¤• आइटम के लिठकेवल 1 पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾/पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾à¤à¤‚ चà¥à¤¨à¥‡à¤‚:`,\n cb_note: (min, max, rows) => {\n if (1 === min && 5000 === max) {\n return 'लागू होने वाले सà¤à¥€ की जाà¤à¤š करें:'\n } else if (min === max) {\n return `कृपया ${rows ? 'नीचे ' : ''}दिठगठपà¥à¤°à¤¤à¥à¤¯à¥‡à¤• आइटम के लिà¤${min !== 1 ? 'कोई à¤à¥€' : 'केवल'} ${min} ${\n min !== 1 ? 'पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾à¤à¤‚' : 'पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾'\n } चà¥à¤¨à¥‡à¤‚:`\n } else if (min > 0 && max < 5000) {\n return `कृपया ${rows ? 'नीचे ' : ''}पà¥à¤°à¤¤à¤¿ आइटम कम से कम ${min} ${\n min !== 1 ? 'पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾à¤à¤‚' : 'पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾'\n } चà¥à¤¨à¥‡à¤‚ लेकिन ${max} से अधिक नहीं:`\n } else if (5000 === max && min > 0) {\n return `कृपया ${rows ? 'नीचे ' : ''}पà¥à¤°à¤¤à¤¿ आइटम कम से कम ${min} ${\n min !== 1 ? 'पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾à¤à¤‚' : 'पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾'\n } चà¥à¤¨à¥‡à¤‚:`\n } else if (0 === min && max < 5000) {\n return `कृपया ${rows ? 'नीचे ' : ''}पà¥à¤°à¤¤à¤¿ आइटम ${max} से अधिक ${\n max !== 1 ? 'पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾à¤à¤‚' : 'पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾'\n } न चà¥à¤¨à¥‡à¤‚:`\n } else {\n return 'लागू होने वाले सà¤à¥€ की जाà¤à¤š करें:'\n }\n }\n },\n sh: {\n note: 'यदि आप किसी उतà¥à¤ªà¤¾à¤¦ को सà¥à¤Ÿà¥‹à¤° से खरीदना चाहते हैं तो उसे ज़ूम इन करने और अपने वरà¥à¤šà¥à¤…ल कारà¥à¤Ÿ में जोड़ने के लिठउस पर कà¥à¤²à¤¿à¤• करें',\n amazonNote: 'ज़ूम इन करने के लिठकिसी उतà¥à¤ªà¤¾à¤¦ पर कà¥à¤²à¤¿à¤• करें और अपनी वरà¥à¤šà¥à¤…ल कारà¥à¤Ÿ में जोड़ें.',\n fullCart: 'आपका कारà¥à¤Ÿ à¤à¤° गया है!',\n qty: 'मातà¥à¤°à¤¾',\n addToCart: 'कारà¥à¤Ÿ में जोड़ें',\n deleteFromCart: 'हटाà¤à¤‚',\n each: 'पà¥à¤°à¤¤à¥à¤¯à¥‡à¤•',\n items: 'सामान',\n emptyCard: 'आपका कारà¥à¤Ÿ खाली है!',\n next: 'अगला',\n total: 'कारà¥à¤Ÿ',\n clearCart: 'कारà¥à¤Ÿ खाली करें',\n backToStore: 'सà¥à¤Ÿà¥‹à¤° पर वापस जाà¤à¤‚',\n na: 'उपरोकà¥à¤¤ में से कोई à¤à¥€ नहीं',\n maxCartCountError: max => `कृपया अपनी कारà¥à¤Ÿ में ${max} उतà¥à¤ªà¤¾à¤¦à¥‹à¤‚ से अधिक नहीं जोड़ें `,\n scrollError: `इस सरà¥à¤µà¥‡ में आगे बढ़ने के लिठकृपया बाà¤à¤‚ और दाà¤à¤‚ पूरी तरह से सà¥à¤•à¥à¤°à¥‰à¤² करें। `,\n maxSpentError: max => `कृपया ${max} से अधिक नहीं खरà¥à¤šà¥‡à¤‚।`,\n maxProductCountError: max => `कृपया हर उतà¥à¤ªà¤¾à¤¦ के लिठअपनी कारà¥à¤Ÿ में ${max} से अधिक की मातà¥à¤°à¤¾ नहीं जोड़ें।`\n },\n rb: {\n note: 'कृपया कम से कम 1 वरà¥à¤£ लिखें।'\n },\n vo: {\n note: 'कृपया वीडियो को अंत तक देखें'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `कृपया ${min !== 1 ? 'किसी à¤à¥€' : 'केवल'} ${min} वसà¥à¤¤à¥ का चयन करें:`\n } else if (min > 0 && max < 5000) {\n return `कृपया कम से कम ${min} वसà¥à¤¤à¥ पर चà¥à¤¨à¥‡à¤‚, लेकिन ${max} पà¥à¤°à¤¤à¤¿ कॉलम से अधिक नहीं चà¥à¤¨à¥‡à¤‚:`\n } else if (5000 === max && min > 0) {\n return `कृपया कम से कम ${min} कवरà¥à¤£ लिखें।:`\n } else if (0 === min && max < 5000) {\n return `कृपया ${max} वसà¥à¤¤à¥ से अधिक नहीं चà¥à¤¨à¥‡à¤‚:`\n } else {\n return 'लागू होने वाले सà¤à¥€ की जाà¤à¤š करें:'\n }\n }\n },\n oe: {\n na: 'लागू नहीं',\n note: (min, max, optional) => {\n if (min === max) {\n return `कृपया टाइप करें ${1 !== min ? 'कोई à¤à¥€' : 'बिलà¥à¤•à¥à¤²'} ${min} वरà¥à¤£${optional ? ' (वैकलà¥à¤ªà¤¿à¤•)' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `?कृपया कम से कम ${min} वरà¥à¤£ टाइप करें लेकिन ${max}${optional ? ' (वैकलà¥à¤ªà¤¿à¤•)' : ''}:`\n } else if (5000 === max && min > 0) {\n return `कृपया कम से कम ${min} वरà¥à¤£ टाइप करें${optional ? ' (वैकलà¥à¤ªà¤¿à¤•)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `कृपया ${max} वरà¥à¤£ से अधिक टाइप न करें${optional ? ' (वैकलà¥à¤ªà¤¿à¤•)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'कृपया निमà¥à¤¨à¤²à¤¿à¤–ित कोषà¥à¤Ÿà¤•à¥‹à¤‚ को à¤à¤°à¥‡à¤‚:'\n },\n mx: {\n note: 'कृपया जारी रखने हेतॠविशिषà¥à¤Ÿ रूप से दरà¥à¤¶à¤¾à¤ गठसà¥à¤²à¤¾à¤‡à¤¡à¤°à¥à¤¸ को सरकाà¤à¤‚',\n dragSlider: 'जवाब देने के लिठबाà¤à¤‚ या दाà¤à¤‚ खींचें'\n },\n psc: {\n dragLeftRight: 'जवाब देने के लिठबाà¤à¤‚ या दाà¤à¤‚ खींचें'\n },\n ps: {\n note: value => `कृपया नीचे दिठगठमदों के बीच शेष ${value} को वितरित करें`,\n allDone: 'सब कà¥à¤› हो गया!',\n total: `संपूरà¥à¤£:`,\n dragSlider: 'जवाब देने के लिठबाà¤à¤‚ या दाà¤à¤‚ खींचें'\n },\n cx: {\n note: 'डà¥à¤°à¥‰à¤ªà¤¬à¥‰à¤•à¥à¤¸ खोलें और सà¥à¤µà¤¤: सà¥à¤•à¥à¤°à¥‰à¤² करने के लिठअपना जवाब टाइप करना पà¥à¤°à¤¾à¤°à¤‚ठकरें या मैनà¥à¤¯à¥à¤…ल रूप से उसका चयन करें'\n },\n ro: {\n note: 'पà¥à¤¨à¤°à¥à¤•à¥à¤°à¤®à¤¿à¤¤ करने के लिठऊपर या नीचे खींचें:'\n },\n md: {\n note1:\n 'कृपया अपनी पहली पसंद के आइटम पर कà¥à¤²à¤¿à¤• / टैप करें पसंद सà¥à¤ªà¤·à¥à¤Ÿ करने के लिठफिर से कà¥à¤²à¤¿à¤• / टैप करें। अब कृपया अपनी अंतिम पसंद के आइटम पर कà¥à¤²à¤¿à¤• / टैप करें',\n note2: 'अब कृपया अपनी आख़िरी पसंद के आइटम पर कà¥à¤²à¤¿à¤• / टैप करें पसंद सà¥à¤ªà¤·à¥à¤Ÿ करने के लिठफिर से कà¥à¤²à¤¿à¤•/टैप करें।',\n note3: 'धनà¥à¤¯à¤µà¤¾à¤¦! अगले पà¥à¤°à¤¶à¥à¤¨ के लिठजाà¤à¤‚ या शà¥à¤°à¥‚ करने के लिठकिसी à¤à¥€ अचयनित आइटम पर कà¥à¤²à¤¿à¤• / टैप करें।'\n },\n aro: {\n note: 'कृपया पà¥à¤°à¤¤à¥à¤¯à¥‡à¤• जोड़ी के लिठà¤à¤• वसà¥à¤¤à¥ चà¥à¤¨à¥‡à¤‚।'\n },\n wd: {\n note: 'सà¥à¤¨à¤¿à¤¶à¥à¤šà¤¿à¤¤ करें कि पà¥à¤°à¤¤à¥à¤¯à¥‡à¤• अनà¥à¤µà¤°à¥à¤¤à¥€ मूलà¥à¤¯ पिछले से अधिक है।'\n },\n emd: {\n note: 'कृपया वीडियो को अंत तक देखें',\n noAnswers: \"जवाब हेतॠकोई विकलà¥à¤ª उपलबà¥à¤§ नहीं, कृपया जारी रखने हेतॠ'अगला' पर कà¥à¤²à¤¿à¤• करें\",\n start: 'शà¥à¤°à¥‚ करने के लिठकà¥à¤²à¤¿à¤• करें और दबाठरखें',\n resume: 'फिर से शà¥à¤°à¥‚ करने के लिठकà¥à¤²à¤¿à¤• करें और दबाठरखें',\n continue: 'आप तैयार हैं! <br/> जारी रखने के लिठआगे को दबाà¤à¤‚',\n continueMobile: 'आप तैयार हैं! <br/> जारी रखने के लिठयहां कà¥à¤²à¤¿à¤• करें',\n training: {\n session: 'पà¥à¤°à¤¶à¤¿à¤•à¥à¤·à¤£ सतà¥à¤°',\n note: 'कृपया पà¥à¤°à¤¶à¤¿à¤•à¥à¤·à¤£ समापà¥à¤¤ करें',\n moveLeft: 'कृपया डायल को खींच कर पूरी तरह से बाईं ओर ले जाà¤à¤‚',\n moveBottom: 'कृपया डायल को खींच कर पूरी तरह से तल तक ले जाà¤à¤‚',\n moveRight: 'कृपया डायल को खींच कर पूरी तरह से दाईं ओर ले जाà¤à¤‚',\n moveTop: 'कृपया डायल को खींच कर पूरी तरह से शीरà¥à¤· पर ले जाà¤à¤‚',\n success: 'बहà¥à¤¤ बà¥à¤¿à¤¯à¤¾!'\n }\n },\n sft: {\n noAnswers: \"जवाब हेतॠकोई विकलà¥à¤ª उपलबà¥à¤§ नहीं, कृपया जारी रखने हेतॠ'अगला' पर कà¥à¤²à¤¿à¤• करें\",\n note: 'कृपया जो विकलà¥à¤ª आपको सहज रूप से सही लगता है उसका जलà¥à¤¦ से जलà¥à¤¦ उतà¥à¤¤à¤° के रूप में चयन करें',\n finish: 'आपने इसे पूरा कर लिया हैं! <br /> जारी रखने के लिठकृपया आगे पर कà¥à¤²à¤¿à¤• करें',\n training: {\n start:\n '<p>यह पà¥à¤°à¤¶à¥à¤¨ आपको तेजी से अलग-अलग शबà¥à¤¦ दिखाà¤à¤—ा और इसके लिठआपकी à¤à¤•à¤¾à¤—à¥à¤°à¤¤à¤¾ की आवशà¥à¤¯à¤•à¤¤à¤¾ होगी। ' +\n 'जवाब देने के लिठआपको तà¥à¤°à¤‚त पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾ देनी होगी.</p> <p>कà¥à¤¯à¤¾ आप अà¤à¥à¤¯à¤¾à¤¸ करने के लिठतैयार हैं?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `\"{buttonLeft}\" पर टैप करें`\n : (mouse ? `\"{buttonLeft}\" पर कà¥à¤²à¤¿à¤• करे` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `\"{keyBtnLeft}\" कà¥à¤‚जी दबाà¤à¤‚` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `\"{buttonRight}\" पर टैप करें`\n : (mouse ? `\"{buttonRight}\" पर कà¥à¤²à¤¿à¤• करें` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `\"{keyBtnRight}\" कà¥à¤‚जी दबाà¤à¤‚` : ''),\n fail: () => 'बहà¥à¤¤ धीमा',\n success: () => 'बहà¥à¤¤ बà¥à¤¿à¤¯à¤¾!',\n finish: () =>\n '<p><strong> अति उतà¥à¤¤à¤®!</strong></p><p>कृपया सà¥à¤¨à¤¿à¤¶à¥à¤šà¤¿à¤¤ करें कि आप अगले </p><p>2-3 मिनट बिना विचलित हà¥à¤ इस पर à¤à¤•à¤¾à¤—à¥à¤°à¤¤à¤¾ से काम कर सकते हैं</p><p>तैयार होने पर शà¥à¤°à¥‚ करने के लिठआगे पर कà¥à¤²à¤¿à¤• करें</p>'\n },\n buttons: {\n start: 'शà¥à¤°à¥‚ करें',\n yesno: {\n left: 'हाà¤',\n right: 'नहीं'\n },\n matches: {\n left: 'मेल खा रहा है',\n right: 'मेल नहीं खा रहा है'\n },\n fits: {\n left: 'उपयà¥à¤•à¥à¤¤ है',\n right: 'उपयà¥à¤•à¥à¤¤ नहीं है'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Tidak ada pilihan jawaban, silakan klik berikutnya untuk melanjutkan.',\n placeholder: 'Mohon sebutkan…',\n pleaseSelect: 'Mohon pilih…',\n rotateLandscape: 'Putar ponsel Anda dari potret ke lanskap untuk melanjutkan.',\n rotatePortrait: 'Putar ponsel Anda dari lanskap ke potret untuk melanjutkan.',\n ir: {\n selectWebCam: \"Pilih webcam (jika tersedia) atau klik 'Cari' untuk mengunggah dari perangkat Anda\",\n noWebCam: 'Tidak ada webcam terdeteksi',\n accessCamUpload: 'AKSES KAMERA/UNGGAH',\n browse: 'CARI',\n uploadPhoto: 'Unggah foto',\n instead: 'sebaliknya',\n capture: 'AMBIL FOTO',\n somethingWrong: 'Maaf, terjadi kesalahan. Silakan coba lagi nanti.',\n couldntRead: 'Maaf, kode tidak dapat dibaca!',\n couldntProcess: 'Maaf, gambar tidak dapat diproses!',\n moveOn: 'Silakan coba lagi atau kirim foto Anda dan lanjutkan',\n tryAgain: 'Silakan coba lagi',\n dataReceived: 'Data diterima!',\n enterManually: 'Silakan coba lagi atau masukkan data secara manual di bawah ini',\n positionQR:\n 'Posisikan kode QR di depan kamera untuk memuatnya di dalam bingkai merah atau unggah dari komputer Anda.',\n analyzing: 'Menganalisis gambar, mohon tunggu',\n submit: 'KIRIM',\n startOver: 'Rekam ulang',\n allDone: 'Selesai!',\n cantAnalyze:\n 'Perhatian - kami tidak dapat menggabungkan gambar ini. Cobalah untuk mengirim ulang atau pilih format gambar yang lebih umum (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Maaf - kami tidak mendukung format fail ini. Unggah tipe gambar yang didukung (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Tidak ada webcam terdeteksi',\n uploadVideo: 'Unggah video',\n skip: 'Lewati?',\n accessCamUpload: 'AKSES KAMERA/UNGGAH',\n browse: 'CARI',\n instead: 'sebaliknya',\n or: 'atau',\n stopRecording: 'Berhenti merekam',\n willBeStopped: 'Perekaman akan berhenti setelah 5 menit',\n stopOnDone: 'Berhentilah merekam saat Anda selesai!',\n record: 'REKAM',\n somethingWrong: 'Maaf, terjadi kesalahan. Silakan coba lagi nanti.',\n microphone: 'Mikropon',\n camera: 'Kamera Web',\n selectMicrophone: 'Pilih mikrofon Anda',\n selectCam: 'Pilih kamera web Anda',\n upload: 'Unggah',\n playback: 'Pemutaran',\n stopPlayback: 'BERHENTI',\n submit: 'KIRIM',\n startOver: 'Rekam ulang',\n allDone: 'Selesai!',\n alternativeRecordSpan: 'Mohon unggah klip video dari komputer<br/>Anda, ',\n alrenativeRecordHref: ' atau Anda dapat merekam video dengan kamera web.',\n cantAnalyze:\n 'Perhatian - kami tidak dapat menggabungkan video ini. Cobalah untuk mengirim ulang atau pilih format video yang lebih umum (MP4, M4V, WEBPM)',\n wrongFormat:\n 'Maaf - kami tidak mendukung format fail ini. Unggah tipe video yang didukung (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'PILIH',\n pleaseChoose: 'Silakan pilih',\n this: 'Yang',\n one: 'INI',\n myChoice: 'PILIHAN Saya'\n },\n hm: {\n addComment: 'Silakan tambahkan komentar di bawah ini',\n commentMandatoryPlaceHolder: 'Silakan tambahkan komentar wajib... ',\n commentOptionalPlaceHolder: 'Silakan tambahkan komentar opsional... ',\n dragPin: 'Seret untuk memposisikan ulang (klik lama/ketuk untuk pemberian pin presisi). ',\n removePin: 'Seret ke luar gambar untuk menghapus. ',\n editComment: 'Klik/ketuk pin untuk mengedit komentar. ',\n addPin: 'Seret pin dari panel di bawah ini dan letakkan di tempat pilihan Anda pada gambar. ',\n addPins: 'Seret pin dari panel di bawah ini dan letakkan di tempat pilihan Anda pada gambar. ',\n leavePins: (minPoints, maxPoints) =>\n `Silakan tinggalkan setidaknya ${minPoints} tetapi tidak lebih dari ${maxPoints} pin dari semua jenis. `,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `Silakan tinggalkan setidaknya ${minPoints} tetapi tidak lebih dari ${maxPoints} pin. `,\n leavePinsWithOff: maxPoints =>\n `Silakan tinggalkan tidak lebih dari ${maxPoints} pin dari segala jenis atau klik Berikutnya untuk melewati. `,\n leavePinsPerPageWithOff: maxPoints =>\n `Silakan tinggalkan tidak lebih dari ${maxPoints} pin atau klik Berikutnya untuk melewati. `,\n leavePinWithOff:\n 'Silakan tinggalkan tidak lebih dari 1 pin dari setiap jenis atau klik Berikutnya untuk melewati. ',\n leavePinPerPageWithOff: 'Silakan tinggalkan tidak lebih dari 1 pin atau klik Berikutnya untuk melewati. ',\n leaveExactlyPin: 'Silakan tinggalkan 1 pin dari setiap jenis. ',\n leaveExactlyPinPerPage: 'Silakan tinggalkan 1 pin. ',\n leaveExactlyPins: maxPoints => `Silakan tinggalkan ${maxPoints} pin dari segala jenis. `,\n leaveExactlyPinsPerPage: maxPoints => `Silakan tinggalkan ${maxPoints} pin `,\n leaveComment: 'Ketik di bawah gambar untuk meninggalkan komentar. ',\n noAnswers: 'Tidak ada pilihan jawaban, silakan klik selanjutnya untuk melanjutkan.',\n outOfPins: 'Anda kehabisan pin',\n pinsBehavior: 'Saat bergerak melewati gambar, Anda akan melihat area yang akan disorot dengan satu pin drop.',\n clusters: 'Anda hanya bisa menempatkan pin pada area yang disorot.',\n contentAware: 'Anda bisa menjatuhkan pin di dalam atau di luar area yang disorot.'\n },\n mp: {\n expand_note: 'Arahkan kursor atau klik pada gambar untuk memperbesar',\n rb_note: rows => `Silakan pilih hanya 1 tanggapan per item${rows ? ' di bawah ini' : ''}:`,\n cb_note: (min, max, rows) => {\n if (1 === min && 5000 === max) {\n return 'Pilih semua yang berlaku:'\n } else if (min === max) {\n return `Silakan pilih ${1 !== min ? 'setiap' : 'hanya'} ${min} tanggapan per item${\n rows ? ' di bawah ini' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Pilih minimal ${min} tanggapan dan maksimal ${max} per item${rows ? ' di bawah ini' : ''}:`\n } else if (5000 === max && min > 0) {\n return `Pilih minimal ${min} tanggapan per item${rows ? ' di bawah ini' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Pilih maksimal ${max} tanggapan per item${rows ? ' di bawah ini' : ''}:`\n } else {\n return 'Pilih semua yang berlaku:'\n }\n }\n },\n sh: {\n note: 'Klik produk untuk memperbesar dan menambahkan ke keranjang virtual jika Anda akan membelinya di toko',\n amazonNote: 'Klik produk untuk memperbesar dan menambahkan ke keranjang virtual Anda.',\n fullCart: 'Keranjang Anda penuh!',\n qty: 'JUMLAH',\n addToCart: 'MASUKKAN KE KERANJANG',\n each: 'setiap',\n items: 'item',\n deleteFromCart: 'HAPUS',\n emptyCard: 'Keranjang Anda kosong',\n total: 'Keranjang',\n clearCart: 'Kosongkan keranjang',\n backToStore: 'Kembali ke toko',\n next: 'BERIKUT',\n na: 'Tidak satu pun dari yang di atas',\n maxCartCountError: max => `Tambahkan maksimal ${max} produk ke keranjang Anda`,\n scrollError: `Gulir sepenuhnya ke kiri dan kanan untuk melanjutkan survei. `,\n maxSpentError: max => `Lakukan pembelanjaan maksimal ${max}.`,\n maxProductCountError: max => `Tambahkan maksimal ${max} kuota ke keranjang Anda untuk setiap produk.`\n },\n rb: {\n note: 'Silahkan pilih hanya 1 item:'\n },\n vo: {\n note: 'Silakan tonton videonya sampai akhir'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `Mohon pilih ${min} item ${1 !== min ? 'yang mana saja' : 'saja'}:`\n } else if (min > 0 && max < 5000) {\n return `Mohon pilih paling tidak ${min} item tetapi tidak lebih dari ${max}:`\n } else if (5000 === max && min > 0) {\n return `Mohon pilih paling tidak ${min} item:`\n } else if (0 === min && max < 5000) {\n return `Mohon pilih tidak lebih dari ${max} item:`\n } else {\n return 'Pilih semua yang berlaku:'\n }\n }\n },\n oe: {\n na: 'Tak dapat diterapkan',\n note: (min, max, optional) => {\n if (min === max) {\n return `Mohon ketikkan ${min} karakter ${1 !== min ? 'yang mana saja' : 'saja'}${\n optional ? ' (opsional)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Mohon ketikkan paling tidak ${min} karakter tetapi tidak lebih dari ${max}${\n optional ? ' (opsional)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Mohon ketikkan paling tidak ${min} karakter${optional ? ' (opsional)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Mohon ketikkan tidak lebih dari ${max}${optional ? ' (opsional)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Silakan isi kolom-kolom berikut ini:'\n },\n mx: {\n note: 'Gerakkan slider yang disoroti untuk melanjutkan',\n dragSlider: 'Tarik ke kiri atau kanan untuk menjawab'\n },\n psc: {\n dragLeftRight: 'Tarik ke kiri atau kanan untuk menjawab'\n },\n ps: {\n note: value => `Mohon distribusikan ${value} yang tersisa di antara item-item di bawah ini`,\n allDone: 'Selesai!',\n total: `Total:`,\n dragSlider: 'Tarik ke kiri atau kanan untuk menjawab'\n },\n cx: {\n note: 'Buka dropbox dan mulailah ketikkan jawaban Anda untuk bergulir otomatis atau pilih secara manual.'\n },\n ro: {\n note: 'Tarik ke atas atau ke bawah untuk mengubah urutannya:'\n },\n md: {\n note1: 'Silakan klik/ketuk item pilihan pertama Anda<br/>Klik/ketuk lagi untuk menghapus pilihan.',\n note2: 'Sekarang silakan klik/ketuk item pilihan terakhir Anda<br/>Klik/ketuk lagi untuk menghapus pilihan.',\n note3:\n 'Terima kasih! Lanjutkan ke pertanyaan berikutnya<br/>atau klik/ketuk item yang tidak dipilih untuk memulai kembali.'\n },\n aro: {\n note: 'Silakan pilih satu item untuk setiap pasang.'\n },\n wd: {\n note: 'Pastikan setiap nilai yang berikutnya lebih besar dari nilai yang sebelumnya.'\n },\n emd: {\n note: 'Silakan tonton videonya sampai akhir',\n noAnswers: 'Tidak ada pilihan jawaban, silakan klik berikutnya untuk melanjutkan.',\n start: 'Klik dan tahan untuk memulai',\n resume: 'Klik dan tahan untuk melanjutkan',\n continue: 'Anda sudah siap! <br />Klik berikutnya untuk melanjutkan',\n continueMobile: 'Anda siap! <br /> Klik DI SINI untuk melanjutkan',\n training: {\n session: 'sesi Pelatihan',\n note: 'Selesaikan pelatihan',\n moveLeft: 'Seret tombol ke kiri',\n moveBottom: 'Seret tombol ke bawah',\n moveRight: 'Sekarang, seret tombol ke kanan',\n moveTop: 'Sekarang, seret tombol ke atas',\n success: 'Kerja bagus!'\n }\n },\n sft: {\n noAnswers: 'Tidak ada pilihan jawaban, silakan klik berikutnya untuk melanjutkan.',\n note: 'Jawab secepat mungkin dengan jawaban yang secara intuitif dianggap benar',\n finish: 'Anda sudah selesai! <br /> Klik Berikutnya untuk melanjutkan',\n training: {\n start:\n '<p>Pertanyaan ini akan menunjukkan kata-kata yang berbeda secara cepat dan membutuhkan konsentrasi Anda. ' +\n 'Anda harus bereaksi secepat mungkin untuk menjawabnya. </p> <p>Siap berlatih?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Ketuk \"{buttonLeft}\"`\n : (mouse ? `Klik \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Tekan tombol \"{keyBtnLeft}\"` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Ketuk \"{buttonRight}\"`\n : (mouse ? `Klik \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Tekan tombol \"{keyBtnRight}\"` : ''),\n fail: () => 'Terlalu lambat',\n success: () => 'Bagus!',\n finish: () =>\n '<p><strong> Luar biasa!</strong></p><p>Pastikan Anda tidak akan terganggu dalam 2-3 menit ke depan<br />' +\n 'dalam 2-3 menit ke depan</p><p>Klik Berikutnya untuk memulai jika sudah siap.</p>'\n },\n buttons: {\n start: 'Mulai',\n yesno: {\n left: 'Ya',\n right: 'Tidak'\n },\n matches: {\n left: 'Cocok',\n right: 'Tidak Cocok'\n },\n fits: {\n left: 'Pas',\n right: 'Tidak Pas'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Nessuna opzione di risposta, clicca per continuare.',\n placeholder: 'Specifichi...',\n pleaseSelect: 'Effettui una selezione...',\n rotateLandscape: 'Ruota il telefono dalla modalità verticale a quella orizzontale per continuare.',\n rotatePortrait: 'Ruota il telefono dalla modalità orizzontale a quella verticale per continuare.',\n ir: {\n selectWebCam: 'Seleziona la webcam (se disponibile) o fai clic su \"sfoglia\" per caricare dal tuo profilo',\n noWebCam: 'Nessuna webcam rilevata',\n accessCamUpload: 'ACCEDI ALLA FOTOCAMERA/CARICAMENTO',\n browse: 'SFOGLIA',\n uploadPhoto: 'Carica una foto',\n instead: 'invece',\n capture: 'SCATTA',\n somethingWrong: 'Spiacenti, si è verificato un errore. Riprova più tardi',\n couldntRead: 'Spiacenti, non è possibile leggere il codice!',\n couldntProcess: 'Spiacenti, non abbiamo potuto elaborare la tua immagine!',\n moveOn: 'Riprova o invia la tua foto e prosegui',\n tryAgain: 'Riprova',\n dataReceived: 'Dati ricevuti!',\n enterManually: 'Riprova o inserisci i dati manualmente qui di seguito',\n positionQR:\n 'Posiziona il codice QR davanti alla tua fotocamera in modo che rientri nella cornice rossa o caricala dal tuo computer.',\n analyzing: \"Stiamo analizzando l'immagine, attendi prego\",\n submit: 'INVIA',\n startOver: 'Inizia da capo',\n allDone: 'Fatto!',\n cantAnalyze:\n 'Attenzione: non è possibile visualizzare questa immagine. Prova a inviarla di nuovo o scegli un formato immagine più generico (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Purtroppo questo formato di file non è supportato. Carica un tipo di immagine supportato (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Nessuna webcam rilevata',\n uploadVideo: 'Carica un video',\n skip: 'Saltare?',\n accessCamUpload: 'ACCEDI ALLA FOTOCAMERA/CARICAMENTO',\n browse: 'SFOGLIA',\n instead: 'invece',\n or: 'o',\n stopRecording: 'Sospendi la registrazione',\n willBeStopped: \"La registrazione s'interromperà al quinto minuto.\",\n stopOnDone: 'Smetti di registrare quando hai finito!',\n record: 'REGISTRA',\n somethingWrong: 'Spiacenti, si è verificato un errore. Riprova più tardi',\n microphone: 'Microfono',\n camera: 'Telecamera',\n selectMicrophone: 'Seleziona il microfono',\n selectCam: 'Seleziona la fotocamera',\n upload: 'Carica',\n playback: 'PLAYBACK',\n stopPlayback: 'INTERROMPERE',\n submit: 'INVIA',\n startOver: 'Inizia da capo',\n allDone: 'Fatto!',\n alternativeRecordSpan: 'Carica un videoclip dal tuo computer o dispositivo.<br/> In alternativa, ',\n alrenativeRecordHref: 'potrai registrare il video con una webcam.',\n cantAnalyze:\n 'Attenzione: non è possibile visualizzare questo video. Prova a inviarlo di nuovo o scegli un formato video più generico (MP4, M4V, WEBPM)',\n wrongFormat:\n 'Purtroppo questo formato di file non è supportato. Carica un tipo di video supportato (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'SCEGLI',\n pleaseChoose: 'Seleziona',\n this: 'QUESTO',\n one: 'uno',\n myChoice: 'La mia SCELTA'\n },\n hm: {\n addComment: 'Aggiungi un commento di seguito',\n commentMandatoryPlaceHolder: 'Aggiungi commento obbligatorio… ',\n commentOptionalPlaceHolder: 'Aggiungi commento facoltativo…',\n dragPin: 'Trascina per riposizionare (tieni premuto il pulsante del mouse/tocca per collocare precisamente). ',\n removePin: \"Trascina all'esterno dell'immaginare per eliminare. \",\n editComment: 'Clicca/tocca la puntina per modificare il commento. ',\n addPin: \"Trascina la puntina fuori dal pannello di seguito e fissala a un punto a tua scelta dell'immagine. \",\n addPins: \"Trascina le puntine fuori dal pannello di seguito e fissale a un punto a tua scelta dell'immagine. \",\n leavePins: (minPoints, maxPoints) =>\n `Per favore, metti almeno ${minPoints}, ma non oltre ${maxPoints} puntine di ogni tipo. `,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `Per favore, metti almeno ${minPoints}, ma non oltre ${maxPoints} puntine. `,\n leavePinsWithOff: maxPoints =>\n `Per favore, metti al massimo ${maxPoints} puntine di ogni tipo o clicca su \"Avanti\" per saltare. `,\n leavePinsPerPageWithOff: maxPoints =>\n `Per favore, metti al massimo ${maxPoints} puntine o clicca su \"Avanti\" per saltare. `,\n leavePinWithOff: 'Per favore, metti al massimo 1 puntina di ogni tipo o clicca su \"Avanti\" per saltare. ',\n leavePinPerPageWithOff: 'Per favore, metti al massimo 1 puntina o clicca su \"Avanti\" per saltare. ',\n leaveExactlyPin: 'Per favore, metti 1 puntina di ogni tipo. ',\n leaveExactlyPinPerPage: 'Per favore, metti 1 puntina. ',\n leaveExactlyPins: maxPoints => `Per favore, metti ${maxPoints} puntine di ogni tipo. `,\n leaveExactlyPinsPerPage: maxPoints => `Per favore, metti ${maxPoints} puntine. `,\n leaveComment: \"Digita sotto l'immagine per lasciare un commento. \",\n noAnswers: 'Nessuna opzione di risposta, clicca su \"Avanti\" per proseguire.',\n outOfPins: 'Hai finito le puntine',\n pinsBehavior:\n \"Man mano che ti sposti sull'immagine, vedrai aree che verranno evidenziate rilasciando un singolo segnaposto.\",\n clustersOnly: 'Potrai posizionare i segnaposto solo in queste aree evidenziate.',\n contentAware: \"È possibile rilasciare i segnaposti all'interno o all'esterno delle aree evidenziate.\"\n },\n mp: {\n expand_note: \"Clicca sull'immagine, o passaci sopra con il cursore del mouse, per ingrandirla\",\n rb_note: rows => `Seleziona solo 1 risposta per ogni voce${rows ? ' sottostante' : ''}:`,\n cb_note: (min, max, rows) => {\n if (1 === min && 5000 === max) {\n return 'Seleziona tutte le opzioni pertinenti:'\n } else if (min === max) {\n return `Seleziona ${1 !== min ? 'almeno' : 'solo'} ${min} rispost${\n 1 !== min ? 'e' : 'a'\n } per ciascun articolo${rows ? ' qui sotto' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Seleziona almeno ${min} rispost${1 !== min ? 'e' : 'a'} ma non più di ${max} per ciascun articolo${\n rows ? ' qui sotto' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Seleziona almeno ${min} rispost${1 !== min ? 'e' : 'a'} per ciascun articolo${\n rows ? ' qui sotto' : ''\n }:`\n } else if (0 === min && max < 5000) {\n return `Seleziona non più di ${max} rispost${1 !== max ? 'e' : 'a'} per ciascun articolo${\n rows ? ' qui sotto' : ''\n }:`\n } else {\n return 'Selezioni tutte le opzioni pertinenti:'\n }\n }\n },\n sh: {\n note: 'Clicca su un prodotto per ingrandirlo e inseriscilo nel tuo carrello virtuale se lo acquisteresti in negozio',\n amazonNote: 'Clicca su un prodotto per allargare e aggiungere al tuo carrello virtuale.',\n fullCart: 'Il tuo carrello è pieno!',\n qty: 'QUANT.',\n addToCart: 'AGGIUNGI AL CARRELLO',\n deleteFromCart: 'ELIMINA',\n emptyCard: 'Il tuo carrello è vuoto',\n each: 'ogni',\n items: 'elementi',\n total: 'Carrello',\n clearCart: 'Svuota il carrello',\n backToStore: 'Torna al negozio',\n na: 'Nessuno dei precedenti',\n next: 'AVANTI',\n maxCartCountError: max => `Non aggiungere più di ${max} prodotti al tuo carrello`,\n scrollError: `Scorri completamente verso sinistra e a destra per procedere con il sondaggio. `,\n maxSpentError: max => `Non spendere più di ${max}.`,\n maxProductCountError: max => `Aggiungi al carrello una quantità non superiore a ${max} per ogni prodotto.`\n },\n rb: {\n note: 'Selezioni solo 1 voce:'\n },\n vo: {\n note: 'Per favore, guarda il video fino alla fine'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `Selezioni ${1 !== min ? 'tutto' : 'solo'} ${min} voc${1 !== min ? 'e' : 'i'}:`\n } else if (min > 0 && max < 5000) {\n return `Selezioni almeno ${min} voc${1 !== min ? 'e' : 'i'} ma non più di ${max}:`\n } else if (5000 === max && min > 0) {\n return `Selezioni almeno ${min} voc${1 !== min ? 'e' : 'i'}:`\n } else if (0 === min && max < 5000) {\n return `Selezioni non più di ${max} voc${1 !== max ? 'e' : 'i'}:`\n } else {\n return 'Selezioni tutte le opzioni pertinenti:'\n }\n }\n },\n oe: {\n na: 'Non applicabile',\n note: (min, max, optional) => {\n if (min === max) {\n return `Digiti ${1 !== min ? 'tutto' : 'esattamente'} ${min} caratteri${optional ? ' (opzionale)' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Digiti almeno ${min} caratteri, ma non più di ${max}${optional ? ' (opzionale)' : ''}:`\n } else if (5000 === max && min > 0) {\n return `Digiti almeno ${min} caratteri${optional ? ' (opzionale)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Digiti non più di ${max} caratteri${1 !== min ? 's' : ''}${optional ? ' (opzionale)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Compila i seguenti campi:'\n },\n mx: {\n note: 'Sposta i cursori evidenziati per continuare',\n dragSlider: 'Per rispondere, trascini la selezione a sinistra o a destra.'\n },\n psc: {\n dragLeftRight: 'Per rispondere, trascini la selezione a sinistra o a destra.'\n },\n ps: {\n note: value => `Distribuisca i rimanenti ${value} tra gli articoli elencati di seguito.`,\n allDone: 'Fatto!',\n total: `Totale:`,\n dragSlider: 'Per rispondere, trascini la selezione a sinistra o a destra.'\n },\n cx: {\n note: 'Cominci a digitare la Sua risposta per attivare lo scorrimento automatico oppure effettui la selezione manualmente.'\n },\n ro: {\n note: \"Per modificare l'ordine, trascinare in alto o in basso:\"\n },\n md: {\n note1:\n \"Clicca/tocca l'elemento che costituisce la tua prima scelta<br/>Clicca/tocca di nuovo per annullare la selezione.\",\n note2:\n \"Ora clicca/tocca l'elemento che costituisce la tua ultima scelta<br/>Clicca/tocca di nuovo per annullare la selezione.\",\n note3:\n 'Grazie! Prosegui andando alla prossima domanda<br/>o clicca/tocca un elemento non selezionato per ricominciare.'\n },\n aro: {\n note: 'Sceglie una voce per ogni coppia.'\n },\n wd: {\n note: 'Assicurati che ogni valore successivo sia superiore a quello precedente.'\n },\n emd: {\n note: 'Per favore, guarda il video fino alla fine',\n noAnswers: 'Nessuna opzione di risposta, clicca per continuare.',\n start: 'Clicca e tieni premuto per avviare',\n resume: 'Clicca e tieni premuto per riprendere',\n continue: 'Sei pronto! <br /> Clicca su Avanti per continuare',\n continueMobile: 'Sei pronto! <br /> Clicca QUI per continuare',\n training: {\n session: 'sessione di adestramento',\n note: \"Concludi l'apprendimento\",\n moveLeft: 'Trascina il quadrante completamente a sinistra',\n moveBottom: 'Trascina il quadrante fino al punto più basso',\n moveRight: 'Adesso trascina il quadrante completamente a destra',\n moveTop: 'Adesso trascina il quadrante fino al punto più alto',\n success: 'Ottimo lavoro!'\n }\n },\n sft: {\n noAnswers: 'Nessuna opzione di risposta, clicca per continuare.',\n note: 'Rispondi nel più breve tempo possibile, nel modo che intuitivamente ti sembra corretto',\n finish: 'Hai finito! <br /> Clicca su Avanti per continuare',\n training: {\n start:\n '<p>Questa domanda ti mostrerà diverse parole in rapida sequenza e richiederà concentrazione da parte tua. ' +\n 'Per rispondere dovrai reagire velocemente. </p> <p> Sei pronto per esercitarti?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Tocca \"{buttonLeft}\"`\n : (mouse ? `Clicca \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Premi il tasto \"{keyBtnLeft}\"` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Tocca \"{buttonRight}\"`\n : (mouse ? `Clicca \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Premi il tasto \"{keyBtnRight}\"` : ''),\n fail: () => 'Troppo lento',\n success: () => 'Ottimo!',\n finish: () =>\n '<p><strong> Eccellente!</strong></p><p>Assicurati di non distrarti <br />' +\n 'nei prossimi 2-3 minuti. </p><p>Quando sei pronto, clicca su Avanti per iniziare.</p>'\n },\n buttons: {\n start: 'Inizia',\n yesno: {\n left: 'Sì',\n right: 'No'\n },\n matches: {\n left: 'Corrisponde',\n right: 'Non corrisponde'\n },\n fits: {\n left: 'Si adatta',\n right: 'Non si adatta'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: '回ç”オプションãŒã‚ã‚Šã¾ã›ã‚“。次ã¸ã‚’クリックã—ã¦ç¶šè¡Œã—ã¦ãã ã•ã„。',\n placeholder: '入力ã—ã¦ãã ã•ã„:',\n pleaseSelect: '以下をé¸æŠžã—ã¦ãã ã•ã„:',\n rotateLandscape: 'ãŠä½¿ã„ã®ç«¯æœ«ã‚’縦ã‹ã‚‰æ¨ªã«å›žè»¢ã•ã›ã¦ãã ã•ã„。',\n rotatePortrait: 'ãŠä½¿ã„ã®ç«¯æœ«ã‚’横ã‹ã‚‰ç¸¦ã«å›žè»¢ã•ã›ã¦ãã ã•ã„。',\n ir: {\n selectWebCam:\n 'ウェブカメラ(利用å¯èƒ½ãªå ´åˆï¼‰ã‚’é¸æŠžã™ã‚‹ã‹ã€Œå‚ç…§ã€ã‚’クリックã—ã¦ãƒ‡ãƒã‚¤ã‚¹ã‹ã‚‰ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã—ã¦ãã ã•ã„',\n noWebCam: 'ウェブカメラãŒæ¤œå‡ºã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ',\n accessCamUpload: 'カメラã«ã‚¢ã‚¯ã‚»ã‚¹ï¼ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰',\n browse: 'å‚ç…§',\n uploadPhoto: '写真をアップãƒãƒ¼ãƒ‰',\n instead: '(代替)',\n capture: 'ã‚ャプãƒãƒ£',\n somethingWrong: '申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ ã—ã°ã‚‰ãã—ã¦ã‹ã‚‰å†åº¦ãŠè©¦ã—ãã ã•ã„',\n couldntRead: '申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã€ã‚³ãƒ¼ãƒ‰ã‚’èªã¿å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚',\n couldntProcess: '申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã€ç”»åƒã‚’処ç†ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚',\n moveOn: 'ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã™ã‹å†™çœŸã‚’投稿ã—ã¦ãã ã•ã„',\n tryAgain: 'ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„',\n dataReceived: 'データをå—ä¿¡ã—ã¾ã—ãŸï¼',\n enterManually: 'ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ã„ãŸã ãã‹ä¸‹è¨˜ã«æƒ…å ±ã‚’æ‰‹å‹•ã§å…¥åŠ›ã—ã¦ãã ã•ã„',\n positionQR: 'カメラã®å‰ã«QRコードをé…ç½®ã—ã¦èµ¤ã„æž çµ„ã¿ã«åˆã‚ã›ã‚‹ã‹ã€ã‚³ãƒ³ãƒ”ュータã‹ã‚‰ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã—ã¦ãã ã•ã„。',\n analyzing: 'ç”»åƒã®è§£æžä¸ã§ã™ã€‚ãŠå¾…ã¡ãã ã•ã„',\n submit: 'é€ä¿¡',\n startOver: '撮り直ã™',\n allDone: '終了ã§ã™ï¼',\n cantAnalyze:\n 'ã”æ³¨æ„ - ã“ã®ç”»åƒã¯ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚å†é€ä¿¡ã™ã‚‹ã‹ã€ã‚ˆã‚Šä¸€èˆ¬çš„ãªç”»åƒå½¢å¼ï¼ˆJPGã€PNGã€GIFã€BMP)をé¸æŠžã—ã¦ãã ã•ã„',\n wrongFormat:\n '申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã€ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«å½¢å¼ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。サãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã‚‹ç”»åƒã‚¿ã‚¤ãƒ—(JPGã€PNGã€GIFã€BMPã€TIFFã€PDFã€SVG)をアップãƒãƒ¼ãƒ‰ã—ã¦ãã ã•ã„'\n },\n vr: {\n noWebCam: 'ウェブカメラãŒæ¤œå‡ºã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ',\n uploadVideo: '動画をアップãƒãƒ¼ãƒ‰',\n skip: 'スã‚ップã—ã¾ã™ã‹ï¼Ÿ',\n accessCamUpload: 'カメラã«ã‚¢ã‚¯ã‚»ã‚¹ï¼ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰',\n browse: 'å‚ç…§',\n instead: '(代替)',\n or: 'ã¾ãŸã¯',\n stopRecording: '録画をåœæ¢ã™ã‚‹',\n willBeStopped: '録画ã¯5分後ã«åœæ¢ã—ã¾ã™',\n stopOnDone: '回ç”を終ãˆãŸã‚‰éŒ²ç”»ã‚’åœæ¢ã—ã¦ãã ã•ã„。',\n record: 'レコーディング',\n somethingWrong: '申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ ã—ã°ã‚‰ãã—ã¦ã‹ã‚‰å†åº¦ãŠè©¦ã—ãã ã•ã„',\n microphone: 'マイクãƒãƒ•ã‚©ãƒ³',\n camera: 'ウェブカメラ',\n selectMicrophone: 'マイクをé¸æŠžã—ã¾ã™',\n selectCam: 'ウェブカメラをé¸æŠžã—ã¾ã™',\n upload: 'アップãƒãƒ¼ãƒ‰',\n playback: 'å†ç”Ÿ',\n stopPlayback: 'å†ç”Ÿã‚’åœæ¢',\n submit: 'é€ä¿¡',\n startOver: '撮り直ã™',\n allDone: '終了ã§ã™ï¼',\n alternativeRecordSpan: 'ãŠä½¿ã„ã®ã‚³ãƒ³ãƒ”ュータã‹ã‚‰ãƒ“デオをアップãƒãƒ¼ãƒ‰ã—ã¦ãã ã•ã„。<br/>',\n alrenativeRecordHref: 'Webカメラを使ã£ã¦éŒ²ç”»ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™',\n cantAnalyze:\n 'ã”æ³¨æ„ - ã“ã®å‹•ç”»ã¯ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚å†é€ä¿¡ã™ã‚‹ã‹ã€ã‚ˆã‚Šä¸€èˆ¬çš„ãªç”»åƒå½¢å¼ï¼ˆJPGã€PNGã€GIFã€BMP)をé¸æŠžã—ã¦ãã ã•ã„',\n wrongFormat:\n '申ã—訳ã‚ã‚Šã¾ã›ã‚“ãŒã€ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«å½¢å¼ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。å†é€ä¿¡ã™ã‚‹ã‹ã€ã‚ˆã‚Šä¸€èˆ¬çš„ãªå‹•ç”»å½¢å¼ï¼ˆMP4ã€M4Vã€WEBPM)をé¸æŠžã—ã¦ãã ã•ã„'\n },\n cjc: {\n choose: 'é¸æŠž',\n pleaseChoose: 'é¸æŠžï¼š',\n this: 'ã“ã¡ã‚‰',\n one: 'ã®é …ç›®',\n myChoice: 'ã“ã‚Œã«ã™ã‚‹'\n },\n hm: {\n addComment: '下ã«ã‚³ãƒ¡ãƒ³ãƒˆã‚’è¿½åŠ ã—ã¦ãã ã•ã„。',\n commentMandatoryPlaceHolder: 'å¿…é ˆã®ã‚³ãƒ¡ãƒ³ãƒˆã‚’è¿½åŠ ã—ã¦ãã ã•ã„... ',\n commentOptionalPlaceHolder: 'ä»»æ„ã®ã‚³ãƒ¡ãƒ³ãƒˆã‚’è¿½åŠ ã—ã¦ãã ã•ã„... ',\n dragPin: 'ä½ç½®ã‚’変ãˆãŸã„å ´åˆãƒ”ンをドラッグã—ã¦ãã ã•ã„(長押ã—ã®ã‚¯ãƒªãƒƒã‚¯ãƒ»ã‚¿ãƒƒãƒ—ã—ãŸã‚‰ç²¾å¯†ãªä½ç½®ï¼‰ã€‚ ',\n removePin: 'ç”»åƒä»¥å¤–ã®ã‚¨ãƒªã‚¢ã«ãƒ‰ãƒ©ãƒƒã‚°ã—ãŸã‚‰ãƒ”ンを消ã›ã¾ã™ã€‚ ',\n editComment: 'ピンをクリック/タップã—ã¦ã‚³ãƒ¡ãƒ³ãƒˆã‚’編集ã—ã¾ã™ã€‚ ',\n addPin: '下ã®ãƒ‘ãƒãƒ«ã‹ã‚‰ãƒ”ンをドラッグã—ã¦é¸ã³ãŸã„部分ã«ãƒ”ンをドãƒãƒƒãƒ—ã—ã¦ãã ã•ã„。',\n addPins: '下ã®ãƒ‘ãƒãƒ«ã‹ã‚‰è¤‡æ•°ã®ãƒ”ンをドラッグã—ã¦ã€ç”»åƒä¸Šã®ãŠå¥½ããªå ´æ‰€ã«ãƒ‰ãƒãƒƒãƒ—ã—ã¦ãã ã•ã„。 ',\n leavePins: (minPoints, maxPoints) => `å„種ã®ãƒ”ンを${minPoints}個以上${maxPoints}個以下ã«ã—ã¦ãã ã•ã„。`,\n leavePinsPerPage: (minPoints, maxPoints) => `ピンを${minPoints}個以上${maxPoints}個以下ã«ã—ã¦ãã ã•ã„。`,\n leavePinsWithOff: maxPoints => `å„種ã®ãƒ”ンを最大${maxPoints}個残ã—ã€[次ã¸]をクリックã—ã¦ã‚¹ã‚ップã—ã¾ã™ã€‚ `,\n leavePinsPerPageWithOff: maxPoints =>\n `ãã‚Œãžã‚Œã®ãƒ”ンを最大 ${maxPoints}ã¤ã®ãƒ”ンをドãƒãƒƒãƒ—ã—ã¦ãã ã•ã„。スã‚ップã—ãŸã„å ´åˆã€Œæ¬¡ã¸ã€ã‚’クリックã—ã¦ãã ã•ã„。 `,\n leavePinWithOff: 'å„種ã®ãƒ”ンを1個ã ã‘残ã—ã€[次ã¸]をクリックã—ã¦ã‚¹ã‚ップã—ã¾ã™ã€‚ ',\n leavePinPerPageWithOff: `ピンを最大1個残ã—ã€[次ã¸]をクリックã—ã¦ã‚¹ã‚ップã—ã¾ã™ã€‚`,\n leaveExactlyPin: 'å„種ã®ãƒ”ンを1個残ã—ã¦ãã ã•ã„。 ',\n leaveExactlyPinPerPage: 'ピンを1個残ã—ã¦ãã ã•ã„。 ',\n leaveExactlyPins: maxPoints => `å„種ã®ãƒ”ンを最大${maxPoints}個残ã—ã¦ãã ã•ã„。 `,\n leaveExactlyPinsPerPage: maxPoints => `最大${maxPoints}個ã®ãƒ”ンを残ã—ã¦ãã ã•ã„。`,\n leaveComment: 'ç”»åƒã®ä¸‹ã«å…¥åŠ›ã—ã¦ã‚³ãƒ¡ãƒ³ãƒˆã‚’残ã—ã¾ã™ã€‚ ',\n noAnswers: '回ç”ã®ã‚ªãƒ—ションãŒã‚ã‚Šã¾ã›ã‚“。[次ã¸]をクリックã—ã¦ç¶šè¡Œã—ã¦ãã ã•ã„。',\n outOfPins: 'ピンãŒãªã„',\n pinsBehavior: 'ç”»åƒã‚’横切ã£ã¦ç§»å‹•ã™ã‚‹ã¨ã€1ã¤ã®ãƒ”ンドãƒãƒƒãƒ—ã§ãƒã‚¤ãƒ©ã‚¤ãƒˆã•ã‚ŒãŸã‚¨ãƒªã‚¢ãŒç¾ã‚Œã¾ã™ã€‚',\n clusters: 'ãれらã®ãƒã‚¤ãƒ©ã‚¤ãƒˆã•ã‚ŒãŸã‚¨ãƒªã‚¢ã®ã¿ã«ãƒ”ンを置ãã“ã¨ãŒã§ãã¾ã™ã€‚',\n contentAware: 'ãƒã‚¤ãƒ©ã‚¤ãƒˆã•ã‚ŒãŸã‚¨ãƒªã‚¢ã®å†…å´ã¾ãŸã¯å¤–å´ã«ãƒ”ンをドãƒãƒƒãƒ—ã§ãã¾ã™ã€‚'\n },\n mp: {\n expand_note: 'カーソルをåˆã‚ã›ã‚‹ã‹ã€ç”»åƒã‚’クリックã—ã¦å±•é–‹ã—ã¦ãã ã•ã„',\n rb_note: _rows => '以下ã®é …ç›®ã«ã¤ã„ã¦{X}個ã®å›žç”ã‚’é¸æŠžã—ã¦ãã ã•ã„: ',\n cb_note: (min, max, _rows) => {\n if (1 === min && 5000 === max) {\n return '該当ã™ã‚‹ã‚‚ã®ã‚’ã™ã¹ã¦ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„:'\n } else if (min === max) {\n return `以下ã®é …ç›®ã«ã¤ã„ã¦${min}個ã®å›žç”ã®ã¿ã‚’é¸æŠžã—ã¦ãã ã•ã„`\n } else if (min > 0 && max < 5000) {\n return `é¸æŠžè‚¢ã®ä¸ã‹ã‚‰å½“ã¦ã¯ã¾ã‚‹ã‚‚ã®ã‚’ã€1ã¤ã®é …ç›®ã«ã¤ã${min}ã¤) 〜${max}ã¤é¸ã‚“ã§ãã ã•ã„:`\n } else if (5000 === max && min > 0) {\n return `é¸æŠžè‚¢ã®ä¸ã‹ã‚‰å½“ã¦ã¯ã¾ã‚‹ã‚‚ã®ã‚’ã€1ã¤ã®é …ç›®ã«ã¤ãå°‘ãªãã¨ã‚‚ ${min}㤠é¸ã‚“ã§ãã ã•:`\n } else if (0 === min && max < 5000) {\n return `é¸æŠžè‚¢ã®ä¸ã‹ã‚‰å½“ã¦ã¯ã¾ã‚‹ã‚‚ã®ã‚’ã€1ã¤ã®é …ç›®ã«ã¤ã最大${max}ã¤ã¾ã§ é¸ã‚“ã§ãã ã•ã„:`\n } else {\n return '該当ã™ã‚‹ã‚‚ã®ã‚’ã™ã¹ã¦ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„:'\n }\n }\n },\n sh: {\n note: '商å“をクリックã—ã¦ã‚ºãƒ¼ãƒ インã—ã€ã‚¹ãƒˆã‚¢ã§è³¼å…¥ã™ã‚‹å ´åˆã¯ä»®æƒ³ã‚«ãƒ¼ãƒˆã«è¿½åŠ ã—ã¾ã™',\n amazonNote: '製å“をクリックã—ã¦ã‚ºãƒ¼ãƒ インã—ã€ä»®æƒ³ã‚«ãƒ¼ãƒˆã«è¿½åŠ ã—ã¾ã™',\n fullCart: 'カートãŒã„ã£ã±ã„ã§ã™ï¼',\n qty: 'æ•°é‡',\n addToCart: 'カートã«è¿½åŠ ',\n each: 'å„',\n items: 'アイテム',\n deleteFromCart: '削除',\n next: '次ã¸',\n emptyCard: 'カートãŒç©ºã§ã™',\n total: 'カート',\n clearCart: 'カートを空ã«ã™ã‚‹',\n backToStore: 'ストアã«æˆ»ã‚‹',\n na: 'ã‚ã¦ã¯ã¾ã‚‹ã‚‚ã®ã¯ãªã„',\n maxCartCountError: max => `カートã«è¿½åŠ ã™ã‚‹è£½å“ã¯ã€${max} 個以下ã«ã—ã¦ãã ã•ã„`,\n scrollError: `アンケートã§å…ˆã«é€²ã‚€ã«ã¯ã€å®Œå…¨ã«å·¦å³ã«ã‚¹ã‚¯ãƒãƒ¼ãƒ«ã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。 `,\n maxSpentError: max => `費やã™ã®ã¯ã€${max} 以下ã«ã—ã¦ãã ã•ã„。`,\n maxProductCountError: max => `カートã«è¿½åŠ ã™ã‚‹ã®ã¯ã€è£½å“ã‚ãŸã‚Š${max}個以下ã«ã—ã¦ãã ã•ã„。`\n },\n rb: {\n note: '回ç”ã‚’ 1 ã¤ã ã‘é¸æŠžã—ã¦ãã ã•ã„: '\n },\n vo: {\n note: '最後ã¾ã§å‹•ç”»ã‚’ã”覧ãã ã•ã„。'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `${min}ã¤é¸æŠžã—ã¦ãã ã•ã„:`\n } else if (min > 0 && max < 5000) {\n return `1è¡Œã«ã¤ã${min}ã¤ä»¥ä¸Š${max}ã¤ã¾ã§é¸æŠžã—ã¦ãã ã•ã„:`\n } else if (5000 === max && min > 0) {\n return `${min}ã¤ä»¥ä¸Šé¸æŠžã—ã¦ãã ã•ã„:`\n } else if (0 === min && max < 5000) {\n return `${max}ã¤ã¾ã§é¸æŠžã—ã¦ãã ã•ã„:`\n } else {\n return '該当ã™ã‚‹ã‚‚ã®ã‚’ã™ã¹ã¦ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„:'\n }\n }\n },\n oe: {\n na: 'é©ç”¨ã§ããªã„',\n note: (min, max, optional) => {\n if (min === max) {\n return `${1 !== min ? 'ã„ãšã‚Œã‹' : 'ã¡ã‚‡ã†ã©'}${min}æ–‡å— ã§å…¥åŠ›ã—ã¦ãã ã•ã„${\n optional ? ' (オプション)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `${min}æ–‡å— ä»¥ä¸Š${max}æ–‡å—以内ã§å…¥åŠ›ã—ã¦ãã ã•ã„${optional ? ' (オプション)' : ''}:`\n } else if (5000 === max && min > 0) {\n return `${min}æ–‡å— ä»¥ä¸Šã§å…¥åŠ›ã—ã¦ãã ã•ã„${optional ? ' (オプション)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `${max}æ–‡å— ä»¥å†…ã§å…¥åŠ›ã—ã¦ãã ã•ã„${optional ? ' (オプション)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: '次ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«å…¥åŠ›ã—ã¦ãã ã•ã„:'\n },\n mx: {\n note: '強調表示ã•ã‚ŒãŸã‚¹ãƒ©ã‚¤ãƒ€ã‚’移動ã—ã¦ç¶šè¡Œã—ã¦ãã ã•ã„',\n dragSlider: 'å³ã‹å·¦ã«ãƒ‰ãƒ©ãƒƒã‚°ã—ã¦å›žç”ã—ã¦ãã ã•ã„r'\n },\n psc: {\n dragLeftRight: 'å³ã‹å·¦ã«ãƒ‰ãƒ©ãƒƒã‚°ã—ã¦å›žç”ã—ã¦ãã ã•ã„r'\n },\n ps: {\n note: value => `残り㮠${value} を以下ã®é …ç›®ã«é…分ã—ã¦ãã ã•ã„`,\n allDone: '終了ã§ã™ï¼',\n total: `åˆè¨ˆ:`,\n dragSlider: 'å³ã‹å·¦ã«ãƒ‰ãƒ©ãƒƒã‚°ã—ã¦å›žç”ã—ã¦ãã ã•ã„r'\n },\n cx: {\n note: 'ドãƒãƒƒãƒ—ボックスを開ã„ã¦å›žç”を入力ã—ã€è‡ªå‹•ã‚¹ã‚¯ãƒãƒ¼ãƒ«ã¾ãŸã¯æ‰‹å‹•ã§é¸æŠžã—ã¦ãã ã•ã„'\n },\n ro: {\n note: '上下ã«ãƒ‰ãƒ©ãƒƒã‚°ã—ã¦ä¸¦ã³æ›¿ãˆã¦ãã ã•ã„:'\n },\n md: {\n note1: '最åˆã«é¸æŠžã™ã‚‹é …目をクリック/タップã—ã¦ãã ã•ã„。もã†ä¸€åº¦ã‚¯ãƒªãƒƒã‚¯/タップã—ã¦é¸æŠžã‚’解除ã—ã¾ã™ã€‚',\n note2: '次ã¯ã€æœ€å¾Œã«é¸æŠžã™ã‚‹é …目をクリック/タップã—ã¦ãã ã•ã„。もã†ä¸€åº¦ã‚¯ãƒªãƒƒã‚¯/タップã—ã¦é¸æŠžã‚’解除ã—ã¾ã™ã€‚',\n note3: 'ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ï¼æ¬¡ã®è³ªå•ã«é€²ã‚€ã‹ã€æœ€åˆã‹ã‚‰ã‚„ã‚Šç›´ã™ã«ã¯é¸æŠžã•ã‚Œã¦ã„ãªã„é …ç›®ã‚’ã‚¯ãƒªãƒƒã‚¯/タップã¾ã™ã€‚'\n },\n aro: {\n note: 'å„組ã‹ã‚‰1ã¤é¸æŠžã—ã¦ãã ã•ã„。'\n },\n wd: {\n note: '後ã®å€¤ãŒå‰ã®å€¤ã‚ˆã‚Šã‚‚大ãããªã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。'\n },\n emd: {\n note: '最後ã¾ã§å‹•ç”»ã‚’ã”覧ãã ã•ã„。',\n noAnswers: '回ç”オプションãŒã‚ã‚Šã¾ã›ã‚“。次ã¸ã‚’クリックã—ã¦ç¶šè¡Œã—ã¦ãã ã•ã„。',\n start: '開始ã™ã‚‹ã«ã¯ã€ã‚¯ãƒªãƒƒã‚¯ã—ã¦é•·æŠ¼ã—ã—ã¾ã™',\n resume: 'å†é–‹ã™ã‚‹ã«ã¯ã€ã‚¯ãƒªãƒƒã‚¯ã—ã¦é•·æŠ¼ã—ã—ã¾ã™',\n continue: '準備完了ã§ã™ï¼ <br />[次ã¸]をクリックã—ã¦ç¶šè¡Œã—ã¾ã™',\n continueMobile: '準備ãŒã§ãã¾ã—ãŸï¼<br /> ã“ã“をクリックã—ã¦ç¶šè¡Œ',\n training: {\n session: 'トレーニングセッション',\n note: 'トレーニングを終了ã—ã¦ãã ã•ã„',\n moveLeft: 'ダイヤルを左端ã¾ã§ãƒ‰ãƒ©ãƒƒã‚°ã—ã¦ãã ã•ã„',\n moveBottom: 'ダイヤルを一番下ã¾ã§ãƒ‰ãƒ©ãƒƒã‚°ã—ã¦ãã ã•ã„',\n moveRight: '次ã«ã€ãƒ€ã‚¤ãƒ¤ãƒ«ã‚’å³ç«¯ã¾ã§ãƒ‰ãƒ©ãƒƒã‚°ã—ã¦ãã ã•ã„',\n moveTop: '次ã«ã€ãƒ€ã‚¤ãƒ¤ãƒ«ã‚’一番上ã¾ã§ãƒ‰ãƒ©ãƒƒã‚°ã—ã¦ãã ã•ã„',\n success: '上出æ¥ã§ã™'\n }\n },\n sft: {\n noAnswers: '回ç”オプションãŒã‚ã‚Šã¾ã›ã‚“。次ã¸ã‚’クリックã—ã¦ç¶šè¡Œã—ã¦ãã ã•ã„。',\n note: 'ç›´æ„Ÿçš„ã«æ£ã—ã„ã¨æ€ãˆã‚‹ç”ãˆã‚’ã§ãã‚‹ã ã‘æ—©ã回ç”ã—ã¦ãã ã•ã„',\n finish: 'ã“ã‚Œã§ã™ã¹ã¦å®Œäº†ã§ã™ï¼<br/ >[次ã¸]をクリックã—ã¦ç¶šè¡Œã—ã¾ã™',\n training: {\n start:\n '<p>ã“ã®è³ªå•ã§ã¯ç•°ãªã‚‹è¨€è‘‰ãŒç´ æ—©ã表示ã•ã‚Œã‚‹ã®ã§ã€é›†ä¸åŠ›ãŒè¦ã•ã‚Œã¾ã™ã€‚ ' +\n '回ç”ã™ã‚‹ã«ã¯ã€è¿…速ã«åå¿œã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™</p> <p>ç·´ç¿’ã®æº–å‚™ãŒã§ãã¾ã—ãŸã‹ï¼Ÿ</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `\"{buttonLeft}\" をタップã—ã¾ã™`\n : (mouse ? `\"{buttonLeft}\" をクリックã—ã¾ã™` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `「Fã€ã‚ーを押ã—ã¾ã™` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `\"{buttonRight}\" をタップã—ã¾ã™`\n : (mouse ? `\"{buttonRight}\" をクリックã—ã¾ã™` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `「Jã€ã‚ーを押ã—ã¾ã™` : ''),\n fail: () => 'é…ã™ãŽã¾ã™',\n success: () => 'ã°ã£ã¡ã‚Šã§ã™ï¼',\n finish: () =>\n '<p><strong> ç´ æ™´ã‚‰ã—ã„ï¼</strong></p><p>次ã®2〜3分ã¯æ°—ãŒæ•£ã‚‰ãªã„よã†ã«ã—ã¦ãã ã•ã„</p><p>準備ãŒã§ããŸã‚‰ã€[次ã¸]をクリックã—ã¦é–‹å§‹ã—ã¾ã™.</p>'\n },\n buttons: {\n start: '開始',\n yesno: {\n left: 'ã¯ã„',\n right: 'ã„ã„ãˆ'\n },\n matches: {\n left: '一致ã—ã¾ã™',\n right: '一致ã—ã¾ã›ã‚“'\n },\n fits: {\n left: 'フィットã—ã¾ã™',\n right: 'フィットã—ã¾ã›ã‚“'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: '답변 ì˜µì…˜ì´ ì—†ìŠµë‹ˆë‹¤. 계ì†í•˜ë ¤ë©´ 다ìŒì„ í´ë¦í•˜ì„¸ìš”.',\n placeholder: '기입해주ì‹ì‹œì˜¤â€¦',\n pleaseSelect: 'ì„ íƒí•´ì£¼ì‹ì‹œì˜¤â€¦',\n rotateLandscape: '휴대í°ì„ 세로ì—ì„œ 가로로 íšŒì „í•˜ì‹ì‹œì˜¤.',\n rotatePortrait: '휴대í°ì„ 가로ì—ì„œ 세로로 íšŒì „í•˜ì‹ì‹œì˜¤.',\n ir: {\n selectWebCam: \"ì›¹ìº (사용 가능한 경우)ì„ ì„ íƒí•˜ê±°ë‚˜ '검색'ì„ í´ë¦í•˜ì—¬ 기기ì—ì„œ 업로드하세요\",\n noWebCam: 'ì›¹ìº ì„ ì°¾ì„ ìˆ˜ 없습니다',\n accessCamUpload: 'ì¹´ë©”ë¼ ì•¡ì„¸ìŠ¤/업로드',\n browse: '검색',\n uploadPhoto: '사진 업로드',\n instead: 'ëŒ€ì‹ ',\n capture: '캡처',\n somethingWrong: '죄송합니다, ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤. ë‚˜ì¤‘ì— ë‹¤ì‹œ ì‹œë„í•´ 주세요',\n couldntRead: '죄송합니다, 코드를 íŒë…하지 못했습니다!',\n couldntProcess: '죄송합니다, ì´ë¯¸ì§€ë¥¼ 처리하지 못했습니다!',\n moveOn: '다시 ì‹œë„하시거나 ì‚¬ì§„ì„ ì œì¶œí•˜ì‹œê³ ê³„ì† ì§„í–‰í•˜ì„¸ìš”',\n tryAgain: '다시 ì‹œë„í•´ 주세요',\n dataReceived: 'ë°ì´í„°ë¥¼ ìˆ˜ì‹ í–ˆìŠµë‹ˆë‹¤!',\n enterManually: '다시 ì‹œë„하시거나 아래ì—ì„œ 수ë™ìœ¼ë¡œ ë°ì´í„°ë¥¼ ìž…ë ¥í•˜ì„¸ìš”',\n positionQR: 'QR 코드를 빨간색 í”„ë ˆìž„ ì•ˆì— ë“¤ì–´ì˜¤ë„ë¡ ì¹´ë©”ë¼ ì•žì— ë°°ì¹˜í•˜ê±°ë‚˜ 컴퓨터ì—ì„œ 업로드해 주세요.',\n analyzing: 'ì´ë¯¸ì§€ ë¶„ì„ ì¤‘ìž…ë‹ˆë‹¤, ê¸°ëŒœë ¤ 주세요',\n submit: 'ì œì¶œí•˜ê¸°',\n startOver: '다시 시작',\n allDone: '완료!',\n cantAnalyze:\n 'ì£¼ì˜ - ì´ ì´ë¯¸ì§€ë¥¼ ë Œë”ë§í• 수 없습니다. 다시 ì œì¶œí•˜ê±°ë‚˜ ë” ì¼ë°˜ì ì¸ ì´ë¯¸ì§€ 형ì‹(JPG, PNG, GIF, BMP)ì„ ì„ íƒí•˜ì„¸ìš”.',\n wrongFormat:\n '죄송합니다. ì´ íŒŒì¼ í˜•ì‹ì€ 지ì›í•˜ì§€ 않습니다. 지ì›ë˜ëŠ” ì´ë¯¸ì§€ ìœ í˜•(JPG, PNG, GIF, BMP, TIF, PDF, SVG)ì„ ì—…ë¡œë“œí•˜ì„¸ìš”.'\n },\n vr: {\n noWebCam: 'ì›¹ìº ì„ ì°¾ì„ ìˆ˜ 없습니다',\n uploadVideo: '비디오 업로드',\n skip: '건너뛸까요?',\n accessCamUpload: 'ì¹´ë©”ë¼ ì•¡ì„¸ìŠ¤/업로드',\n browse: '검색',\n instead: 'ëŒ€ì‹ ',\n or: 'ë˜ëŠ”',\n stopRecording: '녹화 중지',\n willBeStopped: '5ë¶„ì— ë…¹í™”ê°€ 멈출 것입니다.',\n stopOnDone: 'ë나면 ì´¬ì˜ì„ 멈춰 주ì‹ì‹œì˜¤!',\n record: '기ë¡í•˜ê¸°',\n somethingWrong: '죄송합니다, ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤. ë‚˜ì¤‘ì— ë‹¤ì‹œ ì‹œë„í•´ 주세요',\n microphone: '마ì´í¬ë¡œí°',\n camera: '웹 ì¹´ë©”ë¼',\n selectMicrophone: '마ì´í¬ ì„ íƒ',\n selectCam: '웹 ì¹´ë©”ë¼ ì„ íƒ',\n upload: '업로드',\n playback: '다시 재ìƒ',\n stopPlayback: 'ìž¬ìƒ ì¤‘ì§€',\n submit: 'ì œì¶œí•˜ê¸°',\n startOver: '다시 시작',\n allDone: '완료!',\n alternativeRecordSpan: '컴퓨터 장치ì—ì„œ ë‹¹ì‹ ì˜ ì˜ìƒì„ 업로드 해주ì‹ì‹œì˜¤.<br/>',\n alrenativeRecordHref: ' ë‹¹ì‹ ì˜ ì›¹ìº ìœ¼ë¡œ ì˜ìƒì„ ë…¹í™”í• ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤.',\n cantAnalyze:\n 'ì£¼ì˜ - ì´ ë¹„ë””ì˜¤ë¥¼ ë Œë”ë§í• 수 없습니다. 다시 ì œì¶œí•˜ê±°ë‚˜ ë” ì¼ë°˜ì ì¸ ë™ì˜ìƒ 형ì‹(MP4, M4V, WEBPM)ì„ ì„ íƒí•˜ì„¸ìš”.',\n wrongFormat:\n '죄송합니다. ì´ íŒŒì¼ í˜•ì‹ì€ 지ì›í•˜ì§€ 않습니다. 지ì›ë˜ëŠ” ë™ì˜ìƒ ìœ í˜•(MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)ì„ ì—…ë¡œë“œí•˜ì„¸ìš”.'\n },\n cjc: {\n choose: 'ì„ íƒ',\n pleaseChoose: 'ì„ íƒí•´ 주세요',\n this: 'ì´ê²ƒ',\n one: '하나',\n myChoice: 'ë‚´ ì„ íƒ'\n },\n hm: {\n addComment: 'ì•„ëž˜ì— ì˜ê²¬ì„ 추가해주세요 ',\n commentMandatoryPlaceHolder: '필수 ì˜ê²¬ì„ 추가해주세요... ',\n commentOptionalPlaceHolder: 'ì„ íƒ ì˜ê²¬ì„ 추가해주세요... ',\n dragPin: '드래그해서 위치 ì¡°ì •(ì •ë°€í•˜ê²Œ í•€ì„ ë†“ê¸° 위한 긴 í´ë¦/íƒ) ',\n removePin: 'ì´ë¯¸ì§€ë¥¼ ì‚ì œí•˜ë ¤ë©´ 바깥으로 드래그하세요. ',\n editComment: 'ì˜ê²¬ì„ íŽ¸ì§‘í•˜ë ¤ë©´ í•€ì„ í´ë¦/íƒí•˜ì„¸ìš”. ',\n addPin: 'í•€ì„ ì•„ëž˜ 패ë„ì—ì„œ 드래그한 후, ì´ë¯¸ì§€ì—ì„œ ì„ íƒí•œ ë¶€ë¶„ì— ë†“ìœ¼ì„¸ìš”. ',\n addPins: 'í•€ë“¤ì„ ì•„ëž˜ì˜ íŒ¨ë„ì—ì„œ 드래그한 후, ì´ë¯¸ì§€ì—ì„œ ì„ íƒí•œ ë¶€ë¶„ì— ë†“ìœ¼ì„¸ìš”. ',\n leavePins: (minPoints, maxPoints) =>\n `ëª¨ë“ ì¢…ë¥˜ì˜ í•€ì€ ìµœì†Œ ${minPoints}ê°œ 남겨야 하지만 ${maxPoints}ê°œ ì´ìƒ 남기면 안 ë©ë‹ˆë‹¤. `,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `í•€ë“¤ì€ ìµœì†Œ ${minPoints}ê°œ 남겨야 하지만 ${maxPoints}ê°œ ì´ìƒ 남기면 안 ë©ë‹ˆë‹¤. `,\n leavePinsWithOff: maxPoints =>\n `ëª¨ë“ ì¢…ë¥˜ì˜ í•€ì€ ${maxPoints}ê°œ ì´ìƒ 남기면 안 ë©ë‹ˆë‹¤. ë˜ëŠ” 다ìŒì„ í´ë¦í•˜ì—¬ 건너뛰세요. `,\n leavePinsPerPageWithOff: maxPoints =>\n `í•€ë“¤ì€ ${maxPoints}ê°œ ì´ìƒ 남기면 안 ë©ë‹ˆë‹¤. ë˜ëŠ” 다ìŒì„ í´ë¦í•˜ì—¬ 건너뛰세요. `,\n leavePinWithOff: 'ëª¨ë“ ì¢…ë¥˜ì˜ í•€ì€ 1ê°œ ì´ìƒ 남기면 안 ë©ë‹ˆë‹¤. ë˜ëŠ” 다ìŒì„ í´ë¦í•˜ì—¬ 건너뛰세요. ',\n leavePinPerPageWithOff: 'í•€ë“¤ì€ {max}ê°œ ì´ìƒ 남기면 안 ë©ë‹ˆë‹¤. ë˜ëŠ” 다ìŒì„ í´ë¦í•˜ì—¬ 건너뛰세요. ',\n leaveExactlyPin: 'ëª¨ë“ ì¢…ë¥˜ì˜ í•€ì„ 1ê°œ 남겨주세요. ',\n leaveExactlyPinPerPage: 'í•€ì„ 1ê°œ 남겨주세요. ',\n leaveExactlyPins: maxPoints => `ëª¨ë“ ì¢…ë¥˜ì˜ í•€ì„ ${maxPoints}ê°œ 남겨주세요. `,\n leaveExactlyPinsPerPage: maxPoints => ` í•€ë“¤ì„ ${maxPoints}ê°œ 남겨주세요. `,\n leaveComment: 'ì´ë¯¸ì§€ ì•„ëž˜ì— ì˜ê²¬ì„ 남겨주세요. ',\n noAnswers: 'ì‘답 ì˜µì…˜ì´ ì—†ìŠµë‹ˆë‹¤. 다ìŒì„ í´ë¦í•˜ì—¬ 계ì†í•´ì£¼ì„¸ìš”. ',\n outOfPins: 'í•€ì„ ë‹¤ 사용했습니다',\n pinsBehavior: 'ì´ë¯¸ì§€ 위ì—ì„œ 움ì§ì¼ 경우 í•˜ë‚˜ì˜ í•€ì„ ë†“ì„ ìˆ˜ 있는 ê°•ì¡° í‘œì‹œëœ ì§€ì—ì´ ë³´ì¼ ê²ë‹ˆë‹¤.',\n clusters: 'ì´ë ‡ê²Œ ê°•ì¡° í‘œì‹œëœ ì§€ì—ì—는 핀만 ë†“ì„ ìˆ˜ 있습니다.',\n contentAware: 'ê°•ì¡° í‘œì‹œëœ ì§€ì— ì•ˆ ë˜ëŠ” ë°–ì— í•€ì„ ë†“ì„ ìˆ˜ 있습니다.'\n },\n mp: {\n expand_note: 'í™•ëŒ€í•˜ë ¤ë©´ ì´ë¯¸ì§€ 위로 마우스를 ê°€ì ¸ê°€ê±°ë‚˜ í´ë¦í•˜ì„¸ìš”.',\n rb_note: rows => `${rows ? '아래ì—ì„œ ' : ''} í•ëª©ë³„ë¡œ 1ê°œì˜ ì‘답만 ì„ íƒí•˜ì„¸ìš”.`,\n cb_note: (min, max, rows) => {\n if (1 === min && 5000 === max) {\n return 'ì ìš©ë˜ëŠ” ëª¨ë“ ê²ƒì„ ì²´í¬í•´ì£¼ì„¸ìš”:'\n } else if (min === max) {\n return `${rows ? '아래ì—ì„œ ' : ''} í•ëª©ë³„ë¡œ ${min}ê°œì˜ ì‘${min !== 1 ? '답ì„' : '답만'}ì„ íƒí•˜ì„¸ìš”:`\n } else if (min > 0 && max < 5000) {\n return `${rows ? '아래 ê° ' : ''}í•ëª©ì— 대하여 ${min}ê°œ ì´ìƒ, ${max}ê°œ ì´í•˜ì˜ ì‘ë‹µì„ ì„ íƒí•´ 주세요:`\n } else if (5000 === max && min > 0) {\n return `${rows ? '아래 ê° ' : ''}í•ëª©ì— 대하여 ${min}ê°œ ì´ìƒì˜ ì‘답 ì„ ì„ íƒí•´ 주세요:`\n } else if (0 === min && max < 5000) {\n return `${rows ? '아래 ê° ' : ''}í•ëª©ì— 대하여 ${max}ê°œ ì´í•˜ì˜ ì‘ë‹µì„ ì„ íƒí•´ 주세요::`\n } else {\n return 'ì ìš©ë˜ëŠ” ëª¨ë“ ê²ƒì„ ì²´í¬í•´ì£¼ì„¸ìš”:'\n }\n }\n },\n sh: {\n note: 'í™•ëŒ€í•˜ë ¤ë©´ ì œí’ˆì„ í´ë¦í•˜ê³ ìŠ¤í† ì–´ì—ì„œ êµ¬ë§¤í•˜ë ¤ë©´ ê°€ìƒ ìž¥ë°”êµ¬ë‹ˆì— ì¶”ê°€í•˜ì„¸ìš”.',\n amazonNote: 'ì œí’ˆì„ í´ë¦í•˜ì—¬ í™•ëŒ€í•˜ê³ ìž¥ë°”êµ¬ë‹ˆì— ì¶”ê°€í•˜ì„¸ìš”',\n fullCart: '장바구니가 ê°€ë“ ì°¼ìŠµë‹ˆë‹¤!',\n qty: '수량',\n addToCart: 'ìž¥ë°”êµ¬ë‹ˆì— ì¶”ê°€',\n each: 'ê°',\n items: 'í•ëª©',\n deleteFromCart: 'ì‚ì œ',\n next: '다ìŒ',\n emptyCard: '장바구니가 비어 있습니다.',\n total: '장바구니',\n clearCart: '장바구니 비우기',\n backToStore: 'ìŠ¤í† ì–´ë¡œ ëŒì•„ 가기',\n na: '해당 ì‚¬í• ì—†ìŒ',\n maxCartCountError: max => `ìž¥ë°”êµ¬ë‹ˆì— ì œí’ˆì„ ${max}ê°œ ì´í•˜ë¡œ 추가하세요.`,\n scrollError: `설문 조사를 ì§„í–‰í•˜ë ¤ë©´ 좌우로 ì™„ì „ížˆ 스í¬ë¡¤í•˜ì„¸ìš”. `,\n maxSpentError: max => `${max} ì´ìƒ 지출하지 마세요.. `,\n maxProductCountError: max => `ê° ì œí’ˆì— ëŒ€í•´ ìž¥ë°”êµ¬ë‹ˆì— ${max} ê°œ ì´ìƒì˜ ìˆ˜ëŸ‰ì„ ì¶”ê°€í•˜ì§€ 마세요. `\n },\n rb: {\n note: 'ì˜¤ì§ ê°œì˜ ì•„ì´í…œì„ 골ë¼ì£¼ì‹ì‹œì˜¤:'\n },\n vo: {\n note: 'ì˜ìƒì´ ëë‚ ë•Œê¹Œì§€ ì‹œì²í•´ì£¼ì„¸ìš”'\n },\n cb: {\n note: (min, max) => {\n if (1 === min && 5000 === max) {\n return 'ì ìš©ë˜ëŠ” ëª¨ë“ ê²ƒì„ ì²´í¬í•´ì£¼ì„¸ìš”:'\n } else if (min === max) {\n return `${min !== 1 ? '아무거나' : '오ì§'} ${min}ê°œì˜ ì•„ì´í…œì„ 골ë¼ì£¼ì‹ì‹œì˜¤:`\n } else if (min > 0 && max < 5000) {\n return `ê° í–‰ë‹¹, 최소 ${min}ê°œ, ${max}ê°œ ì´í•˜ì˜ ì•„ì´í…œì„ 골ë¼ì£¼ì‹ì˜¤:`\n } else if (5000 === max && min > 0) {\n return `ê° í–‰ë‹¹, 최소 ${min}ê°œ ì´í•˜ì˜ ì•„ì´í…œì„ 골ë¼ì£¼ì‹ì˜¤:`\n } else if (0 === min && max < 5000) {\n return `í–‰ì—ì„œ ${max}개를 넘지 않는 í•ëª©ì„ ì„ íƒí•˜ì‹ì‹œì˜¤:`\n } else {\n return 'ì ìš©ë˜ëŠ” ëª¨ë“ ê²ƒì„ ì²´í¬í•´ì£¼ì„¸ìš”:'\n }\n }\n },\n oe: {\n na: '해당 ì—†ìŒ',\n note: (min, max, _optional) => {\n if (min === max) {\n return `아무 ${min}글ìžë¥¼ ìž…ë ¥í•´ì‹ì‹œì˜¤.`\n } else if (min > 0 && max < 5000) {\n return `최소 ${min}, ${max}글ìžë¥¼ ìž…ë ¥í•´ì£¼ì‹ì‹œì˜¤.`\n } else if (5000 === max && min > 0) {\n return `최소 ${min}글ìžë¥¼ ìž…ë ¥í•´ì£¼ì‹ì‹œì˜¤.`\n } else if (0 === min && max < 5000) {\n return `${max}ê¸€ìž ì´í•˜ë¡œ ìž…ë ¥í•´ì£¼ì‹ì‹œì˜¤.`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'ë‹¤ìŒ í•ëª©ì„ 작성해 주세요:'\n },\n mx: {\n note: '계ì†í•˜ë ¤ë©´ ê°•ì¡° í‘œì‹œëœ ìŠ¬ë¼ì´ë”를 움ì§ì´ì„¸ìš”',\n dragSlider: '왼쪽ì´ë‚˜ 오른쪽으로 드래그해서 답해주ì‹ì‹œì˜¤.'\n },\n psc: {\n dragLeftRight: '왼쪽ì´ë‚˜ 오른쪽으로 드래그해서 답해주ì‹ì‹œì˜¤.'\n },\n ps: {\n note: value => `잔여 ${value} 를 ì•„ëž˜ì— ìžˆëŠ” í•ëª©ì— 배분해 주ì‹ì‹œì˜¤`,\n allDone: '완료!',\n total: `합계:`,\n dragSlider: '왼쪽ì´ë‚˜ 오른쪽으로 드래그해서 답해주ì‹ì‹œì˜¤.'\n },\n cx: {\n note: 'ë“œë¡ë°•ìŠ¤ë¥¼ ì—´ê³ ìžë™ 스í¬ë¡¤í• ë‹µë³€ì„ ìž…ë ¥í•˜ê±°ë‚˜ 수ë™ìœ¼ë¡œ ì„ íƒí•˜ì‹ì‹œì˜¤.'\n },\n ro: {\n note: '위나 아래로 드래그해서 재주문:'\n },\n md: {\n note1: 'ê·€í•˜ì˜ ì²« 번째 ì„ íƒ í•ëª©ì„ í´ë¦/íƒí•˜ì„¸ìš” ì„ íƒì„ í•´ì œí•˜ë ¤ë©´ 다시 í´ë¦/íƒí•˜ì„¸ìš”.',\n note2: 'ì´ì œ ê·€í•˜ì˜ ë§ˆì§€ë§‰ ì„ íƒ í•ëª©ì„ í´ë¦/íƒí•˜ì„¸ìš” ì„ íƒì„ í•´ì œí•˜ë ¤ë©´ 다시 í´ë¦/íƒí•˜ì„¸ìš”.',\n note3: 'ê°ì‚¬í•©ë‹ˆë‹¤! ë‹¤ìŒ ì§ˆë¬¸ì„ ê³„ì†í•˜ê±°ë‚˜ 다시 ì‹œìž‘í•˜ì‹œë ¤ë©´ ì„ íƒí•˜ì§€ ì•Šì€ í•ëª©ì„ í´ë¦/íƒí•˜ì„¸ìš”.'\n },\n aro: {\n note: 'ê°ê° ë‘ê°œ 중 하나를 골ë¼ì£¼ì‹ì‹œì˜¤.'\n },\n wd: {\n note: '다ìŒìœ¼ë¡œ 나오는 ê°’ì´ ê·¸ ì „ 값보다 커야합니다.'\n },\n emd: {\n note: 'ì˜ìƒì´ ëë‚ ë•Œê¹Œì§€ ì‹œì²í•´ì£¼ì„¸ìš”',\n noAnswers: '답변 ì˜µì…˜ì´ ì—†ìŠµë‹ˆë‹¤. 계ì†í•˜ë ¤ë©´ 다ìŒì„ í´ë¦í•˜ì„¸ìš”.',\n start: 'ì‹œìž‘í•˜ë ¤ë©´ 길게 í´ë¦í•˜ì„¸ìš”.',\n resume: '다시 ì‹œìž‘í•˜ë ¤ë©´ 길게 í´ë¦í•˜ì„¸ìš”.',\n continue: '준비ë습니다! <br />계ì†í•˜ë ¤ë©´ 다ìŒì„ í´ë¦í•˜ì„¸ìš”.',\n continueMobile: '준비ë˜ì—ˆìŠµë‹ˆë‹¤! <br /> 계ì†í•˜ë ¤ë©´ 여기를 í´ë¦í•˜ì„¸ìš”.',\n training: {\n session: '학습 세션',\n note: 'í›ˆë ¨ì„ ë§ˆì¹˜ì„¸ìš”.',\n moveLeft: '다ì´ì–¼ì„ 왼쪽 ë까지 드래그하세요.',\n moveBottom: '다ì´ì–¼ì„ 맨 아래로 드래그하세요.',\n moveRight: 'ì´ì œ 다ì´ì–¼ì„ 오른쪽 ë까지 드래그하세요.',\n moveTop: 'ì´ì œ 다ì´ì–¼ì„ 맨 위로 드래그하세요.',\n success: '잘 하셨습니다!'\n }\n },\n sft: {\n noAnswers: '답변 ì˜µì…˜ì´ ì—†ìŠµë‹ˆë‹¤. 계ì†í•˜ë ¤ë©´ 다ìŒì„ í´ë¦í•˜ì„¸ìš”.',\n note: 'ì§ê´€ì 으로 ì˜³ë‹¤ê³ ìƒê°ë˜ëŠ” 답변으로 최대한 빨리 답변해주세요.',\n finish: 'ëª¨ë‘ ì™„ë£Œë˜ì—ˆìŠµë‹ˆë‹¤! 계ì†í•˜ë ¤ë©´ 다ìŒì„ í´ë¦í•˜ì„¸ìš”.',\n training: {\n start:\n '<p>ì´ê²ƒì€ 여러 단어를 ë¹ ë¥´ê²Œ 보여주는 ë¬¸ì œì´ë©° ì§‘ì¤‘ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. ' +\n 'ëŒ€ë‹µí•˜ë ¤ë©´ ì‹ ì†í•˜ê²Œ 대ì‘해야 합니다. </p> <p>ì—°ìŠµí• ì¤€ë¹„ê°€ ë˜ì…¨ë‚˜ìš”?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `\"{buttonLeft}\" ì„(를) íƒí•˜ì„¸ìš”.`\n : (mouse ? `\"{buttonLeft}\" ì„(를) í´ë¦í•˜ì„¸ìš”.` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `\"{keyBtnLeft}\" 키를 누르세요.` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `\"{buttonRight}\" ì„(를) íƒí•˜ì„¸ìš”.`\n : (mouse ? `\"{buttonRight}\" ì„(를) í´ë¦í•˜ì„¸ìš”.` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `\"{keyBtnRight}\" 키를 누르세요.` : ''),\n fail: () => '너무 ëŠë¦½ë‹ˆë‹¤.',\n success: () => '훌ë¥í•©ë‹ˆë‹¤!',\n finish: () =>\n '<p><strong> 뛰어납니다!</strong></p><p>2~3분 ë™ì•ˆ ì§‘ì¤‘ë ¥ì„ ìžƒì§€ ì•Šë„ë¡ ì£¼ì˜í•˜ì„¸ìš”.</p><p>준비ë˜ë©´ 다ìŒì„ í´ë¦í•˜ì—¬ 시작하세요.</p>'\n },\n buttons: {\n start: '시작하기',\n yesno: {\n left: '네',\n right: '아니오'\n },\n matches: {\n left: 'ì¼ì¹˜ì‹œí‚¤ê¸°',\n right: 'ì¼ì¹˜í•˜ì§€ ì•ŠìŒ'\n },\n fits: {\n left: '맞ìŒ',\n right: '맞지 ì•ŠìŒ'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Tiada pilihan jawapan, sila klik seterusnya untuk meneruskan.',\n placeholder: 'Sila nyatakan...',\n pleaseSelect: 'Sila pilih…',\n rotateLandscape: 'Putarkan telefon anda dari potret ke landskap untuk meneruskan.',\n rotatePortrait: 'Putarkan telefon anda dari landskap ke potret untuk meneruskan.',\n ir: {\n selectWebCam: 'Pilih kamera web (jika tersedia) atau klik \"Layari\" untuk memuat naik dari peranti anda',\n uploadOnly: \"Klik 'Layari' untuk memuat naik dari peranti anda\",\n noWebCam: 'Tiada kamera web dikesan',\n accessCamUpload: 'AKSES KAMERA/MUAT NAIK',\n browse: 'LAYARI',\n uploadPhoto: 'Muat naik foto',\n camera: 'Kamera Web',\n instead: 'sebaliknya',\n capture: 'TANGKAP',\n somethingWrong: 'Maaf, ada sesuatu yang tidak kena. Sila cuba lagi kemudian',\n couldntRead: 'Maaf, kami tidak dapat membaca kod!',\n couldntProcess: 'Maaf, kami tidak dapat memproses imej!',\n inValidCode: 'Sila serahkan kod yang sah',\n moveOn: 'Sila cuba lagi atau serahkan foto anda dan teruskan',\n tryAgain: 'Sila cuba lagi',\n dataReceived: 'Data diterima!',\n enterManually: 'Sila cuba lagi atau masukkan data secara manual di bawah',\n positionQR:\n 'Sila posisikan kod QR di depan kamera anda supaya ia muat dalam bingkai merah atau muat naik dari komputer anda.',\n positionQRMobile:\n 'Sila posisikan kod QR di depan kamera anda supaya ia muat dalam bingkai merah atau muat naik dari komputer anda.',\n analyzing: 'Menganalisis imej, sila tunggu',\n submit: 'SERAH',\n startOver: 'Mulakan semula',\n allDone: 'Semua selesai!',\n cantAnalyze:\n 'Perhatian - kami tidak dapat mengemas imej ini. Sila cuba menyerahkannya semula atau pilih format yang lebih generik (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Harap maaf - kami tidak menyokong format fail ini. Sila muat naik jenis imej yang disokong (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Tiada kamera web dikesan',\n uploadVideo: 'Muat naik video',\n skip: 'Langkau?',\n accessCamUpload: 'AKSES KAMERA/MUAT NAIK',\n browse: 'LAYARI',\n instead: 'sebaliknya',\n or: 'atau',\n stopRecording: 'Hentikan rakaman',\n willBeStopped: 'Rakaman akan berhenti selepas 5 minit',\n stopOnDone: 'Hentikan rakaman apabila anda sudah selesai!',\n record: 'RAKAM',\n somethingWrong: 'Maaf, ada sesuatu yang tidak kena. Sila cuba lagi kemudian.',\n dataReceived: 'Data diterima!',\n microphone: 'mikrofon',\n camera: 'Kamera Web',\n selectMicrophone: 'Sila pilih mikrofon anda',\n selectCam: 'Pilih kamera web anda',\n submit: 'SERAH',\n upload: 'Muat naik',\n playback: 'Main semula',\n stopPlayback: 'HENTIKAN MAIN BALIK',\n startOver: 'Mulakan semula',\n allDone: 'Semua selesai!',\n alternativeRecordSpan: 'Sila muat naikklip video daripada peranti komputer anda. Secara alternatif, ',\n alrenativeRecordHref: 'anda boleh merakam video dengan kamera web.',\n cantAnalyze:\n 'Perhatian - kami tidak dapat mengemas video ini. Sila cuba menyerahkannya semula atau pilih format video yang lebih generik (MP4, M4V, WEBPM)',\n wrongFormat:\n 'Harap maaf - kami tidak menyokong format fail ini. Sila muat naik jenis video yang disokong (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'PILIH',\n pleaseChoose: 'Sila pilih',\n this: 'YANG',\n one: ' ini',\n myChoice: 'PILIHAN SAYA'\n },\n hm: {\n addComment: 'Sila tambah komen di bawah',\n commentMandatoryPlaceHolder: 'Sila tambah komen yang diwajibkan… ',\n commentOptionalPlaceHolder: 'Sila tambah komen pilihan…',\n dragPin: 'Seret untuk memposisikan semula (klik/ketil lama untuk mengepin dengan tepat). ',\n removePin: 'Seret ke luar imej untuk memadam. ',\n editComment: 'Klik/ketik pin untuk mengedit komen. ',\n addPin: 'Sila seret pin dari panel di bawah dan lepaskan pin di titik pilihan anda pada imej. ',\n addPins: 'Sila seret pin dari panel di bawah dan lepaskan pin di titik pilihan anda pada imej. ',\n leavePins: (minPoints, maxPoints) =>\n `Sila biarkan sekurang-kurangnya ${minPoints}, tetapi tidak lebih daripada ${maxPoints} pin untuk setiap jenis. `,\n leavePinsAny: (minPoints, maxPoints) =>\n `Sila biarkan sekurang-kurangnya ${minPoints}, tetapi tidak lebih daripada ${maxPoints} pin pin daripada sebarang jenis. `,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `Sila biarkan sekurang-kurangnya ${minPoints}, tetapi tidak lebih daripada ${maxPoints} pin. `,\n leavePinsWithOff: maxPoints =>\n `Sila tinggalkan tidak lebih daripada ${maxPoints} pin untuk setiap jenis atau klik Seterusnya untuk melangkau. `,\n leavePinsWithOffAny: maxPoints =>\n `Sila tinggalkan tidak lebih daripada ${maxPoints} pin daripada sebarang jenis atau klik Seterusnya untuk melangkau. `,\n leavePinsPerPageWithOff: maxPoints =>\n `Sila tinggalkan tidak lebih daripada ${maxPoints} pin atau klik Seterusnya untuk melangkau. `,\n leavePinWithOff: `Sila tinggalkan tidak lebih daripada 1 pin untuk setiap jenis atau klik Seterusnya untuk melangkau. `,\n leavePinWithOffAny: `Sila tinggalkan tidak lebih daripada 1 pin daripada sebarang jenis atau klik Seterusnya untuk melangkau. `,\n leavePinPerPageWithOff: 'Sila tinggalkan tidak lebih daripada 1 pin atau klik Seterusnya untuk melangkau. ',\n leaveExactlyPin: `Sila tinggalkan 1 pin untuk setiap jenis. `,\n leaveExactlyPinAny: `Sila tinggalkan 1 pin pin daripada sebarang jenis. `,\n leaveExactlyPinPerPage: 'Sila tinggalkan 1 pin. ',\n leaveExactlyPins: maxPoints => `Sila tinggalkan ${maxPoints} pin untuk setiap jenis. `,\n leaveExactlyPinsAny: maxPoints => `Sila tinggalkan ${maxPoints} pin pin daripada sebarang jenis. `,\n leaveExactlyPinsPerPage: maxPoints => `Sila tinggalkan ${maxPoints} pin. `,\n leaveComment: 'Taip di bawah imej untuk meninggalkan komen. ',\n noAnswers: 'Tiada pilihan jawapan, sila klik seterusnya untuk meneruskan. ',\n outOfPins: 'Anda kehabisan pin ',\n pinsBehavior:\n 'Sambil anda bergerak merentasi imej, anda akan dapat melihat kawasan yang akan ditonjolkan dengan jatuhan pin tunggal.',\n clusters: 'Anda hanya boleh meletakkan pin dalam kawasan ditonjolkan ini.',\n contentAware: 'Anda boleh menjatuhkan pin di dalam atau di luar kawasan yang ditonjolkan.'\n },\n mp: {\n expand_note: 'Sila layang atas imej atau klik pada imej untuk membesarkan',\n rb_note: rows => `Sila pilih setepat-tepatnya 1 respons per item${rows ? ' di bawah' : ''}:`,\n cb_note: (min, max, rows) => {\n if (min === max) {\n return `Sila pilih ${min !== 1 ? 'mana-mana' : 'setepat-tepatnya'} ${min} respons${\n min !== 1 ? 's' : ''\n } per item${rows ? ' di bawah' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Sila pilih sekurang-kurangnya ${min} respons${\n min !== 1 ? 's' : ''\n }, tetapi tidak lebih daripada ${max} per item${rows ? ' di bawah' : ''}:`\n } else if (5000 === max && min > 0) {\n return `Sila pilih sekurang-kurangnya ${min} respons${min !== 1 ? 's' : ''} per item${\n rows ? ' di bawah' : ''\n }:`\n } else if (0 === min && max < 5000) {\n return `Sila pilih tidak lebih daripada ${max} respons${max !== 1 ? 's' : ''} per item${\n rows ? ' di bawah' : ''\n }:`\n } else {\n return 'Tandakan semua yang berkenaan:'\n }\n }\n },\n sh: {\n note: 'Klik produk untuk mengezum masuk dan menambahnya kepada troli maya anda sekiranya anda tidak membelinya di kedai',\n amazonNote:\n 'Klik produk untuk mengezum masuk dan menambahnya kepada troli maya anda sekiranya anda akan membelinya secara dalam talian',\n fullCart: 'Troli anda penuh!',\n qty: 'Kuantiti',\n addToCart: 'TAMBAH KEPADA TROLI',\n deleteFromCart: 'PADAM',\n each: 'setiap satu',\n items: 'barang',\n emptyCard: 'Troli anda kosong',\n total: 'Troli',\n clearCart: 'Padam troli',\n backToStore: 'Kembali ke kedai',\n na: 'Tiada satu pun di atas',\n next: 'SETERUSNYA',\n maxCartCountError: max => `Sila tambah tidak lebih daripada ${max} produk kepada troli anda`,\n scrollError: `Sila tatal ke kiri dan kanan sepenuhnya untuk meneruskan tinjauan.`,\n maxSpentError: max => `Sila belanjakan tidak lebih daripada ${max}`,\n maxProductCountError: max =>\n `Sila tambah tidak lebih daripada kuantiti ${max} kepada troli anda untuk setiap produk.`\n },\n rb: {\n note: 'Sila pilih setepat-tepatnya 1 item:'\n },\n vo: {\n note: 'Sila tonton video sehingga tamat'\n },\n cb: {\n note: (min, max) => {\n if (1 === min && 5000 === max) {\n return 'Tandakan semua yang berkenaan:'\n } else if (min === max) {\n return `Sila pilih ${min !== 1 ? 'mana-mana' : 'setepat-tepatnya'} ${min} item${min !== 1 ? 's' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Sila pilih sekurang-kurangnya ${min} item${min !== 1 ? 's' : ''}, tetapi tidak lebih daripada ${max}:`\n } else if (5000 === max && min > 0) {\n return `Sila pilih sekurang-kurangnya ${min} item${min !== 1 ? 's' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Sila pilih tidak lebih daripada ${max} item${max !== 1 ? 's' : ''}:`\n } else {\n return 'Tandakan semua yang berkenaan:'\n }\n }\n },\n oe: {\n na: 'Tidak berkaitan',\n note: (min, max, optional) => {\n if (min === max) {\n return `Sila taip ${1 !== min ? 'mana-mana' : 'setepat-tepatnya'} ${min} aksara${1 !== min ? 's' : ''}${\n optional ? ' (pilihan)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Sila taip sekurang-kurangnya ${min} aksara${1 !== min ? 's' : ''} tetapi tidak lebih daripada ${max}${\n optional ? ' (pilihan)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Sila taip sekurang-kurangnya ${min} aksara${1 !== min ? 's' : ''}${optional ? ' (pilihan)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Sila taip tidak lebih daripada ${max} aksara${1 !== min ? 's' : ''}${optional ? ' (pilihan)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Sila isikan medan berikut:'\n },\n mx: {\n note: 'Sila alihkan pengggelangsar yang ditonjolkan untuk meneruskan',\n dragSlider: 'Seret ke kiri atau ke kanan untuk menjawab'\n },\n psc: {\n dragLeftRight: 'Seret ke kiri atau ke kanan untuk menjawab'\n },\n ps: {\n note: (value, remaining) => `Sila edarkan ${value} ${remaining ? 'antara' : ''} item-item di bawah`,\n allDone: `Semua selesai`,\n total: `jumlah:`,\n dragSlider: 'Seret ke kiri atau ke kanan untuk menjawab'\n },\n cx: {\n note: 'Buka dropbox dan mulakan menaip jawapan anda untuk menatal secara automatik atau memilih secara manual.'\n },\n ro: {\n note: 'Seret ke atas atau ke bawah untuk menyusun semula:'\n },\n md: {\n note1:\n 'Sila klik/ketik pada item pilihan <b>pertama anda</b>.<br/> Klik/ketik sekali lagi untuk memadam pilihan.',\n note2:\n 'Sekarang, sila klik/ketik item pilihan <b>terakhir anda</b>.<br/> Klik/ketik sekali lagi untuk memadam pilihan.',\n note3:\n 'Terima kasih! Teruskan ke soalan seterusnya, <br/> atau klik/ketik mana-mana item yang tidak dipilih untuk bermula semula.'\n },\n aro: {\n note: 'Sila pilih satu item daripada setiap pasangan.'\n },\n wd: {\n note: 'Pastikan semua nilai seterusnya adalah lebih besar daripada yang sebelumnya.'\n },\n emd: {\n note: 'Sila tonton video sehingga tamat',\n noAnswers: 'Tiada pilihan jawapan, sila klik seterusnya untuk meneruskan.',\n start: 'Klik dan tahan untuk bermula',\n resume: 'Klik dan tahan untuk menyambung semula',\n continue: 'Anda bersedia! Klik Seterusnya untuk meneruskan',\n continueMobile: 'Anda bersedia! Klik DI SINI untuk meneruskan',\n training: {\n session: 'Sesi latihan',\n note: 'Sila tamatkan latihan',\n moveLeft: 'Sila seret dail sehingga habis <strong>ke kiri</strong>',\n moveBottom: 'Sila seret dail sehingga habis <strong>ke bawah</strong>',\n moveRight: 'Sekarang, sila seret dail sehingga habis <strong>ke kanan</strong>',\n moveTop: 'Sekarang, sila seret dail sehingga habis <strong>ke atas</strong>',\n success: 'Bagus!'\n }\n },\n sft: {\n noAnswers: 'Tiada pilihan jawapan, sila klik seterusnya untuk meneruskan.',\n note: 'Sila jawab secepat yang anda boleh dengan jawapan yang dirasakan betul',\n imageError: 'No image exposure time chosen',\n finish: 'Anda selesai! <br/> Sila klik Seterusnya untuk meneruskan',\n training: {\n start:\n '<p>Soalan ini akan menunjukkan perkataan berbeza dengan cepat kepada anda dan memerlukan penumpuan anda. ' +\n 'Anda perlu bertindak balas dengan pantas untuk menjawab. </p><p>Bersedia untuk berlatih?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Ketik \"{buttonLeft}\"`\n : (mouse ? `Klik \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Ketik kekunci \"{keyBtnLeft}\"` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Ketik \"{buttonRight}\"`\n : (mouse ? `Klik \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Ketik kekunci \"{keyBtnRight}\"` : ''),\n fail: () => 'Terlalu perlahan',\n success: () => 'Bagus!',\n finish: () =>\n '<p><strong> Cemerlang!</strong></p><p>Sila pastikan penumpuan <br />' +\n 'anda tidak terganggu dalam 2-3 minit seterusnya </p><p>Klik seterusnya untuk bermula apabila sudah bersedia.</p>'\n },\n buttons: {\n start: 'Mula',\n yesno: {\n left: 'Ya',\n right: 'Tidak'\n },\n matches: {\n left: 'Sepadan',\n right: 'Tidak Sepadan'\n },\n fits: {\n left: 'Muat',\n right: 'Tidak Muat'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n },\n noyes: {\n left: 'Ya',\n right: 'Tidak'\n },\n matchesRev: {\n left: 'Sepadan',\n right: 'Tidak Sepadan'\n },\n fitsRev: {\n left: 'Muat',\n right: 'Tidak Muat'\n },\n thumbsRev: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: \"Geen antwoordoptie, klik op 'volgende' om door te gaan.\",\n placeholder: 'Specificeer...',\n pleaseSelect: 'Selecteer...',\n rotateLandscape: 'Draai uw telefoon van portret naar landschap om door te gaan.',\n rotatePortrait: 'Draai uw telefoon van landschap naar portret om door te gaan.',\n ir: {\n selectWebCam: \"Selecteer webcam (indien beschikbaar) of klik op 'Bladeren' om vanaf je apparaat te uploaden\",\n noWebCam: 'Geen webcam gedetecteerd',\n accessCamUpload: 'CAMERA/UPLOADEN OPENEN',\n browse: 'BLADEREN',\n uploadPhoto: 'Upload een foto',\n camera: 'Webcamera ',\n instead: 'in plaats daarvan',\n capture: 'FOTO MAKEN',\n somethingWrong: 'Sorry, er ging iets mis. Probeer het later nog eens',\n couldntRead: 'Sorry, we konden de code niet lezen!',\n couldntProcess: 'Sorry, we konden je foto niet verwerken!',\n inValidCode: 'Please, submit the valid code', // !\n moveOn: 'Probeer het opnieuw of verzend je foto en ga verder',\n tryAgain: 'Probeer het opnieuw',\n dataReceived: 'Gegevens ontvangen!',\n enterManually: 'Probeer het opnieuw of voer de gegevens hieronder handmatig in',\n positionQR: 'Houd de QR-code voor je camera zodat deze in het rode kader past of upload hem vanaf je computer.',\n positionQRMobile: 'Plaats de QR-code voor uw camera of upload deze vanaf uw apparaat.',\n analyzing: 'Afbeelding wordt geanalyseerd, een moment geduld',\n submit: 'VERZENDEN',\n startOver: 'BEGIN OPNIEUW',\n allDone: 'KLAAR IS KEES!',\n cantAnalyze:\n 'Opgelet - we hebben deze afbeelding niet kunnen weergeven. Probeer hem opnieuw in te dienen of kies een algemener afbeeldingsformaat (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Het spijt ons, we ondersteunen dit bestandsformaat niet. Upload een ondersteund afbeeldingstype (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Geen webcam gedetecteerd',\n uploadVideo: 'Upload een video', // ?\n skip: 'Overslaan?',\n accessCamUpload: 'CAMERA/UPLOADEN OPENEN',\n browse: 'BLADEREN',\n instead: 'in plaats daarvan',\n or: 'or', // !\n stopRecording: 'Stoppen met opnemen',\n willBeStopped: 'De opname stopt na <b>5 minuten<b/>',\n stopOnDone: 'Stop de opname als je klaar bent!',\n record: 'OPNEMEN',\n somethingWrong: 'Sorry, er ging iets mis. Probeer het later nog eens.',\n dataReceived: 'Gegevens ontvangen!',\n microphone: 'Microfoon',\n camera: 'Webcamera',\n selectMicrophone: 'Selecteer je microfoon', // ?\n selectCam: 'Selecteer je webcamera', // ?\n submit: 'VERZENDEN',\n upload: 'UPLOADEN',\n playback: 'AFSPELEN',\n stopPlayback: 'STOP PLAYBACK', // !\n startOver: 'BEGIN OPNIEUW',\n allDone: 'AKLAAR IS KEES!',\n alternativeRecordSpan:\n 'Upload een videoclip vanaf je computer.<br/>Je kunt in plaats daarvan de video ook opnemen ',\n alrenativeRecordHref: 'met een webcam',\n cantAnalyze:\n 'Opgelet - we hebben deze video niet kunnen weergeven. Probeer hem opnieuw in te dienen of kies een algemener videoformaat (MP4, M4V, WEBPM)',\n wrongFormat:\n 'Het spijt ons, we ondersteunen dit bestandsformaat niet. Upload een ondersteund videotype (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'KIEZEN',\n pleaseChoose: 'Maak een keuze',\n this: 'DIT',\n one: 'een',\n myChoice: 'MIJN KEUZE'\n },\n hm: {\n addComment: 'Plaats hieronder een reactie',\n commentMandatoryPlaceHolder: 'Voeg verplichte reactie toe...',\n commentOptionalPlaceHolder: 'Voeg optionele reactie toe...',\n dragPin: 'Sleep om te verplaatsen (lang klikken/tikken om nauwkeurig vast te prikken).',\n removePin: 'Sleep buiten de afbeelding om te verwijderen.',\n editComment: 'Klik/tik op speld om reactie te bewerken.',\n addPin: 'Versleep de speld uit het onderstaande paneel en plaats hem op een plek naar keuze op de afbeelding.',\n addPins: 'Versleep de spelden uit het onderstaande paneel en plaats ze op een plek naar keuze op de afbeelding.',\n leavePins: (minPoints, maxPoints) =>\n `Laat minstens ${minPoints}, maar niet meer dan ${maxPoints} spelden van elk type achter.`,\n leavePinsAny: (minPoints, maxPoints) =>\n `Laat tenminste ${minPoints} maar niet meer dan ${maxPoints} pins van welke soort dan ook achter.`,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `Laat minstens ${minPoints}, maar niet meer dan ${maxPoints} spelden achter.`,\n leavePinsWithOff: maxPoints =>\n `Laat niet meer dan ${maxPoints} spelden van elk type achter of klik op 'volgende' om over te slaan.`,\n leavePinsWithOffAny: maxPoints =>\n `Laat niet meer dan ${maxPoints} pins van welke soort dan ook achter of klik op Volgende om dit over te slaan.`,\n leavePinsPerPageWithOff: maxPoints =>\n `Laat niet meer dan ${maxPoints} spelden achter of klik op 'volgende' om over te slaan.`,\n leavePinWithOff: `Laat niet meer dan 1 speld van elk type achter of klik op 'volgende' om over te slaan.`,\n leavePinWithOffAny: `Laat niet meer dan 1 pin achter of klik op Volgende om dit over te slaan.`,\n leavePinPerPageWithOff: \"Laat niet meer dan 1 speld achter of klik op 'volgende' om over te slaan.\",\n leaveExactlyPin: `Laat 1 speld van elk type achter.`,\n leaveExactlyPinAny: `Laat 1 pin van welke soort dan ook achter.`,\n leaveExactlyPinPerPage: 'Laat 1 speld achter.',\n leaveExactlyPins: maxPoints => `Laat ${maxPoints} spelden van elk type achter.`,\n leaveExactlyPinsAny: maxPoints => `Laat ${maxPoints} pins van welke soort dan ook achter.`,\n leaveExactlyPinsPerPage: maxPoints => `Laat ${maxPoints} spelden achter.`,\n leaveComment: 'Typ onder de afbeelding om een reactie achter te laten.',\n noAnswers: \"Geen antwoordoptie, klik op 'volgende' om door te gaan.\",\n outOfPins: 'je hebt geen spelden meer',\n pinsBehavior: 'Als je over het beeld gaat zie je plaatsen die gemarkeerd worden met een enkele speldenknop.',\n clusters: 'Je kunt alleen spelden plaatsen op deze gemarkeerde plaatsen.',\n contentAware: 'Je kunt binnen of buiten de gemarkeerde plaatsen spelden neerzetten.'\n },\n mp: {\n expand_note: 'Beweeg de muisaanwijzer over of klik op de afbeeldingen(en) om te vergroten',\n rb_note: rows => `Kies${rows ? ' hieronder' : ''} 1 antwoord per onderdeel:`,\n cb_note: (min, max, rows) => {\n if (min === max) {\n return `Kies${rows ? ' hieronder' : ''} ${min !== 1 ? '' : 'slechts'} ${min} ${\n min !== 1 ? 'antwoorden' : 'antwoord'\n } per onderdeel:`\n } else if (min > 0 && max < 5000) {\n return `Selecteer ten minste ${min} ${\n min !== 1 ? 'antwoorden' : 'antwoord'\n } maar niet meer dan ${max} per item${rows ? ' hieronder' : ''}:`\n } else if (5000 === max && min > 0) {\n return `Selecteer ten minste ${min} ${min !== 1 ? 'antwoorden' : 'antwoord'} per item${\n rows ? ' hieronder' : ''\n }:`\n } else if (0 === min && max < 5000) {\n return `Selecteer niet meer dan ${max} ${max !== 1 ? 'antwoorden' : 'antwoord'} per item${\n rows ? ' hieronder' : ''\n }:`\n } else {\n return 'Vink alles aan wat van toepassing is:'\n }\n }\n },\n sh: {\n note: 'Klik op een product om in te zoomen en toe te voegen aan uw virtuele winkelwagentje als u het in de winkel zou kopen',\n amazonNote: 'Klik op een product om in te zoomen en toe te voegen aan je virtuele winkelwagen.',\n fullCart: 'Uw winkelwagentje is vol!',\n qty: 'AANTAL',\n addToCart: 'TOEVOEGEN AAN WINKELWAGENTJE',\n deleteFromCart: 'VERWIJDEREN',\n next: 'VOLGENDE',\n emptyCard: 'Uw winkelwagentje is leeg',\n each: 'elk',\n items: 'artikelen',\n total: 'Winkelwagentje',\n clearCart: 'Winkelwagentje legen',\n backToStore: 'Terug naar de winkel',\n na: 'Geen van bovenstaande',\n maxCartCountError: max => `Lütfen ürün sepetinize en fazla ${max} ürün ekleyin `,\n scrollError: `Scrol volledig naar links en rechts om verder te gaan met de enquête.`,\n maxSpentError: max => `Lütfen ${max} tutarından fazla harcamayın. `,\n maxProductCountError: max => `Lütfen her ürün için sepetinize en fazla ${max} adet ekleyin. `\n },\n rb: {\n note: 'Selecteer slechts 1 item:'\n },\n vo: {\n note: 'Bekijk de video helemaal\\n'\n },\n cb: {\n note: (min, max) => {\n if (1 === min && 5000 === max) {\n return 'Vink alles aan wat van toepassing is:'\n } else if (min === max) {\n return `Kies hieronder ${min !== 1 ? '' : 'slechts'} ${min} antwoord${min !== 1 ? 'en' : ''} per onderdeel:`\n } else if (min > 0 && max < 5000) {\n return `Selecteer ten minste ${min} antwoord${\n min !== 1 ? 'en' : ''\n } maar niet meer dan ${max} per item hieronder:`\n } else if (5000 === max && min > 0) {\n return `Selecteer ten minste ${min} antwoord${min !== 1 ? 'en' : ''} per item hieronder:`\n } else if (0 === min && max < 5000) {\n return `Selecteer niet meer dan ${max} antwoord${max !== 1 ? 'en' : ''} per item hieronder:`\n } else {\n return 'Vink alles aan wat van toepassing is:'\n }\n }\n },\n oe: {\n na: 'Niet toepasbaar',\n note: (min, max, optional) => {\n if (min === max) {\n return `Typ ${1 !== min ? '' : 'exact'} ${min} teken${1 !== min ? 's' : ''}${optional ? ' (optioneel)' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Typ minstens ${min} teken${1 !== min ? 's' : ''} maar niet meer dan ${max}${\n optional ? ' (optioneel)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Typ minstens ${min} teken${1 !== min ? 's' : ''}${optional ? ' (optioneel)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Typ niet meer dan ${max} teken${1 !== min ? 's' : ''}${optional ? ' (optioneel)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Vul de volgende velden in:'\n },\n mx: {\n note: 'Verplaats de gemarkeerde schuifregelaars om door te gaan',\n dragSlider: 'Versleep naar links of rechts om te antwoorden'\n },\n psc: {\n dragLeftRight: 'Versleep naar links of rechts om te antwoorden'\n },\n ps: {\n note: (value, remaining) => `Verdeel${remaining ? ' de resterende' : ''} ${value} over de onderstaande items`,\n allDone: `Klaar is Kees`,\n total: `Total:`, // !\n dragSlider: 'Versleep naar links of rechts om te antwoorden'\n },\n cx: {\n note: 'Open de dropbox en begin je antwoord te typen om automatisch te scrollen of kies het handmatig'\n },\n ro: {\n note: 'Sleep omhoog of omlaag om opnieuw te ordenen:'\n },\n md: {\n note1: 'Klik/tik op het item van je <b>eerste keuze</b>.<br/> Klik/tik opnieuw om de keuze te wissen.',\n note2: 'Klik/tik op het item van je <b>laatste keuze</b>.<br/> Klik/tik opnieuw om de keuze te wissen.',\n note3:\n 'Bedankt! Ga verder naar de volgende vraag of klik/tik op een niet-geselecteerd item om opnieuw te beginnen.'\n },\n aro: {\n note: 'Kies uit elk paar één item:'\n },\n wd: {\n note: 'Zorg ervoor dat elke volgende waarde groter is dan de vorige.'\n },\n emd: {\n note: 'Bekijk de video helemaal',\n noAnswers: \"Geen antwoordoptie, klik op 'volgende' om door te gaan.\",\n start: 'Klik en houd ingedrukt om te starten',\n resume: 'Klik en houd ingedrukt om door te gaan',\n continue: \"U bent klaar! <br />Klik op 'volgende' om door te gaan\",\n continueMobile: 'Je bent klaar! <br /> Klik HIER om verder te gaan',\n training: {\n session: 'trainingssessie',\n note: 'Maak de training af',\n moveLeft: 'Sleep de schijf helemaal naar links',\n moveBottom: 'Sleep de schijf helemaal naar beneden',\n moveRight: 'Sleep de schijf nu helemaal naar rechts',\n moveTop: 'Sleep de schijf nu helemaal naar boven',\n success: 'Goed gedaan!'\n }\n },\n sft: {\n noAnswers: \"Geen antwoordoptie, klik op 'volgende' om door te gaan.\",\n note: 'Antwoord alstublieft zo snel mogelijk met het antwoord dat intuïtief goed aanvoelt',\n finish: 'U bent helemaal klaar! <br />Klik op Volgende om door te gaan.',\n training: {\n start:\n '<p>Deze vraag zal u snel verschillende woorden laten zien en vereist uw concentratie. ' +\n 'U dient snel te reageren om te antwoorden.</p> <p>Klaar om te oefenen?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Tik op \"{buttonLeft}\"`\n : (mouse ? `Klik op \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Druk op de \"{keyBtnLeft}\"-toets` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Tik op \"{buttonRight}\"`\n : (mouse ? `Klik op \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Druk op de \"{keyBtnRight}\"-toets` : ''),\n fail: () => 'Te traag',\n success: () => 'Geweldig!',\n finish: () =>\n '<p><strong> Uitstekend!</strong></p><p>Zorg ervoor dat u de komende <br />' +\n '2-3 minuten niet wordt afgeleid. </p><p>Klik op Volgende om te starten als u er klaar voor bent.</p>'\n },\n buttons: {\n start: 'Aan de slag',\n yesno: {\n left: 'Ja',\n right: 'Nee'\n },\n matches: {\n left: 'Match',\n right: 'Geen match'\n },\n fits: {\n left: 'Past',\n right: 'Past niet'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Ikke noe svaralternativ, klikk ved siden av for Ã¥ fortsette.',\n placeholder: 'Spesifiser...',\n pleaseSelect: 'Velg...',\n rotateLandscape: 'Vri telefonen fra portrett til breddevisning for Ã¥ fortsette.',\n rotatePortrait: 'Vri telefonen fra breddevisning til portrett for Ã¥ fortsette.',\n ir: {\n selectWebCam: 'Velg webkamera (hvis tilgjengelig) eller klikk pÃ¥ «Bla gjennom» for Ã¥ laste opp fra enheten',\n uploadOnly: 'Klikk pÃ¥ «Bla gjennom» for Ã¥ laste opp fra enheten',\n noWebCam: 'Ingen webkamera oppdaget',\n accessCamUpload: 'FÃ… TILGANG TIL KAMERA / LAST OPP',\n browse: 'BLA GJENNOM',\n uploadPhoto: 'Last opp et bilde',\n camera: 'Webkamera',\n instead: 'i stedet',\n capture: 'OPPTAK',\n somethingWrong: 'Beklager, noe gikk galt. Prøv igjen senere',\n couldntRead: 'Beklager, vi kunne ikke lese koden!',\n couldntProcess: 'Beklager, vi kunne ikke behandle bildet ditt!',\n inValidCode: 'Send inn den gyldige koden',\n moveOn: 'Prøv pÃ¥ nytt eller send inn bildet ditt og fortsett',\n tryAgain: 'Prøv pÃ¥ nytt',\n dataReceived: 'Data motatt!',\n enterManually: 'Prøv pÃ¥ nytt eller skriv inn dataene manuelt nedenfor',\n positionQR:\n 'Plasser QR–koden foran kameraet slik at den fyller den røde rammen, eller last den opp fra datamaskinen.',\n positionQRMobile:\n 'Plasser QR–koden foran kameraet slik at den fyller den røde rammen, eller last den opp fra datamaskinen.',\n analyzing: 'Analyserer bilde, vennligst vent',\n submit: 'SEND INN',\n startOver: 'Start pÃ¥ nytt',\n allDone: 'Ferdig!',\n cantAnalyze:\n 'Oppmerksomhet – vi kunne ikke gjengi dette bildet. Prøv Ã¥ sende inn pÃ¥ nytt eller velg et mer generisk bildeformat (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Vi beklager – vi støtter ikke dette filformatet. Last opp en støttet bildetype (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Ingen webkamera oppdaget',\n uploadVideo: 'Last opp en video',\n skip: 'Hoppe over?',\n accessCamUpload: 'FÃ… TILGANG TIL KAMERA / LAST OPP',\n browse: 'BLA GJENNOM',\n instead: 'i stedet',\n or: 'eller',\n stopRecording: 'Stopp opptak',\n willBeStopped: 'Innspillingen vil stoppe etter <b>5 minutter</b>',\n stopOnDone: 'Stopp opptaket nÃ¥r du er ferdig!',\n record: 'POST',\n somethingWrong: 'Beklager, noe gikk galt. Prøv igjen senere.',\n dataReceived: 'Mottok data!',\n microphone: 'Mikrofonen',\n camera: 'Webkamera',\n selectMicrophone: 'Velg mikrofonen din',\n selectCam: 'Velg webkamera',\n submit: 'SEND INN',\n upload: 'Last opp ',\n playback: 'Avspilling',\n stopPlayback: 'STOPP AVSPILLING',\n startOver: 'Start pÃ¥ nytt',\n allDone: 'Ferdig!',\n alternativeRecordSpan: 'Last opp et videoklipp fra datamaskinen. Alternativt kan du ',\n alrenativeRecordHref: 'ta opp videoen med et webkamera.',\n cantAnalyze:\n 'Oppmerksomhet – vi kunne ikke gjengi denne videoen. Prøv Ã¥ sende inn pÃ¥ nytt eller velg et mer generisk videoformat (MP4, M4V, WEBPM)',\n wrongFormat:\n 'Vi beklager – vi støtter ikke dette filformatet. Last opp en støttet videotype (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'VELG',\n pleaseChoose: 'Velg',\n this: 'DENNE',\n one: ' én',\n myChoice: 'Mitt VALG'\n },\n hm: {\n addComment: 'Legg til en kommentar nedenfor',\n commentMandatoryPlaceHolder: 'Legg til obligatorisk kommentar... ',\n commentOptionalPlaceHolder: 'Legg til valgfri kommentar... ',\n dragPin: 'Dra for Ã¥ flytte (langt klikk / trykk for presisjonsnÃ¥l). ',\n removePin: 'Dra utenfor bildet for Ã¥ slette. ',\n editComment: 'Klikk pÃ¥ / trykk pÃ¥ pinnen for Ã¥ redigere kommentaren. ',\n addPin: 'Dra pinnen fra panelet nedenfor og slipp den pÃ¥ et sted du velger pÃ¥ bildet.',\n addPins: 'Dra pinnene fra panelet nedenfor og slipp dem pÃ¥ et sted du velger pÃ¥ bildet.',\n leavePins: (minPoints, maxPoints) =>\n `Legg igjen minst ${minPoints}, men ikke mer enn ${maxPoints} pinner av hvert slag`,\n leavePinsAny: (minPoints, maxPoints) =>\n `Legg igjen minst ${minPoints}, men ikke mer enn ${maxPoints} pinner av noe slag. `,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `Legg igjen minst ${minPoints}, men ikke mer enn ${maxPoints} pinner. `,\n leavePinsWithOff: maxPoints =>\n `Ikke legg igjen mer enn ${maxPoints} pinner av hvert slag, eller klikk pÃ¥ Neste for Ã¥ hoppe over. `,\n leavePinsWithOffAny: maxPoints =>\n `Ikke legg igjen mer enn ${maxPoints} pinner av noe slag være igjen, eller klikk pÃ¥ Neste for Ã¥ hoppe overfor Ã¥ hoppe over. `,\n leavePinsPerPageWithOff: maxPoints =>\n `Ikke legg igjen mer enn ${maxPoints} pinner eller klikk Neste for Ã¥ hoppe over. `,\n leavePinWithOff: `Ikke legg igjen mer enn 1 pinne av hvert slag, eller klikk Neste for Ã¥ hoppe over. `,\n leavePinWithOffAny: `Ikke legg igjen mer enn 1 pinne av noe slag eller klikk Neste for Ã¥ hoppe overfor Ã¥ hoppe over. `,\n leavePinPerPageWithOff: 'Ikke legg igjen mer enn 1 pinne eller klikk Neste for Ã¥ hoppe over.',\n leaveExactlyPin: `Legg igjen 1 pinne av hvert slag. `,\n leaveExactlyPinAny: `Legg igjen 1 pinne av et hvilket som helst slag. `,\n leaveExactlyPinPerPage: 'Legg igjen 1 pinne.',\n leaveExactlyPins: maxPoints => `Legg igjen ${maxPoints} pinner av hvert slag. `,\n leaveExactlyPinsAny: maxPoints => `Legg igjen ${maxPoints} pinner av noe slag.`,\n leaveExactlyPinsPerPage: maxPoints => `Legg igjen ${maxPoints} pinner. `,\n leaveComment: 'Skriv under bildet for Ã¥ legge igjen en kommentar. ',\n noAnswers: 'Ikke noe svaralternativ, klikk ved siden av for Ã¥ fortsette.',\n outOfPins: 'Du er tom for pinner',\n pinsBehavior: 'NÃ¥r du beveger deg over bildet, vil du se omrÃ¥der som vil bli uthevet med en enkelt pinne.',\n clusters: 'Du kan bare plassere pinner i disse uthevede omrÃ¥dene.',\n contentAware: 'Du kan slippe pinner innenfor eller utenfor de markerte omrÃ¥dene.'\n },\n mp: {\n expand_note: 'Nei, det er ingen barn under 18 Ã¥r som bor i min husholdning',\n rb_note: rows => `Velg bare 1 svar per element${rows ? ' nedenfor' : ''}:`,\n cb_note: (min, max, rows) => {\n if (min === max) {\n return `Velg ${min !== 1 ? '' : 'bare'} ${min} svar per element${rows ? ' nedenfor' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Velg minst ${min} svar, men ikke mer enn ${max} per element${rows ? ' nedenfor' : ''}:`\n } else if (5000 === max && min > 0) {\n return `Velg minst ${min} svar per element${rows ? ' nedenfor' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Ikke velg mer enn ${max} svar per element${rows ? ' nedenfor' : ''}:`\n } else {\n return 'Sjekk alle som gjelder:'\n }\n }\n },\n sh: {\n note: 'Klikk pÃ¥ et produkt for Ã¥ zoome inn og legge til i den virtuelle handlekurven hvis du vil kjøpe det i butikken',\n amazonNote:\n 'Klikk pÃ¥ et produkt for Ã¥ zoon zoome inn og legge til i den virtuelle handlekurven hvis du vil kjøpe det pÃ¥ nettet',\n fullCart: 'Handlekurven din er full!',\n qty: 'ANTALL',\n addToCart: 'LEGG I HANDLEKURV',\n each: 'hver',\n items: 'varer',\n deleteFromCart: 'SLETT',\n emptyCard: 'Handlekurven din er tom',\n total: 'Handlekurv',\n clearCart: 'Fjern handlekurv',\n backToStore: 'Tilbake til butikken',\n scrollError: `GÃ¥ helt til venstre og sÃ¥ til høyre for Ã¥ fortsette spørreundersøkelsen. `,\n na: 'Ingen av de ovennevnte',\n next: 'NESTE'\n },\n rb: {\n note: 'Bare velg ett element:'\n },\n vo: {\n note: 'Se videoen til slutten'\n },\n cb: {\n note: (min, max) => {\n if (1 === min && 5000 === max) {\n return 'Sjekk alle som gjelder:'\n } else if (min === max) {\n return `Velg ${min !== 1 ? 'hvilket som helst' : 'nøyaktig'} ${min} element${min !== 1 ? 's' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Velg minst ${min} element${min !== 1 ? 's' : ''}, men ikke mer enn ${max}:`\n } else if (5000 === max && min > 0) {\n return `Velg minst ${min} element${min !== 1 ? 's' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Ikke velg mer enn ${max} element${max !== 1 ? 's' : ''}:`\n } else {\n return 'Sjekk alle som gjelder:'\n }\n }\n },\n oe: {\n na: 'Ikke aktuelt',\n note: (min, max, optional) => {\n if (min === max) {\n return `Skriv inn ${1 !== min ? 'hvilket som helst' : 'nøyaktig'} ${min} tegn${1 !== min ? 's' : ''}${\n optional ? ' (valgfritt)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Skriv inn minst ${min} tegn${1 !== min ? 's' : ''} men ikke mer enn ${max}${\n optional ? ' (valgfritt)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Skriv inn minst ${min} tegn${1 !== min ? 's' : ''}${optional ? ' (valgfritt)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Ikke skriv mer enn ${max} tegn${1 !== min ? 's' : ''}${optional ? ' (valgfritt)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Fyll ut følgende felt:'\n },\n mx: {\n note: 'Flytt de uthevede glidebryterne for Ã¥ fortsette',\n dragSlider: 'Dra til venstre eller høyre for Ã¥ svare'\n },\n psc: {\n dragLeftRight: 'Dra til venstre eller høyre for Ã¥ svare'\n },\n ps: {\n note: (value, remaining) => `Fordel ${remaining ? 'gjenværende' : ''} ${value} mellom elementene nedenfor`,\n allDone: `Ferdig`,\n total: `Total::`,\n dragSlider: 'Dra til venstre eller høyre for Ã¥ svare'\n },\n cx: {\n note: 'Ã…pne dropbox og begynn Ã¥ skrive inn svaret ditt for automatisk rulling, eller velg det manuelt'\n },\n ro: {\n note: 'Dra opp eller ned for Ã¥ endre rekkefølge:'\n },\n md: {\n note1: 'Klikk pÃ¥ / trykk pÃ¥ varen du valgte for første gang.<br/> Klikk/trykk igjen for Ã¥ fjerne valget.',\n note2: 'NÃ¥ kan du klikke/trykke pÃ¥ elementet du valgte sist<br/> Klikk/trykk igjen for Ã¥ fjerne valget.',\n note3: 'Takk! Fortsett til neste spørsmÃ¥l, eller klikk/trykk pÃ¥ et ikke–merket element for Ã¥ starte pÃ¥ nytt.'\n },\n aro: {\n note: 'Velg ett element fra hvert par.'\n },\n wd: {\n note: 'Pass pÃ¥ at hver pÃ¥følgende verdi er større enn den forrige.'\n },\n emd: {\n note: 'Se videoen til slutten',\n noAnswers: 'Ikke noe svaralternativ, klikk ved siden av for Ã¥ fortsette.',\n start: 'Klikk og hold nede for Ã¥ starte',\n resume: 'Klikk og hold nede for Ã¥ gjenoppta',\n continue: 'Du er klar! <br/> Klikk pÃ¥ <strong>Neste</strong> for Ã¥ fortsette',\n continueMobile: 'Du er klar! <br/> Klikk <strong>HER</strong> for Ã¥ fortsette',\n training: {\n session: 'Opplæringssesson',\n note: 'Avslutt opplæringen',\n moveLeft: 'Dra skiven helt <strong>tilvenstre</strong>',\n moveBottom: 'Dra skiven helt <strong>tilbunnen</strong>',\n moveRight: 'NÃ¥ drar du skiven helt <strong>tiltil høyre</strong>',\n moveTop: 'NÃ¥ drar du skiven helt <strong>tiltoppen</strong>',\n success: 'Flott jobbet!'\n }\n },\n sft: {\n noAnswers: 'Ikke noe svaralternativ, klikk ved siden av for Ã¥ fortsette.',\n note: 'Svar sÃ¥ raskt du kan med det svaret som intuitivt føles riktig',\n imageError: 'No image exposure time chosen',\n finish: 'Du er ferdig! Klikk pÃ¥ Neste for Ã¥ fortsette',\n training: {\n start:\n '<p>Dette spørsmÃ¥let vil raskt vise deg forskjellige ord og vil kreve at du konsentrerer deg. ' +\n 'Du mÃ¥ reagere raskt for Ã¥ svare </p> <p>Klar til Ã¥ øve?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Trykk pÃ¥ \"{buttonLeft}\"`\n : (mouse ? `Klikk \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Trykk pÃ¥ \"{keyBtnLeft}\"` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Trykk pÃ¥ \"{buttonRight}\"`\n : (mouse ? `Klikk \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Trykk pÃ¥ \"{keyBtnRight}\"` : ''),\n fail: () => 'For sakte',\n success: () => 'Flott!',\n finish: () =>\n '<p><strong>Utmerket!</strong></p><p>Pass pÃ¥ at du ikke blir distrahert i løpet<br/> av de neste 2–3 minuttene <br />' +\n '</p><p>Klikk pÃ¥ Neste for Ã¥ starte nÃ¥r du er klar</p>'\n },\n buttons: {\n start: 'Start',\n yesno: {\n left: 'Ja',\n right: 'Nei'\n },\n matches: {\n left: 'Match',\n right: 'Ikke en match'\n },\n fits: {\n left: 'Egnet',\n right: 'Ikke egnet'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n },\n noyes: {\n left: 'Ja',\n right: 'Nei'\n },\n matchesRev: {\n left: 'Match',\n right: 'Ikke en match'\n },\n fitsRev: {\n left: 'Egnet',\n right: 'Ikke egnet'\n },\n thumbsRev: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: \"Brak opcji odpowiedzi. Kliknij 'dalej', aby kontynuować.\",\n placeholder: 'ProszÄ™ sprecyzuj...',\n pleaseSelect: 'ProszÄ™ wybrać...',\n rotateLandscape: 'Obróć telefon z trybu portretowego na tryb poziomy.',\n rotatePortrait: 'Obróć telefon z trybu poziomego na tryb portretowy.',\n ir: {\n selectWebCam:\n \"Wybierz kamerÄ™ internetowÄ… (jeÅ›li jest dostÄ™pna) lub kliknij 'PrzeglÄ…daj', aby wysÅ‚ać ze swojego urzÄ…dzenia\",\n noWebCam: 'Nie wykryto kamery',\n accessCamUpload: 'KAMERA/WYÅšLIJ',\n browse: 'PRZEGLÄ„DAJ',\n uploadPhoto: 'WyÅ›lij zdjÄ™cie',\n instead: 'zamiast',\n capture: 'PRZECHWYĆ',\n somethingWrong: 'Przepraszamy, coÅ› poszÅ‚o nie tak. Spróbuj ponownie później',\n couldntRead: 'Przepraszamy, nie udaÅ‚o siÄ™ odczytać kodu!',\n couldntProcess: 'Przepraszamy, nie udaÅ‚o siÄ™ przetworzyć obrazu!',\n moveOn: 'Spróbuj ponownie lub przeÅ›lij zdjÄ™cie i kontynuuj',\n tryAgain: 'Spróbuj ponownie',\n dataReceived: 'PrzesÅ‚ano dane!',\n enterManually: 'Spróbuj ponownie lub wprowadź dane rÄ™cznie poniżej',\n positionQR:\n 'Umieść kod QR przed obiektywem kamery tak, aby znajdowaÅ‚ siÄ™ on w czerwonej ramce, lub wyÅ›lij go ze swojego komputera.',\n analyzing: 'Trwa analiza obrazu, proszÄ™ czekać',\n submit: 'PRZEÅšLIJ',\n startOver: 'Zacznij od nowa',\n allDone: 'Gotowe!',\n cantAnalyze:\n 'Uwaga, nie mogliÅ›my wyrenderować tego obrazu. Spróbuj przesÅ‚ać ponownie lub wybierz bardziej ogólny format obrazu (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Przepraszamy, nie obsÅ‚ugujemy tego formatu plików. PrzeÅ›lij obsÅ‚ugiwany typ obrazu (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Nie wykryto kamery',\n uploadVideo: 'PrzeÅ›lij film',\n skip: 'Pominąć?',\n accessCamUpload: 'KAMERA/WYÅšLIJ',\n browse: 'PRZEGLÄ„DAJ',\n instead: 'zamiast',\n or: 'lub',\n stopRecording: 'Zatrzymaj nagrywanie',\n willBeStopped: 'Nagrywanie zostanie zatrzymane po 5 minutach',\n stopOnDone: 'Zatrzymaj nagrywanie, kiedy skoÅ„czysz!',\n record: 'NAGRAJ',\n somethingWrong: 'Przepraszamy, coÅ› poszÅ‚o nie tak. Spróbuj ponownie później',\n microphone: 'Mikrofon',\n camera: 'KamerÄ™ internetowÄ…',\n selectMicrophone: 'Wybierz mikrofon',\n selectCam: 'Wybierz kamerÄ™ internetowÄ…',\n upload: 'WyÅ›lij',\n playback: 'Odtwarzanie',\n stopPlayback: 'ZATRZYMAJ',\n submit: 'PRZEÅšLIJ',\n startOver: 'Zacznij od nowa',\n allDone: 'Gotowe!',\n alternativeRecordSpan: 'Prosimy o przesÅ‚anie klipu wideo z komputera.<br/>Możesz też nagrać ',\n alrenativeRecordHref: ' wideo za pomocÄ… kamery internetowej.',\n cantAnalyze:\n 'Uwaga, nie mogliÅ›my wyrenderować tego wideo. Spróbuj przesÅ‚ać ponownie lub wybierz bardziej ogólny format wideo (MP4, M4V, WEBPM)',\n wrongFormat:\n 'Przepraszamy, nie obsÅ‚ugujemy tego formatu plików. PrzeÅ›lij obsÅ‚ugiwany typ wideo (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'WYBIERZ',\n pleaseChoose: 'Wybierz',\n this: 'TO',\n one: 'jeden',\n myChoice: 'Mój WYBÓR'\n },\n hm: {\n addComment: 'Dodaj komentarz poniżej',\n commentMandatoryPlaceHolder: 'Dodaj obowiÄ…zkowy komentarz… ',\n commentOptionalPlaceHolder: 'Dodaj dodatkowy komentarz… ',\n dragPin: 'PrzeciÄ…gnij, aby zmienić uÅ‚ożenie (przytrzymaj klikniÄ™cie / dotkniÄ™cie, aby przypiąć dokÅ‚adniej). ',\n removePin: 'PrzeciÄ…gnij na zewnÄ…trz ilustracji, aby usunąć. ',\n editComment: 'Kliknij / dotknij pinezkÄ™, aby edytować komentarz. ',\n addPin: 'PrzeciÄ…gnij pinezkÄ™ z poniższego panelu i upuść w wybranym miejscu na ilustracji. ',\n addPins: 'PrzeciÄ…gnij pinezki z poniższego panelu i upuść w wybranym miejscu na ilustracji. ',\n leavePins: (minPoints, maxPoints) =>\n `Pozostaw przynajmniej ${minPoints}, lecz nie wiÄ™cej niż ${maxPoints} pinezek danego rodzaju. `,\n leavePinsPerPage: (minPoints, maxPoints) =>\n ` Pozostaw przynajmniej ${minPoints}, lecz nie wiÄ™cej niż ${maxPoints} pinezek. `,\n leavePinsWithOff: maxPoints =>\n `Pozostaw nie wiÄ™cej niż ${maxPoints} pinezki danego rodzaju lub kliknij Dalej, aby pominąć. `,\n leavePinsPerPageWithOff: maxPoints =>\n `Pozostaw nie wiÄ™cej niż ${maxPoints} pinezkÄ™ lub kliknij Dalej, aby pominąć. `,\n leavePinWithOff: `Pozostaw nie wiÄ™cej niż 1 pinezkÄ™ danego rodzaju lub kliknij Dalej, aby pominąć. `,\n leavePinPerPageWithOff: 'Pozostaw nie wiÄ™cej niż 1 pinezkÄ™ lub kliknij Dalej, aby pominąć. ',\n leaveExactlyPin: 'Pozostaw 1 pinezkÄ™ danego rodzaju. ',\n leaveExactlyPinPerPage: 'Pozostaw 1 pinezkÄ™. ',\n leaveExactlyPins: maxPoints => `Pozostaw ${maxPoints} pinezek danego rodzaju. `,\n leaveExactlyPinsPerPage: maxPoints => `Pozostaw ${maxPoints} pinezki. `,\n leaveComment: 'Aby dodać komentarz, wpisz tekst poniżej ilustracji. ',\n noAnswers: 'Brak opcji odpowiedzi, kliknij Dalej, aby kontynuować.',\n outOfPins: 'SkoÅ„czyÅ‚y ci siÄ™ pinezki.',\n pinsBehavior:\n 'PrzemieszczajÄ…c siÄ™ po obrazie bÄ™dzie można zaobserwować obszary, ktore wyróżniÄ… siÄ™ przy pomocy jednego upuszczenia pinezki.',\n clusters: 'BÄ™dzie można umieÅ›cić pinezki tylko w wyróżnionych obszarach.',\n contentAware: 'Można umieÅ›cić pinezki wewnÄ…trz lub poza wyróżnionymi obszarami.'\n },\n mp: {\n expand_note: 'Ustaw wskaźnik myszy nad obrazem lub kliknij obraz(y), aby go/je rozwinąć',\n rb_note: rows => `ProszÄ™ wybrać tylko 1 odpowiedź w każdej${rows ? ' z poniższych pozycji' : ''}:`,\n cb_note: (min, max, rows) => {\n if (1 === min && 5000 === max) {\n return 'Zaznacz wszystkie, które dotyczÄ…:'\n } else if (min === max) {\n return `ProszÄ™ wybrać ${min !== 1 ? 'dowolne' : 'tylko'} ${min} odpowied${min !== 1 ? 'zi' : 'ź'} w każdej${\n rows ? ' z poniższych pozycji' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `ProszÄ™ wybrać co najmniej ${min} odpowied${\n min !== 1 ? 'zi' : 'ź'\n }, ale nie wiÄ™cej niż ${max} dotyczÄ…cÄ… każdej${rows ? ' pozycji poniżej' : ''}:`\n } else if (5000 === max && min > 0) {\n return `ProszÄ™ wybrać co najmniej ${min} odpowied${min !== 1 ? 'zi' : 'ź'} dotyczÄ…cÄ… każdej${\n rows ? ' pozycji poniżej' : ''\n }:`\n } else if (0 === min && max < 5000) {\n return `ProszÄ™ wybrać nie wiÄ™cej niż ${max} odpowied${max !== 1 ? 'zi' : 'ź'} dotyczÄ…cÄ… każdej${\n rows ? ' pozycji poniżej' : ''\n }:`\n } else {\n return 'Zaznacz wszystkie, które dotyczÄ…:'\n }\n }\n },\n sh: {\n note: 'Kliknij produkt, aby go powiÄ™kszyć i dodać do wirtualnego koszyka, jeÅ›li kupiÅ‚(a)byÅ› go w sklepie',\n amazonNote: 'Kliknij produkt by zbliżyć i dodać go do wirtualnego koszyka.',\n fullCart: 'Twój koszyk jest peÅ‚ny!',\n qty: 'ILOŚĆ',\n addToCart: 'DODAJ DO KOSZYKA',\n deleteFromCart: 'USUŃ',\n emptyCard: 'Koszyk jest pusty',\n each: 'każdy',\n items: 'rzeczy',\n total: 'Koszyk',\n clearCart: 'Wyczyść koszyk',\n backToStore: 'Wróć do sklepu',\n na: 'Å»adne z powyższych',\n next: 'NASTĘPNY',\n maxCartCountError: max => `Dodaj do koszyka nie wiÄ™cej niż ${max} produktów.`,\n scrollError: `PrzewiÅ„ do koÅ„ca w lewo i w prawo, aby przejść do ankiety. `,\n maxSpentError: max => `Nie wydaj wiÄ™cej niż ${max}.`,\n maxProductCountError: max => `Dodaj do koszyka nie wiÄ™cej niż ${max} sztuk każdego produktu.`\n },\n rb: {\n note: 'ProszÄ™ wybrać tylko 1 pozycjÄ™:'\n },\n vo: {\n note: 'Obejrzyj wideo do koÅ„ca'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `Wybierz ${min !== 1 ? 'dowolne' : 'tylko'} ${min} pozycj${min !== 1 ? 'Ä™' : 'i'}:`\n } else if (min > 0 && max < 5000) {\n return `Wybierz co najmniej ${min} pozycj${min !== 1 ? 'Ä™' : 'i'}, ale nie wiÄ™cej niż ${max} na wiersz:`\n } else if (5000 === max && min > 0) {\n return `Wybierz co najmniej ${min} pozycj${min !== 1 ? 'Ä™' : 'i'}:`\n } else if (0 === min && max < 5000) {\n return `Wybierz nie wiÄ™cej niż ${max} pozycj${max !== 1 ? 'Ä™' : 'i'}:`\n } else {\n return 'Zaznacz wszystkie, które dotyczÄ…:'\n }\n }\n },\n oe: {\n na: 'Nie dotyczy',\n note: (min, max, optional) => {\n if (min === max) {\n return `Wpisz ${1 !== min ? 'dowolny' : 'dokÅ‚adnie'} ${min} znak${1 !== min ? 'e' : ''}${\n optional ? ' (opcjonalny)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Wpisz co najmniej ${min} znak${1 !== min ? 'ów' : ''} but no more than ${max}${\n optional ? ' (opcjonalny)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `?Wpisz co najmniejt ${min} znak${1 !== min ? 'ów' : ''}${optional ? ' (opcjonalny)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Wpisz nie wiÄ™cej niż ${max} znak${1 !== min ? 'ów' : ''}${optional ? ' (opcjonalny)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'WypeÅ‚nij nastÄ™pujÄ…ce pola:'\n },\n mx: {\n note: 'Przesuwaj podÅ›wietlone suwaki, aby kontynuować',\n dragSlider: 'PrzeciÄ…gnij w lewo lub w prawo, aby odpowiedzieć'\n },\n psc: {\n dragLeftRight: 'PrzeciÄ…gnij w lewo lub w prawo, aby odpowiedzieć'\n },\n ps: {\n note: value => `Rozłóż pozostaÅ‚e ${value} miÄ™dzy przedmiotami poniżej`,\n allDone: 'Gotowe!',\n total: `CaÅ‚kowity:`,\n dragSlider: 'PrzeciÄ…gnij w lewo lub w prawo, aby odpowiedzieć'\n },\n cx: {\n note: 'Otwórz listÄ™ rozwijanÄ… i zacznij pisać odpowiedź w auto scroll lub wybierz jÄ… rÄ™cznie'\n },\n ro: {\n note: 'PrzeciÄ…gnij w górÄ™ lub w dół, aby zmienić kolejność:'\n },\n md: {\n note1:\n 'Kliknij / dotknij przedmiot, który wybierasz jako pierwszy. Kliknij / dotknij ponownie, aby usunąć zaznaczenie',\n note2:\n 'Teraz kliknij / dotknij przedmiot, który wybierasz jako ostatni. Kliknij / dotknij ponownie, aby usunąć zaznaczenie',\n note3: 'DziÄ™ki! Przejdź do nastÄ™pnego pytania lub kliknij / dotknij niezaznaczony przedmiot, aby zacząć ponownie.'\n },\n aro: {\n note: 'Wybierz jeden przedmiot dla każdej pary.'\n },\n wd: {\n note: 'Upewnij siÄ™, że każda kolejna wartość jest wiÄ™ksza niż poprzednia.'\n },\n emd: {\n note: 'Obejrzyj wideo do koÅ„ca',\n noAnswers: \"Brak opcji odpowiedzi. Kliknij 'dalej', aby kontynuować.\",\n start: 'Kliknij i przytrzymaj, aby rozpocząć',\n resume: 'Kliknij i przytrzymaj, aby wznowić',\n continue: 'Możesz zaczynać! <br /> Kliknij dalej, aby kontynuować',\n continueMobile: 'Wszystko gotowe! <br /> Kliknij TUTAJ, aby przejść dalej',\n training: {\n session: 'sesja treningowa',\n note: 'ZakoÅ„cz szkolenie',\n moveLeft: 'PrzeciÄ…gnij tarczÄ™ do koÅ„ca w lewo',\n moveBottom: 'PrzeciÄ…gnij tarczÄ™ do samego doÅ‚u',\n moveRight: 'Teraz przeciÄ…gnij tarczÄ™ do koÅ„ca w prawo',\n moveTop: 'A teraz przeciÄ…gnij tarczÄ™ do samej góry',\n success: 'Dobra robota!'\n }\n },\n sft: {\n noAnswers: \"Brak opcji odpowiedzi. Kliknij 'dalej', aby kontynuować.\",\n note: 'Odpowiedz tak szybko, jak to możliwe, podajÄ…c odpowiedź, która intuicyjnie wydaje siÄ™ wÅ‚aÅ›ciwa',\n finish: 'Gotowe! <br /> Kliknij dalej, aby kontynuować.',\n training: {\n start:\n '<p>W tym pytaniu bÄ™dÄ… siÄ™ szybko wyÅ›wietlać różne sÅ‚owa i bÄ™dzie ono wymagaÅ‚o koncentracji. ' +\n 'Aby odpowiedzieć, musisz szybko zareagować. </p> <p>Możemy zaczynać?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Dotknij \"{buttonLeft}\"`\n : (mouse ? `Kliknij \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `NaciÅ›nij klawisz „Fâ€` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Dotknij \"{buttonRight}\"`\n : (mouse ? `Kliknij \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `NaciÅ›nij klawisz „Jâ€` : ''),\n fail: () => 'Za wolno',\n success: () => 'Åšwietnie!',\n finish: () =>\n '<p><strong> Doskonale!</strong></p><p>Upewnij siÄ™, że przez<br />' +\n 'nastÄ™pne 2-3 minuty<br/> nie bÄ™dziesz siÄ™ rozpraszać. </p><p>Kliknij Dalej, aby rozpocząć, gdy bÄ™dziesz gotowy.</p>'\n },\n buttons: {\n start: 'Rozpocznij',\n yesno: {\n left: 'Tak',\n right: 'Nie'\n },\n matches: {\n left: 'Dopasuj',\n right: 'Nie pasuje'\n },\n fits: {\n left: 'Dopasowanie',\n right: 'Brak dopasowania'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Nenhuma opção de resposta. Clique em avançar para continuar.',\n placeholder: 'Por favor, especifique…',\n pleaseSelect: 'Por favor, selecione…',\n rotateLandscape: 'Gire o celular da vertical para a horizontal para continuar.',\n rotatePortrait: 'Gire o celular da horizontal para a vertical para continuar.',\n ir: {\n selectWebCam: \"Selecione a webcam (se disponÃvel) ou clique em 'Procurar' para carregar de seu dispositivo\",\n noWebCam: 'Nenhuma webcam detectada',\n accessCamUpload: 'ACESSAR CÂMERA/CARREGAR',\n browse: 'PROCURAR',\n uploadPhoto: 'Carregar foto',\n instead: 'ao invés',\n capture: 'CAPTURAR',\n somethingWrong: 'Desculpe, ocorreu algum erro. Tente novamente mais tarde',\n couldntRead: 'Desculpe, não pudemos ler o código!',\n couldntProcess: 'Desculpe, não pudemos processar sua imagem!',\n moveOn: 'Tente novamente ou envie sua foto e prossiga',\n tryAgain: 'Por favor, tente novamente',\n dataReceived: 'Dados recebidos!',\n enterManually: 'Tente novamente ou insira os dados manualmente abaixo',\n positionQR:\n 'Posicione o código QR na frente da sua câmera para encaixá-lo na moldura vermelha ou carregue do seu computador.',\n analyzing: 'Analisando a imagem. Aguarde, por favor',\n submit: 'ENVIAR',\n startOver: 'Comece novamente',\n allDone: 'Tudo pronto!',\n cantAnalyze:\n 'Atenção - não foi possÃvel renderizar esta imagem. Tente reenviar ou selecione um formato de imagem mais genérico (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Desculpe - não oferecemos suporte a este formato de arquivo. Faça upload de um tipo de imagem compatÃvel (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Nenhuma webcam detectada',\n uploadVideo: 'Upload um vÃdeo',\n skip: 'Pular?',\n accessCamUpload: 'ACESSAR CÂMERA/CARREGAR',\n browse: 'PROCURAR',\n instead: 'ao invés',\n or: 'ou',\n stopRecording: 'Parar a gravação',\n willBeStopped: 'A gravação irá parar em 5 minutos',\n stopOnDone: 'Pare a gravação quando terminar!',\n record: 'GRAVAR',\n somethingWrong: 'Desculpe, ocorreu algum erro. Tente novamente mais tarde',\n microphone: 'Microfone',\n camera: 'Webcam',\n selectMicrophone: 'Selecione seu microfone',\n selectCam: 'Selecione sua webcam',\n upload: 'Carregar',\n playback: 'Reprodução',\n stopPlayback: 'PARAR REPRODUÇÃO',\n submit: 'ENVIAR',\n startOver: 'Comece novamente',\n allDone: 'Tudo pronto!',\n alternativeRecordSpan: 'Carregue um videoclipe do seu computador.<br/>Co mo alternativa, ',\n alrenativeRecordHref: 'você pode gravar o vÃdeo com ',\n cantAnalyze:\n 'Atenção - não foi possÃvel renderizar este vÃdeo. Tente reenviar ou selecione um formato de vÃdeo mais genérico (MP4, M4V, WEBPM)',\n wrongFormat:\n 'Desculpe - não oferecemos suporte a este formato de arquivo. Faça upload de um tipo de vÃdeo compatÃvel (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'SELECIONAR',\n pleaseChoose: 'Selecione',\n this: 'ESTE',\n one: 'um',\n myChoice: 'MINHA ESCOLHA'\n },\n hm: {\n addComment: 'Adicione um comentário abaixo',\n commentMandatoryPlaceHolder: 'Adicione um comentário obrigatório... ',\n commentOptionalPlaceHolder: 'Adicione um comentário opcional... ',\n dragPin: 'Arraste para reposicionar (clique/toque longo para fixar com precisão). ',\n removePin: 'Arraste para fora da imagem para excluir. ',\n editComment: 'Clique/toque no pino para editar o comentário. ',\n addPin: 'Arraste o pino do painel abaixo e solte-o em um ponto de sua escolha na imagem.',\n addPins: 'Arraste os pinos do painel abaixo e solte-os em um ponto de sua escolha na imagem. ',\n leavePins: (minPoints, maxPoints) =>\n `Deixe pelo menos ${minPoints}, mas no máximo ${maxPoints} pinos de todos os tipos. `,\n leavePinsPerPage: (minPoints, maxPoints) => `Deixe pelo menos ${minPoints}, mas no máximo ${maxPoints} pinos. `,\n leavePinsWithOff: maxPoints =>\n `Deixe no máximo ${maxPoints} pinos de cada tipo ou clique em Avançar para ignorar. `,\n leavePinsPerPageWithOff: maxPoints => `Deixe no máximo ${maxPoints} pinos ou clique em Avançar para ignorar. `,\n leavePinWithOff: 'Deixe no máximo 1 pino de cada tipo ou clique em Avançar para ignorar. ',\n leavePinPerPageWithOff: 'Deixe no máximo 1 pino ou clique em Avançar para ignorar. ',\n leaveExactlyPin: 'Deixe 1 pino de cada tipo. ',\n leaveExactlyPinPerPage: 'Deixe 1 pino. ',\n leaveExactlyPins: maxPoints => `Deixe ${maxPoints} pinos de cada tipo. `,\n leaveExactlyPinsPerPage: maxPoints => `Deixe ${maxPoints} pinos. `,\n leaveComment: 'Digite abaixo da imagem para deixar um comentário. ',\n noAnswers: 'Opção sem resposta, clique em Avançar para continuar.',\n outOfPins: 'Seus pinos acabaram',\n pinsBehavior:\n 'À medida que você se move pela imagem, verá áreas que serão destacadas com uma única queda de pino.',\n clusters: 'Você só poderá colocar pinos nessas áreas destacadas.',\n contentAware: 'Você pode soltar pinos dentro ou fora das áreas destacadas.'\n },\n mp: {\n expand_note: 'Passe o mouse sobre ou clique na(s) imagem(ns) para expandir',\n rb_note: rows => `Por favor, selecione apenas 1 resposta por item${rows ? ' abaixo' : ''}:`,\n cb_note: (min, max, rows) => {\n if (1 === min && 5000 === max) {\n return 'Marque todos os que se aplicam:'\n } else if (min === max) {\n return `Por favor, selecione ${min !== 1 ? 'quaisquer' : 'apenas'} ${min} reposta${\n min !== 1 ? 's' : ''\n } por item${rows ? ' abaixo' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Por favor, selecione pelo menos ${min} reposta${\n min !== 1 ? 's' : ''\n } mas não mais do que ${max} por item${rows ? ' abaixo' : ''}:`\n } else if (5000 === max && min > 0) {\n return `Por favor, selecione pelo menos ${min} reposta${min !== 1 ? 's' : ''} por item${\n rows ? ' abaixo' : ''\n }:`\n } else if (0 === min && max < 5000) {\n return `Por favor, selecione não mais do que ${max} reposta${max !== 1 ? 's' : ''} por item${\n rows ? ' abaixo' : ''\n }:`\n } else {\n return 'Marque todos os que se aplicam:'\n }\n }\n },\n sh: {\n note: 'Clique em um produto para ampliar o zoom e adicioná-lo ao seu carrinho virtual se deseja comprá-lo na loja',\n amazonNote: 'Clique em um produto para ampliar o zoom e adicioná-lo ao seu carrinho virtual.',\n fullCart: 'Seu carrinho está cheio!',\n qty: 'QTD',\n addToCart: 'ADICIONAR AO CARRINHO',\n deleteFromCart: 'EXCLUIR',\n each: 'unid',\n items: 'cada',\n emptyCard: 'Seu carrinho está vazio',\n total: 'Carrinho',\n clearCart: 'Esvaziar carrinho',\n backToStore: 'Voltar para a loja',\n na: 'Nenhuma das acima',\n next: 'PRÓXIMO',\n maxCartCountError: max => `Adicione no máximo ${max} produtos ao seu carrinho `,\n scrollError: `Role totalmente para a esquerda e para a direita para continuar na pesquisa. `,\n maxSpentError: max => `Não gaste mais do que ${max}.`,\n maxProductCountError: max => `Adicione no máximo ${max} de cada produto ao seu carrinho.`\n },\n rb: {\n note: 'Por favor, selecione apenas 1 item:'\n },\n vo: {\n note: 'Assista ao vÃdeo até o final'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `Por favor, selecione ${min !== 1 ? 'quaisquer' : 'apenas'} ${min} item${min !== 1 ? 's' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Por favor, selecione no mÃnimo ${min} item${min !== 1 ? 's' : ''} e no máximo ${max}:`\n } else if (5000 === max && min > 0) {\n return `Por favor, selecione no mÃnimo ${min} item${min !== 1 ? 's' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Por favor, selecione no máximo ${max} item${max !== 1 ? 's' : ''}:`\n } else {\n return 'Marque todos os que se aplicam:'\n }\n }\n },\n oe: {\n na: 'Não aplicáve',\n note: (min, max, optional) => {\n if (min === max) {\n return `Por favor, digite ${1 !== min ? 'quaisquer' : 'exatamente'} ${min} caractere${1 !== min ? 's' : ''}${\n optional ? ' (opcional)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Por favor, digite no mÃnimo ${min} caractere${1 !== min ? 's' : ''} e no máximo ${max}${\n optional ? ' (opcional)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Por favor, digite no mÃnimo ${min} caractere${1 !== min ? 's' : ''}${optional ? ' (opcional)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Por favor, digite até ${max} caractere${1 !== min ? 's' : ''}${optional ? ' (opcional)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Preencha os campos a seguir:'\n },\n mx: {\n note: 'Mova os controles deslizantes realçados para continuar',\n dragSlider: 'Arraste para a esquerda ou para a direita para responder'\n },\n psc: {\n dragLeftRight: 'Arraste para a esquerda ou para a direita para responder'\n },\n ps: {\n note: (value, remaining) => `Por favor, distribua ${remaining ? 'restantes' : ''} ${value} Entre os itens abaixo`,\n allDone: 'Tudo pronto!',\n total: `Total:`,\n dragSlider: 'Arraste para a esquerda ou para a direita para responder'\n },\n cx: {\n note: 'Comece a digitar a sua resposta para usar a rolagem automática ou selecione-o manualmente'\n },\n ro: {\n note: 'Arraste para cima ou para baixo para reordenar:'\n },\n md: {\n note1: 'Clique/toque no item selecionado primeiro<br/>Clique/toque novamente para apagar a seleção.',\n note2: 'Agora, clique/toque no item selecionado por último<br/>Clique/toque novamente para apagar a seleção.',\n note3:\n 'Obrigado! Passe para a pergunta seguinte<br/>ou clique/toque em qualquer item não selecionado para começar de novo.'\n },\n aro: {\n note: 'Por favor, escolha um item para cada par.'\n },\n wd: {\n note: 'Certifique-se de que cada valor subsequente é maior do que o anterior.'\n },\n emd: {\n note: 'Assista ao vÃdeo até o final',\n noAnswers: 'Nenhuma opção de resposta. Clique em avançar para continuar.',\n start: 'Clique e segure para começar',\n resume: 'Clique e segure para recomeçar',\n continue: 'Você está pronto! <br />Clique em Avançar para continuar',\n continueMobile: 'Você está pronto! <br /> Clique AQUI para continuar',\n training: {\n session: 'Sessão de treinamento',\n note: 'Por favor, termine o treinamento',\n moveLeft: 'Arraste o seletor totalmente para a esquerda',\n moveBottom: 'Arraste o seletor totalmente para baixo',\n moveRight: 'Agora, arraste o seletor totalmente para a direita',\n moveTop: 'Agora, arraste o seletor totalmente para cima',\n success: 'Ótimo trabalho!'\n }\n },\n sft: {\n noAnswers: 'Nenhuma opção de resposta. Clique em avançar para continuar.',\n note: 'Responda o mais rápido possÃvel com a resposta que você sentir que parece certa',\n finish: 'Tudo pronto! <br /> Clique em Avançar para continuar',\n training: {\n start:\n '<p>Esta questão exibe palavras diferentes rapidamente e exigirá sua concentração. ' +\n 'Você precisará reagir rapidamente para responder. </p> <p>Pronto para praticar?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Toque em \"{buttonLeft}\"`\n : (mouse ? `Clique em \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Pressione tecla \"{keyBtnLeft}\"` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Toque em \"{buttonRight}\"`\n : (mouse ? `Clique em \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Pressione tecla \"{keyBtnRight}\"` : ''),\n fail: () => 'Lento demais',\n success: () => 'Excelente!',\n finish: () =>\n '<p><strong> Excelente!</strong></p><p>Certifique-se de que não<br />' +\n 'se distrairá nos próximos 2-3 minutos. </p><p>Clique em Avançar para começar quando estiver pronto.</p>'\n },\n buttons: {\n start: 'Começar',\n yesno: {\n left: 'Sim',\n right: 'Não'\n },\n matches: {\n left: 'Combina',\n right: 'Não combina'\n },\n fits: {\n left: 'Encaixa',\n right: 'Não encaixa'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Nenhuma opção de resposta. Clique em avançar para continuar.',\n placeholder: 'Por favor, especifique…',\n pleaseSelect: 'Por favor, selecione…',\n rotateLandscape: 'Gire o celular da vertical para a horizontal para continuar.',\n rotatePortrait: 'Gire o celular da horizontal para a vertical para continuar.',\n ir: {\n selectWebCam: \"Selecione a webcam (se disponÃvel) ou clique em 'Procurar' para carregar de seu dispositivo\",\n noWebCam: 'Nenhuma webcam detectada',\n accessCamUpload: 'ACESSAR CÂMERA/CARREGAR',\n browse: 'PROCURAR',\n uploadPhoto: 'Carregar foto',\n instead: 'ao invés',\n capture: 'CAPTURAR',\n somethingWrong: 'Desculpe, ocorreu algum erro. Tente novamente mais tarde',\n couldntRead: 'Desculpe, não pudemos ler o código!',\n couldntProcess: 'Desculpe, não pudemos processar sua imagem!',\n moveOn: 'Tente novamente ou envie sua foto e prossiga',\n tryAgain: 'Por favor, tente novamente',\n dataReceived: 'Dados recebidos!',\n enterManually: 'Tente novamente ou insira os dados manualmente abaixo',\n positionQR:\n 'Posicione o código QR na frente da sua câmera para encaixá-lo na moldura vermelha ou carregue do seu computador.',\n analyzing: 'Analisando a imagem. Aguarde, por favor',\n submit: 'ENVIAR',\n startOver: 'Comece novamente',\n allDone: 'Tudo pronto!',\n cantAnalyze:\n 'Atenção - não foi possÃvel renderizar esta imagem. Tente reenviar ou selecione um formato de imagem mais genérico (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Desculpe - não oferecemos suporte a este formato de arquivo. Faça upload de um tipo de imagem compatÃvel (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Nenhuma webcam detectada',\n uploadVideo: 'Upload um vÃdeo',\n skip: 'Pular?',\n accessCamUpload: 'ACESSAR CÂMERA/CARREGAR',\n browse: 'PROCURAR',\n instead: 'ao invés',\n or: 'ou',\n stopRecording: 'Parar a gravação',\n willBeStopped: 'A gravação irá parar em 5 minutos',\n stopOnDone: 'Pare a gravação quando terminar!',\n record: 'GRAVAR',\n somethingWrong: 'Desculpe, ocorreu algum erro. Tente novamente mais tarde',\n microphone: 'Microfone',\n camera: 'Webcam',\n selectMicrophone: 'Selecione seu microfone',\n selectCam: 'Selecione sua webcam',\n upload: 'Carregar',\n playback: 'Reprodução',\n stopPlayback: 'PARAR REPRODUÇÃO',\n submit: 'ENVIAR',\n startOver: 'Comece novamente',\n allDone: 'Tudo pronto!',\n alternativeRecordSpan: 'Carregue um videoclipe do seu computador.<br/>Co mo alternativa, ',\n alrenativeRecordHref: 'você pode gravar o vÃdeo com ',\n cantAnalyze:\n 'Atenção - não foi possÃvel renderizar este vÃdeo. Tente reenviar ou selecione um formato de vÃdeo mais genérico (MP4, M4V, WEBPM)',\n wrongFormat:\n 'Desculpe - não oferecemos suporte a este formato de arquivo. Faça upload de um tipo de vÃdeo compatÃvel (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'SELECIONAR',\n pleaseChoose: 'Selecione',\n this: 'ESTE',\n one: 'um',\n myChoice: 'MINHA ESCOLHA'\n },\n hm: {\n addComment: 'Adicione um comentário abaixo',\n commentMandatoryPlaceHolder: 'Adicione um comentário obrigatório... ',\n commentOptionalPlaceHolder: 'Adicione um comentário opcional... ',\n dragPin: 'Arraste para reposicionar (clique/toque longo para fixar com precisão). ',\n removePin: 'Arraste para fora da imagem para excluir. ',\n editComment: 'Clique/toque no pino para editar o comentário. ',\n addPin: 'Arraste o pino do painel abaixo e solte-o em um ponto de sua escolha na imagem.',\n addPins: 'Arraste os pinos do painel abaixo e solte-os em um ponto de sua escolha na imagem. ',\n leavePins: (minPoints, maxPoints) =>\n `Deixe pelo menos ${minPoints}, mas no máximo ${maxPoints} pinos de todos os tipos. `,\n leavePinsPerPage: (minPoints, maxPoints) => `Deixe pelo menos ${minPoints}, mas no máximo ${maxPoints} pinos. `,\n leavePinsWithOff: maxPoints =>\n `Deixe no máximo ${maxPoints} pinos de cada tipo ou clique em Avançar para ignorar. `,\n leavePinsPerPageWithOff: maxPoints => `Deixe no máximo ${maxPoints} pinos ou clique em Avançar para ignorar. `,\n leavePinWithOff: 'Deixe no máximo 1 pino de cada tipo ou clique em Avançar para ignorar. ',\n leavePinPerPageWithOff: 'Deixe no máximo 1 pino ou clique em Avançar para ignorar. ',\n leaveExactlyPin: 'Deixe 1 pino de cada tipo. ',\n leaveExactlyPinPerPage: 'Deixe 1 pino. ',\n leaveExactlyPins: maxPoints => `Deixe ${maxPoints} pinos de cada tipo. `,\n leaveExactlyPinsPerPage: maxPoints => `Deixe ${maxPoints} pinos. `,\n leaveComment: 'Digite abaixo da imagem para deixar um comentário. ',\n noAnswers: 'Opção sem resposta, clique em Avançar para continuar.',\n outOfPins: 'Seus pinos acabaram',\n pinsBehavior:\n 'À medida que você se move pela imagem, verá áreas que serão destacadas com uma única queda de pino.',\n clusters: 'Você só poderá colocar pinos nessas áreas destacadas.',\n contentAware: 'Você pode soltar pinos dentro ou fora das áreas destacadas.'\n },\n mp: {\n expand_note: 'Passe o mouse sobre ou clique na(s) imagem(ns) para expandir',\n rb_note: rows => `Por favor, selecione apenas 1 resposta por item${rows ? ' abaixo' : ''}:`,\n cb_note: (min, max, rows) => {\n if (1 === min && 5000 === max) {\n return 'Marque todos os que se aplicam:'\n } else if (min === max) {\n return `Por favor, selecione ${min !== 1 ? 'quaisquer' : 'apenas'} ${min} reposta${\n min !== 1 ? 's' : ''\n } por item${rows ? ' abaixo' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Por favor, selecione pelo menos ${min} reposta${\n min !== 1 ? 's' : ''\n } mas não mais do que ${max} por item${rows ? ' abaixo' : ''}:`\n } else if (5000 === max && min > 0) {\n return `Por favor, selecione pelo menos ${min} reposta${min !== 1 ? 's' : ''} por item${\n rows ? ' abaixo' : ''\n }:`\n } else if (0 === min && max < 5000) {\n return `Por favor, selecione não mais do que ${max} reposta${max !== 1 ? 's' : ''} por item${\n rows ? ' abaixo' : ''\n }:`\n } else {\n return 'Marque todos os que se aplicam:'\n }\n }\n },\n sh: {\n note: 'Clique em um produto para ampliar o zoom e adicioná-lo ao seu carrinho virtual se deseja comprá-lo na loja',\n amazonNote: 'Clique em um produto para ampliar o zoom e adicioná-lo ao seu carrinho virtual.',\n fullCart: 'Seu carrinho está cheio!',\n qty: 'QTD',\n addToCart: 'ADICIONAR AO CARRINHO',\n deleteFromCart: 'EXCLUIR',\n each: 'cada',\n items: 'Unid',\n emptyCard: 'Seu carrinho está vazio',\n total: 'Carrinho',\n clearCart: 'Esvaziar carrinho',\n backToStore: 'Voltar para a loja',\n na: 'Nenhuma das acima',\n next: 'PRÓXIMO',\n maxCartCountError: max => `Adicione no máximo ${max} produtos ao seu carrinho `,\n scrollError: `Role totalmente para a esquerda e para a direita para continuar na pesquisa. `,\n maxSpentError: max => `Não gaste mais do que ${max}.`,\n maxProductCountError: max => `Adicione no máximo ${max} de cada produto ao seu carrinho.`\n },\n rb: {\n note: 'Por favor, selecione apenas 1 item:'\n },\n vo: {\n note: 'Assista ao vÃdeo até o final'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `Por favor, selecione ${min !== 1 ? 'quaisquer' : 'apenas'} ${min} item${min !== 1 ? 's' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Por favor, selecione no mÃnimo ${min} item${min !== 1 ? 's' : ''} e no máximo ${max}:`\n } else if (5000 === max && min > 0) {\n return `Por favor, selecione no mÃnimo ${min} item${min !== 1 ? 's' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Por favor, selecione no máximo ${max} item${max !== 1 ? 's' : ''}:`\n } else {\n return 'Marque todos os que se aplicam:'\n }\n }\n },\n oe: {\n na: 'Não aplicáve',\n note: (min, max, optional) => {\n if (min === max) {\n return `Por favor, digite ${1 !== min ? 'quaisquer' : 'exatamente'} ${min} caractere${1 !== min ? 's' : ''}${\n optional ? ' (opcional)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Por favor, digite no mÃnimo ${min} caractere${1 !== min ? 's' : ''} e no máximo ${max}${\n optional ? ' (opcional)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Por favor, digite no mÃnimo ${min} caractere${1 !== min ? 's' : ''}${optional ? ' (opcional)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Por favor, digite até ${max} caractere${1 !== min ? 's' : ''}${optional ? ' (opcional)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Preencha os campos a seguir:'\n },\n mx: {\n note: 'Mova os controles deslizantes realçados para continuar',\n dragSlider: 'Arraste para a esquerda ou para a direita para responder'\n },\n psc: {\n dragLeftRight: 'Arraste para a esquerda ou para a direita para responder'\n },\n ps: {\n note: (value, remaining) => `Por favor, distribua ${remaining ? 'restantes' : ''} ${value} Entre os itens abaixo`,\n allDone: 'Tudo pronto!',\n total: `Total:`,\n dragSlider: 'Arraste para a esquerda ou para a direita para responder'\n },\n cx: {\n note: 'Comece a digitar a sua resposta para usar a rolagem automática ou selecione-o manualmente'\n },\n ro: {\n note: 'Arraste para cima ou para baixo para reordenar:'\n },\n md: {\n note1: 'Clique/toque no item selecionado primeiro<br/>Clique/toque novamente para apagar a seleção.',\n note2: 'Agora, clique/toque no item selecionado por último<br/>Clique/toque novamente para apagar a seleção.',\n note3:\n 'Obrigado! Passe para a pergunta seguinte<br/>ou clique/toque em qualquer item não selecionado para começar de novo.'\n },\n aro: {\n note: 'Por favor, escolha um item para cada par.'\n },\n wd: {\n note: 'Certifique-se de que cada valor subsequente é maior do que o anterior.'\n },\n emd: {\n note: 'Assista ao vÃdeo até o final',\n noAnswers: 'Nenhuma opção de resposta. Clique em avançar para continuar.',\n start: 'Clique e segure para começar',\n resume: 'Clique e segure para recomeçar',\n continue: 'Você está pronto! <br />Clique em Avançar para continuar',\n continueMobile: 'Você está pronto! <br /> Clique AQUI para continuar',\n training: {\n session: 'Sessão de treinamento',\n note: 'Por favor, termine o treinamento',\n moveLeft: 'Arraste o seletor totalmente para a esquerda',\n moveBottom: 'Arraste o seletor totalmente para baixo',\n moveRight: 'Agora, arraste o seletor totalmente para a direita',\n moveTop: 'Agora, arraste o seletor totalmente para cima',\n success: 'Ótimo trabalho!'\n }\n },\n sft: {\n noAnswers: 'Nenhuma opção de resposta. Clique em avançar para continuar.',\n note: 'Responda o mais rápido possÃvel com a resposta que você sentir que parece certa',\n finish: 'Tudo pronto! <br /> Clique em Avançar para continuar',\n training: {\n start:\n '<p>Esta questão exibe palavras diferentes rapidamente e exigirá sua concentração. ' +\n 'Você precisará reagir rapidamente para responder. </p> <p>Pronto para praticar?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Toque em \"{buttonLeft}\"`\n : (mouse ? `Clique em \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Pressione tecla \"{keyBtnLeft}\"` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Toque em \"{buttonRight}\"`\n : (mouse ? `Clique em \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Pressione tecla \"{keyBtnRight}\"` : ''),\n fail: () => 'Lento demais',\n success: () => 'Excelente!',\n finish: () =>\n '<p><strong> Excelente!</strong></p><p>Certifique-se de que não<br />' +\n 'se distrairá nos próximos 2-3 minutos. </p><p>Clique em Avançar para começar quando estiver pronto.</p>'\n },\n buttons: {\n start: 'Começar',\n yesno: {\n left: 'Sim',\n right: 'Não'\n },\n matches: {\n left: 'Combina',\n right: 'Não combina'\n },\n fits: {\n left: 'Encaixa',\n right: 'Não encaixa'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Nu există opÈ›iune de răspuns, daÈ›i clic pe Continuare..',\n placeholder: 'IndicaÈ›i...',\n pleaseSelect: 'SelectaÈ›i...',\n rotateLandscape: 'RoteÈ™te-È›i telefonul de la portret la peisaj pentru a continua.',\n rotatePortrait: 'RoteÈ™te-È›i telefonul de la peisaj la portret pentru a continua.',\n ir: {\n selectWebCam:\n 'SelectaÈ›i camera web (dacă este disponibilă) sau daÈ›i clic pe „Browse†pentru a încărca din dispozitiv',\n noWebCam: 'Nu s-a detectat niciun webcam',\n accessCamUpload: 'ACCESAÈšI CAMERA/ÃŽNCÄ‚RCAÈšI',\n browse: 'RÄ‚SFOIÈšI',\n uploadPhoto: 'ÃŽncărcaÈ›i o fotografie',\n camera: 'Web Camera',\n instead: 'în schimb',\n capture: 'FACEÈšI FOTOGRAFIA',\n somethingWrong: 'Ne pare rău. Ceva n-a mers bine. ÃŽncercaÈ›i din nou mai târziu.',\n couldntRead: 'Ne pare rău, nu am putut citi codul!',\n couldntProcess: 'Ne pare rău, nu am putut procesa imaginea!',\n inValidCode: 'Please, submit the valid code',\n moveOn: 'ÃŽncercaÈ›i din nou sau trimiteÈ›i fotografia È™i continuaÈ›i',\n tryAgain: 'ÃŽncercaÈ›i din nou',\n dataReceived: 'Datele au fost primite!',\n enterManually: 'ÃŽncercaÈ›i din nou sau introduceÈ›i datele manual mai jos',\n positionQR:\n 'PoziÈ›ionaÈ›i codul QR în faÈ›a camerei pentru a se încadra în cadrul roÈ™u sau încărcaÈ›i-l din computer.',\n positionQRMobile: 'PoziÈ›ionaÈ›i codul QR în faÈ›a camerei sau încărcaÈ›i-l de pe dispozitivul dvs.',\n analyzing: 'Se analizează imaginea, vă rugăm să aÈ™teptaÈ›i',\n submit: 'TRIMITEÈšI',\n startOver: 'ÃŽncepeÈ›i din nou',\n allDone: 'Gata!',\n cantAnalyze:\n 'AtenÈ›ie - nu am reuÈ™it să afișăm această imagine. ÃŽncercaÈ›i să o trimiteÈ›i din nou sau alegeÈ›i un alt format de imagine (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Ne pare rău - acest format de fiÈ™ier nu este acceptat. ÃŽncercaÈ›i din nou cu un format acceptat (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Nu s-a detectat niciun webcam',\n uploadVideo: 'ÃŽncărcare videoclip',\n skip: 'IgnoraÈ›i?',\n accessCamUpload: 'ACCEDI ALLA FOTOCAMERA/CARICAMENTO',\n browse: 'RÄ‚SFOIÈšI',\n instead: 'în schimb',\n or: 'sau',\n stopRecording: 'OpriÈ›i înregistrarea',\n willBeStopped: 'ÃŽnregistrarea se va opri la <b>5 minute</b>',\n stopOnDone: 'OpriÈ›i înregistrarea când aÈ›i terminat!',\n record: 'ÃŽNREGISTRAÈšI',\n somethingWrong: 'Ne pare rău. Ceva n-a mers bine. ÃŽncercaÈ›i din nou mai târziu.',\n dataReceived: 'Datele au fost primite!',\n microphone: 'Microfonul',\n camera: 'Web Camera',\n selectMicrophone: 'SelectaÈ›i microfonul',\n selectCam: 'SelectaÈ›i camera web',\n submit: 'TRIMITEÈšI',\n upload: 'ÃŽNCÄ‚RCARE',\n playback: 'REDARE',\n stopPlayback: 'OPRIRE REDARE',\n startOver: 'ÃŽncepeÈ›i din nou',\n allDone: 'Gata!',\n alternativeRecordSpan:\n 'ÃŽncărcaÈ›i un videoclip de pe computer sau dispozitiv.<br/> Alternativ, puteÈ›i să înregistraÈ›i videoclipul cu un webcam. ',\n alrenativeRecordHref: 'puteÈ›i să înregistraÈ›i videoclipul cu un webcam',\n cantAnalyze:\n 'AtenÈ›ie - nu am reuÈ™it să afișăm acest videoclip. ÃŽncercaÈ›i să îl trimiteÈ›i din nou sau alegeÈ›i un alt format video (MP4, M4V, WEBPM)',\n wrongFormat:\n 'Ne pare rău - acest format de fiÈ™ier nu este acceptat. ÃŽncercaÈ›i din nou cu un format video acceptat (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'ALEGEÈšI',\n pleaseChoose: 'Vă rugăm să alegeÈ›i',\n this: 'ACEASTA',\n one: 'unu',\n myChoice: 'ALEGEREA ME'\n },\n hm: {\n addComment: 'AdăugaÈ›i un comentariu mai jos',\n commentMandatoryPlaceHolder: 'AdăugaÈ›i un comentariu obligatoriu... ',\n commentOptionalPlaceHolder: 'AdăugaÈ›i un comentariu opÈ›ional... ',\n dragPin: 'TrageÈ›i pentru a repoziÈ›iona (clic lung/atingeÈ›i pentru poziÈ›ionarea precisă a pin-ului). ',\n removePin:\n 'TrageÈ›i în afara imaginii pentru a È™terge.TrageÈ›i în afara imaginii pentru a È™terge.TrageÈ›i în afara imaginii pentru a È™terge.',\n editComment: 'DaÈ›i clic/atingeÈ›i pentru a edita comentariul. ',\n addPin: 'TrageÈ›i pin-ul de pe panoul de control de mai jos È™i plasaÈ›i-l într-un loc ales de dvs. pe imagine.',\n addPins:\n 'TrageÈ›i pin-urile de pe panoul de control de mai jos È™i plasaÈ›i-le într-un loc ales de dvs. pe imagine.',\n leavePins: (minPoints, maxPoints) =>\n `LăsaÈ›i cel puÈ›in ${minPoints}, dar nu mai mult de ${maxPoints} (de) pin-uri de fiecare fel.`,\n leavePinsAny: (minPoints, maxPoints) =>\n `LăsaÈ›i cel puÈ›in ${minPoints}, dar nu mai mult de ${maxPoints} (de) pin-uri.`,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `LăsaÈ›i cel puÈ›in ${minPoints}, dar nu mai mult de ${maxPoints} (de) pin-uri.`,\n leavePinsWithOff: maxPoints =>\n `LăsaÈ›i cel mult ${maxPoints} pin de fiecare fel sau daÈ›i clic pe Continuare pentru a omite acest pas.`,\n leavePinsWithOffAny: maxPoints =>\n `LăsaÈ›i cel mult ${maxPoints} pin-uri de fiecare fel sau daÈ›i clic pe Continuare pentru a omite.`,\n leavePinsPerPageWithOff: maxPoints =>\n `Nu lăsaÈ›i mai mult de ${maxPoints} (de) pin-uri sau daÈ›i clic pe Continuare pentru a omite.`,\n leavePinWithOff: `LăsaÈ›i cel mult 1 pin de fiecare fel sau daÈ›i clic pe Continuare pentru a omite acest pas.`,\n leavePinWithOffAny: `Nu lăsaÈ›i mai mult de un ac de orice fel sau daÈ›i clic pe Următorul pentru a sări peste.`,\n leavePinPerPageWithOff: 'Nu lăsaÈ›i mai mult de 1 pin-uri sau daÈ›i clic pe Continuare pentru a omite.',\n leaveExactlyPin: `LăsaÈ›i 1 pin din fiecare fel.`,\n leaveExactlyPinAny: `LăsaÈ›i un ac de orice fel.`,\n leaveExactlyPinPerPage: 'LăsaÈ›i 1 pin.',\n leaveExactlyPins: maxPoints => `LăsaÈ›i ${maxPoints} pin-uri de fiecare fel.`,\n leaveExactlyPinsAny: maxPoints => `LăsaÈ›i ${maxPoints} pin-uri de fiecare fel.`,\n leaveExactlyPinsPerPage: maxPoints => `LăsaÈ›i ${maxPoints} pin-uri.`,\n leaveComment: 'TastaÈ›i sub imagine pentru a lăsa comentariul.',\n noAnswers: 'Nu există opÈ›iune de răspuns, daÈ›i clic pe Continuare.',\n outOfPins: 'Nu mai aveÈ›i pin-uri',\n pinsBehavior:\n 'Pe măsură ce vă deplasaÈ›i pe imagine, veÈ›i vedea zone care vor fi evidenÈ›iate cu o singură picătură de ac.',\n clusters: 'VeÈ›i putea plasa ace numai în aceste zone evidenÈ›iate.',\n contentAware: 'PuteÈ›i lăsa ace în interiorul sau în afara zonelor evidenÈ›iate.'\n },\n mp: {\n expand_note: 'Vă rugăm să treceÈ›i peste sau să daÈ›i clic pe imagini pentru a le mări',\n rb_note: rows => `SelectaÈ›i doar 1 răspunsul pentru articolul${rows ? ' de mai jos' : ''}:`,\n cb_note: (min, max, rows) => {\n if (min === max) {\n return `SelectaÅ£i oricare ${min} răspuns${min !== 1 ? 'uri' : ''} pentru articolul${\n rows ? ' de mai jos' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `SelectaÅ£i cel puÈ›in ${min} răspuns${\n min !== 1 ? 'ur' : ''\n }, dar nu mai mult de ${max} pentru fiecare punct${rows ? ' de mai jos' : ''}:`\n } else if (5000 === max && min > 0) {\n return `SelectaÅ£i cel puÈ›in ${min} răspuns${min !== 1 ? 'ur' : ''} pentru fiecare punct${\n rows ? ' de mai jos' : ''\n }:`\n } else if (0 === min && max < 5000) {\n return `SelectaÅ£i cel mult ${max} răspuns${max !== 1 ? 'ur' : ''} pentru fiecare punct${\n rows ? ' de mai jos' : ''\n }:`\n } else {\n return 'BifaÈ›i toate opÈ›iunile care se aplică:'\n }\n }\n },\n sh: {\n note: 'DaÈ›i clic pe un produs pentru a mări imaginea È™i adăugaÈ›i-l la coÈ™ul virtual dacă l-aÈ›i cumpăra în magazin.',\n amazonNote: 'FaceÈ›i clic pe un produs pentru a-l mări È™i a-l adăuga în coÈ™ul dvs. de cumpărături virtual.',\n fullCart: 'CoÈ™ul dvs. este plin!!',\n qty: 'CANT.',\n addToCart: 'ADÄ‚UGARE ÃŽN COȘ',\n added: 'ADÄ‚UGAT',\n deleteFromCart: 'ȘTERGERE',\n emptyCard: 'CoÈ™ul dvs. este gol!',\n total: 'CoÈ™',\n each: 'fiecare',\n items: 'articole',\n fullscreen: 'Fullscreen mode',\n closeFullscreen: 'Exit fullscreen',\n clearCart: 'Golire coÈ™',\n next: 'CONTINUARE',\n backToStore: 'ÃŽnapoi la magazin',\n na: 'Niciunul/Niciuna dintre cele de mai sus',\n shelfError: (count, products) =>\n `There is no place for ${count !== 1 ? 'these' : 'this'} product${\n count !== 1 ? 's' : ''\n } on the shelves: ${products}!`,\n maxCartCountError: max => `Vă rugăm să adăugaÈ›i maximum ${max} produse în coÈ™`,\n scrollError: `Vă rugăm să derulaÈ›i complet la stânga È™i la dreapta pentru a continua sondajul. `,\n maxSpentError: max => `Vă rugăm să cheltuiÈ›i maximum ${max}.`,\n maxProductCountError: max => `Vă rugăm să adăugaÈ›i în coÈ™ maximum o cantitate de ${max} pentru fiecare produs.`\n },\n rb: {\n note: 'SelectaÅ£i numai 1 articol:'\n },\n vo: {\n note: 'VizionaÈ›i videoclipul până la sfârÈ™it\\n'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `SelectaÅ£i oricare ${min} articol${min !== 1 ? 'e' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `SelectaÅ£i cel puÈ›in ${min} articol${min !== 1 ? 'e' : ''}, dar nu mai mult de ${max} pe rând:`\n } else if (5000 === max && min > 0) {\n return `SelectaÅ£i cel puÈ›in ${min} articol${min !== 1 ? 'e' : ''}:`\n } else if (0 === min && max < 5000) {\n return `SelectaÅ£i cel puÈ›in ${max} articol${max !== 1 ? 'e' : ''}, dar nu mai mult de ${min} pe rând:`\n } else {\n return 'BifaÈ›i toate opÈ›iunile care se aplică:'\n }\n }\n },\n oe: {\n na: 'Nu se aplică',\n note: (min, max, optional) => {\n if (min === max) {\n return `IntroduceÈ›i ${1 !== min ? 'orice' : 'numai'} ${min} caracter${1 !== min ? 'e' : ''}${\n optional ? ' (opÈ›ional)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `IntroduceÈ›i cel puÈ›in ${min} caracter${1 !== min ? 'e' : ''} dar nu mai mult de ${max}${\n optional ? ' (opÈ›ional)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `IntroduceÈ›i cel puÈ›in ${min} caracter${1 !== min ? 'e' : ''}${optional ? ' (opÈ›ional)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `IntroduceÈ›i cel mult ${max} caracter${1 !== max ? 'e' : ''}${optional ? ' (opÈ›ional)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'CompletaÈ›i următoarele câmpuri:'\n },\n mx: {\n note: 'MutaÈ›i glisoarele evidenÈ›iate pentru a continua',\n dragSlider: 'TrageÈ›i spre stânga sau spre dreapta pentru a răspunde.'\n },\n psc: {\n dragLeftRight: 'TrageÈ›i spre stânga sau spre dreapta pentru a răspunde.'\n },\n ps: {\n note: value => `DistribuiÈ›i ${value} rămase între elementele de mai jos`,\n allDone: `Terminé!`,\n total: `Total:`,\n dragSlider: 'TrageÈ›i spre stânga sau spre dreapta pentru a răspunde.'\n },\n cx: {\n note: 'DeschideÈ›i folderul depozitar È™i începeÈ›i să introduceÈ›i răspunsul pentru a derula automat sau selectaÈ›i-l manual.'\n },\n ro: {\n note: 'TrageÈ›i în sus sau în jos pentru a reordona:'\n },\n md: {\n note1:\n 'DaÈ›i clic pe/atingeÈ›i elementul ales <b>primul</b>.<br/>DaÈ›i clic/atingeÈ›i din nou pentru a È™terge alegerea.',\n note2:\n 'DaÈ›i clic pe/atingeÈ›i elementul ales <b>ultimul</b>.<br/>DaÈ›i clic/atingeÈ›i din nou pentru a È™terge alegerea.',\n note3:\n 'MulÈ›umim! TreceÈ›i la întrebarea următoare sau daÈ›i clic pe/atingeÈ›i orice element neselectat pentru a începe din nou.'\n },\n aro: {\n note: 'AlegeÈ›i un element din fiecare pereche:'\n },\n wd: {\n note: 'AsiguraÈ›i-vă că fiecare dintre valorile următoare este mai mare decât cea anterioară.'\n },\n emd: {\n note: 'VizionaÈ›i videoclipul până la sfârÈ™it\\n',\n noAnswers: 'Nu există opÈ›iune de răspuns, daÈ›i clic pe Continuare.',\n start: 'DaÈ›i clic È™i È›ineÈ›i apăsat pentru a începe',\n resume: 'DaÈ›i clic È™i È›ineÈ›i apăsat pentru a relua',\n continue: 'AÈ›i terminat! <br />ApăsaÈ›i Pagina următoare pentru a continua',\n continueMobile: 'EÈ™ti gata! <br /> Apasă AICI pentru a continua',\n training: {\n session: 'sesiune de instruire',\n note: 'Vă rog să terminaÈ›i antrenamentul',\n moveLeft: 'TrageÈ›i cadranul până la stânga',\n moveBottom: 'TrageÈ›i cadranul până jos',\n moveRight: 'Acum, trageÈ›i cadranul până la dreapta',\n moveTop: 'Acum, trageÈ›i cadranul până sus',\n success: 'Bravo!'\n }\n },\n sft: {\n noAnswers: 'Nu există opÈ›iune de răspuns, daÈ›i clic pe Continuare.',\n note: 'Vă rugăm să răspundeÈ›i cât mai repede puteÈ›i, cu alternativa pe care o simÈ›iÈ›i corectă în mod intuitiv',\n finish: 'AÈ›i terminat! <br /> ApăsaÈ›i Pagina următoare pentru a continua',\n training: {\n start:\n '<p>Această întrebare vă va arăta rapid diferite cuvinte È™i necesită concentrare. ' +\n 'Trebuie să reacÈ›ionaÈ›i rapid pentru a răspunde. </p> <p>Gata de antrenament?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `ApăsaÈ›i \"{buttonLeft}\"`\n : (mouse ? `DaÈ›i clic pe \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `ApăsaÈ›i tasta „Fâ€` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `ApăsaÈ›i \"{buttonRight}\"`\n : (mouse ? `DaÈ›i clic pe \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `ApăsaÈ›i tasta „Jâ€` : ''),\n fail: () => 'Prea încet',\n success: () => 'Minunat!',\n finish: () =>\n '<p><strong> Excelent!</strong></p><p>AsiguraÈ›i-vă că nimic nu<br />' +\n 'vă va distrage atenÈ›ia<br/> în următoarele 2-3 minute. </p><p>ApăsaÈ›i Pagina următoare când sunteÈ›i gata.</p>'\n },\n buttons: {\n start: 'Start',\n yesno: {\n left: 'Da',\n right: 'Nu'\n },\n matches: {\n left: 'Corespunde',\n right: 'Nu corespunde'\n },\n fits: {\n left: 'Se potriveÈ™te',\n right: 'Nu se potriveÈ™te'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Ðет варианта ответа, нажмите на «Далее», чтобы продолжить.',\n placeholder: 'Введите Ваш ответ...',\n pleaseSelect: 'Выберите вариант...',\n rotateLandscape: 'Поверните телефон Ñ Ð¿Ð¾Ñ€Ñ‚Ñ€ÐµÑ‚Ð½Ð¾Ð¹ ориентации на ландшафтную.',\n rotatePortrait: 'Поверните телефон Ñ Ð»Ð°Ð½Ð´ÑˆÐ°Ñ„Ñ‚Ð½Ð¾Ð¹ ориентации на портретную.',\n ir: {\n selectWebCam: 'Выберите веб-камеру (еÑли доÑтупна) или нажмите на «Обзор» Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ уÑтройÑтва',\n noWebCam: 'Веб-камера не обнаружена',\n accessCamUpload: 'ДОСТУП К КÐМЕРЕ/ЗÐГРУЗИТЬ',\n browse: 'ОБЗОР',\n uploadPhoto: 'Загрузить фото',\n instead: 'вмеÑто',\n startOver: 'ÐÐЧÐТЬ ЗÐÐОВО',\n capture: 'СÐИМОК',\n allDone: 'ВСЕ ГОТОВО!',\n somethingWrong: 'Извините, что-то пошло не так. Повторите попытку позже',\n couldntRead: 'К Ñожалению, мы не Ñмогли Ñчитать код!',\n couldntProcess: 'К Ñожалению, мы не Ñмогли обработать ваше изображение!',\n moveOn: 'Попробуйте еще раз или отправьте фото и двигайтеÑÑŒ дальше',\n tryAgain: 'Повторите попытку',\n dataReceived: 'Данные получены!',\n enterManually: 'Повторите попытку или введите данные вручную ниже',\n positionQR:\n 'РаÑположите QR-код перед камерой, впиÑав его в краÑную рамку, или загрузите его Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ компьютера.',\n submit: 'ОТПРÐВИТЬ',\n analyzing: 'ВыполнÑетÑÑ Ð°Ð½Ð°Ð»Ð¸Ð· изображениÑ, подождите...',\n cantAnalyze:\n 'Внимание! Ðе удалоÑÑŒ отобразить Ñто изображение. Повторите попытку или выберите более раÑпроÑтраненный формат Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ (JPG, PNG, GIF, BMP).',\n wrongFormat:\n 'К Ñожалению, мы не поддерживаем Ñтот формат файла. Загрузите поддерживаемый тип Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Веб-камера не обнаружена',\n uploadVideo: 'Загрузить видео',\n skip: 'ПропуÑтить?',\n accessCamUpload: 'ДОСТУП К КÐМЕРЕ/ЗÐГРУЗИТЬ',\n browse: 'ОБЗОР',\n instead: 'ВмеÑто',\n or: 'или',\n stopRecording: 'ОÑтановить запиÑÑŒ',\n willBeStopped: 'ЗапиÑÑŒ оÑтановитÑÑ Ð¿Ð¾ иÑтечении 5 минут',\n stopOnDone: 'ОÑтановите запиÑÑŒ, когда закончите!',\n record: 'ЗÐПИСЬ',\n somethingWrong: 'Извините, что-то пошло не так. Повторите попытку позже',\n microphone: 'Микрофон',\n camera: 'Веб-камера',\n selectMicrophone: 'Выберите микрофон',\n selectCam: 'Выберите веб-камеру',\n upload: 'Загрузить',\n playback: 'ВоÑпроизведение',\n stopPlayback: 'ОÑтановить',\n submit: 'ОТПРÐВИТЬ',\n startOver: 'ЗÐÐОВО',\n allDone: 'ГОТОВО!',\n alternativeRecordSpan: 'Загрузите видеоклип Ñ Ð’Ð°ÑˆÐµÐ³Ð¾ компьютерного уÑтройÑтва.<br/>Как вариант, Ð’Ñ‹ можете ',\n alrenativeRecordHref: ' запиÑать видео Ñ Ð²ÐµÐ±-камеры.',\n cantAnalyze:\n 'Внимание! Ðе удалоÑÑŒ отобразить Ñто видео. Повторите попытку или выберите более раÑпроÑтраненный формат видео (MP4, M4V, WEBPM)',\n wrongFormat:\n 'К Ñожалению, мы не поддерживаем Ñтот формат файла. Загрузите видео в поддерживаемом формате (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'ВЫБРÐТЬ',\n pleaseChoose: 'ПожалуйÑта, выберите',\n this: 'ÐТОТ',\n one: 'один',\n myChoice: 'Мой ВЫБОР'\n },\n hm: {\n addComment: 'Добавьте комментарий ниже',\n commentMandatoryPlaceHolder: 'Добавьте обÑзательный комментарий...',\n commentOptionalPlaceHolder: 'Добавьте необÑзательный комментарий... ',\n dragPin: 'Перетащите, чтобы изменить положение (длительное нажатие Ð´Ð»Ñ Ñ‚Ð¾Ñ‡Ð½Ð¾Ð¹ фикÑации). ',\n removePin: 'Ð”Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÑ‚Ð°Ñ‰Ð¸Ñ‚Ðµ пин за пределы изображениÑ. ',\n editComment: 'Ðажмите на пин, чтобы изменить комментарий. ',\n addPin: 'Перетащите пин из панели ниже и помеÑтите его в нужное меÑто на изображении.',\n addPins: 'Перетащите пины из панели ниже и помеÑтите их в нужное меÑто на изображении. ',\n leavePins: (minPoints, maxPoints) =>\n `ПоÑтавьте не менее ${minPoints}, но не более ${maxPoints} пинов каждого типа. `,\n leavePinsAny: (minPoints, maxPoints) =>\n `ПоÑтавьте не менее ${minPoints}, но не более ${maxPoints} пинов любого типа. `,\n leavePinsPerPage: (minPoints, maxPoints) => `ПоÑтавьте не менее ${minPoints}, но не более ${maxPoints} пинов. `,\n leavePinsWithOff: maxPoints =>\n `ПоÑтавьте не более ${maxPoints} пинов каждого типа или нажмите «Дальше», чтобы пропуÑтить. `,\n leavePinsWithOffAny: maxPoints =>\n `ПоÑтавьте не более ${maxPoints} пинов любого типа или нажмите «Дальше», чтобы пропуÑтить. `,\n leavePinsPerPageWithOff: maxPoints =>\n `ПоÑтавьте не более ${maxPoints} пинов или нажмите «Дальше», чтобы пропуÑтить. `,\n leavePinWithOff: 'ПоÑтавьте не более 1 пина каждого типа или нажмите «Дальше», чтобы пропуÑтить. ',\n leavePinWithOffAny: 'ПоÑтавьте не более 1 пина любого типа или нажмите «Дальше», чтобы пропуÑтить. ',\n leavePinPerPageWithOff: 'ПоÑтавьте не более 1 пина или нажмите «Дальше», чтобы пропуÑтить. ',\n leaveExactlyPin: 'ПоÑтавьте по 1 пину каждого типа. ',\n leaveExactlyPinAny: 'ПоÑтавьте 1 пин любого типа. ',\n leaveExactlyPinPerPage: 'ПоÑтавьте 1 пин. ',\n leaveExactlyPins: maxPoints =>\n `ПоÑтавьте по ${maxPoints} пин${maxPoints >= 2 ? (maxPoints < 5 ? 'а' : 'oв') : ''} каждого вида. `,\n leaveExactlyPinsAny: maxPoints =>\n `ПоÑтавьте по ${maxPoints} пин${maxPoints >= 2 ? (maxPoints < 5 ? 'а' : 'oв') : ''} любого вида. `,\n leaveExactlyPinsPerPage: maxPoints =>\n `ПоÑтавьте по ${maxPoints} пин${maxPoints >= 2 ? (maxPoints < 5 ? 'а' : 'oв') : ''}. `,\n leaveComment: 'Введите текÑÑ‚ под изображением, чтобы оÑтавить комментарий. ',\n noAnswers: 'Ðет варианта ответа. Ð”Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ Ð½Ð°Ð¶Ð¼Ð¸Ñ‚Ðµ «Далее». ',\n outOfPins: 'у Ð²Ð°Ñ Ð½Ðµ оÑталоÑÑŒ пинов',\n pinsBehavior: 'При перемещении по изображению вы увидите облаÑти, которые будут выделены когда в них Ñтоит пин.',\n clusters: 'Ð’Ñ‹ можете размещать пины только в Ñтих выделенных облаÑÑ‚ÑÑ….',\n contentAware: 'Ð’Ñ‹ можете помещать пины внутрь выделенных облаÑтей или Ñнаружи них.'\n },\n mp: {\n expand_note: 'ПожалуйÑта, наведите курÑор или нажмите на изображение(-Ñ), чтобы развернуть',\n rb_note: rows => `ПожалуйÑта, выберите только 1 ответ в каждом пункте${rows ? ' ниже' : ''}:`,\n cb_note: (min, max, rows) => {\n if (1 === min && 5000 === max) {\n return 'Выберите вÑе подходÑщие варианты:'\n } else if (min === max) {\n return `ПожалуйÑта, выберите любые ${min < 5 ? 'а' : 'ов'} в каждом пункте${rows ? ' ниже' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Выберите минимум ${min}, но не более ${max} ответов в каждом пункте${rows ? ' ниже' : ''}:`\n } else if (5000 === max && min > 0) {\n return `Выберите минимум ${min} ответ${max >= 2 ? (max < 5 ? 'а' : 'ов') : ''} в каждом пункте${\n rows ? ' ниже' : ''\n }:`\n } else if (0 === min && max < 5000) {\n return `Выберите не более ${max} ответ${1 == min ? 'а' : 'ов'} в каждом пункте${rows ? ' ниже' : ''}:`\n } else {\n return 'Выберите вÑе подходÑщие варианты:'\n }\n }\n },\n sh: {\n note: 'Ðажмите на товар, чтобы увеличить его и добавить в Ñвою виртуальную корзину, еÑли бы вы купили его в магазине',\n amazonNote: 'Ðажмите на товар, чтобы увеличить его и добавить в Ñвою виртуальную корзину.',\n fullCart: 'Ваша корзина заполнена!',\n qty: 'КОЛ-ВО',\n addToCart: 'ДОБÐВИТЬ Ð’ КОРЗИÐУ',\n deleteFromCart: 'УДÐЛИТЬ',\n emptyCard: 'Ваша корзина пуÑта',\n each: 'каждый',\n items: 'продуктов',\n total: 'Корзина',\n clearCart: 'ОчиÑтить корзину',\n backToStore: 'Ðазад в магазин',\n na: 'Ðичего из перечиÑленного',\n next: 'ДÐЛЕЕ',\n maxCartCountError: max => `Добавьте в Ñвою корзину не более ${max} товаров.`,\n scrollError: `ПолноÑтью прокрутите Ñтраницу влево и вправо, чтобы продолжить прохождение опроÑа. `,\n maxSpentError: max => `Потратьте не более ${max}.`,\n maxProductCountError: max => `Добавьте в корзину каждого товара не более ${max}.`\n },\n rb: {\n note: 'Выберите 1 вариант:'\n },\n vo: {\n note: 'ДоÑмотрите видео до конца'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `Выберите ${min} чекбокÑ${min >= 3 ? (min < 5 ? 'а' : 'ов') : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Выберите от ${min} до ${max} чекбокÑ${max >= 3 ? (max < 5 ? 'а' : 'ов') : ''}:`\n } else if (5000 === max && min > 0) {\n return `Выберите не менее ${min} чекбокÑ${min >= 3 ? (min < 5 ? 'а' : 'ов') : ''}:`\n } else if (0 === min && max < 5000) {\n return `Выберите не более ${max} чекбокÑ${max >= 3 ? (max < 5 ? 'а' : 'ов') : ''}:`\n } else {\n return 'Выберите вÑе подходÑщие варианты:'\n }\n }\n },\n oe: {\n na: 'Ðе применимо',\n note: (min, max, optional) => {\n if (min === max) {\n return `Введите ${min} Ñимвол${min > 1 && min <= 4 ? 'а' : ''}${min >= 5 ? 'ов' : ''}${\n optional ? ' (необÑзательное поле)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Введите от ${min} до ${max} Ñимвол${min > 1 && min <= 4 ? 'а' : ''}${min >= 5 ? 'ов' : ''}${\n optional ? ' (необÑзательное поле)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Введите не менее ${min} Ñимвол${min > 1 && min <= 4 ? 'а' : ''}${min >= 5 ? 'ов' : ''}${\n optional ? ' (необÑзательное поле)' : ''\n }:`\n } else if (0 === min && max < 5000) {\n return `Введите не более ${min} Ñимвол${min > 1 && min <= 4 ? 'а' : ''}${min >= 5 ? 'ов' : ''}${\n optional ? ' (необÑзательное поле)' : ''\n }:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Заполните Ñледующие полÑ:'\n },\n mx: {\n note: 'ПеремеÑтите выделенные Ñлайдеры, чтобы продолжить',\n dragSlider: 'Передвиньте Ñлайдер влево или вправо'\n },\n psc: {\n dragLeftRight: 'Передвиньте Ñлайдер влево или вправо'\n },\n ps: {\n note: value => `ПожалуйÑта, раÑпределите оÑтавшиеÑÑ ${value} между приведенными ниже Ñтроками`,\n allDone: 'ВСЕ ГОТОВО!',\n total: `Ð’Ñего:`,\n dragSlider: 'Передвиньте Ñлайдер влево или вправо'\n },\n cx: {\n note: 'Кликните по комбобокÑу и начните печатать Ваш ответ или выберите его из ÑпиÑка'\n },\n ro: {\n note: 'ОтÑортируйте варианты путем перетаÑÐºÐ¸Ð²Ð°Ð½Ð¸Ñ Ð²Ð²ÐµÑ€Ñ… или вниз:'\n },\n md: {\n note1: 'ПожалуйÑта, кликните и выберите лучший вариант.<br/>Повторное нажатие отменÑет выбор.',\n note2: 'ПожалуйÑта, кликните и выберите худший вариант.<br/>Повторное нажатие отменÑет выбор.',\n note3: 'СпаÑибо! Ðажмите далее, чтобы продолжить<br/>или нажмите неотмеченный вариант, чтобы начать заново.'\n },\n aro: {\n note: 'ПожалуйÑта, выберете один вариант из каждой пары:'\n },\n wd: {\n note: 'ПожалуйÑта, убедитеÑÑŒ, что каждое Ñледующее значение больше предыдущего.'\n },\n emd: {\n note: 'ДоÑмотрите видео до конца',\n noAnswers: 'Ðет варианта ответа, нажмите на «Далее», чтобы продолжить.',\n start: 'Ðажмите и удерживайте, чтобы начать',\n resume: 'Ðажмите и удерживайте, чтобы возобновить',\n continue: 'Ð’Ñ‹ закончили! <br />Ðажмите <strong>«Далее»</strong>, чтобы продолжить',\n continueMobile: 'Ð’Ñ‹ закончили! <br />Ðажмите здеÑÑŒ, чтобы продолжить',\n training: {\n session: 'ÑÐµÐ°Ð½Ñ Ð¾Ð±ÑƒÑ‡ÐµÐ½Ð¸Ñ',\n note: 'Закончите обучение',\n moveLeft: 'Перетащите указатель до упора влево',\n moveBottom: 'Перетащите указатель до упора вниз',\n moveRight: 'Перетащите указатель до упора вправо',\n moveTop: 'Перетащите указатель до упора вверх',\n success: 'ÐžÑ‚Ð»Ð¸Ñ‡Ð½Ð°Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°!'\n }\n },\n sft: {\n noAnswers: 'Ðет варианта ответа, нажмите на «Далее», чтобы продолжить.',\n note: 'Как можно быÑтрее выберите ответ, который интуитивно кажетÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼',\n finish: 'Ð’Ñе готово! <br /> Ðажмите «Далее», чтобы продолжить',\n training: {\n start:\n '<p>Ð’ Ñтом вопроÑе вам быÑтро покажут разные Ñлова и вам нужно будет ÑоÑредоточитьÑÑ. ' +\n 'Вам нужно будет быÑтро отреагировать, чтобы ответить. </p> <p>Готовы потренироватьÑÑ?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Ðажмите \"{buttonLeft}\"`\n : (mouse ? `Ðажмите \"{buttonLeft}\"` : '') + (key && mouse ? ' / ' : '') + (key ? `Ðажмите клавишу F` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Ðажмите \"{buttonRight}\"`\n : (mouse ? `Ðажмите \"{buttonRight}\"` : '') + (key && mouse ? ' / ' : '') + (key ? `Ðажмите клавишу J` : ''),\n fail: () => 'Слишком медленно',\n success: () => 'Отлично!',\n finish: () =>\n '<p><strong> Великолепно!</strong></p><p>УбедитеÑÑŒ, что ничто не будет отвлекать Ð²Ð°Ñ <br />' +\n 'в Ñледующие 2–3 минуты. </p><p>Ðажмите «Далее», чтобы начать, когда будете готовы.</p>'\n },\n buttons: {\n start: 'Ðачать',\n yesno: {\n left: 'Да',\n right: 'Ðет'\n },\n matches: {\n left: 'Совпадение',\n right: 'ÐеÑовпадение'\n },\n fits: {\n left: 'Подходит',\n right: 'Ðе подходит'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'No hay opción de respuesta, por favor, haz clic en \"siguiente\" para continuar.',\n placeholder: 'Especifique...',\n pleaseSelect: 'Seleccione...',\n rotateLandscape: 'Gire el teléfono de vertical a horizontal para continuar.',\n rotatePortrait: 'Gire el teléfono de horizontal a vertical para continuar.',\n ir: {\n selectWebCam:\n 'Selecciona una webcam (si está disponible) o haz clic en \"Navegar\" para subirla desde tu dispositivo',\n noWebCam: 'No se ha detectado ninguna cámara web',\n accessCamUpload: 'ACCEDER A LA CÃMARA/SUBIR',\n browse: 'NAVEGAR',\n uploadPhoto: 'Sube una foto',\n instead: 'en vez de',\n startOver: 'Vuelva a empezar',\n capture: 'TOMA',\n allDone: '¡Todo hecho!',\n somethingWrong: 'Lo sentimos, algo ha ido mal. Por favor, inténtalo de nuevo más tarde.',\n analyzing: 'Analizando la imagen, por favor, espera',\n couldntRead: 'Lo sentimos, ¡no hemos podido leer el código!',\n couldntProcess: 'Lo sentimos, ¡no hemos podido procesar tu imagen!',\n moveOn: 'Por favor, inténtalo de nuevo o sube tu foto y continúa',\n tryAgain: 'Por favor, inténtalo de nuevo',\n dataReceived: '¡Información recibida!',\n enterManually: 'Por favor, inténtalo de nuevo o introduce la información manualmente abajo',\n positionQR:\n 'Por favor, sitúa el código QR en frente de tu cámara para que encaje en el marco rojo o súbelo desde tu ordenador',\n submit: 'PRESENTAR',\n cantAnalyze:\n 'Atención: no pudimos reproducir esta imagen. Por favor, intenta volver a subir un formato de imagen más genérico (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Lo sentimos, no somos compatibles con este formato de archivo. Por favor, sube un tipo de imagen compatible (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'No se ha detectado ninguna cámara web',\n uploadVideo: 'Subir un vÃdeo',\n skip: '¿Omitir?',\n accessCamUpload: 'ACCEDER A LA CÃMARA/SUBIR',\n browse: 'NAVEGAR',\n instead: 'en vez de',\n or: 'o',\n stopRecording: 'Parar la grabación',\n willBeStopped: 'La grabación parará en 5 minutos',\n stopOnDone: '¡Pare la grabación cuando haya terminado!',\n record: 'GRABAR',\n somethingWrong: 'Lo sentimos, algo ha ido mal. Por favor, inténtalo de nuevo más tarde.',\n microphone: 'Micrófono',\n camera: 'Cámara Web',\n selectMicrophone: 'Elige tu micrófono',\n selectCam: 'Elige tu cámara web',\n upload: 'SUBIR',\n playback: 'Reproducción',\n stopPlayback: 'DETENER LA REPRODUCCIÓN',\n submit: 'PRESENTAR',\n startOver: 'Vuelva a empezar',\n allDone: '¡Todo hecho!',\n alternativeRecordSpan:\n 'Por favor, cargue un vÃdeo clip desde su dispositivo informático.<br/>Alternativamente, ',\n alrenativeRecordHref: 'puede grabar el vÃdeo con una webcam.',\n cantAnalyze:\n 'Atención: no pudimos reproducir este vÃdeo. Por favor, intenta volver a subirlo o elige un formato de vÃdeo más genérico (MP4, M4V, WEBPM)',\n wrongFormat:\n 'Lo sentimos, no somos compatibles con este formato de archivo. Por favor, sube un tipo de vÃdeo compatible (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'ESCOGER',\n pleaseChoose: 'Por favor, escoge',\n this: 'ESTE',\n one: 'uno',\n myChoice: 'Mi SELECCIÓN'\n },\n hm: {\n addComment: 'Por favor, añada un comentario a continuación',\n commentMandatoryPlaceHolder: 'Es obligatorio añadir un comentario… ',\n commentOptionalPlaceHolder: 'Es opcional añadir un comentario… ',\n dragPin: 'Arrastrar para reposicionar (Haga clic o toque prolongado para un anclaje de precisión). ',\n removePin: 'Arrastre fuera de la imagen para eliminarla. ',\n editComment: 'Haga clic o toque el pin para editar el comentario. ',\n addPin: 'Por favor, arrastre el pin desde el panel de abajo y suéltelo en el lugar que quiera de la imagen.',\n addPins:\n 'Por favor, arrastre los pines desde el panel de abajo y suéltelos en el lugar de su elección en la imagen. ',\n leavePins: (minPoints, maxPoints) =>\n `Por favor, deje al menos ${minPoints} pero no más de ${maxPoints} pines de cada tipo. `,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `Por favor, deje al menos ${minPoints} pero no más de ${maxPoints} pines. `,\n leavePinsWithOff: maxPoints =>\n `Por favor, no deje más de ${maxPoints} pines de cada tipo o haga clic en Siguiente para omitirlo. `,\n leavePinsPerPageWithOff: maxPoints =>\n `Por favor, no deje más de ${maxPoints} pines o haga clic en Siguiente para omitirlo. `,\n leavePinWithOff: 'Por favor, no deje más de 1 pin de cada tipo o haga clic en Siguiente para omitirlo. ',\n leavePinPerPageWithOff: 'Por favor, no deje más de 1 pin o haga clic en Siguiente para omitirlo. ',\n leaveExactlyPin: 'Por favor, deje 1 pin de cada tipo.',\n leaveExactlyPinPerPage: 'Por favor, deje 1 pin. ',\n leaveExactlyPins: maxPoints => `Por favor, deje ${maxPoints} pines de cada tipo. `,\n leaveExactlyPinsPerPage: maxPoints => `Por favor, deje ${maxPoints} pines. `,\n leaveComment: 'Escriba debajo de la imagen para dejar un comentario. ',\n noAnswers: 'Sin opción de respuesta, por favor haga clic en el siguiente para continuar.',\n outOfPins: 'Se le acabaron los pines',\n pinsBehavior: 'A medida que se desplace por la imagen, verá áreas que se resaltarán con un solo pin.',\n clusters: 'Solo podrá colocar pines en estas áreas resaltadas.',\n contentAware: 'Puede soltar pines dentro o fuera de las áreas resaltadas.'\n },\n mp: {\n expand_note: 'Pase el cursor por encima o haga clic en la o las imágenes para expandir',\n rb_note: rows => `Seleccione solo 1 respuesta por cada elemento${rows ? ' siguiente' : ''}:`,\n cb_note: (min, max, rows) => {\n if (1 === min && 5000 === max) {\n return 'Marque todas las opciones que correspondan:'\n } else if (min === max) {\n return `Seleccione ${min !== 1 ? 'hasta' : 'solo'} ${min} respuesta${min !== 1 ? 's' : ''} por elemento${\n rows ? ' a continuación' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Seleccione al menos ${min} respuesta pero no más de ${max} por elemento${\n rows ? ' a continuación' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Seleccione al menos ${min} respuesta por elemento${rows ? ' a continuación' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Seleccione no más de ${max} respuesta por elemento${rows ? ' a continuación' : ''}:`\n } else {\n return 'Marque todas las opciones que correspondan:'\n }\n }\n },\n sh: {\n note: 'Haz clic en un producto para aumentarlo y añadirlo a tu carro virtual si lo comprarÃas en la tienda',\n amazonNote: 'Haz clic en un producto para ampliarlo y añadirlo a tu cesta virtual.',\n fullCart: '¡Tu carro está lleno!',\n qty: 'CANTIDAD',\n addToCart: 'AÑADIR AL CARRO',\n deleteFromCart: 'BORRAR',\n each: 'cada',\n items: 'elementos',\n emptyCard: 'Tu carro está vacÃo',\n total: 'Carro',\n clearCart: 'Vaciar el carro',\n backToStore: 'Volver a la tienda',\n na: 'Ninguno de estos',\n next: 'SIGUIENTE',\n maxCartCountError: max => `No agregue más de ${max} productos a su carrito`,\n scrollError: `Desplácese completamente hacia la izquierda y hacia la derecha para continuar con la encuesta. `,\n maxSpentError: max => `No gaste más de ${max}.`,\n maxProductCountError: max => `No agregue más de una cantidad de ${max} a su carrito para cada producto.`\n },\n rb: {\n note: 'Seleccione solo 1 elemento:'\n },\n vo: {\n note: 'Por favor, mira el video hasta el final'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `Seleccione ${min !== 1 ? 'cualquier' : 'solo'} ${min} elemento${min !== 1 ? 's' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Seleccione al menos ${min} elemento${min !== 1 ? 's' : ''} pero no más de ${max}:`\n } else if (5000 === max && min > 0) {\n return `Seleccione al menos ${min} elemento${min !== 1 ? 's' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Seleccione no más de ${max} elemento${max !== 1 ? 's' : ''}:`\n } else {\n return 'Marque todas las opciones que correspondan:'\n }\n }\n },\n oe: {\n na: 'No aplica',\n note: (min, max, optional) => {\n if (min === max) {\n return `Escriba ${1 !== min ? 'cualquier' : 'exactamente'} ${min} carácter${1 !== min ? 'es' : ''}${\n optional ? ' (opcional)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Escriba al menos ${min} carácter${1 !== min ? 'es' : ''} pero no más de ${max}${\n optional ? ' (opcional)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Escriba al menos ${min} carácter${1 !== min ? 'es' : ''}${optional ? ' (opcional)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `No escriba más de ${max} carácter${1 !== min ? 'es' : ''}${optional ? ' (opcional)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Por favor, rellena los siguientes campos:'\n },\n mx: {\n note: 'Por favor, mueve los deslizadores resaltados para continuar',\n dragSlider: 'Arrastre hacia la izquierda o la derecha para responder'\n },\n psc: {\n dragLeftRight: 'Arrastre hacia la izquierda o la derecha para responder'\n },\n ps: {\n note: value => `Por favor distribute restante ${value} entre los puntos que siguen`,\n allDone: '¡Todo hecho!',\n total: `Total:`,\n dragSlider: 'Arrastre hacia la izquierda o la derecha para responder'\n },\n cx: {\n note: 'Empiece a escribir su respuesta para desplazarse automáticamente o selecciónela manualmente.'\n },\n ro: {\n note: 'Arrastre hacia arriba o hacia abajo para cambiar el orden de:'\n },\n md: {\n note1:\n 'Por favor, haga clic o toque sobre el Ãtem de su primera elección<br/>Haga clic o toque de nuevo para desactivar la elección.',\n note2:\n 'Por favor, ahora haga clic o toque sobre el Ãtem de su última elección<br/>Haga clic o toque de nuevo para desactivar la elección.',\n note3:\n '¡Gracias! Continúe con la siguiente pregunta<br/>o haga clic o toque sobre cualquier Ãtem no seleccionado para empezar de nuevo.'\n },\n aro: {\n note: 'Elige uno de cada pareja'\n },\n wd: {\n note: 'Asegúrate de que cada valor posterior es mayor que el anterior.'\n },\n emd: {\n note: 'Por favor, mira el video hasta el final',\n noAnswers: 'No hay opción de respuesta, por favor, haz clic en \"siguiente\" para continuar.',\n start: 'Pulsa y sostén para empezar',\n resume: 'Pulsa y sostén para continuar',\n continue: '¡Ya estás listo! <br /> Haz clic en Siguiente para continuar',\n continueMobile: '¡Estás listo! <br /> Haga clic AQUà para continuar',\n training: {\n session: 'Sesión de capacitación',\n note: 'Por favor, termina el entrenamiento',\n moveLeft: 'Por favor, arrastra el dial a la izquierda hasta el final',\n moveBottom: 'Por favor, arrastra el dial hasta abajo',\n moveRight: 'Ahora, por favor, arrastra el dial a la derecha hasta el final',\n moveTop: 'Ahora, por favor, arrastra el dial hasta arriba',\n success: '¡Bien hecho!'\n }\n },\n sft: {\n noAnswers: 'No hay opción de respuesta, por favor, haz clic en \"siguiente\" para continuar.',\n note: 'Por favor, responde lo más rápido posible con la respuesta que intuitivamente crees que es correcta',\n finish: '¡Ya has terminado! <br /> Por favor, haz clic en Siguiente para continuar',\n training: {\n start:\n '<p>Esta pregunta te mostrará rápidamente distintas palabras y requerirá que te concentres. ' +\n 'Tendrás que reaccionar rápidamente para contestar. </p> <p>¿Preparado para practicar?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Pulsa \"{buttonLeft}\"`\n : (mouse ? `Haz clic en \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Dale a la tecla \"{keyBtnLeft}\"` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Pulsa \"{buttonRight}\"`\n : (mouse ? `Haz clic en \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Dale a la tecla \"{keyBtnRight}\"` : ''),\n fail: () => 'Demasiado lento',\n success: () => '¡Genial!',\n finish: () =>\n '<p><strong>¡Excelente!</strong></p><p>Por favor, asegúrate de que nada<br />' +\n 'te distraiga durante<br/> los próximos 2-3 minutos. </p><p>Haz clic en Siguiente para empezar cuando estés listo. </p>'\n },\n buttons: {\n start: 'Empezar',\n yesno: {\n left: 'SÃ',\n right: 'No'\n },\n matches: {\n left: 'Coincide',\n right: 'No coincide'\n },\n fits: {\n left: 'Encaja',\n right: 'No encaja'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Inget svar-alternativ, klicka pÃ¥ nästa för att fortsätta.',\n placeholder: 'Vänligen specificera...',\n pleaseSelect: 'Vänligen välj...',\n rotateLandscape: 'Vrid telefonen frÃ¥n stÃ¥ende till liggande läge för att fortsätta.',\n rotatePortrait: 'Vrid telefonen frÃ¥n liggande till stÃ¥ende läge för att fortsätta.',\n ir: {\n selectWebCam:\n 'Välj webbkamera (om den är tillgänglig) eller klicka pÃ¥ \"bläddra\" för att ladda upp frÃ¥n din enhet',\n noWebCam: 'Ingen webbkamera upptäckt',\n accessCamUpload: 'FÃ… TILLGÃ…NG TILL KAMERA / LADDA UPP',\n browse: 'BLÄDDRA',\n uploadPhoto: 'Ladda upp ett foto',\n instead: 'istället',\n capture: 'TA FOTO',\n somethingWrong: 'NÃ¥got gick fel. Försök igen senare',\n couldntRead: 'Vi kunde inte läsa av koden!',\n couldntProcess: 'Vi kunde inte behandla din bild!',\n moveOn: 'Försök igen eller skicka in ditt foto och fortsätt',\n tryAgain: 'Var god försök igen',\n dataReceived: 'Informationen är mottagen!',\n enterManually: 'Försök igen eller ange informationen manuellt nedan',\n positionQR:\n 'Placera QR-koden framför kameran sÃ¥ att den passar in i den röda ramen eller ladda upp den frÃ¥n din dator.',\n analyzing: 'Vi analyserar bilden, var god vänta',\n submit: 'LÄMNA IN',\n startOver: 'Börja om',\n allDone: 'Klart!',\n cantAnalyze:\n 'Vi kunde inte Ã¥terge den här bilden. Försök att skicka in igen eller välj ett mer generiskt bildformat (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Tyvärr stöder vi inte detta filformat. Ladda upp en bildtyp som stöds (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Ingen webbkamera upptäckt',\n uploadVideo: 'Ladda upp en video',\n skip: 'Hoppa över?',\n accessCamUpload: 'FÃ… TILLGÃ…NG TILL KAMERA / LADDA UPP',\n browse: 'BLÄDDRA',\n instead: 'istället',\n or: 'eller',\n stopRecording: 'Stoppa inspelning',\n willBeStopped: 'Inspelningen kommer att stoppas efter 5 minuter',\n stopOnDone: 'Sluta spela in när du är klar!',\n record: 'SPELA IN',\n somethingWrong: 'NÃ¥got gick fel. Försök igen senare',\n microphone: 'Mikrofon',\n camera: 'Webbkamera',\n selectMicrophone: 'Välj din mikrofon',\n selectCam: 'Välj din webbkamera',\n submit: 'LÄMNA IN',\n upload: 'LADDA UPP',\n playback: 'Uppspelning',\n stopPlayback: 'Stopp Uppspelning',\n startOver: 'Börja om',\n allDone: 'Klart!',\n alternativeRecordSpan: 'Vänligen ladda upp ett videoklipp frÃ¥n din dator.<br/>Alternativt kan du ',\n alrenativeRecordHref: 'spela in filmen med en webbkamera.',\n cantAnalyze:\n 'Uppmärksamma - vi kunde inte göra denna video. Försök att skicka in igen eller välj ett mer generiskt videoformat (MP4, M4V, WEBPM)',\n wrongFormat:\n 'Tyvärr stöder vi inte detta filformat. Ladda upp en videotyp som stöds (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'VÄLJ',\n pleaseChoose: 'Välj',\n this: 'DETTA',\n one: 'denna',\n myChoice: 'Mitt VAL'\n },\n hm: {\n addComment: 'Lägg till en kommentar nedan',\n commentMandatoryPlaceHolder: 'Lägg till obligatorisk kommentar … ',\n commentOptionalPlaceHolder: 'Lägg till valfri kommentar … ',\n dragPin: 'Dra för att ändra position (klicka/tryck länge för precisionsfästa). ',\n removePin: 'Dra utanför bilden för att ta bort. ',\n editComment: 'Klicka/tryck pÃ¥ fäste för att redigera kommentar. ',\n addPin: 'Dra fästet frÃ¥n panelen nedan och släpp det pÃ¥ den plats du önskar pÃ¥ bilden.',\n addPins: 'Dra fästena frÃ¥n panelen nedan och släpp dem pÃ¥ den plats du önskar pÃ¥ bilden. ',\n leavePins: (minPoints, maxPoints) => `Lämna minst ${minPoints} men högst ${maxPoints} fästen av varje sort. `,\n leavePinsPerPage: (minPoints, maxPoints) => `Lämna minst ${minPoints} men högst ${maxPoints} fästen. `,\n leavePinsWithOff: maxPoints =>\n `Lämna högst ${maxPoints} fästen av varje sort eller klicka pÃ¥ Nästa för att hoppa över. `,\n leavePinsPerPageWithOff: maxPoints =>\n `Lämna högst ${maxPoints} fästen eller klicka pÃ¥ Nästa för att hoppa över. `,\n leavePinWithOff: 'Lämna högst 1 fäste av varje sort eller klicka pÃ¥ Nästa för att hoppa över. ',\n leavePinPerPageWithOff: 'Lämna högst 1 fäste eller klicka pÃ¥ Nästa för att hoppa över. ',\n leaveExactlyPin: 'Lämna 1 fäste av varje sort. ',\n leaveExactlyPinPerPage: 'Lämna 1 fäste. ',\n leaveExactlyPins: maxPoints => `Lämna ${maxPoints} fästen av varje sort. `,\n leaveExactlyPinsPerPage: maxPoints => `Lämna ${maxPoints} fästen. `,\n leaveComment: 'Skriv under bilden för att lämna en kommentar. ',\n noAnswers: 'Inget svarsalternativ, klicka pÃ¥ Nästa för att fortsätta.',\n outOfPins: 'Du har slut pÃ¥ fästen',\n pinsBehavior: 'När du rör dig över bilden ser du omrÃ¥den som kommer att framhävas med en enda nÃ¥lsläpp.',\n clusters: 'Du kommer bara att kunna placera nÃ¥lar i dessa framhävda omrÃ¥den.',\n contentAware: 'Du kan släppa nÃ¥lar inom eller utanför de framhävda omrÃ¥dena.'\n },\n mp: {\n expand_note: 'HÃ¥ll muspekaren över eller klicka pÃ¥ bild(er) för att expandera',\n rb_note: rows => `Välj endast 1 per artikel${rows ? ' nedan' : ''}:`,\n cb_note: (min, max, rows) => {\n if (1 === min && 5000 === max) {\n return 'Kryssa i alla giltiga alternativ:'\n } else if (min === max) {\n return `Välj ${min} ${min !== 1 ? 'valfritt valfria' : 'endast'} svar per artikel${rows ? ' nedan' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Välj minst ${min} ${min !== 1 ? 'valfri' : 'svar'} men inte fler än ${max} per artikel${\n rows ? ' nedan' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Vänligen välj minst ${min} ${min !== 1 ? 'valfri' : 'svar'} per artikel${rows ? ' nedan' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Välj inte fler än ${max} ${max !== 1 ? 'valfri' : 'svar'} per artikel${rows ? ' nedan' : ''}:`\n } else {\n return 'Kryssa i alla giltiga alternativ:'\n }\n }\n },\n sh: {\n note: 'Klicka pÃ¥ en produkt för att zooma in och lägg till i din virtuella varukorg om du vill köpa den i butiken',\n amazonNote: 'Klicka pÃ¥ en produkt för att zooma in och lägga till i din virtuella kundvagn.',\n fullCart: 'Din kundvagn är full!',\n qty: 'KVANTITET',\n addToCart: 'LÄGG TILL I KUNDVAGN',\n each: 'vardera',\n items: 'föremÃ¥l ',\n deleteFromCart: 'TA BORT',\n emptyCard: 'Din kundvagn är tom',\n total: 'Kundvagn',\n clearCart: 'Rensa kundvagn',\n backToStore: 'Tillbaka till butik',\n na: 'Inget av ovan',\n next: 'NÄSTA',\n maxCartCountError: max => `Lägg inte till fler än ${max} produkter i din varukorg`,\n scrollError: `Vänligen bläddra helt Ã¥t vänster och höger för att fortsätta i undersökningen. `,\n maxSpentError: max => `Spendera inte mer än ${max}.`,\n maxProductCountError: max => `Lägg inte till mer än en mängd ${max} i din varukorg för varje produkt.`\n },\n rb: {\n note: 'Vänligen välj endast 1 objekt:'\n },\n vo: {\n note: 'Titta pÃ¥ hela videon'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `Vänligen välj ${min !== 1 ? 'valfria' : 'endast'} ${min} objekt:`\n } else if (min > 0 && max < 5000) {\n return `Vänligen välj minst ${min} objekt men inte fler än ${max} per rad:`\n } else if (5000 === max && min > 0) {\n return `Vänligen välj minst ${min} objekt:`\n } else if (0 === min && max < 5000) {\n return `Vänligen välj inte fler än ${max} objekt:`\n } else {\n return 'Kryssa i alla giltiga alternativ:'\n }\n }\n },\n oe: {\n na: 'Inte tillämpbar',\n note: (min, max, optional) => {\n if (min === max) {\n return `Vänligen skriv ${1 !== min ? 'valfria' : 'exakt'} ${min} character${1 === min ? 's' : ''}${\n optional ? ' (frivilligt)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Vänligen ange minst ${min} tecken${1 !== min} men inte fler än ${max}${\n optional ? ' (frivilligt)' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Vänligen ange minst ${min} tecken${optional ? ' (frivilligt)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Vänligen ange högst ${max} tecken${optional ? ' (frivilligt)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Fyll i följande fält:'\n },\n mx: {\n note: 'Vänligen flytta de markerade reglagen för att fortsätta',\n dragSlider: 'Dra till vänster eller höger för att svara'\n },\n psc: {\n dragLeftRight: 'Dra till vänster eller höger för att svara'\n },\n ps: {\n note: value => `Vänligen fördela Ã¥terstÃ¥ende ${value} mellan objekten nedan`,\n allDone: 'Klart!',\n total: `Total:`,\n dragSlider: 'Dra till vänster eller höger för att svara'\n },\n cx: {\n note: 'Öppna menyn och börja skriva in ditt svar för att autoscrolla eller välja det manuellt'\n },\n ro: {\n note: 'Dra upp eller ner för att ändra ordningen:'\n },\n aro: {\n note: 'Vänligen välj en sak per par.'\n },\n md: {\n note1: 'Klicka/tryck pÃ¥ objektet du vill välja först<br/>Klicka/tryck igen för att ta bort valet.',\n note2: 'Klicka/tryck nu pÃ¥ objektet du vill välja sist<br/>Klicka/tryck igen för att ta bort valet.',\n note3: 'Tack! Fortsätt till nästa frÃ¥ga eller<br/>klicka/tryck pÃ¥ omarkerade objekt för att börja om.'\n },\n wd: {\n note: 'Se till att varje efterföljande värde är större än det föregÃ¥ende värdet.'\n },\n emd: {\n note: 'Titta pÃ¥ hela videon',\n noAnswers: 'Inget svar-alternativ, klicka pÃ¥ nästa för att fortsätta.',\n start: 'Klicka och hÃ¥ll ner för att starta',\n resume: 'Klicka och hÃ¥ll ner för att Ã¥teruppta',\n continue: 'Du är klar! <br /> Klicka pÃ¥ Nästa för att fortsätta',\n continueMobile: 'Du är klar! <br /> Klicka HÄR för att fortsätta',\n training: {\n session: 'Utbildningssession',\n note: 'Var god och avsluta träningen',\n moveLeft: 'Drag nummerskivan hela vägen till vänster',\n moveBottom: 'Drag nummerskivan hela vägen till botten',\n moveRight: 'Drag nu nummerskivan hela vägen till höger',\n moveTop: 'Drag nu nummerskivan hela vägen upp till toppen.',\n success: 'Bra jobbat!'\n }\n },\n sft: {\n noAnswers: 'Inget svar-alternativ, klicka pÃ¥ nästa för att fortsätta.',\n note: 'Svara sÃ¥ snabbt du kan med svaret som intuitivt känns rätt',\n finish: 'Du är helt klar! <br />Klicka pÃ¥ Nästa för att fortsätta',\n training: {\n start:\n '<p>Denna frÃ¥ga kommer snabbt att visa dig olika ord och kommer att kräva din koncentration. ' +\n 'Du kommer att behöva reagera snabbt för att svara. </p> <p>Är du redo att träna?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Tryck pÃ¥ \"{buttonLeft}\"`\n : (mouse ? `Klicka pÃ¥ \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Tryck pÃ¥ \"{keyBtnLeft}\"-tangenten` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Tryck pÃ¥ \"{buttonRight}\"`\n : (mouse ? `Klicka pÃ¥ \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Tryck pÃ¥ \"{keyBtnRight}\"-tangenten` : ''),\n fail: () => 'För lÃ¥ngsamt',\n success: () => 'Fantastiskt!',\n finish: () =>\n '<p><strong> Utmärkt!</strong></p><p>Se till att du inte <br />' +\n 'blir distraherad inom<br/> de närmaste 2-3 minuterna</p><p>Klicka pÃ¥ Nästa för att starta när du är klar. </p>'\n },\n buttons: {\n start: 'Starta',\n yesno: {\n left: 'Ja',\n right: 'Nej'\n },\n matches: {\n left: 'Matchar',\n right: 'Ingen matchning'\n },\n fits: {\n left: 'Passar',\n right: 'Passar inte'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'ไม่มีตัวเลืà¸à¸à¸„ำตà¸à¸š โปรดคลิà¸à¸–ัดไปเพื่à¸à¸”ำเนินà¸à¸²à¸£à¸•à¹ˆà¸.',\n placeholder: 'โปรดระบุ...',\n pleaseSelect: 'โปรดเลืà¸à¸...',\n rotateLandscape: 'หมุนโทรศัพท์ขà¸à¸‡à¸„ุณจาà¸à¹à¸™à¸§à¸•à¸±à¹‰à¸‡à¹€à¸›à¹‡à¸™à¹à¸™à¸§à¸™à¸à¸™à¹€à¸žà¸·à¹ˆà¸à¸”ำเนินà¸à¸²à¸£à¸•à¹ˆà¸',\n rotatePortrait: 'หมุนโทรศัพท์ขà¸à¸‡à¸„ุณจาà¸à¹à¸™à¸§à¸™à¸à¸™à¹€à¸›à¹‡à¸™à¹à¸™à¸§à¸•à¸±à¹‰à¸‡à¹€à¸žà¸·à¹ˆà¸à¸”ำเนินà¸à¸²à¸£à¸•à¹ˆà¸',\n ir: {\n selectWebCam: \"เลืà¸à¸à¹€à¸§à¹‡à¸šà¹à¸„ม (ถ้ามี) หรืà¸à¸„ลิภ'เบราว์' เพื่à¸à¸à¸±à¸›à¹‚หลดจาà¸à¸à¸¸à¸›à¸à¸£à¸“์ขà¸à¸‡à¸„ุณ\",\n noWebCam: 'ไม่พบเว็บà¹à¸„ม',\n accessCamUpload: 'เข้าถึงà¸à¸¥à¹‰à¸à¸‡/à¸à¸±à¸›à¹‚หลด',\n browse: 'เบราว์',\n uploadPhoto: 'à¸à¸±à¸›à¹‚หลดรูปภาพ',\n camera: 'à¸à¸¥à¹‰à¸à¸‡à¸šà¸™à¹€à¸§à¹‡à¸š',\n instead: 'à¹à¸—น',\n capture: 'จับภาพ',\n somethingWrong: 'ขà¸à¸à¸ ัย มีบางà¸à¸¢à¹ˆà¸²à¸‡à¸œà¸´à¸”พลาด โปรดลà¸à¸‡à¹ƒà¸«à¸¡à¹ˆà¸à¸µà¸à¸„รั้งในภายหลัง.',\n couldntRead: 'ขà¸à¸à¸ ัย เราไม่สามารถà¸à¹ˆà¸²à¸™à¹‚ค้ดได้!',\n couldntProcess: 'ขà¸à¸à¸ ัย เราไม่สามารถประมวลผลภาพขà¸à¸‡à¸„ุณได้!',\n inValidCode: 'Please, submit the valid code',\n moveOn: 'โปรดลà¸à¸‡à¸à¸µà¸à¸„รั้งหรืà¸à¸ªà¹ˆà¸‡à¸£à¸¹à¸›à¸ าพขà¸à¸‡à¸„ุณà¹à¸¥à¸°à¸”ำเนินà¸à¸²à¸£à¸•à¹ˆà¸',\n tryAgain: 'โปรดลà¸à¸‡à¸à¸µà¸à¸„รั้ง',\n dataReceived: 'ได้รับข้à¸à¸¡à¸¹à¸¥à¹à¸¥à¹‰à¸§!',\n enterManually: 'โปรดลà¸à¸‡à¸à¸µà¸à¸„รั้งหรืà¸à¸›à¹‰à¸à¸™à¸‚้à¸à¸¡à¸¹à¸¥à¸”้วยตนเà¸à¸‡à¸”้านล่าง',\n positionQR: 'โปรดจัดตำà¹à¸«à¸™à¹ˆà¸‡à¸£à¸«à¸±à¸ª QR ไว้ด้านหน้าà¸à¸¥à¹‰à¸à¸‡à¸‚à¸à¸‡à¸„ุณเพื่à¸à¹ƒà¸«à¹‰à¸žà¸à¸”ีà¸à¸±à¸šà¸à¸£à¸à¸šà¸ªà¸µà¹à¸”งหรืà¸à¸à¸±à¸›à¹‚หลดจาà¸à¸„à¸à¸¡à¸žà¸´à¸§à¹€à¸•à¸à¸£à¹Œà¸‚à¸à¸‡à¸„ุณ',\n positionQRMobile: 'โปรดจัดตำà¹à¸«à¸™à¹ˆà¸‡à¸£à¸«à¸±à¸ª QR ไว้ด้านหน้าà¸à¸¥à¹‰à¸à¸‡à¸‚à¸à¸‡à¸„ุณหรืà¸à¸à¸±à¸›à¹‚หลดจาà¸à¸à¸¸à¸›à¸à¸£à¸“์ขà¸à¸‡à¸„ุณ',\n analyzing: 'à¸à¸³à¸¥à¸±à¸‡à¸§à¸´à¹€à¸„ราะห์รูปภาพ โปรดรà¸à¸ªà¸±à¸à¸„รู่',\n submit: 'ส่ง',\n startOver: 'เริ่มต้นใหม่',\n allDone: 'เสร็จเรียบร้à¸à¸¢!',\n cantAnalyze:\n 'โปรดทราบ - เราไม่สามารถà¹à¸ªà¸”งภาพนี้ได้ โปรดลà¸à¸‡à¸ªà¹ˆà¸‡à¸à¸µà¸à¸„รั้งหรืà¸à¹€à¸¥à¸·à¸à¸à¸£à¸¹à¸›à¸ าพในรูปà¹à¸šà¸šà¸—ั่วไป (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'ขà¸à¸à¸ ัย เราไม่รà¸à¸‡à¸£à¸±à¸šà¸£à¸¹à¸›à¹à¸šà¸šà¹„ฟล์นี้ โปรดà¸à¸±à¸›à¹‚หลดรูปภาพในประเภทที่รà¸à¸‡à¸£à¸±à¸š (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'ไม่พบเว็บà¹à¸„ม',\n uploadVideo: 'à¸à¸±à¸›à¹‚หลดวิดีโà¸',\n skip: 'ข้ามหรืà¸à¹„ม่?',\n accessCamUpload: 'เข้าถึงà¸à¸¥à¹‰à¸à¸‡/à¸à¸±à¸›à¹‚หลด',\n browse: 'เบราว์',\n instead: 'à¹à¸—น',\n or: 'หรืà¸',\n stopRecording: 'หยุดบันทึà¸',\n willBeStopped: 'à¸à¸²à¸£à¸šà¸±à¸™à¸—ึà¸à¸ˆà¸°à¸«à¸¢à¸¸à¸”ที่ <b>5 นาที</b>',\n stopOnDone: 'หยุดบันทึà¸à¹€à¸¡à¸·à¹ˆà¸à¸„ุณทำเสร็จà¹à¸¥à¹‰à¸§!',\n record: 'บันทึà¸',\n somethingWrong: 'ขà¸à¸à¸ ัย มีบางà¸à¸¢à¹ˆà¸²à¸‡à¸œà¸´à¸”พลาด โปรดลà¸à¸‡à¹ƒà¸«à¸¡à¹ˆà¸à¸µà¸à¸„รั้งในภายหลัง',\n dataReceived: 'ได้รับข้à¸à¸¡à¸¹à¸¥à¹à¸¥à¹‰à¸§!',\n microphone: 'Microfonul',\n camera: 'à¸à¸¥à¹‰à¸à¸‡à¸šà¸™à¹€à¸§à¹‡à¸š',\n selectMicrophone: 'เลืà¸à¸à¹„มโครโฟนขà¸à¸‡à¸„ุณ',\n selectCam: 'เลืà¸à¸à¸à¸¥à¹‰à¸à¸‡à¸šà¸™à¹€à¸§à¹‡à¸šà¸‚à¸à¸‡à¸„ุณ',\n submit: 'ส่ง',\n upload: 'à¸à¸±à¸›à¹‚หลดใหม่',\n playback: 'เล่นย้à¸à¸™',\n stopPlayback: 'หยุดà¸à¸²à¸£à¹€à¸¥à¹ˆà¸™',\n startOver: 'เริ่มต้นใหม่',\n allDone: 'เสร็จเรียบร้à¸à¸¢!',\n alternativeRecordSpan:\n 'โปรดà¸à¸±à¸›à¹‚หลดคลิปวิดีโà¸à¸ˆà¸²à¸à¸à¸¸à¸›à¸à¸£à¸“์คà¸à¸¡à¸žà¸´à¸§à¹€à¸•à¸à¸£à¹Œà¸‚à¸à¸‡à¸„ุณ ในà¸à¸µà¸à¸—างหนึ่ง คุณสามารถบันทึà¸à¸§à¸´à¸”ีโà¸à¸”้วยเว็บà¹à¸„ม ',\n alrenativeRecordHref: 'คุณสามารถบันทึà¸à¸§à¸´à¸”ีโà¸à¸”้วยเว็บà¹à¸„ม',\n cantAnalyze:\n 'โปรดทราบ - เราไม่สามารถà¹à¸ªà¸”งวิดีโà¸à¸™à¸µà¹‰à¹„ด้ โปรดลà¸à¸‡à¸ªà¹ˆà¸‡à¸à¸µà¸à¸„รั้งหรืà¸à¹€à¸¥à¸·à¸à¸à¸§à¸´à¸”ีโà¸à¹ƒà¸™à¸£à¸¹à¸›à¹à¸šà¸šà¸—ั่วไป (MP4, M4V, WEBPM)',\n wrongFormat:\n 'ขà¸à¸à¸ ัย เราไม่รà¸à¸‡à¸£à¸±à¸šà¸£à¸¹à¸›à¹à¸šà¸šà¹„ฟล์นี้ โปรดà¸à¸±à¸›à¹‚หลดวิดีโà¸à¹ƒà¸™à¸›à¸£à¸°à¹€à¸ ทที่รà¸à¸‡à¸£à¸±à¸š (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'เลืà¸à¸',\n pleaseChoose: 'โปรดเลืà¸à¸',\n this: 'นี้',\n one: 'หนึ่ง',\n myChoice: 'ตัวเลืà¸à¸à¸‚à¸à¸‡à¸‰à¸±à¸™'\n },\n hm: {\n addComment: 'โปรดเพิ่มความคิดเห็นด้านล่าง',\n commentMandatoryPlaceHolder: 'โปรดเพิ่มความคิดเห็นที่จำเป็น ...',\n commentOptionalPlaceHolder: 'โปรดเพิ่มความคิดเห็นหาà¸à¸¡à¸µ ...',\n dragPin: 'ลาà¸à¹€à¸žà¸·à¹ˆà¸à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¸•à¸³à¹à¸«à¸™à¹ˆà¸‡ (คลิà¸/à¹à¸•à¸°à¸„้างเพื่à¸à¸à¸²à¸£à¸¢à¸¶à¸”ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่à¹à¸¡à¹ˆà¸™à¸¢à¸³)',\n removePin: 'ลาà¸à¸à¸à¸à¹„ปด้านนà¸à¸à¸ าพเพื่à¸à¸¥à¸š',\n editComment: 'คลิà¸/à¹à¸•à¸°à¸«à¸¡à¸¸à¸”เพื่à¸à¹à¸à¹‰à¹„ขความคิดเห็น',\n addPin: 'โปรดลาà¸à¸«à¸¡à¸¸à¸”จาà¸à¹à¸œà¸‡à¸”้านล่างà¹à¸¥à¸°à¸§à¸²à¸‡à¹ƒà¸™à¸ˆà¸¸à¸”ที่คุณเลืà¸à¸à¸šà¸™à¸ าพ',\n addPins: 'โปรดลาà¸à¸«à¸¡à¸¸à¸”จาà¸à¹à¸œà¸‡à¸”้านล่างà¹à¸¥à¸°à¸§à¸²à¸‡à¹ƒà¸™à¸ˆà¸¸à¸”ที่คุณเลืà¸à¸à¸šà¸™à¸ าพ',\n leavePins: (minPoints, maxPoints) =>\n `โปรดวางหมุดà¹à¸•à¹ˆà¸¥à¸°à¸›à¸£à¸°à¹€à¸ ทà¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢ ${minPoints} ชิ้นà¹à¸•à¹ˆà¹„ม่เà¸à¸´à¸™ ${maxPoints} ชิ้น`,\n leavePinsAny: (minPoints, maxPoints) =>\n `โปรดวางหมุดà¹à¸•à¹ˆà¸¥à¸°à¸›à¸£à¸°à¹€à¸ ทà¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢ ${minPoints} ชิ้นà¹à¸•à¹ˆà¹„ม่เà¸à¸´à¸™ ${maxPoints} ชิ้น`,\n leavePinsPerPage: (minPoints, maxPoints) => `โปรดวางหมุดà¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢ ${minPoints} ชิ้นà¹à¸•à¹ˆà¹„ม่เà¸à¸´à¸™ ${maxPoints} ชิ้น`,\n leavePinsWithOff: maxPoints => `โปรดà¸à¸¢à¹ˆà¸²à¹€à¸«à¸¥à¸·à¸à¸«à¸¡à¸¸à¸”à¹à¸•à¹ˆà¸¥à¸°à¸›à¸£à¸°à¹€à¸ ทเà¸à¸´à¸™ ${maxPoints} หมุด หรืà¸à¸„ลิà¸à¸–ัดไปเพื่à¸à¸‚้าม `,\n leavePinsWithOffAny: maxPoints => `โปรดà¸à¸¢à¹ˆà¸²à¹€à¸«à¸¥à¸·à¸à¸«à¸¡à¸¸à¸”à¹à¸•à¹ˆà¸¥à¸°à¸›à¸£à¸°à¹€à¸ ทเà¸à¸´à¸™ ${maxPoints} หมุด หรืà¸à¸„ลิà¸à¸–ัดไปเพื่à¸à¸‚้าม`,\n leavePinsPerPageWithOff: maxPoints => `โปรดà¸à¸¢à¹ˆà¸²à¹€à¸«à¸¥à¸·à¸à¸«à¸¡à¸¸à¸”เà¸à¸´à¸™ ${maxPoints} หมุด หรืà¸à¸„ลิà¸à¸–ัดไปเพื่à¸à¸‚้าม`,\n leavePinWithOff: `โปรดà¸à¸¢à¹ˆà¸²à¹€à¸«à¸¥à¸·à¸à¸«à¸¡à¸¸à¸”à¹à¸•à¹ˆà¸¥à¸°à¸›à¸£à¸°à¹€à¸ ทเà¸à¸´à¸™ 1 หมุด หรืà¸à¸„ลิà¸à¸–ัดไปเพื่à¸à¸‚้าม.`,\n leavePinWithOffAny: `โปรดà¸à¸¢à¹ˆà¸²à¹€à¸«à¸¥à¸·à¸à¸«à¸¡à¸¸à¸”à¹à¸•à¹ˆà¸¥à¸°à¸›à¸£à¸°à¹€à¸ ทเà¸à¸´à¸™ 1 หมุด หรืà¸à¸„ลิà¸à¸–ัดไปเพื่à¸à¸‚้าม`,\n leavePinPerPageWithOff: 'โปรดà¸à¸¢à¹ˆà¸²à¹€à¸«à¸¥à¸·à¸à¸«à¸¡à¸¸à¸”เà¸à¸´à¸™ 1 หมุด หรืà¸à¸„ลิà¸à¸–ัดไปเพื่à¸à¸‚้าม',\n leaveExactlyPin: `โปรดเหลืà¸à¸«à¸¡à¸¸à¸”à¹à¸•à¹ˆà¸¥à¸°à¸›à¸£à¸°à¹€à¸ ท 1 หมุด`,\n leaveExactlyPinAny: `โปรดเหลืà¸à¸«à¸¡à¸¸à¸”à¹à¸•à¹ˆà¸¥à¸°à¸›à¸£à¸°à¹€à¸ ท 1 หมุด`,\n leaveExactlyPinPerPage: 'โปรดเหลืà¸à¸«à¸¡à¸¸à¸” 1 หมุด',\n leaveExactlyPins: maxPoints => `โปรดเหลืà¸à¸«à¸¡à¸¸à¸”à¹à¸•à¹ˆà¸¥à¸°à¸›à¸£à¸°à¹€à¸ ท ${maxPoints} หมุด`,\n leaveExactlyPinsAny: maxPoints => `โปรดเหลืà¸à¸«à¸¡à¸¸à¸”à¹à¸•à¹ˆà¸¥à¸°à¸›à¸£à¸°à¹€à¸ ท ${maxPoints} หมุด`,\n leaveExactlyPinsPerPage: maxPoints => `โปรดเหลืà¸à¸«à¸¡à¸¸à¸” ${maxPoints} หมุด`,\n leaveComment: 'พิมพ์ด้านล่างขà¸à¸‡à¸ าพเพื่à¸à¹à¸ªà¸”งความคิดเห็น',\n noAnswers: 'ไม่มีตัวเลืà¸à¸à¸„ำตà¸à¸š โปรดคลิà¸à¸–ัดไปเพื่à¸à¸”ำเนินà¸à¸²à¸£à¸•à¹ˆà¸',\n outOfPins: 'คุณไม่มีหมุดà¹à¸¥à¹‰à¸§',\n pinsBehavior: 'เมื่à¸à¸„ุณเลื่à¸à¸™à¸œà¹ˆà¸²à¸™à¸£à¸¹à¸›à¸ าพ คุณจะเห็นพื้นที่ๆ ถูà¸à¹„ฮไลต์ด้วยà¸à¸²à¸£à¸›à¸±à¸à¸«à¸¡à¸¸à¸”เพียงครั้งเดียว',\n clusters: 'คุณจะวางหมุดได้ในพื้นที่ๆ ถูà¸à¹„ฮไลต์เหล่านี้เท่านั้น',\n contentAware: 'คุณสามารถปัà¸à¸«à¸¡à¸¸à¸”ภายนà¸à¸à¸«à¸£à¸·à¸à¸ ายในพื้นที่ๆ ถูà¸à¹„ฮไลต์นี้ได้'\n },\n mp: {\n expand_note: 'โปรดวางเมาส์เหนืà¸à¸ าพหรืà¸à¸„ลิà¸à¸—ี่ภาพเพื่à¸à¸‚ยาย',\n rb_note: rows => `โปรดเลืà¸à¸à¸„ำตà¸à¸šà¹€à¸žà¸µà¸¢à¸‡ 1 ข้à¸à¹€à¸—่านั้นต่à¸à¸£à¸²à¸¢à¸à¸²à¸£${rows ? 'ด้านล่าง' : ''}`,\n cb_note: (min, max, rows) => {\n if (1 === min && 5000 === max) {\n return 'เลืà¸à¸à¸—ุà¸à¸‚้à¸à¸—ี่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้à¸à¸‡:'\n } else if (min === max) {\n return `โปรดเลืà¸à¸à¸„ำตà¸à¸šà¹€à¸žà¸µà¸¢à¸‡ ${min} ข้à¸à¹€à¸—่านั้นต่à¸à¸£à¸²à¸¢à¸à¸²à¸£${rows ? 'ด้านล่าง' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `à¸à¸£à¸¸à¸“าเลืà¸à¸à¸„ำตà¸à¸šà¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢ ${min} à¹à¸•à¹ˆà¹„ม่เà¸à¸´à¸™ ${max} ต่à¸à¸£à¸²à¸¢à¸à¸²à¸£${rows ? 'ด้านล่าง' : ''}:`\n } else if (5000 === max && min > 0) {\n return `à¸à¸£à¸¸à¸“าเลืà¸à¸à¸„ำตà¸à¸šà¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢ ${min} ต่à¸à¸£à¸²à¸¢à¸à¸²à¸£${rows ? 'ด้านล่าง' : ''}:`\n } else if (0 === min && max < 5000) {\n return `à¸à¸£à¸¸à¸“าเลืà¸à¸à¸•à¸³à¸•à¸à¸šà¹„ม่เà¸à¸´à¸™ ${max} ต่à¸à¸£à¸²à¸¢à¸à¸²à¸£${rows ? 'ด้านล่าง' : ''}:`\n } else {\n return 'เลืà¸à¸à¸—ุà¸à¸‚้à¸à¸—ี่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้à¸à¸‡:'\n }\n }\n },\n sh: {\n note: 'คลิà¸à¸œà¸¥à¸´à¸•à¸ ัณฑ์เพื่à¸à¸‚ยายà¹à¸¥à¸°à¹€à¸žà¸´à¹ˆà¸¡à¸¥à¸‡à¹ƒà¸™à¸£à¸–เข็นà¹à¸šà¸šà¹€à¸ªà¸¡à¸·à¸à¸™à¸‚à¸à¸‡à¸„ุณหาà¸à¸„ุณจะซื้à¸à¸ªà¸´à¸™à¸„้าดังà¸à¸¥à¹ˆà¸²à¸§à¹ƒà¸™à¸£à¹‰à¸²à¸™à¸„้า',\n amazonNote: 'คลิà¸à¸—ี่ผลิตภัณฑ์เพื่à¸à¸—ำà¸à¸²à¸£à¸‚ยายà¹à¸¥à¸°à¹€à¸žà¸´à¹ˆà¸¡à¸¥à¸‡à¹ƒà¸™à¸•à¸°à¸à¸£à¹‰à¸²à¸ªà¸´à¸™à¸„้าเสมืà¸à¸™à¸‚à¸à¸‡à¸„ุณ',\n fullCart: 'รถเข็นขà¸à¸‡à¸„ุณเต็มà¹à¸¥à¹‰à¸§!',\n qty: 'จำนวน',\n addToCart: 'เพิ่มลงในรถเข็น',\n added: 'ADDED',\n deleteFromCart: 'ลบ',\n each: 'à¹à¸•à¹ˆà¸¥à¸°',\n items: 'รายà¸à¸²à¸£',\n emptyCard: 'รถเข็นขà¸à¸‡à¸„ุณว่างเปล่า',\n total: 'รถเข็น',\n fullscreen: 'Fullscreen mode',\n closeFullscreen: 'Exit fullscreen',\n clearCart: 'ล้างรถเข็นให้โล่ง',\n backToStore: 'à¸à¸¥à¸±à¸šà¹„ปยังร้านค้า',\n na: 'ไม่มีข้à¸à¹ƒà¸”ถูà¸',\n next: 'ต่à¸à¹„ป',\n shelfError: (count, products) =>\n `There is no place for ${count !== 1 ? 'these' : 'this'} product${\n count !== 1 ? 's' : ''\n } on the shelves: ${products}!`,\n maxCartCountError: max => `โปรดเพิ่มสินค้าไม่เà¸à¸´à¸™ ${max} รายà¸à¸²à¸£à¹ƒà¸™à¸£à¸–เข็นขà¸à¸‡à¸„ุณ `,\n scrollError: `โปรดเลื่à¸à¸™à¹„ปทางซ้ายสุดà¹à¸¥à¸°à¸‚วาสุดเพื่à¸à¸—ำà¹à¸šà¸šà¸ªà¸³à¸£à¸§à¸ˆà¸•à¹ˆà¸à¹„ป `,\n maxSpentError: max => `โปรดใช้จ่ายไม่เà¸à¸´à¸™ ${max} `,\n maxProductCountError: max => `โปรดเพิ่มจำนวนไม่เà¸à¸´à¸™ ${max} ลงในรถเข็นขà¸à¸‡à¸„ุณสำหรับสินค้าà¹à¸•à¹ˆà¸¥à¸°à¸£à¸²à¸¢à¸à¸²à¸£ `\n },\n rb: {\n note: 'โปรดเลืà¸à¸à¹€à¸žà¸µà¸¢à¸‡ 1 รายà¸à¸²à¸£:'\n },\n vo: {\n note: 'โปรดดูวิดีโà¸à¸ˆà¸™à¸ˆà¸š\\n'\n },\n cb: {\n note: (min, max) => {\n if (1 === min && 5000 === max) {\n return 'เลืà¸à¸à¸—ุà¸à¸‚้à¸à¸—ี่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้à¸à¸‡:'\n } else if (min === max) {\n return `โปรดเลืà¸à¸à¸£à¸²à¸¢à¸à¸²à¸£à¹ƒà¸” ๆ ${min} รายà¸à¸²à¸£:`\n } else if (min > 0 && max < 5000) {\n return `โปรดเลืà¸à¸à¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢ ${min} รายà¸à¸²à¸£à¹à¸•à¹ˆà¹„ม่เà¸à¸´à¸™ ${max} รายà¸à¸²à¸£à¸•à¹ˆà¸à¹à¸–ว:`\n } else if (5000 === max && min > 0) {\n return `โปรดเลืà¸à¸à¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢ ${min} รายà¸à¸²à¸£:`\n } else if (0 === min && max < 5000) {\n return `โปรดเลืà¸à¸à¹„ม่เà¸à¸´à¸™ ${max} รายà¸à¸²à¸£:`\n } else {\n return 'เลืà¸à¸à¸—ุà¸à¸‚้à¸à¸—ี่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้à¸à¸‡:'\n }\n }\n },\n oe: {\n na: 'ไม่สามารถใช้ได้',\n note: (min, max, optional) => {\n if (min === max) {\n return `โปรดพิมพ์${1 !== min ? 'ตัวà¸à¸±à¸à¸©à¸£à¹ƒà¸” ๆ' : 'เพียง'} ${min} ตัวà¸à¸±à¸à¸©à¸£${optional ? ' (หาà¸à¸¡à¸µ)' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `โปรดพิมพ์à¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢ ${min} ตัวà¸à¸±à¸à¸©à¸£ à¹à¸•à¹ˆà¹„ม่เà¸à¸´à¸™ ${max}${optional ? ' (หาà¸à¸¡à¸µ)' : ''}:`\n } else if (5000 === max && min > 0) {\n return `โปรดพิมพ์à¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢ ${min} ตัวà¸à¸±à¸à¸©à¸£${optional ? ' (หาà¸à¸¡à¸µ)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `โปรดพิมพ์ไม่เà¸à¸´à¸™ ${max} ตัวà¸à¸±à¸à¸©à¸£${optional ? ' (หาà¸à¸¡à¸µ)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'โปรดà¸à¸£à¸à¸à¸‚้à¸à¸¡à¸¹à¸¥à¹ƒà¸™à¸Šà¹ˆà¸à¸‡à¸•à¹ˆà¸à¹„ปนี้:'\n },\n mx: {\n note: 'โปรดเลื่à¸à¸™à¹à¸–บเลื่à¸à¸™à¸—ี่ไฮไลต์เพื่à¸à¸”ำเนินà¸à¸²à¸£à¸•à¹ˆà¸',\n dragSlider: 'ลาà¸à¹„ปทางซ้ายหรืà¸à¸‚วาเพื่à¸à¸•à¸à¸š'\n },\n psc: {\n dragLeftRight: 'ลาà¸à¹„ปทางซ้ายหรืà¸à¸‚วาเพื่à¸à¸•à¸à¸š'\n },\n ps: {\n note: value => `โปรดà¹à¸šà¹ˆà¸‡ ${value} ให้à¸à¸±à¸šà¸£à¸²à¸¢à¸à¸²à¸£à¸”้านล่าง`,\n allDone: `เสร็จเรียบร้à¸à¸¢!`,\n total: `Total:`,\n dragSlider: 'ลาà¸à¹„ปทางซ้ายหรืà¸à¸‚วาเพื่à¸à¸•à¸à¸š'\n },\n cx: {\n note: 'เริ่มพิมพ์คำตà¸à¸šà¸‚à¸à¸‡à¸„ุณเพื่à¸à¹€à¸¥à¸·à¹ˆà¸à¸™à¹‚ดยà¸à¸±à¸•à¹‚นมัติหรืà¸à¹€à¸¥à¸·à¸à¸à¸”้วยตนเà¸à¸‡'\n },\n ro: {\n note: 'ลาà¸à¸‚ึ้นหรืà¸à¸¥à¸‡à¹€à¸žà¸·à¹ˆà¸à¸ˆà¸±à¸”ลำดับใหม่:'\n },\n md: {\n note1: 'โปรดคลิà¸/à¹à¸•à¸°à¸£à¸²à¸¢à¸à¸²à¸£à¸—ี่คุณเลืà¸à¸à¹€à¸›à¹‡à¸™à¸à¸±à¸™à¸”ับà¹à¸£à¸<br/>คลิà¸/à¹à¸•à¸°à¸à¸µà¸à¸„รั้งเพื่à¸à¸¥à¹‰à¸²à¸‡à¸•à¸±à¸§à¹€à¸¥à¸·à¸à¸',\n note2: 'ตà¸à¸™à¸™à¸µà¹‰ โปรดคลิà¸/à¹à¸•à¸°à¸£à¸²à¸¢à¸à¸²à¸£à¸—ี่คุณเลืà¸à¸à¹€à¸›à¹‡à¸™à¸à¸±à¸™à¸”ับสุดท้าย<br/>คลิà¸/à¹à¸•à¸°à¸à¸µà¸à¸„รั้งเพื่à¸à¸¥à¹‰à¸²à¸‡à¸•à¸±à¸§à¹€à¸¥à¸·à¸à¸',\n note3: 'ขà¸à¸šà¸„ุณ! ไปที่คำถามถัดไปหรืà¸à¸„ลิà¸/à¹à¸•à¸°à¸£à¸²à¸¢à¸à¸²à¸£à¸—ี่ไม่ได้เลืà¸à¸à¹€à¸žà¸·à¹ˆà¸à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™à¹ƒà¸«à¸¡à¹ˆ'\n },\n aro: {\n note: 'โปรดเลืà¸à¸à¸«à¸™à¸¶à¹ˆà¸‡à¸£à¸²à¸¢à¸à¸²à¸£à¸ˆà¸²à¸à¹à¸•à¹ˆà¸¥à¸°à¸„ู่:'\n },\n wd: {\n note: 'ตรวจสà¸à¸šà¹ƒà¸«à¹‰à¹à¸™à¹ˆà¹ƒà¸ˆà¸§à¹ˆà¸²à¸„่าด้านหลังà¹à¸•à¹ˆà¸¥à¸°à¸„่านั้นมาà¸à¸à¸§à¹ˆà¸²à¸„่าà¸à¹ˆà¸à¸™à¸«à¸™à¹‰à¸².'\n },\n emd: {\n note: 'โปรดดูวิดีโà¸à¸ˆà¸™à¸ˆà¸š\\n',\n noAnswers: 'ไม่มีตัวเลืà¸à¸à¸„ำตà¸à¸š โปรดคลิà¸à¸–ัดไปเพื่à¸à¸”ำเนินà¸à¸²à¸£à¸•à¹ˆà¸',\n start: 'คลิà¸à¸„้างเพื่à¸à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™',\n resume: 'คลิà¸à¸„้างเพื่à¸à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹ˆà¸',\n continue: 'คุณพร้à¸à¸¡à¹à¸¥à¹‰à¸§! <br /> คลิà¸à¸–ัดไปเพื่à¸à¸”ำเนินà¸à¸²à¸£à¸•à¹ˆà¸',\n continueMobile: 'คุณพร้à¸à¸¡à¹à¸¥à¹‰à¸§! <br /> คลิà¸à¸—ี่นี่เพื่à¸à¸”ำเนินà¸à¸²à¸£à¸•à¹ˆà¸',\n training: {\n session: 'Utbildningssession',\n note: 'โปรดทำà¸à¸²à¸£à¸à¸¶à¸à¸à¸šà¸£à¸¡à¹ƒà¸«à¹‰à¹€à¸ªà¸£à¹‡à¸ˆà¸ªà¸´à¹‰à¸™',\n moveLeft: 'โปรดลาà¸à¸«à¸™à¹‰à¸²à¸›à¸±à¸”ไปทางซ้ายสุด',\n moveBottom: 'โปรดลาà¸à¸«à¸™à¹‰à¸²à¸›à¸±à¸”ไปทางล่างสุด',\n moveRight: 'ตà¸à¸™à¸™à¸µà¹‰ โปรดลาà¸à¸«à¸™à¹‰à¸²à¸›à¸±à¸”ไปทางขวาสุด',\n moveTop: 'ตà¸à¸™à¸™à¸µà¹‰ โปรดลาà¸à¸«à¸™à¹‰à¸²à¸›à¸±à¸”ไปทางบนสุด',\n success: 'เยี่ยมมาà¸!'\n }\n },\n sft: {\n noAnswers: 'ไม่มีตัวเลืà¸à¸à¸„ำตà¸à¸š โปรดคลิà¸à¸–ัดไปเพื่à¸à¸”ำเนินà¸à¸²à¸£à¸•à¹ˆà¸',\n note: 'โปรดตà¸à¸šà¹‚ดยเร็วที่สุดด้วยคำตà¸à¸šà¸—ี่รู้สึà¸à¸§à¹ˆà¸²à¸–ูà¸à¸•à¹‰à¸à¸‡à¸•à¸²à¸¡à¸ªà¸±à¸à¸Šà¸²à¸•à¸à¸²à¸“',\n finish: 'เสร็จà¹à¸¥à¹‰à¸§! <br/> à¸à¸£à¸¸à¸“าคลิà¸à¸–ัดไปเพื่à¸à¸”ำเนินà¸à¸²à¸£à¸•à¹ˆà¸',\n training: {\n start:\n '<p>คำถามนี้จะà¹à¸ªà¸”งคำต่าง ๆ ให้คุณเห็นà¸à¸¢à¹ˆà¸²à¸‡à¸£à¸§à¸”เร็วà¹à¸¥à¸°à¸„ุณต้à¸à¸‡à¹ƒà¸Šà¹‰à¸ªà¸¡à¸²à¸˜à¸´ ' +\n 'คุณจะต้à¸à¸‡à¸•à¸à¸šà¸ªà¸™à¸à¸‡à¸à¸¢à¹ˆà¸²à¸‡à¸£à¸§à¸”เร็วเพื่à¸à¸•à¸à¸šà¸„ำถาม </p> <p>พร้à¸à¸¡à¸à¸¶à¸à¹„หม?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `à¹à¸•à¸° \"{buttonLeft}\"`\n : (mouse ? `คลิภ\"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `à¸à¸”ปุ่ม \"{keyBtnLeft}\"` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `à¹à¸•à¸° \"{buttonRight}\"`\n : (mouse ? `คลิภ\"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `à¸à¸”ปุ่ม \"{keyBtnRight}\"` : ''),\n fail: () => 'ช้าเà¸à¸´à¸™à¹„ป',\n success: () => 'ยà¸à¸”เยี่ยม!',\n finish: () =>\n '<p><strong> ยà¸à¸”เยี่ยม!</strong></p><p>Pโปรดยืนยันว่าคุณจะไม่เสียสมาธิในà¸à¸µà¸ 2-3 นาทีข้างหน้า </p><p>คลิà¸à¸–ัดไปเพื่à¸à¹€à¸£à¸´à¹ˆà¸¡à¹€à¸¡à¸·à¹ˆà¸à¸žà¸£à¹‰à¸à¸¡</p>'\n },\n buttons: {\n start: 'เริ่มต้น',\n yesno: {\n left: 'ใช่',\n right: 'ไม่'\n },\n matches: {\n left: 'จับคู่',\n right: 'จับคู่ไม่ได้'\n },\n fits: {\n left: 'เข้าà¸à¸±à¸™à¹„ด้',\n right: 'เข้าà¸à¸±à¸™à¹„ม่ได้'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Cevap seçeneÄŸi yok, devam etmek için lütfen sonraki düğmesine tıkla.',\n placeholder: 'Lütfen belirtin...',\n pleaseSelect: 'Lütfen seçin...',\n rotateLandscape: 'Lütfen telefonunuzu portreden manzaraya döndürün.',\n rotatePortrait: 'Lütfen telefonunuzu manzaradan portreye döndürün.',\n ir: {\n selectWebCam: \"Web kamerasını seç (varsa) veya cihazından yüklemek için 'Gözat' düğmesine tıkla\",\n noWebCam: 'Web kamerası algılanmadı',\n accessCamUpload: 'KAMERAYA ERİŞİM SAÄžLA/YÃœKLE',\n browse: 'GÖZAT',\n uploadPhoto: 'FotoÄŸraf yükle',\n instead: 'onun yerine',\n capture: 'YAKALA',\n somethingWrong: 'Ãœzgünüz, bir ÅŸeyler ters gitti. Lütfen daha sonra tekrar dene',\n couldntRead: 'Ãœzgünüz, kodu okuyamadık!',\n couldntProcess: 'Ãœzgünüz, resmini iÅŸleyemedik!',\n moveOn: 'Lütfen tekrar dene veya fotoÄŸrafını göndererek devam et',\n tryAgain: 'Lütfen tekrar dene',\n dataReceived: 'Veri alındı!',\n enterManually: 'Lütfen tekrar dene veya veriyi aÅŸağıda elle gir',\n positionQR:\n 'Lütfen QR kodunu kırmızı çerçeveye sığacak ÅŸekilde kameranın önünde konumlandır veya bilgisayarından yükle.',\n analyzing: 'Resim analiz ediliyor, lütfen bekle',\n submit: 'GÖNDER',\n startOver: 'Yeniden baÅŸlayın',\n allDone: 'Hepsi tamamlandı!',\n cantAnalyze:\n 'Uyarı - bu görüntüyü iÅŸleyemedik. Lütfen tekrar göndermeyi dene veya daha jenerik bir görüntü biçimi (JPG, PNG, GIF, BMP) seç',\n wrongFormat:\n 'Ãœzgünüz - bu dosya biçimini desteklemiyoruz. Lütfen desteklenen bir görüntü türü (JPG, PNG, GIF, BMP, TIF, PDF, SVG) yükle'\n },\n vr: {\n noWebCam: 'Web kamerası algılanmadı',\n uploadVideo: 'Video yükle',\n skip: 'Atla?',\n accessCamUpload: 'KAMERAYA ERİŞİM SAÄžLA/YÃœKLE',\n browse: 'GÖZAT',\n instead: 'onun yerine',\n or: 'veya',\n stopRecording: 'Kaydı durdurun',\n willBeStopped: 'Kayıt 5 dakikada duracak',\n stopOnDone: 'Tamamladığınızda kaydı durdurun!',\n record: 'KAYDET',\n somethingWrong: 'Ãœzgünüz, bir ÅŸeyler ters gitti. Lütfen daha sonra tekrar dene',\n microphone: 'Mikrofon',\n camera: 'Web Kamera',\n selectMicrophone: 'Mikrofonunu seç',\n selectCam: 'Web kameranı seç',\n upload: 'YÃœKLE',\n playback: 'Kayıttan çalın',\n stopPlayback: 'DURDUR OYNATMA',\n submit: 'GÖNDER',\n startOver: 'Yeniden baÅŸlayın',\n allDone: 'Hepsi tamamlandı!',\n alternativeRecordSpan: 'Lütfen, bilgisayarınızdan-cihazınızdan bir video-klip yükleyin.<br/>Alternatif ',\n alrenativeRecordHref: 'olarak videoyu bir video kamerasıyla kaydedebilirsiniz.',\n cantAnalyze:\n 'Uyarı - bu videoyu iÅŸleyemedik. Lütfen tekrar göndermeyi dene veya daha jenerik bir video biçimi (MP4, M4V, WEBPM) seç',\n wrongFormat:\n 'Ãœzgünüz - bu dosya biçimini desteklemiyoruz. Lütfen desteklenen bir video türü (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV) yükle'\n },\n cjc: {\n choose: 'SEÇ',\n pleaseChoose: 'Lütfen seç',\n this: 'BU',\n one: 'bir',\n myChoice: 'Benim TERCİHİM'\n },\n hm: {\n addComment: 'Lütfen aÅŸağıya bir yorum ekleyin ',\n commentMandatoryPlaceHolder: 'Lütfen zorunlu yorum ekleyin… ',\n commentOptionalPlaceHolder: 'Lütfen isteÄŸe baÄŸlı yorum ekleyin… ',\n dragPin: 'Yeniden konumlandırmak için sürükleyin (tam pinleme için uzun tıklayın/dokunun ',\n removePin: 'Silmek için resmin dış kısmına sürükleyin. ',\n editComment: 'Yorumu düzenlemek için pine tıklayın/dokunun. ',\n addPin: 'Lütfen aÅŸağıdaki panelden pini sürükleyin ve resmin üzerinde seçtiÄŸiniz bir noktaya bırakın. ',\n addPins: 'Lütfen aÅŸağıdaki panelden pinleri sürükleyin ve resmin üzerinde seçtiÄŸiniz bir noktaya bırakın. ',\n leavePins: (minPoints, maxPoints) =>\n `Lütfen her türden en az ${minPoints} ve en fazla ${maxPoints} pin bırakın. `,\n leavePinsPerPage: (minPoints, maxPoints) => `Lütfen en az ${minPoints} en fazla ${maxPoints} pin bırakın. `,\n leavePinsWithOff: maxPoints =>\n `Lütfen her türden en fazla ${maxPoints} pin bırakın veya atlamak için Sonraki düğmesine tıklayın. `,\n leavePinsPerPageWithOff: maxPoints =>\n `Lütfen en fazla ${maxPoints} pin bırakın veya atlamak için Sonraki düğmesine tıklayın. `,\n leavePinWithOff: 'Lütfen her türden en fazla 1 pin bırakın veya atlamak için Sonraki düğmesine tıklayın. ',\n leavePinPerPageWithOff: 'Lütfen en fazla 1 pin bırakın veya atlamak için Sonraki düğmesine tıklayın. ',\n leaveExactlyPin: 'Lütfen her türden 1 pin bırakın. ',\n leaveExactlyPinPerPage: 'Lütfen 1 pin bırakın. ',\n leaveExactlyPins: maxPoints => `Lütfen her türden ${maxPoints} pin bırakın. `,\n leaveExactlyPinsPerPage: maxPoints => `Lütfen ${maxPoints} pin bırakın. `,\n leaveComment: 'Yorum bırakmak için resmin altına yazın. ',\n noAnswers: 'Cevap seçeneÄŸi yok, devam etmek için lütfen sonraki düğmesine tıklayın. ',\n outOfPins: 'Pininiz kalmadı',\n pinsBehavior: 'Resimde gezinirken tek bir iÅŸaretçi ile öne çıkarılan alanları göreceksiniz.',\n clusters: 'Ä°ÅŸaretçiyi sadece bu alanlara ekleyebileceksiniz.',\n contentAware: 'Ä°ÅŸaretçiyi öne çıkarılan alanların içine veya dışına ekleyebilirsiniz.'\n },\n mp: {\n expand_note: 'GeniÅŸletmek için lütfen resimin/resimlerin üzerine gelin ya da üzerine tıklayın',\n rb_note: rows => `Lütfen aÅŸağıdaki her madde için sadece 1 yanıt${rows ? ' seçin' : ''}:`,\n cb_note: (min, max, rows) => {\n if (1 === min && 5000 === max) {\n return 'Kryssa i alla giltiga alternativ:'\n } else if (min === max) {\n return `Lütfen aÅŸağıdaki her madde için ${min !== 1 ? 'herhangi' : 'sadece'} ${min} yanıt${\n min !== 1 ? 'lar' : ''\n }${rows ? ' seçin' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Lütfen aÅŸağıda her madde için en az ${min} yanıt${min !== 1 ? 'lar' : ''} en fazla ${max} yanıt${\n rows ? ' seçin' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Lütfen aÅŸağıda her madde için en az ${min} yanıt${min !== 1 ? 'lar' : ''}${rows ? ' seçin' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Lütfen aÅŸağıda her madde için en fazla ${max} yanıt${max !== 1 ? 'lar' : ''}${rows ? ' seçin' : ''}:`\n } else {\n return 'Kryssa i alla giltiga alternativ:'\n }\n }\n },\n sh: {\n note: 'YakınlaÅŸtırmak istediÄŸin ürünün üzerine tıkla ve maÄŸazada satın alacaksan sanal sepetine ekle',\n amazonNote: 'YakınlaÅŸtırmak ve sanal sepetinize eklemek için bir ürüne tıklayın.',\n fullCart: 'Sepetin dolu!',\n qty: 'MÄ°KTAR',\n addToCart: 'SEPETE EKLE',\n deleteFromCart: 'SÄ°L',\n emptyCard: 'Sepetin boÅŸ',\n each: 'her biri',\n items: 'öğeler',\n total: 'Sepet',\n clearCart: 'Sepeti temizle',\n backToStore: 'MaÄŸazaya geri dön',\n next: 'SONRAKÄ°',\n na: 'Yukarıdakilerden hiçbiri',\n maxCartCountError: max => `Lütfen ürün sepetinize en fazla ${max} ürün ekleyin`,\n scrollError: `Ankette ilerlemek için lütfen tamamen sola ve saÄŸa kaydırın. `,\n maxSpentError: max => `Lütfen ${max} tutarından fazla harcamayın.`,\n maxProductCountError: max => `Lütfen her ürün için sepetinize en fazla ${max} adet ekleyin.`\n },\n rb: {\n note: 'Lütfen sadece 1 tanesini seçin:'\n },\n vo: {\n note: 'Lütfen videoyu sonuna kadar izleyin'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `Lütfen ${min !== 1 ? 'herhangi' : 'sadece'} ${min} tanesini seçin:`\n } else if (min > 0 && max < 5000) {\n return `Lütfen en az ${min} en fazla ${max} tanesini seçin:`\n } else if (5000 === max && min > 0) {\n return `Lütfen en az ${min} tanesini seçin:`\n } else if (0 === min && max < 5000) {\n return `Lütfen en fazla ${max} tanesini seçin:`\n } else {\n return 'Uygun olanların hepsini iÅŸaretleyin:'\n }\n }\n },\n oe: {\n na: 'Uygulanamaz',\n note: (min, max, optional) => {\n if (min === max) {\n return `Lütfen ${1 !== min ? 'herhangi' : 'tam olarak'} ${min} karakter girin${\n optional ? ' (isteÄŸe baÄŸlı)' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Lütfen en az ${min}, en fazla ${max} karakter girin${optional ? ' (isteÄŸe baÄŸlı)' : ''}:`\n } else if (5000 === max && min > 0) {\n return `Lütfen en az ${min} karakter girin${optional ? ' (isteÄŸe baÄŸlı)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Lütfen en fazla ${max} karakter girin${optional ? ' (isteÄŸe baÄŸlı)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Lütfen aÅŸağıdaki alanları doldur:'\n },\n mx: {\n note: 'Devam etmek için lütfen vurgulanmış kaydırıcıları hareket ettir',\n dragSlider: 'Cevaplamak için sola veya saÄŸa sürükleyin'\n },\n psc: {\n dragLeftRight: 'Cevaplamak için sola veya saÄŸa sürükleyin'\n },\n ps: {\n note: value => `Lütfen kalan ${value} deÄŸerlerini aÅŸağıdakiler arasında dağıtın`,\n allDone: 'Hepsi tamamlandı!',\n total: `Toplam:`,\n dragSlider: 'Cevaplamak için sola veya saÄŸa sürükleyin'\n },\n cx: {\n note: 'Otomatik olarak kaydırmak için cevabınızı yazmaya baÅŸlayın veya el ile seçin'\n },\n ro: {\n note: 'Yeniden sıralamak için yukarı veya aÅŸağı kaydırın:'\n },\n md: {\n note1:\n 'Lütfen ilk tercihiniz olan ögeye tıklayın/dokunun<br/>Seçiminizi temizlemek için tekrar tıklayın/dokunun.',\n note2: 'Åžimdi son tercihiniz olan ögeye tıklayın/dokunun<br/>Seçiminizi temizlemek için tekrar tıklayın/dokunun.',\n note3:\n 'TeÅŸekkürler! Sonraki soruya devam edin veya baÅŸtan<br/>baÅŸlamak için seçilmemiÅŸ herhangi bir ögeye tıklayın/dokunun.'\n },\n aro: {\n note: 'Lütfen her çift için bir tanesini seçin.'\n },\n wd: {\n note: 'Lütfen her bir deÄŸerin bir öncekinden daha büyük olduÄŸuna emin olun.'\n },\n emd: {\n note: 'Lütfen videoyu sonuna kadar izleyin',\n noAnswers: 'Cevap seçeneÄŸi yok, devam etmek için lütfen sonraki düğmesine tıkla',\n start: 'BaÅŸlamak için tıkla ve basılı tut',\n resume: 'Devam etmek için tıkla ve basılı tut',\n continue: 'Hazırsın! <br />Devam etmek için sonraki düğmesine tıkla',\n continueMobile: 'Hazırsın! <br /> Devam etmek için BURAYA tıkla',\n training: {\n session: 'EÄŸitim Oturumu',\n note: 'Lütfen eÄŸitimi bitir',\n moveLeft: 'Lütfen kadranı tamamen sola sürükle',\n moveBottom: 'Lütfen kadranı tamamen aÅŸağı sürükle',\n moveRight: 'Lütfen kadranı tamamen saÄŸa sürükle',\n moveTop: 'Lütfen kadranı tamamen yukarı sürükle',\n success: 'Harika iÅŸ çıkardın!'\n }\n },\n sft: {\n noAnswers: 'Cevap seçeneÄŸi yok, devam etmek için lütfen sonraki düğmesine tıkla',\n note: 'Lütfen sezgisel olarak doÄŸru hissettiren cevapla elinden geldiÄŸince hızlı yanıtla',\n finish: 'Ä°ÅŸin bitti! <br /> Devam etmek için lütfen Sonraki düğmesine tıkla',\n training: {\n start:\n '<p>Bu soruda sana hızlıca farklı sözcükler gösterilecek ve konsantrasyonuna gerek duyulacaktır. ' +\n 'Cevaplamak için hızlı davranman gerekecek. </p> <p>Pratik yapmaya hazır mısın?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `\"{buttonLeft}\" düğmesine dokun`\n : (mouse ? `\"{buttonLeft}\" düğmesine tıkla` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `F tuÅŸuna bas` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `\"{buttonRight}\" düğmesine dokun`\n : (mouse ? `\"{buttonRight}\" düğmesine tıkla` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `J tuÅŸuna bas` : ''),\n fail: () => 'Çok yavaÅŸ',\n success: () => 'Harika!',\n finish: () =>\n '<p><strong> MuhteÅŸem!</strong></p><p>Lütfen önümüzdeki 2-3 dakika <br />' +\n 'içinde dikkatinin <br/> dağılmayacağından emin ol. </p><p>Hazır olduÄŸunda baÅŸlamak için Sonraki düğmesine tıkla.</p>'\n },\n buttons: {\n start: 'BaÅŸla',\n yesno: {\n left: 'Evet',\n right: 'Hayır'\n },\n matches: {\n left: 'EÅŸleÅŸme',\n right: 'EÅŸleÅŸme DeÄŸil'\n },\n fits: {\n left: 'Uygun',\n right: 'Uygun DeÄŸil'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: \"Ðемає варіанту відповіді, будь лаÑка, натиÑніть на 'ÐаÑтупне', щоб продовжити\",\n placeholder: 'Введіть Вашу відповідь...',\n pleaseSelect: 'Оберіть варіант...',\n rotateLandscape: 'Поверніть телефон з портретної орієнтації на альбомну.',\n rotatePortrait: 'Поверніть телефон з альбомної орієнтації на портретну.',\n ir: {\n selectWebCam: \"Оберіть вебкамеру (Ñкщо така доÑтупна) або натиÑніть 'Пошук', щоб завантажити з приÑтрою\",\n noWebCam: 'Ðе знайдено вебкамери',\n accessCamUpload: 'ДОСТУП ДО КÐМЕРИ/ЗÐÐ’ÐÐТÐЖЕÐÐЯ',\n browse: 'ПОШУК',\n uploadPhoto: 'Завантажити фото',\n instead: 'натоміÑÑ‚ÑŒ',\n startOver: 'ПОЧÐТИ ÐÐÐОВО',\n capture: 'ФОТО',\n allDone: 'ГОТОВО!',\n somethingWrong: 'Вибачте, ÑталаÑÑŒ помилка. Будь лаÑка, Ñпробуйте знову пізніше',\n couldntRead: 'Вибачте, ми не змогли прочитати код!',\n couldntProcess: 'Вибачте, ми не змогли опрацювати зображеннÑ!',\n moveOn: 'Будь лаÑка, Ñпробуйте знову або завантажте Ñвоє фото та продовжіть процеÑ',\n tryAgain: 'Будь лаÑка, Ñпробуйте знову',\n dataReceived: 'Дані отримано!',\n enterManually: 'Будь лаÑка, Ñпробуйте знову або введіть дані вручну нижче',\n positionQR:\n \"Будь лаÑка, наведіть Ñвою камеру на QR код, щоб він поміÑтивÑÑ Ñƒ червону рамку, або завантажте фото QR коду з комп'ютера.\",\n submit: 'ВІДПРÐВИТИ',\n analyzing: 'Ðналіз зображеннÑ, будь лаÑка, зачекайте',\n cantAnalyze:\n 'Увага - не вдалоÑÑ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ це зображеннÑ. Будь лаÑка, Ñпробуйте перезавантажити або оберіть універÑальний формат зображень (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Вибачте, цей формат файлів не підтримуєтьÑÑ. Будь лаÑка, завантажте Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñƒ форматі, що підтримуєтьÑÑ (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Ðе знайдено вебкамери',\n uploadVideo: 'Завантажити відео',\n skip: 'ПропуÑтити?',\n accessCamUpload: 'ДОСТУП ДО КÐМЕРИ/ЗÐÐ’ÐÐТÐЖЕÐÐЯ',\n browse: 'ПОШУК',\n instead: 'натоміÑÑ‚ÑŒ',\n or: 'або',\n stopRecording: 'Зупинити запиÑ',\n willBeStopped: 'Ð—Ð°Ð¿Ð¸Ñ Ð·ÑƒÐ¿Ð¸Ð½Ð¸Ñ‚ÑŒÑÑ Ð½Ð° 5-й хвилині',\n stopOnDone: 'Зупиніть запиÑ, коли закінчите!',\n record: 'ЗÐПИС',\n somethingWrong: 'Вибачте, ÑталаÑÑŒ помилка. Будь лаÑка, Ñпробуйте знову пізніше',\n microphone: 'Мікрофон',\n camera: 'Веб-камера',\n selectMicrophone: 'Оберіть мікрофон',\n selectCam: 'Оберіть веб-камеру',\n submit: 'ВІДПРÐВИТИ',\n upload: 'Завантажити',\n playback: 'ВідтвореннÑ',\n stopPlayback: 'ЗÐСТÐÐОВИТИ',\n startOver: 'ПОЧÐТИ ÐÐÐОВО',\n allDone: 'ГОТОВО!',\n alternativeRecordSpan:\n \"Будь лаÑка, завантажте відеоролик з вашого комп'ютеру або іншого приÑтрою.<br/>Також ви можете \",\n alrenativeRecordHref: 'запиÑати відео на веб-камеру.',\n cantAnalyze:\n 'Увага - нам не вдалоÑÑ Ð²Ñ–Ð´Ñ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ це відео. Будь лаÑка, Ñпробуйте перезавантажити або оберіть універÑальний формат відео (MP4, M4V, WEBPM)',\n wrongFormat:\n 'Вибачте, цей формат файлів не підтримуєтьÑÑ. Будь лаÑка, завантажте відео у форматі, що підтримуєтьÑÑ (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'ВИБРÐТИ',\n pleaseChoose: 'Будь лаÑка, оберіть',\n this: 'ЦЕЙ',\n one: 'щоÑÑŒ одне',\n myChoice: 'Мій ВИБІР'\n },\n hm: {\n addComment: 'Будь лаÑка, додайте коментар нижче',\n commentMandatoryPlaceHolder: \"Будь лаÑка, додайте обов'Ñзковий коментар…\",\n commentOptionalPlaceHolder: \"Будь лаÑка, додайте необов'Ñзковий коментар… \",\n dragPin: 'ПеретÑгніть, щоб змінити Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ (натиÑніть/торкнітьÑÑ Ñ‚Ð° потримайте, щоб закріпити точно). ',\n removePin: 'ПеретÑгніть за межі зображеннÑ, щоб видалити. ',\n editComment: 'ÐатиÑніть/торкнітьÑÑ Ð¿iн, щоб відредагувати коментар. ',\n addPin: 'Будь лаÑка, перетÑгніть пiн з панелі нижче та відпуÑÑ‚Ñ–Ñ‚ÑŒ Ñ—Ñ— на обраному міÑці на зображенні. ',\n addPins: 'Будь лаÑка, перетÑгніть пiни з панелі нижче та відпуÑÑ‚Ñ–Ñ‚ÑŒ Ñ—Ñ… на обраному міÑці на зображенні. ',\n leavePins: (minPoints, maxPoints) =>\n `Будь лаÑка, залиште принаймнi ${minPoints}, але не більше ${maxPoints} пiнiв кожного виду.`,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `Будь лаÑка, залиште принаймнi ${minPoints}, але не більше ${maxPoints} пiнiв.`,\n leavePinsWithOff: maxPoints =>\n `Будь лаÑка, залиште не більше ${maxPoints} пiнiв кожного виду або натиÑніть Далі, щоб пропуÑтити.`,\n leavePinsPerPageWithOff: maxPoints =>\n `Будь лаÑка, залиште не більше ${maxPoints} пiнiв або натиÑніть Далі, щоб пропуÑтити.`,\n leavePinWithOff: 'Будь лаÑка, залиште не більше 1 пiнa кожного виду або натиÑніть Далі, щоб пропуÑтити.',\n leavePinPerPageWithOff: 'Будь лаÑка, залиште не більше 1 пiнa або натиÑніть Далі, щоб пропуÑтити.',\n leaveExactlyPin: 'Будь лаÑка, залиште по одному пiну кожного виду. ',\n leaveExactlyPinPerPage: 'Будь лаÑка, залиште один пiн. ',\n leaveExactlyPins: maxPoints =>\n `Будь лаÑка, залиште ${maxPoints} пiн${maxPoints >= 2 ? (maxPoints < 5 ? 'а' : 'iв') : ''} кожного виду. `,\n leaveExactlyPinsPerPage: maxPoints =>\n `Будь лаÑка, залиште ${maxPoints} пiн${maxPoints >= 2 ? (maxPoints < 5 ? 'а' : 'iв') : ''}. `,\n leaveComment: 'Введіть текÑÑ‚ під зображеннÑм, щоб залишити коментар. ',\n noAnswers: 'Ðемає варіанту відповіді. Будь лаÑка, натиÑніть далі, щоб продовжити. ',\n outOfPins: 'У Ð²Ð°Ñ Ð·Ð°ÐºÑ–Ð½Ñ‡Ð¸Ð»Ð¸ÑÑ Ð¿iни',\n pinsBehavior: 'Під Ñ‡Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾ зображенню ви побачите облаÑÑ‚Ñ–, Ñкі буде виділено коли в них Ñтоїть пін.',\n clusters: 'Ви зможете розміщувати шпильки лише в цих виділених облаÑÑ‚ÑÑ….',\n contentAware: 'Ви можете розміщувати шпильки вÑередині або поза межами виділених облаÑтей.'\n },\n mp: {\n expand_note: 'Будь лаÑка, наведіть курÑор миші або натиÑніть на зображеннÑ, щоб розгорнути',\n rb_note: rows => `Оберіть лише 1 відповідь на кожне з наведених ${rows ? ' нижче' : ''} запитань:`,\n cb_note: (min, max, rows) => {\n if (1 === min && 5000 === max) {\n return 'Виберіть вÑÑ– відповідні варіанти:'\n } else if (min === max) {\n return `Оберіть будь-Ñку ${min} відповід${min < 5 ? 'Ñ–' : 'ей'} на кожне з наведених ${\n rows ? ' нижче' : ''\n } запитань:`\n } else if (min > 0 && max < 5000) {\n return `Будь лаÑка, виберіть принаймні ${min} відповід${\n 1 == min ? 'ÑŒ' : min < 5 ? 'Ñ–' : 'ей'\n }, але не більше ${max} Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ пункту ${rows ? ' нижче' : ''}:`\n } else if (5000 === max && min > 0) {\n return `Будь лаÑка, виберіть принаймні ${min} відповід${\n max >= 2 ? (min < 5 ? 'Ñ–' : 'ей') : 'ÑŒ'\n } Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ пункту ${rows ? ' нижче' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Будь лаÑка, виберіть не більше ${max} відповід${1 == min ? 'Ñ–' : 'ей'} Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ пункту${\n rows ? ' нижче' : ''\n }:`\n } else {\n return 'Виберіть вÑÑ– відповідні варіанти:'\n }\n }\n },\n sh: {\n note: 'Клікніть на продукт, щоб збільшити його та додати у Ñвій віртуальний кошик, Ñкщо ви купили б його в магазині',\n amazonNote: 'ÐатиÑніть на товар, щоб збільшити його та додати у Ñвій віртуальний кошик.',\n fullCart: 'Ваш кошик заповнений!',\n qty: 'КІЛЬКІСТЬ',\n each: 'кожен',\n items: 'елементи',\n addToCart: 'ДОДÐТИ У КОШИК',\n deleteFromCart: 'ВИДÐЛИТИ',\n emptyCard: 'Ваш кошик порожній',\n total: 'Кошик',\n clearCart: 'ОчиÑтити кошик',\n backToStore: 'ПовернутиÑÑŒ до магазину',\n next: 'ДÐЛІ',\n na: 'Жоден із варіантів',\n maxCartCountError: max => `Будь лаÑка, додайте до Ñвого кошика не більше ${max} товарів.`,\n scrollError: `Будь лаÑка, прокрутіть повніÑÑ‚ÑŽ ліворуч Ñ– праворуч, щоб продовжити опитуваннÑ. `,\n maxSpentError: max => `Будь лаÑка, витратьте не більше ${max}.`,\n maxProductCountError: max => `Будь лаÑка, додайте не більше ніж кількіÑÑ‚ÑŒ ${max} до кошика Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ товару.`\n },\n rb: {\n note: 'Виберіть 1 варiант:'\n },\n vo: {\n note: 'Будь лаÑка, переглÑньте відео до кінцÑ'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `Виберіть ${min} чекбокÑ${min >= 3 ? (min < 3 ? 'а' : 'ів') : 'a'}:`\n } else if (min > 0 && max < 5000) {\n return `Виберіть от ${min} до ${max} чекбокÑ${max >= 3 ? (max < 3 ? 'а' : 'ів') : 'a'}:`\n } else if (5000 === max && min > 0) {\n return `Виберіть не менше ${min} чекбокÑ${min >= 3 ? (min < 3 ? 'а' : 'ів') : 'a'}:`\n } else if (0 === min && max < 5000) {\n return `Виберіть не більше ${max} чекбокÑ${max >= 3 ? (max < 3 ? 'а' : 'ів') : 'a'}:`\n } else {\n return 'Виберіть вÑÑ– підходÑщі варіанти:'\n }\n }\n },\n oe: {\n na: 'Ðе заÑтоÑовуєтьÑÑ',\n note: (min, max, optional) => {\n if (min === max) {\n return `Введіть ${min} Ñимвол${1 !== min && min <= 4 ? 'а' : ''}${min > 4 ? 'iв' : ''}${\n optional ? \" (необов'Ñзкове поле)\" : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Введіть от ${min} до ${max} Ñимвол${1 === max ? 'а' : 'iв'}${\n optional ? \" (необов'Ñзкове поле)\" : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Введіть не менше ${min} Ñимвол${1 === min ? 'а' : 'iв'}${optional ? \" (необов'Ñзкове поле)\" : ''}:`\n } else if (0 === min && max < 5000) {\n return `Введіть не більше ${max} Ñимвол${1 === max ? 'а' : 'iв'}${optional ? \" (необов'Ñзкове поле)\" : ''}::`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Будь лаÑка, заповніть наÑтупні полÑ:'\n },\n mx: {\n note: 'ПереміÑÑ‚Ñ–Ñ‚ÑŒ виділені Ñлайдери, щоб продовжити',\n dragSlider: 'ПереÑуньте Ñлайдер вліво або вправо'\n },\n psc: {\n dragLeftRight: 'ПереÑуньте Ñлайдер вліво або вправо'\n },\n ps: {\n note: value => `Будь лаÑка, розподіліть бали, що залишилиÑÑ ${value} між наведеними нижче Ñ€Ñдками`,\n allDone: 'ГОТОВО!',\n total: `Ð’Ñього:`,\n dragSlider: 'ПереÑуньте Ñлайдер вліво або вправо'\n },\n cx: {\n note: 'Клікніть по комбобокÑу Ñ– почніть друкувати Вашу відповідь або виберіть його зі ÑпиÑку'\n },\n ro: {\n note: 'ПеретÑгніть вгору або вниз, щоб змінити порÑдок:'\n },\n md: {\n note1:\n 'Будь лаÑка, натиÑніть/торкнітьÑÑ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°, Ñкий вам ÑподобавÑÑ Ð½Ð°Ð¹Ð±Ñ–Ð»ÑŒÑˆÐµ<br/>ÐатиÑніть/торкнітьÑÑ Ð·Ð½Ð¾Ð²Ñƒ, щоб очиÑтити вибір.',\n note2:\n 'Тепер, будь лаÑка, натиÑніть/торкнітьÑÑ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð°, Ñкий вам ÑподобавÑÑ Ð½Ð°Ð¹Ð¼ÐµÐ½ÑˆÐµ<br/>ÐатиÑніть/торкнітьÑÑ Ð·Ð½Ð¾Ð²Ñƒ, щоб очиÑтити вибір.',\n note3:\n 'ДÑкуємо! Перейдіть до наÑтупного запитаннÑ<br/>або натиÑніть/торкнітьÑÑ Ð±ÑƒÐ´ÑŒ-Ñкого невибраного елемента, щоб почати знову.'\n },\n aro: {\n note: 'Будь лаÑка, оберіть один варіант з кожної пари:'\n },\n wd: {\n note: 'ПереконайтеÑÑ, що кожне наÑтупне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ” більшим за попереднє.'\n },\n emd: {\n note: 'Будь лаÑка, переглÑньте відео до кінцÑ',\n noAnswers: \"Ðемає варіанту відповіді, будь лаÑка, натиÑніть на 'ÐаÑтупне', щоб продовжити\",\n start: 'Клікніть та утримуйте, щоб почати',\n resume: 'Клікніть та утримуйте, щоб продовжити',\n continue: 'Ви готові! <br /> ÐатиÑніть <strong>Далі</strong>, щоб продовжити',\n continueMobile: 'УÑе готово! <br /> ÐатиÑніть ТУТ, щоб продовжити',\n training: {\n session: 'Тренінг',\n note: 'Будь лаÑка, завершіть тренуваннÑ',\n moveLeft: 'ПеретÑгніть диÑк ліворуч',\n moveBottom: 'ПеретÑгніть диÑк донизу',\n moveRight: 'Тепер, перетÑгніть диÑк праворуч',\n moveTop: 'Тепер, перетÑгніть диÑк догори',\n success: 'Чудова робота!'\n }\n },\n sft: {\n noAnswers: \"Ðемає варіанту відповіді, будь лаÑка, натиÑніть на 'ÐаÑтупне', щоб продовжити\",\n note: 'Будь лаÑка, відповідайте Ñкомога швидше та обирайте відповідь, Ñка інтуїтивно здаєтьÑÑ Ð²Ñ–Ñ€Ð½Ð¾ÑŽ',\n finish: 'Ви готові! <br /> ÐатиÑніть Далі, щоб продовжити',\n training: {\n start:\n '<p>У цьому пункті вам будуть швидко показані різні Ñлова. Ви повинні бути макÑимально Ñконцентровані. ' +\n 'Ви повинні реагувати швидко, щоб відповіÑти.</p> <p>Готові тренуватиÑÑ?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `ÐатиÑніть \"{buttonLeft}\"`\n : (mouse ? `Клікніть \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `ÐатиÑніть кнопку \"{keyBtnLeft}\"` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `ÐатиÑніть \"{buttonRight}\"`\n : (mouse ? `Клікніть \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `ÐатиÑніть кнопку \"{keyBtnRight}\"` : ''),\n fail: () => 'Занадто повільно',\n success: () => 'Чудово!',\n finish: () =>\n '<p><strong> Відмінно!</strong></p><p>Будь лаÑка, переконайтеÑÑŒ, <br />' +\n 'що протÑгом наÑтупних 2-3 хвилин <br/> ви не будете відволікатиÑÑ</p><p>ÐатиÑніть Далі щойно будете готові. </p>'\n },\n buttons: {\n start: 'Розпочати',\n yesno: {\n left: 'Так',\n right: 'ÐÑ–'\n },\n matches: {\n left: 'Правильно',\n right: 'Ðеправильно'\n },\n fits: {\n left: 'Підходить',\n right: 'Ðе підходить'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: 'Không có tùy chá»n trả lá»i, vui lòng nhấn tiếp theo để tiếp tục.',\n placeholder: 'Vui lòng nêu rõ......',\n pleaseSelect: 'Vui lòng chá»n...',\n rotateLandscape: 'Hãy xoay Ä‘iện thoại của bạn từ chân dung sang phong cảnh để tiếp tục.',\n rotatePortrait: 'Hãy xoay Ä‘iện thoại của bạn từ phong cảnh sang chân dung để tiếp tục.',\n ir: {\n selectWebCam: 'Chá»n webcam (nếu có) hoặc nhấn “Duyệt†để tải lên từ thiết bị của bạn',\n uploadOnly: 'hoặc nhấn “Duyệt†để tải lên từ thiết bị của bạn',\n noWebCam: 'Không tìm thấy webcam',\n accessCamUpload: 'TRUY CẬP CAMERA/TẢI LÊN',\n browse: 'DUYỆT',\n uploadPhoto: 'Tải lên hình ảnh',\n camera: 'Webcam',\n instead: 'thay vì',\n capture: 'CHỤP',\n somethingWrong: 'Rất tiếc, đã xảy ra lá»—i. Vui lòng thá» lại sau',\n couldntRead: 'Rất tiếc, chúng tôi không thể Ä‘á»c mã!',\n couldntProcess: 'Rất tiếc, chúng tôi không thể xá» lý ảnh của bạn!',\n inValidCode: 'Vui lòng gá»i mã hợp lệ',\n moveOn: 'Vui lòng thá» lại hoặc gá»i ảnh của bạn và tiếp tục',\n tryAgain: 'Vui lòng thá» lại',\n dataReceived: 'Äã nháºn được dữ liệu!',\n enterManually: 'Vui lòng thá» lại hoặc nháºp dữ liệu theo cách thủ công bên dÆ°á»›i',\n positionQR:\n 'Vui lòng đặt mã QR ở phÃa trÆ°á»›c camera sao cho vừa vá»›i khung mà u Ä‘á» hoặc tải lên mã nà y từ máy tÃnh của bạn.',\n positionQRMobile: 'Vui lòng đặt mã QR trÆ°á»›c camera hoặc tải lên từ thiết bị của bạn.',\n analyzing: 'Äang phân tÃch ảnh, vui lòng chá»',\n submit: 'GỬI',\n startOver: 'Bắt đầu lại',\n allDone: 'Hoà n tất!',\n cantAnalyze:\n 'Chú ý - chúng tôi không thể kết xuất hình ảnh nà y. Hãy thá» gá»i lại hoặc chá»n định dạng hình ảnh phổ biến hÆ¡n (JPG, PNG, GIF, BMP)',\n wrongFormat:\n 'Rất tiếc - chúng tôi không há»— trợ định dạng táºp tin nà y. Vui lòng tải lên định dạng hình ảnh được há»— trợ (JPG, PNG, GIF, BMP, TIF, PDF, SVG)'\n },\n vr: {\n noWebCam: 'Không tìm thấy webcam',\n uploadVideo: 'Tải lên video',\n skip: 'Bá» qua?',\n accessCamUpload: 'TRUY CẬP CAMERA/TẢI LÊN',\n browse: 'DUYỆT',\n instead: 'thay vì',\n or: 'hoặc',\n stopRecording: 'Dừng quay',\n willBeStopped: 'Sẽ dừng quay sau <b>5 phút</b>',\n stopOnDone: 'Dừng quay khi bạn đã là m xong!',\n record: 'quay',\n somethingWrong: 'Rất tiếc, đã xảy ra lá»—i. Vui lòng thá» lại sau',\n dataReceived: 'Äã nháºn được dữ liệu!',\n microphone: 'micrô',\n camera: 'Webcam',\n selectMicrophone: 'Chá»n micrô của bạn',\n selectCam: 'Chá»n webcam của bạn',\n submit: 'GỬI',\n upload: 'TẢI LÊN',\n playback: 'Phát lại',\n stopPlayback: 'DỪNG PHÃT LẠI',\n startOver: 'Bắt đầu lại',\n allDone: 'Hoà n tất!',\n alternativeRecordSpan: 'Vui lòng tải lên má»™t Ä‘oạn video từ máy tÃnh của bạn. <br/>Ngoà i ra, bạn có thể ',\n alrenativeRecordHref: 'quay video bằng webcam.',\n cantAnalyze:\n 'Chú ý - chúng tôi không thể kết xuất video nà y. Hãy thá» gá»i lại hoặc chá»n định dạng video phổ biến hÆ¡n (MP4, M4V, WEBPM)',\n wrongFormat:\n 'Rất tiếc - chúng tôi không há»— trợ định dạng táºp tin nà y. Vui lòng tải lên định dạng video được há»— trợ (MP4, AVI, M4V, WEBPM, MOV, MKV, MPG, WMV)'\n },\n cjc: {\n choose: 'CHỌN',\n pleaseChoose: 'Vui lòng',\n this: 'chá»n',\n one: ' má»™t',\n myChoice: 'Lá»°A CHỌN của tôi'\n },\n hm: {\n addComment: 'Vui lòng thêm nháºn xét và o bên dÆ°á»›i',\n commentMandatoryPlaceHolder: 'Vui lòng thêm nháºn xét bắt buá»™c... ',\n commentOptionalPlaceHolder: 'Vui lòng thêm nháºn xét tùy chá»n... ',\n dragPin: 'Kéo để xác định lại vị trà (nhấn/chạm và giữ lâu để ghim chÃnh xác). ',\n removePin: 'Kéo ra ngoà i hình ảnh để xóa.',\n editComment: 'Nhấn/chạm và o dấu ghim để chỉnh sá»a nháºn xét. ',\n addPin: 'Vui lòng kéo ghim từ bảng Ä‘iá»u khiển bên dÆ°á»›i và thả và o vị trà mà bạn chá»n trên hình ảnh.',\n addPins: 'Vui lòng kéo các ghim từ bảng Ä‘iá»u khiển bên dÆ°á»›i và thả và o vị trà mà bạn chá»n trên hình ảnh.',\n leavePins: (minPoints, maxPoints) =>\n `Vui lòng để lại Ãt nhất ${minPoints}, ghim nhÆ°ng không quá ${maxPoints} ghim má»—i loại.`,\n leavePinsAny: (minPoints, maxPoints) =>\n `Vui lòng để lại Ãt nhất ${minPoints}, ghim nhÆ°ng không quá ${maxPoints} ghim của bất kỳ loại nà o. `,\n leavePinsPerPage: (minPoints, maxPoints) =>\n `Vui lòng để lại Ãt nhất ${minPoints}, ghim nhÆ°ng không quá ${maxPoints} ghim. `,\n leavePinsWithOff: maxPoints =>\n `Vui lòng để lại không quá ${maxPoints} ghim má»—i loại nhấn Tiếp theo để tiếp tục. `,\n leavePinsWithOffAny: maxPoints =>\n `Vui lòng để lại không quá ${maxPoints} ghim của bất kỳ loại nà o nhấn Tiếp theo để tiếp tục. `,\n leavePinsPerPageWithOff: maxPoints => `Vui lòng để lại không quá ${maxPoints} ghim nhấn Tiếp theo để tiếp tục. `,\n leavePinWithOff: `Vui lòng để lại không quá 1 ghim má»—i loại hoặc nhấn Tiếp theo để tiếp tục. `,\n leavePinWithOffAny: `Vui lòng để lại không quá 1 ghim của bất kỳ loại nà o hoặc nhấn Tiếp theo để tiếp tục. `,\n leavePinPerPageWithOff: 'Vui lòng để lại không quá 1 ghim của bất kỳ loại nà o hoặc nhấn Tiếp theo để tiếp tục. ',\n leaveExactlyPin: `Vui lòng để lại 1 ghim má»—i loại. `,\n leaveExactlyPinAny: `Vui lòng để lại 1 ghim của bất kỳ loại nà o. `,\n leaveExactlyPinPerPage: 'Vui lòng để lại 1 ghim. ',\n leaveExactlyPins: maxPoints => `Vui lòng ${maxPoints} ghim má»—i loại. `,\n leaveExactlyPinsAny: maxPoints => `Vui lòng ${maxPoints} ghim của bất kỳ loại nà o. `,\n leaveExactlyPinsPerPage: maxPoints => `Vui lòng ${maxPoints} ghim. `,\n leaveComment: 'Nháºp bên dÆ°á»›i hình ảnh và để lại nháºn xét. ',\n noAnswers: 'Không có tùy chá»n trả lá»i, vui lòng nhấn tiếp theo để tiếp tục.',\n outOfPins: 'Bạn đã hết ghim',\n pinsBehavior: 'Khi di chuyển qua hình ảnh, bạn sẽ thấy các khu vá»±c được đánh dấu bằng má»™t dấu ghim.',\n clusters: 'Bạn sẽ chỉ có thể đặt ghim và o những khu vá»±c được đánh dấu nà y.',\n contentAware: 'Bạn có thể thả ghim và o bên trong hoặc bên ngoà i các khu vá»±c được đánh dấu.'\n },\n mp: {\n expand_note: 'Vui lòng di chuá»™t hoặc nhấn và o hình ảnh để mở rá»™ng.',\n rb_note: rows => `Vui lòng chỉ chá»n 1 câu trả lá»i cho má»—i mục bên${rows ? ' dÆ°á»›i' : ''}:`,\n cb_note: (min, max, rows) => {\n if (min === max) {\n return `Vui lòng ${min !== 1 ? 'chá»n' : 'chỉ chá»n'} ${min} câu trả lá»i bất kỳ cho má»—i mục bên${\n rows ? ' dÆ°á»›i' : ''\n }:`\n } else if (min > 0 && max < 5000) {\n return `Vui lòng chá»n Ãt nhất ${min} câu trả lá»i nhÆ°ng không quá ${max} cho má»—i mục bên${\n rows ? ' dÆ°á»›i' : ''\n }:`\n } else if (5000 === max && min > 0) {\n return `Vui lòng chá»n Ãt nhất ${min} câu trả lá»i cho má»—i mục bên${rows ? ' dÆ°á»›i' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Vui lòng chá»n không quá ${max} câu trả lá»i cho má»—i mục bên${rows ? ' dÆ°á»›i' : ''}:`\n } else {\n return 'Äánh dấu tất cả những ý đúng:'\n }\n }\n },\n sh: {\n note: 'Nhấn và o má»™t sản phẩm để phóng to và thêm và o giá» hà ng ảo nếu bạn muốn mua nó tại cá»a hà ng',\n amazonNote: 'Nhấn và o má»™t sản phẩm để phóng to và thêm và o giá» hà ng ảo nếu bạn muốn mua nó trá»±c tuyến',\n fullCart: 'Giá» hà ng của bạn đã đầy!',\n qty: 'Sá» LƯỢNG',\n addToCart: 'THÊM VÀO GIỎ HÀNG',\n deleteFromCart: 'XÓA',\n each: 'má»—i',\n items: 'mặt hà ng',\n emptyCard: 'Giá» hà ng của bạn Ä‘ang trống',\n total: 'Giá» hà ng',\n clearCart: 'Xóa giá» hà ng',\n scrollError: `Vui lòng cuá»™n hết sang trái và phải để tiếp tục khảo sát. `,\n backToStore: 'Kembali ke kedai',\n na: 'Không có ý nà o ở trên',\n next: 'TIẾP THEO'\n },\n rb: {\n note: 'Vui lòng chỉ chá»n 1 mục:'\n },\n vo: {\n note: 'Vui lòng xem hết video'\n },\n cb: {\n note: (min, max) => {\n if (1 === min && 5000 === max) {\n return 'Äánh dấu tất cả những ý đúng:'\n } else if (min === max) {\n return `Vui lòng ${min !== 1 ? 'chá»n' : 'chỉ chá»n'} ${min} mục:`\n } else if (min > 0 && max < 5000) {\n return `Vui lòng chá»n Ãt nhất ${min} mục, ghim nhÆ°ng không quá ${max}:`\n } else if (5000 === max && min > 0) {\n return `Vui lòng chá»n Ãt nhất ${min} mục:`\n } else if (0 === min && max < 5000) {\n return `Vui lòng nhÆ°ng không quá ${max} mục:`\n } else {\n return 'Äánh dấu tất cả những ý đúng:'\n }\n }\n },\n oe: {\n na: 'Không áp dụng',\n note: (min, max, optional) => {\n if (min === max) {\n return `Vui lòng ${1 !== min ? 'chá»n' : 'chỉ chá»n'} ${min} ký tá»±${optional ? ' (không bắt buá»™c)' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `Vui lòng chá»n Ãt nhất ${min} ký tá»± ghim nhÆ°ng không quá ${max}${optional ? ' (không bắt buá»™c)' : ''}:`\n } else if (5000 === max && min > 0) {\n return `Vui lòng chá»n Ãt nhất ${min} ký tá»±${optional ? ' (không bắt buá»™c)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `Vui lòng nhÆ°ng không quá ${max} ký tá»±${optional ? ' (không bắt buá»™c)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: 'Vui lòng Ä‘iá»n và o các trÆ°á»ng sau đây:'\n },\n mx: {\n note: 'Hãy di chuyển các thanh trượt được đánh dấu để tiếp tục',\n dragSlider: 'Kéo sang trái hoặc phải để trả lá»i'\n },\n psc: {\n dragLeftRight: 'Kéo sang trái hoặc phải để trả lá»i'\n },\n ps: {\n note: value => `Vui lòng phân phối ${value} còn lại giữa các mục bên dÆ°á»›i`,\n allDone: `Hoà n tất`,\n total: `tổng cá»™ng:`,\n dragSlider: 'Kéo sang trái hoặc phải để trả lá»i'\n },\n cx: {\n note: 'Mở ô thả xuống và bắt đầu nháºp câu trả lá»i của bạn để tá»± Ä‘á»™ng cuá»™n hoặc chá»n thủ công'\n },\n ro: {\n note: 'Kéo lên hoặc xuống để sắp xếp lại:'\n },\n md: {\n note1: 'Vui lòng nhấn/chạm và o mục mà bạn chá»n đầu tiên<br/> Nhấn/chạm lại để xóa lá»±a chá»n',\n note2: 'Bây giá» hãy nhấn/chạm và o mục mà bạn chá»n cuối cùng <br/> Nhấn/chạm lại để xóa lá»±a chá»n.',\n note3: 'Xin cảm Æ¡n! Tiếp tục đến câu há»i tiếp theo hoặc nhấn/chạm và o bất kỳ mục chÆ°a chá»n nà o để bắt đầu lại.'\n },\n aro: {\n note: 'Vui lòng chá»n má»™t mục từ má»—i cặp'\n },\n wd: {\n note: 'Äảm bảo má»—i giá trị tiếp theo phải lá»›n hÆ¡n giá trị trÆ°á»›c đó.'\n },\n emd: {\n note: 'Vui lòng xem hết video',\n noAnswers: 'Không có tùy chá»n trả lá»i, vui lòng nhấn tiếp theo để tiếp tục.',\n start: 'Nhấn và giữ để bắt đầu',\n resume: 'Nhấn và giữ để tiếp tục',\n continue: 'Bạn đã sẵn sà ng! Nhấn Tiếp theo để tiếp tục',\n continueMobile: 'Bạn đã sẵn sà ng! Nhấn VÀO ÄÂY để tiếp tục',\n training: {\n session: 'Phiên Ä‘Ã o tạo',\n note: 'Vui lòng hoà n thà nh Ä‘Ã o tạo',\n moveLeft: 'Vui lòng kéo mặt quay sang bên trái',\n moveBottom: 'Vui lòng kéo mặt quay xuống dÆ°á»›i cùng',\n moveRight: 'Bây giá» hãy kéo mặt quay sang bên phải',\n moveTop: 'Bây giá» hãy kéo mặt quay lên trên cùng',\n success: 'Tuyệt!'\n }\n },\n sft: {\n noAnswers: 'Không có tùy chá»n trả lá»i, vui lòng nhấn tiếp theo để tiếp tục.',\n note: 'Hãy trả lá»i nhanh nhất có thể vá»›i đáp án mà trá»±c giác của bạn cảm thấy đúng',\n imageError: 'No image exposure time chosen',\n finish: 'Bạn đã hoà n thà nh! Vui lòng nhấn Tiếp theo để tiếp tục',\n training: {\n start:\n '<p>Câu há»i nà y sẽ cho bạn xem nhanh các từ khác nhau và bạn sẽ cần phải táºp trung.</p><p>Bạn sẵn sà ng thá»±c hà nh chÆ°a?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `Chạm \"{buttonLeft}\"`\n : (mouse ? `Nhấn \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Nhấn phÃm \"{keyBtnLeft}\"` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `Chạm \"{buttonRight}\"`\n : (mouse ? `Nhấn \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `Nhấn phÃm \"{keyBtnRight}\"` : ''),\n fail: () => 'Quá cháºm',\n success: () => 'Tuyệt!',\n finish: () =>\n '<p><strong> Xuất sắc!</strong></p><p>Äảm bảo bạn không <br />' +\n 'được mất táºp trung<br/> trong 2-3 phút tiếp theo</p><p>Nhấn Tiếp theo để bắt đầu khi bạn sẵn sà ng.</p>'\n },\n buttons: {\n start: 'Bắt đầu',\n yesno: {\n left: 'Äúng',\n right: 'Không'\n },\n matches: {\n left: 'Khá»›p',\n right: 'Không khá»›p'\n },\n fits: {\n left: 'Vừa',\n right: 'Không vừa'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n },\n noyes: {\n left: 'Äúng',\n right: 'Không'\n },\n matchesRev: {\n left: 'Khá»›p',\n right: 'Không khá»›p'\n },\n fitsRev: {\n left: 'Vừa',\n right: 'Không vừa'\n },\n thumbsRev: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: '没有ç”案选项,请点击下一æ¥ä»¥ç»§ç»ã€‚',\n placeholder: '请注明……',\n pleaseSelect: '请选择……',\n rotateLandscape: '请将手机从纵å‘旋转到横å‘继ç»ã€‚',\n rotatePortrait: '请将手机从横å‘旋转到纵å‘继ç»ã€‚',\n ir: {\n selectWebCam: '选择网络摄åƒå¤´ï¼ˆå¦‚有),或å•å‡»â€œæµè§ˆâ€ï¼Œä»Žæ‚¨çš„è®¾å¤‡ä¸Šä¼ ',\n noWebCam: '未检测到网络摄åƒå¤´',\n accessCamUpload: '访问摄åƒå¤´/ä¸Šä¼ ',\n browse: 'æµè§ˆ',\n uploadPhoto: 'ä¸Šä¼ ä¸€å¼ ç…§ç‰‡',\n instead: 'å–而代之',\n capture: '截å–',\n somethingWrong: '对ä¸èµ·ï¼Œå‡ºäº†ä¸€äº›é—®é¢˜ã€‚请ç¨åŽå†è¯•',\n couldntRead: '对ä¸èµ·ï¼Œæˆ‘ä»¬æ— æ³•é˜…è¯»ä»£ç ï¼',\n couldntProcess: '对ä¸èµ·ï¼Œæˆ‘ä»¬æ— æ³•å¤„ç†æ‚¨çš„图片ï¼',\n moveOn: '请é‡è¯•ï¼Œæˆ–æ交照片然åŽç»§ç»',\n tryAgain: '请é‡è¯•',\n dataReceived: '收到数æ®ï¼',\n enterManually: '请é‡è¯•æˆ–在下é¢æ‰‹åŠ¨è¾“入数æ®',\n positionQR: '请将QRç 放在相机å‰é¢ï¼Œä½¿å…¶å¤„äºŽçº¢æ¡†é‡Œï¼Œæˆ–ä»Žç”µè„‘ä¸Šä¼ ã€‚',\n analyzing: 'æ£åœ¨åˆ†æžå›¾ç‰‡ï¼Œè¯·ç¨å€™',\n submit: 'æ交',\n startOver: 'é‡æ–°å¼€å§‹',\n allDone: '全部完æˆï¼',\n cantAnalyze: '注æ„-æˆ‘ä»¬æ— æ³•æ¸²æŸ“æ¤å›¾åƒã€‚请å°è¯•é‡æ–°æ交或选择更通用的图åƒæ ¼å¼ï¼ˆJPG,PNG,GIF,BMP)',\n wrongFormat: '很抱æ‰-我们ä¸æ”¯æŒæ¤æ–‡ä»¶æ ¼å¼ã€‚è¯·ä¸Šä¼ å—支æŒçš„图片类型(JPG,PNG,GIF,BMP,TIF,PDF,SVG)'\n },\n vr: {\n noWebCam: '未检测到网络摄åƒå¤´',\n uploadVideo: '上载影片',\n skip: '跳过?',\n accessCamUpload: '访问摄åƒå¤´/ä¸Šä¼ ',\n browse: 'æµè§ˆ',\n instead: 'å–而代之',\n or: '或',\n stopRecording: 'åœæ¢å½•åˆ¶',\n willBeStopped: '录制会在5分钟åŽåœæ¢',\n stopOnDone: '当您完æˆæ—¶å°±åœæ¢å½•åˆ¶å§ï¼',\n record: '录音',\n somethingWrong: '对ä¸èµ·ï¼Œå‡ºäº†ä¸€äº›é—®é¢˜ã€‚请ç¨åŽå†è¯•',\n microphone: '麦克风',\n camera: '网络摄åƒå¤´',\n selectMicrophone: '选择您的麦克风',\n selectCam: '选择您的网络摄åƒå¤´',\n upload: 'ä¸Šä¼ ',\n playback: '回放',\n stopPlayback: 'åœæ¢æ’放',\n submit: 'æ交',\n startOver: 'é‡æ–°å¼€å§‹',\n allDone: '全部完æˆï¼',\n alternativeRecordSpan: 'è¯·ä»Žç”µè„‘è®¾å¤‡ä¸Šä¼ è§†é¢‘<br/>',\n alrenativeRecordHref: '或者您能用摄åƒå¤´å½•åˆ¶è§†é¢‘。',\n cantAnalyze: '注æ„-æˆ‘ä»¬æ— æ³•æ¸²æŸ“æ¤è§†é¢‘。请å°è¯•é‡æ–°æäº¤æˆ–é€‰æ‹©æ›´é€šç”¨çš„è§†é¢‘æ ¼å¼ï¼ˆMP4,M4V,WEBPM)',\n wrongFormat: '很抱æ‰-我们ä¸æ”¯æŒæ¤æ–‡ä»¶æ ¼å¼ã€‚è¯·ä¸Šä¼ å—支æŒçš„视频类型(MP4,AVI,M4V,WEBPM,MOV,MKV,MPG,WMV)'\n },\n cjc: {\n choose: '选择',\n pleaseChoose: '请选择',\n this: '这个',\n one: '一',\n myChoice: '我的选择'\n },\n hm: {\n addComment: '请在下é¢æ·»åŠ 评论',\n commentMandatoryPlaceHolder: 'è¯·æ·»åŠ å¼ºåˆ¶æ€§è¯„è®º... ',\n commentOptionalPlaceHolder: 'è¯·æ·»åŠ å¯é€‰è¯„论... ',\n dragPin: '拖动以é‡æ–°å®šä½ï¼ˆé•¿æŒ‰/长触以精确定ä½ï¼‰ã€‚ ',\n removePin: 'æ‹–åˆ°å›¾ç‰‡å¤–ä¾§ä»¥åˆ é™¤ã€‚ ',\n editComment: '点击/轻触指针,以编辑评论。 ',\n addPin: '请从以下é¢æ¿æ‹–动指针,将其置于您在图片ä¸é€‰æ‹©çš„点。',\n addPins: '请从以下é¢æ¿æ‹–动指针,将其置于您在图片ä¸é€‰æ‹©çš„点。 ',\n leavePins: (minPoints, maxPoints) => `æ¯ç§æŒ‡é’ˆè¯·ç•™ä¸‹è‡³å°‘${minPoints}个但ä¸è¶…过${maxPoints}个。 `,\n leavePinsPerPage: (minPoints, maxPoints) => `请留下至少${minPoints}个但ä¸è¶…过${maxPoints}个指针。 `,\n leavePinsWithOff: maxPoints => `æ¯ç§æŒ‡é’ˆè¯·æœ€å¤šç•™ä¸‹${maxPoints}个,或点击下一æ¥è·³è¿‡ã€‚ `,\n leavePinsPerPageWithOff: maxPoints => `请最多留下${maxPoints}个指针,或点击下一æ¥è·³è¿‡ã€‚ `,\n leavePinWithOff: 'æ¯ç§æŒ‡é’ˆè¯·æœ€å¤šç•™ä¸‹1个,或点击下一æ¥è·³è¿‡ã€‚ ',\n leavePinPerPageWithOff: '请最多留下{max}个指针,或点击下一æ¥è·³è¿‡ã€‚ ',\n leaveExactlyPin: 'æ¯ç§æŒ‡é’ˆè¯·ç•™ä¸‹1个。 ',\n leaveExactlyPinPerPage: '请留下1个指针。 ',\n leaveExactlyPins: maxPoints => `æ¯ç§æŒ‡é’ˆè¯·ç•™ä¸‹${maxPoints}个。 `,\n leaveExactlyPinsPerPage: maxPoints => `请留下${maxPoints}个指针。 `,\n leaveComment: '在图片下方键入,以留下评论。 ',\n noAnswers: '没有ç”案选项,请点击下一æ¥ç»§ç»ã€‚',\n outOfPins: '您的指针已用完',\n pinsBehavior: '当您在图åƒä¸Šç§»åŠ¨æ—¶ï¼Œæ‚¨ä¼šçœ‹åˆ°ç”¨ä¸€æ ¹æŽ¢é’ˆæ ‡è®°çš„区域。',\n clusters: '您åªèƒ½åœ¨è¿™äº›æ ‡è®°çš„区域ä¸æ”¾ç½®æŽ¢é’ˆã€‚',\n contentAware: '您å¯ä»¥åœ¨æ ‡è®°åŒºåŸŸå†…或外放置探针。'\n },\n mp: {\n expand_note: 'è¯·å°†é¼ æ ‡æ‚¬åœåœ¨å›¾ç‰‡ä¸Šæˆ–点击图片以将其展开',\n rb_note: _rows => '请在下é¢çš„æ¯é¡¹ä¸ä»…选择1个ç”案:',\n cb_note: (min, max, _rows) => {\n if (1 === min && 5000 === max) {\n return '勾选所有适åˆé¡¹:'\n } else if (min === max) {\n return `请针对以下æ¯é¡¹ ${min !== 1 ? 'ä»»æ„' : '仅选'} ${min}个回å¤:`\n } else if (min > 0 && max < 5000) {\n return `请针对以下æ¯é¡¹é€‰æ‹©è‡³å°‘ ${min} 个回å¤ä¸è¶…过 ${max} 个:`\n } else if (5000 === max && min > 0) {\n return `请针对以下æ¯é¡¹é€‰æ‹©è‡³å°‘ ${min} 个回å¤:`\n } else if (0 === min && max < 5000) {\n return `请针对以下æ¯é¡¹é€‰æ‹©ä¸è¶…过 ${max} 个回å¤ï¼š:`\n } else {\n return '勾选所有适åˆé¡¹:'\n }\n }\n },\n sh: {\n note: '如果您想在商店ä¸è´ä¹°äº§å“,请点击产å“æ”¾å¤§å¹¶æ·»åŠ åˆ°æ‚¨çš„è™šæ‹Ÿè´ç‰©è½¦ä¸',\n amazonNote: '点击产å“ï¼Œå°†å…¶æ”¾å¤§ï¼Œå¹¶æ·»åŠ åˆ°æ‚¨çš„è™šæ‹Ÿè´ç‰©è½¦ä¸',\n fullCart: '您的è´ç‰©è½¦å·²æ»¡ï¼',\n qty: 'æ•°é‡',\n addToCart: 'æ·»åŠ åˆ°è´ç‰©è½¦',\n deleteFromCart: 'åˆ é™¤',\n emptyCard: '您的è´ç‰©è½¦æ˜¯ç©ºçš„',\n total: 'è´ç‰©è½¦',\n each: 'é …ç›®',\n items: 'æ¯å€‹',\n clearCart: '清除è´ç‰©è½¦',\n backToStore: '返回商店',\n na: '以上皆å¦',\n next: 'å‰è¿›',\n maxCartCountError: max => `请在您的è´ç‰©è½¦ä¸æ·»åŠ ä¸è¶…过${max}ç§äº§å“`,\n scrollError: `请左å³æ»šåŠ¨ä»¥ç»§ç»è¿›è¡Œè°ƒæŸ¥ã€‚ `,\n maxSpentError: max => `请花费ä¸è¶…过${max}。 `,\n maxProductCountError: max => `在è´ç‰©è½¦ä¸æ·»åŠ æ¯ç§äº§å“çš„æ•°é‡è¯·ä¸è¦è¶…过${max}。`\n },\n rb: {\n note: '请选择 åªèƒ½ 1 项目:'\n },\n vo: {\n note: '请完整观看视频'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `请选择${min !== 1 ? 'ä»»æ„' : 'åªèƒ½'} ${min}项目:`\n } else if (min > 0 && max < 5000) {\n return `请选择至少 ${min} 项目 但是ä¸è¶…过 ${max}:`\n } else if (5000 === max && min > 0) {\n return `请选择至少 ${min}项目:`\n } else if (0 === min && max < 5000) {\n return `请选择ä¸è¶…过 ${max}项目:`\n } else {\n return '勾选所有适åˆé¡¹:'\n }\n }\n },\n oe: {\n na: 'ä¸é€‚用',\n note: (min, max, optional) => {\n if (min === max) {\n return `请输入${1 !== min ? 'ä»»æ„' : '精确'} ${min} å—符${optional ? ' (å¯é€‰)' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `请输入至少 ${min} å—符${optional ? ' (å¯é€‰)' : ''}:`\n } else if (5000 === max && min > 0) {\n return `请输入至少 ${min} å—符${optional ? ' (å¯é€‰)' : ''}:`\n } else if (0 === min && max < 5000) {\n return `请输入ä¸è¶…过 ${max} å—符${optional ? ' (å¯é€‰)' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: '请填写以下å—段:'\n },\n mx: {\n note: '请移动çªå‡ºæ˜¾ç¤ºçš„滑å—以继ç»',\n dragSlider: 'å‘左或å‘å³æ‹–拉并回ç”'\n },\n psc: {\n dragLeftRight: 'å‘左或å‘å³æ‹–拉并回ç”'\n },\n ps: {\n note: value => `请在以下项目ä¸åˆ†é…剩余的 ${value}`,\n allDone: '全部完æˆï¼',\n total: `总:`,\n dragSlider: 'å‘左或å‘å³æ‹–拉并回ç”'\n },\n cx: {\n note: '自动滚å±å¼€å§‹å›žç”问题或者手动选择'\n },\n ro: {\n note: 'å‘上或å‘下拖拉并é‡æ–°æŽ’åºï¼š'\n },\n md: {\n note1: '请点击/轻触您首先选择的项目 å†æ¬¡ç‚¹å‡»/轻触以清除选择。',\n note2: '现在,请点击/轻触您最åŽé€‰æ‹©çš„项目 å†æ¬¡ç‚¹å‡»/轻触以清除选择。',\n note3: '谢谢ï¼ç»§ç»ä¸‹ä¸€ä¸ªé—®é¢˜ï¼Œæˆ–点击/轻触任何未选择的项目以é‡æ–°å¼€å§‹ã€‚'\n },\n aro: {\n note: '请在以下æ¯ç»„ä¸é€‰æ‹©ä¸€é¡¹ã€‚:'\n },\n wd: {\n note: '请确认æ¯é¡¹æœ€ç»ˆå€¼é«˜äºŽå…ˆå‰çš„值。'\n },\n emd: {\n note: '请完整观看视频',\n noAnswers: '没有ç”案选项,请点击下一æ¥ä»¥ç»§ç»ã€‚',\n start: '点击并按ä½å¼€å§‹',\n resume: '点击并按ä½ä»¥ç»§ç»',\n continue: '您准备好了ï¼<br /> å•å‡»ä¸‹ä¸€æ¥ç»§ç»',\n continueMobile: '一切已就绪ï¼<br /> 点击æ¤å¤„,以继ç»',\n training: {\n session: '培è®è¯¾ç¨‹',\n note: '请完æˆåŸ¹è®',\n moveLeft: '请将拨盘一直拉到最左边',\n moveBottom: '请将拨盘一直拉到底部',\n moveRight: '现在,请将拨盘一直拉到å³ä¾§',\n moveTop: '现在,请将拨盘一直拉到顶部',\n success: 'åšå¾—好'\n }\n },\n sft: {\n noAnswers: '没有ç”案选项,请点击下一æ¥ä»¥ç»§ç»ã€‚',\n note: '请以直观的感觉尽快回ç”',\n finish: '大功告æˆï¼<br /> 请å•å‡»ä¸‹ä¸€æ¥ç»§ç»',\n training: {\n start:\n '<p>这个问题会快速å‘您显示ä¸åŒçš„å•è¯ï¼Œå¹¶ä¸”需è¦æ‚¨ä¸“心。 ' +\n '您需è¦è¿…速åšå‡ºååº”å›žç” </p> <p>å‡†å¤‡å¼€å§‹ç»ƒä¹ äº†å—?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `点按 \"{buttonLeft}\"`\n : (mouse ? `点击 \"{buttonLeft}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `按下 \"{keyBtnLeft}\" é”®` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `点按 \"{buttonRight}\"`\n : (mouse ? `点击 \"{buttonRight}\"` : '') +\n (key && mouse ? ' / ' : '') +\n (key ? `按下 \"{keyBtnRight}\" é”®` : ''),\n fail: () => '太慢了',\n success: () => '太棒了ï¼',\n finish: () =>\n '<p><strong> 优秀ï¼</strong></p><p>请确ä¿æ‚¨ä¸ä¼šåœ¨æŽ¥ä¸‹æ¥çš„2-3分钟内分心</p><p>准备好åŽï¼Œå•å‡»â€œä¸‹ä¸€æ¥â€å¼€å§‹</p>'\n },\n buttons: {\n start: '开始',\n yesno: {\n left: '是',\n right: 'å¦'\n },\n matches: {\n left: '匹é…',\n right: 'ä¸åŒ¹é…'\n },\n fits: {\n left: 'åˆé€‚',\n right: 'ä¸åˆé€‚'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: '沒有ç”案é¸é …,請按下一æ¥ç¹¼çºŒã€‚',\n placeholder: '請註明...',\n pleaseSelect: 'è«‹é¸æ“‡â€¦â€¦',\n rotateLandscape: '請將手機從直å‘旋轉到橫å‘繼續。',\n rotatePortrait: '請將手機從橫å‘旋轉到直å‘繼續。',\n ir: {\n selectWebCam: 'é¸æ“‡ç¶²çµ¡æ”影機(如有),或按「ç€è¦½ã€å¾žè£ç½®ä¸Šè¼‰',\n noWebCam: '沒有發ç¾ç¶²çµ¡æ”影機',\n accessCamUpload: 'å˜å–æ”影機ï¼ä¸Šè¼‰',\n browse: 'ç€è¦½',\n uploadPhoto: '上載一張照片',\n camera: '網絡æ”影機',\n instead: '或者',\n capture: 'æ‹æ”照片',\n somethingWrong: '抱æ‰ï¼Œå‡ºç¾éŒ¯èª¤ã€‚è«‹ç¨å¾Œå†è©¦',\n couldntRead: '抱æ‰ï¼Œæˆ‘們無法閱讀代碼ï¼',\n couldntProcess: '抱æ‰ï¼Œæˆ‘們無法處ç†æ‚¨çš„圖片ï¼',\n inValidCode: 'è«‹æ交有效的代碼',\n moveOn: 'è«‹é‡è©¦æˆ–æ交照片,然後繼續',\n tryAgain: 'è«‹é‡è©¦',\n dataReceived: '已收到數據ï¼',\n enterManually: 'è«‹é‡è©¦æˆ–在下方手動輸入數據',\n positionQR: '請將二ç¶ç¢¼æ”¾åœ¨ç›¸æ©Ÿå‰ï¼Œç½®æ–¼ç´…框範åœå…§ï¼Œæˆ–從電腦上載。',\n positionQRMobile: '請將二ç¶ç¢¼æ”¾åœ¨ç›¸æ©Ÿå‰ï¼Œç½®æ–¼ç´…框範åœå…§ï¼Œæˆ–從電腦上載。',\n analyzing: 'æ£åœ¨åˆ†æžåœ–片,請ç¨å€™',\n submit: 'æ交',\n startOver: 'é‡æ–°é–‹å§‹',\n allDone: '全部完æˆï¼',\n cantAnalyze:\n '注æ„—我們無法採用æ¤åœ–片。請嘗試é‡æ–°æ交,看看我們是å¦èƒ½æŽ¥å—,或é¸æ“‡æ›´é€šç”¨çš„åœ–ç‰‡æ ¼å¼ï¼ˆJPGã€PNGã€GIFã€BMP)',\n wrongFormat: '很抱æ‰â€”我們ä¸æ”¯æ´æ¤æª”æ¡ˆæ ¼å¼ã€‚請上載支æ´çš„圖片類型(JPGã€PNGã€GIFã€BMPã€TIFã€PDFã€SVG)'\n },\n vr: {\n selectWebCam: 'é¸æ“‡ç¶²çµ¡æ”影機(如有),或按「ç€è¦½ã€å¾žè£ç½®ä¸Šè¼‰',\n noWebCam: '沒有發ç¾ç¶²çµ¡æ”影機',\n uploadVideo: '上載影片',\n skip: 'è·³éŽï¼Ÿ',\n accessCamUpload: 'å˜å–æ”影機ï¼ä¸Šè¼‰',\n browse: 'ç€è¦½',\n instead: '或者',\n or: '或者',\n stopRecording: 'åœæ¢éŒ„製',\n willBeStopped: '5 分é˜å¾Œæœƒåœæ¢éŒ„製',\n stopOnDone: '完æˆæ™‚è«‹åœæ¢éŒ„製ï¼',\n record: '錄製',\n somethingWrong: '抱æ‰ï¼Œå‡ºç¾éŒ¯èª¤ã€‚è«‹ç¨å¾Œå†è©¦',\n dataReceived: '已收到數據ï¼',\n microphone: '網絡æ”影機',\n camera: 'Web Camera',\n selectMicrophone: 'é¸æ“‡æ‚¨çš„麥克風',\n selectCam: 'é¸æ“‡æ‚¨çš„網絡æ”影機',\n submit: 'æ交',\n upload: '上載新回覆',\n playback: '回放',\n stopPlayback: 'åœæ¢æ’放',\n startOver: 'é‡æ–°é–‹å§‹',\n allDone: '全部完æˆï¼',\n alternativeRecordSpan: '請從電腦è¨å‚™ä¸Šè¼‰å½±ç‰‡ï¼Œæˆ–者使用æ”網絡影機錄製影片。',\n alrenativeRecordHref: '',\n cantAnalyze:\n '注æ„—我們無法採用æ¤å½±ç‰‡ã€‚請嘗試é‡æ–°æ交,看看我們是å¦èƒ½æŽ¥å—,或é¸æ“‡æ›´é€šç”¨çš„å½±ç‰‡æ ¼å¼ï¼ˆMP4ã€M4Vã€WEBPM)',\n wrongFormat: '很抱æ‰â€”我們ä¸æ”¯æ´æ¤æª”æ¡ˆæ ¼å¼ã€‚請上載支æ´çš„影片類型(MP4ã€AVIã€M4Vã€WEBPMã€MOVã€MKVã€MPGã€WMV)'\n },\n cjc: {\n choose: 'é¸æ“‡',\n pleaseChoose: 'è«‹é¸æ“‡',\n this: 'æ¤',\n one: '一',\n myChoice: '我的é¸æ“‡'\n },\n hm: {\n addComment: '請在下方新增評論',\n commentMandatoryPlaceHolder: '請新增強制性評論...',\n commentOptionalPlaceHolder: '請新增é¸å¡«è©•è«–...',\n dragPin: '拉動以改變ä½ç½®ï¼ˆé•·æŒ‰ï¼é•·è§¸ä»¥æº–確固定ä½ç½®ï¼‰ã€‚',\n removePin: '拉到圖片外刪除。',\n editComment: '按下ï¼è¼•è§¸åœ–釘以編輯評論。',\n addPin: '請在下方é¢æ¿æ‹‰å‹•åœ–釘,然後置於您在圖片ä¸é¸æ“‡çš„ä½ç½®ã€‚',\n addPins: '請在下方é¢æ¿æ‹‰å‹•åœ–釘,然後置於您在圖片ä¸é¸æ“‡çš„ä½ç½®ã€‚',\n leavePins: (minPoints, maxPoints) => `æ¯ç¨®åœ–é‡˜è«‹åŠ å…¥è‡³å°‘ ${minPoints} 個但ä¸è¶…éŽ ${maxPoints} 個。`,\n leavePinsAny: (minPoints, maxPoints) => `è«‹åŠ å…¥è‡³å°‘ ${minPoints} 但ä¸è¶…éŽ ${maxPoints} 個任何類別的圖釘。`,\n leavePinsPerPage: (minPoints, maxPoints) => `è«‹åŠ å…¥è‡³å°‘ ${minPoints} 個但ä¸è¶…éŽ ${maxPoints} 個圖釘。`,\n leavePinsWithOff: maxPoints => `æ¯ç¨®åœ–é‡˜è«‹åŠ å…¥ä¸å¤šæ–¼ ${maxPoints} 個,或按下一æ¥è·³éŽã€‚`,\n leavePinsWithOffAny: maxPoints => `è«‹åŠ å…¥ä¸è¶…éŽ ${maxPoints} 個任æ„類別的圖釘,或按「下一æ¥ã€è·³éŽã€‚`,\n leavePinsPerPageWithOff: maxPoints => `è«‹åŠ å…¥ä¸å¤šæ–¼ ${maxPoints} 個圖釘,或按下一æ¥è·³éŽã€‚`,\n leavePinWithOff: `æ¯ç¨®åœ–é‡˜è«‹åŠ å…¥ä¸å¤šæ–¼ 1 個,或按下一æ¥è·³éŽã€‚`,\n leavePinWithOffAny: `è«‹åŠ å…¥ä¸è¶…éŽ 1 個任何類別的圖釘,或按「下一æ¥ã€è·³éŽã€‚`,\n leavePinPerPageWithOff: 'è«‹åŠ å…¥ä¸å¤šæ–¼ {max} 個圖釘,或按下一æ¥è·³éŽã€‚',\n leaveExactlyPin: `æ¯ç¨®åœ–é‡˜è«‹åŠ å…¥ 1 個。`,\n leaveExactlyPinAny: `è«‹åŠ å…¥ 1 個任何類別的圖釘。`,\n leaveExactlyPinPerPage: 'è«‹åŠ å…¥ 1 個圖釘。',\n leaveExactlyPins: maxPoints => `æ¯ç¨®åœ–é‡˜è«‹åŠ å…¥ ${maxPoints} 個。`,\n leaveExactlyPinsAny: maxPoints => `è«‹åŠ å…¥ ${maxPoints} 個任何類別的圖釘。`,\n leaveExactlyPinsPerPage: maxPoints => `è«‹åŠ å…¥ ${maxPoints} 個圖釘。`,\n leaveComment: '請在圖片下方輸入評論。',\n noAnswers: '沒有ç”案é¸é …,請按下一æ¥ç¹¼çºŒã€‚',\n outOfPins: '您的圖釘已用完',\n pinsBehavior: 'ç•¶ä½ åœ¨åœ–åƒä¸Šç§»å‹•æ™‚ï¼Œä½ æœƒçœ‹åˆ°ä¸€äº›åªéœ€æ”¾ä¸‹ä¸€å£åœ–釘便å¯çªå‡ºé¡¯ç¤ºçš„å€åŸŸã€‚',\n clusters: 'ä½ åªèƒ½åœ¨é€™äº›çªå‡ºé¡¯ç¤ºçš„å€åŸŸä¸æ”¾ç½®åœ–釘。',\n contentAware: 'ä½ å¯ä»¥åœ¨çªå‡ºé¡¯ç¤ºå€åŸŸçš„裡é¢æˆ–外é¢æ”¾ä¸‹åœ–釘。'\n },\n mp: {\n expand_note: 'è«‹å°‡æ»‘é¼ æ‡¸åœåœ¨åœ–片上或點擊圖片以展開。',\n rb_note: _rows => '請為以下æ¯é …å„é¸1個ç”案:',\n cb_note: (min, max, _rows) => {\n if (min === max) {\n return `請為下列æ¯é …${min !== 1 ? 'é¸æ“‡ä»»æ„' : '僅é¸æ“‡'} ${min}個回ç”:`\n } else if (min > 0 && max < 5000) {\n return `å°æ–¼ä»¥ä¸‹æ¯é …,請é¸æ“‡è‡³å°‘${min}個ç”案 ,但ä¸è¦è¶…éŽ${max}個:`\n } else if (5000 === max && min > 0) {\n return `å°æ–¼ä»¥ä¸‹æ¯é …,請é¸æ“‡è‡³å°‘${min}個ç”案 :`\n } else if (0 === min && max < 5000) {\n return `å°æ–¼ä»¥ä¸‹æ¯é …,請ä¸è¦é¸æ“‡è¶…éŽ${max}個ç”案:`\n } else {\n return '請勾é¸æ‰€æœ‰é©ç”¨é …目:'\n }\n }\n },\n sh: {\n note: '如果您想在商店ä¸è³¼è²·ç”¢å“,請按產å“æ”¾å¤§ï¼Œç„¶å¾ŒåŠ å…¥æ‚¨çš„è™›æ“¬è³¼ç‰©è»Šä¸',\n amazonNote: '點按產å“ï¼Œå°‡å…¶æ”¾å¤§ï¼Œä¸¦æ·»åŠ åˆ°æ‚¨çš„è™›æ“¬è³¼ç‰©è»Šä¸ã€‚',\n fullCart: '您的購物車已滿ï¼',\n qty: '數é‡',\n addToCart: 'åŠ å…¥è³¼ç‰©è»Š',\n deleteFromCart: '刪除',\n emptyCard: '您的購物車是空的',\n each: 'æ¯å€‹',\n items: 'é …ç›®',\n total: '購物車',\n clearCart: '清空購物車',\n backToStore: '返回商店',\n na: '以上皆éž',\n next: '下一æ¥',\n maxCartCountError: max => `请在您的è´ç‰©è½¦ä¸æ·»åŠ ä¸è¶…过${max}ç§äº§å“`,\n scrollError: `請完全å‘å·¦å³æ²å‹•ä»¥ç¹¼çºŒæ¤å•å·èª¿æŸ¥ã€‚ `,\n maxSpentError: max => `请花费ä¸è¶…过${max}。 `,\n maxProductCountError: max => `在è´ç‰©è½¦ä¸æ·»åŠ æ¯ç§äº§å“çš„æ•°é‡è¯·ä¸è¦è¶…过${max}。`\n },\n rb: {\n note: '請僅é¸æ“‡ 1 é …ï¼š'\n },\n vo: {\n note: '請觀看影片到最後'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `è«‹é¸æ“‡${min !== 1 ? '任何' : '僅'} ${min}é …ï¼š`\n } else if (min > 0 && max < 5000) {\n return `è«‹é¸æ“‡è‡³å°‘ ${min} é …ï¼Œä½†æ¯æ¬„ä¸å¾—è¶…éŽ ${max}: é …ï¼š`\n } else if (5000 === max && min > 0) {\n return `è«‹é¸æ“‡è‡³å°‘ ${min}é …ï¼š`\n } else if (0 === min && max < 5000) {\n return `è«‹é¸æ“‡ä¸è¶…éŽ ${max}项:`\n } else {\n return '請勾é¸æ‰€æœ‰é©ç”¨é …目:'\n }\n }\n },\n\n oe: {\n na: 'ä¸é€‚用',\n note: (min, max, optional) => {\n if (min === max) {\n return `請輸入${1 !== min ? '任何' : '剛好'} ${min} 個å—符${optional ? '(é¸å¡«ï¼‰' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `請輸入至少 ${min} 個å—符 但ä¸è¶…éŽ${max}${optional ? '(é¸å¡«ï¼‰' : ''}:`\n } else if (5000 === max && min > 0) {\n return `請輸入至少 ${min} 個å—符${optional ? '(é¸å¡«ï¼‰' : ''}:`\n } else if (0 === min && max < 5000) {\n return `請輸入ä¸è¶…éŽ ${max} 個å—符${optional ? '(é¸å¡«ï¼‰' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: '請填寫以下å„欄:'\n },\n mx: {\n note: '請移動çªå‡ºé¡¯ç¤ºçš„滑塊繼續',\n dragSlider: 'å‘左或å‘å³æ‹‰å‹•å›žç”'\n },\n psc: {\n dragLeftRight: 'å‘左或å‘å³æ‹‰å‹•å›žç”'\n },\n ps: {\n note: value => `è«‹åœ¨ä»¥ä¸‹é …ç›®ä¹‹é–“åˆ†é… ${value}`,\n allDone: `全部完æˆ`,\n total: `全部的:`,\n dragSlider: 'å‘左或å‘å³æ‹‰å‹•å›žç”'\n },\n cx: {\n note: '打開共用資料夾,開始輸入ç”案以滾動或手動é¸æ“‡'\n },\n ro: {\n note: 'å‘上或å‘下拉動以é‡æ–°æŽ’åºï¼š'\n },\n md: {\n note1: '請按下ï¼è¼•è§¸æ‚¨çš„第一é¸æ“‡<br/>å†æ¬¡æŒ‰ä¸‹ï¼è¼•è§¸ä»¥æ¸…除é¸æ“‡ã€‚',\n note2: 'ç¾åœ¨ï¼Œè«‹æŒ‰ä¸‹ï¼è¼•è§¸æ‚¨çš„最後é¸æ“‡.<br/>å†æ¬¡æŒ‰ä¸‹ï¼è¼•è§¸ä»¥æ¸…除é¸æ“‡ã€‚',\n note3: 'è¬è¬ï¼ç¹¼çºŒå‰å¾€ä¸‹ä¸€å€‹å•é¡Œæˆ–按下ï¼è¼•è§¸ä»»ä½•æœªé¸æ“‡çš„é …ç›®ï¼Œä»¥é‡æ–°é–‹å§‹ã€‚'\n },\n aro: {\n note: '請在以下æ¯çµ„ä¸é¸æ“‡ä¸€é …。'\n },\n wd: {\n note: '請確èªæ¯é …之後的值高於上一個值。'\n },\n emd: {\n note: '請觀看影片到最後',\n noAnswers: '沒有ç”案é¸é …,請按下一æ¥ç¹¼çºŒã€‚',\n start: '點擊並按ä½ä»¥é–‹å§‹',\n resume: '點擊並按ä½ä»¥ç¹¼çºŒ',\n continue: '您準備好了ï¼<br /> 按下一æ¥ç¹¼çºŒ',\n continueMobile: '您準備好了ï¼<br /> 點擊æ¤è™•ç¹¼çºŒ',\n training: {\n session: '培訓課程',\n note: '請完æˆåŸ¹è¨“',\n moveLeft: '請將調節器拉到最左邊',\n moveBottom: '請將調節器拉到底部',\n moveRight: 'ç¾åœ¨ï¼Œè«‹å°‡èª¿ç¯€å™¨æ‹‰åˆ°æœ€å³é‚Š',\n moveTop: 'ç¾åœ¨ï¼Œè«‹å°‡èª¿ç¯€å™¨æ‹‰åˆ°é ‚部',\n success: 'åšå¾—好'\n }\n },\n sft: {\n noAnswers: '沒有ç”案é¸é …,請按下一æ¥ç¹¼çºŒã€‚',\n note: '請用最快的速度以直覺回ç”',\n finish: '大功告æˆï¼è«‹æŒ‰ä¸‹ä¸€æ¥ç¹¼çºŒ',\n training: {\n start:\n '<p>æ¤å•é¡Œæœƒå‘您快速顯示ä¸åŒå–®è©žï¼Œä¸¦ä¸”需è¦æ‚¨é›†ä¸æ³¨æ„力。' +\n '您需è¦å應快速地回ç”</p> <p>準備好練習了嗎?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `按 \"{buttonLeft}\"`\n : (mouse ? `按 \"{buttonLeft}\"` : '') + (key && mouse ? ' / ' : '') + (key ? `按 \"{keyBtnLeft}\" 按` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `按 \"{buttonRight}\"`\n : (mouse ? `按 \"{buttonRight}\"` : '') + (key && mouse ? ' / ' : '') + (key ? `按 \"{keyBtnRight}\" 按` : ''),\n fail: () => '太慢了',\n success: () => '太棒了ï¼',\n finish: () =>\n '<p><strong> 優秀ï¼</strong></p><p>請確ä¿æ‚¨åœ¨æŽ¥ä¸‹ä¾†çš„ 2-3 分é˜ä¸æœƒåˆ†å¿ƒ</p><p>準備好就å¯ä»¥æŒ‰ã€Œä¸‹ä¸€æ¥ã€é–‹å§‹</p>'\n },\n buttons: {\n start: '開始',\n yesno: {\n left: '是',\n right: 'å¦'\n },\n matches: {\n left: '匹é…',\n right: 'ä¸åŒ¹é…'\n },\n fits: {\n left: 'åˆé©',\n right: 'ä¸åˆé©'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n },\n noyes: {\n left: '是',\n right: 'å¦'\n },\n matchesRev: {\n left: '匹é…',\n right: 'ä¸åŒ¹é…'\n },\n fitsRev: {\n left: 'åˆé©',\n right: 'ä¸åˆé©'\n },\n thumbsRev: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { fromJS } from 'immutable'\n\nexport default fromJS({\n questions: {\n noAnswers: '沒有ç”案é¸é …,請按下一æ¥ç¹¼çºŒã€‚',\n placeholder: '請註明...',\n pleaseSelect: 'è«‹é¸æ“‡â€¦â€¦',\n rotateLandscape: '請將手機從直å‘旋轉到橫å‘繼續。',\n rotatePortrait: '請將手機從橫å‘旋轉到直å‘繼續。',\n ir: {\n selectWebCam: 'é¸æ“‡ç¶²çµ¡æ”影機(如有),或按「ç€è¦½ã€å¾žè£ç½®ä¸Šè¼‰',\n noWebCam: '沒有發ç¾ç¶²çµ¡æ”影機',\n accessCamUpload: 'å˜å–æ”影機ï¼ä¸Šè¼‰',\n browse: 'ç€è¦½',\n uploadPhoto: '上載一張照片',\n camera: '網絡æ”影機',\n instead: '或者',\n capture: 'æ‹æ”照片',\n somethingWrong: '抱æ‰ï¼Œå‡ºç¾éŒ¯èª¤ã€‚è«‹ç¨å¾Œå†è©¦',\n couldntRead: '抱æ‰ï¼Œæˆ‘們無法閱讀代碼ï¼',\n couldntProcess: '抱æ‰ï¼Œæˆ‘們無法處ç†æ‚¨çš„圖片ï¼',\n inValidCode: 'è«‹æ交有效的代碼',\n moveOn: 'è«‹é‡è©¦æˆ–æ交照片,然後繼續',\n tryAgain: 'è«‹é‡è©¦',\n dataReceived: '已收到數據ï¼',\n enterManually: 'è«‹é‡è©¦æˆ–在下方手動輸入數據',\n positionQR: '請將二ç¶ç¢¼æ”¾åœ¨ç›¸æ©Ÿå‰ï¼Œç½®æ–¼ç´…框範åœå…§ï¼Œæˆ–從電腦上載。',\n positionQRMobile: '請將二ç¶ç¢¼æ”¾åœ¨ç›¸æ©Ÿå‰ï¼Œç½®æ–¼ç´…框範åœå…§ï¼Œæˆ–從電腦上載。',\n analyzing: 'æ£åœ¨åˆ†æžåœ–片,請ç¨å€™',\n submit: 'æ交',\n startOver: 'é‡æ–°é–‹å§‹',\n allDone: '全部完æˆï¼',\n cantAnalyze:\n '注æ„—我們無法採用æ¤åœ–片。請嘗試é‡æ–°æ交,看看我們是å¦èƒ½æŽ¥å—,或é¸æ“‡æ›´é€šç”¨çš„åœ–ç‰‡æ ¼å¼ï¼ˆJPGã€PNGã€GIFã€BMP)',\n wrongFormat: '很抱æ‰â€”我們ä¸æ”¯æ´æ¤æª”æ¡ˆæ ¼å¼ã€‚請上載支æ´çš„圖片類型(JPGã€PNGã€GIFã€BMPã€TIFã€PDFã€SVG)'\n },\n vr: {\n selectWebCam: 'é¸æ“‡ç¶²çµ¡æ”影機(如有),或按「ç€è¦½ã€å¾žè£ç½®ä¸Šè¼‰',\n noWebCam: '沒有發ç¾ç¶²çµ¡æ”影機',\n uploadVideo: '上載影片',\n skip: 'è·³éŽï¼Ÿ',\n accessCamUpload: 'å˜å–æ”影機ï¼ä¸Šè¼‰',\n browse: 'ç€è¦½',\n instead: '或者',\n or: '或者',\n stopRecording: 'åœæ¢éŒ„製',\n willBeStopped: '5 分é˜å¾Œæœƒåœæ¢éŒ„製',\n stopOnDone: '完æˆæ™‚è«‹åœæ¢éŒ„製ï¼',\n record: '錄製',\n somethingWrong: '抱æ‰ï¼Œå‡ºç¾éŒ¯èª¤ã€‚è«‹ç¨å¾Œå†è©¦',\n dataReceived: '已收到數據ï¼',\n microphone: '網絡æ”影機',\n camera: 'Web Camera',\n selectMicrophone: 'é¸æ“‡æ‚¨çš„麥克風',\n selectCam: 'é¸æ“‡æ‚¨çš„網絡æ”影機',\n submit: 'æ交',\n upload: '上載新回覆',\n playback: '回放',\n stopPlayback: 'åœæ¢æ’放',\n startOver: 'é‡æ–°é–‹å§‹',\n allDone: '全部完æˆï¼',\n alternativeRecordSpan: '請從電腦è¨å‚™ä¸Šè¼‰å½±ç‰‡ï¼Œæˆ–者使用æ”網絡影機錄製影片。',\n alrenativeRecordHref: '',\n cantAnalyze:\n '注æ„—我們無法採用æ¤å½±ç‰‡ã€‚請嘗試é‡æ–°æ交,看看我們是å¦èƒ½æŽ¥å—,或é¸æ“‡æ›´é€šç”¨çš„å½±ç‰‡æ ¼å¼ï¼ˆMP4ã€M4Vã€WEBPM)',\n wrongFormat: '很抱æ‰â€”我們ä¸æ”¯æ´æ¤æª”æ¡ˆæ ¼å¼ã€‚請上載支æ´çš„影片類型(MP4ã€AVIã€M4Vã€WEBPMã€MOVã€MKVã€MPGã€WMV)'\n },\n cjc: {\n choose: 'é¸æ“‡',\n pleaseChoose: 'è«‹é¸æ“‡',\n this: 'æ¤',\n one: '一',\n myChoice: '我的é¸æ“‡'\n },\n hm: {\n addComment: '請在下方新增評論',\n commentMandatoryPlaceHolder: '請新增強制性評論...',\n commentOptionalPlaceHolder: '請新增é¸å¡«è©•è«–...',\n dragPin: '拉動以改變ä½ç½®ï¼ˆé•·æŒ‰ï¼é•·è§¸ä»¥æº–確固定ä½ç½®ï¼‰ã€‚',\n removePin: '拉到圖片外刪除。',\n editComment: '按下ï¼è¼•è§¸åœ–釘以編輯評論。',\n addPin: '請在下方é¢æ¿æ‹‰å‹•åœ–釘,然後置於您在圖片ä¸é¸æ“‡çš„ä½ç½®ã€‚',\n addPins: '請在下方é¢æ¿æ‹‰å‹•åœ–釘,然後置於您在圖片ä¸é¸æ“‡çš„ä½ç½®ã€‚',\n leavePins: (minPoints, maxPoints) => `æ¯ç¨®åœ–é‡˜è«‹åŠ å…¥è‡³å°‘ ${minPoints} 個但ä¸è¶…éŽ ${maxPoints} 個。`,\n leavePinsAny: (minPoints, maxPoints) => `è«‹åŠ å…¥è‡³å°‘ ${minPoints} 但ä¸è¶…éŽ ${maxPoints} 個任何類別的圖釘。`,\n leavePinsPerPage: (minPoints, maxPoints) => `è«‹åŠ å…¥è‡³å°‘ ${minPoints} 個但ä¸è¶…éŽ ${maxPoints} 個圖釘。`,\n leavePinsWithOff: maxPoints => `æ¯ç¨®åœ–é‡˜è«‹åŠ å…¥ä¸å¤šæ–¼ ${maxPoints} 個,或按下一æ¥è·³éŽã€‚`,\n leavePinsWithOffAny: maxPoints => `è«‹åŠ å…¥ä¸è¶…éŽ ${maxPoints} 個任æ„類別的圖釘,或按「下一æ¥ã€è·³éŽã€‚`,\n leavePinsPerPageWithOff: maxPoints => `è«‹åŠ å…¥ä¸å¤šæ–¼ ${maxPoints} 個圖釘,或按下一æ¥è·³éŽã€‚`,\n leavePinWithOff: `æ¯ç¨®åœ–é‡˜è«‹åŠ å…¥ä¸å¤šæ–¼ 1 個,或按下一æ¥è·³éŽã€‚`,\n leavePinWithOffAny: `è«‹åŠ å…¥ä¸è¶…éŽ 1 個任何類別的圖釘,或按「下一æ¥ã€è·³éŽã€‚`,\n leavePinPerPageWithOff: 'è«‹åŠ å…¥ä¸å¤šæ–¼ {max} 個圖釘,或按下一æ¥è·³éŽã€‚',\n leaveExactlyPin: `æ¯ç¨®åœ–é‡˜è«‹åŠ å…¥ 1 個。`,\n leaveExactlyPinAny: `è«‹åŠ å…¥ 1 個任何類別的圖釘。`,\n leaveExactlyPinPerPage: 'è«‹åŠ å…¥ 1 個圖釘。',\n leaveExactlyPins: maxPoints => `æ¯ç¨®åœ–é‡˜è«‹åŠ å…¥ ${maxPoints} 個。`,\n leaveExactlyPinsAny: maxPoints => `è«‹åŠ å…¥ ${maxPoints} 個任何類別的圖釘。`,\n leaveExactlyPinsPerPage: maxPoints => `è«‹åŠ å…¥ ${maxPoints} 個圖釘。`,\n leaveComment: '請在圖片下方輸入評論。',\n noAnswers: '沒有ç”案é¸é …,請按下一æ¥ç¹¼çºŒã€‚',\n outOfPins: '您的圖釘已用完',\n pinsBehavior: 'ç•¶ä½ åœ¨åœ–åƒä¸Šç§»å‹•æ™‚ï¼Œä½ æœƒçœ‹åˆ°ä¸€äº›åªéœ€æ”¾ä¸‹ä¸€å£åœ–釘便å¯çªå‡ºé¡¯ç¤ºçš„å€åŸŸã€‚',\n clusters: 'ä½ åªèƒ½åœ¨é€™äº›çªå‡ºé¡¯ç¤ºçš„å€åŸŸä¸æ”¾ç½®åœ–釘。',\n contentAware: 'ä½ å¯ä»¥åœ¨çªå‡ºé¡¯ç¤ºå€åŸŸçš„裡é¢æˆ–外é¢æ”¾ä¸‹åœ–釘。'\n },\n mp: {\n expand_note: 'è«‹å°‡æ»‘é¼ æ‡¸åœåœ¨åœ–片上或點擊圖片以展開。',\n rb_note: _rows => '請為以下æ¯é …å„é¸1個ç”案:',\n cb_note: (min, max, _rows) => {\n if (min === max) {\n return `請為下列æ¯é …${min !== 1 ? 'é¸æ“‡ä»»æ„' : '僅é¸æ“‡'} ${min}個回ç”:`\n } else if (min > 0 && max < 5000) {\n return `å°æ–¼ä»¥ä¸‹æ¯é …,請é¸æ“‡è‡³å°‘${min}個ç”案 ,但ä¸è¦è¶…éŽ${max}個:`\n } else if (5000 === max && min > 0) {\n return `å°æ–¼ä»¥ä¸‹æ¯é …,請é¸æ“‡è‡³å°‘${min}個ç”案 :`\n } else if (0 === min && max < 5000) {\n return `å°æ–¼ä»¥ä¸‹æ¯é …,請ä¸è¦é¸æ“‡è¶…éŽ${max}個ç”案:`\n } else {\n return '請勾é¸æ‰€æœ‰é©ç”¨é …目:'\n }\n }\n },\n sh: {\n note: '如果您想在商店ä¸è³¼è²·ç”¢å“,請按產å“æ”¾å¤§ï¼Œç„¶å¾ŒåŠ å…¥æ‚¨çš„è™›æ“¬è³¼ç‰©è»Šä¸',\n amazonNote: '點按產å“ï¼Œå°‡å…¶æ”¾å¤§ï¼Œä¸¦æ·»åŠ åˆ°æ‚¨çš„è™›æ“¬è³¼ç‰©è»Šä¸ã€‚',\n fullCart: '您的購物車已滿ï¼',\n qty: '數é‡',\n addToCart: 'åŠ å…¥è³¼ç‰©è»Š',\n deleteFromCart: '刪除',\n emptyCard: '您的購物車是空的',\n each: 'æ¯å€‹',\n items: 'é …ç›®',\n total: '購物車',\n clearCart: '清空購物車',\n backToStore: '返回商店',\n na: '以上皆éž',\n next: '下一æ¥',\n maxCartCountError: max => `è«‹ä¸è¦æ·»åŠ 超éŽ${max}個產å“åˆ°ä½ çš„è»Šä¸`,\n scrollError: `請完全å‘å·¦å³æ²å‹•ä»¥ç¹¼çºŒæ¤å•å·èª¿æŸ¥ã€‚ `,\n maxSpentError: max => `è«‹ä¸è¦èŠ±è²»è¶…éŽ${max}。 `,\n maxProductCountError: max => `å°æ–¼æ¯æ¬¾ç”¢å“,請ä¸è¦åœ¨è³¼ç‰©è»Šä¸æ·»åŠ 超éŽ${max}的數é‡ã€‚`\n },\n rb: {\n note: '請僅é¸æ“‡ 1 é …ï¼š'\n },\n vo: {\n note: '請觀看影片到最後'\n },\n cb: {\n note: (min, max) => {\n if (min === max) {\n return `è«‹é¸æ“‡${min !== 1 ? '任何' : '僅'} ${min}é …ï¼š`\n } else if (min > 0 && max < 5000) {\n return `è«‹é¸æ“‡è‡³å°‘ ${min} é …ï¼Œä½†æ¯æ¬„ä¸å¾—è¶…éŽ ${max}: é …ï¼š`\n } else if (5000 === max && min > 0) {\n return `è«‹é¸æ“‡è‡³å°‘ ${min}é …ï¼š`\n } else if (0 === min && max < 5000) {\n return `è«‹é¸æ“‡ä¸è¶…éŽ ${max}项:`\n } else {\n return '請勾é¸æ‰€æœ‰é©ç”¨é …目:'\n }\n }\n },\n\n oe: {\n na: 'ä¸é€‚用',\n note: (min, max, optional) => {\n if (min === max) {\n return `請輸入${1 !== min ? '任何' : '剛好'} ${min} 個å—符${optional ? '(é¸å¡«ï¼‰' : ''}:`\n } else if (min > 0 && max < 5000) {\n return `請輸入至少 ${min} 個å—符 但ä¸è¶…éŽ${max}${optional ? '(é¸å¡«ï¼‰' : ''}:`\n } else if (5000 === max && min > 0) {\n return `請輸入至少 ${min} 個å—符${optional ? '(é¸å¡«ï¼‰' : ''}:`\n } else if (0 === min && max < 5000) {\n return `請輸入ä¸è¶…éŽ ${max} 個å—符${optional ? '(é¸å¡«ï¼‰' : ''}:`\n } else {\n return ''\n }\n }\n },\n oex: {\n note: '請填寫以下å„欄:'\n },\n mx: {\n note: '請移動çªå‡ºé¡¯ç¤ºçš„滑塊繼續',\n dragSlider: 'å‘左或å‘å³æ‹‰å‹•å›žç”'\n },\n psc: {\n dragLeftRight: 'å‘左或å‘å³æ‹‰å‹•å›žç”'\n },\n ps: {\n note: value => `è«‹åœ¨ä»¥ä¸‹é …ç›®ä¹‹é–“åˆ†é… ${value}`,\n allDone: `全部完æˆ`,\n total: `全部的:`,\n dragSlider: 'å‘左或å‘å³æ‹‰å‹•å›žç”'\n },\n cx: {\n note: '打開共用資料夾,開始輸入ç”案以滾動或手動é¸æ“‡'\n },\n ro: {\n note: 'å‘上或å‘下拉動以é‡æ–°æŽ’åºï¼š'\n },\n md: {\n note1: '請按下ï¼è¼•è§¸æ‚¨çš„第一é¸æ“‡<br/>å†æ¬¡æŒ‰ä¸‹ï¼è¼•è§¸ä»¥æ¸…除é¸æ“‡ã€‚',\n note2: 'ç¾åœ¨ï¼Œè«‹æŒ‰ä¸‹ï¼è¼•è§¸æ‚¨çš„最後é¸æ“‡.<br/>å†æ¬¡æŒ‰ä¸‹ï¼è¼•è§¸ä»¥æ¸…除é¸æ“‡ã€‚',\n note3: 'è¬è¬ï¼ç¹¼çºŒå‰å¾€ä¸‹ä¸€å€‹å•é¡Œæˆ–按下ï¼è¼•è§¸ä»»ä½•æœªé¸æ“‡çš„é …ç›®ï¼Œä»¥é‡æ–°é–‹å§‹ã€‚'\n },\n aro: {\n note: '請在以下æ¯çµ„ä¸é¸æ“‡ä¸€é …。'\n },\n wd: {\n note: '請確èªæ¯é …之後的值高於上一個值。'\n },\n emd: {\n note: '請觀看影片到最後',\n noAnswers: '沒有ç”案é¸é …,請按下一æ¥ç¹¼çºŒã€‚',\n start: '點擊並按ä½ä»¥é–‹å§‹',\n resume: '點擊並按ä½ä»¥ç¹¼çºŒ',\n continue: '您準備好了ï¼<br /> 按下一æ¥ç¹¼çºŒ',\n continueMobile: '您準備好了ï¼<br /> 點擊æ¤è™•ç¹¼çºŒ',\n training: {\n session: '培訓課程',\n note: '請完æˆåŸ¹è¨“',\n moveLeft: '請將調節器拉到最左邊',\n moveBottom: '請將調節器拉到底部',\n moveRight: 'ç¾åœ¨ï¼Œè«‹å°‡èª¿ç¯€å™¨æ‹‰åˆ°æœ€å³é‚Š',\n moveTop: 'ç¾åœ¨ï¼Œè«‹å°‡èª¿ç¯€å™¨æ‹‰åˆ°é ‚部',\n success: 'åšå¾—好'\n }\n },\n sft: {\n noAnswers: '沒有ç”案é¸é …,請按下一æ¥ç¹¼çºŒã€‚',\n note: '請用最快的速度以直覺回ç”',\n finish: '大功告æˆï¼è«‹æŒ‰ä¸‹ä¸€æ¥ç¹¼çºŒ',\n training: {\n start:\n '<p>æ¤å•é¡Œæœƒå‘您快速顯示ä¸åŒå–®è©žï¼Œä¸¦ä¸”需è¦æ‚¨é›†ä¸æ³¨æ„力。' +\n '您需è¦å應快速地回ç”</p> <p>準備好練習了嗎?</p>',\n step1: (touch, mouse, key) =>\n touch\n ? `按 \"{buttonLeft}\"`\n : (mouse ? `按 \"{buttonLeft}\"` : '') + (key && mouse ? ' / ' : '') + (key ? `按 \"{keyBtnLeft}\" 按` : ''),\n step2: (touch, mouse, key) =>\n touch\n ? `按 \"{buttonRight}\"`\n : (mouse ? `按 \"{buttonRight}\"` : '') + (key && mouse ? ' / ' : '') + (key ? `按 \"{keyBtnRight}\" 按` : ''),\n fail: () => '太慢了',\n success: () => '太棒了ï¼',\n finish: () =>\n '<p><strong> 優秀ï¼</strong></p><p>請確ä¿æ‚¨åœ¨æŽ¥ä¸‹ä¾†çš„ 2-3 分é˜ä¸æœƒåˆ†å¿ƒ</p><p>準備好就å¯ä»¥æŒ‰ã€Œä¸‹ä¸€æ¥ã€é–‹å§‹</p>'\n },\n buttons: {\n start: '開始',\n yesno: {\n left: '是',\n right: 'å¦'\n },\n matches: {\n left: '匹é…',\n right: 'ä¸åŒ¹é…'\n },\n fits: {\n left: 'åˆé©',\n right: 'ä¸åˆé©'\n },\n thumbs: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n },\n noyes: {\n left: '是',\n right: 'å¦'\n },\n matchesRev: {\n left: '匹é…',\n right: 'ä¸åŒ¹é…'\n },\n fitsRev: {\n left: 'åˆé©',\n right: 'ä¸åˆé©'\n },\n thumbsRev: {\n left: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsUp\"></i>',\n right: '<i class=\"rfd-ui-button-icon icon-aytmfd-thumbsDown\"></i>'\n }\n }\n }\n }\n})\n","import { IImageAsset } from '@aytm/app/swidget/base/modules/images/types'\n\nexport const IMAGE_ASSET_PATH_FILTER_RESIZE_TO_STRETCH = 'resizest'\nexport const IMAGE_ASSET_PATH_FILTER_RESIZE_TO_LIMIT = 'resizelm'\nexport const IMAGE_ASSET_PATH_FILTER_RESIZE_TO_FIT = 'resizeft'\nexport const IMAGE_ASSET_PATH_FILTER_RESIZE_TO_FILL = 'resizefl'\nexport const IMAGE_ASSET_PATH_FILTER_RESIZE_AND_PAD = 'resizepd'\nexport const IMAGE_ASSET_PATH_FILTER_SMART_CROP = 'smart_crop'\n\nexport const IMAGE_ASSET_SIZE_SMALL = 150\nexport const IMAGE_ASSET_SIZE_MIDDLE = 600\nexport const IMAGE_ASSET_SIZE_BIG = 1920\nexport const OLD_IMAGE_ASSET_WIDTH = 150\nexport const OLD_IMAGE_ASSET_HEIGHT = 68\nexport const OLD_IMAGE_ASSET_WIDTH_MEDIUM = 120\nexport const OLD_IMAGE_ASSET_HEIGHT_MEDIUM = 120\n\nexport const IMAGE_ASSET_PATH_GRAVITY_CENTER = 'c'\n\n// ON CHANGES: please also update this function in public/javascripts/_ui/js/image_resizer.js (legacy code support)\nexport function getImageAssetPath({\n host = (window as { assets_host?: string }).assets_host || '/',\n width,\n height,\n pathPrefix = 'media/cache',\n path = 'no_image',\n filter = '',\n backgroundColor = 'transparent',\n unsharp = false,\n gravity,\n animated = false,\n trim = false,\n json = false\n}: {\n host?: string\n width?: number\n height?: number\n pathPrefix?: string\n path?: string\n filter?: string\n backgroundColor?: string\n unsharp?: boolean\n gravity?: string\n animated?: boolean\n trim?: boolean\n json?: boolean\n} = {}): string {\n return `${\n // host\n '/' === host[host.length - 1] ? host : host + '/'\n }${\n // prefix\n pathPrefix\n }/${json ? 'json' : 'resolve'}/${\n // filter\n filter\n }${\n // dimensions\n width && height ? `_${width}x${height}` : ''\n }${\n // backgroundColor\n 'none' === backgroundColor ? '' : 'string' === typeof backgroundColor ? `_${backgroundColor.toLowerCase()}` : ''\n }${\n // gravity\n gravity && (IMAGE_ASSET_PATH_FILTER_RESIZE_TO_FILL === filter || IMAGE_ASSET_PATH_FILTER_RESIZE_AND_PAD === filter)\n ? `_${gravity}`\n : ''\n }${\n // unsharp\n unsharp ? '_us' : ''\n }${\n // animated\n animated ? '_an' : ''\n }${\n // trim\n trim ? '_trim' : ''\n }/${\n // path\n path\n }`\n}\n\nexport function getSmallAssetPath(asset: IImageAsset, fill?: boolean): string {\n return getImageAssetPath({\n width: IMAGE_ASSET_SIZE_SMALL,\n height: IMAGE_ASSET_SIZE_SMALL,\n filter: fill ? IMAGE_ASSET_PATH_FILTER_RESIZE_TO_FILL : IMAGE_ASSET_PATH_FILTER_RESIZE_TO_LIMIT,\n path: asset?.original_path,\n backgroundColor: 'white'\n })\n}\n\nexport function getOldSmallAssetPath(asset: IImageAsset): string {\n return getImageAssetPath({\n width: OLD_IMAGE_ASSET_WIDTH,\n height: OLD_IMAGE_ASSET_HEIGHT,\n filter: IMAGE_ASSET_PATH_FILTER_RESIZE_AND_PAD,\n backgroundColor: 'white',\n animated: true,\n path: asset?.original_path\n })\n}\n\nexport function getOldMediumAssetPath(asset: IImageAsset): string {\n return getImageAssetPath({\n width: OLD_IMAGE_ASSET_WIDTH_MEDIUM,\n height: OLD_IMAGE_ASSET_HEIGHT_MEDIUM,\n filter: IMAGE_ASSET_PATH_FILTER_RESIZE_AND_PAD,\n backgroundColor: 'white',\n animated: true,\n path: asset?.original_path\n })\n}\n\nexport function getOldLargeAssetPath(asset: IImageAsset): string {\n return getImageAssetPath({\n width: IMAGE_ASSET_SIZE_MIDDLE,\n height: IMAGE_ASSET_SIZE_MIDDLE,\n filter: IMAGE_ASSET_PATH_FILTER_RESIZE_TO_LIMIT,\n backgroundColor: 'white',\n animated: true,\n path: asset?.original_path\n })\n}\n\nexport function getMediumAssetPath(asset: IImageAsset, background?: string): string {\n return getImageAssetPath({\n width: IMAGE_ASSET_SIZE_MIDDLE,\n height: IMAGE_ASSET_SIZE_MIDDLE,\n filter: IMAGE_ASSET_PATH_FILTER_RESIZE_TO_LIMIT,\n path: asset?.original_path,\n animated: true,\n backgroundColor: background || 'white'\n })\n}\n\nexport function getBigAssetPath(asset: IImageAsset, background?: string): string {\n return getImageAssetPath({\n width: IMAGE_ASSET_SIZE_BIG,\n height: IMAGE_ASSET_SIZE_BIG,\n filter: IMAGE_ASSET_PATH_FILTER_RESIZE_TO_LIMIT,\n path: asset?.original_path,\n animated: true,\n backgroundColor: background || 'white'\n })\n}\n","export const hasOwn = Object.hasOwn ? Object.hasOwn.bind(Object) : Object.prototype.hasOwnProperty.call\nexport const isObject = obj => Boolean(obj && 'object' === typeof obj && !Array.isArray(obj))\n\nexport function deepMergeObject(target = {}, source = {}) {\n for (const key in source) {\n if (hasOwn(source, key)) {\n const sourceValue = source[key]\n target[key] =\n isObject(sourceValue) && !Array.isArray(sourceValue)\n ? deepMergeObject(target[key] || {}, sourceValue)\n : sourceValue\n }\n }\n return target\n}\n\nexport function deepMergeCloneObject(target = {}, source = {}) {\n const targetClone = {}\n for (const key in source) {\n if (hasOwn(source, key)) {\n const sourceValue = source[key]\n const targetValue = target[key]\n if (Array.isArray(sourceValue)) {\n targetClone[key] = deepClone(sourceValue)\n } else if (\n null != sourceValue &&\n null != targetValue &&\n 'object' === typeof sourceValue &&\n 'object' === typeof targetValue\n ) {\n targetClone[key] = deepMergeCloneObject(targetValue, sourceValue)\n } else {\n targetClone[key] = deepClone(sourceValue)\n }\n }\n }\n for (const key in target) {\n if (hasOwn(target, key) && 'undefined' === typeof targetClone[key]) {\n targetClone[key] = deepClone(target[key])\n }\n }\n return targetClone\n}\n\nexport function clearObject(target) {\n if ('object' !== typeof target || null === target) {\n return target\n }\n for (const key in target) {\n if (hasOwn(target, key)) {\n delete target[key]\n }\n }\n return target\n}\n\nexport function getIn(target, path, fallbackValue) {\n if (!Array.isArray(path) || 0 === path.length) {\n return 'function' === typeof fallbackValue ? fallbackValue(target, path) : fallbackValue\n }\n\n if ('object' !== typeof target || null === target) {\n return 'function' === typeof fallbackValue ? fallbackValue(target, path) : fallbackValue\n }\n\n let current = target\n\n for (const key of path) {\n if ('undefined' === typeof current[key]) {\n return 'function' === typeof fallbackValue ? fallbackValue(target, path) : fallbackValue\n }\n current = current[key]\n }\n\n return current\n}\n\nexport function deepEqual(obj1, obj2) {\n if (obj1 === obj2) {\n return true\n }\n\n const obj1IsArray = Array.isArray(obj1)\n const obj2IsArray = Array.isArray(obj2)\n\n if (obj1IsArray && obj2IsArray) {\n if (obj1.length !== obj2.length) {\n return false\n }\n // eslint-disable-next-line unicorn/no-for-loop\n for (let i = 0; i < obj1.length; i++) {\n if (!deepEqual(obj1[i], obj2[i])) {\n return false\n }\n }\n return true\n } else if ((obj1IsArray && !obj2IsArray) || (obj2IsArray && !obj1IsArray)) {\n return false\n }\n\n if (null === obj1 && null === obj2) {\n return true\n }\n if ('object' !== typeof obj1 && 'object' !== typeof obj2) {\n return obj1 === obj2\n }\n\n if ('object' !== typeof obj1 || 'object' !== typeof obj2 || null === obj1 || null === obj2) {\n return false\n }\n\n const keys1 = Object.keys(obj1)\n const keys2 = Object.keys(obj2)\n\n if (keys1.length !== keys2.length) {\n return false\n }\n\n for (const key of keys1) {\n if (!keys2.includes(key) || !deepEqual(obj1[key], obj2[key])) {\n return false\n }\n }\n\n return true\n}\n\nexport function shallowEqual(obj1, obj2) {\n if (obj1 === obj2) {\n return true\n }\n const obj1IsArray = Array.isArray(obj1)\n const obj2IsArray = Array.isArray(obj2)\n if (obj1IsArray && obj2IsArray) {\n if (obj1.length !== obj2.length) {\n return false\n }\n // eslint-disable-next-line unicorn/no-for-loop\n for (let i = 0; i < obj1.length; i++) {\n if (obj1[i] !== obj2[i]) {\n return false\n }\n }\n return true\n }\n\n if ((obj1IsArray && !obj2IsArray) || (obj2IsArray && !obj1IsArray)) {\n return false\n }\n\n if (null === obj1 && null === obj2) {\n return true\n }\n\n if ('object' !== typeof obj1 && 'object' !== typeof obj2) {\n return obj1 === obj2\n }\n\n if ('object' !== typeof obj1 || 'object' !== typeof obj2 || null === obj1 || null === obj2) {\n return false\n }\n\n const keys1 = Object.keys(obj1)\n const keys2 = Object.keys(obj2)\n\n if (keys1.length !== keys2.length) {\n return false\n }\n\n for (const key of keys1) {\n if (!keys2.includes(key) || obj1[key] !== obj2[key]) {\n return false\n }\n }\n\n return true\n}\n\nexport function isSubset(subsetObject, mainObject) {\n if (subsetObject === mainObject) {\n return true\n }\n if ('object' !== typeof subsetObject || 'object' !== typeof mainObject) {\n return false\n }\n if (null === subsetObject || null === mainObject) {\n return false\n }\n const subsetKeys = Object.keys(subsetObject)\n for (const key of subsetKeys) {\n if (!hasOwn(mainObject, key) || subsetObject[key] !== mainObject[key]) {\n return false\n }\n }\n return true\n}\n\nfunction deepCloneCircularSafe(obj, seen) {\n if (null == obj || 'object' !== typeof obj) {\n return obj\n }\n\n if (seen.has(obj)) {\n return seen.get(obj)\n }\n\n if (Array.isArray(obj)) {\n const clonedObject = obj.map(item => deepCloneCircularSafe(item, seen))\n seen.set(obj, clonedObject)\n return clonedObject\n } else {\n const clonedObject = {}\n seen.set(obj, clonedObject)\n for (const key in obj) {\n if (hasOwn(obj, key)) {\n clonedObject[key] = deepCloneCircularSafe(obj[key], seen)\n }\n }\n return clonedObject\n }\n}\nexport function deepClone(obj) {\n return deepCloneCircularSafe(obj, new WeakMap())\n}\n\nfunction deepFreezeCircularSafe(obj, seen) {\n if ('object' !== typeof obj || null === obj || Object.isFrozen(obj)) {\n return obj\n }\n\n if (seen.has(obj)) {\n return obj\n }\n seen.add(obj)\n\n for (const key in obj) {\n if (hasOwn(obj, key)) {\n obj[key] = deepFreezeCircularSafe(obj[key], seen)\n }\n }\n return Object.freeze(obj)\n}\nexport function deepFreeze(obj) {\n return deepFreezeCircularSafe(obj, new WeakSet())\n}\n","export interface ISubscriptionListener<DataType = unknown, ContextType = unknown> {\n (data: DataType, context?: ContextType): void\n}\ninterface ISubscriptionEntry<DataType = unknown, ContextType = unknown> {\n listener: ISubscriptionListener<DataType, ContextType>\n context: ContextType\n}\nexport interface ISubscriptionUnsubscribe {\n (): void\n}\n\nexport interface ISubscriptionCatchReporter<ContextType = unknown> {\n (error: unknown, context?: ContextType): void\n}\n\nexport interface ISubscription<DataType = unknown, ContextType = unknown> {\n listen(listener: ISubscriptionListener<DataType, ContextType>, context?: ContextType): ISubscriptionUnsubscribe\n update(data: DataType): void\n clear(): void\n suspend(): void\n get suspended(): boolean\n resume(): void\n catch(reporter: ISubscriptionCatchReporter<ContextType>): void\n}\n\nexport default function Subscription<DataType = unknown, ContextType = unknown>(): ISubscription<\n DataType,\n ContextType\n> {\n // eslint-disable-next-line immutablejs/no-native-map-set\n const subscriptions: Set<ISubscriptionEntry<DataType, ContextType>> = new Set()\n let suspended = false\n let onCatch: ISubscriptionCatchReporter<ContextType> = null\n return {\n listen(listener: ISubscriptionListener<DataType, ContextType>, context: ContextType) {\n if (listener) {\n const subscriptionEntry: ISubscriptionEntry<DataType, ContextType> = { listener, context }\n subscriptions.add(subscriptionEntry)\n return () => void subscriptions.delete(subscriptionEntry)\n } else {\n return () => void 0\n }\n },\n update(data: DataType) {\n if (!suspended) {\n for (const subscriptionEntry of subscriptions) {\n try {\n subscriptionEntry.listener(data, subscriptionEntry.context)\n } catch (error) {\n if (onCatch) {\n onCatch(error, subscriptionEntry.context)\n }\n }\n }\n }\n },\n clear() {\n subscriptions.clear()\n },\n suspend() {\n suspended = true\n },\n get suspended() {\n return suspended\n },\n resume() {\n suspended = false\n },\n catch(reporter) {\n onCatch = reporter\n }\n }\n}\n","let csrfParam = null\nlet csrfToken = null\n\nexport default function CSRFToken() {\n if (null == csrfToken || null == csrfParam) {\n const csrfParamElement = 'undefined' !== typeof document && document.head.querySelector('meta[name=\"csrf-param\"]')\n if (csrfParamElement && csrfParamElement.content) {\n csrfParam = csrfParamElement.content\n }\n const csrfTokenElement = 'undefined' !== typeof document && document.head.querySelector('meta[name=\"csrf-token\"]')\n if (csrfTokenElement && csrfTokenElement.content) {\n csrfToken = csrfTokenElement.content\n }\n }\n return [csrfParam, csrfToken]\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"popupDefaultWidth\":\"200px\",\"popupDefaultHeight\":\"160px\"};","import React from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport autobind from 'autobind-decorator'\nimport PureDataComponent from '@aytm/lib/common/components/pure-component'\nimport { viewport, preprocessText, escapeText } from '@aytm/lib/common/func'\n\nimport LightBox from './light-box'\n\nimport styles from '@aytm/lib/rfd-ui/styles/basic/image-popup.scss'\n\nconst POPUP_PADDING = 5\nconst FRAME_PADDING = 7\nconst SCROLLING_PADDING = 30\nconst LABEL_HEIGHT = 40\n\nexport default class ImagePopup extends PureDataComponent {\n static propTypes = {\n src: PropTypes.string,\n imageProps: PropTypes.object,\n label: PropTypes.string,\n show: PropTypes.bool,\n scrolling: PropTypes.bool,\n loadingIcon: PropTypes.string,\n failedIcon: PropTypes.string,\n closeIcon: PropTypes.string,\n onLoad: PropTypes.func,\n onError: PropTypes.func,\n onClose: PropTypes.func,\n closeOnClick: PropTypes.bool\n }\n\n constructor(props) {\n super(props)\n\n this.animate = true\n this.bodyElm = document.querySelector('body')\n this.bodyElmOverflowBackup = this.bodyElm.style.overflow\n this.state = {\n loading: true,\n loaded: false,\n imageWidth: styles.popupDefaultWidth,\n imageHeight: styles.popupDefaultHeight,\n intrinsicWidth: 0,\n intrinsicHeight: 0\n }\n }\n\n @autobind\n onLoad(event) {\n const target = event.target\n this.setState({ intrinsicWidth: target.naturalWidth, intrinsicHeight: target.naturalHeight })\n\n setTimeout(() => {\n const { onLoad } = this.props\n if ('function' == typeof onLoad) {\n onLoad()\n }\n this.resize()\n }, 10)\n\n this.setState({ loading: false, loaded: true })\n }\n\n @autobind\n onError() {\n this.setState({ intrinsicWidth: 0, intrinsicHeight: 0 })\n\n setTimeout(() => {\n const { onError } = this.props\n if ('function' == typeof onError) {\n onError()\n }\n this.resize()\n }, 10)\n\n this.setState({ loading: false, loaded: false })\n }\n\n @autobind\n handleWindowResize() {\n this.resize()\n }\n\n @autobind\n resizePreload() {\n const { label } = this.props\n\n if (this.refImageFrame) {\n const fWidth = this.refImageFrame.offsetWidth\n const fHeight = this.refImageFrame.offsetHeight\n\n this.setState({\n imageWidth: fWidth - 2 * POPUP_PADDING - 2 * FRAME_PADDING,\n imageHeight: fHeight - 2 * POPUP_PADDING - 2 * FRAME_PADDING - (label ? LABEL_HEIGHT : 0)\n })\n }\n }\n\n @autobind\n resize() {\n const { label, scrolling } = this.props\n const { loaded, intrinsicWidth, intrinsicHeight } = this.state\n\n if (this.refImageFrame) {\n const v = viewport()\n const maxIWidth =\n v.w - 2 * POPUP_PADDING - 2 * FRAME_PADDING - SCROLLING_PADDING - (scrolling ? SCROLLING_PADDING : 0)\n const maxIHeight = v.h - 2 * POPUP_PADDING - 2 * FRAME_PADDING - SCROLLING_PADDING - (label ? LABEL_HEIGHT : 0)\n\n if (loaded) {\n const img =\n this.refImageFrame.querySelector('.rfd-ui-image-popup-image') || this.refImageFrame.querySelector('img')\n\n if (img) {\n let iWidth = Math.max(60, intrinsicWidth)\n let iHeight = Math.max(60, intrinsicHeight)\n\n const ratio = iWidth / iHeight\n\n if (iWidth > maxIWidth) {\n iWidth = maxIWidth\n iHeight = iWidth / ratio\n }\n if (iHeight > maxIHeight) {\n iHeight = maxIHeight\n !scrolling && (iWidth = iHeight * ratio)\n }\n\n this.setState({ imageWidth: iWidth, imageHeight: iHeight })\n\n if (this.animate) {\n const refImageFrame = this.refImageFrame\n\n refImageFrame.classList.add('rfd-ui-image-popup-frame-before-animate')\n setTimeout(() => {\n refImageFrame.classList.remove('rfd-ui-image-popup-frame-before-animate')\n refImageFrame.classList.add('rfd-ui-image-popup-frame-animate')\n setTimeout(() => {\n refImageFrame.classList.remove('rfd-ui-image-popup-frame-animate')\n }, 500)\n }, 100)\n this.animate = false\n }\n } else this.resizePreload()\n } else this.resizePreload()\n }\n }\n\n @autobind\n handleClose() {\n this.animate = true\n\n const { onClose } = this.props\n\n if ('function' == typeof onClose) {\n onClose()\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n super.UNSAFE_componentWillReceiveProps(nextProps)\n\n if (nextProps.show && !this.props.show) {\n if (this.bodyElm) {\n this.bodyElmOverflowBackup = this.bodyElm.style.overflow\n this.bodyElm.style.setProperty('overflow', 'hidden')\n }\n window.addEventListener('resize', this.handleWindowResize)\n } else if (!nextProps.show && this.props.show) {\n if (this.bodyElm) {\n this.bodyElm.style.setProperty('overflow', this.bodyElmOverflowBackup || null)\n }\n window.removeEventListener('resize', this.handleWindowResize)\n }\n\n this.resize()\n }\n\n componentDidMount() {\n super.componentDidMount()\n\n const { show } = this.props\n\n if (show) {\n if (this.bodyElm) {\n this.bodyElmOverflowBackup = this.bodyElm.style.overflow\n this.bodyElm.style.setProperty('overflow', 'hidden')\n }\n window.addEventListener('resize', this.handleWindowResize)\n } else {\n if (this.bodyElm) {\n this.bodyElm.style.setProperty('overflow', this.bodyElmOverflowBackup || null)\n }\n window.removeEventListener('resize', this.handleWindowResize)\n }\n }\n\n componentWillUnmount() {\n super.componentWillUnmount()\n\n if (this.bodyElm) {\n this.bodyElm.style.setProperty('overflow', this.bodyElmOverflowBackup || null)\n }\n window.removeEventListener('resize', this.handleWindowResize)\n }\n\n render() {\n const {\n src,\n imageProps,\n label,\n show,\n scrolling,\n loadingIcon = 'icon-aytmfd-spin aytmfd-spin',\n failedIcon = 'icon-aytmfd-delete',\n closeIcon = 'icon-aytmfd-delete',\n closeOnClick = false\n } = this.props\n const { loading, loaded, imageWidth, imageHeight } = this.state\n\n if (show) {\n const iWidth = imageWidth + (scrolling ? SCROLLING_PADDING : 0)\n const iHeight = imageHeight + (label && loaded ? LABEL_HEIGHT : 0)\n\n return (\n <LightBox onClose={this.handleClose} fullSize={scrolling}>\n <div\n className={classNames('rfd-ui-image-popup-frame', {\n 'rfd-ui-image-popup-frame-loading': loading,\n 'rfd-ui-image-popup-frame-loaded': loaded,\n 'rfd-ui-image-popup-frame-scrolling': loaded && scrolling\n })}\n ref={this.saveRef('ImageFrame')}\n style={{\n width: `${Math.max(styles.popupDefaultWidth, iWidth)}px`,\n height: `${Math.max(styles.popupDefaultHeight, iHeight)}px`,\n margin: `-${iHeight / 2 + FRAME_PADDING}px 0 0 -${iWidth / 2 + FRAME_PADDING}px`,\n padding: `${FRAME_PADDING}px`\n }}\n onClick={closeOnClick ? this.handleClose : null}\n data-testid=\"SW-Image-Popup\"\n >\n <div className=\"rfd-ui-image-popup-close-button\" onClick={this.handleClose}>\n <i className={closeIcon} />\n </div>\n <div className=\"rfd-ui-image-popup-image\">\n <img\n {...imageProps}\n src={src}\n width={`${imageWidth}px`}\n height={scrolling ? 'auto' : `${imageHeight}px`}\n onLoad={this.onLoad}\n onError={this.onError}\n style={closeOnClick ? { cursor: 'pointer' } : null}\n data-testid=\"SW-Image\"\n alt=\"\"\n role=\"presentation\"\n />\n </div>\n {loading && !loaded && (\n <div className=\"rfd-ui-image-popup-image-loader\">\n <i className={loadingIcon} />\n </div>\n )}\n {!loading && !loaded && (\n <div className=\"rfd-ui-image-popup-image-failed\">\n <i className={failedIcon} />\n </div>\n )}\n {label && loaded && (\n <div\n className=\"rfd-ui-image-popup-image-label\"\n style={{ width: `${imageWidth}px`, height: `${LABEL_HEIGHT}px` }}\n dangerouslySetInnerHTML={{ __html: preprocessText(escapeText(label)) }}\n />\n )}\n </div>\n </LightBox>\n )\n } else return null\n }\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport autobind from 'autobind-decorator'\nimport { PureDataComponent } from '@aytm/lib/common/components/pure-component'\nimport { stopEvent } from '@aytm/lib/common/func'\nimport Portal from '@aytm/lib/rfd-ui/components/basic/portal'\n\nimport '@aytm/lib/rfd-ui/styles/basic/light-box.scss'\n\nexport default class LightBox extends PureDataComponent {\n static propTypes = {\n onClose: PropTypes.func\n }\n\n @autobind\n onClick(event) {\n const { onClose, fullSize } = this.props\n if (\n 'function' == typeof onClose &&\n !fullSize &&\n (this.refLightBoxBackdrop == event.target || this.refLightBoxBackdropCenter == event.target)\n ) {\n stopEvent(event)\n onClose()\n return false\n }\n return true\n }\n\n render() {\n const { onClose, children, fullSize, background, className, ...otherProps } = this.props\n\n return (\n <Portal>\n <div\n className={`rfd-ui-light-box ${className ? className : ''}`}\n onMouseDown={this.onClick}\n ref={this.saveRef('LightBoxBackdrop')}\n style={{ backgroundColor: background }}\n {...otherProps}\n >\n <div\n className=\"rfd-ui-light-box-center\"\n onMouseDown={this.onClick}\n ref={this.saveRef('LightBoxBackdropCenter')}\n >\n <div className=\"rfd-ui-light-box-center-content\">{children}</div>\n </div>\n </div>\n </Portal>\n )\n }\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"hint\":\"common-module__hint___2-qaj swidget-question-hint\",\"hint-accept\":\"common-module__hint-accept___1jojX\",\"hint-eject\":\"common-module__hint-eject___2MwHK\",\"hint-neutral\":\"common-module__hint-neutral___3bEjF\",\"hint-skip\":\"common-module__hint-skip___UNpd-\",\"hint-icon\":\"common-module__hint-icon___3HsSi\",\"image-block\":\"common-module__image-block___1i8tM\",\"image-text\":\"common-module__image-text___34aaA\",\"image-border\":\"common-module__image-border___3s74Z\",\"active\":\"common-module__active___27d55\",\"disabled\":\"common-module__disabled___3cFOY\",\"image-container\":\"common-module__image-container___3H3oD\",\"no-answers\":\"common-module__no-answers___11uwi swidget-global-span\"};"],"names":["AssetUploader","_AssetUploader","_ManagedRenderCompone","_classCallCheck","_callSuper","arguments","_inherits","key","value","this","refUploadInput","files","length","uploadFile","file","onUploadFile","props","_this$props","accept","readOnly","children","React","className","style","type","name","onChange","fileSelected","tabIndex","ref","saveRef","ManagedRenderComponent","propTypes","PropTypes","_applyDecoratedDescriptor","_class","prototype","autobind","Object","getOwnPropertyDescriptor","ImagePreview","_ImagePreview","context","_this","state","loading","loaded","previewUrl","previewState","showImage","previewImage","setPreviewImage","nextProps","url","_this2","doubleBuffering","setState","reposition","document","createElement","addEventListener","onPreviewLoaded","setTimeout","mounted","src","popupContent","_this3","onImageLoaded","popup","onImageOpen","freeze","onImageHide","unfreeze","hide","label","imageUrl","maxHeight","maxWidth","minHeight","minWidth","allowScrolling","openImageOnZoomButtonOnly","onUploadImage","uploadImageLabel","onDeleteImage","deleteImageLabel","_this$state","onClick","role","alt","onLoad","onLoaded","ImagePopup","show","scrolling","onClose","hideImage","closeOnClick","prevProps","contextTypes","Popup","PopupContent","_regeneratorRuntime","e","t","r","n","hasOwnProperty","o","defineProperty","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","info","error","moduleLoaded","DevLog","id","ModuleID","config","_props","load","fn","_callee","_context","self","args","apply","err","undefined","log","_len","details","Array","_key","exceptionReporter","String","concat","_toConsumableArray","_log","_console","console","debug","_len2","_key2","moduleLog","module","_len3","_key3","_moduleLog","_len4","_key4","moduleError","_len5","_key5","DEFAULT_LOCALE_CONTEXT","surveyLocaleID","DEFAULT_LOCALE_ID","interfaceLocaleID","LocaleContext","below20","decaPrefix","dict","global","nth","number","Math","floor","navigation","time","almostThere","xrays","mobile","desktop","screenNumber","repeatVideos","buttonLabel","progressBar","questions","noAnswers","placeholder","pleaseSelect","noResults","rotateLandscape","rotatePortrait","exitSimulation","gotIt","ir","selectWebCam","uploadOnly","noWebCam","selectFile","accessCamUpload","browse","uploadPhoto","camera","instead","capture","somethingWrong","couldntRead","couldntProcess","inValidCode","moveOn","tryAgain","dataReceived","enterManually","positionQR","uploadQR","uploadQRMobile","positionQRMobile","analyzing","submit","startOver","allDone","cantAnalyze","wrongFormat","vr_pre","question","answers","panels","pv","vr_optional","vr_required","vr","uploadVideo","skip","or","stopRecording","willBeStopped","stopOnDone","record","microphone","selectMicrophone","selectCam","upload","playback","stopPlayback","alternativeRecordSpan","alrenativeRecordHref","cjc","choose","pleaseChoose","one","myChoice","none","colContent","hm","addComment","commentMandatoryPlaceHolder","commentOptionalPlaceHolder","dragPin","removePin","editComment","addPin","addPins","leavePins","minPoints","maxPoints","leavePinsAny","leavePinsPerPage","leavePinsWithOff","leavePinsWithOffAny","leavePinsPerPageWithOff","leavePinWithOff","leavePinWithOffAny","leavePinPerPageWithOff","leaveExactlyPin","leaveExactlyPinAny","leaveExactlyPinPerPage","leaveExactlyPins","leaveExactlyPinsAny","leaveExactlyPinsPerPage","leaveComment","outOfPins","pinsBehavior","clusters","contentAware","mp","expand_note","rb_note","rows","cb_note","min","max","sh","note","amazonNote","fullCart","qty","each","items","addToCart","deleteFromCart","emptyCard","total","clearCart","backToStore","na","closedFullscreenLabel","researcherWarning","xraysWarning","shelfError_out_of_shelves","shelfError_too_much_products","shelfError_out_of_shelves_fullscreen","shelfError_too_much_products_fullscreen","shelfError_longWidget","shelfError_too_much_shelves","scrollError","emptyCartError","maxCartCountError","maxSpentError","maxProductCountError","application","iosText","androidText","buttonYes","buttonNo","introBody","store","checkout","introFindabilityBody","introHeader","getDaysLeft","days","phrase","amazon","open","subtotal","checkoutMobile","subTotalPrice","goToCart","sign","filters","backToStoreNote","deliverTo","myAddress","top","simulation","exit","back","results","freeShipping1","freeShipping2","add1","add2","seeDetails","sendGift","emptyCart","shoppingCart","inStock","freeDelivery","freeReturns","isGift","learnMore","delete","save","compare","share","continueShopping","info1","info2","cart","all","signMobile","lang","accounts","returns","andOrders","medical","best","basics","todayDeals","music","groceries","customerService","amazonHome","registry","condition","knowUs","careers","newsletter","aboutAmazon","axe","sustain","press","invest","devices","science","money","sellOn","sellApps","supply","protect","affiliate","driver","packageDelivery","advertise","selfPublish","hubPartner","moreWays","payment","visa","storeCard","secureCard","businessCard","points","creditCard","reload","giftCards","converter","helpYou","yourAccount","yourOrders","shippingRates","replacements","manage","recalls","giftList","help","amazonCom","yourLists","sellOnAmazon","findGift","browsing","note54","getShip","backToResults","roll","ratings","searchPage","listPrice","list","prime","getGift","aboutItem","delivery","pickup","fastDelivery","buyNow","seeMore","coupon","sold","tooltip","ideas","idea1","idea2","idea3","idea4","aside1","aside2","aside3","aside4","aside5","aside6","aside7","aside8","aside9","aside10","aside11","aside12","aside13","aside14","aside15","searchAmazon","shape","getFast","getTomorrow","overnight","spendLess","indoor","purchased","up25","to25","to50","to100","to200","recommend","features","theme","color","walmart","noRating","freeShipping","free90days","popularPick","bestSeller","viewAll","oneItem","viewMore","youSave","purchasedOnline","howGet","shipping","arrives","notAvailable","change","arrivesBy","soldBy","quickView","specifications","reviews","itemEligible","addToList","addToRegistry","inStore","price","brand","fullfillment","sortBy","bestMatch","external","images","search","howYouWant","zip","reorder","myItems","signIn","account","department","services","filter1","filter2","filter3","filter4","filter5","filter6","filter7","filter8","filter9","filter10","filter11","filter12","cartEmpty","continue","options","itemsAvailible","orderWithin","remove","saveForLater","showDetails","hideDetails","experience","savings","free","taxes","calcAndCheck","estimate","monthlyPayments","withAffirm","rightsReserved","giveFeedback","caPrivacy","privacyChoice","noticeCollection","requestPersonal","deleteAccount","supplyChains","add","sponsored","now","shippingArrives","subscription","availability","specialOffers","customerRating","recommendedLocation","category","retailer","gifting","thank1","thank2","allDepartments","storeDirectory","ourCompany","accessibility","tax","getApp","signUp","safety","terms","privacy","adChoices","consumer","brandShop","pharmacy","business","iywyk","shop","amount","target","rb","sr","current","starLabel","sbs","switch","select","progress","img","noAlt","vo","cb","oe","optional","hint","invalid","oex","it","cn","placeholderAudio","placeholderText","you","skipper","typing","thinking","sorry","sendMessage","stopPlay","startPlay","startRecording","conersation","mx","note1","dragSlider","psc","dragLeftRight","choise","v1","v2","ps","remaining","input","cx","ro","onDragStart","onDragOver","onDragEnd","onDragCancel","md","note2","note3","selectLast","lastSelected","selectFirst","firstSelected","aro","wd","emd","start","resume","continueMobile","training","session","moveLeft","moveBottom","moveRight","moveTop","success","sft","imageError","step1","touch","mouse","step2","fail","buttons","yesno","left","right","matches","fits","thumbs","noyes","matchesRev","fitsRev","thumbsRev","se","groupLabel","smileys","angry","sad","indifferent","happy","excited","ad","scroll","instagram","suggested","new","follow","footerMenu","sidebarMenu","home","explore","reels","messages","notifications","profile","threads","more","facebook","live","media","photo","feel","video","market","friends","events","pages","memories","groups","bookmarks","feeds","createChat","chats","contacts","end","title","text","preview","subtitle","collapse","expand","close","texts","restart","poweredBy","controls","device","tablet","qrCodeTitle","qrCodeMessage","mode","respondent","researcher","previewOptions","suppressLogic","showNumbers","showHints","showLogic","showHidden","jumpToQuestion","restartFromQuestion","redirect","textSurvey","dismiss","sidebar","rtl","loadDict","_x","_loadDict","localeID","localeDict","_localeDict","_localeDict2","_localeDict3","_localeDict4","_localeDict5","_localeDict6","_localeDict7","_localeDict8","_localeDict9","_localeDict10","_localeDict11","_localeDict12","_localeDict13","_localeDict14","_localeDict15","_localeDict16","_localeDict17","_localeDict18","_localeDict19","_localeDict20","_localeDict21","_localeDict22","_localeDict23","_localeDict24","_localeDict25","_localeDict26","_localeDict27","_localeDict28","_localeDict29","splitLocaleID","t0","toLowerCase","en_us_dict","en_us_rlt","split","LOCALES","EMPTY_LOCALE","PRELOAD_LOCALES","Set","LOCALE_DICT_LOADING","updatedFromServer","ensureLocale","arr","isArray","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","minLen","toString","test","_unsupportedIterableToArray","_nonIterableSpread","len","arr2","_asyncToGenerator","LocaleModule","_ref","_ref$locales","locales","preload","hasOwn","setLocale","loadLocaleDict","size","map","clear","hasLoadedLocale","orLoading","Boolean","has","hasUpdatedFromServerLocale","_callee2","_yield$loadDict","_context2","setLoaded","_ref2","_ref2$setLoaded","_ref2$setUpdatedFromS","setUpdatedFromServer","notify","locale","localeBackupDict","localeBackupOptions","deepFreeze","deepMergeCloneObject","deepEqual","update","path","fallbackValue","getIn","DEFAULT_FALLBACK_VALUE","DEFAULT_FALLBACK_VALUE_WITH_DEFAULT_LOCALE_LOOKUP","_LOCALES$localeID","listener","Subscription","listen","_target","localeContext","useContext","useMemo","_t","localeOptions","Arrow","width","height","viewBox","fill","xmlns","clipPath","Mobile","_ref$color","version","RotateDevice","vertical","useSurveyLocale","dangerouslySetInnerHTML","__html","_get","Reflect","get","bind","property","receiver","base","object","_getPrototypeOf","_superPropBase","desc","decorators","descriptor","initializer","reduce","decorator","instance","Constructor","_defineProperties","_toPropertyKey","_createClass","protoProps","staticProps","toPrimitive","Number","_toPrimitive","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","construct","valueOf","subClass","superClass","_setPrototypeOf","QuestionTheme","_PureDataComponent","accentColor","currentAccentColor","PureDataComponent","accentColorRGB","columns","Question","_Question","_PureDataComponent2","rootEl","isPincherActive","documentElement","answer","imagesLoaded","List","imagesFailed","timeline","initTimeline","loadBigImages","waitForSmallImages","actionResize","actionAfterDidMount","querySelector","focus","validation","validate","pair","questionSchema","preLoadImage","preLoadQuestionImages","paths","collectSmallImages","Image","onload","onerror","smallImagesReady","afterImage","__props","item","loadImage","_loadImage","inFrame","answerModel","answerChanged","response","backendResponse","force","startTime","Date","event","oldTimeline","onLogEvent","timeDif","round","_objectSpread","message","window","Sentry","withScope","scope","setLevel","setExtra","captureMessage","params","data","csrfToken","getCSRFToken","railsPostFetch","body","JSON","stringify","isMobile","display","fontSize","whiteSpace","lineHeight","appendChild","fontFamily","innerHTML","sw","offsetWidth","offsetHeight","widthOffset","heightOffset","minFontSize","ceil","removeChild","_this4","res","fontStyleItem","resizeText","parseInt","_answer","Map","valid","canAdvance","_this5","_this$props2","position","imageCallback","noHeader","expandImages","picture","skipIcon","skipHtml","showHeaderPic","rtlStyle","isRTL","RTL_LOCALES","Fragment","commonStyle","SwidgetImage","replace","SwidgetPinImage","set","resizeForFrame","hasLoaded","includes","renderMobile","renderDesktop","isRequired","part","showErrors","sizeChanged","goNext","Notice","_this$props$showError","_this$props$hideVerti","hideVertically","restProps","_objectWithoutProperties","_excluded","_extends","DEFAULT_ANSWER","fromJS","SCX","_SCX","firstTouch","fetching","initAnswer","requestCxData","callback","cxUrl","cxData","setSize","cur","j","dataToCx","newOptions","skipFilter","toJS","json","_self","_self$refFocusHolder","status","refFocusHolder","_error","updateAnswer","find","el","newAnswer","_this$state2","currentOptions","currentAnswer","hotUpdateAnswer","selectOption","updatedOptions","setIn","_this$state3","answerItem","comment","commentRows","match","zIndex","Select","newIcon","escapeText","onSelect","showSelected","filterOptions","filterStrategy","TextField","changeText","debounce","resizableHeight","renderContent","assign","validateUrl","optionsID","rtlDirCheck","RegExp","html","div","textContent","innerText","default","require","en_us","en_gb","en_ie","ru","ru_ru","ro_ro","ua","uk_ua","fr","fr_fr","fr_ca","es","es_mx","es_us","es_es","de","de_de","da","da_da","da_dk","it_it","pt_br","pt_pt","pt","tr","tr_tr","th","th_th","zh_cn","zh_sg","zh_tw","zh_hk","ko","ko_kr","ja","ja_jp","hi","hi_in","id_id","pl","pl_pl","sv","sv_se","nl","nl_nl","ar","ar_ae","he","he_il","gr","el_gr","no_no","nor","bg","bg_bg","vi","vi_vi","vi_vn","ma","ms_ma","ms_my","fi","fi_fi","mergeDeep","_rows","tap","clustersOnly","_optional","added","fullscreen","closeFullscreen","shelfError","count","products","IMAGE_ASSET_PATH_FILTER_RESIZE_TO_STRETCH","IMAGE_ASSET_PATH_FILTER_RESIZE_TO_LIMIT","IMAGE_ASSET_PATH_FILTER_RESIZE_TO_FIT","IMAGE_ASSET_PATH_FILTER_RESIZE_TO_FILL","IMAGE_ASSET_PATH_FILTER_RESIZE_AND_PAD","IMAGE_ASSET_PATH_FILTER_SMART_CROP","IMAGE_ASSET_SIZE_SMALL","IMAGE_ASSET_SIZE_MIDDLE","IMAGE_ASSET_SIZE_BIG","OLD_IMAGE_ASSET_WIDTH","OLD_IMAGE_ASSET_HEIGHT","OLD_IMAGE_ASSET_WIDTH_MEDIUM","OLD_IMAGE_ASSET_HEIGHT_MEDIUM","IMAGE_ASSET_PATH_GRAVITY_CENTER","getImageAssetPath","_ref$host","host","assets_host","_ref$pathPrefix","pathPrefix","_ref$path","_ref$filter","filter","_ref$backgroundColor","backgroundColor","_ref$unsharp","unsharp","gravity","_ref$animated","animated","_ref$trim","trim","_ref$json","getSmallAssetPath","asset","original_path","getOldSmallAssetPath","getOldMediumAssetPath","getMediumAssetPath","background","getBigAssetPath","isObject","obj","deepMergeObject","source","sourceValue","targetClone","targetValue","deepClone","_step","_iterator","_createForOfIteratorHelper","obj1","obj2","obj1IsArray","obj2IsArray","keys1","keys2","_i","_keys","shallowEqual","_i2","_keys2","isSubset","subsetObject","mainObject","_i3","_subsetKeys","deepCloneCircularSafe","seen","clonedObject","WeakMap","deepFreezeCircularSafe","isFrozen","WeakSet","subscriptions","suspended","onCatch","subscriptionEntry","suspend","reporter","csrfParam","CSRFToken","csrfParamElement","head","content","csrfTokenElement","_ImagePopup","animate","bodyElm","bodyElmOverflowBackup","overflow","imageWidth","styles","imageHeight","intrinsicWidth","intrinsicHeight","naturalWidth","naturalHeight","resize","onError","refImageFrame","fWidth","fHeight","viewport","maxIWidth","w","maxIHeight","iWidth","iHeight","ratio","classList","resizePreload","setProperty","handleWindowResize","removeEventListener","imageProps","_this$props2$loadingI","loadingIcon","_this$props2$failedIc","failedIcon","_this$props2$closeIco","closeIcon","_this$props2$closeOnC","LightBox","handleClose","fullSize","classNames","margin","padding","cursor","preprocessText","_LightBox","refLightBoxBackdrop","refLightBoxBackdropCenter","stopEvent","otherProps","Portal","onMouseDown"],"sourceRoot":""}