diff --git a/public/icons/undraw_making_art.svg b/public/icons/undraw_making_art.svg new file mode 100644 index 00000000..692111bd --- /dev/null +++ b/public/icons/undraw_making_art.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/modals/main/marketplace/Items.jsx b/src/components/modals/main/marketplace/Items.jsx index 8acc7075..d5185cfc 100644 --- a/src/components/modals/main/marketplace/Items.jsx +++ b/src/components/modals/main/marketplace/Items.jsx @@ -26,7 +26,7 @@ export default function Items({ return ( <> - {(type === 'all' && !onCollection) || type === 'collections' ? ( + {(type === 'all' && !onCollection) || (type === 'collections' && !onCollection) ? ( <>
- {getMessage('modals.main.addons.create.metadata.create_type', { - type: this.state.addonMetadata.type, - })} + {getMessage( + 'modals.main.addons.create.types.' + this.state.addonMetadata.type, + ) || 'marketplace'} {getMessage( - 'modals.main.addons.create.metadata.descriptions.' + this.state.addonMetadata.type, + 'modals.main.addons.create.descriptions.' + this.state.addonMetadata.type, ) || 'marketplace'}
@@ -236,7 +236,7 @@ export default class Create extends PureComponent {
diff --git a/src/components/modals/main/marketplace/sections/Marketplace.jsx b/src/components/modals/main/marketplace/sections/Marketplace.jsx index e82e0a56..16c9f564 100644 --- a/src/components/modals/main/marketplace/sections/Marketplace.jsx +++ b/src/components/modals/main/marketplace/sections/Marketplace.jsx @@ -1,7 +1,14 @@ import variables from 'modules/variables'; import { PureComponent } from 'react'; import { toast } from 'react-toastify'; -import { MdWifiOff, MdLocalMall, MdOutlineKeyboardArrowRight, MdRefresh } from 'react-icons/md'; +import { + MdWifiOff, + MdLocalMall, + MdOutlineKeyboardArrowRight, + MdRefresh, + MdOutlineArrowForward, + MdOutlineOpenInNew, +} from 'react-icons/md'; import Item from '../Item'; import Items from '../Items'; @@ -122,8 +129,12 @@ export default class Marketplace extends PureComponent { } async getItems() { + const dataURL = + this.props.type === 'collections' + ? variables.constants.MARKETPLACE_URL + '/collections' + : variables.constants.MARKETPLACE_URL + '/items/' + this.props.type; const { data } = await ( - await fetch(variables.constants.MARKETPLACE_URL + '/items/' + this.props.type, { + await fetch(dataURL, { signal: this.controller.signal, }) ).json(); @@ -355,14 +366,46 @@ export default class Marketplace extends PureComponent { )} - this.toggle('item', input)} - collectionFunction={(input) => this.toggle('collection', input)} - /> + {this.props.type === 'collections' && !this.state.collection ? ( + this.state.items.map((item) => ( + <> + {!item.news ? ( +
+
+ {item.display_name} + {item.description} +
+ + +
+ ) : null} + + )) + ) : ( + this.toggle('item', input)} + collectionFunction={(input) => this.toggle('collection', input)} + /> + )} ); } diff --git a/src/components/modals/main/scss/marketplace/_main.scss b/src/components/modals/main/scss/marketplace/_main.scss index 7e408310..3daf148c 100644 --- a/src/components/modals/main/scss/marketplace/_main.scss +++ b/src/components/modals/main/scss/marketplace/_main.scss @@ -40,8 +40,9 @@ } img { - height: 80% !important; - width: auto !important; + object-fit: cover !important; + height: 50px !important; + width: 50px !important; border-radius: 12px; transition: 0.5s; @@ -407,7 +408,8 @@ p.author { justify-content: center; } - button.nice-button, a.nice-button{ + button.nice-button, + a.nice-button { display: flex; align-items: center; gap: 15px; diff --git a/src/components/modals/main/scss/settings/_main.scss b/src/components/modals/main/scss/settings/_main.scss index d0893e55..5459a8e8 100644 --- a/src/components/modals/main/scss/settings/_main.scss +++ b/src/components/modals/main/scss/settings/_main.scss @@ -191,7 +191,7 @@ h4 { .achievements { margin-top: 25px; display: grid; - grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); grid-gap: 10px; } @@ -215,7 +215,7 @@ h4 { } } -.statSection { +.statSection.rightPanel { padding: 25px; @include themed() { border-radius: t($borderRadius); diff --git a/src/components/modals/main/settings/sections/Experimental.jsx b/src/components/modals/main/settings/sections/Experimental.jsx index 58659f74..149e654a 100644 --- a/src/components/modals/main/settings/sections/Experimental.jsx +++ b/src/components/modals/main/settings/sections/Experimental.jsx @@ -6,6 +6,7 @@ import { TextField } from '@mui/material'; import EventBus from 'modules/helpers/eventbus'; import { values } from 'modules/helpers/settings/modals'; +import SettingsItem from '../SettingsItem'; export default function ExperimentalSettings() { const getMessage = (text) => variables.language.getMessage(variables.languagecode, text); @@ -14,46 +15,50 @@ export default function ExperimentalSettings() { return ( <> -

{getMessage('modals.main.settings.sections.experimental.title')}

-

{getMessage('modals.main.settings.sections.experimental.warning')}

-

{getMessage('modals.main.settings.sections.experimental.developer')}

- - -

Send Event

- setEventType(e.target.value)} - spellCheck={false} - varient="outlined" - InputLabelProps={{ shrink: true }} - /> - setEventName(e.target.value)} - spellCheck={false} - varient="outlined" - InputLabelProps={{ shrink: true }} - /> -
+ + {getMessage('modals.main.settings.sections.experimental.title')} + + + {getMessage('modals.main.settings.sections.experimental.warning')} + + + + +

Send Event

+ setEventType(e.target.value)} + spellCheck={false} + varient="outlined" + InputLabelProps={{ shrink: true }} + /> + setEventName(e.target.value)} + spellCheck={false} + varient="outlined" + InputLabelProps={{ shrink: true }} + /> +
+ -
-
+
); } diff --git a/src/components/modals/main/settings/sections/Stats.jsx b/src/components/modals/main/settings/sections/Stats.jsx index b8d80a23..b7049e5f 100644 --- a/src/components/modals/main/settings/sections/Stats.jsx +++ b/src/components/modals/main/settings/sections/Stats.jsx @@ -9,6 +9,23 @@ import { FaTrophy } from 'react-icons/fa'; import EventBus from 'modules/helpers/eventbus'; import achievementsData from 'modules/helpers/settings/achievements.json'; +import translations from 'modules/helpers/settings/achievement_translations/index'; + +const achievementLanguage = { + de_DE: translations.de_DE, + en_GB: translations.en_GB, + en_US: translations.en_US, + es: translations.es, + fr: translations.fr, + nl: translations.nl, + no: translations.no, + ru: translations.ru, + zh_CN: translations.zh_CN, + id_ID: translations.id_ID, + tr_TR: translations.tr_TR, +}; + +console.log(achievementLanguage.en_GB) export default class Stats extends PureComponent { constructor() { @@ -19,7 +36,7 @@ export default class Stats extends PureComponent { }; } - getAchivements() { + getAchievements() { const achievements = this.state.achievements; achievements.forEach((achievement) => { switch (achievement.condition.type) { @@ -68,7 +85,8 @@ export default class Stats extends PureComponent { } }); - this.getAchivements(); + this.getAchievements(); + this.forceUpdate(); } componentWillUnmount() { @@ -99,12 +117,12 @@ export default class Stats extends PureComponent { ); } - const achievementElement = (name, description) => ( + const achievementElement = (key, name, description) => (
{name} - {description} + {achievementLanguage[localStorage.getItem('language')][key]}
); @@ -132,9 +150,9 @@ export default class Stats extends PureComponent { {this.getUnlockedCount()}/{this.state.achievements.length} Unlocked
- {this.state.achievements.map((achievement) => { + {this.state.achievements.map((achievement, index) => { if (achievement.achieved) { - return achievementElement(achievement.name, achievement.description); + return achievementElement(index, achievement.name, achievement.description); } })}
diff --git a/src/components/modals/main/settings/sections/Time.jsx b/src/components/modals/main/settings/sections/Time.jsx index 50087b12..acb0292a 100644 --- a/src/components/modals/main/settings/sections/Time.jsx +++ b/src/components/modals/main/settings/sections/Time.jsx @@ -17,16 +17,33 @@ export default class TimeSettings extends PureComponent { super(); this.state = { timeType: localStorage.getItem('timeType') || 'digital', - colour: localStorage.getItem('minuteColour') || '#ffa500', + hourColour: localStorage.getItem('hourColour') || '#fff', + minuteColour: localStorage.getItem('minuteColour') || '#fff', }; } - updateColour(event) { - const colour = event.target.value; - this.setState({ colour }); - localStorage.setItem('minuteColour', colour); + updateHourColour(event) { + const hourColour = event.target.value; + this.setState({ hourColour }); + localStorage.setItem('hourColour', hourColour); } + updateMinuteColour(event) { + const minuteColour = event.target.value; + this.setState({ minuteColour }); + localStorage.setItem('minuteColour', minuteColour); + } + + resetHourColour() { + localStorage.setItem('hourColour', '#fff') + } + + resetMinuteColour() { + localStorage.setItem('minuteColour', '#fff') + } + + + render() { const getMessage = (text) => variables.language.getMessage(variables.languagecode, text); @@ -102,24 +119,41 @@ export default class TimeSettings extends PureComponent { const verticalClock = ( <> - -
- this.updateColour(event)} - value={this.state.colour} - > - -
-
- {digitalSettings} + +
+ this.updateHourColour(event)} + value={this.state.hourColour} + > + +
+ this.resetHourColour()}> + {getMessage('modals.main.settings.buttons.reset')} + +
+ +
+ this.updateMinuteColour(event)} + value={this.state.minuteColour} + > + +
+ this.resetMinuteColour()}> + {getMessage('modals.main.settings.buttons.reset')} + +
+ {digitalSettings} ); diff --git a/src/components/modals/main/settings/sections/overview_skeletons/Quote.jsx b/src/components/modals/main/settings/sections/overview_skeletons/Quote.jsx index 0eae8b79..d7e4ea89 100644 --- a/src/components/modals/main/settings/sections/overview_skeletons/Quote.jsx +++ b/src/components/modals/main/settings/sections/overview_skeletons/Quote.jsx @@ -3,14 +3,14 @@ import { MdPerson } from 'react-icons/md'; export default function QuoteSkeleton() { return (
- "Cheese good" + "Never gonna give you up"
- James May - Cheese Man + Rick Astley + Music Genius
diff --git a/src/components/modals/main/tabs/Marketplace.jsx b/src/components/modals/main/tabs/Marketplace.jsx index 884c4f65..18b411cb 100644 --- a/src/components/modals/main/tabs/Marketplace.jsx +++ b/src/components/modals/main/tabs/Marketplace.jsx @@ -20,8 +20,8 @@ export default function Marketplace(props) {
-
- +
+
); diff --git a/src/components/modals/welcome/Welcome.jsx b/src/components/modals/welcome/Welcome.jsx index 03ef3400..3d2f1259 100644 --- a/src/components/modals/welcome/Welcome.jsx +++ b/src/components/modals/welcome/Welcome.jsx @@ -16,7 +16,7 @@ export default class WelcomeModal extends PureComponent { this.state = { image: './././icons/undraw_celebration.svg', currentTab: 0, - finalTab: 4, + finalTab: 5, buttonText: this.getMessage('modals.welcome.buttons.next'), }; this.images = [ @@ -24,6 +24,7 @@ export default class WelcomeModal extends PureComponent { './././icons/undraw_around_the_world_modified.svg', './././icons/undraw_add_files_modified.svg', './././icons/undraw_dark_mode.svg', + './././icons/undraw_making_art.svg', './././icons/undraw_private_data_modified.svg', './././icons/undraw_upgrade_modified.svg', ]; diff --git a/src/components/modals/welcome/WelcomeSections.jsx b/src/components/modals/welcome/WelcomeSections.jsx index fbde6f12..712c4c33 100644 --- a/src/components/modals/welcome/WelcomeSections.jsx +++ b/src/components/modals/welcome/WelcomeSections.jsx @@ -1,6 +1,15 @@ import variables from 'modules/variables'; import { PureComponent } from 'react'; -import { MdCloudUpload, MdAutoAwesome, MdLightMode, MdDarkMode, MdCelebration, MdOpenInNew} from 'react-icons/md'; +import { + MdCloudUpload, + MdAutoAwesome, + MdLightMode, + MdDarkMode, + MdOutlineWavingHand, + MdOpenInNew, + MdOutlineWhatshot, + MdArchive, +} from 'react-icons/md'; import { FaDiscord, FaGithub } from 'react-icons/fa'; import Radio from '../main/settings/Radio'; @@ -132,7 +141,9 @@ export default class WelcomeSections extends PureComponent { #shareyourmue
-
+
+ +
{this.getMessage('modals.welcome.sections.intro.title')} @@ -144,21 +155,25 @@ export default class WelcomeSections extends PureComponent {
-
- Join our discord - Join our community +
+ Join our Discord + Talk with the Mue community and developers
- +
-
- Contribute on Github - Contribute +
+ Contribute on GitHub + Report bugs, add features or donate
- +
); @@ -213,6 +228,25 @@ export default class WelcomeSections extends PureComponent { ); + const style = ( + <> + Choose a theme + Mue currently offers the choice between the legacy styling and the newly released modern styling. +
+
+
this.changeTheme('light')}> + + Legacy +
+
this.changeTheme('dark')}> + + Modern +
+
+
+ + ) + const settings = ( <> @@ -340,8 +374,10 @@ export default class WelcomeSections extends PureComponent { case 3: return theme; case 4: - return privacy; + return style; case 5: + return privacy; + case 6: return final; // 0 default: diff --git a/src/components/widgets/quote/Quote.jsx b/src/components/widgets/quote/Quote.jsx index a68f7ceb..026c30f0 100644 --- a/src/components/widgets/quote/Quote.jsx +++ b/src/components/widgets/quote/Quote.jsx @@ -118,10 +118,12 @@ export default class Quote extends PureComponent { `https://en.wikipedia.org/w/api.php?action=query&titles=${author}&origin=*&prop=pageimages&format=json&pithumbsize=100`, ) ).json(); + let authorimg, authorimglicense; try { authorimg = authorimgdata.query.pages[Object.keys(authorimgdata.query.pages)[0]].thumbnail.source; + const authorimglicensedata = await ( await fetch( `https://en.wikipedia.org/w/api.php?action=query&prop=imageinfo&iiprop=extmetadata&titles=File:${ @@ -129,6 +131,7 @@ export default class Quote extends PureComponent { }&origin=*&format=json`, ) ).json(); + const license = authorimglicensedata.query.pages[Object.keys(authorimglicensedata.query.pages)[0]] .imageinfo[0].extmetadata.LicenseShortName; @@ -136,6 +139,7 @@ export default class Quote extends PureComponent { authorimglicensedata.query.pages[Object.keys(authorimglicensedata.query.pages)[0]] .imageinfo[0].extmetadata.Attribution || 'Unknown'; authorimglicense = `© ${photographer.value}. ${license.value}`; + if (license.value === 'Public domain') { authorimglicense = null; } else if (photographer.value === 'Unknown' || !photographer) { @@ -458,7 +462,7 @@ export default class Quote extends PureComponent { {this.state.authorOccupation !== 'Unknown' ? ( {this.state.authorOccupation} ) : null} - {this.state.authorimglicense} + {this.state.authorimglicense ? this.state.authorimglicense.replace(' undefined. ', ' ') : null}
) : (
diff --git a/src/components/widgets/time/Clock.jsx b/src/components/widgets/time/Clock.jsx index c67d87fc..9f101230 100644 --- a/src/components/widgets/time/Clock.jsx +++ b/src/components/widgets/time/Clock.jsx @@ -21,6 +21,7 @@ export default class Clock extends PureComponent { ampm: '', nowGlobal: new Date(), minuteColour: localStorage.getItem('minuteColour'), + hourColour: localStorage.getItem('hourColour'), }; } @@ -189,7 +190,7 @@ export default class Clock extends PureComponent { <> {' '} -
{this.state.finalHour}
{' '} +
{this.state.finalHour}
{' '}
{this.state.finalMinute}
{' '}
{this.state.finalSeconds}
{' '}
diff --git a/src/components/widgets/weather/Weather.jsx b/src/components/widgets/weather/Weather.jsx index 4f43ceb6..33bd38c1 100644 --- a/src/components/widgets/weather/Weather.jsx +++ b/src/components/widgets/weather/Weather.jsx @@ -146,8 +146,9 @@ export default class Weather extends PureComponent { } render() { + const weatherType = localStorage.getItem('weatherType'); const enabled = (setting) => { - return localStorage.getItem(setting) === 'true' && localStorage.getItem('weatherType') >= 3; + return localStorage.getItem(setting) === 'true' && weatherType >= 3; }; if ( @@ -213,7 +214,7 @@ export default class Weather extends PureComponent { ) : null} */} - {localStorage.getItem('weatherType') >= 3 && ( + {weatherType >= 3 && ( {variables.language.getMessage( variables.languagecode, @@ -221,13 +222,13 @@ export default class Weather extends PureComponent { )} )} - {enabled('cloudiness') ? ( + {enabled('cloudiness') || weatherType === 3 ? ( {this.state.weather.cloudiness}% ) : null} - {enabled('windspeed') ? ( + {enabled('windspeed') || weatherType === 3 ? ( {this.state.weather.wind_speed} @@ -242,14 +243,14 @@ export default class Weather extends PureComponent { ) : null} ) : null} - {enabled('atmosphericpressure') ? ( + {enabled('atmosphericpressure') || weatherType === 3 ? ( {this.state.weather.pressure} hPa ) : null} - {enabled('weatherdescription') ? ( + {enabled('weatherdescription') || weatherType === 3 ? (
@@ -257,7 +258,7 @@ export default class Weather extends PureComponent { {this.state.weather.description} ) : null} - {enabled('visibility') ? ( + {enabled('visibility') || weatherType === 3 ? ( {variables.language.getMessage(variables.languagecode, 'widgets.weather.meters', { @@ -297,7 +298,7 @@ export default class Weather extends PureComponent {
)}
- {expandedInfo()} + {weatherType == 3 ? expandedInfo() : null}
); } diff --git a/src/modules/helpers/settings/achievement_translations/de_DE.json b/src/modules/helpers/settings/achievement_translations/de_DE.json new file mode 100644 index 00000000..2d27b6bf --- /dev/null +++ b/src/modules/helpers/settings/achievement_translations/de_DE.json @@ -0,0 +1,8 @@ +[ + "Opened 10 tabs", + "Opened 39 tabs", + "Opened 100 tabs", + "Opened 305 tabs", + "Installed an add-on", + "Installed 5 add-ons" +] \ No newline at end of file diff --git a/src/modules/helpers/settings/achievement_translations/en_GB.json b/src/modules/helpers/settings/achievement_translations/en_GB.json new file mode 100644 index 00000000..2d27b6bf --- /dev/null +++ b/src/modules/helpers/settings/achievement_translations/en_GB.json @@ -0,0 +1,8 @@ +[ + "Opened 10 tabs", + "Opened 39 tabs", + "Opened 100 tabs", + "Opened 305 tabs", + "Installed an add-on", + "Installed 5 add-ons" +] \ No newline at end of file diff --git a/src/modules/helpers/settings/achievement_translations/en_US.json b/src/modules/helpers/settings/achievement_translations/en_US.json new file mode 100644 index 00000000..2d27b6bf --- /dev/null +++ b/src/modules/helpers/settings/achievement_translations/en_US.json @@ -0,0 +1,8 @@ +[ + "Opened 10 tabs", + "Opened 39 tabs", + "Opened 100 tabs", + "Opened 305 tabs", + "Installed an add-on", + "Installed 5 add-ons" +] \ No newline at end of file diff --git a/src/modules/helpers/settings/achievement_translations/es.json b/src/modules/helpers/settings/achievement_translations/es.json new file mode 100644 index 00000000..2d27b6bf --- /dev/null +++ b/src/modules/helpers/settings/achievement_translations/es.json @@ -0,0 +1,8 @@ +[ + "Opened 10 tabs", + "Opened 39 tabs", + "Opened 100 tabs", + "Opened 305 tabs", + "Installed an add-on", + "Installed 5 add-ons" +] \ No newline at end of file diff --git a/src/modules/helpers/settings/achievement_translations/fr.json b/src/modules/helpers/settings/achievement_translations/fr.json new file mode 100644 index 00000000..2d27b6bf --- /dev/null +++ b/src/modules/helpers/settings/achievement_translations/fr.json @@ -0,0 +1,8 @@ +[ + "Opened 10 tabs", + "Opened 39 tabs", + "Opened 100 tabs", + "Opened 305 tabs", + "Installed an add-on", + "Installed 5 add-ons" +] \ No newline at end of file diff --git a/src/modules/helpers/settings/achievement_translations/id_ID.json b/src/modules/helpers/settings/achievement_translations/id_ID.json new file mode 100644 index 00000000..2d27b6bf --- /dev/null +++ b/src/modules/helpers/settings/achievement_translations/id_ID.json @@ -0,0 +1,8 @@ +[ + "Opened 10 tabs", + "Opened 39 tabs", + "Opened 100 tabs", + "Opened 305 tabs", + "Installed an add-on", + "Installed 5 add-ons" +] \ No newline at end of file diff --git a/src/modules/helpers/settings/achievement_translations/index.js b/src/modules/helpers/settings/achievement_translations/index.js new file mode 100644 index 00000000..a505a619 --- /dev/null +++ b/src/modules/helpers/settings/achievement_translations/index.js @@ -0,0 +1,27 @@ +import de_DE from './de_DE.json'; +import en_GB from './en_GB.json'; +import en_US from './en_US.json'; +import es from './es.json'; +import fr from './fr.json'; +import nl from './nl.json'; +import no from './no.json'; +import ru from './ru.json'; +import zh_CN from './zh_CN.json'; +import id_ID from './id_ID.json'; +import tr_TR from './tr_TR.json'; + +const translations = { + de_DE, + en_GB, + en_US, + es, + fr, + nl, + no, + ru, + zh_CN, + id_ID, + tr_TR, +}; + +export default translations; diff --git a/src/modules/helpers/settings/achievement_translations/nl.json b/src/modules/helpers/settings/achievement_translations/nl.json new file mode 100644 index 00000000..2d27b6bf --- /dev/null +++ b/src/modules/helpers/settings/achievement_translations/nl.json @@ -0,0 +1,8 @@ +[ + "Opened 10 tabs", + "Opened 39 tabs", + "Opened 100 tabs", + "Opened 305 tabs", + "Installed an add-on", + "Installed 5 add-ons" +] \ No newline at end of file diff --git a/src/modules/helpers/settings/achievement_translations/no.json b/src/modules/helpers/settings/achievement_translations/no.json new file mode 100644 index 00000000..2d27b6bf --- /dev/null +++ b/src/modules/helpers/settings/achievement_translations/no.json @@ -0,0 +1,8 @@ +[ + "Opened 10 tabs", + "Opened 39 tabs", + "Opened 100 tabs", + "Opened 305 tabs", + "Installed an add-on", + "Installed 5 add-ons" +] \ No newline at end of file diff --git a/src/modules/helpers/settings/achievement_translations/ru.json b/src/modules/helpers/settings/achievement_translations/ru.json new file mode 100644 index 00000000..2d27b6bf --- /dev/null +++ b/src/modules/helpers/settings/achievement_translations/ru.json @@ -0,0 +1,8 @@ +[ + "Opened 10 tabs", + "Opened 39 tabs", + "Opened 100 tabs", + "Opened 305 tabs", + "Installed an add-on", + "Installed 5 add-ons" +] \ No newline at end of file diff --git a/src/modules/helpers/settings/achievement_translations/tr_TR.json b/src/modules/helpers/settings/achievement_translations/tr_TR.json new file mode 100644 index 00000000..2d27b6bf --- /dev/null +++ b/src/modules/helpers/settings/achievement_translations/tr_TR.json @@ -0,0 +1,8 @@ +[ + "Opened 10 tabs", + "Opened 39 tabs", + "Opened 100 tabs", + "Opened 305 tabs", + "Installed an add-on", + "Installed 5 add-ons" +] \ No newline at end of file diff --git a/src/modules/helpers/settings/achievement_translations/zh_CN.json b/src/modules/helpers/settings/achievement_translations/zh_CN.json new file mode 100644 index 00000000..2d27b6bf --- /dev/null +++ b/src/modules/helpers/settings/achievement_translations/zh_CN.json @@ -0,0 +1,8 @@ +[ + "Opened 10 tabs", + "Opened 39 tabs", + "Opened 100 tabs", + "Opened 305 tabs", + "Installed an add-on", + "Installed 5 add-ons" +] \ No newline at end of file diff --git a/src/translations/de_DE.json b/src/translations/de_DE.json index 94a59257..b0214570 100644 --- a/src/translations/de_DE.json +++ b/src/translations/de_DE.json @@ -146,6 +146,7 @@ "custom_author": "Benutzerdefinierter Autor", "author_img": "Show author image", "add": "Add quote", + "source_subtitle": "Choose where to get quotes from", "buttons": { "title": "Schaltflächen", "subtitle": "Choose which buttons to show on the quote", @@ -527,8 +528,15 @@ "example": "Example", "other_title": "Add-on erstellen", "create_type": "Create {type} Pack", + "types": { + "settings": "Preset Settings Pack", + "photos": "Photo Pack", + "quotes": "Quotes Pack" + }, "descriptions": { "settings": "", + "photos": "Collection of photos relating to a topic.", + "quotes": "Collection of quotes relating to a topic.", "photo_pack": "", "quote_pack": "" }, @@ -544,7 +552,8 @@ "name": "Name", "icon_url": "Icon URL", "screenshot_url": "Screenshot URL", - "description": "Beschreibung" + "description": "Beschreibung", + "example": "Download example" }, "finish": { "title": "Fertig", diff --git a/src/translations/en_GB.json b/src/translations/en_GB.json index fa8ad431..762d33f2 100644 --- a/src/translations/en_GB.json +++ b/src/translations/en_GB.json @@ -527,10 +527,15 @@ "example": "Example", "other_title": "Create Add-on", "create_type": "Create {type} Pack", + "types": { + "settings": "Preset Settings Pack", + "photos": "Photo Pack", + "quotes": "Quotes Pack" + }, "descriptions": { - "settings": "", - "photo_pack": "", - "quote_pack": "" + "settings": "This a shared settings ting.", + "photos": "Collection of photos relating to a topic.", + "quotes": "Collection of quotes relating to a topic." }, "information": "Information", "information_subtitle": "For example: 1.2.3 (major update, minor update, patch update)", @@ -544,7 +549,8 @@ "name": "Name", "icon_url": "Icon URL", "screenshot_url": "Screenshot URL", - "description": "Description" + "description": "Description", + "example": "Download example" }, "finish": { "title": "Finish", diff --git a/src/translations/en_US.json b/src/translations/en_US.json index faadf1a8..5cc1afb3 100644 --- a/src/translations/en_US.json +++ b/src/translations/en_US.json @@ -146,6 +146,7 @@ "custom_author": "Custom author", "author_img": "Show author image", "add": "Add quote", + "source_subtitle": "Choose where to get quotes from", "buttons": { "title": "Buttons", "subtitle": "Choose which buttons to show on the quote", @@ -526,8 +527,15 @@ "example": "Example", "other_title": "Create Add-on", "create_type": "Create {type} Pack", + "types": { + "settings": "Preset Settings Pack", + "photos": "Photo Pack", + "quotes": "Quotes Pack" + }, "descriptions": { "settings": "", + "photos": "Collection of photos relating to a topic.", + "quotes": "Collection of quotes relating to a topic.", "photo_pack": "", "quote_pack": "" }, @@ -543,7 +551,8 @@ "name": "Name", "icon_url": "Icon URL", "screenshot_url": "Screenshot URL", - "description": "Description" + "description": "Description", + "example": "Download example" }, "finish": { "title": "Finish", diff --git a/src/translations/es.json b/src/translations/es.json index d4b2926c..6696b1d0 100644 --- a/src/translations/es.json +++ b/src/translations/es.json @@ -146,6 +146,7 @@ "custom_author": "Autor personalizado", "author_img": "Show author image", "add": "Añadir cita", + "source_subtitle": "Choose where to get quotes from", "buttons": { "title": "Botones", "subtitle": "Choose which buttons to show on the quote", @@ -526,8 +527,15 @@ "example": "Example", "other_title": "Crear complemento", "create_type": "Create {type} Pack", + "types": { + "settings": "Preset Settings Pack", + "photos": "Photo Pack", + "quotes": "Quotes Pack" + }, "descriptions": { "settings": "", + "photos": "Collection of photos relating to a topic.", + "quotes": "Collection of quotes relating to a topic.", "photo_pack": "", "quote_pack": "" }, @@ -543,7 +551,8 @@ "name": "Nombre", "icon_url": "URL del icono", "screenshot_url": "URL de la captura de pantalla", - "description": "Descripción" + "description": "Descripción", + "example": "Download example" }, "finish": { "title": "Acabar", diff --git a/src/translations/fr.json b/src/translations/fr.json index 11a46972..b1a11cd7 100644 --- a/src/translations/fr.json +++ b/src/translations/fr.json @@ -146,6 +146,7 @@ "custom_author": "Auteur de devis personnalisé", "author_img": "Show author image", "add": "Add quote", + "source_subtitle": "Choose where to get quotes from", "buttons": { "title": "Boutons", "subtitle": "Choose which buttons to show on the quote", @@ -526,8 +527,15 @@ "example": "Example", "other_title": "Create Add-on", "create_type": "Create {type} Pack", + "types": { + "settings": "Preset Settings Pack", + "photos": "Photo Pack", + "quotes": "Quotes Pack" + }, "descriptions": { "settings": "", + "photos": "Collection of photos relating to a topic.", + "quotes": "Collection of quotes relating to a topic.", "photo_pack": "", "quote_pack": "" }, @@ -543,7 +551,8 @@ "name": "Name", "icon_url": "Icon URL", "screenshot_url": "Screenshot URL", - "description": "Description" + "description": "Description", + "example": "Download example" }, "finish": { "title": "Finish", diff --git a/src/translations/id_ID.json b/src/translations/id_ID.json index 73ac41d3..39e45e42 100644 --- a/src/translations/id_ID.json +++ b/src/translations/id_ID.json @@ -146,6 +146,7 @@ "custom_author": "Penulis kustom", "author_img": "Show author image", "add": "Tambahkan kutipan", + "source_subtitle": "Choose where to get quotes from", "buttons": { "title": "Aksi", "subtitle": "Choose which buttons to show on the quote", @@ -526,8 +527,15 @@ "example": "Example", "other_title": "Buat Add-on", "create_type": "Create {type} Pack", + "types": { + "settings": "Preset Settings Pack", + "photos": "Photo Pack", + "quotes": "Quotes Pack" + }, "descriptions": { "settings": "", + "photos": "Collection of photos relating to a topic.", + "quotes": "Collection of quotes relating to a topic.", "photo_pack": "", "quote_pack": "" }, @@ -543,7 +551,8 @@ "name": "Nama", "icon_url": "URL Ikon", "screenshot_url": "URL Screenshot", - "description": "Deskripsi" + "description": "Deskripsi", + "example": "Download example" }, "finish": { "title": "Selesai", diff --git a/src/translations/nl.json b/src/translations/nl.json index bec0a932..9aa798c8 100644 --- a/src/translations/nl.json +++ b/src/translations/nl.json @@ -146,6 +146,7 @@ "custom_author": "Custom author", "author_img": "Show author image", "add": "Add quote", + "source_subtitle": "Choose where to get quotes from", "buttons": { "title": "Buttons", "subtitle": "Choose which buttons to show on the quote", @@ -526,8 +527,15 @@ "example": "Example", "other_title": "Create Add-on", "create_type": "Create {type} Pack", + "types": { + "settings": "Preset Settings Pack", + "photos": "Photo Pack", + "quotes": "Quotes Pack" + }, "descriptions": { "settings": "", + "photos": "Collection of photos relating to a topic.", + "quotes": "Collection of quotes relating to a topic.", "photo_pack": "", "quote_pack": "" }, @@ -543,7 +551,8 @@ "name": "Name", "icon_url": "Icon URL", "screenshot_url": "Screenshot URL", - "description": "Description" + "description": "Description", + "example": "Download example" }, "finish": { "title": "Finish", diff --git a/src/translations/no.json b/src/translations/no.json index 9d9d22eb..9b6ee2ae 100644 --- a/src/translations/no.json +++ b/src/translations/no.json @@ -146,6 +146,7 @@ "custom_author": "Custom author", "author_img": "Show author image", "add": "Add quote", + "source_subtitle": "Choose where to get quotes from", "buttons": { "title": "Buttons", "subtitle": "Choose which buttons to show on the quote", @@ -526,8 +527,15 @@ "example": "Example", "other_title": "Create Add-on", "create_type": "Create {type} Pack", + "types": { + "settings": "Preset Settings Pack", + "photos": "Photo Pack", + "quotes": "Quotes Pack" + }, "descriptions": { "settings": "", + "photos": "Collection of photos relating to a topic.", + "quotes": "Collection of quotes relating to a topic.", "photo_pack": "", "quote_pack": "" }, @@ -543,7 +551,8 @@ "name": "Name", "icon_url": "Icon URL", "screenshot_url": "Screenshot URL", - "description": "Description" + "description": "Description", + "example": "Download example" }, "finish": { "title": "Finish", diff --git a/src/translations/ru.json b/src/translations/ru.json index b57442ae..e05fe004 100644 --- a/src/translations/ru.json +++ b/src/translations/ru.json @@ -146,6 +146,7 @@ "custom_author": "Custom author", "author_img": "Show author image", "add": "Add quote", + "source_subtitle": "Choose where to get quotes from", "buttons": { "title": "Buttons", "subtitle": "Choose which buttons to show on the quote", @@ -526,8 +527,15 @@ "example": "Example", "other_title": "Create Add-on", "create_type": "Create {type} Pack", + "types": { + "settings": "Preset Settings Pack", + "photos": "Photo Pack", + "quotes": "Quotes Pack" + }, "descriptions": { "settings": "", + "photos": "Collection of photos relating to a topic.", + "quotes": "Collection of quotes relating to a topic.", "photo_pack": "", "quote_pack": "" }, @@ -543,7 +551,8 @@ "name": "Name", "icon_url": "Icon URL", "screenshot_url": "Screenshot URL", - "description": "Description" + "description": "Description", + "example": "Download example" }, "finish": { "title": "Finish", diff --git a/src/translations/tr_TR.json b/src/translations/tr_TR.json index a4555401..f1818a4c 100644 --- a/src/translations/tr_TR.json +++ b/src/translations/tr_TR.json @@ -146,6 +146,7 @@ "custom_author": "Yazar Özelleştir", "author_img": "Yazar Resmini Göster", "add": "Alıntı Ekle.", + "source_subtitle": "Choose where to get quotes from", "buttons": { "title": "Butonlar", "subtitle": "Alıntıda hangi butonların gösterileceğini seçin.", @@ -526,8 +527,15 @@ "example": "Örnek", "other_title": "Eklenti Oluştur", "create_type": "{type} Paketi Oluştur", + "types": { + "settings": "Preset Settings Pack", + "photos": "Photo Pack", + "quotes": "Quotes Pack" + }, "descriptions": { "settings": "", + "photos": "Collection of photos relating to a topic.", + "quotes": "Collection of quotes relating to a topic.", "photo_pack": "", "quote_pack": "" }, @@ -543,7 +551,8 @@ "name": "İsmi", "icon_url": "İkon URL'si ", "screenshot_url": "Arka plan URL'si", - "description": "Açıklama" + "description": "Açıklama", + "example": "Download example" }, "finish": { "title": "Bitiş", diff --git a/src/translations/zh_CN.json b/src/translations/zh_CN.json index 8e3b0d55..e90813e2 100644 --- a/src/translations/zh_CN.json +++ b/src/translations/zh_CN.json @@ -146,6 +146,7 @@ "custom_author": "自定义出处", "author_img": "Show author image", "add": "继续添加名言", + "source_subtitle": "Choose where to get quotes from", "buttons": { "title": "下方按钮", "subtitle": "Choose which buttons to show on the quote", @@ -526,8 +527,15 @@ "example": "Example", "other_title": "创建插件", "create_type": "Create {type} Pack", + "types": { + "settings": "Preset Settings Pack", + "photos": "Photo Pack", + "quotes": "Quotes Pack" + }, "descriptions": { "settings": "", + "photos": "Collection of photos relating to a topic.", + "quotes": "Collection of quotes relating to a topic.", "photo_pack": "", "quote_pack": "" }, @@ -543,7 +551,8 @@ "name": "名称", "icon_url": "图标URL", "screenshot_url": "示例图片URL", - "description": "描述" + "description": "描述", + "example": "Download example" }, "finish": { "title": "完成",