├── .dockerignore ├── .gitignore ├── Dockerfile ├── README.md ├── README_CN.md ├── assets └── css │ ├── base.css │ └── main.css ├── components ├── Alert.vue ├── Carousel.vue ├── EmptyContent.vue ├── Footer.vue ├── Home │ ├── Theme1.vue │ └── Theme2.vue ├── Lang │ ├── Ar.vue │ ├── De.vue │ ├── En.vue │ ├── Es.vue │ ├── Fa.vue │ ├── Fr.vue │ ├── Ja.vue │ ├── Kk.vue │ ├── Ko.vue │ ├── Pa.vue │ ├── Pl.vue │ ├── Pt.vue │ ├── Ru.vue │ ├── Switcher.vue │ ├── Tr.vue │ ├── Uk.vue │ ├── Uz.vue │ ├── ZhCN.vue │ └── ZhHK.vue ├── OrderDetailDigital.vue ├── OrderPayments.vue ├── PlaceOrder.vue ├── PriceTag.vue └── btn │ ├── Copy.vue │ ├── MerchantContact.vue │ ├── MerchantIntro.vue │ └── Submit.vue ├── composables ├── useAPIState.ts └── useReq.ts ├── docs └── images │ ├── cf-dns.jpg │ ├── cf-ssl.jpg │ ├── fork.jpg │ ├── sync.jpg │ ├── vercel-add-permission.jpg │ ├── vercel-add-project.jpg │ ├── vercel-deploy-ok.jpg │ ├── vercel-deploy.jpg │ ├── vercel-domain-add.jpg │ ├── vercel-domain-enter.jpg │ └── vercel-project-import.jpg ├── i18n.config.ts ├── i18n ├── auto │ ├── ar.ts │ ├── de.ts │ ├── es.ts │ ├── fa.ts │ ├── fr.ts │ ├── ja.ts │ ├── kk.ts │ ├── ko.ts │ ├── pa.ts │ ├── pl.ts │ ├── pt.ts │ ├── ru.ts │ ├── tr.ts │ ├── uk.ts │ ├── uz.ts │ └── zh-HK.ts ├── en.ts └── zh-CN.ts ├── layouts ├── default.vue └── simplified.vue ├── nuxt.config.ts ├── package-lock.json ├── package.json ├── pages ├── index.vue ├── order │ ├── [...slug].vue │ └── search.vue └── tip.vue ├── plugins └── flowbite.client.ts ├── public └── favicon.ico ├── robots.config.ts ├── server ├── api │ └── [...].js ├── middleware │ └── entrance.js ├── tsconfig.json └── utils │ └── cache.js ├── tailwind.config.js ├── translate.config.js ├── tsconfig.json ├── utils ├── common.ts ├── date.ts ├── encrypt.ts └── i18n.js └── vercel.json /.dockerignore: -------------------------------------------------------------------------------- 1 | .gitignore -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Nuxt dev/build outputs 2 | .output 3 | .data 4 | .nuxt 5 | .nitro 6 | .cache 7 | dist 8 | 9 | # Node dependencies 10 | node_modules 11 | 12 | # Logs 13 | logs 14 | *.log 15 | 16 | # Misc 17 | .DS_Store 18 | .fleet 19 | .idea 20 | 21 | # Local env files 22 | .env 23 | .env.* 24 | !.env.example 25 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | ARG NODE_VERSION=22.5.1 2 | 3 | FROM node:${NODE_VERSION}-slim as base 4 | 5 | ARG PORT=3000 6 | 7 | WORKDIR /src 8 | 9 | # Build 10 | FROM base as build 11 | 12 | COPY --link package.json package-lock.json . 13 | RUN npm install 14 | 15 | COPY --link . . 16 | 17 | RUN npm run build 18 | 19 | # Run 20 | FROM base 21 | 22 | ENV PORT=$PORT 23 | ENV NODE_ENV=production 24 | 25 | COPY --from=build /src/.output /src/.output 26 | 27 | CMD [ "node", ".output/server/index.mjs" ] -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | En [中文](./README_CN.md) 2 | 3 |
4 | 5 |

iDataRiver Theme(Basic)

