mirror of
https://github.com/WowUp/WowUp.git
synced 2026-05-29 17:05:04 -04:00
Merge pull request #149 from mrchops1024/feat/getaddons-dlcount-version
feat(electron): add dl count and version
This commit is contained in:
@@ -12,9 +12,9 @@ export interface AddonProvider {
|
||||
|
||||
getAll(clientType: WowClientType, addonIds: string[]): Promise<AddonSearchResult[]>;
|
||||
|
||||
getFeaturedAddons(clientType: WowClientType): Observable<PotentialAddon[]>;
|
||||
getFeaturedAddons(clientType: WowClientType, channelType?: AddonChannelType): Observable<PotentialAddon[]>;
|
||||
|
||||
searchByQuery(query: string, clientType: WowClientType): Promise<PotentialAddon[]>;
|
||||
searchByQuery(query: string, clientType: WowClientType, channelType?: AddonChannelType): Promise<PotentialAddon[]>;
|
||||
|
||||
searchByUrl(addonUri: URL, clientType: WowClientType): Promise<PotentialAddon>;
|
||||
|
||||
|
||||
@@ -288,13 +288,14 @@ export class CurseAddonProvider implements AddonProvider {
|
||||
return addonResults;
|
||||
}
|
||||
|
||||
getFeaturedAddons(clientType: WowClientType): Observable<PotentialAddon[]> {
|
||||
getFeaturedAddons(clientType: WowClientType, channelType?: AddonChannelType): Observable<PotentialAddon[]> {
|
||||
channelType = typeof channelType === 'undefined' ? AddonChannelType.Stable : channelType;
|
||||
return from(this.getFeaturedAddonList()).pipe(
|
||||
map((addons) => {
|
||||
return this.filterFeaturedAddons(addons, clientType);
|
||||
}),
|
||||
map((filteredAddons) => {
|
||||
return filteredAddons.map((addon) => this.getPotentialAddon(addon));
|
||||
return filteredAddons.map((addon) => this.getPotentialAddon(addon, clientType, channelType));
|
||||
})
|
||||
);
|
||||
}
|
||||
@@ -320,8 +321,10 @@ export class CurseAddonProvider implements AddonProvider {
|
||||
|
||||
async searchByQuery(
|
||||
query: string,
|
||||
clientType: WowClientType
|
||||
clientType: WowClientType,
|
||||
channelType?: AddonChannelType
|
||||
): Promise<PotentialAddon[]> {
|
||||
channelType = typeof channelType === 'undefined' ? AddonChannelType.Stable : channelType;
|
||||
var searchResults: PotentialAddon[] = [];
|
||||
|
||||
var response = await this.getSearchResults(query);
|
||||
@@ -331,7 +334,7 @@ export class CurseAddonProvider implements AddonProvider {
|
||||
continue;
|
||||
}
|
||||
|
||||
searchResults.push(this.getPotentialAddon(result));
|
||||
searchResults.push(this.getPotentialAddon(result, clientType, channelType));
|
||||
}
|
||||
|
||||
return searchResults;
|
||||
@@ -405,7 +408,17 @@ export class CurseAddonProvider implements AddonProvider {
|
||||
throw new Error("Method not implemented.");
|
||||
}
|
||||
|
||||
private getPotentialAddon(result: CurseSearchResult): PotentialAddon {
|
||||
private getPotentialAddon(result: CurseSearchResult, clientType: WowClientType, channelType: AddonChannelType): PotentialAddon {
|
||||
const clientTypeStr = this.getGameVersionFlavor(clientType);
|
||||
let latestFile = _.orderBy(result.latestFiles, 'id', 'desc')
|
||||
.find(file =>
|
||||
file.gameVersionFlavor === clientTypeStr &&
|
||||
this.getChannelType(file.releaseType) === channelType
|
||||
);
|
||||
if (!latestFile) {
|
||||
latestFile = _.first(result.latestFiles);
|
||||
}
|
||||
|
||||
return {
|
||||
author: this.getAuthor(result),
|
||||
downloadCount: result.downloadCount,
|
||||
@@ -416,6 +429,7 @@ export class CurseAddonProvider implements AddonProvider {
|
||||
thumbnailUrl: this.getThumbnailUrl(result),
|
||||
summary: result.summary,
|
||||
screenshotUrls: this.getScreenshotUrls(result),
|
||||
version: latestFile.displayName
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -197,6 +197,7 @@ export class TukUiAddonProvider implements AddonProvider {
|
||||
providerName: this.name,
|
||||
thumbnailUrl: addon.screenshot_url,
|
||||
summary: addon.small_desc,
|
||||
version: addon.version
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
</div>
|
||||
<div>
|
||||
<a class="addon-title mat-subheading-2" (click)="viewDetails()">{{addon.name}}</a>
|
||||
<div>{{addon.downloadCount | downloadCount}} downloads</div>
|
||||
<div class="addon-version">{{addon?.version}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -33,4 +33,8 @@
|
||||
color: $white-2;
|
||||
}
|
||||
}
|
||||
|
||||
.addon-version {
|
||||
color: $white-2;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,4 +9,5 @@ export interface PotentialAddon {
|
||||
downloadCount: number;
|
||||
summary?: string;
|
||||
screenshotUrls?: string[];
|
||||
version?: string;
|
||||
}
|
||||
|
||||
@@ -38,7 +38,8 @@
|
||||
<app-progress-spinner *ngIf="isBusy === true"></app-progress-spinner>
|
||||
|
||||
<div class="table-container flex-grow-1" [hidden]="isBusy === true">
|
||||
<table mat-table matSort [dataSource]="dataSource" class="mat-elevation-z8">
|
||||
<table mat-table matSort [dataSource]="dataSource" matSortActive="downloadCount" matSortDirection="desc"
|
||||
class="mat-elevation-z8">
|
||||
<ng-container matColumnDef="name">
|
||||
<th mat-header-cell mat-sort-header *matHeaderCellDef>
|
||||
{{'PAGES.GET_ADDONS.TABLE.ADDON_COLUMN_HEADER' | translate}}
|
||||
@@ -49,7 +50,16 @@
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="provider">
|
||||
<ng-container matColumnDef="downloadCount">
|
||||
<th mat-header-cell mat-sort-header *matHeaderCellDef>
|
||||
{{'PAGES.GET_ADDONS.TABLE.DOWNLOAD_COUNT_COLUMN_HEADER' | translate}}
|
||||
</th>
|
||||
<td mat-cell *matCellDef="let element">
|
||||
{{element.downloadCount | downloadCount}}
|
||||
</td>
|
||||
</ng-container>
|
||||
|
||||
<ng-container matColumnDef="providerName">
|
||||
<th mat-header-cell mat-sort-header *matHeaderCellDef class="provider-column">
|
||||
{{'PAGES.GET_ADDONS.TABLE.PROVIDER_COLUMN_HEADER' | translate}}
|
||||
</th>
|
||||
|
||||
@@ -11,10 +11,14 @@ import { AddonService } from "app/services/addons/addon.service";
|
||||
import { SessionService } from "app/services/session/session.service";
|
||||
import { WarcraftService } from "app/services/warcraft/warcraft.service";
|
||||
import { BehaviorSubject, Subject, Subscription } from "rxjs";
|
||||
import { map } from "rxjs/operators";
|
||||
import { filter, map } from "rxjs/operators";
|
||||
import { MatTableDataSource } from "@angular/material/table";
|
||||
import { MatSort } from "@angular/material/sort";
|
||||
import * as _ from "lodash";
|
||||
import { WowUpService } from "app/services/wowup/wowup.service";
|
||||
import { defaultChannelKeySuffix } from "../../../constants";
|
||||
import { getEnumName } from "app/utils/enum.utils";
|
||||
import { AddonChannelType } from "app/models/wowup/addon-channel-type";
|
||||
|
||||
@Component({
|
||||
selector: "app-get-addons",
|
||||
@@ -32,13 +36,16 @@ export class GetAddonsComponent implements OnInit, OnDestroy {
|
||||
private readonly _destroyed$ = new Subject<void>();
|
||||
private subscriptions: Subscription[] = [];
|
||||
private isSelectedTab: boolean = false;
|
||||
private channelType: AddonChannelType = AddonChannelType.Stable;
|
||||
private channelTypeKey: string = '';
|
||||
|
||||
public dataSource = new MatTableDataSource<PotentialAddon>([]);
|
||||
|
||||
columns: ColumnState[] = [
|
||||
{ name: "name", display: "Addon", visible: true },
|
||||
{ name: "downloadCount", display: "Downloads", visible: true },
|
||||
{ name: "author", display: "Author", visible: true },
|
||||
{ name: "provider", display: "Provider", visible: true },
|
||||
{ name: "providerName", display: "Provider", visible: true },
|
||||
{ name: "status", display: "Status", visible: true },
|
||||
];
|
||||
|
||||
@@ -54,6 +61,7 @@ export class GetAddonsComponent implements OnInit, OnDestroy {
|
||||
private _addonService: AddonService,
|
||||
private _sessionService: SessionService,
|
||||
private _dialog: MatDialog,
|
||||
private _wowUpService: WowUpService,
|
||||
public electronService: ElectronService,
|
||||
public warcraftService: WarcraftService
|
||||
) {
|
||||
@@ -70,6 +78,8 @@ export class GetAddonsComponent implements OnInit, OnDestroy {
|
||||
.pipe(
|
||||
map((clientType) => {
|
||||
this.selectedClient = clientType;
|
||||
this.channelType = this._wowUpService.getDefaultAddonChannel(this.selectedClient);
|
||||
this.channelTypeKey = `${getEnumName(WowClientType, this.selectedClient)}${defaultChannelKeySuffix}`.toLowerCase();
|
||||
this.loadPopularAddons(this.selectedClient);
|
||||
})
|
||||
)
|
||||
@@ -91,10 +101,18 @@ export class GetAddonsComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
);
|
||||
|
||||
const channelTypeSubscription = this._wowUpService.preferenceChange$
|
||||
.pipe(filter(change => change.key === this.channelTypeKey))
|
||||
.subscribe(change => {
|
||||
this.channelType = parseInt(change.value, 10) as AddonChannelType;
|
||||
this.onSearch();
|
||||
});
|
||||
|
||||
this.subscriptions = [
|
||||
selectedClientSubscription,
|
||||
addonRemovedSubscription,
|
||||
displayAddonSubscription,
|
||||
channelTypeSubscription
|
||||
];
|
||||
}
|
||||
|
||||
@@ -133,7 +151,8 @@ export class GetAddonsComponent implements OnInit, OnDestroy {
|
||||
|
||||
let searchResults = await this._addonService.search(
|
||||
this.query,
|
||||
this.selectedClient
|
||||
this.selectedClient,
|
||||
this.channelType
|
||||
);
|
||||
|
||||
searchResults = this.filterInstalledAddons(searchResults);
|
||||
@@ -158,7 +177,7 @@ export class GetAddonsComponent implements OnInit, OnDestroy {
|
||||
|
||||
this.isBusy = true;
|
||||
|
||||
this._addonService.getFeaturedAddons(clientType).subscribe({
|
||||
this._addonService.getFeaturedAddons(clientType, this.channelType).subscribe({
|
||||
next: (addons) => {
|
||||
addons = this.filterInstalledAddons(addons);
|
||||
this.formatAddons(addons);
|
||||
|
||||
@@ -60,10 +60,11 @@ export class AddonService {
|
||||
|
||||
public async search(
|
||||
query: string,
|
||||
clientType: WowClientType
|
||||
clientType: WowClientType,
|
||||
channelType: AddonChannelType
|
||||
): Promise<PotentialAddon[]> {
|
||||
var searchTasks = this._addonProviders.map((p) =>
|
||||
p.searchByQuery(query, clientType)
|
||||
p.searchByQuery(query, clientType, channelType)
|
||||
);
|
||||
var searchResults = await Promise.all(searchTasks);
|
||||
|
||||
@@ -558,10 +559,11 @@ export class AddonService {
|
||||
}
|
||||
|
||||
public getFeaturedAddons(
|
||||
clientType: WowClientType
|
||||
clientType: WowClientType,
|
||||
channelType: AddonChannelType,
|
||||
): Observable<PotentialAddon[]> {
|
||||
return forkJoin(
|
||||
this._addonProviders.map((p) => p.getFeaturedAddons(clientType))
|
||||
this._addonProviders.map((p) => p.getFeaturedAddons(clientType, channelType))
|
||||
).pipe(
|
||||
map((results) => {
|
||||
return _.orderBy(results.flat(1), ["downloadCount"]).reverse();
|
||||
|
||||
@@ -104,6 +104,7 @@ export class WowUpService {
|
||||
public setDefaultAddonChannel(clientType: WowClientType, channelType: AddonChannelType) {
|
||||
const key = this.getClientDefaultAddonChannelKey(clientType);
|
||||
this._preferenceStorageService.set(key, channelType);
|
||||
this._preferenceChangeSrc.next({ key, value: channelType.toString() })
|
||||
}
|
||||
|
||||
public getDefaultAutoUpdate(clientType: WowClientType): boolean {
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
"ADDON_COLUMN_HEADER": "Addon",
|
||||
"AUTHOR_COLUMN_HEADER": "Autor",
|
||||
"PROVIDER_COLUMN_HEADER": "Anbieter",
|
||||
"STATUS_COLUMN_HEADER": "Status"
|
||||
"STATUS_COLUMN_HEADER": "Status",
|
||||
"DOWNLOAD_COUNT_COLUMN_HEADER": "TEXT_ELEMENT"
|
||||
}
|
||||
},
|
||||
"HOME": {
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
"ADDON_COLUMN_HEADER": "Addon",
|
||||
"AUTHOR_COLUMN_HEADER": "Author",
|
||||
"PROVIDER_COLUMN_HEADER": "Provider",
|
||||
"STATUS_COLUMN_HEADER": "Status"
|
||||
"STATUS_COLUMN_HEADER": "Status",
|
||||
"DOWNLOAD_COUNT_COLUMN_HEADER": "Downloads"
|
||||
}
|
||||
},
|
||||
"HOME": {
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
"ADDON_COLUMN_HEADER": "Addon",
|
||||
"AUTHOR_COLUMN_HEADER": "Autor",
|
||||
"PROVIDER_COLUMN_HEADER": "Proveedor",
|
||||
"STATUS_COLUMN_HEADER": "Estado"
|
||||
"STATUS_COLUMN_HEADER": "Estado",
|
||||
"DOWNLOAD_COUNT_COLUMN_HEADER": "TEXT_ELEMENT"
|
||||
}
|
||||
},
|
||||
"HOME": {
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
"ADDON_COLUMN_HEADER": "Addon",
|
||||
"AUTHOR_COLUMN_HEADER": "Auteur",
|
||||
"PROVIDER_COLUMN_HEADER": "Fournisseur",
|
||||
"STATUS_COLUMN_HEADER": "Statut"
|
||||
"STATUS_COLUMN_HEADER": "Statut",
|
||||
"DOWNLOAD_COUNT_COLUMN_HEADER": "TEXT_ELEMENT"
|
||||
}
|
||||
},
|
||||
"HOME": {
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
"ADDON_COLUMN_HEADER": "Addon",
|
||||
"AUTHOR_COLUMN_HEADER": "Autore",
|
||||
"PROVIDER_COLUMN_HEADER": "Provveditore",
|
||||
"STATUS_COLUMN_HEADER": "Stato"
|
||||
"STATUS_COLUMN_HEADER": "Stato",
|
||||
"DOWNLOAD_COUNT_COLUMN_HEADER": "TEXT_ELEMENT"
|
||||
}
|
||||
},
|
||||
"HOME": {
|
||||
|
||||
@@ -1,124 +1,125 @@
|
||||
{
|
||||
"PAGES": {
|
||||
"ABOUT": {
|
||||
"CHANGE_LOG_SECTION_LABEL": "Registro de Alterações",
|
||||
"TITLE": "WowUp.io",
|
||||
"WEBSITE_LINK_LABEL": "Conheça o nosso site!"
|
||||
},
|
||||
"GET_ADDONS": {
|
||||
"CLIENT_TYPE_SELECT_LABEL": "World of Warcraft",
|
||||
"REFRESH_BUTTON": "Atualizar",
|
||||
"INSTALL_FROM_URL_BUTTON": "Instalar pela URL",
|
||||
"SEARCH_LABEL": "Procurar",
|
||||
"TABLE": {
|
||||
"ADDON_COLUMN_HEADER": "Addon",
|
||||
"AUTHOR_COLUMN_HEADER": "Autor",
|
||||
"PROVIDER_COLUMN_HEADER": "Provedor",
|
||||
"STATUS_COLUMN_HEADER": "Estado"
|
||||
}
|
||||
},
|
||||
"HOME": {
|
||||
"TITLE": "App funciona!",
|
||||
"GO_TO_DETAIL": "Ir para Detalhes",
|
||||
"MY_ADDONS_TAB_TITLE": "Meus Addons",
|
||||
"GET_ADDONS_TAB_TITLE": "Obtenha Addons",
|
||||
"ABOUT_TAB_TITLE": "Sobre",
|
||||
"OPTIONS_TAB_TITLE": "Opções"
|
||||
},
|
||||
"MY_ADDONS": {
|
||||
"CHECK_UPDATES_BUTTON": "Verificar Atualizações",
|
||||
"CHECK_UPDATES_BUTTON_TOOLTIP": "Verificar atualizações recentes",
|
||||
"CLIENT_TYPE_SELECT_LABEL": "World of Warcraft",
|
||||
"RESCAN_FOLDERS_BUTTON": "Re-escanear pastas",
|
||||
"RESCAN_FOLDERS_BUTTON_TOOLTIP": "Procura por Addons instalados",
|
||||
"UPDATE_ALL_BUTTON": "Actualizar todos",
|
||||
"UPDATE_ALL_BUTTON_TOOLTIP": "Atualizar todos os Addons",
|
||||
"TABLE": {
|
||||
"ADDON_COLUMN_HEADER": "Addon",
|
||||
"ADDON_INSTALL_BUTTON": "Instalar",
|
||||
"ADDON_UPDATE_BUTTON": "Atualizar",
|
||||
"AUTHOR_COLUMN_HEADER": "Autor",
|
||||
"AUTO_UPDATE_ICON_TOOLTIP": "Atualização automática habilitada",
|
||||
"GAME_VERSION_COLUMN_HEADER": "Versão do Jogo",
|
||||
"LATEST_VERSION_COLUMN_HEADER": "Ultima versão",
|
||||
"PROVIDER_COLUMN_HEADER": "Provedor",
|
||||
"STATUS_COLUMN_HEADER": "Estado"
|
||||
},
|
||||
"ADDON_CONTEXT_MENU": {
|
||||
"IGNORE_ADDON_BUTTON": "Ignorar",
|
||||
"AUTO_UPDATE_ADDON_BUTTON": "Atualização Automática",
|
||||
"CHANNEL_SUBMENT_TITLE": "Canal",
|
||||
"SHOW_FOLDER": "SHOW_FOLDER",
|
||||
"REINSTALL_ADDON_BUTTON": "Reinstalar",
|
||||
"REMOVE_ADDON_BUTTON": "Remover",
|
||||
"STABLE_ADDON_CHANNEL": "Estável",
|
||||
"BETA_ADDON_CHANNEL": "Beta",
|
||||
"ALPHA_ADDON_CHANNEL": "Alfa"
|
||||
},
|
||||
"COLUMNS_CONTEXT_MENU": {
|
||||
"TITLE": "Exibir Colunas"
|
||||
},
|
||||
"UPDATE_ALL_CONTEXT_MENU": {
|
||||
"UPDATE_RETAIL_CLASSIC_BUTTON": "Atualizar Retail/Clássico",
|
||||
"UPDATE_ALL_CLIENTS_BUTTON": "Atualizar todos os clientes"
|
||||
}
|
||||
},
|
||||
"OPTIONS": {
|
||||
"APPLICATION": {
|
||||
"MINIMIZE_ON_CLOSE_LABEL": "Minimizar ao Fechar",
|
||||
"MINIMIZE_ON_CLOSE_DESCRIPTION": "Ao fechar a janela do WowUp, minimize para a bandeja do sistema.",
|
||||
"TELEMETRY_DESCRIPTION": "Ajude a melhorar o WowUp enviando dados e/ou erros de instalação anônimamente.",
|
||||
"TELEMETRY_LABEL": "Telemetria",
|
||||
"TITLE": "Aplicativo"
|
||||
},
|
||||
"DEBUG": {
|
||||
"DEBUG_DATA_BUTTON": "Esvaziar log de depuração de dados",
|
||||
"DEBUG_DATA_DESCRIPTION": "Registra os dados de depuração e ajuda a diagnosticar problemas potenciais. Apenas por o curiosidade, isso pode ser encontrado em seu último arquivo de registro.",
|
||||
"DEBUG_DATA_LABEL": "Depurar Dados",
|
||||
"LOG_FILES_BUTTON": "Mostrar Arquivos de Registro",
|
||||
"LOG_FILES_DESCRIPTION": "Abre a pasta que contém seus últimos arquivos de registro.",
|
||||
"LOG_FILES_LABEL": "Arquivos de Registro",
|
||||
"TITLE": "Depurar"
|
||||
},
|
||||
"WOW": {
|
||||
"AUTO_UPDATE_DESCRIPTION": "Addons recém-instalados serão definidos para atualizar automáticamente por padrão",
|
||||
"AUTO_UPDATE_LABEL": "Atualização Automática",
|
||||
"TITLE": "World of Warcraft",
|
||||
"DEFAULT_ADDON_CHANNEL_LABEL": "Canal de Addon Padrão",
|
||||
"DEFAULT_ADDON_CHANNEL_SELECT_LABEL": "Canal de Addon",
|
||||
"RESCAN_CLIENTS_BUTTON": "Re-escanear",
|
||||
"RESCAN_CLIENTS_LABEL": "Reescanear World of Warcraft instalados"
|
||||
}
|
||||
"PAGES": {
|
||||
"ABOUT": {
|
||||
"CHANGE_LOG_SECTION_LABEL": "Registro de Alterações",
|
||||
"TITLE": "WowUp.io",
|
||||
"WEBSITE_LINK_LABEL": "Conheça o nosso site!"
|
||||
},
|
||||
"GET_ADDONS": {
|
||||
"CLIENT_TYPE_SELECT_LABEL": "World of Warcraft",
|
||||
"REFRESH_BUTTON": "Atualizar",
|
||||
"INSTALL_FROM_URL_BUTTON": "Instalar pela URL",
|
||||
"SEARCH_LABEL": "Procurar",
|
||||
"TABLE": {
|
||||
"ADDON_COLUMN_HEADER": "Addon",
|
||||
"AUTHOR_COLUMN_HEADER": "Autor",
|
||||
"PROVIDER_COLUMN_HEADER": "Provedor",
|
||||
"STATUS_COLUMN_HEADER": "Estado",
|
||||
"DOWNLOAD_COUNT_COLUMN_HEADER": "TEXT_ELEMENT"
|
||||
}
|
||||
},
|
||||
"DIALOGS": {
|
||||
"ADDON_DETAILS": {
|
||||
"VIEW_IN_BROWSER_BUTTON": "Visualizar no navegador"
|
||||
"HOME": {
|
||||
"TITLE": "App funciona!",
|
||||
"GO_TO_DETAIL": "Ir para Detalhes",
|
||||
"MY_ADDONS_TAB_TITLE": "Meus Addons",
|
||||
"GET_ADDONS_TAB_TITLE": "Obtenha Addons",
|
||||
"ABOUT_TAB_TITLE": "Sobre",
|
||||
"OPTIONS_TAB_TITLE": "Opções"
|
||||
},
|
||||
"MY_ADDONS": {
|
||||
"CHECK_UPDATES_BUTTON": "Verificar Atualizações",
|
||||
"CHECK_UPDATES_BUTTON_TOOLTIP": "Verificar atualizações recentes",
|
||||
"CLIENT_TYPE_SELECT_LABEL": "World of Warcraft",
|
||||
"RESCAN_FOLDERS_BUTTON": "Re-escanear pastas",
|
||||
"RESCAN_FOLDERS_BUTTON_TOOLTIP": "Procura por Addons instalados",
|
||||
"UPDATE_ALL_BUTTON": "Actualizar todos",
|
||||
"UPDATE_ALL_BUTTON_TOOLTIP": "Atualizar todos os Addons",
|
||||
"TABLE": {
|
||||
"ADDON_COLUMN_HEADER": "Addon",
|
||||
"ADDON_INSTALL_BUTTON": "Instalar",
|
||||
"ADDON_UPDATE_BUTTON": "Atualizar",
|
||||
"AUTHOR_COLUMN_HEADER": "Autor",
|
||||
"AUTO_UPDATE_ICON_TOOLTIP": "Atualização automática habilitada",
|
||||
"GAME_VERSION_COLUMN_HEADER": "Versão do Jogo",
|
||||
"LATEST_VERSION_COLUMN_HEADER": "Ultima versão",
|
||||
"PROVIDER_COLUMN_HEADER": "Provedor",
|
||||
"STATUS_COLUMN_HEADER": "Estado"
|
||||
},
|
||||
"ALERT": {
|
||||
"POSITIVE_BUTTON": "Ok"
|
||||
"ADDON_CONTEXT_MENU": {
|
||||
"IGNORE_ADDON_BUTTON": "Ignorar",
|
||||
"AUTO_UPDATE_ADDON_BUTTON": "Atualização Automática",
|
||||
"CHANNEL_SUBMENT_TITLE": "Canal",
|
||||
"SHOW_FOLDER": "SHOW_FOLDER",
|
||||
"REINSTALL_ADDON_BUTTON": "Reinstalar",
|
||||
"REMOVE_ADDON_BUTTON": "Remover",
|
||||
"STABLE_ADDON_CHANNEL": "Estável",
|
||||
"BETA_ADDON_CHANNEL": "Beta",
|
||||
"ALPHA_ADDON_CHANNEL": "Alfa"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"NEGATIVE_BUTTON": "Não",
|
||||
"POSITIVE_BUTTON": "Sim"
|
||||
"COLUMNS_CONTEXT_MENU": {
|
||||
"TITLE": "Exibir Colunas"
|
||||
},
|
||||
"INSTALL_FROM_URL": {
|
||||
"ADDON_URL_INPUT_LABEL": "Addon URL",
|
||||
"ADDON_URL_INPUT_PLACEHOLDER": "Ex. GitHub ou WowInterface URL",
|
||||
"CLOSE_BUTTON": "Fechar",
|
||||
"IMPORT_BUTTON": "Importar",
|
||||
"INSTALL_BUTTON": "Instalar",
|
||||
"INSTALL_SUCCESS_LABEL": "Instalado!",
|
||||
"TITLE": "Instalar Addon pela URL",
|
||||
"DESCRIPTION": "Se você deseja instalar um addon diretamente de uma URL, cole-a abaixo para iniciar.",
|
||||
"SUPPORTED_SOURCES": "Suporta WowInterface e GitHub*"
|
||||
"UPDATE_ALL_CONTEXT_MENU": {
|
||||
"UPDATE_RETAIL_CLASSIC_BUTTON": "Atualizar Retail/Clássico",
|
||||
"UPDATE_ALL_CLIENTS_BUTTON": "Atualizar todos os clientes"
|
||||
}
|
||||
},
|
||||
"OPTIONS": {
|
||||
"APPLICATION": {
|
||||
"MINIMIZE_ON_CLOSE_LABEL": "Minimizar ao Fechar",
|
||||
"MINIMIZE_ON_CLOSE_DESCRIPTION": "Ao fechar a janela do WowUp, minimize para a bandeja do sistema.",
|
||||
"TELEMETRY_DESCRIPTION": "Ajude a melhorar o WowUp enviando dados e/ou erros de instalação anônimamente.",
|
||||
"TELEMETRY_LABEL": "Telemetria",
|
||||
"TITLE": "Aplicativo"
|
||||
},
|
||||
"TELEMETRY": {
|
||||
"DESCRIPTION": "Ajude-nos a melhorar o WowUp enviando dados e/ou erros de instalação do aplicativo anônimamente?",
|
||||
"NEGATIVE_BUTTON": "Não obrigado",
|
||||
"POSITIVE_BUTTON": "Claro!",
|
||||
"TITLE": "Telemetria do WowUp"
|
||||
"DEBUG": {
|
||||
"DEBUG_DATA_BUTTON": "Esvaziar log de depuração de dados",
|
||||
"DEBUG_DATA_DESCRIPTION": "Registra os dados de depuração e ajuda a diagnosticar problemas potenciais. Apenas por o curiosidade, isso pode ser encontrado em seu último arquivo de registro.",
|
||||
"DEBUG_DATA_LABEL": "Depurar Dados",
|
||||
"LOG_FILES_BUTTON": "Mostrar Arquivos de Registro",
|
||||
"LOG_FILES_DESCRIPTION": "Abre a pasta que contém seus últimos arquivos de registro.",
|
||||
"LOG_FILES_LABEL": "Arquivos de Registro",
|
||||
"TITLE": "Depurar"
|
||||
},
|
||||
"WOW": {
|
||||
"AUTO_UPDATE_DESCRIPTION": "Addons recém-instalados serão definidos para atualizar automáticamente por padrão",
|
||||
"AUTO_UPDATE_LABEL": "Atualização Automática",
|
||||
"TITLE": "World of Warcraft",
|
||||
"DEFAULT_ADDON_CHANNEL_LABEL": "Canal de Addon Padrão",
|
||||
"DEFAULT_ADDON_CHANNEL_SELECT_LABEL": "Canal de Addon",
|
||||
"RESCAN_CLIENTS_BUTTON": "Re-escanear",
|
||||
"RESCAN_CLIENTS_LABEL": "Reescanear World of Warcraft instalados"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DIALOGS": {
|
||||
"ADDON_DETAILS": {
|
||||
"VIEW_IN_BROWSER_BUTTON": "Visualizar no navegador"
|
||||
},
|
||||
"ALERT": {
|
||||
"POSITIVE_BUTTON": "Ok"
|
||||
},
|
||||
"CONFIRM": {
|
||||
"NEGATIVE_BUTTON": "Não",
|
||||
"POSITIVE_BUTTON": "Sim"
|
||||
},
|
||||
"INSTALL_FROM_URL": {
|
||||
"ADDON_URL_INPUT_LABEL": "Addon URL",
|
||||
"ADDON_URL_INPUT_PLACEHOLDER": "Ex. GitHub ou WowInterface URL",
|
||||
"CLOSE_BUTTON": "Fechar",
|
||||
"IMPORT_BUTTON": "Importar",
|
||||
"INSTALL_BUTTON": "Instalar",
|
||||
"INSTALL_SUCCESS_LABEL": "Instalado!",
|
||||
"TITLE": "Instalar Addon pela URL",
|
||||
"DESCRIPTION": "Se você deseja instalar um addon diretamente de uma URL, cole-a abaixo para iniciar.",
|
||||
"SUPPORTED_SOURCES": "Suporta WowInterface e GitHub*"
|
||||
},
|
||||
"TELEMETRY": {
|
||||
"DESCRIPTION": "Ajude-nos a melhorar o WowUp enviando dados e/ou erros de instalação do aplicativo anônimamente?",
|
||||
"NEGATIVE_BUTTON": "Não obrigado",
|
||||
"POSITIVE_BUTTON": "Claro!",
|
||||
"TITLE": "Telemetria do WowUp"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
"ADDON_COLUMN_HEADER": "Модификация",
|
||||
"AUTHOR_COLUMN_HEADER": "Автор",
|
||||
"PROVIDER_COLUMN_HEADER": "Источник",
|
||||
"STATUS_COLUMN_HEADER": "Статус"
|
||||
"STATUS_COLUMN_HEADER": "Статус",
|
||||
"DOWNLOAD_COUNT_COLUMN_HEADER": "TEXT_ELEMENT"
|
||||
}
|
||||
},
|
||||
"HOME": {
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
"ADDON_COLUMN_HEADER": "Addon",
|
||||
"AUTHOR_COLUMN_HEADER": "作者",
|
||||
"PROVIDER_COLUMN_HEADER": "提供商",
|
||||
"STATUS_COLUMN_HEADER": "状态"
|
||||
"STATUS_COLUMN_HEADER": "状态",
|
||||
"DOWNLOAD_COUNT_COLUMN_HEADER": "TEXT_ELEMENT"
|
||||
}
|
||||
},
|
||||
"HOME": {
|
||||
|
||||
Reference in New Issue
Block a user