From 2882754bd8b401c4a082119a7f9dae4ec2b85fd1 Mon Sep 17 00:00:00 2001 From: Nicklas Ronge Date: Mon, 22 Jun 2020 13:41:31 +0200 Subject: [PATCH] - update trade module - added support page with discord and github issues - added trade filter setting (Incoming & Outgoing, Incoming) - added trade layout setting (Top To Bottom, Bottom To Top) - added trade window to be transparent if no active trades and the window is pinned - update trade action finished to be always shown even if no trade has been initalized - fixed a focus issue occuring when using the trade whisper button --- CHANGELOG.md | 9 + manifest.json | 5 +- overlay.babel | 381 ++++++++++++++++++ src/app/core/annotation/annotation.service.ts | 6 +- src/app/core/config/app.ts | 1 + .../settings-window.component.html | 21 +- .../trade-message.component.html | 2 +- .../trade-message.component.scss | 19 +- .../trade-message/trade-message.component.ts | 6 +- .../trade-settings.component.html | 25 ++ .../trade-settings.component.ts | 6 +- .../modules/trade/service/trade.service.ts | 16 +- .../modules/trade/trade-feature-settings.ts | 12 + src/app/modules/trade/trade.module.ts | 18 +- .../trade-window/trade-window.component.html | 39 +- .../trade-window/trade-window.component.scss | 42 ++ .../trade-window/trade-window.component.ts | 6 +- .../component/header/header.component.html | 7 +- .../component/header/header.component.scss | 26 +- .../odk/component/header/header.component.ts | 8 +- src/assets/i18n/english.json | 11 + src/assets/i18n/french.json | 11 + src/assets/i18n/german.json | 11 + src/assets/i18n/korean.json | 11 + src/assets/i18n/polish.json | 11 + src/assets/i18n/portuguese.json | 11 + src/assets/i18n/russian.json | 11 + src/assets/i18n/simplified-chinese.json | 11 + src/assets/i18n/spanish.json | 11 + src/assets/i18n/thai.json | 11 + src/assets/i18n/traditional-chinese.json | 11 + 31 files changed, 699 insertions(+), 77 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b86410d4..db16d583 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 1.0.5 (2020-06-22) + +- added support page with discord and github issues +- added trade filter setting (Incoming & Outgoing, Incoming) +- added trade layout setting (Top To Bottom, Bottom To Top) +- added trade window to be transparent if no active trades and the window is pinned +- update trade action finished to be always shown even if no trade has been initalized +- fixed a focus issue occuring when using the trade whisper button + ## 1.0.4 (2020-06-19) - added 3.11 data diff --git a/manifest.json b/manifest.json index 973de3e0..d68640ed 100644 --- a/manifest.json +++ b/manifest.json @@ -146,9 +146,10 @@ "disable_rightclick": true, "transparent": true, "resizable": true, + "override_on_update": true, "size": { - "width": 1212, - "height": 699 + "width": 310, + "height": 400 } }, "tradehighlight": { diff --git a/overlay.babel b/overlay.babel index 1e7cf355..6f350cb4 100644 --- a/overlay.babel +++ b/overlay.babel @@ -14849,6 +14849,334 @@ + + filter + false + + + + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + ko-KR + false + + + pl-PL + false + + + pt-BR + false + + + ru-RU + false + + + th-TH + false + + + zh-CHS + false + + + zh-CHT + false + + + + + filters + + + incoming + false + + + + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + ko-KR + false + + + pl-PL + false + + + pt-BR + false + + + ru-RU + false + + + th-TH + false + + + zh-CHS + false + + + zh-CHT + false + + + + + incomingoutgoing + false + + + + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + ko-KR + false + + + pl-PL + false + + + pt-BR + false + + + ru-RU + false + + + th-TH + false + + + zh-CHS + false + + + zh-CHT + false + + + + + + + layout + false + + + + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + ko-KR + false + + + pl-PL + false + + + pt-BR + false + + + ru-RU + false + + + th-TH + false + + + zh-CHS + false + + + zh-CHT + false + + + + + layouts + + + bottomtotop + false + + + + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + ko-KR + false + + + pl-PL + false + + + pt-BR + false + + + ru-RU + false + + + th-TH + false + + + zh-CHS + false + + + zh-CHT + false + + + + + toptobottom + false + + + + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + ko-KR + false + + + pl-PL + false + + + pt-BR + false + + + ru-RU + false + + + th-TH + false + + + zh-CHS + false + + + zh-CHT + false + + + + + message @@ -15066,6 +15394,59 @@ + + messages + false + + + + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + ko-KR + false + + + pl-PL + false + + + pt-BR + false + + + ru-RU + false + + + th-TH + false + + + zh-CHS + false + + + zh-CHT + false + + + name false diff --git a/src/app/core/annotation/annotation.service.ts b/src/app/core/annotation/annotation.service.ts index 51e34ed7..1a2801f9 100644 --- a/src/app/core/annotation/annotation.service.ts +++ b/src/app/core/annotation/annotation.service.ts @@ -90,8 +90,10 @@ const ANNOTATIONS: Annotation[] = [ expressions: [AnnotationCondition.BookmarkOpened], skippable: true }, - // TODO: Hide until sub is ready - // { id: 'support' }, + { + id: 'support', + hotkey: Hotkey.SettingsToggle + }, { id: 'thanks' } ]; diff --git a/src/app/core/config/app.ts b/src/app/core/config/app.ts index 0434e70b..f8852ec9 100644 --- a/src/app/core/config/app.ts +++ b/src/app/core/config/app.ts @@ -1 +1,2 @@ export const APP_UID = 'cijcjjcjilpooaeppicpfibopeefaglkefjaeofl'; +export const APP_SUB_ID = 32; diff --git a/src/app/layout/window/settings-window/settings-window.component.html b/src/app/layout/window/settings-window/settings-window.component.html index 1c3cdf1b..1d9b070e 100644 --- a/src/app/layout/window/settings-window/settings-window.component.html +++ b/src/app/layout/window/settings-window/settings-window.component.html @@ -1,5 +1,5 @@ - + @@ -21,17 +21,14 @@ - + + + {{'support.name' | translate}} + +
+ +
+
\ No newline at end of file diff --git a/src/app/modules/trade/component/trade-message/trade-message.component.html b/src/app/modules/trade/component/trade-message/trade-message.component.html index df59e07f..b2505bee 100644 --- a/src/app/modules/trade/component/trade-message/trade-message.component.html +++ b/src/app/modules/trade/component/trade-message/trade-message.component.html @@ -1,4 +1,4 @@ -
diff --git a/src/app/modules/trade/component/trade-message/trade-message.component.scss b/src/app/modules/trade/component/trade-message/trade-message.component.scss index 95311109..3befb2bc 100644 --- a/src/app/modules/trade/component/trade-message/trade-message.component.scss +++ b/src/app/modules/trade/component/trade-message/trade-message.component.scss @@ -1,19 +1,5 @@ @import "../../../../../styles/variables"; -::ng-deep { - app-trade-message { - &:nth-child(even) { - .message { - background: adjust-color($black-transparent, $alpha: -0.2); - } - } - - & + app-trade-message { - margin-top: 1px; - } - } -} - :host { display: block; } @@ -30,6 +16,10 @@ border-left: 6px solid; border-left-color: adjust-color($color: $purple, $alpha: -0.1); + &.even { + background: adjust-color($black-transparent, $alpha: -0.2); + } + &.joined { border-top: 1px solid rgb(50, 205, 50); border-right: 1px solid rgb(50, 205, 50); @@ -50,6 +40,7 @@ top: -8px; right: -8px; display: none; + z-index: 1001; } &:hover { diff --git a/src/app/modules/trade/component/trade-message/trade-message.component.ts b/src/app/modules/trade/component/trade-message/trade-message.component.ts index b7cec51b..b874dccb 100644 --- a/src/app/modules/trade/component/trade-message/trade-message.component.ts +++ b/src/app/modules/trade/component/trade-message/trade-message.component.ts @@ -34,6 +34,9 @@ export class TradeMessageComponent implements OnInit { @Input() public settings: TradeFeatureSettings; + @Input() + public even: boolean; + @Output() public dismiss = new EventEmitter(); @@ -52,6 +55,7 @@ export class TradeMessageComponent implements OnInit { this.visible[TradeMessageAction.Wait] = true; this.visible[TradeMessageAction.ItemGone] = true; this.visible[TradeMessageAction.ItemHighlight] = true; + this.visible[TradeMessageAction.Finished] = true; if (this.settings.tradeSoundEnabled) { this.audio.play(AudioFile.Notification, this.settings.tradeSoundVolume / 100); } @@ -105,12 +109,12 @@ export class TradeMessageComponent implements OnInit { this.hideHighlight(); this.chat.trade(this.message.name); this.visible[TradeMessageAction.ItemHighlight] = false; - this.visible[TradeMessageAction.Finished] = true; break; case TradeMessageAction.ItemHighlight: this.toggleHighlight(); break; case TradeMessageAction.Whisper: + window.blur(); this.chat.whisper(this.message.name); break; case TradeMessageAction.Finished: diff --git a/src/app/modules/trade/component/trade-settings/trade-settings.component.html b/src/app/modules/trade/component/trade-settings/trade-settings.component.html index deaffbd6..fd2f4a4b 100644 --- a/src/app/modules/trade/component/trade-settings/trade-settings.component.html +++ b/src/app/modules/trade/component/trade-settings/trade-settings.component.html @@ -7,6 +7,31 @@
+
+
+ + {{'trade.layout' | translate}} + + + {{'trade.layouts.' + (layouts.values[layout] | lowercase) | translate}} + + + +
+
+ + {{'trade.filter' | translate}} + + + {{'trade.filters.' + (filters.values[filter] | lowercase) | translate}} + + + +
+
+ + +
diff --git a/src/app/modules/trade/component/trade-settings/trade-settings.component.ts b/src/app/modules/trade/component/trade-settings/trade-settings.component.ts index 8ac34135..0200884a 100644 --- a/src/app/modules/trade/component/trade-settings/trade-settings.component.ts +++ b/src/app/modules/trade/component/trade-settings/trade-settings.component.ts @@ -1,7 +1,8 @@ import { ChangeDetectionStrategy, Component } from '@angular/core'; import { AudioFile, AudioService } from '@app/audio'; +import { EnumValues } from '@app/enum'; import { FeatureSettingsComponent } from '@app/feature'; -import { TradeFeatureSettings } from '@modules/trade/trade-feature-settings'; +import { TradeFeatureSettings, TradeFilter, TradeLayout } from '@modules/trade/trade-feature-settings'; @Component({ selector: 'app-trade-settings', @@ -12,6 +13,9 @@ import { TradeFeatureSettings } from '@modules/trade/trade-feature-settings'; export class TradeSettingsComponent extends FeatureSettingsComponent { public displayWithVolume = (volume: number) => `${volume}%`; + public layouts = new EnumValues(TradeLayout); + public filters = new EnumValues(TradeFilter); + constructor(private readonly audio: AudioService) { super(); } diff --git a/src/app/modules/trade/service/trade.service.ts b/src/app/modules/trade/service/trade.service.ts index 0d721460..aaf485bf 100644 --- a/src/app/modules/trade/service/trade.service.ts +++ b/src/app/modules/trade/service/trade.service.ts @@ -1,5 +1,6 @@ import { Injectable } from '@angular/core'; -import { TradeChatParserService, TradeExchangeMessage, TradeMessage, TradeParserType, TradePlayerJoinedArea } from '@shared/module/poe/trade/chat'; +import { TradeChatParserService, TradeExchangeMessage, TradeMessage, TradeParserType, TradePlayerJoinedArea, TradeWhisperDirection } from '@shared/module/poe/trade/chat'; +import { TradeFilter } from '../trade-feature-settings'; import { TradeWindowData, TradeWindowService } from './trade-window.service'; @Injectable({ @@ -23,7 +24,7 @@ export class TradeService { this.window.data$.next(data); } - public onLogLineAdd(line: string): void { + public onLogLineAdd(line: string, filter: TradeFilter): void { const data = this.window.data$.get(); if (this.processRemoved(data)) { this.window.data$.next(data); @@ -35,10 +36,15 @@ export class TradeService { case TradeParserType.TradeBulk: case TradeParserType.TradeMap: const message = result as TradeExchangeMessage; - if (!this.processMessage(message, data.messages)) { - data.messages.push(message); + const { direction } = message; + const shouldProcess = direction === TradeWhisperDirection.Incoming + || (direction === TradeWhisperDirection.Outgoing && filter === TradeFilter.IncomingOutgoing); + if (shouldProcess) { + if (!this.processMessage(message, data.messages)) { + data.messages.push(message); + } + this.window.data$.next(data); } - this.window.data$.next(data); break; case TradeParserType.Whisper: if (this.processWhisper(result as TradeMessage, data.messages)) { diff --git a/src/app/modules/trade/trade-feature-settings.ts b/src/app/modules/trade/trade-feature-settings.ts index 5feca6fe..8c78f275 100644 --- a/src/app/modules/trade/trade-feature-settings.ts +++ b/src/app/modules/trade/trade-feature-settings.ts @@ -1,5 +1,15 @@ import { FeatureSettings } from '@app/feature'; +export enum TradeLayout { + TopToBottom, + BottomToTop +} + +export enum TradeFilter { + IncomingOutgoing, + Incoming +} + export interface TradeFeatureSettings extends FeatureSettings { tradeEnabled: boolean; tradeMessageWait: string; @@ -12,4 +22,6 @@ export interface TradeFeatureSettings extends FeatureSettings { }; tradeSoundEnabled: boolean; tradeSoundVolume: number; + tradeFilter: TradeFilter; + tradeLayout: TradeLayout; } diff --git a/src/app/modules/trade/trade.module.ts b/src/app/modules/trade/trade.module.ts index 0345caf1..f8f33f89 100644 --- a/src/app/modules/trade/trade.module.ts +++ b/src/app/modules/trade/trade.module.ts @@ -9,7 +9,7 @@ import { BehaviorSubject, of } from 'rxjs'; import { catchError } from 'rxjs/operators'; import { TradeMessageActionComponent, TradeMessageBulkComponent, TradeMessageComponent, TradeMessageDirectionComponent, TradeMessageItemComponent, TradeMessageMapComponent, TradeMessageMapTierComponent, TradeSettingsComponent } from './component'; import { TradeHighlightWindowService, TradeService, TradeWindowService } from './service'; -import { TradeFeatureSettings } from './trade-feature-settings'; +import { TradeFeatureSettings, TradeFilter, TradeLayout } from './trade-feature-settings'; import { TradeHighlightWindowComponent, TradeWindowComponent } from './window'; const WINDOWS = [ @@ -34,7 +34,7 @@ const WINDOWS = [ imports: [SharedModule] }) export class TradeModule implements FeatureModule { - private enabled = false; + private settings: TradeFeatureSettings; constructor( private readonly event: EventService, @@ -42,7 +42,7 @@ export class TradeModule implements FeatureModule { private readonly tradeWindow: TradeWindowService, private readonly highlightWindow: TradeHighlightWindowService, private readonly annotation: AnnotationService, - private readonly ngZone: NgZone, ) { } + private readonly ngZone: NgZone) { } public getConfig(): FeatureConfig { const config: FeatureConfig = { @@ -57,7 +57,9 @@ export class TradeModule implements FeatureModule { tradeStashFactor: {}, tradeWindowPinned: false, tradeSoundEnabled: true, - tradeSoundVolume: 75 + tradeSoundVolume: 75, + tradeFilter: TradeFilter.IncomingOutgoing, + tradeLayout: TradeLayout.TopToBottom } }; return config; @@ -76,7 +78,7 @@ export class TradeModule implements FeatureModule { this.highlightWindow.close().subscribe(); this.trade.clear(); } - this.enabled = settings.tradeEnabled; + this.settings = settings; } public onInfo(info: RunningGameInfo, settings: TradeFeatureSettings): void { @@ -91,12 +93,12 @@ export class TradeModule implements FeatureModule { this.highlightWindow.close().subscribe(); this.trade.clear(); } - this.enabled = settings.tradeEnabled; + this.settings = settings; } public onLogLineAdd(line: string): void { - if (this.enabled) { - this.trade.onLogLineAdd(line); + if (this.settings?.tradeEnabled) { + this.trade.onLogLineAdd(line, this.settings.tradeFilter); } } diff --git a/src/app/modules/trade/window/trade-window/trade-window.component.html b/src/app/modules/trade/window/trade-window/trade-window.component.html index 6b864571..0186cf46 100644 --- a/src/app/modules/trade/window/trade-window/trade-window.component.html +++ b/src/app/modules/trade/window/trade-window/trade-window.component.html @@ -1,19 +1,24 @@ -
- - - - keyboard_arrow_down - - - - - - + + +
+ + + keyboard_arrow_down + - - + +
+
+ + +
+
+
+ +
-
\ No newline at end of file + \ No newline at end of file diff --git a/src/app/modules/trade/window/trade-window/trade-window.component.scss b/src/app/modules/trade/window/trade-window/trade-window.component.scss index e0d5911a..be4ba43f 100644 --- a/src/app/modules/trade/window/trade-window/trade-window.component.scss +++ b/src/app/modules/trade/window/trade-window/trade-window.component.scss @@ -18,6 +18,12 @@ ::-webkit-scrollbar-thumb { display: none; } + + app-header { + .header { + margin-right: 10px; + } + } } .indicator { @@ -30,3 +36,39 @@ transform-origin: center; } } + +.content { + opacity: 1; + + &.pinned { + opacity: 0.3; + } + + &.active, + &:hover { + opacity: 1; + } +} + +.messages { + display: flex; + flex-direction: column; + min-height: 370px; + margin-right: 10px; + + &.reverse { + flex-direction: column-reverse; + + .message { + & + .message { + margin: 0 0 1px 0; + } + } + } + + .message { + & + .message { + margin: 1px 0 0 0; + } + } +} diff --git a/src/app/modules/trade/window/trade-window/trade-window.component.ts b/src/app/modules/trade/window/trade-window/trade-window.component.ts index 14a1b97d..2bf9f42f 100644 --- a/src/app/modules/trade/window/trade-window/trade-window.component.ts +++ b/src/app/modules/trade/window/trade-window/trade-window.component.ts @@ -4,7 +4,7 @@ import { FeatureSettingsService } from '@app/feature/feature-settings.service'; import { SettingsWindowService } from '@layout/service'; import { TradeWindowData, TradeWindowService } from '@modules/trade/service'; import { TradeFeatureSettings } from '@modules/trade/trade-feature-settings'; -import { TradeExchangeMessage } from '@shared/module/poe/trade/chat'; +import { TradeExchangeMessage, TradeMessage } from '@shared/module/poe/trade/chat'; import { BehaviorSubject } from 'rxjs'; @Component({ @@ -53,4 +53,8 @@ export class TradeWindowComponent implements OnInit, OnDestroy { public onSettingsToggle(): void { this.settingsWindow.toggle('trade.name').subscribe(); } + + public getMessages(data: TradeWindowData): TradeMessage[] { + return data.messages.filter(message => !data.removed.includes(message)); + } } diff --git a/src/app/shared/module/odk/component/header/header.component.html b/src/app/shared/module/odk/component/header/header.component.html index 697fbcf9..78c6c471 100644 --- a/src/app/shared/module/odk/component/header/header.component.html +++ b/src/app/shared/module/odk/component/header/header.component.html @@ -1,4 +1,4 @@ -
+
@@ -10,11 +10,12 @@
close - push_pin + push_pin + settings
-
+
\ No newline at end of file diff --git a/src/app/shared/module/odk/component/header/header.component.scss b/src/app/shared/module/odk/component/header/header.component.scss index 4d3bf9f3..859e43b8 100644 --- a/src/app/shared/module/odk/component/header/header.component.scss +++ b/src/app/shared/module/odk/component/header/header.component.scss @@ -24,7 +24,10 @@ $border-color: #1a1a1a; } .header { - position: relative; + position: fixed; + z-index: 1000; + left: 0; + right: 0; height: $header-size; line-height: $header-size + 2px; background: $header-background; @@ -35,6 +38,14 @@ $border-color: #1a1a1a; .name { text-align: center; } + + &:not(.reverse) { + top: 0; + } + + &.reverse { + bottom: 0; + } } .controls { @@ -76,12 +87,15 @@ $border-color: #1a1a1a; &:not(.inline) { height: calc(100% - 30px); } - border: 1px solid $border-color; - border-top: none; width: 100%; + padding: 30px 0 0 0; + + &.frame { + border: 1px solid $border-color; + border-top: none; + } - &.scrollable { - overflow-x: hidden; - overflow-y: auto; + &.reverse { + padding: 0 0 30px 0; } } diff --git a/src/app/shared/module/odk/component/header/header.component.ts b/src/app/shared/module/odk/component/header/header.component.ts index 9a023ce7..ca03c1c7 100644 --- a/src/app/shared/module/odk/component/header/header.component.ts +++ b/src/app/shared/module/odk/component/header/header.component.ts @@ -19,9 +19,6 @@ export class HeaderComponent implements OnInit { @Input() public inline = false; - @Input() - public scrollable = false; - @Input() public closeable = true; @@ -41,7 +38,10 @@ export class HeaderComponent implements OnInit { public width: number; @Input() - public margin: number; + public reverse = false; + + @Input() + public frame = true; @Output() public settingsToggle = new EventEmitter(); diff --git a/src/assets/i18n/english.json b/src/assets/i18n/english.json index 6ebd2062..4ac3be70 100644 --- a/src/assets/i18n/english.json +++ b/src/assets/i18n/english.json @@ -438,12 +438,23 @@ "rate": "Limit reached. Please try again later.\nIf this keeps happening please try lowering the fetched item count. " }, "fetching": "Found {{total}}. Fetching {{count}} entries...", + "filter": "Filter", + "filters": { + "incoming": "Incoming", + "incomingoutgoing": "Incoming & Outgoing" + }, + "layout": "Layout", + "layouts": { + "bottomtotop": "Bottom To Top", + "toptobottom": "Top To Bottom" + }, "message": { "item-gone": "Item gone message", "still-interested": "Still interested message", "thanks": "Thanks message", "wait": "Wait message" }, + "messages": "Messages", "name": "Trade", "no-price": "No price", "not-found": "No data found.", diff --git a/src/assets/i18n/french.json b/src/assets/i18n/french.json index 59cbeae8..be2e30cc 100644 --- a/src/assets/i18n/french.json +++ b/src/assets/i18n/french.json @@ -438,12 +438,23 @@ "rate": "Limite atteinte. Veuillez réessayer plus tard.\nSi cela continue, essayez de réduire le nombre d'articles récupérés." }, "fetching": " {{total}}trouvé. Récupération de {{count}} entrées ...", + "filter": "Filtre", + "filters": { + "incoming": "Entrant", + "incomingoutgoing": "Entrant sortant" + }, + "layout": "Disposition", + "layouts": { + "bottomtotop": "De bas en haut", + "toptobottom": "De haut en bas" + }, "message": { "item-gone": "Message d'élément disparu", "still-interested": "Message toujours intéressé", "thanks": "Message de remerciement", "wait": "Message d'attente" }, + "messages": "messages", "name": "commerce", "no-price": "Pas de prix", "not-found": "Aucune donnée disponible.", diff --git a/src/assets/i18n/german.json b/src/assets/i18n/german.json index d8343997..33095215 100644 --- a/src/assets/i18n/german.json +++ b/src/assets/i18n/german.json @@ -438,12 +438,23 @@ "rate": "Limit erreicht. Bitte versuchen Sie es später noch einmal.\nWenn dies weiterhin geschieht, versuchen Sie bitte, die Anzahl der abgerufenen Artikel zu verringern." }, "fetching": "Gefunden {{total}}. {{count}} Einträge abrufen ...", + "filter": "Filter", + "filters": { + "incoming": "Eingehend", + "incomingoutgoing": "Eingehend und ausgehend" + }, + "layout": "Layout", + "layouts": { + "bottomtotop": "unten nach oben", + "toptobottom": "Oben nach unten" + }, "message": { "item-gone": "Artikel weg Nachricht", "still-interested": "Immer noch interessierte Nachricht", "thanks": "Danke Nachricht", "wait": "Warte Nachricht" }, + "messages": "Mitteilungen", "name": "Handel", "no-price": "Kein Preis", "not-found": "Keine Daten gefunden.", diff --git a/src/assets/i18n/korean.json b/src/assets/i18n/korean.json index 21e0554b..4a689ec2 100644 --- a/src/assets/i18n/korean.json +++ b/src/assets/i18n/korean.json @@ -438,12 +438,23 @@ "rate": "한도에 도달했습니다. 나중에 다시 시도하십시오.\n이 문제가 계속 발생하면 가져온 품목 수를 줄이십시오." }, "fetching": " {{total}}을 (를) 찾았습니다. {{count}} 항목을 가져 오는 중 ...", + "filter": "필터", + "filters": { + "incoming": "들어오는", + "incomingoutgoing": "수신 및 발신" + }, + "layout": "형세", + "layouts": { + "bottomtotop": "아래에서 위로", + "toptobottom": "위에서 아래로" + }, "message": { "item-gone": "사라진 항목 메시지", "still-interested": "여전히 관심있는 메시지", "thanks": "감사 메시지", "wait": "대기 메시지" }, + "messages": "메시지", "name": "무역", "no-price": "가격 없음", "not-found": "데이터가 없습니다.", diff --git a/src/assets/i18n/polish.json b/src/assets/i18n/polish.json index 0078d029..f4924a14 100644 --- a/src/assets/i18n/polish.json +++ b/src/assets/i18n/polish.json @@ -438,12 +438,23 @@ "rate": "Limit osiągnięty. Spróbuj ponownie później.\nJeśli problem nadal występuje, spróbuj zmniejszyć liczbę pobieranych ofert sprzedaży." }, "fetching": "Znaleziono {{total}}. Pobieranie {{count}} aukcji ...", + "filter": "filtr", + "filters": { + "incoming": "Przychodzące", + "incomingoutgoing": "Przychodzące i wychodzące" + }, + "layout": "Układ", + "layouts": { + "bottomtotop": "Od dołu do góry", + "toptobottom": "Od góry do dołu" + }, "message": { "item-gone": "Wiadomość zniknęła z produktu", "still-interested": "Wciąż zainteresowana wiadomość", "thanks": "Dzięki wiadomość", "wait": "Wiadomość oczekująca" }, + "messages": "Wiadomości", "name": "Handel", "no-price": "Bez ceny", "not-found": "Nie znaleziono danych.", diff --git a/src/assets/i18n/portuguese.json b/src/assets/i18n/portuguese.json index 310bb3d5..abd7bdec 100644 --- a/src/assets/i18n/portuguese.json +++ b/src/assets/i18n/portuguese.json @@ -438,12 +438,23 @@ "rate": "Limite alcançado. Por favor, tente novamente mais tarde.\nSe isso continuar acontecendo, tente diminuir a contagem de itens buscados." }, "fetching": "Encontrado {{total}}. Buscando {{count}} entradas ...", + "filter": "Filtro", + "filters": { + "incoming": "Entrada", + "incomingoutgoing": "Entrada saída" + }, + "layout": "Layout", + "layouts": { + "bottomtotop": "De baixo para cima", + "toptobottom": "De cima para baixo" + }, "message": { "item-gone": "Mensagem de item desaparecido", "still-interested": "Mensagem ainda interessada", "thanks": "Obrigado mensagem", "wait": "Mensagem de espera" }, + "messages": "Mensagens", "name": "Comércio", "no-price": "Gratuito", "not-found": "Nenhum dado encontrado.", diff --git a/src/assets/i18n/russian.json b/src/assets/i18n/russian.json index 017df7f7..a0ddfb7f 100644 --- a/src/assets/i18n/russian.json +++ b/src/assets/i18n/russian.json @@ -438,12 +438,23 @@ "rate": "Превышен лимит запросов. Пожалуйста, попробуйте позже.\nЕсли это продолжает происходить, попробуйте уменьшить количество предметов в поисковой выдаче." }, "fetching": "Найдено {{total}}. Извлечение {{count}} записей ...", + "filter": "Фильтр", + "filters": { + "incoming": "вступающий", + "incomingoutgoing": "Входящие Исходящие" + }, + "layout": "раскладка", + "layouts": { + "bottomtotop": "Снизу вверх", + "toptobottom": "Сверху вниз" + }, "message": { "item-gone": "Сообщение пропало", "still-interested": "Еще интересное сообщение", "thanks": "Спасибо сообщение", "wait": "Ждать сообщения" }, + "messages": "Сообщения", "name": "Сделка", "no-price": "Нет цены", "not-found": "Данные не найдены.", diff --git a/src/assets/i18n/simplified-chinese.json b/src/assets/i18n/simplified-chinese.json index 4c7cddd2..d949dcfd 100644 --- a/src/assets/i18n/simplified-chinese.json +++ b/src/assets/i18n/simplified-chinese.json @@ -438,12 +438,23 @@ "rate": "已达到限制。请稍后再试。\n如果这种情况持续发生,请尝试减少获取的物品数。" }, "fetching": "找到 {{total}}。正在获取 {{count}} 个条目...", + "filter": "过滤", + "filters": { + "incoming": "来", + "incomingoutgoing": "进出" + }, + "layout": "布局", + "layouts": { + "bottomtotop": "从下到上", + "toptobottom": "从上到下" + }, "message": { "item-gone": "物品消失的消息", "still-interested": "仍然感兴趣的消息", "thanks": "谢谢留言", "wait": "等待讯息" }, + "messages": "消息", "name": "贸易", "no-price": "没有价格", "not-found": "没有找到数据。", diff --git a/src/assets/i18n/spanish.json b/src/assets/i18n/spanish.json index ce9154fb..98dc9ad9 100644 --- a/src/assets/i18n/spanish.json +++ b/src/assets/i18n/spanish.json @@ -438,12 +438,23 @@ "rate": "Límite alcanzado. Por favor, inténtelo de nuevo más tarde.\nSi esto sigue sucediendo, intente reducir el recuento de elementos recuperados." }, "fetching": "Encontrado {{total}}. Obteniendo {{count}} entradas ...", + "filter": "Filtrar", + "filters": { + "incoming": "Entrante", + "incomingoutgoing": "Entrante saliente" + }, + "layout": "diseño", + "layouts": { + "bottomtotop": "Abajo hacia arriba", + "toptobottom": "De arriba hacia abajo" + }, "message": { "item-gone": "Mensaje de artículo desaparecido", "still-interested": "Mensaje aún interesado", "thanks": "Mensaje de agradecimiento", "wait": "Mensaje de espera" }, + "messages": "Mensajes", "name": "Comercio", "no-price": "Sin precio", "not-found": "Datos no encontrados.", diff --git a/src/assets/i18n/thai.json b/src/assets/i18n/thai.json index 87190868..0192e527 100644 --- a/src/assets/i18n/thai.json +++ b/src/assets/i18n/thai.json @@ -438,12 +438,23 @@ "rate": "ถึงขีด จำกัด. โปรดลองอีกครั้งในภายหลัง.\nหากสิ่งนี้ยังคงเกิดขึ้นโปรดลองลดจำนวนรายการที่ดึงมา" }, "fetching": "พบ {{total}}กำลังดึงรายการ {{count}} ...", + "filter": "กรอง", + "filters": { + "incoming": "ขาเข้า", + "incomingoutgoing": "ขาเข้าและขาออก" + }, + "layout": "แบบ", + "layouts": { + "bottomtotop": "จากล่างขึ้นบน", + "toptobottom": "บนลงล่าง" + }, "message": { "item-gone": "รายการข้อความหายไป", "still-interested": "ข้อความที่สนใจยังคง", "thanks": "ข้อความขอบคุณ", "wait": "รอข้อความ" }, + "messages": "ข้อความ", "name": "ค่า", "no-price": "ไม่มีราคา", "not-found": "ไม่พบข้อมูล.", diff --git a/src/assets/i18n/traditional-chinese.json b/src/assets/i18n/traditional-chinese.json index f587c8d2..cb5f5eca 100644 --- a/src/assets/i18n/traditional-chinese.json +++ b/src/assets/i18n/traditional-chinese.json @@ -438,12 +438,23 @@ "rate": "已達到限制。請稍後再試。\n如果這種情況持續發生,請嘗試減少獲取的物品數。" }, "fetching": "已找到 {{total}}。正在獲取 {{count}} 個條目...", + "filter": "過濾", + "filters": { + "incoming": "來", + "incomingoutgoing": "進出" + }, + "layout": "佈局", + "layouts": { + "bottomtotop": "從下到上", + "toptobottom": "從上到下" + }, "message": { "item-gone": "物品消失的消息", "still-interested": "仍然感興趣的消息", "thanks": "謝謝留言", "wait": "等待訊息" }, + "messages": "消息", "name": "貿易", "no-price": "沒有價格", "not-found": "沒有找到數據。",