Added translations support (i18n) (#695)
Co-authored-by: Rongrong <i@rong.moe>
This commit is contained in:
parent
c75ee89d58
commit
8d6cf1ff38
|
|
@ -66,6 +66,7 @@
|
|||
"clipboard": "2.0.8",
|
||||
"element-ui": "2.15.6",
|
||||
"https-browserify": "^1.0.0",
|
||||
"i18n-js": "^4.0.0-alpha.14",
|
||||
"md5.js": "^1.3.5",
|
||||
"psl": "1.8.0",
|
||||
"route-recognizer": "0.3.4",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>RSSHub Radar 选项</title>
|
||||
<title data-i18n>RSSHub Radar Options</title>
|
||||
<link rel="stylesheet" href="./options.css">
|
||||
</head>
|
||||
<body>
|
||||
|
|
|
|||
|
|
@ -10,19 +10,19 @@
|
|||
<a class="icons-item icons-setting" href="/options.html#/setting"></a>
|
||||
</div>
|
||||
<div class="no-rss">
|
||||
<h2>( ´・・)ノ(._.`) 当前页面没有检测到 RSS</h2>
|
||||
<p>参与到 <a href="https://docs.rsshub.app">RSSHub</a> 让万物皆可 RSS 吧!</p>
|
||||
<h2>( ´・・)ノ(._.`) <span data-i18n>rss not found</span></h2>
|
||||
<p data-i18n>join rsshub</p>
|
||||
</div>
|
||||
<div class="page-rss">
|
||||
<h2>当前页面上的 RSS</h2>
|
||||
<h2 data-i18n>current page rss</h2>
|
||||
<ul></ul>
|
||||
</div>
|
||||
<div class="page-rsshub">
|
||||
<h2>适用于当前页面的 RSSHub</h2>
|
||||
<h2 data-i18n>current page RSSHub</h2>
|
||||
<ul></ul>
|
||||
</div>
|
||||
<div class="website-rsshub">
|
||||
<h2>适用于当前网站的 RSSHub</h2>
|
||||
<h2 data-i18n>current site RSSHub</h2>
|
||||
<ul></ul>
|
||||
</div>
|
||||
<script src="./popup.js"></script>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
body {
|
||||
min-width: 310px;
|
||||
min-width: 350px;
|
||||
margin: 0;
|
||||
padding: 20px 20px 5px;
|
||||
font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', Arial, sans-serif;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,16 @@
|
|||
import { I18n } from 'i18n-js';
|
||||
import en from '../../translations/en.json';
|
||||
import es from '../../translations/es.json';
|
||||
import eu from '../../translations/eu.json';
|
||||
import zh from '../../translations/zh.json';
|
||||
const i18n = new I18n({
|
||||
en,
|
||||
es,
|
||||
eu,
|
||||
zh,
|
||||
});
|
||||
i18n.enableFallback = true;
|
||||
i18n.defaultLocale = 'en';
|
||||
i18n.locale = navigator.language;
|
||||
|
||||
export default i18n;
|
||||
|
|
@ -4,6 +4,12 @@ export function secondToTime(second) {
|
|||
return `${hour ? hour + '小时' : ''}${min}分钟`;
|
||||
}
|
||||
|
||||
export function secondToHoursMinutes(second) {
|
||||
const hours = Math.floor(second / 3600);
|
||||
const minutes = Math.floor((second - hours * 3600) / 60);
|
||||
return { hours, minutes };
|
||||
}
|
||||
|
||||
const iframe = document.querySelector('#sandbox');
|
||||
const returnResults = [];
|
||||
window.addEventListener('message', (event) => {
|
||||
|
|
|
|||
|
|
@ -11,17 +11,17 @@
|
|||
height="80px">RSSHub Radar</el-header>
|
||||
<el-menu-item index="/setting">
|
||||
<i class="el-icon-setting"></i>
|
||||
<span slot="title">设置</span>
|
||||
<span slot="title">{{ $i18n.t('settings') }}</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="/list">
|
||||
<i class="el-icon-magic-stick"></i>
|
||||
<span slot="title">规则列表</span>
|
||||
<span slot="title">{{ $i18n.t('list of rules') }}</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="/about">
|
||||
<i class="el-icon-coordinate"></i>
|
||||
<span slot="title">关于</span>
|
||||
<span slot="title">{{ $i18n.t('about') }}</span>
|
||||
</el-menu-item>
|
||||
<el-footer class="footer">版本 v{{ version }}<br>Made with <i style="color:#d43f57">♥</i> by <a target="_blank" href="https://diygod.me">DIYgod</a></el-footer>
|
||||
<el-footer class="footer">{{ $i18n.t('version')}} v{{ version }}<br>Made with <i style="color:#d43f57">♥</i> by <a target="_blank" href="https://diygod.me">DIYgod</a></el-footer>
|
||||
</el-menu>
|
||||
</el-aside>
|
||||
<el-container class="sub-container">
|
||||
|
|
|
|||
|
|
@ -5,8 +5,15 @@ import App from './App.vue';
|
|||
import Setting from './views/Setting.vue';
|
||||
import List from './views/List.vue';
|
||||
import About from './views/About.vue';
|
||||
import i18n from '../common/i18n';
|
||||
import { Container, Menu, MenuItem, Aside, Header, Main, Footer, Input, Checkbox, Message, Loading, Collapse, CollapseItem, Button, Progress, Tooltip } from 'element-ui';
|
||||
|
||||
// import translations from "../../translations/translations.json";
|
||||
// const i18n = new I18n(translations);
|
||||
// i18n.enableFallback = true;
|
||||
// i18n.defaultLocale = "zh";
|
||||
// i18n.locale = navigator.language;
|
||||
|
||||
Vue.use(VueRouter);
|
||||
Vue.use(Container);
|
||||
Vue.use(Menu);
|
||||
|
|
@ -26,6 +33,7 @@ Vue.use(Tooltip);
|
|||
|
||||
Vue.prototype.$loading = Loading.service;
|
||||
Vue.prototype.$message = Message;
|
||||
Vue.prototype.$i18n = i18n;
|
||||
Vue.config.productionTip = false;
|
||||
|
||||
const routes = [
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
<template>
|
||||
<div class="about">
|
||||
<el-main>
|
||||
<div class="title">关于</div>
|
||||
<div class="title">{{$i18n.t('about')}}</div>
|
||||
<div class="content">
|
||||
<div class="tip">
|
||||
<p>RSSHub Radar 是 <a target="_blank" href="https://docs.rsshub.app">RSSHub</a> 的衍生项目,她可以帮助你快速发现和订阅当前网站的 RSS 和 RSSHub,项目<a target="_blank" href="https://github.com/DIYgod/RSSHub-Radar">采用 MIT 许可开源</a>,使用完全免费,但是随着项目规模的增长,也需要有相应的资金支持才能持续项目的维护与开发</p>
|
||||
<p><i class="el-icon-trophy"></i> 赞助 RSSHub Radar 的开发: <a target="_blank" href="https://docs.rsshub.app/support/">https://docs.rsshub.app/support/</a></p>
|
||||
<p v-html="$i18n.t('rsshub radar info')"></p>
|
||||
<p><i class="el-icon-trophy"></i> <span v-html="$i18n.t('sponsored development')"></span></p>
|
||||
<p> </p>
|
||||
<p>更新日志: <a target="_blank" href="https://github.com/DIYgod/RSSHub-Radar/releases">https://github.com/DIYgod/RSSHub-Radar/releases</a></p>
|
||||
<p>问题反馈: <a target="_blank" href="https://github.com/DIYgod/RSSHub-radar/issues">https://github.com/DIYgod/RSSHub-radar/issues</a></p>
|
||||
<p>{{$i18n.t('update log')}}: <a target="_blank" href="https://github.com/DIYgod/RSSHub-Radar/releases">https://github.com/DIYgod/RSSHub-Radar/releases</a></p>
|
||||
<p>{{$i18n.t('question feedback')}}: <a target="_blank" href="https://github.com/DIYgod/RSSHub-radar/issues">https://github.com/DIYgod/RSSHub-radar/issues</a></p>
|
||||
<p>GitHub: <a target="_blank" href="https://github.com/DIYgod/RSSHub-Radar">https://github.com/DIYgod/RSSHub-Radar</a></p>
|
||||
<p>RSSHub 文档: <a target="_blank" href="https://docs.rsshub.app">https://docs.rsshub.app</a></p>
|
||||
<p v-html="$i18n.t('rsshub documentation')"></p>
|
||||
<p> </p>
|
||||
<p><b>万物皆可 RSS</b></p>
|
||||
<p><b>{{$i18n.t('everything is possible with rss')}}</b></p>
|
||||
<p><b>Made with <i style="color:#d43f57">♥</i> by <a target="_blank" href="https://diygod.me">DIYgod</a></b></p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
<template>
|
||||
<div class="list">
|
||||
<el-main>
|
||||
<div class="title">规则列表</div>
|
||||
<div class="title">{{ $i18n.t('rules') }}</div>
|
||||
<div class="tip">
|
||||
<p>更多规则支持中,快来<a target="_blank" href="https://docs.rsshub.app/joinus/">参与我们</a>吧!</p>
|
||||
<p>{{ time }}前更新</p>
|
||||
<p v-html="$i18n.t('for more rules join us')"></p>
|
||||
<p>{{ $i18n.t('updated time ago', {hours: hours, minutes: minutes})}}</p>
|
||||
</div>
|
||||
<div class="content" v-loading="loading">
|
||||
<el-collapse accordion>
|
||||
|
|
@ -37,20 +37,23 @@
|
|||
|
||||
<script>
|
||||
import { getRules, getRulesDate, updateRules } from '../../common/rules';
|
||||
import { secondToTime, commandSandbox } from '../../common/utils';
|
||||
import { secondToHoursMinutes, commandSandbox } from '../../common/utils';
|
||||
|
||||
export default {
|
||||
name: 'List',
|
||||
data: () => ({
|
||||
loading: true,
|
||||
rules: {},
|
||||
time: '',
|
||||
hours: '',
|
||||
minutes: '',
|
||||
rulesText: '',
|
||||
}),
|
||||
created() {
|
||||
getRulesDate((date) => {
|
||||
let second = (+new Date - +date) / 1000;
|
||||
this.time = secondToTime(second);
|
||||
const {hours, minutes} = secondToHoursMinutes(second)
|
||||
this.hours = hours;
|
||||
this.minutes = minutes;
|
||||
this.refreshTime();
|
||||
});
|
||||
getRules((rules) => {
|
||||
|
|
@ -72,7 +75,9 @@ export default {
|
|||
methods: {
|
||||
refreshTime() {
|
||||
getRulesDate((date) => {
|
||||
this.time = secondToTime((+new Date - +date) / 1000);
|
||||
const {hours, minutes} = secondToHoursMinutes((+new Date - +date) / 1000)
|
||||
this.hours = hours;
|
||||
this.minutes = minutes;
|
||||
setTimeout(() => {
|
||||
this.refreshTime();
|
||||
}, 1000);
|
||||
|
|
@ -81,7 +86,7 @@ export default {
|
|||
updateRules() {
|
||||
updateRules(this.rulesText, () => {
|
||||
this.$message({
|
||||
message: '保存成功',
|
||||
message: this.$i18n.t('successfully saved'),
|
||||
type: 'success'
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,91 +1,91 @@
|
|||
<template>
|
||||
<div class="setting">
|
||||
<div class="title">设置</div>
|
||||
<div class="title">{{ $i18n.t('settings') }}</div>
|
||||
<div class="content" v-loading="loading">
|
||||
<div v-if="!loading">
|
||||
<div class="subtitle">常规</div>
|
||||
<div class="subtitle">{{ $i18n.t('general') }}</div>
|
||||
<div class="setting-item">
|
||||
<div class="setting-name">自定义 RSSHub 域名</div>
|
||||
<div class="setting-name">{{ $i18n.t('custom rsshub domain') }}</div>
|
||||
<div class="setting-input">
|
||||
<el-input @change="saveConfig" v-model="config.rsshubDomain" placeholder="请输入你的 RSSHub 域名,留空使用官方域名"></el-input>
|
||||
<el-input @change="saveConfig" v-model="config.rsshubDomain" :placeholder="$i18n.t('enter rsshub domain')"></el-input>
|
||||
</div>
|
||||
<template v-if="config.rsshubDomain !== defaultConfig.rsshubDomain">
|
||||
<div class="setting-name">访问密钥<a target="_blank" href="https://docs.rsshub.app/install/#fang-wen-kong-zhi-pei-zhi"><el-tooltip class="item" effect="dark" content="只有实例启用了访问密钥,才需要配置,如果你不清楚情况,请保持关闭" placement="top"><i class="el-icon-info"></i></el-tooltip></a></div>
|
||||
<div class="setting-name">{{ $i18n.t('access key') }}<a target="_blank" href="https://docs.rsshub.app/install/#fang-wen-kong-zhi-pei-zhi"><el-tooltip class="item" effect="dark" :content="$i18n.t('configuration required if access keys enabled')" placement="top"><i class="el-icon-info"></i></el-tooltip></a></div>
|
||||
<div class="setting-input">
|
||||
<el-checkbox @change="saveConfig" v-model="config.rsshubAccessControl.enabled">开启</el-checkbox>
|
||||
<el-input @change="saveConfig" style="margin-left: 20px;" v-if="config.rsshubAccessControl.enabled" v-model="config.rsshubAccessControl.accessKey" placeholder="必填,请输入正确的访问密钥"></el-input>
|
||||
<el-checkbox @change="saveConfig" style="margin-left: 20px;" v-if="config.rsshubAccessControl.enabled" v-model="config.rsshubAccessControl.useCode">生成访问码</el-checkbox>
|
||||
<el-checkbox @change="saveConfig" v-model="config.rsshubAccessControl.enabled">{{ $i18n.t('enable') }}</el-checkbox>
|
||||
<el-input @change="saveConfig" style="margin-left: 20px;" v-if="config.rsshubAccessControl.enabled" v-model="config.rsshubAccessControl.accessKey" :placeholder="$i18n.t('required access key')"></el-input>
|
||||
<el-checkbox @change="saveConfig" style="margin-left: 20px;" v-if="config.rsshubAccessControl.enabled" v-model="config.rsshubAccessControl.useCode">{{ $i18n.t('generate access code') }}</el-checkbox>
|
||||
</div>
|
||||
</template>
|
||||
<div class="setting-name" v-if="isChrome">快捷键</div>
|
||||
<div class="setting-name" v-if="isChrome">{{ $i18n.t('hot key') }}</div>
|
||||
<div class="setting-input" v-if="isChrome">
|
||||
<el-button size="medium" @click="toHotkey">点此设置</el-button>
|
||||
<el-button size="medium" @click="toHotkey">{{ $i18n.t('click to set') }}</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="subtitle">规则更新</div>
|
||||
<div class="subtitle">{{ $i18n.t('rules update') }}</div>
|
||||
<div class="setting-item">
|
||||
<div class="setting-name" v-if="defaultConfig.enableRemoteRules">我会自动更新,你也可以</div>
|
||||
<div class="setting-input" v-if="defaultConfig.enableRemoteRules">
|
||||
<el-button style="width: 98px" size="medium" @click="refreshRu" :disabled="refreshDisabled">{{ refreshDisabled ? '更新中' : '立即更新' }}</el-button><el-progress :text-inside="true" :stroke-width="20" :percentage="percentage"></el-progress><span class="time">{{ time }}前更新,{{ leftTime }}后自动更新</span>
|
||||
</div>
|
||||
<div class="setting-name" v-if="!defaultConfig.enableRemoteRules">远程更新被禁用</div>
|
||||
<div class="setting-name" v-if="!defaultConfig.enableRemoteRules">{{ $i18n.t('enable remote rules') }}</div>
|
||||
</div>
|
||||
<div class="subtitle">一键订阅</div>
|
||||
<div class="subtitle">{{ $i18n.t('one-click subscription') }}</div>
|
||||
<div class="setting-item">
|
||||
<div class="setting-name">Tiny Tiny RSS <a target="_blank" href="https://ttrss.henry.wang/zh/"><i class="el-icon-info"></i></a></div>
|
||||
<div class="setting-input">
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.ttrss">开启</el-checkbox>
|
||||
<el-input @change="saveConfig" style="margin-left: 20px;" v-if="config.submitto.ttrss" v-model="config.submitto.ttrssDomain" placeholder="必填,请输入你的 Tiny Tiny RSS 地址"></el-input>
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.ttrss">{{ $i18n.t('enable') }}</el-checkbox>
|
||||
<el-input @change="saveConfig" style="margin-left: 20px;" v-if="config.submitto.ttrss" v-model="config.submitto.ttrssDomain" :placeholder="$i18n.t('required address', {service: 'Tiny Tiny RSS'})"></el-input>
|
||||
</div>
|
||||
<div class="setting-name">Miniflux <a target="_blank" href="https://miniflux.app"><i class="el-icon-info"></i></a></div>
|
||||
<div class="setting-input">
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.miniflux">开启</el-checkbox>
|
||||
<el-input @change="saveConfig" style="margin-left: 20px;" v-if="config.submitto.miniflux" v-model="config.submitto.minifluxDomain" placeholder="必填,请输入你的 Miniflux 地址"></el-input>
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.miniflux">{{ $i18n.t('enable') }}</el-checkbox>
|
||||
<el-input @change="saveConfig" style="margin-left: 20px;" v-if="config.submitto.miniflux" v-model="config.submitto.minifluxDomain" :placeholder="$i18n.t('required address', {service: 'Miniflux'})"></el-input>
|
||||
</div>
|
||||
<div class="setting-name">FreshRSS <a target="_blank" href="https://freshrss.org"><i class="el-icon-info"></i></a></div>
|
||||
<div class="setting-input">
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.freshrss">开启</el-checkbox>
|
||||
<el-input @change="saveConfig" style="margin-left: 20px;" v-if="config.submitto.freshrss" v-model="config.submitto.freshrssDomain" placeholder="必填,请输入你的 FreshRSS 地址"></el-input>
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.freshrss">{{ $i18n.t('enable') }}</el-checkbox>
|
||||
<el-input @change="saveConfig" style="margin-left: 20px;" v-if="config.submitto.freshrss" v-model="config.submitto.freshrssDomain" :placeholder="$i18n.t('required address', {service: 'FreshRSS'})"></el-input>
|
||||
</div>
|
||||
<div class="setting-name">Nextcloud News <a target="_blank" href="https://apps.nextcloud.com/apps/news"><i class="el-icon-info"></i></a></div>
|
||||
<div class="setting-input">
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.nextcloudnews">开启</el-checkbox>
|
||||
<el-input @change="saveConfig" style="margin-left: 20px;" v-if="config.submitto.nextcloudnews" v-model="config.submitto.nextcloudnewsDomain" placeholder="必填,请输入你的 Nextcloud News 地址"></el-input>
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.nextcloudnews">{{ $i18n.t('enable') }}</el-checkbox>
|
||||
<el-input @change="saveConfig" style="margin-left: 20px;" v-if="config.submitto.nextcloudnews" v-model="config.submitto.nextcloudnewsDomain" :placeholder="$i18n.t('required address', {service: 'Nextcloud'})"></el-input>
|
||||
</div>
|
||||
<div class="setting-name">Feedly <a target="_blank" href="https://feedly.com/"><i class="el-icon-info"></i></a></div>
|
||||
<div class="setting-input">
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.feedly">开启</el-checkbox>
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.feedly">{{ $i18n.t('enable') }}</el-checkbox>
|
||||
</div>
|
||||
<div class="setting-name">Inoreader <a target="_blank" href="https://www.inoreader.com/"><i class="el-icon-info"></i></a></div>
|
||||
<div class="setting-input">
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.inoreader">开启</el-checkbox>
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.inoreader">{{ $i18n.t('enable') }}</el-checkbox>
|
||||
</div>
|
||||
<div class="setting-name">Feedbin <a target="_blank" href="https://feedbin.com/"><i class="el-icon-info"></i></a></div>
|
||||
<div class="setting-input">
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.feedbin">开启</el-checkbox>
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.feedbin">{{ $i18n.t('enable') }}</el-checkbox>
|
||||
</div>
|
||||
<div class="setting-name">The Old Reader <a target="_blank" href="https://theoldreader.com/"><i class="el-icon-info"></i></a></div>
|
||||
<div class="setting-input">
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.theoldreader">开启</el-checkbox>
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.theoldreader">{{ $i18n.t('enable') }}</el-checkbox>
|
||||
</div>
|
||||
<div class="setting-name">Feeds.Pub <a target="_blank" href="https://feeds.pub/"><i class="el-icon-info"></i></a></div>
|
||||
<div class="setting-input">
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.feedspub">开启</el-checkbox>
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.feedspub">{{ $i18n.t('enable') }}</el-checkbox>
|
||||
</div>
|
||||
<div class="setting-name">BazQux Reader <a target="_blank" href="https://bazqux.com/"><i class="el-icon-info"></i></a></div>
|
||||
<div class="setting-input">
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.bazqux">开启</el-checkbox>
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.bazqux">{{ $i18n.t('enable') }}</el-checkbox>
|
||||
</div>
|
||||
<div class="setting-name">本地阅读器 <el-tooltip class="item" effect="dark" content="需要阅读器支持,如 Reeder 等" placement="top"><i class="el-icon-info"></i></el-tooltip></div>
|
||||
<div class="setting-name">{{ $i18n.t('local reader') }} <el-tooltip class="item" effect="dark" :content="$i18n.t('requires reader support')" placement="top"><i class="el-icon-info"></i></el-tooltip></div>
|
||||
<div class="setting-input">
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.local">开启</el-checkbox>
|
||||
<el-checkbox @change="saveConfig" v-model="config.submitto.local">{{ $i18n.t('enable') }}</el-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
<div class="subtitle">通知与提醒</div>
|
||||
<div class="subtitle">{{ $i18n.t('notifications and reminders') }}</div>
|
||||
<div class="setting-item">
|
||||
<div class="setting-name">角标提醒</div>
|
||||
<div class="setting-name">{{ $i18n.t('show corner badge') }}</div>
|
||||
<div class="setting-input">
|
||||
<el-checkbox @change="saveConfig" v-model="config.notice.badge">开启</el-checkbox>
|
||||
<el-checkbox @change="saveConfig" v-model="config.notice.badge">{{ $i18n.t('enable') }}</el-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -127,7 +127,7 @@ export default {
|
|||
saveConfig() {
|
||||
saveConfig(this.config, () => {
|
||||
this.$message({
|
||||
message: '保存成功',
|
||||
message: this.$i18n.t('successfully saved'),
|
||||
type: 'success'
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
import '../../css/popup.less';
|
||||
import ClipboardJS from 'clipboard';
|
||||
import { getConfig } from '../common/config';
|
||||
import i18n from '../common/i18n';
|
||||
import settingIcon from '../../svg/setting.svg';
|
||||
import aboutIcon from '../../svg/about.svg';
|
||||
import MD5 from 'md5.js';
|
||||
|
||||
let config;
|
||||
|
||||
function generateList(type, list) {
|
||||
|
|
@ -27,35 +29,35 @@ function generateList(type, list) {
|
|||
</a>
|
||||
${
|
||||
item.isDocs
|
||||
? `<a href="${url}" class="rss-action">文档</a>`
|
||||
: `<div class="rss-action rss-copy" data-clipboard-text="${url}">复制</div>
|
||||
? `<a href="${url}" class="rss-action">${i18n.t('documentation')}</a>`
|
||||
: `<div class="rss-action rss-copy" data-clipboard-text="${url}">${i18n.t('copy')}</div>
|
||||
${
|
||||
config.submitto.ttrss && config.submitto.ttrssDomain
|
||||
? `<a href="${config.submitto.ttrssDomain.replace(/\/$/, '')}/public.php?op=bookmarklets--subscribe&feed_url=${encodeURI(url)}" class="rss-action rss-submitto-ttrss">订阅到 TTRSS</a>`
|
||||
? `<a href="${config.submitto.ttrssDomain.replace(/\/$/, '')}/public.php?op=bookmarklets--subscribe&feed_url=${encodeURI(url)}" class="rss-action rss-submitto-ttrss">${i18n.t('subscribe to')} TTRSS</a>`
|
||||
: ''
|
||||
}
|
||||
${
|
||||
config.submitto.miniflux && config.submitto.minifluxDomain
|
||||
? `<a href="${config.submitto.minifluxDomain.replace(/\/$/, '')}/bookmarklet?uri=${encodeURI(url)}" class="rss-action rss-submitto-miniflux">订阅到 Miniflux</a>`
|
||||
? `<a href="${config.submitto.minifluxDomain.replace(/\/$/, '')}/bookmarklet?uri=${encodeURI(url)}" class="rss-action rss-submitto-miniflux">${i18n.t('subscribe to')} Miniflux</a>`
|
||||
: ''
|
||||
}
|
||||
${
|
||||
config.submitto.freshrss && config.submitto.freshrssDomain
|
||||
? `<a href="${config.submitto.freshrssDomain.replace(/\/$/, '')}/i/?c=feed&a=add&url_rss=${encodeURI(url)}" class="rss-action rss-submitto-freshrss">订阅到 FreshRSS</a>`
|
||||
? `<a href="${config.submitto.freshrssDomain.replace(/\/$/, '')}/i/?c=feed&a=add&url_rss=${encodeURI(url)}" class="rss-action rss-submitto-freshrss">${i18n.t('subscribe to')} FreshRSS</a>`
|
||||
: ''
|
||||
}
|
||||
${
|
||||
config.submitto.nextcloudnews && config.submitto.nextcloudnewsDomain
|
||||
? `<a href="${config.submitto.nextcloudnewsDomain.replace(/\/$/, '')}/?subscribe_to=${encodeURI(url)}" class="rss-action rss-submitto-nextcloudnews">订阅到 Nextcloud News</a>`
|
||||
? `<a href="${config.submitto.nextcloudnewsDomain.replace(/\/$/, '')}/?subscribe_to=${encodeURI(url)}" class="rss-action rss-submitto-nextcloudnews">${i18n.t('subscribe to')} Nextcloud News</a>`
|
||||
: ''
|
||||
}
|
||||
${config.submitto.feedly ? `<a href="https://feedly.com/i/subscription/feed/${encodeURI(url)}" class="rss-action rss-submitto-feedly">订阅到 Feedly</a>` : ''}
|
||||
${config.submitto.inoreader ? `<a href="https://www.inoreader.com/?add_feed=${encodeURI(url)}" class="rss-action rss-submitto-inoreader">订阅到 Inoreader</a>` : ''}
|
||||
${config.submitto.feedbin ? `<a href="https://feedbin.com/?subscribe=${encodeURI(url)}" class="rss-action rss-submitto-feedbin">订阅到 Feedbin</a>` : ''}
|
||||
${config.submitto.theoldreader ? `<a href="https://theoldreader.com/feeds/subscribe?url=${encodeURI(url)}" class="rss-action rss-submitto-theoldreader">订阅到 The Old Reader</a>` : ''}
|
||||
${config.submitto.feedspub ? `<a href="https://feeds.pub/feed/${encodeURIComponent(url)}" class="rss-action rss-submitto-feedspub">订阅到 Feeds.Pub</a>` : ''}
|
||||
${config.submitto.bazqux ? `<a href="https://bazqux.com/add?url=${encodeURIComponent(url)}" class="rss-action rss-submitto-bazqux">订阅到 BazQux Reader</a>` : ''}
|
||||
${config.submitto.local ? `<a href="feed://${url}" class="rss-action rss-submitto-local">订阅到本地阅读器</a>` : ''}`
|
||||
${config.submitto.feedly ? `<a href="https://feedly.com/i/subscription/feed/${encodeURI(url)}" class="rss-action rss-submitto-feedly">${i18n.t('subscribe to')} Feedly</a>` : ''}
|
||||
${config.submitto.inoreader ? `<a href="https://www.inoreader.com/?add_feed=${encodeURI(url)}" class="rss-action rss-submitto-inoreader">${i18n.t('subscribe to')} Inoreader</a>` : ''}
|
||||
${config.submitto.feedbin ? `<a href="https://feedbin.com/?subscribe=${encodeURI(url)}" class="rss-action rss-submitto-feedbin">${i18n.t('subscribe to')} Feedbin</a>` : ''}
|
||||
${config.submitto.theoldreader ? `<a href="https://theoldreader.com/feeds/subscribe?url=${encodeURI(url)}" class="rss-action rss-submitto-theoldreader">${i18n.t('subscribe to')} The Old Reader</a>` : ''}
|
||||
${config.submitto.feedspub ? `<a href="https://feeds.pub/feed/${encodeURIComponent(url)}" class="rss-action rss-submitto-feedspub">${i18n.t('subscribe to')} Feeds.Pub</a>` : ''}
|
||||
${config.submitto.bazqux ? `<a href="https://bazqux.com/add?url=${encodeURIComponent(url)}" class="rss-action rss-submitto-bazqux">${i18n.t('subscribe to')} BazQux Reader</a>` : ''}
|
||||
${config.submitto.local ? `<a href="feed://${url}" class="rss-action rss-submitto-local">${i18n.t('subscribe to local reader')}</a>` : ''}`
|
||||
}
|
||||
</li>
|
||||
`;
|
||||
|
|
@ -69,6 +71,11 @@ function generateList(type, list) {
|
|||
document.querySelector('.icons-setting').innerHTML = settingIcon;
|
||||
document.querySelector('.icons-about').innerHTML = aboutIcon;
|
||||
|
||||
const translatableNodes = document.querySelectorAll('[data-i18n]');
|
||||
[...translatableNodes].forEach((element) => {
|
||||
element.innerHTML = i18n.t(element.innerHTML);
|
||||
});
|
||||
|
||||
chrome.tabs.query(
|
||||
{
|
||||
active: true,
|
||||
|
|
@ -92,9 +99,9 @@ chrome.tabs.query(
|
|||
|
||||
const clipboard = new ClipboardJS('.rss-copy');
|
||||
clipboard.on('success', function (e) {
|
||||
e.trigger.innerHTML = '已复制';
|
||||
e.trigger.innerHTML = i18n.t('copied');
|
||||
setTimeout(() => {
|
||||
e.trigger.innerHTML = '复制';
|
||||
e.trigger.innerHTML = i18n.t('copy');
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
"access key": "Access key",
|
||||
"about": "About",
|
||||
"click to set": "Click to set",
|
||||
"configuration required if access keys enabled": "Configuration is only required if the instance has access keys enabled, keep it off if you don't know the situation",
|
||||
"copied": "Copied",
|
||||
"copy": "Copy",
|
||||
"current page rss": "RSS on the current site",
|
||||
"current page RSSHub": "RSSHub for the current page",
|
||||
"custom rsshub domain": "Custom RSSHub domain name",
|
||||
"current site RSSHub": "RSSHub for the current site",
|
||||
"documentation": "Info",
|
||||
"enable": "Enable",
|
||||
"enable remote rules": "Enable remote rules",
|
||||
"enter rsshub domain": "Please enter your RSSHub domain name, leave it blank to use the official domain name",
|
||||
"for more rules join us": "For more rules support, <a target=\"_blank\" href=\"https://docs.rsshub.app/en/joinus/quick-start.html\">join us</a>!",
|
||||
"general": "General",
|
||||
"generate access code": "Generate access code",
|
||||
"hot key": "Hot key",
|
||||
"join rsshub": "Participate in the <a href=\"https://docs.rsshub.app/en/\"> to make everything RSS-able!",
|
||||
"list of rules": "List of rules",
|
||||
"local reader": "Local reader",
|
||||
"one-click subscription": "One-click subscription",
|
||||
"notifications and reminders": "Notifications and reminders",
|
||||
"required access key": "Required, please enter the correct access key",
|
||||
"required address": "Required. Please enter you %{service} address",
|
||||
"requires reader support": "Requires reader support, such as Reeder, etc.",
|
||||
"rss not found": "No RSS found",
|
||||
"rsshub radar options": "RSSHub Radar Options",
|
||||
"rules": "Rules",
|
||||
"rules update": "Rules update",
|
||||
"settings": "Settings",
|
||||
"show corner badge": "Show corner badge",
|
||||
"subscribe to": "Subscribe to",
|
||||
"subscribe to local reader": "Subscribe to local reader",
|
||||
"successfully saved": "Successfully saved",
|
||||
"updated time ago": "%{hours}h %{minutes}m since last update",
|
||||
"version": "Version",
|
||||
|
||||
"rsshub radar info": "RSSHub Radar is a spin-off of <a target=\"_blank\" href=\"https://docs.rsshub.app/en/\">RSSHub</a> that helps you quickly discover and subscribe to RSS and RSSHub for your current site, and the project is <a target=\"_blank\" href=\"https://github.com/DIYgod/RSSHub-Radar\">open source</a> under the MIT license and is completely free to use, but as the project grows in size, it also needs to be funded to sustain its maintenance and development",
|
||||
"sponsored development": "Sponsored development of RSSHub Radar: <a target=\"_blank\" href=\"https://docs.rsshub.app/en/support/\">https://docs.rsshub.app/en/support/</a>",
|
||||
"update log": "Update log",
|
||||
"question feedback": "Question Feedback",
|
||||
"rsshub documentation": "RSSHub Documentation: <a target=\"_blank\" href=\"https://docs.rsshub.app/en/\">https://docs.rsshub.app/en/</a>",
|
||||
"everything is possible with rss": "Everything is possible with RSS"
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
"about": "Acerca de",
|
||||
"access key": "Clave de acceso",
|
||||
"click to set": "Hacer click para establecer",
|
||||
"configuration required if access keys enabled": "La configuración solo es necesaria si las claves de acceso están habilitada. Mantenlo desactivado en caso de duda",
|
||||
"copied": "Copiado",
|
||||
"copy": "Copiar",
|
||||
"current page rss": "RSS en esta página",
|
||||
"current page RSSHub": "RSSHub para página actual",
|
||||
"custom rsshub domain": "Dominio RSSHub personalizado",
|
||||
"current site RSSHub": "RSSHub para website actual",
|
||||
"documentation": "Info",
|
||||
"enable": "Activar",
|
||||
"enable remote rules": "Habilitar reglas remotas",
|
||||
"enter rsshub domain": "Introduce to dominio de RSSHub, deja el espacio en blanco para utilizar el dominio oficial",
|
||||
"for more rules join us": "Para más reglas <a target=\"_blank\" href=\"https://docs.rsshub.app/en/joinus/quick-start.html\">únete</a>!",
|
||||
"general": "General",
|
||||
"generate access code": "Generar código de acceso",
|
||||
"hot key": "Hot key",
|
||||
"join rsshub": "Únete a <a href=\"https://docs.rsshub.app/en/\">RSSHub</a> para hacer todo accesible mediante RSS!",
|
||||
"list of rules": "Lista de reglas",
|
||||
"local reader": "Lector local",
|
||||
"notifications and reminders": "Notificaciones y avisos",
|
||||
"one-click subscription": "Subscripción mediante un click",
|
||||
"required access key": "Obligatorio, por favor introduct la clave de acceso correcta",
|
||||
"required address": "Obligatorio. Por favor introduce tu dirección %{service}",
|
||||
"requires reader support": "Necesita tener un visor como Reeder o algo del estilo instalado ",
|
||||
"rss not found": "No se han encontrado RSS's",
|
||||
"rsshub radar options": "RSSHub Radar Configuración",
|
||||
"rules": "Reglas",
|
||||
"rules update": "Actualización de reglas",
|
||||
"settings": "Opciones",
|
||||
"show corner badge": "Mostrar insignia",
|
||||
"subscribe to": "Subscribirse a",
|
||||
"subscribe to local reader": "Subscribirse en lector local",
|
||||
"successfully saved": "Guardado",
|
||||
"updated time ago": "%{hours}h %{minutes}m desde la última actualización",
|
||||
"version": "Versión",
|
||||
|
||||
"rsshub radar info": "RSSHub Radar es un proyecto derivado de <a target=\"_blank\" href=\"https://docs.rsshub.app/en/\">RSSHub</a> que permite subscribrirse rápidamente al RSS y/o RSSHub del website actual. Es un proyecto <a target=\"_blank\" href=\"https://github.com/DIYgod/RSSHub-Radar\">open source</a> bajo licencia MIT y su uso es completamete libre y gratuito, pero a medida que el proyecto crece también necesita ser patrocinado para mantener su soporte y desarrollo",
|
||||
"sponsored development": "Soporta el desarrollo de RSSHub Radar: <a target=\"_blank\" href=\"https://docs.rsshub.app/en/support/\">https://docs.rsshub.app/en/support/</a>",
|
||||
"update log": "Registro de cambios",
|
||||
"question feedback": "Feedback e incidencias",
|
||||
"rsshub documentation": "Documentación de RSSHub: <a target=\"_blank\" href=\"https://docs.rsshub.app/en/\">https://docs.rsshub.app/en/</a>",
|
||||
"everything is possible with rss": "Todo es posible con RSS"
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
"about": "Honi buruz",
|
||||
"access key": "Sarrera-gakoa",
|
||||
"click to set": "Ezartzeko klik egin",
|
||||
"configuration required if access keys enabled": "Konfigurazioa sarrera-gakoak gaituta daudenean da derrigorrezkoa, ez gaitu ez baduzu egoera ezagutzen",
|
||||
"copied": "Kopiatuta",
|
||||
"copy": "Kopiatu",
|
||||
"current page rss": "Orrialde honetako RSSak",
|
||||
"current page RSSHub": "Orrialde honetarako RSSHub-ak",
|
||||
"custom rsshub domain": "RSSHub domeinu pertsonalizatua",
|
||||
"current site RSSHub": "Gune honetarako RSSHub-ak",
|
||||
"documentation": "Info",
|
||||
"enable": "Gaitu",
|
||||
"enable remote rules": "Hurruneko arauak gaitu",
|
||||
"enter rsshub domain": "Mesedez sartu zure RSSHub domeinua, domeinu ofiziala erabiltzeko utzi zuriz",
|
||||
"for more rules join us": "Arau gehiago jasatzeko <a target=\"_blank\" href=\"https://docs.rsshub.app/en/joinus/quick-start.html\">batu zaitez</a>!",
|
||||
"general": "Orokorra",
|
||||
"generate access code": "Sarrera kodea sortu",
|
||||
"hot key": "Hot key",
|
||||
"join rsshub": "Gehitu zure burua <a href=\"https://docs.rsshub.app/en/\">RSSHub</a>-era dena RSS bitartez jaso ahal izateko!",
|
||||
"list of rules": "Arau-zerrenda",
|
||||
"local reader": "Bertako irakurgailua",
|
||||
"one-click subscription": "Klik bakarreko harpidetza",
|
||||
"notifications and reminders": "Jakinarazpenak",
|
||||
"required access key": "Nahitaezkoa, mesedez sartu sarrera-gako zuzena",
|
||||
"required address": "Nahitaezkoa. Mesedez sartu zure %{service} helbidea",
|
||||
"requires reader support": "Reeder edo horrelakoren baten moduko irakurgailua behar du",
|
||||
"rss not found": "Ez da RSSrik aurkitu",
|
||||
"rsshub radar options": "RSSHub Radar Aukerak",
|
||||
"rules": "Arauak",
|
||||
"rules update": "Arauen eguneraketa",
|
||||
"settings": "Aukerak",
|
||||
"show corner badge": "Izkinako marka erakutsi",
|
||||
"subscribe to": "Harpidetu: ",
|
||||
"subscribe to local reader": "Harpidetu irakurgailu lokalean",
|
||||
"successfully saved": "Gordeta",
|
||||
"updated time ago": "%{hours}o %{minutes}m azken eguneraketatik",
|
||||
"version": "Bertsioa",
|
||||
|
||||
"rsshub radar info": "RSSHub Radar momentuko webgunearen RSS eta RSSHub-era modu azkar eta erraz batean harpidetzera laguntzen duen <a target=\"_blank\" href=\"https://docs.rsshub.app/en/\">RSSHub</a>-en proiektu eratorria da. Guztiz erabilera librea du eta MIT lizentziapean dagoen <a target=\"_blank\" href=\"https://github.com/DIYgod/RSSHub-Radar\">kode irekiko</a> proiektua da, baina handitzen doan heinean bere mantentze eta garapenari eusteko finantzazio beharra dauka.",
|
||||
"sponsored development": "RSSHub Radar laguntzeko: <a target=\"_blank\" href=\"https://docs.rsshub.app/en/support/\">https://docs.rsshub.app/en/support/</a>",
|
||||
"update log": "Eguneraketa-egunkaria",
|
||||
"question feedback": "Galdera eta atazak",
|
||||
"rsshub documentation": "RSSHub dokumentazioa: <a target=\"_blank\" href=\"https://docs.rsshub.app/en/\">https://docs.rsshub.app/en/</a>",
|
||||
"everything is possible with rss": "Dena da posible RSS-ekin"
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
"about": "关于",
|
||||
"access key": "访问密钥",
|
||||
"click to set": "点此设置",
|
||||
"configuration required if access keys enabled": "只有实例启用了访问密钥,才需要配置,如果你不清楚情况,请保持关闭",
|
||||
"copied": "已复制",
|
||||
"copy": "复制",
|
||||
"current page rss": "当前页面上的 RSS",
|
||||
"current page RSSHub": "适用于当前页面的 RSSHub",
|
||||
"custom rsshub domain": "自定义 RSSHub 域名",
|
||||
"current site RSSHub": "适用于当前网站的 RSSHub",
|
||||
"documentation": "文档",
|
||||
"enable": "开启",
|
||||
"enable remote rules": "远程更新被禁用",
|
||||
"enter rsshub domain": "请输入你的 RSSHub 域名,留空使用官方域名",
|
||||
"for more rules join us": "更多规则支持中,快来<a target=\"_blank\" href=\"https://docs.rsshub.app/joinus/quick-start.html\">参与我们</a>吧!",
|
||||
"general": "常规",
|
||||
"generate access code": "生成访问码",
|
||||
"hot key": "快捷键",
|
||||
"join rsshub": "参与到 <a href=\"https://docs.rsshub.app\">RSSHub</a> 让万物皆可 RSS 吧!",
|
||||
"list of rules": "规则列表",
|
||||
"local reader": "本地阅读器",
|
||||
"notifications and reminders": "通知与提醒",
|
||||
"one-click subscription": "一键订阅",
|
||||
"required address": "必填,请输入你的 %{service} 地址",
|
||||
"required access key": "必填,请输入正确的访问密钥",
|
||||
"requires reader support": "需要阅读器支持,如 Reeder 等",
|
||||
"rss not found": "当前页面没有检测到 RSS",
|
||||
"rsshub radar options": "RSSHub Radar 选项",
|
||||
"rules": "规则列表",
|
||||
"rules update": "规则更新",
|
||||
"settings": "设置",
|
||||
"show corner badge": "角标提醒",
|
||||
"subscribe to": "订阅到",
|
||||
"subscribe to local reader": "订阅到本地阅读器",
|
||||
"successfully saved": "保存成功",
|
||||
"updated time ago": "%{hours}小时 %{minutes}分钟 前更新",
|
||||
"version": "版本",
|
||||
|
||||
"rsshub radar info": "RSSHub Radar 是 <a target=\"_blank\" href=\"https://docs.rsshub.app\">RSSHub</a> 的衍生项目,她可以帮助你快速发现和订阅当前网站的 RSS 和 RSSHub,项目<a target=\"_blank\" href=\"https://github.com/DIYgod/RSSHub-Radar\">采用 MIT 许可开源</a>,使用完全免费,但是随着项目规模的增长,也需要有相应的资金支持才能持续项目的维护与开发",
|
||||
"sponsored development": "赞助 RSSHub Radar 的开发: <a target=\"_blank\" href=\"https://docs.rsshub.app/support/\">https://docs.rsshub.app/support/</a>",
|
||||
"update log": "更新日志",
|
||||
"question feedback": "问题反馈",
|
||||
"rsshub documentation": "RSSHub 文档: <a target=\"_blank\" href=\"https://docs.rsshub.app\">https://docs.rsshub.app</a>",
|
||||
"everything is possible with rss": "万物皆可 RSS"
|
||||
}
|
||||
15
yarn.lock
15
yarn.lock
|
|
@ -1686,6 +1686,11 @@ big.js@^5.2.2:
|
|||
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
|
||||
integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
|
||||
|
||||
bignumber.js@*:
|
||||
version "9.0.2"
|
||||
resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673"
|
||||
integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==
|
||||
|
||||
bluebird@^3.1.1:
|
||||
version "3.5.5"
|
||||
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f"
|
||||
|
|
@ -3070,6 +3075,14 @@ human-signals@^2.1.0:
|
|||
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
|
||||
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
|
||||
|
||||
i18n-js@^4.0.0-alpha.14:
|
||||
version "4.0.0-alpha.14"
|
||||
resolved "https://registry.yarnpkg.com/i18n-js/-/i18n-js-4.0.0-alpha.14.tgz#a4515f2941bcc20721690b4f995adfc097f72cb5"
|
||||
integrity sha512-B1irDMAo3c7n3d/qVpVrMmZYXNolEpuUg40ZbXJHTFidGgFNbFPEFk7VMvjmW8934DAyIKdc16WQ55HvwiRgeQ==
|
||||
dependencies:
|
||||
bignumber.js "*"
|
||||
lodash "*"
|
||||
|
||||
iconv-lite@^0.4.4:
|
||||
version "0.4.24"
|
||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
|
||||
|
|
@ -3514,7 +3527,7 @@ lodash.uniq@^4.5.0:
|
|||
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
||||
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
|
||||
|
||||
lodash@^4.0.0, lodash@^4.17.15, lodash@^4.2.0, lodash@~4.17.10:
|
||||
lodash@*, lodash@^4.0.0, lodash@^4.17.15, lodash@^4.2.0, lodash@~4.17.10:
|
||||
version "4.17.21"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
|
||||
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
|
||||
|
|
|
|||
Loading…
Reference in New Issue