6 | 7 | This project is an open-source independent website project by [`iDataRiver`](https://www.idatariver.com). 8 | 9 | For project/product management, please go to `iDataRiver` `Console` -> `Project Management`. 10 | 11 | [Business Guide](https://docs.idatariver.com/guide/04.01.merchant.html) / [Demo](https://uselesss.org/) / [Issues](https://github.com/iDataRiver/theme-basic/issues) 12 | 13 |
14 | 15 | ## Community 16 | 17 | * Telegram Merchant Group: https://t.me/idatariver_merchant 18 | * Discord Channel: https://discord.gg/Ag7EUvhub5 19 | 20 | 21 | ## Features 22 | 23 | ### Supported by iDataRiver's backend capabilities 24 | This project is connected to the merchant open API of the `iDataRiver` platform, so it can directly use the data + payment + risk control + security capabilities provided by `iDataRiver`. 25 | 26 | Merchants only need to configure it in the console to use it directly, without having to face the complex and costly underlying implementation. 27 | 28 | ### SEO optimization 29 | The project uses SSR (server-side rendering) technology, so search engines can better index website info. 30 | 31 | ### Highly flexible custom script support 32 | Merchants can add custom JS scripts in the console to greatly increase functional flexibility. 33 | 34 | ### Automatic support for global multi-language translation 35 | Not only does the project itself support multiple languages, it also supports intelligent translation of project/product descriptions into 18 languages ​​by default, making your business truly global. 36 | 37 | ### First-level agent function 38 | The project is fully compatible with the agent function of the platform merchants. For detailed introduction, see [document](https://docs.idatariver.com/guide/04.07.affiliates.html). 39 | 40 | ### Provide basic API encryption 41 | Provides basic API signature encryption functions and also supports merchants to customize signature secret, effectively increasing the threshold for attacks such as ddos. 42 | 43 | ### Secondary development 44 | For developers, you can read [Merchant Open API](https://docs.idatariver.com/guide/04.06.developer.html) for secondary development. 45 | 46 | ## Deploy 47 | 48 | ### Docker 49 | 50 | #### Download Image 51 | ``` 52 | docker pull idatariver/theme-basic:latest 53 | ``` 54 | 55 | #### Run Container, `NUXT_IDATARIVER_MERCHANT_SECRET` is your `deploy secret` 56 | ``` 57 | docker run --name idatariver -d --restart=always --publish 3000:3000 -e NUXT_IDATARIVER_MERCHANT_SECRET=dp_*** idatariver/theme-basic 58 | ``` 59 | 60 | ### Vercel 61 | 62 | This project is developed based on `Nuxt3` and can be directly deployed on platforms such as `Vercel`. 63 | 64 | If you have no deployment experience, you can choose [Quick Deployment Solution](https://docs.idatariver.com/guide/04.10.website.html). 65 | 66 | If you have some deployment experience, you can manually deploy it according to the following steps: 67 | 68 | #### 1. Fork this project to your own `Github` account 69 | 70 | ![fork this project](./docs/images/fork.jpg) 71 | 72 | #### 2. Register a [`Vercel account`](https://vercel.com/), bind the `Github` account in step 1, and authorize access to the forked project 73 | 74 | The `Vercel` account needs to be bound to your mobile phone number. You can use our [SMS Service](https://www.idatariver.com/app/sms-helper) to protect your privacy. 75 | 76 | #### 3. Create a new project in the Vercel console and import the project from step 2: 77 | 78 | Create a project on Vercel 79 | ![vercel create project](./docs/images/vercel-add-project.jpg) 80 | 81 | Add project access permissions 82 | ![vercel add project access permissions](./docs/images/vercel-add-permission.jpg) 83 | 84 | Import the project to be deployed 85 | ![vercel import project](./docs/images/vercel-project-import.jpg) 86 | 87 | Start deploying the project and set the following environment variables: 88 | 89 | ##### `NUXT_IDATARIVER_MERCHANT_SECRET` 90 | Deployment secret, this parameter must be filled in, which can be obtained after configuration in `Merchant Settings` -> `Website` of the [`iDataRiver Console`](https://www.idatariver.com/console/merchant/settings). 91 | 92 | ##### `NUXT_PUBLIC_API_ENCRYPT_KEY` 93 | Optional parameter, used to customize the encryption signature at the API level to obtain better security protection, and its value can be set by yourself. 94 | 95 | ![vercel deployment project](./docs/images/vercel-deploy.jpg) 96 | 97 | After setting the above environment variables, click `Deploy` to deploy, and wait for about a minute for your website to be successfully deployed. 98 | 99 | ![vercel project deployed successfully](./docs/images/vercel-deploy-ok.jpg) 100 | 101 | #### 4. Bind domain name 102 | 103 | > If you don't have a domain name yet, it is strongly recommended to use the [Simple Domain Name service](https://www.idatariver.com/app/domain) provided by `iDataRiver` to fully protect your privacy. 104 | 105 | After the deployment is successful, click the `Domains` and follow the specified operations. 106 | 107 | ![vercel enters domain name configuration](./docs/images/vercel-domain-enter.jpg) 108 | 109 | Add your domain name: 110 | 111 | ![vercel binds domain name](./docs/images/vercel-domain-add.jpg) 112 | 113 | Finally, add the corresponding DNS records to the domain name. 114 | 115 | ##### Use CloudFlare to host your domain 116 | 117 | You can use [`CloudFlare`](https://www.cloudflare.com/) to host your domain for free, you need to configure it as follows: 118 | 119 | After adding the DNS records required by Vercel (proxy mode). 120 | 121 | ![cloudflare adds dns resolution](./docs/images/cf-dns.jpg) 122 | 123 | Set the domain's `SSL/TLS` to `full` end-to-end encryption 124 | 125 | ![cloudflare is set to full end-to-end encryption](./docs/images/cf-ssl.jpg) 126 | 127 | 128 | #### 5. Finally 129 | Now, your website has been successfully deployed and launched. 130 | 131 | If you need to upgrade to the latest version after a period of time, there are two ways: 132 | 133 | 1. Delete the original project in `Vercel`, and then follow the above steps again. 134 | 135 | 2. Manually `Sync` the project you `fork` on `Github`, and then manually trigger a deployment in `Vercel`. 136 | -------------------------------------------------------------------------------- /README_CN.md: -------------------------------------------------------------------------------- 1 | [En](./README.md) 中文 2 | 3 |
4 | 5 |

iDataRiver Theme(Basic)

6 | 7 | 本项目是由[`iDataRiver平台`](https://www.idatariver.com/zh-cn)开源的独立站项目。 8 | 9 | 网站的项目/商品管理请前往[`iDataRiver平台`](https://www.idatariver.com/zh-cn)的`控制台`->`项目管理`进行操作。 10 | 11 | [商户入驻指南](https://docs.idatariver.com/zh/guide/04.01.merchant.html) / [演示 Demo](https://uselesss.org/) / [反馈 Issues](https://github.com/iDataRiver/theme-basic/issues) 12 | 13 | 14 |
15 | 16 | ## 项目交流 17 | 18 | * Telegram商户群: https://t.me/idatariver_merchant 19 | * Discord频道: https://discord.gg/Ag7EUvhub5 20 | 21 | 22 | ## 特点 23 | 24 | ### 基于iDataRiver的后端能力提供支持 25 | 本独立站与`iDataRiver`平台的商户开放API对接, 因此可直接使用`iDataRiver`提供的数据+支付+风控+安全等各项能力。 26 | 27 | 商户只需要在控制台做好配置即可直接使用,不需要自己去面对复杂且成本高昂的底层实现。 28 | 29 | ### SEO优化 30 | 独立站使用SSR(服务端渲染)技术, 因此搜索引擎能更好的索引网站关键词。 31 | 32 | ### 高度灵活的自定义脚本支持 33 | 商户可直接在后台添加自定义JS脚本, 大幅增加功能灵活性。 34 | 35 | ### 自动支持全球多国语言翻译 36 | 不仅独立站本身支持多语言,还默认支持将项目/商品描述智能翻译成18种语言,让你的业务真正全球化。 37 | 38 | ### 一级代理商功能 39 | 独立站前端完全兼容平台商户的代理商功能, 详细介绍可见[文档](https://docs.idatariver.com/zh/guide/04.07.affiliates.html)。 40 | 41 | ### 提供基础的API加密 42 | 本模板提供基础的API签名加密功能,也支持商户自定义签名密钥,有效增加逆向/ddos等攻击门槛。 43 | 44 | ### 二次开发 45 | 对于开发者,可自行对接[商户开放API](https://docs.idatariver.com/zh/guide/04.06.developer.html)进行二次开发。 46 | 47 | 48 | ## 部署 49 | 50 | ### 使用Docker部署 51 | 52 | #### 下载镜像 53 | ``` 54 | docker pull idatariver/theme-basic:latest 55 | ``` 56 | 57 | #### 运行容器, `NUXT_IDATARIVER_MERCHANT_SECRET`需要设置为自己的部署密钥 58 | ``` 59 | docker run --name idatariver -d --restart=always --publish 3000:3000 -e NUXT_IDATARIVER_MERCHANT_SECRET=dp_*** idatariver/theme-basic 60 | ``` 61 | 62 | ### 使用Vercel部署 63 | 64 | 本项目基于`Nuxt3`开发,可在如`Vercel`这类主流的网站托管平台上直接部署上线。 65 | 66 | 如果你没有任何部署经验,可选择[快速部署方案](https://docs.idatariver.com/zh/guide/04.10.website.html)。 67 | 68 | 如果你有一定部署经验,可按如下步骤手动部署: 69 | 70 | #### 1. 将本项目fork到自己的`Github`账号下 71 | 72 | ![fork本项目](./docs/images/fork.jpg) 73 | 74 | #### 2. 注册一个[`Vercel账号`](https://vercel.com/),绑定步骤1的`Github`账号,并授权访问fork的本项目 75 | 76 | `Vercel`账号需要绑定你的手机号,你可以使用我们的[短信接码服务](https://www.idatariver.com/zh-cn/app/sms-helper)来保护自己的隐私。 77 | 78 | #### 3. 在`Vercel`控制台创建一个新项目,导入步骤2的项目: 79 | 80 | 在Vercel上创建项目 81 | ![vercel创建项目](./docs/images/vercel-add-project.jpg) 82 | 83 | 添加项目访问权限 84 | ![vercel添加项目访问权限](./docs/images/vercel-add-permission.jpg) 85 | 86 | 导入要部署的项目 87 | ![vercel导入项目](./docs/images/vercel-project-import.jpg) 88 | 89 | 开始部署项目,并设置以下的环境变量: 90 | 91 | ##### `NUXT_IDATARIVER_MERCHANT_SECRET` 92 | 部署密钥,此参数必须填写,可在[`iDataRiver平台`](https://www.idatariver.com/zh-cn)控制台的`商户设置` -> `独立站` 里配置后获取。 93 | 94 | ##### `NUXT_PUBLIC_API_ENCRYPT_KEY` 95 | 可选参数,用于自定义API层面的加密签名,从而获得更好的安全保护,可以自行设置其值。 96 | 97 | ![vercel部署项目](./docs/images/vercel-deploy.jpg) 98 | 99 | 以上环境变量设置好之后,点击`Deploy`进行部署,等待一分钟左右你的商户独立站就能部署成功。 100 | 101 | ![vercel项目部署成功](./docs/images/vercel-deploy-ok.jpg) 102 | 103 | #### 4. 绑定域名 104 | 105 | > 如果你还没有域名,强烈建议使用`iDataRiver`提供的[域名注册服务](https://www.idatariver.com/zh-cn/app/domain),完全保护你的隐私。 106 | 107 | 部署成功后,点击项目右上角的`Domains`(域名)入口,按照指定操作即可。 108 | 109 | ![vercel进入域名配置](./docs/images/vercel-domain-enter.jpg) 110 | 111 | 添加你的域名: 112 | 113 | ![vercel绑定域名](./docs/images/vercel-domain-add.jpg) 114 | 115 | 最后,给域名添加对应的DNS解析记录即可。 116 | 117 | ##### 使用CloudFlare托管域名 118 | 119 | 如果使用[`CloudFlare`](https://www.cloudflare.com/)免费托管域名,则需要如下配置: 120 | 121 | 添加Vercel要求的DNS解析记录后(代理模式) 122 | 123 | ![cloudflare添加dns解析](./docs/images/cf-dns.jpg) 124 | 125 | 将域名的`SSL/TLS`设置为`完全`端到端加密 126 | 127 | ![cloudflare设置为完全端到端加密](./docs/images/cf-ssl.jpg) 128 | 129 | #### 5. 最后 130 | 131 | 至此,你的独立站已成功部署上线。 132 | 133 | 如果一段时间后需要升级到最新版本,有以下两种方式: 134 | 135 | 1. 在`Vercel`里将原先的项目删除,然后重新按照上面的步骤进行操作一遍。 136 | 137 | 2. 将你在`Github`上`fork`的本项目手动`Sync`同步,然后在`Vercel`里手动触发一次部署即可。 138 | -------------------------------------------------------------------------------- /assets/css/base.css: -------------------------------------------------------------------------------- 1 | /* color palette from */ 2 | :root { 3 | --vt-c-white: #ffffff; 4 | --vt-c-white-soft: #f8f8f8; 5 | --vt-c-white-mute: #f2f2f2; 6 | 7 | --vt-c-black: #181818; 8 | --vt-c-black-soft: #222222; 9 | --vt-c-black-mute: #282828; 10 | 11 | --vt-c-indigo: #2c3e50; 12 | 13 | --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); 14 | --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); 15 | --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); 16 | --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); 17 | 18 | --vt-c-text-light-1: var(--vt-c-indigo); 19 | --vt-c-text-light-2: rgba(60, 60, 60, 0.66); 20 | --vt-c-text-dark-1: var(--vt-c-white); 21 | --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); 22 | } 23 | 24 | /* semantic color variables for this project */ 25 | :root { 26 | --color-background: var(--vt-c-white); 27 | --color-background-soft: var(--vt-c-white-soft); 28 | --color-background-mute: var(--vt-c-white-mute); 29 | 30 | --color-border: var(--vt-c-divider-light-2); 31 | --color-border-hover: var(--vt-c-divider-light-1); 32 | 33 | --color-heading: var(--vt-c-text-light-1); 34 | --color-text: var(--vt-c-text-light-1); 35 | 36 | --section-gap: 160px; 37 | } 38 | 39 | /* @media (prefers-color-scheme: dark) { 40 | :root { 41 | --color-background: var(--vt-c-black); 42 | --color-background-soft: var(--vt-c-black-soft); 43 | --color-background-mute: var(--vt-c-black-mute); 44 | 45 | --color-border: var(--vt-c-divider-dark-2); 46 | --color-border-hover: var(--vt-c-divider-dark-1); 47 | 48 | --color-heading: var(--vt-c-text-dark-1); 49 | --color-text: var(--vt-c-text-dark-2); 50 | } 51 | } */ 52 | 53 | *, 54 | *::before, 55 | *::after { 56 | box-sizing: border-box; 57 | margin: 0; 58 | font-weight: normal; 59 | } 60 | 61 | body { 62 | min-height: 100vh; 63 | color: var(--color-text); 64 | background: var(--color-background); 65 | transition: 66 | color 0.5s, 67 | background-color 0.5s; 68 | line-height: 1.6; 69 | font-family: 70 | Inter, 71 | -apple-system, 72 | BlinkMacSystemFont, 73 | 'Segoe UI', 74 | Roboto, 75 | Oxygen, 76 | Ubuntu, 77 | Cantarell, 78 | 'Fira Sans', 79 | 'Droid Sans', 80 | 'Helvetica Neue', 81 | sans-serif; 82 | font-size: 15px; 83 | text-rendering: optimizeLegibility; 84 | -webkit-font-smoothing: antialiased; 85 | -moz-osx-font-smoothing: grayscale; 86 | } -------------------------------------------------------------------------------- /assets/css/main.css: -------------------------------------------------------------------------------- 1 | @import './base.css'; -------------------------------------------------------------------------------- /components/Alert.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | -------------------------------------------------------------------------------- /components/Carousel.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | -------------------------------------------------------------------------------- /components/EmptyContent.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/Footer.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/Home/Theme1.vue: -------------------------------------------------------------------------------- 1 | 86 | 87 | 88 | 179 | 180 | 181 | 182 | -------------------------------------------------------------------------------- /components/Home/Theme2.vue: -------------------------------------------------------------------------------- 1 | 60 | 61 | 62 | 165 | 166 | 167 | 168 | -------------------------------------------------------------------------------- /components/Lang/De.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/Lang/En.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/Lang/Es.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/Lang/Fr.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/Lang/Ja.vue: -------------------------------------------------------------------------------- 1 | 25 | -------------------------------------------------------------------------------- /components/Lang/Ko.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/Lang/Pl.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/Lang/Ru.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/Lang/Switcher.vue: -------------------------------------------------------------------------------- 1 | 50 | 51 | -------------------------------------------------------------------------------- /components/Lang/Tr.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/Lang/Uk.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/Lang/ZhCN.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/Lang/ZhHK.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/OrderDetailDigital.vue: -------------------------------------------------------------------------------- 1 | 49 | 50 | -------------------------------------------------------------------------------- /components/OrderPayments.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | -------------------------------------------------------------------------------- /components/PlaceOrder.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | -------------------------------------------------------------------------------- /components/PriceTag.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | -------------------------------------------------------------------------------- /components/btn/Copy.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /components/btn/MerchantContact.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 37 | -------------------------------------------------------------------------------- /components/btn/MerchantIntro.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | -------------------------------------------------------------------------------- /components/btn/Submit.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | -------------------------------------------------------------------------------- /composables/useAPIState.ts: -------------------------------------------------------------------------------- 1 | // Basic 2 | export const getBaseUrl = () => { 3 | return process.env.NODE_ENV === 'development' ? 'http://localhost:3001' : useRequestURL().origin 4 | } 5 | 6 | export const useContactTypes = () => { 7 | return useState('contactTypes', () => [ 8 | { 'key': 'email', 'value': 'Email' }, 9 | { 'key': 'telegram', 'value': 'Telegram' }, 10 | { 'key': 'facebook', 'value': 'Facebook' }, 11 | { 'key': 'x', 'value': 'X(Twitter)' }, 12 | { 'key': 'whatsApp', 'value': 'WhatsApp' }, 13 | { 'key': 'line', 'value': 'Line' }, 14 | { 'key': 'wechat', 'value': 'Wechat' }, 15 | { 'key': 'qq', 'value': 'QQ' }, 16 | ]) 17 | } 18 | 19 | // Common 20 | export const useCopyText = () => { 21 | return useState('copyText', () => '') 22 | } 23 | export const useAlertError = () => { 24 | return useState('alertError', () => '') 25 | } 26 | export const useAlertInfo = () => { 27 | return useState('alertInfo', () => '') 28 | } 29 | export const usePostLoading = () => { 30 | return useState('postReqLoading', () => false) 31 | } 32 | export const useGetLoading = () => { 33 | return useState('getReqLoading', () => false) 34 | } 35 | 36 | 37 | // Merchant 38 | export const useDataMerchantBasic = () => { 39 | return useState('DataMerchantBasic', () => { return {} }) 40 | } 41 | export const useDataMerchantInfo = () => { 42 | return useState('DataMerchantInfo', () => { return {} }) 43 | } 44 | 45 | export const stateMerchant = { 46 | async basic(server: boolean) { 47 | const { code, result } = await useReqGet('/api/merchant/basicInfo', { server }, server) 48 | if (server) { 49 | return code === 0 ? result : {} 50 | } else { 51 | if (code === 0) { 52 | useDataMerchantBasic().value = JSON.parse(JSON.stringify(result)) 53 | } 54 | } 55 | }, 56 | async info(server: boolean) { 57 | const { code, result } = await useReqGet('/api/merchant/info', { server }, server) 58 | if (server) { 59 | return code === 0 ? result : {} 60 | } else { 61 | if (code === 0) { 62 | useDataMerchantInfo().value = JSON.parse(JSON.stringify(result)) 63 | } 64 | } 65 | }, 66 | } 67 | 68 | // Order 69 | export const useDataOrder = () => { 70 | return useState('DataOrder', () => { return {} }) 71 | } 72 | export const useDataTxnOrders = () => { 73 | return useState('DataTxnOrders', () => { return {} }) 74 | } 75 | 76 | export const stateOrder = { 77 | async refresh(id: string) { 78 | const { code, result } = await useReqGet('/api/order/info', { id }) 79 | if (code === 0) { 80 | useDataOrder().value = result 81 | } 82 | }, 83 | async add(projectId: string, skuId: string, orderInfo: any) { 84 | const { code, result } = await useReqPost('/api/order/add', { projectId, skuId, orderInfo }) 85 | if (code === 0) { 86 | const orderId = result.orderId 87 | const localePath = useLocalePath() 88 | navigateTo(localePath(`/order/${orderId}`), { 89 | //external: true, 90 | //open: { target: "_blank" }, // safari浏览器会阻止弹窗 91 | }) 92 | } 93 | }, 94 | async pay(method: string, id: string, redirectUrl: string) { 95 | const { code, result } = await useReqPost('/api/order/pay', { method, id, redirect_url: redirectUrl }) 96 | if (code === 0) { 97 | if (result) { 98 | const localePath = useLocalePath() 99 | const payUrl = result.payUrl.startsWith('/') ? localePath(result.payUrl) : result.payUrl 100 | navigateTo(payUrl, { 101 | external: true, 102 | //open: { target: "_blank" }, 103 | }) 104 | } else { 105 | location.reload() 106 | } 107 | } 108 | }, 109 | async search(query: string) { 110 | const { code, result } = await useReqGet('/api/order/search', { query }) 111 | if (code === 0) { 112 | useDataTxnOrders().value = result 113 | } 114 | }, 115 | } -------------------------------------------------------------------------------- /composables/useReq.ts: -------------------------------------------------------------------------------- 1 | const deal = async (url: string, requestOptions: any, isLoading: any) => { 2 | requestOptions.headers['x-idr-locale'] = useNuxtApp().$i18n.locale.value 3 | 4 | isLoading.value = true; 5 | 6 | if (process.client) await nextTick() 7 | 8 | let response: any = {} 9 | 10 | if (requestOptions.server) { 11 | const res: any = await useFetch(url, requestOptions).catch((error) => console.log(error.data)) 12 | const { data } = res 13 | response = data.value 14 | } else { 15 | response = await $fetch(url, requestOptions).catch((error) => console.log(error.data)) 16 | } 17 | 18 | isLoading.value = false 19 | const { code, result, msg } = response; 20 | 21 | if (process.client) { 22 | const alertError = useAlertError() 23 | const alertInfo = useAlertInfo() 24 | if (code === 1004) { 25 | const localePath = useLocalePath() 26 | navigateTo(localePath('/auth/signin')) 27 | alertError.value = useNuxtApp().$i18n.t('need_login') 28 | } else if (msg) { 29 | const msgI18n = msg.startsWith('i18n:') ? useNuxtApp().$i18n.t(msg.slice(5)) : msg 30 | if (code === 0) { 31 | alertInfo.value = msgI18n 32 | } else { 33 | alertError.value = msgI18n 34 | } 35 | } 36 | } 37 | const raw = response 38 | return { code, result, msg, raw } 39 | } 40 | 41 | const useReqGet = async (path: string, params: Object, server: boolean = false) => { 42 | const requestOptions: any = { 43 | method: 'GET', 44 | params: params, 45 | headers: { 'x-sign': encryptReq(path) }, 46 | credentials: 'include', 47 | server: server, 48 | }; 49 | const loading = useGetLoading() 50 | return deal(`${path}`, requestOptions, loading) 51 | } 52 | 53 | const useReqPost = async (path: string, payload: Object, server: boolean = false) => { 54 | const requestOptions: any = { 55 | method: 'POST', 56 | headers: { 'content-type': 'application/json', 'x-sign': encryptReq(path) }, 57 | body: JSON.stringify(payload), 58 | credentials: 'include', 59 | server: server, 60 | }; 61 | const loading = usePostLoading() 62 | return deal(`${path}`, requestOptions, loading) 63 | } 64 | 65 | export { useReqPost, useReqGet } -------------------------------------------------------------------------------- /docs/images/cf-dns.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iDataRiver/theme-basic/32204e1aca5b0dd586142ef6adb835a43d4f52ef/docs/images/cf-dns.jpg -------------------------------------------------------------------------------- /docs/images/cf-ssl.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iDataRiver/theme-basic/32204e1aca5b0dd586142ef6adb835a43d4f52ef/docs/images/cf-ssl.jpg -------------------------------------------------------------------------------- /docs/images/fork.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iDataRiver/theme-basic/32204e1aca5b0dd586142ef6adb835a43d4f52ef/docs/images/fork.jpg -------------------------------------------------------------------------------- /docs/images/sync.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iDataRiver/theme-basic/32204e1aca5b0dd586142ef6adb835a43d4f52ef/docs/images/sync.jpg -------------------------------------------------------------------------------- /docs/images/vercel-add-permission.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iDataRiver/theme-basic/32204e1aca5b0dd586142ef6adb835a43d4f52ef/docs/images/vercel-add-permission.jpg -------------------------------------------------------------------------------- /docs/images/vercel-add-project.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iDataRiver/theme-basic/32204e1aca5b0dd586142ef6adb835a43d4f52ef/docs/images/vercel-add-project.jpg -------------------------------------------------------------------------------- /docs/images/vercel-deploy-ok.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iDataRiver/theme-basic/32204e1aca5b0dd586142ef6adb835a43d4f52ef/docs/images/vercel-deploy-ok.jpg -------------------------------------------------------------------------------- /docs/images/vercel-deploy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iDataRiver/theme-basic/32204e1aca5b0dd586142ef6adb835a43d4f52ef/docs/images/vercel-deploy.jpg -------------------------------------------------------------------------------- /docs/images/vercel-domain-add.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iDataRiver/theme-basic/32204e1aca5b0dd586142ef6adb835a43d4f52ef/docs/images/vercel-domain-add.jpg -------------------------------------------------------------------------------- /docs/images/vercel-domain-enter.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iDataRiver/theme-basic/32204e1aca5b0dd586142ef6adb835a43d4f52ef/docs/images/vercel-domain-enter.jpg -------------------------------------------------------------------------------- /docs/images/vercel-project-import.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iDataRiver/theme-basic/32204e1aca5b0dd586142ef6adb835a43d4f52ef/docs/images/vercel-project-import.jpg -------------------------------------------------------------------------------- /i18n.config.ts: -------------------------------------------------------------------------------- 1 | import en from './i18n/en'; 2 | import zhcn from './i18n/zh-CN'; 3 | 4 | import zhhk from './i18n/auto/zh-HK'; 5 | import ja from './i18n/auto/ja'; 6 | import es from './i18n/auto/es'; 7 | import de from './i18n/auto/de'; 8 | import fr from './i18n/auto/fr'; 9 | import ko from './i18n/auto/ko'; 10 | import tr from './i18n/auto/tr'; 11 | import ru from './i18n/auto/ru'; 12 | import uk from './i18n/auto/uk'; 13 | import uz from './i18n/auto/uz'; 14 | import kk from './i18n/auto/kk'; 15 | import pl from './i18n/auto/pl'; 16 | import ar from './i18n/auto/ar'; 17 | import pt from './i18n/auto/pt'; 18 | import fa from './i18n/auto/fa'; 19 | import pa from './i18n/auto/pa'; 20 | 21 | export default defineI18nConfig(() => ({ 22 | legacy: false, 23 | locale: 'en', 24 | fallbackLocale: 'en', 25 | messages: { 26 | en, 27 | es, 28 | de, 29 | fr, 30 | ja, 31 | 'zh-cn': zhcn, 32 | 'zh-hk': zhhk, 33 | ko, 34 | tr, 35 | ru, 36 | uk, 37 | uz, 38 | kk, 39 | pl, 40 | ar, 41 | pt, 42 | fa, 43 | pa, 44 | }, 45 | })) 46 | -------------------------------------------------------------------------------- /i18n/auto/ar.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: "لم يكن المنتج أو المشروع عبر الإنترنت.", 3 | server_order_stock_not_enough: "الأسهم غير كافية", 4 | server_order_quantity_error: "خطأ الكمية.", 5 | server_order_contact_info_error: "خطأ معلومات الاتصال.", 6 | server_request_failed: "فشل الطلب", 7 | server_apikey_already_exists: "Apikey موجود بالفعل", 8 | server_param_error: "خطأ بارام", 9 | server_too_frequency: "أرسل مرات عديدة", 10 | server_email_code_send_failed: "فشل إرسال رمز البريد الإلكتروني", 11 | server_verify_expired: "تحقق من انتهاء صلاحيتها", 12 | server_verify_failed: "التحقق من فشل", 13 | server_order_not_exists: "الطلب لا يوجد أو يتطلب تسجيل الدخول للوصول", 14 | server_pay_failed: "فشل الدفع", 15 | server_at_most_buy_one: "على الأكثر شراء واحد", 16 | server_no_pricing_tip: "لا الأسعار المتاحة", 17 | server_order_pay_sku_locked: "العمل مشغول ، يرجى المحاولة مرة أخرى لاحقًا.", 18 | server_insufficient_stock: "الأسهم غير كافية", 19 | server_internal_error: "خطأ الفاصل", 20 | server_order_payment_succ: "طلب دفع النجاح", 21 | server_internal_exception: "استثناء داخلي", 22 | server_order_wrong_payment_user: "مستخدم الدفع الخاطئ", 23 | server_order_pay_status_error: "لا يمكن للطلب paied", 24 | server_order_expired: "انتهى الأمر", 25 | server_insufficient_credits: "ائتمانات غير كافية", 26 | server_redeem_code_unknown: "رمز الاسترداد لا يوجد", 27 | server_account_not_exists: "الحساب غير موجود", 28 | server_email_invalid: "البريد الإلكتروني غير صالح", 29 | server_email_illegal: "البريد الإلكتروني غير قانوني", 30 | server_email_already_verified: "البريد الإلكتروني تم التحقق منه بالفعل", 31 | server_email_already_registered: 32 | "هذا البريد الإلكتروني مسجل بالفعل ، يرجى تسجيل الدخول.", 33 | server_email_or_pass_invalid: "البريد الإلكتروني أو كلمة المرور غير صالحة", 34 | server_please_sign_up_first: "الرجاء الاشتراك أولا", 35 | server_pass_invalid: "كلمة المرور غير صالحة", 36 | server_verify_code_invalid: "رمز غير صالح", 37 | server_please_bind_email_first: "يرجى ربط بريدك الإلكتروني أولاً", 38 | server_need_login: "تحتاج تسجيل الدخول", 39 | server_already_binded: "بالفعل مضغوط", 40 | server_withdraw_amount_error: "خطأ في المبلغ", 41 | server_pls_fill_wallet_first: "يرجى ملء معلومات المحفظة أولاً", 42 | server_already_withdrawal_processing: "بالفعل انسحاب تتم معالجته", 43 | server_exceed_max_create_num: "تجاوز Maximun num", 44 | server_specific_sku_can_not_empty: "عنصر محدد لا يمكن أن يكون فارغًا", 45 | server_max_one_global_plan: "خطة عالمية واحدة كحد أقصى", 46 | server_specific_plan_has_exists_item: "يوجد بالفعل عنصر في الخطة المحددة", 47 | server_project_not_exists: "المشروع لا يوجد", 48 | server_sku_name_already_exists: "الاسم موجود بالفعل", 49 | server_slug_already_exists: "سبيكة موجودة بالفعل", 50 | server_create_payment_failed: "فشل إنشاء فاتورة", 51 | server_not_found: "لم يتم العثور عليها", 52 | server_need_bind_telegram: "يرجى ربط حساب Telegram الخاص بك أولاً.", 53 | server_op_success: "عملية ناجحة", 54 | server_op_failed: "فشلت العملية", 55 | per_request: "/طلب", 56 | per_item: "/غرض", 57 | free_price_tag: "حر", 58 | freemium_price_tag: "freemium", 59 | low_to: "منخفضة ل", 60 | dynamic_pricing_tag: "ادفع كما تذهب", 61 | stock: "مخزون", 62 | Sold_out: "نفذ", 63 | All: "الجميع", 64 | Notice: "يلاحظ", 65 | Close: "يغلق", 66 | Contact_Merchant: "اتصل بنا", 67 | no_provider_contact_info: "التاجر لم يقدم أي معلومات اتصال.", 68 | No_Skus: "لا منتجات", 69 | more_see_doc: "انظر الوثائق لمزيد من التفاصيل.", 70 | Quantity: "كمية", 71 | Contact_Information: "معلومات الاتصال", 72 | Coupon: "قسيمة", 73 | place_order: "يشتري", 74 | order_contact_info_placeholder: "البريد الإلكتروني أو رقم الهاتف", 75 | Unit_Price: "سعر الوحدة (USD)", 76 | Stage_Price: "سعر المرحلة", 77 | sku_pricing: "التسعير", 78 | at_most_buy_one: "على الأكثر شراء واحد", 79 | automatic_delivery: "صفقة تلقائية", 80 | header_search_order: "أوامر البحث", 81 | Search_Order: "يبحث", 82 | search_order_input_placeholder: "الرجاء إدخال معلومات الاتصال أو OrderID", 83 | txn_order_id: "معرف الطلب", 84 | Name: "اسم", 85 | Price: "سعر", 86 | Status: "حالة", 87 | Date: "تاريخ", 88 | txn_order_status_NEW: "جديد", 89 | txn_order_status_EXPIRED: "منتهي الصلاحية", 90 | txn_order_status_PAID: "مدفوع", 91 | txn_order_status_DONE: "مكتمل", 92 | txn_order_status_REFUND: "استرداد", 93 | tansation_not_found: "لم يتم العثور على تاريخ حتى الآن", 94 | search_order_tip1: "عرض ما يصل إلى 10 أوامر في غضون 30 يومًا.", 95 | order_digital_items: "العناصر المشتراة", 96 | charge_btn: "يدفع", 97 | order_id: "معرف الطلب", 98 | order_ori_price: "السعر الأصلي", 99 | order_pay_price: "سعر الرواتب", 100 | order_coupon: "قسيمة", 101 | creation_date: "تاريخ الخلق", 102 | order_expired: "انتهى الأمر", 103 | order_paid: "مدفوع", 104 | order_done: "تم الانتهاء من الطلب", 105 | order_tip1: 106 | "‼ بعد الانتهاء من الدفع ، يرجى العودة إلى هذه الصفحة لعرض المحتوى الذي تم شراؤه.", 107 | minutes: "دقائق", 108 | seconds: "ثانية", 109 | order_countdown: "العد التنازلي للدفع", 110 | sku_desc: "وصف المنتج", 111 | project_desc: "وصف المشروع", 112 | back_to_home: "خلف", 113 | order_anonymous_tip: "يمكنك الحصول على أحدث الطلبات في صفحة الاستعلام.", 114 | platform_payment_alipay: "alipay", 115 | platform_payment_wxpay: "WeChat Pay", 116 | platform_payment_crypto: "أجر التشفير", 117 | platform_payment_hiicash: "Hiicash الدفع", 118 | hiicash_vendor_tip: "لشراء قسائم hiicash.", 119 | Search: "يبحث", 120 | product_name: "اسم المنتج", 121 | DIGITAL: "المنتج الرقمي", 122 | GROUP: "عضوية المجموعة", 123 | MANUAL: "الخدمة اليدوية", 124 | Payment_fee: "رسوم الدفع", 125 | LICENSE: "خدمة الترخيص", 126 | platform_payment_onramp: "شراء التشفير للدفع", 127 | USD: "دولار أمريكي", 128 | }; 129 | -------------------------------------------------------------------------------- /i18n/auto/de.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: 3 | "Das Produkt oder Projekt war nicht online.", 4 | server_order_stock_not_enough: "Unzureichender Bestand", 5 | server_order_quantity_error: "Mengenfehler.", 6 | server_order_contact_info_error: "Kontaktinformationsfehler.", 7 | server_request_failed: "Anfrage fehlgeschlagen", 8 | server_apikey_already_exists: "Apikey existiert bereits", 9 | server_param_error: "Paramefehler", 10 | server_too_frequency: "Senden Sie zu oft", 11 | server_email_code_send_failed: "E -Mail -Code senden fehlgeschlagen", 12 | server_verify_expired: "Überprüfen Sie abgelaufen", 13 | server_verify_failed: "Überprüfen Sie fehlgeschlagen", 14 | server_order_not_exists: 15 | "Bestellung existiert nicht oder erfordert Anmeldung zum Zugriff", 16 | server_pay_failed: "Bezahlung fehlgeschlagen", 17 | server_at_most_buy_one: "Höchstens kaufen eine", 18 | server_no_pricing_tip: "Keine verfügbaren Preise", 19 | server_order_pay_sku_locked: 20 | "Das Geschäft ist beschäftigt, bitte versuchen Sie es später erneut.", 21 | server_insufficient_stock: "Unzureichender Bestand", 22 | server_internal_error: "Intervallfehler", 23 | server_order_payment_succ: "Zahlungszahlung erfolgreich", 24 | server_internal_exception: "Interne Ausnahme", 25 | server_order_wrong_payment_user: "Falscher Zahlungsbenutzer", 26 | server_order_pay_status_error: "Bestellung kann nicht puzentiert", 27 | server_order_expired: "Bestellung ist abgelaufen", 28 | server_insufficient_credits: "Unzureichende Credits", 29 | server_redeem_code_unknown: "Code einlösen nicht existiert nicht", 30 | server_account_not_exists: "Konto existiert nicht", 31 | server_email_invalid: "E -Mail ungültig", 32 | server_email_illegal: "E -Mail illegal", 33 | server_email_already_verified: "E -Mail bereits überprüft", 34 | server_email_already_registered: 35 | "Diese E -Mail bereits registriert, bitte melden Sie sich an.", 36 | server_email_or_pass_invalid: "E -Mail oder Passwort ungültig", 37 | server_please_sign_up_first: "Bitte melden Sie sich zuerst an", 38 | server_pass_invalid: "Passwort ungültig", 39 | server_verify_code_invalid: "Code ungültig", 40 | server_please_bind_email_first: "Bitte binden Sie zuerst Ihre E -Mail", 41 | server_need_login: "Brauche Anmeldung", 42 | server_already_binded: "Bereits gebunden", 43 | server_withdraw_amount_error: "Betrag Fehler", 44 | server_pls_fill_wallet_first: 45 | "Bitte füllen Sie zuerst die Brieftascheninformationen aus", 46 | server_already_withdrawal_processing: 47 | "Bereits eine Auszahlung, die verarbeitet wird", 48 | server_exceed_max_create_num: "Maximun num überschreiten", 49 | server_specific_sku_can_not_empty: 50 | "Spezifischer Gegenstand kann nicht leer sein", 51 | server_max_one_global_plan: "Maximal ein globaler Plan", 52 | server_specific_plan_has_exists_item: 53 | "Einige Gegenstände gibt es bereits im spezifischen Plan", 54 | server_project_not_exists: "Projekt existiert nicht", 55 | server_sku_name_already_exists: "Name existiert bereits", 56 | server_slug_already_exists: "Slug existiert bereits", 57 | server_create_payment_failed: "Erstellen Sie die Rechnung fehlgeschlagen", 58 | server_not_found: "Nicht gefunden", 59 | server_need_bind_telegram: "Bitte binden Sie zuerst Ihr Telegrammkonto.", 60 | server_op_success: "Operation erfolgreich", 61 | server_op_failed: "Operation fehlgeschlagen", 62 | per_request: "/Anfrage", 63 | per_item: "/Artikel", 64 | free_price_tag: "Frei", 65 | freemium_price_tag: "Freemium", 66 | low_to: "Niedrig zu", 67 | dynamic_pricing_tag: "Zahle, während du gehst", 68 | stock: "Aktie", 69 | Sold_out: "Ausverkauft", 70 | All: "Alle", 71 | Notice: "Beachten", 72 | Close: "Schließen", 73 | Contact_Merchant: "Kontaktieren Sie uns", 74 | no_provider_contact_info: 75 | "Händler hat keine Kontaktinformationen bereitgestellt.", 76 | No_Skus: "Keine Produkte", 77 | more_see_doc: "Weitere Informationen finden Sie unter Dokumentation.", 78 | Quantity: "Menge", 79 | Contact_Information: "Kontaktinformationen", 80 | Coupon: "Coupon", 81 | place_order: "Kaufen", 82 | order_contact_info_placeholder: "E -Mail- oder Telefonnummer", 83 | Unit_Price: "Einheitspreis (USD)", 84 | Stage_Price: "Stufe", 85 | sku_pricing: "Preisgestaltung", 86 | at_most_buy_one: "Höchstens kaufen eine", 87 | automatic_delivery: "Automatischer Deal", 88 | header_search_order: "Suchbestellungen", 89 | Search_Order: "Suchen", 90 | search_order_input_placeholder: 91 | "Bitte geben Sie Kontaktinformationen oder OrderID ein", 92 | txn_order_id: "Bestellausweis", 93 | Name: "Name", 94 | Price: "Preis", 95 | Status: "Status", 96 | Date: "Datum", 97 | txn_order_status_NEW: "Neu", 98 | txn_order_status_EXPIRED: "Abgelaufen", 99 | txn_order_status_PAID: "Bezahlt", 100 | txn_order_status_DONE: "Vollendet", 101 | txn_order_status_REFUND: "Erstattung", 102 | tansation_not_found: "Noch keine Geschichte gefunden", 103 | search_order_tip1: 104 | "Zeigen Sie innerhalb von 30 Tagen bis zu 10 Bestellungen an.", 105 | order_digital_items: "Gekaufte Artikel", 106 | charge_btn: "Zahlen", 107 | order_id: "Bestellausweis", 108 | order_ori_price: "Originalpreis", 109 | order_pay_price: "Zahlungspreis", 110 | order_coupon: "Coupon", 111 | creation_date: "Schöpfungsdatum", 112 | order_expired: "Bestellung ist abgelaufen", 113 | order_paid: "Bezahlt", 114 | order_done: "Bestellung abgeschlossen", 115 | order_tip1: 116 | "‼ Nach Abschluss der Zahlung kehren Sie bitte auf diese Seite zurück, um den gekauften Inhalt anzuzeigen.", 117 | minutes: "Minuten", 118 | seconds: "Sek", 119 | order_countdown: "Zahlungscountdown", 120 | sku_desc: "Produktbeschreibung", 121 | project_desc: "Projektbeschreibung", 122 | back_to_home: "Zurück", 123 | order_anonymous_tip: 124 | "Sie können die neuesten Bestellungen auf der Abfrageseite erhalten.", 125 | platform_payment_alipay: "Alipay", 126 | platform_payment_wxpay: "Wechat -Bezahlung", 127 | platform_payment_crypto: "Krypto bezahlen", 128 | platform_payment_hiicash: "Hiicash Bezahlung", 129 | hiicash_vendor_tip: "Hiicash -Gutscheine kaufen.", 130 | Search: "Suchen", 131 | product_name: "Produktname", 132 | DIGITAL: "Digitales Produkt", 133 | GROUP: "Gruppenmitgliedschaft", 134 | MANUAL: "Manueller Service", 135 | Payment_fee: "Zahlungsgebühren", 136 | LICENSE: "Lizenzservice", 137 | platform_payment_onramp: "Kaufen Sie Krypto, um zu bezahlen", 138 | USD: "USD", 139 | }; 140 | -------------------------------------------------------------------------------- /i18n/auto/es.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: 3 | "El producto o proyecto no ha estado en línea.", 4 | server_order_stock_not_enough: "Stock insuficiente", 5 | server_order_quantity_error: "Error de cantidad.", 6 | server_order_contact_info_error: "Error de información de contacto.", 7 | server_request_failed: "Solicitud fallida", 8 | server_apikey_already_exists: "Apikey ya existe", 9 | server_param_error: "Error de parámetro", 10 | server_too_frequency: "Enviar demasiadas veces", 11 | server_email_code_send_failed: 12 | "Enviar el código de correo electrónico fallido", 13 | server_verify_expired: "Verificar expirado", 14 | server_verify_failed: "Verificar fallido", 15 | server_order_not_exists: 16 | "El pedido no existe o requiere inicio de sesión para acceder", 17 | server_pay_failed: "Pagado fallido", 18 | server_at_most_buy_one: "A lo máximo de compra uno", 19 | server_no_pricing_tip: "No hay precios disponibles", 20 | server_order_pay_sku_locked: 21 | "El negocio está ocupado, intente nuevamente más tarde.", 22 | server_insufficient_stock: "Stock insuficiente", 23 | server_internal_error: "Error de intervalo", 24 | server_order_payment_succ: "Pago de pedido exitoso", 25 | server_internal_exception: "Excepción interna", 26 | server_order_wrong_payment_user: "Usuario de pago incorrecto", 27 | server_order_pay_status_error: "El pedido no puede aparecer", 28 | server_order_expired: "El pedido ha expirado", 29 | server_insufficient_credits: "Créditos insuficientes", 30 | server_redeem_code_unknown: "El código de redimir no existe", 31 | server_account_not_exists: "La cuenta no existe", 32 | server_email_invalid: "Correo electrónico inválido", 33 | server_email_illegal: "Correo electrónico ilegal", 34 | server_email_already_verified: "Correo electrónico ya verificado", 35 | server_email_already_registered: 36 | "Este correo electrónico ya está registrado, inicie sesión.", 37 | server_email_or_pass_invalid: "Correo electrónico o contraseña inválida", 38 | server_please_sign_up_first: "Por favor regístrese primero", 39 | server_pass_invalid: "Contraseña inválida", 40 | server_verify_code_invalid: "Código inválido", 41 | server_please_bind_email_first: 42 | "Por favor, ata tu correo electrónico primero", 43 | server_need_login: "Necesito inicio de sesión", 44 | server_already_binded: "Ya vinculado", 45 | server_withdraw_amount_error: "Error de cantidad", 46 | server_pls_fill_wallet_first: 47 | "Primero complete la información de la billetera", 48 | server_already_withdrawal_processing: "Ya un retiro que se está procesando", 49 | server_exceed_max_create_num: "Exceder maximun num", 50 | server_specific_sku_can_not_empty: 51 | "El artículo específico no puede estar vacío", 52 | server_max_one_global_plan: "Máximo un plan global", 53 | server_specific_plan_has_exists_item: 54 | "Algún artículo ya existe en el plan específico", 55 | server_project_not_exists: "El proyecto no existe", 56 | server_sku_name_already_exists: "El nombre ya existe", 57 | server_slug_already_exists: "Slug ya existe", 58 | server_create_payment_failed: "Crear factura fallida", 59 | server_not_found: "Extraviado", 60 | server_need_bind_telegram: "Vega primero su cuenta de telegrama.", 61 | server_op_success: "Operación exitosa", 62 | server_op_failed: "Operación fallida", 63 | per_request: "/pedido", 64 | per_item: "/artículo", 65 | free_price_tag: "Gratis", 66 | freemium_price_tag: "Freemium", 67 | low_to: "Bajo", 68 | dynamic_pricing_tag: "Paga a medida que avanza", 69 | stock: "Existencias", 70 | Sold_out: "Agotado", 71 | All: "Todo", 72 | Notice: "Aviso", 73 | Close: "Cerca", 74 | Contact_Merchant: "Contáctenos", 75 | no_provider_contact_info: 76 | "El comerciante no ha proporcionado ninguna información de contacto.", 77 | No_Skus: "Sin productos", 78 | more_see_doc: "Vea la documentación para más detalles.", 79 | Quantity: "Cantidad", 80 | Contact_Information: "Información del contacto", 81 | Coupon: "Cupón", 82 | place_order: "Comprar", 83 | order_contact_info_placeholder: "Correo electrónico o número de teléfono", 84 | Unit_Price: "Precio unitario (USD)", 85 | Stage_Price: "Precio escénico", 86 | sku_pricing: "Fijación de precios", 87 | at_most_buy_one: "A lo máximo de compra uno", 88 | automatic_delivery: "Oferta automática", 89 | header_search_order: "Órdenes de búsqueda", 90 | Search_Order: "Buscar", 91 | search_order_input_placeholder: 92 | "Ingrese la información de contacto o el pedido", 93 | txn_order_id: "ID de pedido", 94 | Name: "Nombre", 95 | Price: "Precio", 96 | Status: "Estado", 97 | Date: "Fecha", 98 | txn_order_status_NEW: "Nuevo", 99 | txn_order_status_EXPIRED: "Venció", 100 | txn_order_status_PAID: "Pagado", 101 | txn_order_status_DONE: "Terminado", 102 | txn_order_status_REFUND: "Reembolso", 103 | tansation_not_found: "Todavía no se encuentra la historia", 104 | search_order_tip1: "Muestra hasta 10 pedidos dentro de los 30 días.", 105 | order_digital_items: "Artículos comprados", 106 | charge_btn: "Pagar", 107 | order_id: "ID de pedido", 108 | order_ori_price: "Precio original", 109 | order_pay_price: "Precio de pago", 110 | order_coupon: "Cupón", 111 | creation_date: "Fecha de creación", 112 | order_expired: "El pedido ha expirado", 113 | order_paid: "Pagado", 114 | order_done: "Orden completado", 115 | order_tip1: 116 | "‼ Después de completar el pago, regrese a esta página para ver el contenido comprado.", 117 | minutes: "minutos", 118 | seconds: "segundo", 119 | order_countdown: "Cuenta regresiva de pago", 120 | sku_desc: "Descripción del Producto", 121 | project_desc: "Descripción del proyecto", 122 | back_to_home: "Atrás", 123 | order_anonymous_tip: 124 | "Puede obtener los últimos pedidos en la página de consulta.", 125 | platform_payment_alipay: "Alipay", 126 | platform_payment_wxpay: "Paga de WeChat", 127 | platform_payment_crypto: "Paga criptográfico", 128 | platform_payment_hiicash: "HIICASH PAGO", 129 | hiicash_vendor_tip: "Comprar cupones Hiicash.", 130 | Search: "Buscar", 131 | product_name: "Nombre del producto", 132 | DIGITAL: "Producto digital", 133 | GROUP: "Membresía del grupo", 134 | MANUAL: "Servicio manual", 135 | Payment_fee: "Tarifas de pago", 136 | LICENSE: "Servicio de licencia", 137 | platform_payment_onramp: "Comprar cripto", 138 | USD: "Dólar estadounidense", 139 | }; 140 | -------------------------------------------------------------------------------- /i18n/auto/fa.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: "محصول یا پروژه آنلاین نبوده است.", 3 | server_order_stock_not_enough: "سهام کافی", 4 | server_order_quantity_error: "خطای مقدار", 5 | server_order_contact_info_error: "خطای اطلاعات تماس", 6 | server_request_failed: "درخواست انجام نشد", 7 | server_apikey_already_exists: "apikey در حال حاضر وجود دارد", 8 | server_param_error: "خطای پارام", 9 | server_too_frequency: "بارها بفرستید", 10 | server_email_code_send_failed: "ارسال کد ایمیل انجام نشد", 11 | server_verify_expired: "تأیید کنید", 12 | server_verify_failed: "تأیید نشد", 13 | server_order_not_exists: 14 | "سفارش وجود ندارد یا برای دسترسی به ورود به سیستم نیاز دارد", 15 | server_pay_failed: "پرداخت شکست خورد", 16 | server_at_most_buy_one: "حداکثر خرید یکی", 17 | server_no_pricing_tip: "قیمت گذاری در دسترس نیست", 18 | server_order_pay_sku_locked: 19 | "تجارت شلوغ است ، لطفاً بعداً دوباره امتحان کنید.", 20 | server_insufficient_stock: "سهام کافی", 21 | server_internal_error: "خطای فاصله", 22 | server_order_payment_succ: "سفارش پرداخت موفقیت آمیز", 23 | server_internal_exception: "استثناء داخلی", 24 | server_order_wrong_payment_user: "کاربر پرداخت اشتباه", 25 | server_order_pay_status_error: "سفارش نمی تواند پایدار باشد", 26 | server_order_expired: "سفارش منقضی شده است", 27 | server_insufficient_credits: "اعتبار کافی", 28 | server_redeem_code_unknown: "کد بازخرید وجود ندارد", 29 | server_account_not_exists: "حساب وجود ندارد", 30 | server_email_invalid: "ایمیل نامعتبر است", 31 | server_email_illegal: "ایمیل غیرقانونی", 32 | server_email_already_verified: "ایمیل قبلاً تأیید شده است", 33 | server_email_already_registered: 34 | "این ایمیل قبلاً ثبت شده است ، لطفاً وارد شوید.", 35 | server_email_or_pass_invalid: "ایمیل یا رمز عبور نامعتبر است", 36 | server_please_sign_up_first: "لطفا ابتدا ثبت نام کنید", 37 | server_pass_invalid: "رمز عبور نامعتبر است", 38 | server_verify_code_invalid: "کد نامعتبر است", 39 | server_please_bind_email_first: "لطفاً ابتدا ایمیل خود را به هم وصل کنید", 40 | server_need_login: "نیاز به ورود به سیستم", 41 | server_already_binded: "قبلاً", 42 | server_withdraw_amount_error: "خطای مقدار", 43 | server_pls_fill_wallet_first: "لطفاً ابتدا اطلاعات کیف پول را پر کنید", 44 | server_already_withdrawal_processing: 45 | "در حال حاضر یک برداشت است که در حال پردازش است", 46 | server_exceed_max_create_num: "بیش از maximun num", 47 | server_specific_sku_can_not_empty: "مورد خاص نمی تواند خالی باشد", 48 | server_max_one_global_plan: "حداکثر یک برنامه جهانی", 49 | server_specific_plan_has_exists_item: 50 | "برخی از موارد در حال حاضر در برنامه خاص وجود دارد", 51 | server_project_not_exists: "پروژه وجود ندارد", 52 | server_sku_name_already_exists: "نام در حال حاضر وجود دارد", 53 | server_slug_already_exists: "slug در حال حاضر وجود دارد", 54 | server_create_payment_failed: "ایجاد فاکتور انجام نشد", 55 | server_not_found: "یافت نشد", 56 | server_need_bind_telegram: "لطفاً ابتدا حساب تلگرام خود را وصل کنید.", 57 | server_op_success: "عملیات موفق", 58 | server_op_failed: "عملیات شکست خورد", 59 | per_request: "/درخواست", 60 | per_item: "/مورد", 61 | free_price_tag: "رایگان", 62 | freemium_price_tag: "فراری", 63 | low_to: "کم به", 64 | dynamic_pricing_tag: "همانطور که می روید پرداخت کنید", 65 | stock: "انبار", 66 | Sold_out: "فروخته شده", 67 | All: "همه", 68 | Notice: "اخطار", 69 | Close: "نزدیک", 70 | Contact_Merchant: "با ما تماس بگیرید", 71 | no_provider_contact_info: "بازرگان هیچ اطلاعات تماس ارائه نداده است.", 72 | No_Skus: "بدون محصولی", 73 | more_see_doc: "برای اطلاعات بیشتر به مستندات مراجعه کنید.", 74 | Quantity: "مقدار", 75 | Contact_Information: "اطلاعات تماس", 76 | Coupon: "کوپن", 77 | place_order: "خرید کردن", 78 | order_contact_info_placeholder: "ایمیل یا شماره تلفن", 79 | Unit_Price: "قیمت واحد (USD)", 80 | Stage_Price: "قیمت", 81 | sku_pricing: "قیمت گذاری", 82 | at_most_buy_one: "حداکثر خرید یکی", 83 | automatic_delivery: "معامله خودکار", 84 | header_search_order: "سفارشات جستجو", 85 | Search_Order: "جستجو", 86 | search_order_input_placeholder: "لطفا اطلاعات تماس یا سفارش را وارد کنید", 87 | txn_order_id: "شناسه سفارش", 88 | Name: "نام", 89 | Price: "قیمت", 90 | Status: "وضعیت", 91 | Date: "تاریخ", 92 | txn_order_status_NEW: "جدید", 93 | txn_order_status_EXPIRED: "منقضی شده", 94 | txn_order_status_PAID: "پرداخت شده", 95 | txn_order_status_DONE: "کامل", 96 | txn_order_status_REFUND: "بازپرداخت", 97 | tansation_not_found: "هنوز هیچ تاریخی پیدا نشده است", 98 | search_order_tip1: "ظرف 30 روز حداکثر 10 سفارش را نمایش دهید.", 99 | order_digital_items: "موارد خریداری شده", 100 | charge_btn: "پرداختن", 101 | order_id: "شناسه سفارش", 102 | order_ori_price: "قیمت اصلی", 103 | order_pay_price: "قیمت پرداخت", 104 | order_coupon: "کوپن", 105 | creation_date: "تاریخ ایجاد", 106 | order_expired: "سفارش منقضی شده است", 107 | order_paid: "پرداخت شده", 108 | order_done: "سفارش تکمیل شد", 109 | order_tip1: 110 | "‼ پس از اتمام پرداخت ، لطفاً برای مشاهده محتوای خریداری شده به این صفحه برگردید.", 111 | minutes: "دقایقی", 112 | seconds: "جزء", 113 | order_countdown: "شمارش معکوس پرداخت", 114 | sku_desc: "توضیح محصول", 115 | project_desc: "شرح پروژه", 116 | back_to_home: "پشت", 117 | order_anonymous_tip: 118 | "می توانید آخرین سفارشات را در صفحه پرس و جو دریافت کنید.", 119 | platform_payment_alipay: "عیاش", 120 | platform_payment_wxpay: "WECHAT پرداخت", 121 | platform_payment_crypto: "Crypto Pay", 122 | platform_payment_hiicash: "Hiicash پرداخت", 123 | hiicash_vendor_tip: "برای خرید کوپن Hiicash.", 124 | Search: "جستجو", 125 | product_name: "نام محصول", 126 | DIGITAL: "محصول دیجیتالی", 127 | GROUP: "عضویت گروهی", 128 | MANUAL: "سرویس دستی", 129 | Payment_fee: "هزینه پرداخت", 130 | LICENSE: "سرویس مجوز", 131 | platform_payment_onramp: "برای پرداخت رمزنگاری بخرید", 132 | USD: "دلار", 133 | }; 134 | -------------------------------------------------------------------------------- /i18n/auto/fr.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: 3 | "Le produit ou le projet n'a pas été en ligne.", 4 | server_order_stock_not_enough: "Stock insuffisant", 5 | server_order_quantity_error: "Erreur de quantité.", 6 | server_order_contact_info_error: "Erreur des coordonnées.", 7 | server_request_failed: "Échec de la demande", 8 | server_apikey_already_exists: "Apikey existe déjà", 9 | server_param_error: "Erreur de paramètre", 10 | server_too_frequency: "Envoyer trop de fois", 11 | server_email_code_send_failed: "Envoyer l'échec du code e-mail", 12 | server_verify_expired: "Vérifiez l'expiration", 13 | server_verify_failed: "Vérifier l'échec", 14 | server_order_not_exists: 15 | "La commande n'existe pas ou nécessite la connexion pour accéder", 16 | server_pay_failed: "Échec de la rémunération", 17 | server_at_most_buy_one: "À la plupart achetez-en un", 18 | server_no_pricing_tip: "Aucun prix disponible", 19 | server_order_pay_sku_locked: 20 | "Les affaires sont occupées, veuillez réessayer plus tard.", 21 | server_insufficient_stock: "Stock insuffisant", 22 | server_internal_error: "Erreur d'intervalle", 23 | server_order_payment_succ: "Paiement de commande réussi", 24 | server_internal_exception: "Exception interne", 25 | server_order_wrong_payment_user: "Mauvais utilisateur de paiement", 26 | server_order_pay_status_error: "L'ordre ne peut pas être effectué", 27 | server_order_expired: "La commande a expiré", 28 | server_insufficient_credits: "Crédits insuffisants", 29 | server_redeem_code_unknown: "Échanger le code n'existe pas", 30 | server_account_not_exists: "Le compte n'existe pas", 31 | server_email_invalid: "E-mail non valide", 32 | server_email_illegal: "Email illégal", 33 | server_email_already_verified: "E-mail déjà vérifié", 34 | server_email_already_registered: 35 | "Cet e-mail déjà enregistré, veuillez vous connecter.", 36 | server_email_or_pass_invalid: "E-mail ou mot de passe invalide", 37 | server_please_sign_up_first: "Veuillez vous inscrire en premier", 38 | server_pass_invalid: "Mot de passe non valide", 39 | server_verify_code_invalid: "Code non valide", 40 | server_please_bind_email_first: "Veuillez lier votre e-mail en premier", 41 | server_need_login: "Besoin de connexion", 42 | server_already_binded: "Déjà écuré", 43 | server_withdraw_amount_error: "Erreur du montant", 44 | server_pls_fill_wallet_first: 45 | "Veuillez d'abord remplir les informations du portefeuille", 46 | server_already_withdrawal_processing: "Déjà un retrait qui est traité", 47 | server_exceed_max_create_num: "Dépasser la maximum", 48 | server_specific_sku_can_not_empty: 49 | "L'élément spécifique ne peut pas être vide", 50 | server_max_one_global_plan: "Plan mondial maximum", 51 | server_specific_plan_has_exists_item: 52 | "Certains articles existent déjà dans le plan spécifique", 53 | server_project_not_exists: "Le projet n'existe pas", 54 | server_sku_name_already_exists: "Le nom existe déjà", 55 | server_slug_already_exists: "Slug existe déjà", 56 | server_create_payment_failed: "Créer une facture échouée", 57 | server_not_found: "Pas trouvé", 58 | server_need_bind_telegram: "Veuillez lier d'abord votre compte télégramme.", 59 | server_op_success: "Opération réussie", 60 | server_op_failed: "L'opération a échoué", 61 | per_request: "/demande", 62 | per_item: "/article", 63 | free_price_tag: "Gratuit", 64 | freemium_price_tag: "Freemium", 65 | low_to: "Bas à", 66 | dynamic_pricing_tag: "Payer au fur et à mesure", 67 | stock: "Action", 68 | Sold_out: "Épuisé", 69 | All: "Tous", 70 | Notice: "Avis", 71 | Close: "Fermer", 72 | Contact_Merchant: "Contactez-nous", 73 | no_provider_contact_info: 74 | "Le marchand n'a fourni aucune information de contact.", 75 | No_Skus: "Pas de produits", 76 | more_see_doc: "Voir la documentation pour plus de détails.", 77 | Quantity: "Quantité", 78 | Contact_Information: "Coordonnées", 79 | Coupon: "Coupon", 80 | place_order: "Acheter", 81 | order_contact_info_placeholder: "E-mail ou numéro de téléphone", 82 | Unit_Price: "Prix ​​unitaire (USD)", 83 | Stage_Price: "Prix ​​de la scène", 84 | sku_pricing: "Prix", 85 | at_most_buy_one: "À la plupart achetez-en un", 86 | automatic_delivery: "Accord automatique", 87 | header_search_order: "Commandes de recherche", 88 | Search_Order: "Recherche", 89 | search_order_input_placeholder: 90 | "Veuillez saisir les informations de contact ou CommandeID", 91 | txn_order_id: "ID de commande", 92 | Name: "Nom", 93 | Price: "Prix", 94 | Status: "Statut", 95 | Date: "Date", 96 | txn_order_status_NEW: "Nouveau", 97 | txn_order_status_EXPIRED: "Expiré", 98 | txn_order_status_PAID: "Payé", 99 | txn_order_status_DONE: "Complété", 100 | txn_order_status_REFUND: "Remboursement", 101 | tansation_not_found: "Aucune histoire trouvée", 102 | search_order_tip1: "Affichez jusqu'à 10 commandes dans les 30 jours.", 103 | order_digital_items: "Articles achetés", 104 | charge_btn: "Payer", 105 | order_id: "ID de commande", 106 | order_ori_price: "Prix ​​d'origine", 107 | order_pay_price: "Prix ​​du paiement", 108 | order_coupon: "Coupon", 109 | creation_date: "Date de création", 110 | order_expired: "La commande a expiré", 111 | order_paid: "Payé", 112 | order_done: "Commande terminée", 113 | order_tip1: 114 | "‼ Une fois le paiement terminé, veuillez revenir à cette page pour afficher le contenu acheté.", 115 | minutes: "minutes", 116 | seconds: "seconde", 117 | order_countdown: "Compte à rebours de paiement", 118 | sku_desc: "Description du produit", 119 | project_desc: "Description du projet", 120 | back_to_home: "Dos", 121 | order_anonymous_tip: 122 | "Vous pouvez obtenir les dernières commandes sur la page de requête.", 123 | platform_payment_alipay: "Alipay", 124 | platform_payment_wxpay: "WeChat Pay", 125 | platform_payment_crypto: "Crypto Pay", 126 | platform_payment_hiicash: "Hiicash Pay", 127 | hiicash_vendor_tip: "Pour acheter des bons Hiicash.", 128 | Search: "Recherche", 129 | product_name: "Nom de produit", 130 | DIGITAL: "Produit numérique", 131 | GROUP: "Appartenance à un groupe", 132 | MANUAL: "Service manuel", 133 | Payment_fee: "Frais de paiement", 134 | LICENSE: "Service de licence", 135 | platform_payment_onramp: "Acheter de la crypto à payer", 136 | USD: "USD", 137 | }; 138 | -------------------------------------------------------------------------------- /i18n/auto/ja.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: 3 | "製品またはプロジェクトはオンラインではありません。", 4 | server_order_stock_not_enough: "在庫が不十分です", 5 | server_order_quantity_error: "数量エラー。", 6 | server_order_contact_info_error: "連絡先情報エラー。", 7 | server_request_failed: "リクエストが失敗しました", 8 | server_apikey_already_exists: "Apikeyはすでに存在しています", 9 | server_param_error: "パラマリエラー", 10 | server_too_frequency: "何度も送ってください", 11 | server_email_code_send_failed: "メールコードを送信しました", 12 | server_verify_expired: "期限切れを確認します", 13 | server_verify_failed: "失敗したことを確認しました", 14 | server_order_not_exists: 15 | "注文は存在しないか、アクセスするためにログインが必要です", 16 | server_pay_failed: "支払いは失敗しました", 17 | server_at_most_buy_one: "せいぜい1つを購入します", 18 | server_no_pricing_tip: "利用可能な価格はありません", 19 | server_order_pay_sku_locked: 20 | "ビジネスは忙しいので、後でもう一度やり直してください。", 21 | server_insufficient_stock: "在庫が不十分です", 22 | server_internal_error: "間隔エラー", 23 | server_order_payment_succ: "支払いを成功させます", 24 | server_internal_exception: "内部例外", 25 | server_order_wrong_payment_user: "間違った支払いユーザー", 26 | server_order_pay_status_error: "注文は給与できません", 27 | server_order_expired: "注文は期限切れです", 28 | server_insufficient_credits: "不十分なクレジット", 29 | server_redeem_code_unknown: "コードをredeemは存在しません", 30 | server_account_not_exists: "アカウントは存在しません", 31 | server_email_invalid: "無効にメールしてください", 32 | server_email_illegal: "違法なメール", 33 | server_email_already_verified: "既に確認されたメール", 34 | server_email_already_registered: 35 | "このメールはすでに登録されています。ログインしてください。", 36 | server_email_or_pass_invalid: "電子メールまたはパスワードが無効です", 37 | server_please_sign_up_first: "最初にサインアップしてください", 38 | server_pass_invalid: "パスワードが無効です", 39 | server_verify_code_invalid: "コードが無効です", 40 | server_please_bind_email_first: "最初にメールをバインドしてください", 41 | server_need_login: "ログインが必要です", 42 | server_already_binded: "すでにバインド", 43 | server_withdraw_amount_error: "量エラー", 44 | server_pls_fill_wallet_first: "最初にウォレット情報を入力してください", 45 | server_already_withdrawal_processing: "すでに処理されている撤退", 46 | server_exceed_max_create_num: "Maximun numを超えます", 47 | server_specific_sku_can_not_empty: "特定のアイテムが空になることはありません", 48 | server_max_one_global_plan: "最大1つのグローバルプラン", 49 | server_specific_plan_has_exists_item: 50 | "特定の計画にはすでにいくつかのアイテムが存在しています", 51 | server_project_not_exists: "プロジェクトは存在しません", 52 | server_sku_name_already_exists: "名前はすでに存在します", 53 | server_slug_already_exists: "ナメクジはすでに存在しています", 54 | server_create_payment_failed: "請求書の作成に失敗しました", 55 | server_not_found: "見つかりません", 56 | server_need_bind_telegram: "最初に電報アカウントをバインドしてください。", 57 | server_op_success: "操作が成功しました", 58 | server_op_failed: "操作に失敗しました", 59 | per_request: "/リクエスト", 60 | per_item: "/アイテム", 61 | free_price_tag: "無料", 62 | freemium_price_tag: "フリーミアム", 63 | low_to: "低い", 64 | dynamic_pricing_tag: "あなたが行くように支払います", 65 | stock: "ストック", 66 | Sold_out: "完売", 67 | All: "全て", 68 | Notice: "知らせ", 69 | Close: "近い", 70 | Contact_Merchant: "お問い合わせ", 71 | no_provider_contact_info: "商人は連絡先情報を提供していません。", 72 | No_Skus: "製品はありません", 73 | more_see_doc: "詳細については、ドキュメントを参照してください。", 74 | Quantity: "量", 75 | Contact_Information: "連絡先", 76 | Coupon: "クーポン", 77 | place_order: "買う", 78 | order_contact_info_placeholder: "電子メールまたは電話番号", 79 | Unit_Price: "単価(USD)", 80 | Stage_Price: "ステージ価格", 81 | sku_pricing: "価格設定", 82 | at_most_buy_one: "せいぜい1つを購入します", 83 | automatic_delivery: "自動取引", 84 | header_search_order: "検索注文", 85 | Search_Order: "検索", 86 | search_order_input_placeholder: "連絡先情報またはOrderIDを入力してください", 87 | txn_order_id: "IDを注文します", 88 | Name: "名前", 89 | Price: "価格", 90 | Status: "状態", 91 | Date: "日付", 92 | txn_order_status_NEW: "新しい", 93 | txn_order_status_EXPIRED: "期限切れ", 94 | txn_order_status_PAID: "有料", 95 | txn_order_status_DONE: "完了しました", 96 | txn_order_status_REFUND: "返金", 97 | tansation_not_found: "歴史はまだ見つかりません", 98 | search_order_tip1: "30日以内に最大10注文を表示します。", 99 | order_digital_items: "購入したアイテム", 100 | charge_btn: "支払う", 101 | order_id: "IDを注文します", 102 | order_ori_price: "元の価格", 103 | order_pay_price: "支払い価格", 104 | order_coupon: "クーポン", 105 | creation_date: "作成日", 106 | order_expired: "注文は期限切れです", 107 | order_paid: "有料", 108 | order_done: "注文が完了します", 109 | order_tip1: 110 | "intele支払いが完了したら、このページに戻って購入したコンテンツを表示してください。", 111 | minutes: "分", 112 | seconds: "秒", 113 | order_countdown: "支払いカウントダウン", 114 | sku_desc: "製品説明", 115 | project_desc: "プロジェクトの説明", 116 | back_to_home: "戻る", 117 | order_anonymous_tip: "クエリページで最新の注文を取得できます。", 118 | platform_payment_alipay: "アリパイ", 119 | platform_payment_wxpay: "Wechat Pay", 120 | platform_payment_crypto: "Crypto Pay", 121 | platform_payment_hiicash: "HiCash Pay", 122 | hiicash_vendor_tip: "Hiicashバウチャーを購入します。", 123 | Search: "検索", 124 | product_name: "製品名", 125 | DIGITAL: "デジタル製品", 126 | GROUP: "グループメンバーシップ", 127 | MANUAL: "マニュアルサービス", 128 | Payment_fee: "支払い料", 129 | LICENSE: "ライセンスサービス", 130 | platform_payment_onramp: "支払いのために暗号を購入します", 131 | USD: "米ドル", 132 | }; 133 | -------------------------------------------------------------------------------- /i18n/auto/kk.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: "Өнім немесе жоба желіде емес.", 3 | server_order_stock_not_enough: "Акция жеткіліксіз", 4 | server_order_quantity_error: "Сан қатесі.", 5 | server_order_contact_info_error: "Байланыс ақпараты қатесі.", 6 | server_request_failed: "Сұрау орындалмады", 7 | server_apikey_already_exists: "апикейдің бәрі бұрыннан бар", 8 | server_param_error: "Параметр қатесі", 9 | server_too_frequency: "Тым көп рет жіберіңіз", 10 | server_email_code_send_failed: 11 | "Электрондық пошта кодын жіберу сәтсіз аяқталды", 12 | server_verify_expired: "Мерзімі өткенін тексеріңіз", 13 | server_verify_failed: "Реттелмеген", 14 | server_order_not_exists: "Тапсырыс жоқ немесе кіру үшін кіруді талап етпейді", 15 | server_pay_failed: "Төлем сәтсіз аяқталды", 16 | server_at_most_buy_one: "Көптеген сатып алу кезінде", 17 | server_no_pricing_tip: "Қол жетімді баға жоқ", 18 | server_order_pay_sku_locked: "Бизнес бос емес, кейінірек қайталап көріңіз.", 19 | server_insufficient_stock: "Акция жеткіліксіз", 20 | server_internal_error: "Аралық қате", 21 | server_order_payment_succ: "Төлемді сәтті төлеу сәтті", 22 | server_internal_exception: "Ішкі ерекшелік", 23 | server_order_wrong_payment_user: "Қате төлем пайдаланушысы", 24 | server_order_pay_status_error: "Тапсырыс беруге болмайды", 25 | server_order_expired: "Тапсырыс мерзімі өткен", 26 | server_insufficient_credits: "Несиелер жеткіліксіз", 27 | server_redeem_code_unknown: "Қайта сатып алу коды жоқ", 28 | server_account_not_exists: "Есептік жазба жоқ", 29 | server_email_invalid: "Электрондық пошта жарамсыз", 30 | server_email_illegal: "Электрондық поштаны заңсыз", 31 | server_email_already_verified: "Электрондық пошта бұрын расталған", 32 | server_email_already_registered: "Бұл электрондық пошта тіркелген, кіріңіз.", 33 | server_email_or_pass_invalid: "Электрондық пошта немесе пароль жарамсыз", 34 | server_please_sign_up_first: "Алдымен тіркеліңіз", 35 | server_pass_invalid: "Пароль жарамсыз", 36 | server_verify_code_invalid: "Код жарамсыз", 37 | server_please_bind_email_first: "Алдымен электрондық поштаны байлаңыз", 38 | server_need_login: "Кіру керек", 39 | server_already_binded: "Бұрыннан бар", 40 | server_withdraw_amount_error: "Сома қатесі", 41 | server_pls_fill_wallet_first: "Алдымен әмиян туралы ақпаратты толтырыңыз", 42 | server_already_withdrawal_processing: 43 | "Қазірдің өзінде өңделіп жатқан шығарылым", 44 | server_exceed_max_create_num: "Максимун нөмірінен асып кетіңіз", 45 | server_specific_sku_can_not_empty: "Нақты элемент бос болмауы мүмкін", 46 | server_max_one_global_plan: "Максималды бір жаһандық жоспар", 47 | server_specific_plan_has_exists_item: 48 | "Кейбір заттар нақты жоспарда бұрыннан бар", 49 | server_project_not_exists: "Жоба жоқ", 50 | server_sku_name_already_exists: "Аты бұрыннан бар", 51 | server_slug_already_exists: "Слуг бар", 52 | server_create_payment_failed: "Шот-фактураны жасау сәтсіз аяқталды", 53 | server_not_found: "Табылмады", 54 | server_need_bind_telegram: "Алдымен телеграмма тіркелгісін байлаңыз.", 55 | server_op_success: "Операция сәтті", 56 | server_op_failed: "Жұмыс істемеді", 57 | per_request: "/ сұрау", 58 | per_item: "/ зат", 59 | free_price_tag: "Тегін", 60 | freemium_price_tag: "Күлімгер", 61 | low_to: "Төмен", 62 | dynamic_pricing_tag: "Сіз барған кезде төлеңіз", 63 | stock: "Акциялар", 64 | Sold_out: "Сатылды", 65 | All: "Бірі", 66 | Notice: "Ескерту", 67 | Close: "Жабу", 68 | Contact_Merchant: "Бізбен хабарласыңы", 69 | no_provider_contact_info: 70 | "Саудагер ешқандай байланыс ақпаратын бере алмайды.", 71 | No_Skus: "Өнімдер жоқ", 72 | more_see_doc: "Қосымша ақпарат алу үшін құжаттаманы қараңыз.", 73 | Quantity: "Сан", 74 | Contact_Information: "Байланыс ақпараты", 75 | Coupon: "Купон", 76 | place_order: "Сатып алу", 77 | order_contact_info_placeholder: "Электрондық пошта немесе телефон нөмірі", 78 | Unit_Price: "Бірлік бағасы (USD)", 79 | Stage_Price: "Кезең бағасы", 80 | sku_pricing: "Баға белгілеу", 81 | at_most_buy_one: "Көптеген сатып алу кезінде", 82 | automatic_delivery: "Автоматты мәміле", 83 | header_search_order: "Тапсырыстарды іздеу", 84 | Search_Order: "Іздеу", 85 | search_order_input_placeholder: 86 | "Байланыс ақпаратын немесе тапсырыс бойынша енгізіңіз", 87 | txn_order_id: "Жеке куәлік", 88 | Name: "Есім", 89 | Price: "Баға", 90 | Status: "Мәртебе", 91 | Date: "Дата", 92 | txn_order_status_NEW: "Жаңа", 93 | txn_order_status_EXPIRED: "Мерзімі өткен", 94 | txn_order_status_PAID: "Ақылы", 95 | txn_order_status_DONE: "Орындалды", 96 | txn_order_status_REFUND: "Төлеу", 97 | tansation_not_found: "Әзірге ешқандай тарих табылмады", 98 | search_order_tip1: "30 күн ішінде 10 тапсырысқа дейін көрсетіңіз.", 99 | order_digital_items: "Сатып алынған заттар", 100 | charge_btn: "Төлеу", 101 | order_id: "Жеке куәлік", 102 | order_ori_price: "Түпнұсқа баға", 103 | order_pay_price: "Төлем бағасы", 104 | order_coupon: "Купон", 105 | creation_date: "Жасау күні", 106 | order_expired: "Тапсырыс мерзімі өткен", 107 | order_paid: "Ақылы", 108 | order_done: "Тапсырыс аяқталды", 109 | order_tip1: 110 | "! Төлем аяқталғаннан кейін, сатып алынған мазмұнды көру үшін осы беттен оралыңыз.", 111 | minutes: "минуттар", 112 | seconds: "секіру", 113 | order_countdown: "Төлемді кері санау", 114 | sku_desc: "Өнім сипаттамасы", 115 | project_desc: "Жобаның сипаттамасы", 116 | back_to_home: "Көмектесу", 117 | order_anonymous_tip: "Сұрау бетінен соңғы тапсырыстарды ала аласыз.", 118 | platform_payment_alipay: "Алапай", 119 | platform_payment_wxpay: "Вехат төлеңіз", 120 | platform_payment_crypto: "Крипто төлемі", 121 | platform_payment_hiicash: "Хиикаш ақы төлеу", 122 | hiicash_vendor_tip: "Хиикаш ваучерлерін сатып алу.", 123 | Search: "Іздеу", 124 | product_name: "Өнім атауы", 125 | DIGITAL: "Сандық өнім", 126 | GROUP: "Топ мүшелігі", 127 | MANUAL: "Қолмен қызмет", 128 | Payment_fee: "Төлемақы төлемі", 129 | LICENSE: "Лицензиялық қызмет", 130 | platform_payment_onramp: "Төлеу үшін крипто сатып алыңыз", 131 | USD: "АҚШ доллары", 132 | }; 133 | -------------------------------------------------------------------------------- /i18n/auto/ko.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: 3 | "제품이나 프로젝트는 온라인 상태가 아닙니다.", 4 | server_order_stock_not_enough: "불충분 한 주식", 5 | server_order_quantity_error: "수량 오류.", 6 | server_order_contact_info_error: "연락처 정보 오류.", 7 | server_request_failed: "요청이 실패했습니다", 8 | server_apikey_already_exists: "Apikey는 이미 존재합니다", 9 | server_param_error: "매개 변수 오류", 10 | server_too_frequency: "너무 많이 보내십시오", 11 | server_email_code_send_failed: "이메일 코드를 보내지 못했습니다", 12 | server_verify_expired: "만료되었는지 확인하십시오", 13 | server_verify_failed: "실패한 것을 확인하십시오", 14 | server_order_not_exists: 15 | "주문하지 않거나 액세스하려면 로그인이 필요하지 않습니다", 16 | server_pay_failed: "지불 실패", 17 | server_at_most_buy_one: "대부분은 하나를 사십시오", 18 | server_no_pricing_tip: "사용 가능한 가격이 없습니다", 19 | server_order_pay_sku_locked: "비즈니스는 바쁘다. 나중에 다시 시도하십시오.", 20 | server_insufficient_stock: "불충분 한 주식", 21 | server_internal_error: "간격 오류", 22 | server_order_payment_succ: "주문을 성공적으로 주문하십시오", 23 | server_internal_exception: "내부 예외", 24 | server_order_wrong_payment_user: "잘못된 지불 사용자", 25 | server_order_pay_status_error: "주문은 Paied 할 수 없습니다", 26 | server_order_expired: "주문이 만료되었습니다", 27 | server_insufficient_credits: "불충분 한 크레딧", 28 | server_redeem_code_unknown: "사용 코드는 존재하지 않습니다", 29 | server_account_not_exists: "계정은 존재하지 않습니다", 30 | server_email_invalid: "이메일로 유효합니다", 31 | server_email_illegal: "불법으로 이메일을 보내십시오", 32 | server_email_already_verified: "이미 확인 된 이메일", 33 | server_email_already_registered: 34 | "이 이메일이 이미 등록되어 있습니다. 로그인하십시오.", 35 | server_email_or_pass_invalid: "이메일 또는 비밀번호가 유효하지 않습니다", 36 | server_please_sign_up_first: "먼저 가입하십시오", 37 | server_pass_invalid: "암호가 유효하지 않습니다", 38 | server_verify_code_invalid: "코드가 잘못되었습니다", 39 | server_please_bind_email_first: "먼저 이메일을 바인딩하십시오", 40 | server_need_login: "로그인이 필요합니다", 41 | server_already_binded: "벌써 삐걱 거리는", 42 | server_withdraw_amount_error: "금액 오류", 43 | server_pls_fill_wallet_first: "먼저 지갑 정보를 작성하십시오", 44 | server_already_withdrawal_processing: "이미 처리중인 철수", 45 | server_exceed_max_create_num: "Maximun Num을 초과합니다", 46 | server_specific_sku_can_not_empty: "특정 항목은 비어있을 수 없습니다", 47 | server_max_one_global_plan: "최대 하나의 글로벌 계획", 48 | server_specific_plan_has_exists_item: 49 | "일부 항목은 이미 특정 계획에 존재합니다", 50 | server_project_not_exists: "프로젝트는 존재하지 않습니다", 51 | server_sku_name_already_exists: "이름이 이미 존재합니다", 52 | server_slug_already_exists: "슬러그는 이미 존재합니다", 53 | server_create_payment_failed: "송장 생성에 실패했습니다", 54 | server_not_found: "찾을 수 없습니다", 55 | server_need_bind_telegram: "텔레 그램 계정을 먼저 바인딩하십시오.", 56 | server_op_success: "운영 성공", 57 | server_op_failed: "작동 실패", 58 | per_request: "/요구", 59 | per_item: "/목", 60 | free_price_tag: "무료", 61 | freemium_price_tag: "프리미엄", 62 | low_to: "로우", 63 | dynamic_pricing_tag: "당신이 갈 때 지불하십시오", 64 | stock: "재고", 65 | Sold_out: "매진", 66 | All: "모두", 67 | Notice: "알아채다", 68 | Close: "닫다", 69 | Contact_Merchant: "저희에게 연락하십시오", 70 | no_provider_contact_info: "판매자는 연락처 정보를 제공하지 않았습니다.", 71 | No_Skus: "제품이 없습니다", 72 | more_see_doc: "자세한 내용은 문서를 참조하십시오.", 73 | Quantity: "수량", 74 | Contact_Information: "연락처 정보", 75 | Coupon: "쿠폰", 76 | place_order: "구입하다", 77 | order_contact_info_placeholder: "이메일 또는 전화 번호", 78 | Unit_Price: "단가 (USD)", 79 | Stage_Price: "무대 가격", 80 | sku_pricing: "가격", 81 | at_most_buy_one: "대부분은 하나를 사십시오", 82 | automatic_delivery: "자동 거래", 83 | header_search_order: "검색 주문", 84 | Search_Order: "찾다", 85 | search_order_input_placeholder: "연락처 정보 또는 ORDERID를 입력하십시오", 86 | txn_order_id: "주문 ID", 87 | Name: "이름", 88 | Price: "가격", 89 | Status: "상태", 90 | Date: "날짜", 91 | txn_order_status_NEW: "새로운", 92 | txn_order_status_EXPIRED: "만료되었습니다", 93 | txn_order_status_PAID: "유급의", 94 | txn_order_status_DONE: "완전한", 95 | txn_order_status_REFUND: "환불하다", 96 | tansation_not_found: "아직 발견되지 않았습니다", 97 | search_order_tip1: "30 일 이내에 최대 10 개의 주문을 표시합니다.", 98 | order_digital_items: "구매 품목", 99 | charge_btn: "지불하다", 100 | order_id: "주문 ID", 101 | order_ori_price: "원래 가격", 102 | order_pay_price: "급여 가격", 103 | order_coupon: "쿠폰", 104 | creation_date: "생성 날짜", 105 | order_expired: "주문이 만료되었습니다", 106 | order_paid: "유급의", 107 | order_done: "주문 완료", 108 | order_tip1: 109 | "‼ 결제가 완료된 후 구매 한 콘텐츠를 보려면이 페이지로 돌아가십시오.", 110 | minutes: "분", 111 | seconds: "비서", 112 | order_countdown: "지불 카운트 다운", 113 | sku_desc: "제품 설명", 114 | project_desc: "프로젝트 설명", 115 | back_to_home: "뒤쪽에", 116 | order_anonymous_tip: "쿼리 페이지에서 최신 주문을받을 수 있습니다.", 117 | platform_payment_alipay: "Alipay", 118 | platform_payment_wxpay: "Wechat Pay", 119 | platform_payment_crypto: "암호화 지불", 120 | platform_payment_hiicash: "Hiicash 지불", 121 | hiicash_vendor_tip: "Hiicash 바우처를 구매하려면.", 122 | Search: "찾다", 123 | product_name: "제품 이름", 124 | DIGITAL: "디지털 제품", 125 | GROUP: "그룹 멤버십", 126 | MANUAL: "수동 서비스", 127 | Payment_fee: "지불 수수료", 128 | LICENSE: "라이센스 서비스", 129 | platform_payment_onramp: "지불 할 암호를 구입하십시오", 130 | USD: "USD", 131 | }; 132 | -------------------------------------------------------------------------------- /i18n/auto/pa.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: 3 | "ਉਤਪਾਦ ਜਾਂ ਪ੍ਰੋਜੈਕਟ online ਨਲਾਈਨ ਨਹੀਂ ਹੈ.", 4 | server_order_stock_not_enough: "ਨਾਕਾਫੀ ਸਟਾਕ", 5 | server_order_quantity_error: "ਮਾਤਰਾ ਗਲਤੀ.", 6 | server_order_contact_info_error: "ਸੰਪਰਕ ਜਾਣਕਾਰੀ ਗਲਤੀ.", 7 | server_request_failed: "ਬੇਨਤੀ ਅਸਫਲ", 8 | server_apikey_already_exists: "ਅਪਿਕੀ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ", 9 | server_param_error: "ਪੈਰਾਮ ਗਲਤੀ", 10 | server_too_frequency: "ਬਹੁਤ ਵਾਰ ਭੇਜੋ", 11 | server_email_code_send_failed: "ਈਮੇਲ ਕੋਡ ਫੇਲ੍ਹ ਹੋਇਆ", 12 | server_verify_expired: "ਮਿਆਦ ਪੁੱਗੀ ਦੀ ਜਾਂਚ ਕਰੋ", 13 | server_verify_failed: "ਜਾਂਚ ਅਸਫਲ", 14 | server_order_not_exists: "ਆਰਡਰ ਨਾ ਕਰੋ ਜਾਂ ਪਹੁੰਚ ਲਈ ਲੌਗਇਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ", 15 | server_pay_failed: "ਤਨਖਾਹ ਅਸਫਲ", 16 | server_at_most_buy_one: "ਸਭ ਤੋਂ ਵੱਧ ਖਰੀਦੋ", 17 | server_no_pricing_tip: "ਕੋਈ ਕੀਮਤ ਉਪਲਬਧ ਨਹੀਂ ਹੈ", 18 | server_order_pay_sku_locked: 19 | "ਕਾਰੋਬਾਰ ਰੁੱਝਿਆ ਹੋਇਆ ਹੈ, ਕਿਰਪਾ ਕਰਕੇ ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ.", 20 | server_insufficient_stock: "ਨਾਕਾਫੀ ਸਟਾਕ", 21 | server_internal_error: "ਅੰਤਰਾਲ ਗਲਤੀ", 22 | server_order_payment_succ: "ਆਰਡਰ ਭੁਗਤਾਨ ਸਫਲ", 23 | server_internal_exception: "ਅੰਦਰੂਨੀ ਅਪਵਾਦ", 24 | server_order_wrong_payment_user: "ਗਲਤ ਭੁਗਤਾਨ ਕਰਨ ਵਾਲਾ ਉਪਭੋਗਤਾ", 25 | server_order_pay_status_error: "ਆਰਡਰ ਪੱਕਾ ਨਹੀਂ ਕਰ ਸਕਦਾ", 26 | server_order_expired: "ਆਰਡਰ ਦੀ ਮਿਆਦ ਖਤਮ ਹੋ ਗਈ ਹੈ", 27 | server_insufficient_credits: "ਨਾਕਾਫ਼ੀ ਕ੍ਰੈਡਿਟ", 28 | server_redeem_code_unknown: "ਕੋਡ ਨੂੰ ਪੂਰਕ ਨਹੀਂ ਕਰਦਾ", 29 | server_account_not_exists: "ਖਾਤਾ ਮੌਜੂਦ ਨਹੀਂ ਹੈ", 30 | server_email_invalid: "ਈਮੇਲ ਅਵੈਧ ਹੈ", 31 | server_email_illegal: "ਈ-ਮੇਲ", 32 | server_email_already_verified: "ਈਮੇਲ ਪਹਿਲਾਂ ਹੀ ਪ੍ਰਮਾਣਿਤ ਹੈ", 33 | server_email_already_registered: 34 | "ਇਹ ਈਮੇਲ ਪਹਿਲਾਂ ਹੀ ਰਜਿਸਟਰ ਹੋ ਗਈ ਹੈ, ਕਿਰਪਾ ਕਰਕੇ ਲੌਗਇਨ ਕਰੋ.", 35 | server_email_or_pass_invalid: "ਈਮੇਲ ਜਾਂ ਪਾਸਵਰਡ ਗਲਤ", 36 | server_please_sign_up_first: "ਕਿਰਪਾ ਕਰਕੇ ਪਹਿਲਾਂ ਸਾਈਨ ਅਪ ਕਰੋ", 37 | server_pass_invalid: "ਪਾਸਵਰਡ ਗਲਤ ਹੈ", 38 | server_verify_code_invalid: "ਕੋਡ ਅਵੈਧ ਹੈ", 39 | server_please_bind_email_first: "ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੀ ਈਮੇਲ ਨੂੰ ਪਹਿਲਾਂ ਬੰਨ੍ਹੋ", 40 | server_need_login: "ਲੌਗਇਨ ਦੀ ਜ਼ਰੂਰਤ ਹੈ", 41 | server_already_binded: "ਪਹਿਲਾਂ ਹੀ ਬਾਈਡਿੰਗ", 42 | server_withdraw_amount_error: "ਰਕਮ ਗਲਤੀ", 43 | server_pls_fill_wallet_first: "ਕਿਰਪਾ ਕਰਕੇ ਪਹਿਲਾਂ ਵਾਲਿਟ ਜਾਣਕਾਰੀ ਭਰੋ", 44 | server_already_withdrawal_processing: 45 | "ਪਹਿਲਾਂ ਹੀ ਵਾਪਸੀ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ", 46 | server_exceed_max_create_num: "ਵੱਧ ਤੋਂ ਵੱਧ ਨੰਬਰ", 47 | server_specific_sku_can_not_empty: "ਖਾਸ ਵਸਤੂ ਖਾਲੀ ਨਹੀਂ ਹੋ ਸਕਦੀ", 48 | server_max_one_global_plan: "ਵੱਧ ਤੋਂ ਵੱਧ ਇੱਕ ਗਲੋਬਲ ਯੋਜਨਾ", 49 | server_specific_plan_has_exists_item: 50 | "ਕੁਝ ਆਈਟਮ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਖਾਸ ਯੋਜਨਾ ਵਿੱਚ ਮੌਜੂਦ ਹੈ", 51 | server_project_not_exists: "ਪ੍ਰੋਜੈਕਟ ਮੌਜੂਦ ਨਹੀਂ ਹੈ", 52 | server_sku_name_already_exists: "ਨਾਮ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ", 53 | server_slug_already_exists: "ਸਲੱਗ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ", 54 | server_create_payment_failed: "ਇਨਵੌਇਸ ਬਣਾਓ ਅਸਫਲ", 55 | server_not_found: "ਨਹੀਂ ਲਭਿਆ", 56 | server_need_bind_telegram: "ਕਿਰਪਾ ਕਰਕੇ ਆਪਣੇ ਤਾਰਾਂ ਨੂੰ ਪਹਿਲਾਂ ਬੰਨ੍ਹੋ.", 57 | server_op_success: "ਓਪਰੇਸ਼ਨ ਸਫਲ", 58 | server_op_failed: "ਓਪਰੇਸ਼ਨ ਅਸਫਲ", 59 | per_request: "/ ਬੇਨਤੀ", 60 | per_item: "/ ਇਕਾਈ", 61 | free_price_tag: "ਮੁਫਤ", 62 | freemium_price_tag: "ਫ੍ਰੀਮੀਅਮ", 63 | low_to: "ਘੱਟ", 64 | dynamic_pricing_tag: "ਜਿਵੇਂ ਤੁਸੀਂ ਜਾਓ", 65 | stock: "ਸਟਾਕ", 66 | Sold_out: "ਸਭ ਵਿੱਕ ਗਇਆ", 67 | All: "ਸਾਰੇ", 68 | Notice: "ਨੋਟਿਸ", 69 | Close: "ਨੇੜੇ", 70 | Contact_Merchant: "ਸਾਡੇ ਨਾਲ ਸੰਪਰਕ ਕਰੋ", 71 | no_provider_contact_info: "ਵਪਾਰੀ ਨੇ ਕੋਈ ਸੰਪਰਕ ਜਾਣਕਾਰੀ ਨਹੀਂ ਦਿੱਤੀ ਹੈ.", 72 | No_Skus: "ਕੋਈ ਉਤਪਾਦ ਨਹੀਂ", 73 | more_see_doc: "ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ ਦਸਤਾਵੇਜ਼ ਵੇਖੋ.", 74 | Quantity: "ਮਾਤਰਾ", 75 | Contact_Information: "ਸੰਪਰਕ ਜਾਣਕਾਰੀ", 76 | Coupon: "ਕੂਪਨ", 77 | place_order: "ਖਰੀਦੋ", 78 | order_contact_info_placeholder: "ਈਮੇਲ ਜਾਂ ਫੋਨ ਨੰਬਰ", 79 | Unit_Price: "ਯੂਨਿਟ ਦੀ ਕੀਮਤ (ਡਾਲਰ)", 80 | Stage_Price: "ਸਟੇਜ ਕੀਮਤ", 81 | sku_pricing: "ਕੀਮਤ", 82 | at_most_buy_one: "ਸਭ ਤੋਂ ਵੱਧ ਖਰੀਦੋ", 83 | automatic_delivery: "ਆਟੋਮੈਟਿਕ ਸੌਦਾ", 84 | header_search_order: "ਖੋਜ ਆਰਡਰ", 85 | Search_Order: "ਖੋਜ", 86 | search_order_input_placeholder: "ਕਿਰਪਾ ਕਰਕੇ ਸੰਪਰਕ ਜਾਣਕਾਰੀ ਜਾਂ ਆਰਡਰਡ", 87 | txn_order_id: "ਆਰਡਰ ਆਈਡੀ", 88 | Name: "ਨਾਮ", 89 | Price: "ਕੀਮਤ", 90 | Status: "ਸਥਿਤੀ", 91 | Date: "ਤਾਰੀਖ", 92 | txn_order_status_NEW: "ਨਵਾਂ", 93 | txn_order_status_EXPIRED: "ਮਿਆਦ ਪੁੱਗ ਗਈ", 94 | txn_order_status_PAID: "ਭੁਗਤਾਨ ਕੀਤਾ", 95 | txn_order_status_DONE: "ਪੂਰਾ", 96 | txn_order_status_REFUND: "ਰਿਫੰਡ", 97 | tansation_not_found: "ਅਜੇ ਤੱਕ ਕੋਈ ਇਤਿਹਾਸ ਨਹੀਂ ਮਿਲਿਆ", 98 | search_order_tip1: "30 ਦਿਨਾਂ ਦੇ ਅੰਦਰ 10 ਆਰਡਰ ਪ੍ਰਦਰਸ਼ਤ ਕਰੋ.", 99 | order_digital_items: "ਖਰੀਦੀਆਂ ਚੀਜ਼ਾਂ", 100 | charge_btn: "ਤਨਖਾਹ", 101 | order_id: "ਆਰਡਰ ਆਈਡੀ", 102 | order_ori_price: "ਅਸਲ ਕੀਮਤ", 103 | order_pay_price: "ਤਨਖਾਹ ਕੀਮਤ", 104 | order_coupon: "ਕੂਪਨ", 105 | creation_date: "ਰਚਨਾ ਮਿਤੀ", 106 | order_expired: "ਆਰਡਰ ਦੀ ਮਿਆਦ ਖਤਮ ਹੋ ਗਈ ਹੈ", 107 | order_paid: "ਭੁਗਤਾਨ ਕੀਤਾ", 108 | order_done: "ਆਰਡਰ ਪੂਰਾ", 109 | order_tip1: 110 | "ਭੁਗਤਾਨ ਪੂਰਾ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਖਰੀਦ ਸਮੱਗਰੀ ਨੂੰ ਵੇਖਣ ਲਈ ਇਸ ਪੰਨੇ ਤੇ ਵਾਪਸ ਜਾਓ.", 111 | minutes: "ਮਿੰਟ", 112 | seconds: "ਸਕਿੰਟ", 113 | order_countdown: "ਭੁਗਤਾਨ ਕਾਉਂਟਡਾਉਨ", 114 | sku_desc: "ਉਤਪਾਦ ਵੇਰਵਾ", 115 | project_desc: "ਪ੍ਰੋਜੈਕਟ ਵੇਰਵਾ", 116 | back_to_home: "ਵਾਪਸ", 117 | order_anonymous_tip: 118 | "ਤੁਸੀਂ ਕਿ query ਰੀ ਪੇਜ 'ਤੇ ਨਵੀਨਤਮ ਆਦੇਸ਼ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ.", 119 | platform_payment_alipay: "ਅਲੀਪ", 120 | platform_payment_wxpay: "WeChat ਤਨਖਾਹ", 121 | platform_payment_crypto: "ਕ੍ਰਿਪਟੋ ਭੁਗਤਾਨ", 122 | platform_payment_hiicash: "ਹਿਚੈਸ਼ ਤਨਖਾਹ", 123 | hiicash_vendor_tip: "ਹਾਇਕੈਸ਼ ਵਾ ou ਚਰ ਖਰੀਦਣ ਲਈ.", 124 | Search: "ਖੋਜ", 125 | product_name: "ਉਤਪਾਦ ਦਾ ਨਾਮ", 126 | DIGITAL: "ਡਿਜੀਟਲ ਉਤਪਾਦ", 127 | GROUP: "ਸਮੂਹ ਮੈਂਬਰਸ਼ਿਪ", 128 | MANUAL: "ਮੈਨੁਅਲ ਸੇਵਾ", 129 | Payment_fee: "ਭੁਗਤਾਨ ਫੀਸਾਂ", 130 | LICENSE: "ਲਾਇਸੰਸ ਸੇਵਾ", 131 | platform_payment_onramp: "ਭੁਗਤਾਨ ਕਰਨ ਲਈ ਕ੍ਰਿਪਟੂ ਖਰੀਦੋ", 132 | USD: "ਡਾਲਰ", 133 | }; 134 | -------------------------------------------------------------------------------- /i18n/auto/pl.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: "Produkt lub projekt nie był online.", 3 | server_order_stock_not_enough: "Niewystarczający zapas", 4 | server_order_quantity_error: "Błąd ilości.", 5 | server_order_contact_info_error: "Błąd informacji kontaktowych.", 6 | server_request_failed: "Żądanie nie powiodło się", 7 | server_apikey_already_exists: "Apikey już istnieje", 8 | server_param_error: "Błąd paramentu", 9 | server_too_frequency: "Wyślij zbyt wiele razy", 10 | server_email_code_send_failed: "Wyślij kod e -mailowy nie powiodło się", 11 | server_verify_expired: "Zweryfikować wygasłe", 12 | server_verify_failed: "Weryfikować nieudane", 13 | server_order_not_exists: 14 | "Zamówienie nie istnieje lub wymaga logowania, aby uzyskać dostęp", 15 | server_pay_failed: "Wynagrodzenie nie powiodło się", 16 | server_at_most_buy_one: "Najwyżej kupuj jeden", 17 | server_no_pricing_tip: "Brak dostępnych cen", 18 | server_order_pay_sku_locked: "Biznes jest zajęty, spróbuj ponownie później.", 19 | server_insufficient_stock: "Niewystarczający zapas", 20 | server_internal_error: "Błąd interwałowy", 21 | server_order_payment_succ: "Płatność zamówienia powodzenie", 22 | server_internal_exception: "Wewnętrzny wyjątek", 23 | server_order_wrong_payment_user: "Niewłaściwy użytkownik płatności", 24 | server_order_pay_status_error: "Zamówienie nie można zatrzymać", 25 | server_order_expired: "Zamówienie wygasło", 26 | server_insufficient_credits: "Niewystarczające kredyty", 27 | server_redeem_code_unknown: "Wykup kod nie istnieje", 28 | server_account_not_exists: "Konto nie istnieje", 29 | server_email_invalid: "E -mail nieprawidłowy", 30 | server_email_illegal: "E -mail nielegalny", 31 | server_email_already_verified: "E -mail już zweryfikowany", 32 | server_email_already_registered: 33 | "Ten e -mail został już zarejestrowany, zaloguj się.", 34 | server_email_or_pass_invalid: "E -mail lub hasło nieprawidłowe", 35 | server_please_sign_up_first: "Najpierw zarejestruj się", 36 | server_pass_invalid: "Hasło nieprawidłowe", 37 | server_verify_code_invalid: "Kod nieprawidłowy", 38 | server_please_bind_email_first: "Najpierw powiązaj swój e -mail", 39 | server_need_login: "Potrzebujesz logowania", 40 | server_already_binded: "Już się bedu", 41 | server_withdraw_amount_error: "Błąd kwoty", 42 | server_pls_fill_wallet_first: "Najpierw wypełnij informacje o portfelu", 43 | server_already_withdrawal_processing: "Już przetwarzane wycofanie", 44 | server_exceed_max_create_num: "Przekrocz maksymalne num", 45 | server_specific_sku_can_not_empty: "Konkretny element nie może być pusty", 46 | server_max_one_global_plan: "Maksymalnie jeden plan globalny", 47 | server_specific_plan_has_exists_item: 48 | "Niektóre elementy istnieją już w konkretnym planie", 49 | server_project_not_exists: "Projekt nie istnieje", 50 | server_sku_name_already_exists: "Nazwa już istnieje", 51 | server_slug_already_exists: "ślimak już istnieje", 52 | server_create_payment_failed: "Utwórz fakturę nie powiodła się", 53 | server_not_found: "Nie znaleziono", 54 | server_need_bind_telegram: "Najpierw powiązaj swoje konto telegramu.", 55 | server_op_success: "Operacja udana", 56 | server_op_failed: "Operacja nie powiodła się", 57 | per_request: "/wniosek", 58 | per_item: "/przedmiot", 59 | free_price_tag: "Bezpłatny", 60 | freemium_price_tag: "Freemium", 61 | low_to: "Niski do", 62 | dynamic_pricing_tag: "Płacić w razie potrzeby", 63 | stock: "Magazyn", 64 | Sold_out: "Wyprzedane", 65 | All: "Wszystko", 66 | Notice: "Ogłoszenie", 67 | Close: "Zamknąć", 68 | Contact_Merchant: "Skontaktuj się z nami", 69 | no_provider_contact_info: "Merchant nie podał żadnych danych kontaktowych.", 70 | No_Skus: "Brak produktów", 71 | more_see_doc: "Więcej informacji można znaleźć w dokumentacji.", 72 | Quantity: "Ilość", 73 | Contact_Information: "Informacje kontaktowe", 74 | Coupon: "Kupon", 75 | place_order: "Kupić", 76 | order_contact_info_placeholder: "E -mail lub numer telefonu", 77 | Unit_Price: "Cena jednostkowa (USD)", 78 | Stage_Price: "Cena etapowa", 79 | sku_pricing: "Wycena", 80 | at_most_buy_one: "Najwyżej kupuj jeden", 81 | automatic_delivery: "Umowa automatyczna", 82 | header_search_order: "Zamówienia wyszukiwania", 83 | Search_Order: "Szukaj", 84 | search_order_input_placeholder: "Wprowadź dane kontaktowe lub zamówienie", 85 | txn_order_id: "Zamów id", 86 | Name: "Nazwa", 87 | Price: "Cena", 88 | Status: "Status", 89 | Date: "Data", 90 | txn_order_status_NEW: "Nowy", 91 | txn_order_status_EXPIRED: "Wygasły", 92 | txn_order_status_PAID: "Płatny", 93 | txn_order_status_DONE: "Zakończony", 94 | txn_order_status_REFUND: "Refundacja", 95 | tansation_not_found: "Żadna historia jeszcze nie znaleziono", 96 | search_order_tip1: "Wyświetl do 10 zamówień w ciągu 30 dni.", 97 | order_digital_items: "Zakupione przedmioty", 98 | charge_btn: "Płacić", 99 | order_id: "Zamów id", 100 | order_ori_price: "Oryginalna cena", 101 | order_pay_price: "Cena Pay", 102 | order_coupon: "Kupon", 103 | creation_date: "Data utworzenia", 104 | order_expired: "Zamówienie wygasło", 105 | order_paid: "Płatny", 106 | order_done: "Zamówienie zakończone", 107 | order_tip1: 108 | "‼ Po zakończeniu płatności zwróć na tę stronę, aby wyświetlić zakupione treści.", 109 | minutes: "protokół", 110 | seconds: "Sec", 111 | order_countdown: "Odliczanie płatności", 112 | sku_desc: "Opis produktu", 113 | project_desc: "Opis projektu", 114 | back_to_home: "Z powrotem", 115 | order_anonymous_tip: 116 | "Możesz uzyskać najnowsze zamówienia na stronie zapytania.", 117 | platform_payment_alipay: "Alipay", 118 | platform_payment_wxpay: "WeChat Pay", 119 | platform_payment_crypto: "Pay Crypto", 120 | platform_payment_hiicash: "Hiicash pay", 121 | hiicash_vendor_tip: "Aby kupić kupony Hiicash.", 122 | Search: "Szukaj", 123 | product_name: "Nazwa produktu", 124 | DIGITAL: "Produkt cyfrowy", 125 | GROUP: "Członkostwo w grupie", 126 | MANUAL: "Obsługa ręczna", 127 | Payment_fee: "Opłaty za płatność", 128 | LICENSE: "Usługa licencyjna", 129 | platform_payment_onramp: "Kup krypto, aby zapłacić", 130 | USD: "USD", 131 | }; 132 | -------------------------------------------------------------------------------- /i18n/auto/pt.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: "O produto ou projeto não está online.", 3 | server_order_stock_not_enough: "Estoque insuficiente", 4 | server_order_quantity_error: "Erro de quantidade.", 5 | server_order_contact_info_error: "Erro de informação de contato.", 6 | server_request_failed: "Solicitação falhou", 7 | server_apikey_already_exists: "Apikey já existe", 8 | server_param_error: "Erro de param", 9 | server_too_frequency: "Envie muitas vezes", 10 | server_email_code_send_failed: "Enviar o código de e -mail falhado", 11 | server_verify_expired: "Verifique se expirou", 12 | server_verify_failed: "Verifique a falha", 13 | server_order_not_exists: "O pedido não existe ou requer login para acessar", 14 | server_pay_failed: "Pagamento falhou", 15 | server_at_most_buy_one: "Na maioria das vezes compre um", 16 | server_no_pricing_tip: "Sem preços disponíveis", 17 | server_order_pay_sku_locked: 18 | "Os negócios estão ocupados, tente novamente mais tarde.", 19 | server_insufficient_stock: "Estoque insuficiente", 20 | server_internal_error: "Erro de intervalo", 21 | server_order_payment_succ: "Pagamento do pedido bem -sucedido", 22 | server_internal_exception: "Exceção interna", 23 | server_order_wrong_payment_user: "Usuário de pagamento errado", 24 | server_order_pay_status_error: "O pedido não pode ter parado", 25 | server_order_expired: "O pedido expirou", 26 | server_insufficient_credits: "Créditos insuficientes", 27 | server_redeem_code_unknown: "Código resgatado não existe", 28 | server_account_not_exists: "Conta não existe", 29 | server_email_invalid: "Email inválido", 30 | server_email_illegal: "Email ilegal", 31 | server_email_already_verified: "Email já foi verificado", 32 | server_email_already_registered: "Este e -mail já registrado, faça o login.", 33 | server_email_or_pass_invalid: "Email ou senha inválida", 34 | server_please_sign_up_first: "Por favor, inscreva -se primeiro", 35 | server_pass_invalid: "Senha inválida", 36 | server_verify_code_invalid: "Código inválido", 37 | server_please_bind_email_first: "Por favor, vincule seu e -mail primeiro", 38 | server_need_login: "Precisa de login", 39 | server_already_binded: "Já Binded", 40 | server_withdraw_amount_error: "Erro de quantidade", 41 | server_pls_fill_wallet_first: 42 | "Por favor, preencha as informações da carteira primeiro", 43 | server_already_withdrawal_processing: 44 | "Já uma retirada que está sendo processada", 45 | server_exceed_max_create_num: "Exceder o maximun num", 46 | server_specific_sku_can_not_empty: "Item específico não pode estar vazio", 47 | server_max_one_global_plan: "Máximo um plano global", 48 | server_specific_plan_has_exists_item: 49 | "Algum item já existe no plano específico", 50 | server_project_not_exists: "Projeto não existe", 51 | server_sku_name_already_exists: "O nome já existe", 52 | server_slug_already_exists: "Slug já existe", 53 | server_create_payment_failed: "Criar fatura falhada", 54 | server_not_found: "Não encontrado", 55 | server_need_bind_telegram: 56 | "Por favor, vincule sua conta de telegrama primeiro.", 57 | server_op_success: "Operação bem -sucedida", 58 | server_op_failed: "Operação falhou", 59 | per_request: "/solicitar", 60 | per_item: "/item", 61 | free_price_tag: "Livre", 62 | freemium_price_tag: "Freemium", 63 | low_to: "Baixo para", 64 | dynamic_pricing_tag: "Pague como você vai", 65 | stock: "Estoque", 66 | Sold_out: "Vendido", 67 | All: "Todos", 68 | Notice: "Perceber", 69 | Close: "Fechar", 70 | Contact_Merchant: "Contate-nos", 71 | no_provider_contact_info: 72 | "O comerciante não forneceu nenhuma informação de contato.", 73 | No_Skus: "Sem produtos", 74 | more_see_doc: "Consulte a documentação para obter mais detalhes.", 75 | Quantity: "Quantidade", 76 | Contact_Information: "Informações de contato", 77 | Coupon: "Cupom", 78 | place_order: "Comprar", 79 | order_contact_info_placeholder: "E -mail ou número de telefone", 80 | Unit_Price: "Preço unitário (USD)", 81 | Stage_Price: "Preço do estágio", 82 | sku_pricing: "Preço", 83 | at_most_buy_one: "Na maioria das vezes compre um", 84 | automatic_delivery: "Acordo automático", 85 | header_search_order: "Pedidos de pesquisa", 86 | Search_Order: "Procurar", 87 | search_order_input_placeholder: "Insira informações de contato ou OrderId", 88 | txn_order_id: "ID do pedido", 89 | Name: "Nome", 90 | Price: "Preço", 91 | Status: "Status", 92 | Date: "Data", 93 | txn_order_status_NEW: "Novo", 94 | txn_order_status_EXPIRED: "Expirado", 95 | txn_order_status_PAID: "Pago", 96 | txn_order_status_DONE: "Concluído", 97 | txn_order_status_REFUND: "Reembolso", 98 | tansation_not_found: "Nenhuma história encontrada ainda", 99 | search_order_tip1: "Exiba até 10 pedidos em 30 dias.", 100 | order_digital_items: "Itens comprados", 101 | charge_btn: "Pagar", 102 | order_id: "ID do pedido", 103 | order_ori_price: "Preço original", 104 | order_pay_price: "Preço de pagamento", 105 | order_coupon: "Cupom", 106 | creation_date: "Data da criação", 107 | order_expired: "O pedido expirou", 108 | order_paid: "Pago", 109 | order_done: "Pedido concluído", 110 | order_tip1: 111 | "‼ Após a conclusão do pagamento, retorne a esta página para visualizar o conteúdo adquirido.", 112 | minutes: "minutos", 113 | seconds: "Sec", 114 | order_countdown: "Contagem regressiva de pagamento", 115 | sku_desc: "Descrição do produto", 116 | project_desc: "Descrição do projeto", 117 | back_to_home: "Voltar", 118 | order_anonymous_tip: 119 | "Você pode obter os pedidos mais recentes na página de consulta.", 120 | platform_payment_alipay: "Alipay", 121 | platform_payment_wxpay: "WeChat Pay", 122 | platform_payment_crypto: "Crypto Pay", 123 | platform_payment_hiicash: "Hiicash Pay", 124 | hiicash_vendor_tip: "Para comprar vouchers Hiicash.", 125 | Search: "Procurar", 126 | product_name: "Nome do produto", 127 | DIGITAL: "Produto digital", 128 | GROUP: "Associação ao grupo", 129 | MANUAL: "Serviço manual", 130 | Payment_fee: "Taxas de pagamento", 131 | LICENSE: "Serviço de licença", 132 | platform_payment_onramp: "Compre criptografia para pagar", 133 | USD: "USD", 134 | }; 135 | -------------------------------------------------------------------------------- /i18n/auto/ru.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: "Продукт или проект не были в сети.", 3 | server_order_stock_not_enough: "Недостаточный запас", 4 | server_order_quantity_error: "Количество ошибок.", 5 | server_order_contact_info_error: "Ошибка контактной информации.", 6 | server_request_failed: "Запрос не удался", 7 | server_apikey_already_exists: "Apikey уже существует", 8 | server_param_error: "Парам ошибка", 9 | server_too_frequency: "Посылать слишком много раз", 10 | server_email_code_send_failed: "Отправить код электронной почты не удалось", 11 | server_verify_expired: "Проверьте истек", 12 | server_verify_failed: "Проверьте неудачу", 13 | server_order_not_exists: "Заказ не существует или требует входа для доступа", 14 | server_pay_failed: "Оплата не удалась", 15 | server_at_most_buy_one: "Большинство купить один", 16 | server_no_pricing_tip: "Нет доступных цен", 17 | server_order_pay_sku_locked: "Бизнес занят, попробуйте еще раз позже.", 18 | server_insufficient_stock: "Недостаточный запас", 19 | server_internal_error: "Ошибка интервала", 20 | server_order_payment_succ: "Заказать оплату успешно", 21 | server_internal_exception: "Внутреннее исключение", 22 | server_order_wrong_payment_user: "Неправильный пользователь оплаты", 23 | server_order_pay_status_error: "Заказ не может быть", 24 | server_order_expired: "Заказ истек", 25 | server_insufficient_credits: "Недостаточные кредиты", 26 | server_redeem_code_unknown: "Искупить код не существует", 27 | server_account_not_exists: "Учетная запись не существует", 28 | server_email_invalid: "Электронная почта недействительна", 29 | server_email_illegal: "Электронная почта незаконно", 30 | server_email_already_verified: "Электронная почта уже проверена", 31 | server_email_already_registered: 32 | "Это письмо уже зарегистрировано, пожалуйста, войдите в систему.", 33 | server_email_or_pass_invalid: "Электронная почта или пароль недействительный", 34 | server_please_sign_up_first: "Пожалуйста, зарегистрируйтесь в первую очередь", 35 | server_pass_invalid: "Пароль недействительный", 36 | server_verify_code_invalid: "Код недействительным", 37 | server_please_bind_email_first: 38 | "Пожалуйста, сначала свяжите свою электронную почту", 39 | server_need_login: "Нужно входить в систему", 40 | server_already_binded: "Уже зарегистрировано", 41 | server_withdraw_amount_error: "Ошибка суммы", 42 | server_pls_fill_wallet_first: 43 | "Пожалуйста, сначала заполните информацию о кошельке", 44 | server_already_withdrawal_processing: "Уже вывод, который обрабатывается", 45 | server_exceed_max_create_num: "Превышать максимум num", 46 | server_specific_sku_can_not_empty: "Конкретный элемент не может быть пустым", 47 | server_max_one_global_plan: "Максимум один глобальный план", 48 | server_specific_plan_has_exists_item: 49 | "Некоторый предмет уже существует в конкретном плане", 50 | server_project_not_exists: "Проект не существует", 51 | server_sku_name_already_exists: "Имя уже существует", 52 | server_slug_already_exists: "Слинь уже существует", 53 | server_create_payment_failed: "Создать счета не удалось", 54 | server_not_found: "Не найдено", 55 | server_need_bind_telegram: "Сначала свяжите свою учетную запись Telegram.", 56 | server_op_success: "Операция успешно", 57 | server_op_failed: "Операция не удалась", 58 | per_request: "/запрос", 59 | per_item: "/элемент", 60 | free_price_tag: "Бесплатно", 61 | freemium_price_tag: "Freemium", 62 | low_to: "Низко до", 63 | dynamic_pricing_tag: "Заплатить, как вы идете", 64 | stock: "Запас", 65 | Sold_out: "Распроданный", 66 | All: "Все", 67 | Notice: "Уведомление", 68 | Close: "Закрывать", 69 | Contact_Merchant: "Связаться с нами", 70 | no_provider_contact_info: 71 | "Merchant не предоставил никакой контактной информации.", 72 | No_Skus: "Нет продуктов", 73 | more_see_doc: "Смотрите документацию для более подробной информации.", 74 | Quantity: "Количество", 75 | Contact_Information: "Контактная информация", 76 | Coupon: "Купон", 77 | place_order: "Купить", 78 | order_contact_info_placeholder: "Электронная почта или номер телефона", 79 | Unit_Price: "Цена за единицу (доллар США)", 80 | Stage_Price: "Стадия цена", 81 | sku_pricing: "Ценообразование", 82 | at_most_buy_one: "Большинство купить один", 83 | automatic_delivery: "Автоматическая сделка", 84 | header_search_order: "Поисковые приказы", 85 | Search_Order: "Поиск", 86 | search_order_input_placeholder: 87 | "Пожалуйста, введите контактную информацию или OrderID", 88 | txn_order_id: "Идентификатор заказа", 89 | Name: "Имя", 90 | Price: "Цена", 91 | Status: "Статус", 92 | Date: "Дата", 93 | txn_order_status_NEW: "Новый", 94 | txn_order_status_EXPIRED: "Истекший", 95 | txn_order_status_PAID: "Оплаченный", 96 | txn_order_status_DONE: "Завершенный", 97 | txn_order_status_REFUND: "Возвращать деньги", 98 | tansation_not_found: "Еще не найдена история", 99 | search_order_tip1: "Отображение до 10 заказов в течение 30 дней.", 100 | order_digital_items: "Купленные товары", 101 | charge_btn: "Платить", 102 | order_id: "Идентификатор заказа", 103 | order_ori_price: "Первоначальная цена", 104 | order_pay_price: "Платная цена", 105 | order_coupon: "Купон", 106 | creation_date: "Дата создания", 107 | order_expired: "Заказ истек", 108 | order_paid: "Оплаченный", 109 | order_done: "Заказ завершен", 110 | order_tip1: 111 | "‼ После завершения оплаты, пожалуйста, вернитесь на эту страницу, чтобы просмотреть купленный контент.", 112 | minutes: "минуты", 113 | seconds: "раздел", 114 | order_countdown: "Обратный отсчет оплаты", 115 | sku_desc: "Описание продукта", 116 | project_desc: "Описание проекта", 117 | back_to_home: "Назад", 118 | order_anonymous_tip: 119 | "Вы можете получить последние заказы на странице запроса.", 120 | platform_payment_alipay: "Алипай", 121 | platform_payment_wxpay: "WeChat Pay", 122 | platform_payment_crypto: "Криптооплата", 123 | platform_payment_hiicash: "Hiicash Pay", 124 | hiicash_vendor_tip: "Купить ваучеры Hiicash.", 125 | Search: "Поиск", 126 | product_name: "Название продукта", 127 | DIGITAL: "Цифровой продукт", 128 | GROUP: "Членство в группе", 129 | MANUAL: "Ручное обслуживание", 130 | Payment_fee: "Плата за оплату", 131 | LICENSE: "Лицензионная служба", 132 | platform_payment_onramp: "Купить крипто, чтобы заплатить", 133 | USD: "доллар США", 134 | }; 135 | -------------------------------------------------------------------------------- /i18n/auto/tr.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: "Ürün veya proje çevrimiçi değildi.", 3 | server_order_stock_not_enough: "Yetersiz Stok", 4 | server_order_quantity_error: "Miktar hatası.", 5 | server_order_contact_info_error: "İletişim Bilgileri Hatası.", 6 | server_request_failed: "İstek başarısız oldu", 7 | server_apikey_already_exists: "Apikey zaten var", 8 | server_param_error: "Param hatası", 9 | server_too_frequency: "Çok fazla gönderin", 10 | server_email_code_send_failed: "E -posta Kodu Gönder Başarısız Oldu", 11 | server_verify_expired: "Süresi dolduğunu doğrulayın", 12 | server_verify_failed: "Başarısız Olduğunu Doğrula", 13 | server_order_not_exists: 14 | "Sipariş mevcut değil veya erişmek için giriş gerektiriyor", 15 | server_pay_failed: "Ücret başarısız oldu", 16 | server_at_most_buy_one: "En çok bir tane al", 17 | server_no_pricing_tip: "Mevcut fiyatlandırma yok", 18 | server_order_pay_sku_locked: "İş meşgul, lütfen daha sonra tekrar deneyin.", 19 | server_insufficient_stock: "Yetersiz Stok", 20 | server_internal_error: "Aralık hatası", 21 | server_order_payment_succ: "Sipariş Ödeme Başarılı", 22 | server_internal_exception: "İç istisna", 23 | server_order_wrong_payment_user: "Yanlış Ödeme Kullanıcısı", 24 | server_order_pay_status_error: "Sipariş pied olamaz", 25 | server_order_expired: "Sipariş süresi doldu", 26 | server_insufficient_credits: "Yetersiz kredi", 27 | server_redeem_code_unknown: "Kodu kullanmıyor", 28 | server_account_not_exists: "Hesap var değil", 29 | server_email_invalid: "E -posta geçersiz", 30 | server_email_illegal: "Yasadışı e -posta", 31 | server_email_already_verified: "E -posta zaten doğrulandı", 32 | server_email_already_registered: 33 | "Bu e -posta zaten kayıtlı, lütfen giriş yapın.", 34 | server_email_or_pass_invalid: "E -posta veya şifre geçersiz", 35 | server_please_sign_up_first: "Lütfen önce kaydolun", 36 | server_pass_invalid: "Şifre geçersiz", 37 | server_verify_code_invalid: "Kod geçersiz", 38 | server_please_bind_email_first: "Lütfen önce e -postanızı bağlayın", 39 | server_need_login: "Giriş gerekiyor", 40 | server_already_binded: "Zaten Beded", 41 | server_withdraw_amount_error: "Miktar Hatası", 42 | server_pls_fill_wallet_first: "Lütfen önce cüzdan bilgilerini doldurun", 43 | server_already_withdrawal_processing: "Zaten işlenen bir para çekme işlemi", 44 | server_exceed_max_create_num: "Maximun Num'u aşmak", 45 | server_specific_sku_can_not_empty: "Belirli öğe boş olamaz", 46 | server_max_one_global_plan: "Maksimum bir küresel plan", 47 | server_specific_plan_has_exists_item: "Bazı öğeler zaten belirli planda var", 48 | server_project_not_exists: "Proje mevcut değil", 49 | server_sku_name_already_exists: "İsim zaten var", 50 | server_slug_already_exists: "Slug zaten var", 51 | server_create_payment_failed: "Fatura Oluşturun Başarısız Oldu", 52 | server_not_found: "Bulunamadı", 53 | server_need_bind_telegram: "Lütfen önce telgraf hesabınızı bağlayın.", 54 | server_op_success: "Başarılı operasyon", 55 | server_op_failed: "Operasyon başarısız oldu", 56 | per_request: "/rica etmek", 57 | per_item: "/öğe", 58 | free_price_tag: "Özgür", 59 | freemium_price_tag: "Freemium", 60 | low_to: "Alçak", 61 | dynamic_pricing_tag: "Gittikçe ÖDEME", 62 | stock: "Stoklamak", 63 | Sold_out: "Hepsi satıldı", 64 | All: "Tüm", 65 | Notice: "Fark etme", 66 | Close: "Kapalı", 67 | Contact_Merchant: "Bize Ulaşın", 68 | no_provider_contact_info: 69 | "Satıcı herhangi bir iletişim bilgisi sağlamamıştır.", 70 | No_Skus: "Ürün yok", 71 | more_see_doc: "Daha fazla ayrıntı için belgelere bakın.", 72 | Quantity: "Miktar", 73 | Contact_Information: "İletişim bilgileri", 74 | Coupon: "Kupon", 75 | place_order: "Satın almak", 76 | order_contact_info_placeholder: "E -posta veya telefon numarası", 77 | Unit_Price: "Birim Fiyat (USD)", 78 | Stage_Price: "Sahne fiyatı", 79 | sku_pricing: "Fiyatlandırma", 80 | at_most_buy_one: "En çok bir tane al", 81 | automatic_delivery: "Otomatik anlaşma", 82 | header_search_order: "Arama Siparişleri", 83 | Search_Order: "Aramak", 84 | search_order_input_placeholder: 85 | "Lütfen İletişim Bilgileri veya OrderID girin", 86 | txn_order_id: "Sipariş kimliği", 87 | Name: "İsim", 88 | Price: "Fiyat", 89 | Status: "Durum", 90 | Date: "Tarih", 91 | txn_order_status_NEW: "Yeni", 92 | txn_order_status_EXPIRED: "Günü geçmiş", 93 | txn_order_status_PAID: "Paralı", 94 | txn_order_status_DONE: "Tamamlanmış", 95 | txn_order_status_REFUND: "Geri ödemek", 96 | tansation_not_found: "Henüz tarih bulunamadı", 97 | search_order_tip1: "30 gün içinde 10 siparişe kadar görüntüleyin.", 98 | order_digital_items: "Satın alınan ürünler", 99 | charge_btn: "Ödemek", 100 | order_id: "Sipariş kimliği", 101 | order_ori_price: "Orijinal fiyat", 102 | order_pay_price: "Ödeme fiyatı", 103 | order_coupon: "Kupon", 104 | creation_date: "Yaratılış tarihi", 105 | order_expired: "Sipariş süresi doldu", 106 | order_paid: "Paralı", 107 | order_done: "Sipariş tamamlandı", 108 | order_tip1: 109 | "‼ Ödeme tamamlandıktan sonra, satın alınan içeriği görüntülemek için lütfen bu sayfaya dönün.", 110 | minutes: "dakikalar", 111 | seconds: "sec", 112 | order_countdown: "Ödeme geri sayımı", 113 | sku_desc: "Ürün Açıklaması", 114 | project_desc: "Proje Tanımı", 115 | back_to_home: "Geri", 116 | order_anonymous_tip: "Sorgu sayfasında en son siparişleri alabilirsiniz.", 117 | platform_payment_alipay: "Alipay", 118 | platform_payment_wxpay: "WeChat Pay", 119 | platform_payment_crypto: "Kripto ödemesi", 120 | platform_payment_hiicash: "Hiicash Pay", 121 | hiicash_vendor_tip: "Hiicash kuponları satın almak için.", 122 | Search: "Aramak", 123 | product_name: "Ürün adı", 124 | DIGITAL: "Dijital ürün", 125 | GROUP: "Grup üyeliği", 126 | MANUAL: "Manuel hizmet", 127 | Payment_fee: "Ödeme ücretleri", 128 | LICENSE: "Lisans hizmeti", 129 | platform_payment_onramp: "Ödemek için kripto al", 130 | USD: "Amerikan Doları", 131 | }; 132 | -------------------------------------------------------------------------------- /i18n/auto/uk.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: "Продукт чи проект не були в Інтернеті.", 3 | server_order_stock_not_enough: "Недостатній запас", 4 | server_order_quantity_error: "Помилка кількості.", 5 | server_order_contact_info_error: "Помилка контактної інформації.", 6 | server_request_failed: "Запит не вдалося", 7 | server_apikey_already_exists: "Apikey вже існує", 8 | server_param_error: "Парам помилка", 9 | server_too_frequency: "Надішліть занадто багато разів", 10 | server_email_code_send_failed: "Надіслати код електронної пошти не вдалося", 11 | server_verify_expired: "Перевірте термін дії", 12 | server_verify_failed: "Перевірте не вдалося", 13 | server_order_not_exists: "Замовлення не існує або вимагає входу для доступу", 14 | server_pay_failed: "Оплата не вдалося", 15 | server_at_most_buy_one: "Максимум купити один", 16 | server_no_pricing_tip: "Немає доступних цін", 17 | server_order_pay_sku_locked: 18 | "Бізнес зайнятий, будь ласка, спробуйте пізніше.", 19 | server_insufficient_stock: "Недостатній запас", 20 | server_internal_error: "Помилка інтервалу", 21 | server_order_payment_succ: "Замовити оплату успішним", 22 | server_internal_exception: "Внутрішній виняток", 23 | server_order_wrong_payment_user: "Неправильний користувач оплати", 24 | server_order_pay_status_error: "Порядок не може стягнути", 25 | server_order_expired: "Термін дії замовлення закінчився", 26 | server_insufficient_credits: "Недостатня кількість кредитів", 27 | server_redeem_code_unknown: "СПЕЦІАЛЬНЕ код не існує", 28 | server_account_not_exists: "Рахунок не існує", 29 | server_email_invalid: "Електронна пошта недійсна", 30 | server_email_illegal: "Надішліть електронною поштою незаконну", 31 | server_email_already_verified: "Електронна пошта вже перевірила", 32 | server_email_already_registered: 33 | "Цей електронний лист вже зареєстрований, будь ласка, увійдіть.", 34 | server_email_or_pass_invalid: "Електронна пошта або пароль недійсним", 35 | server_please_sign_up_first: "Будь ласка, підпишіться спочатку", 36 | server_pass_invalid: "Пароль недійсний", 37 | server_verify_code_invalid: "Код недійсним", 38 | server_please_bind_email_first: 39 | "Будь ласка, зв’яжуйте свою електронну пошту спочатку", 40 | server_need_login: "Потрібен вхід", 41 | server_already_binded: "Вже придушувався", 42 | server_withdraw_amount_error: "Помилка суми", 43 | server_pls_fill_wallet_first: 44 | "Будь ласка, спочатку заповніть інформацію про гаманець", 45 | server_already_withdrawal_processing: "Вже виведення, яке обробляється", 46 | server_exceed_max_create_num: "Перевищує максимуну num", 47 | server_specific_sku_can_not_empty: "Конкретний предмет не може бути порожнім", 48 | server_max_one_global_plan: "Максимум один глобальний план", 49 | server_specific_plan_has_exists_item: 50 | "Якийсь предмет вже існує в конкретному плані", 51 | server_project_not_exists: "Проект не існує", 52 | server_sku_name_already_exists: "Ім'я вже існує", 53 | server_slug_already_exists: "Слуг вже існує", 54 | server_create_payment_failed: "Створити рахунок -фактуру не вдалося", 55 | server_not_found: "Не знайдено", 56 | server_need_bind_telegram: 57 | "Будь ласка, спочатку прив’язайте свій обліковий запис Telegram.", 58 | server_op_success: "Операція успішна", 59 | server_op_failed: "Операція не вдалася", 60 | per_request: "/Запит", 61 | per_item: "/пункт", 62 | free_price_tag: "Безкоштовний", 63 | freemium_price_tag: "Фрім", 64 | low_to: "Низько", 65 | dynamic_pricing_tag: "Платіть, як ви йдете", 66 | stock: "Запас", 67 | Sold_out: "Розпроданий", 68 | All: "Все", 69 | Notice: "Ув'язнення", 70 | Close: "Закривати", 71 | Contact_Merchant: "Зв’яжіться з нами", 72 | no_provider_contact_info: "Торговець не надав жодної контактної інформації.", 73 | No_Skus: "Немає продуктів", 74 | more_see_doc: "Детальніше див. Документацію.", 75 | Quantity: "Кількість", 76 | Contact_Information: "Контактна інформація", 77 | Coupon: "Купон", 78 | place_order: "Купувати", 79 | order_contact_info_placeholder: "Електронна пошта або номер телефону", 80 | Unit_Price: "Одиниця ціни (долар)", 81 | Stage_Price: "Ціна на сцені", 82 | sku_pricing: "Ціноутворення", 83 | at_most_buy_one: "Максимум купити один", 84 | automatic_delivery: "Автоматична угода", 85 | header_search_order: "Замовлення пошуку", 86 | Search_Order: "Обшук", 87 | search_order_input_placeholder: "Введіть контактну інформацію або OrderID", 88 | txn_order_id: "Ідентифікатор замовлення", 89 | Name: "Назва", 90 | Price: "Ціна", 91 | Status: "Статус", 92 | Date: "Дата", 93 | txn_order_status_NEW: "Новачок", 94 | txn_order_status_EXPIRED: "Закінчився", 95 | txn_order_status_PAID: "Оплачений", 96 | txn_order_status_DONE: "Завершений", 97 | txn_order_status_REFUND: "Повернути", 98 | tansation_not_found: "Ще не знайдено історії", 99 | search_order_tip1: "Відображення до 10 замовлень протягом 30 днів.", 100 | order_digital_items: "Придбані предмети", 101 | charge_btn: "Оплачувати", 102 | order_id: "Ідентифікатор замовлення", 103 | order_ori_price: "Первісна ціна", 104 | order_pay_price: "Ціна оплати", 105 | order_coupon: "Купон", 106 | creation_date: "Дата створення", 107 | order_expired: "Термін дії замовлення закінчився", 108 | order_paid: "Оплачений", 109 | order_done: "Замовлення завершено", 110 | order_tip1: 111 | "‼ Після завершення оплати поверніться на цю сторінку, щоб переглянути придбаний вміст.", 112 | minutes: "хвилини", 113 | seconds: "секція", 114 | order_countdown: "Платіжний відлік", 115 | sku_desc: "Опис товару", 116 | project_desc: "Опис проекту", 117 | back_to_home: "Спинка", 118 | order_anonymous_tip: 119 | "Ви можете отримати останні замовлення на сторінці запиту.", 120 | platform_payment_alipay: "Аліпай", 121 | platform_payment_wxpay: "WeChat Pay", 122 | platform_payment_crypto: "Криптовалюта", 123 | platform_payment_hiicash: "Hiicash Pay", 124 | hiicash_vendor_tip: "Придбати ваучери HIICASH.", 125 | Search: "Обшук", 126 | product_name: "Назва товару", 127 | DIGITAL: "Цифровий продукт", 128 | GROUP: "Групове членство", 129 | MANUAL: "Ручне обслуговування", 130 | Payment_fee: "Платіжні збори", 131 | LICENSE: "Служба ліцензії", 132 | platform_payment_onramp: "Купуйте криптовалюту, щоб заплатити", 133 | USD: "Долар", 134 | }; 135 | -------------------------------------------------------------------------------- /i18n/auto/uz.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: "Mahsulot yoki loyiha onlayn emas edi.", 3 | server_order_stock_not_enough: "Fond etarli emas", 4 | server_order_quantity_error: "Miqdorlar xatosi.", 5 | server_order_contact_info_error: "Aloqa ma'lumotlari xatosi.", 6 | server_request_failed: "Talab bajarilmadi", 7 | server_apikey_already_exists: "Apikey allaqachon mavjud", 8 | server_param_error: "Param xatosi", 9 | server_too_frequency: "Juda ko'p marta yuboring", 10 | server_email_code_send_failed: "Elektron pochta kodi bajarilmadi", 11 | server_verify_expired: "Tekshirish muddati tugadi", 12 | server_verify_failed: "Tekshirilmadi", 13 | server_order_not_exists: 14 | "Buyurtma mavjud emas yoki kirish uchun loginlikni talab qiladi", 15 | server_pay_failed: "To'lov muvaffaqiyatsiz tugadi", 16 | server_at_most_buy_one: "Ko'pchilik sotib oling", 17 | server_no_pricing_tip: "Mavjud narxlar yo'q", 18 | server_order_pay_sku_locked: 19 | "Biznes band, iltimos, keyinroq qayta urinib ko'ring.", 20 | server_insufficient_stock: "Fond etarli emas", 21 | server_internal_error: "Intervalli xato", 22 | server_order_payment_succ: "To'lovni muvaffaqiyatli bajarish", 23 | server_internal_exception: "Ichissiya", 24 | server_order_wrong_payment_user: "Noto'g'ri to'lov foydalanuvchisi", 25 | server_order_pay_status_error: "Buyurtma to'xtata olmaydi", 26 | server_order_expired: "Buyurtma muddati tugadi", 27 | server_insufficient_credits: "Kredit yetarli emas", 28 | server_redeem_code_unknown: "Kodni qaytarish mavjud emas", 29 | server_account_not_exists: "Hisob mavjud emas", 30 | server_email_invalid: "Elektron pochta yaroqsiz", 31 | server_email_illegal: "Noqonuniy elektron pochta", 32 | server_email_already_verified: "Elektron pochta allaqachon tasdiqlangan", 33 | server_email_already_registered: 34 | "Ushbu elektron pochta xabarlari allaqachon ro'yxatdan o'tgan, tizimga kiring.", 35 | server_email_or_pass_invalid: "Elektron pochta yoki parol noto'g'ri", 36 | server_please_sign_up_first: "Iltimos, avval ro'yxatdan o'ting", 37 | server_pass_invalid: "Parol haqiqiy emas", 38 | server_verify_code_invalid: "Kod yaroqsiz", 39 | server_please_bind_email_first: 40 | "Iltimos, avval elektron pochtangizni bog'lang", 41 | server_need_login: "Kirish kerak", 42 | server_already_binded: "Allaqachon bog'langan", 43 | server_withdraw_amount_error: "Miqdorlik xatosi", 44 | server_pls_fill_wallet_first: 45 | "Iltimos, avval Wallet ma'lumotlarini to'ldiring", 46 | server_already_withdrawal_processing: "Allaqachon ishlov berilmoqda", 47 | server_exceed_max_create_num: "Maksimal raqamdan oshing", 48 | server_specific_sku_can_not_empty: "Muayyan buyum bo'sh bo'lolmaydi", 49 | server_max_one_global_plan: "Maksimal bitta global rejasi", 50 | server_specific_plan_has_exists_item: "Ba'zi bir mahsulot aniq rejada mavjud", 51 | server_project_not_exists: "Loyiha yo'q", 52 | server_sku_name_already_exists: "Ism allaqachon mavjud", 53 | server_slug_already_exists: "Slug allaqachon mavjud", 54 | server_create_payment_failed: 55 | "Hisob-fakturani yaratish muvaffaqiyatsiz tugadi", 56 | server_not_found: "Topilmadi", 57 | server_need_bind_telegram: "Iltimos, avval Telegram hisobingizni bog'lang.", 58 | server_op_success: "Operatsiya muvaffaqiyatli", 59 | server_op_failed: "Operatsiya muvaffaqiyatsiz tugadi", 60 | per_request: "/ so'rov", 61 | per_item: "/ element", 62 | free_price_tag: "Erkin", 63 | freemium_price_tag: "Tezlik", 64 | low_to: "Past", 65 | dynamic_pricing_tag: "Siz borganingizda to'lash", 66 | stock: "Zaxira", 67 | Sold_out: "Sotildi", 68 | All: "Hamma", 69 | Notice: "E'tibor", 70 | Close: "Yaqin", 71 | Contact_Merchant: "Biz bilan bog'lanish", 72 | no_provider_contact_info: 73 | "Savdogar hech qanday aloqa ma'lumotlarini bermadi.", 74 | No_Skus: "Mahsulotlar yo'q", 75 | more_see_doc: "Qo'shimcha ma'lumotlar uchun hujjatlarni ko'ring.", 76 | Quantity: "Miqdori", 77 | Contact_Information: "Bog'lanish uchun ma'lumot", 78 | Coupon: "Kupon", 79 | place_order: "Sotib olmoq", 80 | order_contact_info_placeholder: "Elektron pochta yoki telefon raqami", 81 | Unit_Price: "Birlik narxi (AQSh dollari)", 82 | Stage_Price: "Sahna narxi", 83 | sku_pricing: "Narx", 84 | at_most_buy_one: "Ko'pchilik sotib oling", 85 | automatic_delivery: "Avtomatik hal qilish", 86 | header_search_order: "Qidiruv buyurtmalari", 87 | Search_Order: "Qidirish", 88 | search_order_input_placeholder: 89 | "Iltimos, aloqa ma'lumotlari yoki tartibini kiriting", 90 | txn_order_id: "Buyurtma identifikatori", 91 | Name: "Ism", 92 | Price: "Narx", 93 | Status: "Holat", 94 | Date: "Sana", 95 | txn_order_status_NEW: "Yangi", 96 | txn_order_status_EXPIRED: "Muddati o'tgan", 97 | txn_order_status_PAID: "To'langan", 98 | txn_order_status_DONE: "Tugallangan", 99 | txn_order_status_REFUND: "Qaytarmoq", 100 | tansation_not_found: "Hech qachon hech qachon topilmadi", 101 | search_order_tip1: "30 kun ichida 10 tagacha buyurtmani namoyish etish.", 102 | order_digital_items: "Xarid qilingan narsalar", 103 | charge_btn: "To'lamoq", 104 | order_id: "Buyurtma identifikatori", 105 | order_ori_price: "Asl narx", 106 | order_pay_price: "To'lov narxi", 107 | order_coupon: "Kupon", 108 | creation_date: "Yaratilish sanasi", 109 | order_expired: "Buyurtma muddati tugadi", 110 | order_paid: "To'langan", 111 | order_done: "Buyurtma tugadi", 112 | order_tip1: 113 | "? To'lov tugagandan so'ng, sotib olingan tarkibni ko'rish uchun ushbu sahifaga qayting.", 114 | minutes: "daqiqa", 115 | seconds: "sekund", 116 | order_countdown: "To'lov hisoboti", 117 | sku_desc: "Mahsulot tavsifi", 118 | project_desc: "Loyihaning tavsifi", 119 | back_to_home: "Orqaga qaytish", 120 | order_anonymous_tip: 121 | "Siz so'rov sahifasida so'nggi buyurtmalarni olishingiz mumkin.", 122 | platform_payment_alipay: "Alpay", 123 | platform_payment_wxpay: "Wovat to'laydi", 124 | platform_payment_crypto: "Kripto to'lovi", 125 | platform_payment_hiicash: "Hicash to'lovi", 126 | hiicash_vendor_tip: "Hovaş vaucherlarni sotib olish.", 127 | Search: "Qidirish", 128 | product_name: "Mahsulot nomi", 129 | DIGITAL: "Raqamli mahsulot", 130 | GROUP: "Guruh a'zoligi", 131 | MANUAL: "Qo'lda xizmat", 132 | Payment_fee: "To'lov to'lovlari", 133 | LICENSE: "Litsenziya xizmati", 134 | platform_payment_onramp: "To'lash uchun kripto sotib oling", 135 | USD: "USD", 136 | }; 137 | -------------------------------------------------------------------------------- /i18n/auto/zh-HK.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | server_order_project_or_sku_offline: "商品或項目未上架", 3 | server_order_stock_not_enough: "庫存不足", 4 | server_order_quantity_error: "購買數量錯誤.", 5 | server_order_contact_info_error: "聯繫方式錯誤.", 6 | server_request_failed: "請求失敗", 7 | server_apikey_already_exists: "apikey已經存在", 8 | server_param_error: "參數錯誤", 9 | server_too_frequency: "操作頻繁", 10 | server_email_code_send_failed: "發送郵箱失敗", 11 | server_verify_expired: "驗證已過期", 12 | server_verify_failed: "驗證失敗", 13 | server_order_not_exists: "訂單已不存在或需要登錄後訪問", 14 | server_pay_failed: "支付失敗", 15 | server_at_most_buy_one: "最多購買一件", 16 | server_no_pricing_tip: "找不到可用的定價計劃", 17 | server_order_pay_sku_locked: "業務繁忙請稍後再試", 18 | server_insufficient_stock: "庫存不足", 19 | server_internal_error: "內部錯誤", 20 | server_order_payment_succ: "訂單支付成功", 21 | server_internal_exception: "內部異常", 22 | server_order_wrong_payment_user: "支付用戶無效", 23 | server_order_pay_status_error: "訂單不能被支付", 24 | server_order_expired: "訂單已過期", 25 | server_insufficient_credits: "積分不足請充值", 26 | server_redeem_code_unknown: "兌換碼不存在", 27 | server_account_not_exists: "賬號不存在", 28 | server_email_invalid: "郵箱無效", 29 | server_email_illegal: "郵箱非法", 30 | server_email_already_verified: "郵箱已驗證成功", 31 | server_email_already_registered: "此郵箱已註冊過請直接登錄", 32 | server_email_or_pass_invalid: "郵箱或密碼無效", 33 | server_please_sign_up_first: "請先註冊", 34 | server_pass_invalid: "密碼無效", 35 | server_verify_code_invalid: "驗證碼無效", 36 | server_please_bind_email_first: "請先綁定郵箱", 37 | server_need_login: "請登錄", 38 | server_already_binded: "已綁定", 39 | server_withdraw_amount_error: "金額錯誤", 40 | server_pls_fill_wallet_first: "請先填寫提現錢包信息", 41 | server_already_withdrawal_processing: 42 | "當前有提現申請還未處理完成, 需處理完後方可繼續申請", 43 | server_exceed_max_create_num: "超過最大創建數量", 44 | server_specific_sku_can_not_empty: "指定項不能為空", 45 | server_max_one_global_plan: "最多一個全局計劃", 46 | server_specific_plan_has_exists_item: "同一項目只能出現在一個指定計劃中", 47 | server_project_not_exists: "項目不存在", 48 | server_sku_name_already_exists: "名稱不能重複", 49 | server_slug_already_exists: "slug已被佔用", 50 | server_create_payment_failed: "創建支付失敗", 51 | server_not_found: "不存在", 52 | server_need_bind_telegram: "請先綁定telegram賬號", 53 | server_op_success: "操作成功", 54 | server_op_failed: "操作失敗", 55 | per_request: "/次", 56 | per_item: "/件", 57 | free_price_tag: "免費", 58 | freemium_price_tag: "免費起用", 59 | low_to: "低至", 60 | dynamic_pricing_tag: "按量付費", 61 | stock: "庫存", 62 | Sold_out: "售罄", 63 | All: "全部", 64 | Notice: "公告", 65 | Close: "關閉", 66 | Contact_Merchant: "聯繫我們", 67 | no_provider_contact_info: "暫未提供任何联系方式。", 68 | No_Skus: "沒有商品", 69 | more_see_doc: "更多細節見文檔", 70 | Quantity: "購買數量", 71 | Contact_Information: "聯繫方式", 72 | Coupon: "優惠券", 73 | place_order: "提交訂單", 74 | order_contact_info_placeholder: "郵箱或電話", 75 | Unit_Price: "單價(USD)", 76 | Stage_Price: "階梯價格", 77 | sku_pricing: "價格", 78 | at_most_buy_one: "限購一件", 79 | automatic_delivery: "自動發貨", 80 | header_search_order: "查詢訂單", 81 | Search_Order: "查詢", 82 | search_order_input_placeholder: "請輸入下單時填寫的聯繫方式或訂單號", 83 | txn_order_id: "訂單號", 84 | Name: "名稱", 85 | Price: "價格", 86 | Status: "狀態", 87 | Date: "日期", 88 | txn_order_status_NEW: "新訂單", 89 | txn_order_status_EXPIRED: "已過期", 90 | txn_order_status_PAID: "已支付", 91 | txn_order_status_DONE: "已完成", 92 | txn_order_status_REFUND: "已退款", 93 | tansation_not_found: "沒有交易記錄", 94 | search_order_tip1: "最多展示30天內的近10個訂單", 95 | order_digital_items: "已購內容", 96 | charge_btn: "支付", 97 | order_id: "訂單號", 98 | order_ori_price: "原價", 99 | order_pay_price: "實付價", 100 | order_coupon: "優惠券", 101 | creation_date: "創建日期", 102 | order_expired: "訂單已過期", 103 | order_paid: "已支付", 104 | order_done: "訂單已完成", 105 | order_tip1: "‼ ️支付完成後請回到本頁面查看購買內容", 106 | minutes: "分", 107 | seconds: "秒", 108 | order_countdown: "支付倒計時", 109 | sku_desc: "商品介紹", 110 | project_desc: "項目介紹", 111 | back_to_home: "返回主頁", 112 | order_anonymous_tip: "你可以在查詢頁面獲取最近購買記錄", 113 | platform_payment_alipay: "支付寶", 114 | platform_payment_wxpay: "微信支付", 115 | platform_payment_crypto: "加密貨幣支付", 116 | platform_payment_hiicash: "HiiCash隱私支付(微信/支付寶)", 117 | hiicash_vendor_tip: "使用微信支付購買HiiCash代金券.", 118 | Search: "搜尋", 119 | product_name: "商品名稱", 120 | DIGITAL: "數字商品", 121 | GROUP: "付費群組", 122 | MANUAL: "人工交付", 123 | Payment_fee: "支付通道費", 124 | LICENSE: "授權碼", 125 | platform_payment_onramp: "購買加密貨幣支付", 126 | }; 127 | -------------------------------------------------------------------------------- /i18n/en.ts: -------------------------------------------------------------------------------- 1 | export default {// En 2 | server_order_project_or_sku_offline: 'The product or project has been not online.', 3 | server_order_stock_not_enough: 'Insufficient stock', 4 | server_order_quantity_error: 'Quantity error.', 5 | server_order_contact_info_error: 'Contact information error.', 6 | server_request_failed: 'Request failed', 7 | server_apikey_already_exists: 'apikey already exists', 8 | server_param_error: 'Param error', 9 | server_too_frequency: 'Send too many times', 10 | server_email_code_send_failed: 'Send email code failed', 11 | server_verify_expired: 'Verify expired', 12 | server_verify_failed: 'Verify failed', 13 | server_order_not_exists: 'Order not exists or requires login to access', 14 | server_pay_failed: 'Pay failed', 15 | server_at_most_buy_one: 'At most buy one', 16 | server_no_pricing_tip: 'No available pricing', 17 | server_order_pay_sku_locked: 'Business is busy, please try again later.', 18 | server_insufficient_stock: 'Insufficient stock', 19 | server_internal_error: 'Interval error', 20 | server_order_payment_succ: 'Order payment successful', 21 | server_internal_exception: 'Internal exception', 22 | server_order_wrong_payment_user: 'Wrong payment user', 23 | server_order_pay_status_error: 'Order can not paied', 24 | server_order_expired: 'Order has expired', 25 | server_insufficient_credits: 'Insufficient credits', 26 | server_redeem_code_unknown: 'Redeem code not exists', 27 | server_account_not_exists: 'Account not exists', 28 | server_email_invalid: 'Email invalid', 29 | server_email_illegal: 'Email illegal', 30 | server_email_already_verified: 'Email already verified', 31 | server_email_already_registered: 'This Email already registered, please login.', 32 | server_email_or_pass_invalid: 'Email or password invalid', 33 | server_please_sign_up_first: 'Please sign up first', 34 | server_pass_invalid: 'Password invalid', 35 | server_verify_code_invalid: 'Code invalid', 36 | server_please_bind_email_first: 'Please bind your email first', 37 | server_need_login: 'Need login', 38 | server_already_binded: 'Already binded', 39 | server_withdraw_amount_error: 'Amount error', 40 | server_pls_fill_wallet_first: 'Please fill in the wallet info first', 41 | server_already_withdrawal_processing: 'Already a withdrawal that is being processed', 42 | server_exceed_max_create_num: 'Exceed maximun num', 43 | server_specific_sku_can_not_empty: 'Specific item can not be empty', 44 | server_max_one_global_plan: 'Maximum one global plan', 45 | server_specific_plan_has_exists_item: 'Some item Already exists in the specific plan', 46 | server_project_not_exists: 'Project not exists', 47 | server_sku_name_already_exists: 'Name already exists', 48 | server_slug_already_exists: 'slug already exists', 49 | server_create_payment_failed: 'Create invoice failed', 50 | server_not_found: 'Not Found', 51 | server_need_bind_telegram: 'Please bind your telegram account first.', 52 | server_op_success: 'Operation successful', 53 | server_op_failed: "Operation failed", 54 | per_request: '/request', 55 | per_item: '/item', 56 | free_price_tag: 'Free', 57 | freemium_price_tag: 'Freemium', 58 | low_to: 'Low to', 59 | dynamic_pricing_tag: 'Pay as you go', 60 | stock: 'Stock', 61 | Sold_out: 'Sold out', 62 | All: 'All', 63 | Notice: 'Notice', 64 | Close: 'Close', 65 | Contact_Merchant: 'Contact us', 66 | no_provider_contact_info: 'Merchant has not provided any contact information.', 67 | No_Skus: 'No products', 68 | more_see_doc: 'See documentation for more details.', 69 | Quantity: 'Quantity', 70 | Contact_Information: 'Contact Information', 71 | Coupon: 'Coupon', 72 | place_order: 'Buy', 73 | order_contact_info_placeholder: 'Email or phone number', 74 | Unit_Price: 'Unit Price(USD)', 75 | Stage_Price: 'Stage Price', 76 | sku_pricing: 'Pricing', 77 | at_most_buy_one: 'At Most Buy One', 78 | automatic_delivery: 'Automatic Deal', 79 | header_search_order: 'Search Orders', 80 | Search_Order: 'Search', 81 | search_order_input_placeholder: 'Please input contact information or orderId', 82 | txn_order_id: 'Order ID', 83 | Name: 'Name', 84 | Price: 'Price', 85 | Status: 'Status', 86 | Date: 'Date', 87 | txn_order_status_NEW: 'New', 88 | txn_order_status_EXPIRED: 'Expired', 89 | txn_order_status_PAID: 'Paid', 90 | txn_order_status_DONE: 'Completed', 91 | txn_order_status_REFUND: 'Refund', 92 | tansation_not_found: 'No history found yet', 93 | search_order_tip1: 'Display up to 10 orders within 30 days.', 94 | order_digital_items: 'Purchased items', 95 | charge_btn: 'Pay', 96 | order_id: 'Order Id', 97 | order_ori_price: 'Original Price', 98 | order_pay_price: 'Pay Price', 99 | order_coupon: 'Coupon', 100 | creation_date: 'Creation Date', 101 | order_expired: 'Order has expired', 102 | order_paid: 'Paid', 103 | order_done: 'Order Completed', 104 | order_tip1: '‼ After payment is completed, please return to this page to view the purchased content.', 105 | minutes: 'minutes', 106 | seconds: 'sec', 107 | order_countdown: 'Payment countdown', 108 | sku_desc: 'Product Description', 109 | project_desc: 'Project Description', 110 | back_to_home: 'Back', 111 | order_anonymous_tip: 'You can get the latest orders on the query page.', 112 | platform_payment_alipay: 'Alipay', 113 | platform_payment_wxpay: 'Wechat Pay', 114 | platform_payment_crypto: 'Crypto Pay', 115 | platform_payment_hiicash: 'HiiCash Pay', 116 | Search: 'Search', 117 | product_name: 'Product Name', 118 | DIGITAL: 'Digital Product', 119 | GROUP: 'Group Membership', 120 | MANUAL: 'Manual Service', 121 | Payment_fee: 'Payment fees', 122 | LICENSE: 'LICENSE Service', 123 | USD: 'USD', 124 | } 125 | -------------------------------------------------------------------------------- /i18n/zh-CN.ts: -------------------------------------------------------------------------------- 1 | export default {// 中文 2 | server_order_project_or_sku_offline: '商品或项目未上架', 3 | server_order_stock_not_enough: '库存不足', 4 | server_order_quantity_error: '购买数量错误.', 5 | server_order_contact_info_error: '联系方式错误.', 6 | server_request_failed: '请求失败', 7 | server_apikey_already_exists: 'apikey已经存在', 8 | server_param_error: '参数错误', 9 | server_too_frequency: '操作频繁', 10 | server_email_code_send_failed: '发送邮箱失败', 11 | server_verify_expired: '验证已过期', 12 | server_verify_failed: '验证失败', 13 | server_order_not_exists: '订单已不存在或需要登录后访问', 14 | server_pay_failed: '支付失败', 15 | server_at_most_buy_one: '最多购买一件', 16 | server_no_pricing_tip: '找不到可用的定价计划', 17 | server_order_pay_sku_locked: '业务繁忙请稍后再试', 18 | server_insufficient_stock: '库存不足', 19 | server_internal_error: '内部错误', 20 | server_order_payment_succ: '订单支付成功', 21 | server_internal_exception: '内部异常', 22 | server_order_wrong_payment_user: '支付用户无效', 23 | server_order_pay_status_error: '订单不能被支付', 24 | server_order_expired: '订单已过期', 25 | server_insufficient_credits: '积分不足请充值', 26 | server_redeem_code_unknown: '兑换码不存在', 27 | server_account_not_exists: '账号不存在', 28 | server_email_invalid: '邮箱无效', 29 | server_email_illegal: '邮箱非法', 30 | server_email_already_verified: '邮箱已验证成功', 31 | server_email_already_registered: '此邮箱已注册过请直接登录', 32 | server_email_or_pass_invalid: '邮箱或密码无效', 33 | server_please_sign_up_first: '请先注册', 34 | server_pass_invalid: '密码无效', 35 | server_verify_code_invalid: '验证码无效', 36 | server_please_bind_email_first: '请先绑定邮箱', 37 | server_need_login: '请登录', 38 | server_already_binded: '已绑定', 39 | server_withdraw_amount_error: '金额错误', 40 | server_pls_fill_wallet_first: '请先填写提现钱包信息', 41 | server_already_withdrawal_processing: '当前有提现申请还未处理完成, 需处理完后方可继续申请', 42 | server_exceed_max_create_num: '超过最大创建数量', 43 | server_specific_sku_can_not_empty: '指定项不能为空', 44 | server_max_one_global_plan: '最多一个全局计划', 45 | server_specific_plan_has_exists_item: '同一项目只能出现在一个指定计划中', 46 | server_project_not_exists: '项目不存在', 47 | server_sku_name_already_exists: '名称不能重复', 48 | server_slug_already_exists: 'slug已被占用', 49 | server_create_payment_failed: '创建支付失败', 50 | server_not_found: '不存在', 51 | server_need_bind_telegram: '请先绑定telegram账号', 52 | server_op_success: '操作成功', 53 | server_op_failed: '操作失败', 54 | per_request: '/次', 55 | per_item: '/件', 56 | free_price_tag: '免费', 57 | freemium_price_tag: '免费起用', 58 | low_to: '低至', 59 | dynamic_pricing_tag: '按量付费', 60 | stock: '库存', 61 | Sold_out: '售罄', 62 | All: '全部', 63 | Notice: '公告', 64 | Close: '关闭', 65 | Contact_Merchant: '联系我们', 66 | no_provider_contact_info: '暂未提供任何联系方式。', 67 | No_Skus: '没有商品', 68 | more_see_doc: '更多细节见文档', 69 | Quantity: '购买数量', 70 | Contact_Information: '联系方式', 71 | Coupon: '优惠券', 72 | place_order: '提交订单', 73 | order_contact_info_placeholder: '邮箱或电话', 74 | Unit_Price: '单价(USD)', 75 | Stage_Price: '阶梯价格', 76 | sku_pricing: '价格', 77 | at_most_buy_one: '限购一件', 78 | automatic_delivery: '自动发货', 79 | header_search_order: '查询订单', 80 | Search_Order: '查询', 81 | search_order_input_placeholder: '请输入下单时填写的联系方式或订单号', 82 | txn_order_id: '订单号', 83 | Name: '名称', 84 | Price: '价格', 85 | Status: '状态', 86 | Date: '日期', 87 | txn_order_status_NEW: '新订单', 88 | txn_order_status_EXPIRED: '已过期', 89 | txn_order_status_PAID: '已支付', 90 | txn_order_status_DONE: '已完成', 91 | txn_order_status_REFUND: '已退款', 92 | tansation_not_found: '没有交易记录', 93 | search_order_tip1: '最多展示30天内的近10个订单', 94 | order_digital_items: '已购内容', 95 | charge_btn: '支付', 96 | order_id: '订单号', 97 | order_ori_price: '原价', 98 | order_pay_price: '实付价', 99 | order_coupon: '优惠券', 100 | creation_date: '创建日期', 101 | order_expired: '订单已过期', 102 | order_paid: '已支付', 103 | order_done: '订单已完成', 104 | order_tip1: '‼️支付完成后请回到本页面查看购买内容', 105 | minutes: '分', 106 | seconds: '秒', 107 | order_countdown: '支付倒计时', 108 | sku_desc: '商品介绍', 109 | project_desc: '项目介绍', 110 | back_to_home: '返回主页', 111 | order_anonymous_tip: '你可以在查询页面获取最近购买记录', 112 | platform_payment_alipay: '支付宝', 113 | platform_payment_wxpay: '微信支付', 114 | platform_payment_crypto: '加密货币支付', 115 | platform_payment_hiicash: 'HiiCash隐私支付(微信/支付宝)', 116 | Search: '搜索', 117 | product_name: '商品名称', 118 | DIGITAL: '数字商品', 119 | GROUP: '付费群组', 120 | MANUAL: '人工交付', 121 | Payment_fee: '支付通道费', 122 | LICENSE: '授权码', 123 | USD: '美元', 124 | } 125 | -------------------------------------------------------------------------------- /layouts/default.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | -------------------------------------------------------------------------------- /layouts/simplified.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 62 | 63 | -------------------------------------------------------------------------------- /nuxt.config.ts: -------------------------------------------------------------------------------- 1 | // https://nuxt.com/docs/api/configuration/nuxt-config 2 | export default defineNuxtConfig({ 3 | devtools: { enabled: true }, 4 | runtimeConfig: { 5 | idatariverMerchantSecret: '', 6 | public: { 7 | idatariver: 'https://www.idatariver.com', 8 | idatariverServer: 'https://open.idatariver.com', 9 | apiEncryptKey: 'Powered By iDataRiver.com', 10 | } 11 | }, 12 | components: [ 13 | { 14 | path: '~/components', 15 | }, 16 | ], 17 | modules: [ 18 | '@nuxtjs/tailwindcss', 19 | '@nuxtjs/i18n', 20 | '@nuxtjs/robots', 21 | '@nuxtjs/sitemap', 22 | '@nuxt/image', 23 | ], 24 | css: ['~/assets/css/main.css'], 25 | nitro: { // 性能优化 26 | compressPublicAssets: true, 27 | }, 28 | i18n: { 29 | vueI18n: './i18n.config.ts', // if you are using custom path, default 30 | locales: [ 31 | { code: 'en', iso: 'en' }, 32 | { code: 'es', iso: 'es' }, // 西班牙语 33 | { code: 'de', iso: 'de' }, // 德语 34 | { code: 'fr', iso: 'fr' }, // 法语 35 | { code: 'ja', iso: 'ja' }, // 日语 36 | { code: 'zh-cn', iso: 'zh-cn' }, // 简体中文 37 | { code: 'zh-hk', iso: 'zh-hk' }, // 繁体中文 38 | { code: 'ko', iso: 'ko' }, // 韩语 39 | { code: 'tr', iso: 'tr' }, // 土耳其 40 | { code: 'ru', iso: 'ru' }, // 俄语 41 | { code: 'uk', iso: 'uk' }, // 乌克兰 42 | { code: 'uz', iso: 'uz' }, // 乌兹别克语 43 | { code: 'kk', iso: 'kk' }, // 哈萨克语 44 | { code: 'pl', iso: 'pl' }, // 波兰语 45 | { code: 'ar', iso: 'ar' }, // 阿拉伯语 46 | { code: 'pt', iso: 'pt' }, // 葡萄牙语 47 | { code: 'fa', iso: 'fa' }, // 波斯语 48 | { code: 'pa', iso: 'pa' }, // 旁遮普语 49 | ], // used in URL path prefix 50 | defaultLocale: 'en', // default locale of your project for Nuxt pages and routings 51 | detectBrowserLanguage: { 52 | useCookie: true, 53 | cookieKey: 'i18n_redirected', 54 | //redirectOn: 'all', 55 | alwaysRedirect: true, 56 | } 57 | }, 58 | robots: { 59 | configPath: './robots.config.ts', 60 | }, 61 | site: { 62 | autoLastmod: true, 63 | }, 64 | }) 65 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "idatariver-theme-basic", 3 | "private": true, 4 | "type": "module", 5 | "scripts": { 6 | "build": "nuxt build", 7 | "dev": "nuxt dev", 8 | "generate": "nuxt generate", 9 | "preview": "nuxt preview", 10 | "postinstall": "nuxt prepare", 11 | "translate": "translate" 12 | }, 13 | "dependencies": { 14 | "@nuxt/image": "^1.7.0", 15 | "@nuxtjs/i18n": "^8.3.1", 16 | "@nuxtjs/robots": "^3.0.0", 17 | "@nuxtjs/sitemap": "^5.2.2", 18 | "@nuxtjs/tailwindcss": "^6.12.0", 19 | "@tailwindcss/typography": "^0.5.13", 20 | "@types/crypto-js": "^4.2.2", 21 | "crypto-js": "^4.2.0", 22 | "daisyui": "^4.12.10", 23 | "flowbite": "^2.4.1", 24 | "language-translate": "^2.2.5", 25 | "nuxt": "^3.12.2", 26 | "vue": "latest" 27 | } 28 | } -------------------------------------------------------------------------------- /pages/index.vue: -------------------------------------------------------------------------------- 1 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /pages/order/[...slug].vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | -------------------------------------------------------------------------------- /pages/order/search.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | -------------------------------------------------------------------------------- /pages/tip.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | -------------------------------------------------------------------------------- /plugins/flowbite.client.ts: -------------------------------------------------------------------------------- 1 | import { initFlowbite } from 'flowbite'; 2 | 3 | export default defineNuxtPlugin((nuxtApp) => { 4 | nuxtApp.vueApp.mixin({ 5 | mounted() { 6 | initFlowbite(); 7 | } 8 | }); 9 | }); -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iDataRiver/theme-basic/32204e1aca5b0dd586142ef6adb835a43d4f52ef/public/favicon.ico -------------------------------------------------------------------------------- /robots.config.ts: -------------------------------------------------------------------------------- 1 | export default [ 2 | { UserAgent: '*' }, 3 | { Allow: '/' }, 4 | { Disallow: '*/order' }, 5 | { BlankLine: true }, 6 | 7 | // Be aware that this will NOT work on target: 'static' mode 8 | { Sitemap: (req: any) => `https://${req.headers.host}/sitemap.xml` } 9 | ] -------------------------------------------------------------------------------- /server/api/[...].js: -------------------------------------------------------------------------------- 1 | import CryptoJS from 'crypto-js'; 2 | 3 | export const encryptReq = (path, ts, secret) => { 4 | let payload = { 5 | _t: ts, 6 | secret: secret, 7 | path: path, 8 | } 9 | 10 | const sortedKeys = Object.keys(payload).sort() 11 | let signStr = '' 12 | for (let index = 0; index < sortedKeys.length; index++) { 13 | const key = sortedKeys[index]; 14 | const value = typeof payload[key] === 'object' ? key : payload[key] 15 | signStr = `${signStr}${key}=${value}` 16 | } 17 | return CryptoJS.MD5(signStr).toString().toUpperCase() 18 | } 19 | 20 | const isValidSign = (event) => { 21 | try { 22 | let sign = getHeader(event, 'X-Sign') || event.path.split('&_sign=')[1].split('&')[0] 23 | sign = decodeURIComponent(sign) // vercel may conver `:` to `%3A` 24 | 25 | const ts = sign.split(':')[0] 26 | if (Date.now() - Number(ts) > 1000 * 3600) { // max valid in 3600s 27 | console.log('sign expired') 28 | return false 29 | } 30 | const raw = sign.split(':')[1] 31 | 32 | const config = useRuntimeConfig() 33 | 34 | const correctSign = encryptReq(event.path.split('?')[0], ts, config.public.apiEncryptKey) 35 | return raw === correctSign 36 | } catch (error) { 37 | console.error(error) 38 | return false 39 | } 40 | } 41 | 42 | const dealPayOrder = async (event, res) => { 43 | const code = res.code 44 | const locale = getQuery(event).locale 45 | const redirectUrl = getQuery(event).redirectUrl 46 | const config = useRuntimeConfig() 47 | 48 | if (code == 0) { 49 | if (res.result && res.result.payUrl) { 50 | let payUrl = res.result.payUrl 51 | if (payUrl.startsWith('/')) {// Dawn 52 | payUrl = locale && locale != 'en' ? `${config.public.idatariver}/${locale}${payUrl}` : `${config.public.idatariver}${payUrl}` 53 | } 54 | return await sendRedirect(event, payUrl) 55 | } 56 | return await sendRedirect(event, redirectUrl) 57 | } 58 | 59 | const i18nMsg = res.msg.startsWith('i18n:') ? res.msg.split('i18n:')[1] : 'server_internal_exception' 60 | const tipUrl = locale == 'en' ? `/tip?code=${code}&i18n=${i18nMsg}` : `/${locale}/tip?code=${code}&i18n=${i18nMsg}` 61 | return await sendRedirect(event, tipUrl) 62 | } 63 | 64 | export default defineEventHandler(async (event) => { 65 | // check sign 66 | if (!isValidSign(event)) { return 'illegal.' } 67 | 68 | if (!event.idatariverReq) { return 'Not Found.' } 69 | 70 | if (event.idatariverReq.cacheKey) { 71 | return await cachedMapi(event, event.idatariverReq.cacheKey) 72 | } 73 | 74 | const result = await $fetch(event.idatariverReq.url, event.idatariverReq.requestOptions).catch((error) => console.log(error.data)) 75 | 76 | // pay order api 77 | if (event.idatariverReq.url.includes('/mapi/order/pay')) { 78 | return dealPayOrder(event, result) 79 | } 80 | 81 | return result 82 | }) 83 | -------------------------------------------------------------------------------- /server/middleware/entrance.js: -------------------------------------------------------------------------------- 1 | import CryptoJS from 'crypto-js'; 2 | 3 | const wrapMapi = async (event) => { 4 | const mapis = [ 5 | '/api/merchant/basicInfo', 6 | '/api/merchant/info', 7 | '/api/order/info', 8 | '/api/order/add', 9 | '/api/order/pay', 10 | '/api/order/search', 11 | ] 12 | 13 | const purePath = event.path.split('?')[0] 14 | const isMapi = mapis.includes(purePath) 15 | const config = useRuntimeConfig() 16 | 17 | if (isMapi) { 18 | const requestOptions = { 19 | method: event.method, 20 | headers: { 21 | 'Authorization': `Bearer ${config.idatariverMerchantSecret}`, 22 | 'x-idr-locale': getHeader(event, 'X-Idr-Locale'), 23 | 'Referer': getHeader(event, 'Referer'), 24 | 'User-Agent': getHeader(event, 'User-Agent'), 25 | }, 26 | credentials: 'include', 27 | } 28 | if (event.method == 'POST') { 29 | const body = await readBody(event) 30 | requestOptions.headers['content-type'] = 'application/json' 31 | requestOptions.body = JSON.stringify(body) 32 | } 33 | 34 | // use post method for pay 35 | if (purePath == '/api/order/pay') { 36 | requestOptions.method = 'POST' 37 | requestOptions.headers['content-type'] = 'application/json' 38 | requestOptions.headers['x-idr-locale'] = getQuery(event).locale 39 | requestOptions.body = JSON.stringify(getQuery(event)) 40 | } 41 | 42 | event.idatariverReq = { 43 | url: `${config.public.idatariverServer}${event.path}`.replace('/api/', '/mapi/').replace('//', '/'), 44 | requestOptions: requestOptions, 45 | } 46 | 47 | // custom mapi cache rule 48 | if (['/api/merchant/basicInfo', '/api/merchant/info'].includes(purePath)) { 49 | event.idatariverReq.cacheKey = `${purePath}-${getHeader(event, 'X-Idr-Locale')}` // without query params 50 | } else if (['/api/order/search'].includes(purePath)) { 51 | event.idatariverReq.cacheKey = event.path // with query params 52 | } 53 | 54 | // prevent cacheKey too long, then cacheKey maybe invalid. 55 | if (event.idatariverReq.cacheKey) { 56 | event.idatariverReq.cacheKey = CryptoJS.MD5(event.idatariverReq.cacheKey).toString().toUpperCase() 57 | } 58 | 59 | } 60 | } 61 | 62 | export default defineEventHandler(async (event) => { 63 | await wrapMapi(event) 64 | }) 65 | -------------------------------------------------------------------------------- /server/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../.nuxt/tsconfig.server.json" 3 | } 4 | -------------------------------------------------------------------------------- /server/utils/cache.js: -------------------------------------------------------------------------------- 1 | export const cachedMapi = defineCachedFunction(async (event, key) => { 2 | return await $fetch(event.idatariverReq.url, event.idatariverReq.requestOptions).catch((error) => console.log(error.data)) 3 | }, { 4 | maxAge: 5, // all mapi maxAge is 5s 5 | swr: false, 6 | name: 'mapi', 7 | getKey: (event, key) => key 8 | }) 9 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | export default { 3 | content: [ 4 | "./node_modules/flowbite/**/*.{js,ts}", 5 | ], 6 | theme: { 7 | extend: {}, 8 | }, 9 | plugins: [ 10 | require('daisyui'), 11 | require('flowbite/plugin'), 12 | require('@tailwindcss/typography'), 13 | ], 14 | } 15 | 16 | -------------------------------------------------------------------------------- /translate.config.js: -------------------------------------------------------------------------------- 1 | // https://github.com/hymhub/language-translate 2 | import { Lang } from 'language-translate/types'; 3 | import { defineConfig } from 'language-translate/utils'; 4 | 5 | const configEn = { 6 | fromLang: Lang.en, 7 | fromPath: 'i18n/en.ts', 8 | translate: [ 9 | { 10 | label: '将结果翻译到i18n/auto文件夹下', 11 | targetConfig: [ 12 | { 13 | targetLang: Lang.ar, 14 | outPath: 'i18n/auto/ar.ts', 15 | }, 16 | { 17 | targetLang: Lang.de, 18 | outPath: 'i18n/auto/de.ts', 19 | }, 20 | { 21 | targetLang: Lang.es, 22 | outPath: 'i18n/auto/es.ts', 23 | }, 24 | { 25 | targetLang: Lang.fa, 26 | outPath: 'i18n/auto/fa.ts', 27 | }, 28 | { 29 | targetLang: Lang.fr, 30 | outPath: 'i18n/auto/fr.ts', 31 | }, 32 | { 33 | targetLang: Lang.kk, 34 | outPath: 'i18n/auto/kk.ts', 35 | }, 36 | { 37 | targetLang: Lang.ja, 38 | outPath: 'i18n/auto/ja.ts', 39 | }, 40 | { 41 | targetLang: Lang.ko, 42 | outPath: 'i18n/auto/ko.ts', 43 | }, 44 | { 45 | targetLang: Lang.pa, 46 | outPath: 'i18n/auto/pa.ts', 47 | }, 48 | { 49 | targetLang: Lang.pl, 50 | outPath: 'i18n/auto/pl.ts', 51 | }, 52 | { 53 | targetLang: Lang.pt, 54 | outPath: 'i18n/auto/pt.ts', 55 | }, 56 | { 57 | targetLang: Lang.ru, 58 | outPath: 'i18n/auto/ru.ts', 59 | }, 60 | { 61 | targetLang: Lang.tr, 62 | outPath: 'i18n/auto/tr.ts', 63 | }, 64 | { 65 | targetLang: Lang.uk, 66 | outPath: 'i18n/auto/uk.ts', 67 | }, 68 | { 69 | targetLang: Lang.uz, 70 | outPath: 'i18n/auto/uz.ts', 71 | }, 72 | ] 73 | }, 74 | ] 75 | } 76 | 77 | const configZh = { 78 | fromLang: Lang['zh-CN'], 79 | fromPath: 'i18n/zh-CN.ts', 80 | 81 | translate: [ 82 | { 83 | label: '将结果翻译到i18n/auto文件夹下', 84 | targetConfig: [ 85 | { 86 | targetLang: Lang['zh-TW'], // zh-HK会翻译成英文 87 | outPath: 'i18n/auto/zh-HK.ts', 88 | } 89 | ] 90 | }, 91 | ] 92 | } 93 | export default defineConfig(configEn) 94 | //export default defineConfig(configZh) -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // https://nuxt.com/docs/guide/concepts/typescript 3 | "extends": "./.nuxt/tsconfig.json" 4 | } 5 | -------------------------------------------------------------------------------- /utils/common.ts: -------------------------------------------------------------------------------- 1 | export const isNotEmptyObj = (obj: any) => { 2 | return Object.keys(obj).length !== 0; 3 | } 4 | 5 | export const displayStock = (stock: number, hidden: boolean) => { 6 | if (!hidden) { return stock } 7 | if (stock == 0) { 8 | return '0' 9 | } 10 | return '>=1' 11 | } 12 | 13 | export const paymentName = (name: string) => { 14 | if (['card', 'onramp'].includes(name)) { 15 | return 'Visa/Mastercard' 16 | } 17 | if (['credits', 'crypto', 'alipay', 'wxpay', 'hiicash'].includes(name)) { 18 | const translate = useNuxtApp().$i18n.t 19 | return translate('platform_payment_' + name) 20 | } 21 | return name 22 | } -------------------------------------------------------------------------------- /utils/date.ts: -------------------------------------------------------------------------------- 1 | export const formatLocaleDate = (dateStr: string, formatStr: string = 'yyyy-MM-dd hh:mm') => { 2 | const date: any = new Date(dateStr); 3 | 4 | if (isNaN(date)) { // 如果传的不是时间字符串,则直接返回原值 5 | return dateStr; 6 | } 7 | 8 | const z: any = { 9 | M: date.getMonth() + 1, 10 | d: date.getDate(), 11 | h: date.getHours(), 12 | m: date.getMinutes(), 13 | s: date.getSeconds() 14 | }; 15 | formatStr = formatStr.replace(/(M+|d+|h+|m+|s+)/g, function (v) { 16 | return ((v.length > 1 ? "0" : "") + z[v.slice(-1)]).slice(-2) 17 | }); 18 | 19 | return formatStr.replace(/(y+)/g, function (v) { 20 | return date.getFullYear().toString().slice(-v.length) 21 | }); 22 | } -------------------------------------------------------------------------------- /utils/encrypt.ts: -------------------------------------------------------------------------------- 1 | import CryptoJS from 'crypto-js'; 2 | 3 | 4 | export const encryptReq = (path: string): any => { 5 | const config = useRuntimeConfig() 6 | let payload: any = { 7 | _t: Date.now(), 8 | secret: config.public.apiEncryptKey, 9 | path: path, 10 | } 11 | const sortedKeys = Object.keys(payload).sort() 12 | let signStr = '' 13 | for (let index = 0; index < sortedKeys.length; index++) { 14 | const key = sortedKeys[index]; 15 | const value = typeof payload[key] === 'object' ? key : payload[key] 16 | signStr = `${signStr}${key}=${value}` 17 | } 18 | 19 | return payload._t + ':' + CryptoJS.MD5(signStr).toString().toUpperCase() 20 | } -------------------------------------------------------------------------------- /utils/i18n.js: -------------------------------------------------------------------------------- 1 | export const nameI18n = (locale, obj) => { 2 | if (isRef(locale)) { 3 | locale = locale.value 4 | } 5 | const i18nOpened = obj.i18nType === 0 || !obj.i18nType 6 | if (obj.nameI18n && i18nOpened && obj.nameI18n[locale]) { 7 | return obj.nameI18n[locale] 8 | } 9 | return obj.name 10 | } 11 | 12 | 13 | export const descI18n = (locale, obj) => { 14 | if (isRef(locale)) { 15 | locale = locale.value 16 | } 17 | const i18nOpened = obj.i18nType === 0 || !obj.i18nType 18 | if (obj.descI18n && i18nOpened && obj.descI18n[locale]) { 19 | return obj.descI18n[locale] 20 | } 21 | return obj.desc 22 | } -------------------------------------------------------------------------------- /vercel.json: -------------------------------------------------------------------------------- 1 | { 2 | "headers": [ 3 | { 4 | "source": "/(.*).(js|css|ttf|otf|woff2)", 5 | "headers": [ 6 | { 7 | "key": "Cache-Control", 8 | "value": "public, s-maxage=3600" 9 | } 10 | ] 11 | } 12 | ] 13 | } --------------------------------------------------------------------------------