mirror of
https://github.com/EmulatorJS/EmulatorJS.git
synced 2024-09-20 02:46:23 +00:00
Add new options and update pt-BR.json (#612)
* add new options and update pt-BR.json * fix adBlocked function * add new option to adBlocked function * fix the `start-clicked` function * Clean up code
This commit is contained in:
parent
004c8da2c9
commit
38172ec92f
8 changed files with 279 additions and 127 deletions
|
@ -107,11 +107,38 @@
|
|||
transform: rotate(-45deg) translateY(-50%) translateX(0);
|
||||
}
|
||||
|
||||
.ejs_game {/* todo. User selectable background loading image */
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgb(51, 51, 51);
|
||||
.ejs_game {
|
||||
width: inherit;
|
||||
height: inherit;
|
||||
background-color: var(--ejs-background-color);
|
||||
cursor: default;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.ejs_game_background {
|
||||
background-image: var(--ejs-background-image);
|
||||
background-size: contain;
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.ejs_game_background_blur:before,
|
||||
.ejs_game_background_blur:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: var(--ejs-background-image);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
.ejs_game_background_blur:before {
|
||||
background-size: cover;
|
||||
filter: blur(10px);
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
.ejs_start_button {
|
||||
|
@ -121,7 +148,6 @@
|
|||
transform: translateX(-50%);
|
||||
cursor: pointer;
|
||||
box-sizing: inherit;
|
||||
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
text-shadow: 0 1px 1px rgba(0,0,0,0.5);
|
||||
|
@ -138,13 +164,27 @@
|
|||
border-radius: 35px;
|
||||
text-align: center;
|
||||
background-color: rgba(var(--ejs-primary-color),1);
|
||||
box-shadow: 0 0 0 0 #222, 0 0px 0px 0 #111, inset 0 0px 0px 0 rgba(250,250,250,0.2), inset 0 0px 0px 0px rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.ejs_start_button:active {
|
||||
box-shadow: 0 0 0 0 #222, 0 3px 7px 0 #111, inset 0 1px 1px 0 rgba(250,250,250,0.2), inset 0 -10px 35px 5px rgba(0,0,0,0.5);
|
||||
bottom: 64px;
|
||||
.ejs_start_button_border {
|
||||
border: 0.5px solid #333;
|
||||
}
|
||||
|
||||
.ejs_start_button:active, .ejs_start_button:hover {
|
||||
animation: ejs_start_button_pulse 2s infinite;
|
||||
bottom: 65px;
|
||||
}
|
||||
|
||||
@keyframes ejs_start_button_pulse {
|
||||
50% {
|
||||
box-shadow: 0 0 0 0 #222, 0 3px 7px 0 #111, inset 0 1px 1px 0 rgba(250,250,250,0.2), inset 0 0px 15px 1px rgba(0,0,0,0.5);
|
||||
}
|
||||
0%, 100% {
|
||||
box-shadow: 0 0 0 0 #222, 0 0px 0px 0 #111, inset 0 0px 0px 0 rgba(250,250,250,0.2), inset 0 0px 0px 0px rgba(0,0,0,0.5);
|
||||
}
|
||||
}
|
||||
|
||||
.ejs_loading_text {
|
||||
position: absolute;
|
||||
bottom: 20px;
|
||||
|
@ -156,6 +196,13 @@
|
|||
color: #bcbcbc;
|
||||
}
|
||||
|
||||
.ejs_loading_text_glow {
|
||||
background-color: rgba(0, 0, 0, 0.9);
|
||||
border-radius: 10px;
|
||||
padding: 1px 5px 1px 5px;
|
||||
box-shadow: 0 0 30px rgba(0, 0, 0, 0.9);
|
||||
}
|
||||
|
||||
.ejs_canvas {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
@ -1009,6 +1056,7 @@
|
|||
border-width: 0;
|
||||
cursor: pointer;
|
||||
-webkit-appearance: button;
|
||||
appearance: button;
|
||||
text-transform: none;
|
||||
overflow: visible;
|
||||
margin: 0;
|
||||
|
@ -1144,6 +1192,7 @@
|
|||
}
|
||||
.ejs_volume_parent input[type='range']{
|
||||
-webkit-appearance:none;
|
||||
appearance: none;
|
||||
border:0;
|
||||
border-radius:28px;
|
||||
color:rgba(var(--ejs-primary-color), 1);
|
||||
|
@ -1154,10 +1203,10 @@
|
|||
}
|
||||
|
||||
.ejs_volume_parent input[type='range']::-webkit-slider-runnable-track{
|
||||
background-color:rgba(255,255,255,0.25)
|
||||
box-shadow:0 0 0 5px rgba(var(--ejs-primary-color), 0.5);
|
||||
outline:0
|
||||
background:transparent;
|
||||
background-color:rgba(255,255,255,0.25);
|
||||
box-shadow: 0 0 0 5px rgba(var(--ejs-primary-color), 0.5);
|
||||
outline:0;
|
||||
background: transparent;
|
||||
border:0;
|
||||
border-radius:3px;
|
||||
height:6px;
|
||||
|
@ -1178,9 +1227,9 @@
|
|||
margin-top:-4px
|
||||
}
|
||||
.ejs_volume_parent input[type='range']::-moz-range-track{
|
||||
background-color:rgba(255,255,255,0.25)
|
||||
background-color:rgba(255,255,255,0.25);
|
||||
box-shadow:0 0 0 5px rgba(var(--ejs-primary-color), 0.5);
|
||||
outline:0
|
||||
outline:0;
|
||||
background:transparent;
|
||||
border:0;
|
||||
border-radius:3px;
|
||||
|
@ -1204,9 +1253,9 @@
|
|||
height:6px
|
||||
}
|
||||
.ejs_volume_parent input[type='range']::-ms-track{
|
||||
background-color:rgba(255,255,255,0.25)
|
||||
background-color:rgba(255,255,255,0.25);
|
||||
box-shadow:0 0 0 5px rgba(var(--ejs-primary-color), 0.5);
|
||||
outline:0
|
||||
outline:0;
|
||||
background:transparent;
|
||||
border:0;
|
||||
border-radius:3px;
|
||||
|
|
|
@ -250,7 +250,11 @@ class EmulatorJS {
|
|||
this.listeners = [];
|
||||
this.setElements(element);
|
||||
this.setColor(this.config.color || "");
|
||||
if (this.config.adUrl) this.setupAds(this.config.adUrl);
|
||||
this.config.backgroundColor = (typeof this.config.backgroundColor === "string") ? this.config.backgroundColor : "rgb(51, 51, 51)";
|
||||
if (this.config.adUrl) {
|
||||
this.config.adSize = (Array.isArray(this.config.adSize)) ? this.config.adSize : ["300px", "250px"];
|
||||
this.setupAds(this.config.adUrl, this.config.adSize[0], this.config.adSize[1]);
|
||||
}
|
||||
this.canvas = this.createElement('canvas');
|
||||
this.canvas.classList.add('ejs_canvas');
|
||||
this.bindListeners();
|
||||
|
@ -271,16 +275,15 @@ class EmulatorJS {
|
|||
|
||||
this.game.classList.add("ejs_game");
|
||||
if (typeof this.config.backgroundImg === "string") {
|
||||
this.game.style["background-image"] = "url('"+this.config.backgroundImg+"')";
|
||||
this.game.style["background-size"] = "contain";
|
||||
this.game.style["background-position"] = "center";
|
||||
this.game.style["background-repeat"] = "no-repeat";
|
||||
this.game.classList.add("ejs_game_background");
|
||||
if (this.config.backgroundBlur) this.game.classList.add("ejs_game_background_blur");
|
||||
this.game.setAttribute("style", "--ejs-background-image: url("+this.config.backgroundImg+"); --ejs-background-color: "+this.config.backgroundColor+";");
|
||||
this.on("start", () => {
|
||||
this.game.style["background-image"] = "";
|
||||
this.game.style["background-size"] = "";
|
||||
this.game.style["background-position"] = "";
|
||||
this.game.style["background-repeat"] = "";
|
||||
this.game.classList.remove("ejs_game_background");
|
||||
if (this.config.backgroundBlur) this.game.classList.remove("ejs_game_background_blur");
|
||||
})
|
||||
}else{
|
||||
this.game.setAttribute("style", "--ejs-background-color: "+this.config.backgroundColor+";");
|
||||
}
|
||||
|
||||
if (Array.isArray(this.config.cheats)) {
|
||||
|
@ -324,16 +327,16 @@ class EmulatorJS {
|
|||
}
|
||||
this.elements.parent.setAttribute("style", "--ejs-primary-color:" + getColor(color) + ";");
|
||||
}
|
||||
setupAds(ads) {
|
||||
setupAds(ads, width, height) {
|
||||
const div = this.createElement("div");
|
||||
const time = (typeof this.config.adMode === "number" && this.config.adMode > -1 && this.config.adMode < 3) ? this.config.adMode : 2;
|
||||
div.classList.add("ejs_ad_iframe");
|
||||
const frame = this.createElement("iframe");
|
||||
frame.src = ads;
|
||||
frame.setAttribute("scrolling", "no");
|
||||
frame.setAttribute("frameborder", "no");
|
||||
frame.style.width = "300px";
|
||||
frame.style.height = "250px";
|
||||
|
||||
frame.style.width = width;
|
||||
frame.style.height = height;
|
||||
const closeParent = this.createElement("div");
|
||||
closeParent.classList.add("ejs_ad_close");
|
||||
const closeButton = this.createElement("a");
|
||||
|
@ -341,14 +344,24 @@ class EmulatorJS {
|
|||
closeParent.setAttribute("hidden", "");
|
||||
div.appendChild(closeParent);
|
||||
div.appendChild(frame);
|
||||
this.elements.parent.appendChild(div);
|
||||
if (this.config.adMode !== 1) {
|
||||
this.elements.parent.appendChild(div);
|
||||
}
|
||||
this.addEventListener(closeButton, "click", () => {
|
||||
div.remove();
|
||||
})
|
||||
|
||||
this.on("start-clicked", () => {
|
||||
if (this.config.adMode === 0) div.remove();
|
||||
if (this.config.adMode === 1){
|
||||
this.elements.parent.appendChild(div);
|
||||
}
|
||||
})
|
||||
|
||||
this.on("start", () => {
|
||||
closeParent.removeAttribute("hidden");
|
||||
const time = (typeof this.config.adTimer === "number" && this.config.adTimer > 0) ? this.config.adTimer : 10000;
|
||||
if (this.config.adTimer === -1) div.remove();
|
||||
if (this.config.adTimer === 0) return;
|
||||
setTimeout(() => {
|
||||
div.remove();
|
||||
|
@ -356,6 +369,14 @@ class EmulatorJS {
|
|||
})
|
||||
|
||||
}
|
||||
adBlocked(url, del){
|
||||
if (del){
|
||||
document.querySelector('div[class="ejs_ad_iframe"]').remove();
|
||||
}else{
|
||||
document.querySelector('iframe[src="'+this.config.adUrl+'"]').src = url;
|
||||
this.config.adUrl = url;
|
||||
}
|
||||
}
|
||||
functions = {};
|
||||
on(event, func) {
|
||||
if (!Array.isArray(this.functions[event])) this.functions[event] = [];
|
||||
|
@ -384,6 +405,7 @@ class EmulatorJS {
|
|||
createStartButton() {
|
||||
const button = this.createElement("div");
|
||||
button.classList.add("ejs_start_button");
|
||||
if (typeof this.config.backgroundImg === "string") button.classList.add("ejs_start_button_border");
|
||||
button.innerText = this.localization("Start Game");
|
||||
this.elements.parent.appendChild(button);
|
||||
this.addEventListener(button, "touchstart", () => {
|
||||
|
@ -393,8 +415,12 @@ class EmulatorJS {
|
|||
if (this.config.startOnLoad === true) {
|
||||
this.startButtonClicked(button);
|
||||
}
|
||||
setTimeout(() => {
|
||||
this.callEvent("ready");
|
||||
}, 20);
|
||||
}
|
||||
startButtonClicked(e) {
|
||||
this.callEvent("start-clicked");
|
||||
if (e.pointerType === "touch") {
|
||||
this.touch = true;
|
||||
}
|
||||
|
@ -411,6 +437,7 @@ class EmulatorJS {
|
|||
createText() {
|
||||
this.textElem = this.createElement("div");
|
||||
this.textElem.classList.add("ejs_loading_text");
|
||||
if (typeof this.config.backgroundImg === "string") this.textElem.classList.add("ejs_loading_text_glow");
|
||||
this.textElem.innerText = this.localization("Loading...");
|
||||
this.elements.parent.appendChild(this.textElem);
|
||||
}
|
||||
|
@ -976,7 +1003,6 @@ class EmulatorJS {
|
|||
if (this.debug) console.log(args);
|
||||
this.Module.callMain(args);
|
||||
this.Module.resumeMainLoop();
|
||||
|
||||
this.checkSupportedOpts();
|
||||
this.setupSettingsMenu();
|
||||
this.loadSettings();
|
||||
|
|
2
data/emulator.min.css
vendored
2
data/emulator.min.css
vendored
File diff suppressed because one or more lines are too long
2
data/emulator.min.js
vendored
2
data/emulator.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -55,7 +55,9 @@
|
|||
config.gameName = window.EJS_gameName;
|
||||
config.color = window.EJS_color;
|
||||
config.adUrl = window.EJS_AdUrl;
|
||||
config.adMode = window.EJS_AdMode;
|
||||
config.adTimer = window.EJS_AdTimer;
|
||||
config.adSize = window.EJS_AdSize;
|
||||
config.VirtualGamepadSettings = window.EJS_VirtualGamepadSettings;
|
||||
config.buttonOpts = window.EJS_Buttons;
|
||||
config.volume = window.EJS_volume;
|
||||
|
@ -72,6 +74,8 @@
|
|||
config.netplayUrl = window.EJS_netplayServer;
|
||||
config.gameId = window.EJS_gameID;
|
||||
config.backgroundImg = window.EJS_backgroundImage;
|
||||
config.backgroundBlur = window.EJS_backgroundBlur;
|
||||
config.backgroundColor = window.EJS_backgroundColor;
|
||||
config.controlScheme = window.EJS_controlScheme;
|
||||
|
||||
if (typeof window.EJS_language === "string" && window.EJS_language !== "en-US") {
|
||||
|
@ -90,6 +94,10 @@
|
|||
}
|
||||
|
||||
window.EJS_emulator = new EmulatorJS(EJS_player, config);
|
||||
window.EJS_adBlocked = (url, del) => window.EJS_emulator.adBlocked(url, del);
|
||||
if (typeof window.EJS_ready === "function") {
|
||||
window.EJS_emulator.on("ready", window.EJS_ready);
|
||||
}
|
||||
if (typeof window.EJS_onGameStart === "function") {
|
||||
window.EJS_emulator.on("start", window.EJS_onGameStart);
|
||||
}
|
||||
|
@ -99,5 +107,4 @@
|
|||
if (typeof window.EJS_onSaveState === "function") {
|
||||
window.EJS_emulator.on("save", window.EJS_onSaveState);
|
||||
}
|
||||
|
||||
})();
|
|
@ -1,62 +1,62 @@
|
|||
{
|
||||
"Restart": "Reiniciar",
|
||||
"Pause": "Pausa",
|
||||
{
|
||||
"Restart": "Restart",
|
||||
"Pause": "Pausar",
|
||||
"Play": "Jogar",
|
||||
"Save State": "Estado salvo",
|
||||
"Load State": "Estado de carga",
|
||||
"Control Settings": "Configurações de controle",
|
||||
"Cheats": "Fraudes",
|
||||
"Cache Manager": "Gerenciador de Cache",
|
||||
"Export Save File": "Exportar Salvar Arquivo",
|
||||
"Import Save File": "Importar Salvar Arquivo",
|
||||
"Netplay": "Jogo de rede",
|
||||
"Save State": "Armazenar Save State",
|
||||
"Load State": "Carregar Save State",
|
||||
"Control Settings": "Configurações do Controle",
|
||||
"Cheats": "Trapaças",
|
||||
"Cache Manager": "Gerenciador de cache",
|
||||
"Export Save File": "Armazenar Save State",
|
||||
"Import Save File": "Carregar Save State",
|
||||
"Netplay": "Netplay",
|
||||
"Mute": "Mudo",
|
||||
"Unmute": "Ativar som",
|
||||
"Settings": "Configurações",
|
||||
"Enter Fullscreen": "Entrar em tela cheia",
|
||||
"Unmute": "Desmutar",
|
||||
"Settings": "Ajustes",
|
||||
"Enter Fullscreen": "Tela cheia",
|
||||
"Exit Fullscreen": "Sair da tela cheia",
|
||||
"Reset": "Reiniciar",
|
||||
"Clear": "Claro",
|
||||
"Reset": "Resetar",
|
||||
"Clear": "Limpar",
|
||||
"Close": "Fechar",
|
||||
"QUICK SAVE STATE": "SALVAR ESTADO RÁPIDO",
|
||||
"QUICK LOAD STATE": "ESTADO DE CARGA RÁPIDA",
|
||||
"CHANGE STATE SLOT": "MUDAR ESPAÇO DE ESTADO",
|
||||
"QUICK SAVE STATE": "ARMAZENAR SAVE STATE RAPIDAMENTE",
|
||||
"QUICK LOAD STATE": "CARREGAR SAVE STATE RAPIDAMENTE",
|
||||
"CHANGE STATE SLOT": "TROCAR SLOT DO SAVE STATE",
|
||||
"FAST FORWARD": "AVANÇO RÁPIDO",
|
||||
"Player": "Jogador",
|
||||
"Connected Gamepad": "Gamepad conectado",
|
||||
"Connected Gamepad": "Controle conectado",
|
||||
"Gamepad": "Controle",
|
||||
"Keyboard": "Teclado",
|
||||
"Set": "Definir",
|
||||
"Add Cheat": "Adicionar trapaça",
|
||||
"Create a Room": "Criar uma sala",
|
||||
"Rooms": "quartos",
|
||||
"Start Game": "Começar o jogo",
|
||||
"Loading...": "Carregando...",
|
||||
"Download Game Core": "Baixe o Núcleo do Jogo",
|
||||
"Decompress Game Core": "Descomprimir Núcleo do Jogo",
|
||||
"Download Game Data": "Baixar dados do jogo",
|
||||
"Decompress Game Data": "Descomprimir Dados do Jogo",
|
||||
"Shaders": "Shaders",
|
||||
"Disabled": "Desabilitado",
|
||||
"Add Cheat": "Adicionar Trapaça",
|
||||
"Create a Room": "Criar uma Sala",
|
||||
"Rooms": "Salas",
|
||||
"Start Game": "Jogar",
|
||||
"Loading...": "Carregando",
|
||||
"Download Game Core": "Carregando emulador do videogame",
|
||||
"Decompress Game Core": "Descompactando emulador do videogame",
|
||||
"Download Game Data": "Carregando dados do jogo",
|
||||
"Decompress Game Data": "Descompactando dados do jogo",
|
||||
"Shaders": "Sombreamento",
|
||||
"Disabled": "Desativado",
|
||||
"2xScaleHQ": "2xScaleHQ",
|
||||
"4xScaleHQ": "4xScaleHQ",
|
||||
"CRT easymode": "CRT modo fácil",
|
||||
"CRT aperture": "abertura CRT",
|
||||
"CRT geom": "geom CRT",
|
||||
"CRT mattias": "CRT Mattias",
|
||||
"CRT easymode": "CRT easymode",
|
||||
"CRT aperture": "CRT aperture",
|
||||
"CRT geom": "CRT geom",
|
||||
"CRT mattias": "CRT mattias",
|
||||
"FPS": "FPS",
|
||||
"show": "mostrar",
|
||||
"hide": "esconder",
|
||||
"Fast Forward Ratio": "Taxa de Avanço Rápido",
|
||||
"hide": "ocultar",
|
||||
"Fast Forward Ratio": "Taxa de avanço rápido",
|
||||
"Fast Forward": "Avanço rápido",
|
||||
"Enabled": "Habilitado",
|
||||
"Save State Slot": "Salvar Slot de Estado",
|
||||
"Save State Location": "Salvar localização do estado",
|
||||
"Enabled": "Ativado",
|
||||
"Save State Slot": "Slot do Save State",
|
||||
"Save State Location": "Local do Save State",
|
||||
"Download": "Download",
|
||||
"Keep in Browser": "Manter no navegador",
|
||||
"Keep in Browser": "Manter no Browser",
|
||||
"Auto": "Auto",
|
||||
"NTSC": "NTSC",
|
||||
"PAL": "AMIGO",
|
||||
"PAL": "PAL",
|
||||
"Dendy": "Dendy",
|
||||
"8:7 PAR": "8:7 PAR",
|
||||
"4:3": "4:3",
|
||||
|
@ -67,54 +67,107 @@
|
|||
"Player 1": "Jogador 1",
|
||||
"Player 2": "Jogador 2",
|
||||
"Both": "Ambos",
|
||||
"SAVED STATE TO SLOT": "ESTADO SALVO NO ESPAÇO",
|
||||
"LOADED STATE FROM SLOT": "ESTADO CARREGADO DO SLOT",
|
||||
"SET SAVE STATE SLOT TO": "CONFIGURAR SALVAR ESTADO DE SALVAR PARA",
|
||||
"SAVED STATE TO SLOT": "SAVE STATE ARMAZENDO NO SLOT",
|
||||
"LOADED STATE FROM SLOT": "SAVE STATE CARREGADO DO SLOT",
|
||||
"SET SAVE STATE SLOT TO": "SAVE STATE DEFINIDO PARA SLOT",
|
||||
"Network Error": "Erro de rede",
|
||||
"Submit": "Enviar",
|
||||
"Description": "Descrição",
|
||||
"Code": "Código",
|
||||
"Add Cheat Code": "Adicionar código de trapaça",
|
||||
"Add Cheat Code": "Adicionar trapaça",
|
||||
"Leave Room": "Sair da sala",
|
||||
"Password": "Senha",
|
||||
"Password (optional)": "Senha (opcional)",
|
||||
"Max Players": "Máximo de jogadores",
|
||||
"Room Name": "Nome da sala",
|
||||
"Join": "Juntar",
|
||||
"Player Name": "Nome do jogador",
|
||||
"Set Player Name": "Definir nome do jogador",
|
||||
"Max Players": "-Max de Jogadores",
|
||||
"Room Name": "Nome da Sala",
|
||||
"Join": "Entrar",
|
||||
"Player Name": "Nome do Jogador",
|
||||
"Set Player Name": "Definir nome do Jogador",
|
||||
"Left Handed Mode": "Modo canhoto",
|
||||
"Virtual Gamepad": "Gamepad virtual",
|
||||
"Virtual Gamepad": "Controle virtual",
|
||||
"Disk": "Disco",
|
||||
"Press Keyboard": "Pressione Teclado",
|
||||
"INSERT COIN": "INSIRA MOEDA",
|
||||
"Press Keyboard": "Pressione uma tecla",
|
||||
"INSERT COIN": "Insira uma ficha",
|
||||
"Remove": "Remover",
|
||||
"SAVE LOADED FROM BROWSER": "SALVAR CARREGADO DO NAVEGADOR",
|
||||
"SAVE SAVED TO BROWSER": "SALVAR SALVO NO NAVEGADOR",
|
||||
"Join the discord": "Junte-se à discórdia",
|
||||
"SAVE LOADED FROM BROWSER": "SAVE STATE CARREGADO DO BROWSER",
|
||||
"SAVE SAVED TO BROWSER": "SAVE STATE ARMAZENADO NO BROWSER",
|
||||
"Join the discord": "Participar do discord",
|
||||
"View on GitHub": "Ver no GitHub",
|
||||
"Failed to start game": "Falha ao iniciar o jogo",
|
||||
"Download Game BIOS": "Baixar BIOS do jogo",
|
||||
"Decompress Game BIOS": "Descompactar o BIOS do jogo",
|
||||
"Download Game Parent": "Baixe o pai do jogo",
|
||||
"Decompress Game Parent": "Descompactar o pai do jogo",
|
||||
"Download Game Patch": "Baixe o patch do jogo",
|
||||
"Decompress Game Patch": "Descompactar patch do jogo",
|
||||
"Download Game State": "Baixar estado do jogo",
|
||||
"Check console": "Verifique o console",
|
||||
"Error for site owner": "Erro para o proprietário do site",
|
||||
"EmulatorJS": "EmuladorJS",
|
||||
"Clear All": "Limpar tudo",
|
||||
"Take Screenshot": "Tirar captura de tela",
|
||||
"Quick Save": "Salvamento rapido",
|
||||
"Quick Load": "Carga rápida",
|
||||
"REWIND": "REBOBINAR",
|
||||
"Rewind Enabled (requires restart)": "Retrocesso ativado (requer reinicialização)",
|
||||
"Rewind Granularity": "Rebobinar granularidade",
|
||||
"Slow Motion Ratio": "Taxa de câmera lenta",
|
||||
"Slow Motion": "Câmera lenta",
|
||||
"Home": "Lar",
|
||||
"EmulatorJS License": "Licença EmulatorJS",
|
||||
"RetroArch License": "Licença RetroArch",
|
||||
"SLOW MOTION": "CÂMERA LENTA"
|
||||
}
|
||||
"Download Game BIOS": "Carregando bios do videogame",
|
||||
"Decompress Game BIOS": "Descompactando bios do videogame",
|
||||
"Download Game Parent": "Carregando arquivo principal do jogo",
|
||||
"Decompress Game Parent": "Descompactando arquivo principal do jogo",
|
||||
"Download Game Patch": "Carregando Patch do jogo",
|
||||
"Decompress Game Patch": "Descompactando Patch do Jogo",
|
||||
"Download Game State": "Carregando Save State",
|
||||
"Check console": "Verificar videogame",
|
||||
"Error for site owner": "Erro para proprietário do site",
|
||||
"EmulatorJS": "EmulatorJS",
|
||||
"Clear All": "Limpar todos",
|
||||
"Take Screenshot": "Capturar tela",
|
||||
"Quick Save": "Salvar rapidamente",
|
||||
"Quick Load": "Carregar Rapidmente",
|
||||
"REWIND": "RETROCEDER",
|
||||
"Rewind Enabled (requires restart)": "Camera lenta ativada(Necessário reiniciar)",
|
||||
"Rewind Granularity": "Granularidade do retrocesso",
|
||||
"Slow Motion Ratio": "Taxa de camera lenta",
|
||||
"Slow Motion": "Camera lenta",
|
||||
"Home": "Ínicio",
|
||||
"EmulatorJS License": "Licença do EmulatorJS",
|
||||
"RetroArch License": "Licença do RetroArch",
|
||||
"SLOW MOTION": "CAMERA LENTA",
|
||||
"genesis plus gx frameskip threshold": "genesis plus gx - limite de pulo de quadros",
|
||||
"genesis plus gx lowpass range": "genesis plus gx - alcance do passa-baixa",
|
||||
"genesis plus gx psg preamp": "genesis plus gx - psg pré-amplificador",
|
||||
"genesis plus gx fm preamp": "genesis plus gx - pré-amplificador fm",
|
||||
"genesis plus gx cdda volume": "genesis plus gx - cdda volume",
|
||||
"genesis plus gx pcm volume": "genesis plus gx - pcm volume",
|
||||
"genesis plus gx audio eq low": "genesis plus gx - eq áudio baixo",
|
||||
"genesis plus gx audio eq mid": "genesis plus gx - eq áudio medio",
|
||||
"genesis plus gx audio eq high": "genesis plus gx - eq áudio alto",
|
||||
"genesis plus gx enhanced vscroll limit": "genesis plus gx - limite de rolagem vertical aprimorada",
|
||||
"genesis plus gx psg channel 0 volume": "genesis plus gx - psg channel 0 volume",
|
||||
"genesis plus gx psg channel 1 volume": "genesis plus gx - psg channel 1 volume",
|
||||
"genesis plus gx psg channel 2 volume": "genesis plus gx - psg channel 2 volume",
|
||||
"genesis plus gx psg channel 3 volume": "genesis plus gx - psg channel 3 volume",
|
||||
"genesis plus gx md channel 0 volume": "genesis plus gx - md channel 0 volume",
|
||||
"genesis plus gx md channel 1 volume": "genesis plus gx - md channel 1 volume",
|
||||
"genesis plus gx md channel 2 volume": "genesis plus gx - md channel 2 volume",
|
||||
"genesis plus gx md channel 3 volume": "genesis plus gx - md channel 3 volume",
|
||||
"genesis plus gx md channel 4 volume": "genesis plus gx - md channel 4 volume",
|
||||
"genesis plus gx md channel 5 volume": "genesis plus gx - md channel 5 volume",
|
||||
"genesis plus gx sms fm channel 0 volume": "genesis plus gx - sms fm channel 0 volume",
|
||||
"genesis plus gx sms fm channel 1 volume": "genesis plus gx - sms fm channel 1 volume",
|
||||
"genesis plus gx sms fm channel 2 volume": "genesis plus gx - sms fm channel 2 volume",
|
||||
"genesis plus gx sms fm channel 3 volume": "genesis plus gx - sms fm channel 3 volume",
|
||||
"genesis plus gx sms fm channel 4 volume": "genesis plus gx - sms fm channel 4 volume",
|
||||
"genesis plus gx sms fm channel 5 volume": "genesis plus gx - sms fm channel 5 volume",
|
||||
"genesis plus gx sms fm channel 6 volume": "genesis plus gx - sms fm channel 6 volume",
|
||||
"genesis plus gx sms fm channel 7 volume": "genesis plus gx - sms fm channel 7 volume",
|
||||
"genesis plus gx sms fm channel 8 volume": "genesis plus gx - sms fm channel 8 volume",
|
||||
"stella2014 stelladaptor analog sensitivity": "stella2014 - Sensibilidade do Analógico",
|
||||
"stella2014 stelladaptor analog center": "stella2014 - Centro do Analógico",
|
||||
"1.0x (12.50Mhz)": "1.0x (12.50Mhz)",
|
||||
"1.1x (13.75Mhz)": "1.1x (13.75Mhz)",
|
||||
"1.2x (15.00Mhz)": "1.2x (15.00Mhz)",
|
||||
"1.5x (18.75Mhz)": "1.5x (18.75Mhz)",
|
||||
"1.6x (20.00Mhz)": "1.6x (20.00Mhz)",
|
||||
"1.8x (22.50Mhz)": "1.8x (22.50Mhz)",
|
||||
"2.0x (25.00Mhz)": "2.0x (25.00Mhz)",
|
||||
"opera cpu overclock": "Overclock do cpu Opera",
|
||||
"0RGB1555": "0RGB1555",
|
||||
"RGB565": "RGB565",
|
||||
"XRGB8888": "XRGB8888",
|
||||
"opera vdlp pixel format": "Formato vdlp do pixel Opera",
|
||||
"opera nvram version": "Versão da nvram do Opera",
|
||||
"opera active devices": "Dispositivos Opera ativados",
|
||||
"pcsx rearmed psxclock": "pcsx rearmed - psxclock",
|
||||
"pcsx rearmed frameskip threshold": "pcsx rearmed - limite de pulo de quadros",
|
||||
"pcsx rearmed frameskip interval": "pcsx rearmed - intervalo de pulo de quadros",
|
||||
"pcsx rearmed input sensitivity": "pcsx rearmed - sensibilidade de entrada",
|
||||
"pcsx rearmed gunconadjustx": "pcsx rearmed - gunconadjustx",
|
||||
"pcsx rearmed gunconadjusty": "pcsx rearmed - gunconadjusty",
|
||||
"pcsx rearmed gunconadjustratiox": "pcsx rearmed - gunconadjustratiox",
|
||||
"pcsx rearmed gunconadjustratioy": "pcsx rearmed - gunconadjustratioy"
|
||||
}
|
||||
|
|
|
@ -31,10 +31,10 @@ If the language file is not found or there was an error fetching the file, the e
|
|||
|
||||
## Credits
|
||||
|
||||
Translated for `pt-BR` by [@cesarcristianodeoliveira](https://github.com/cesarcristianodeoliveira) <br>
|
||||
Translated for `es-ES` by [@cesarcristianodeoliveira](https://github.com/cesarcristianodeoliveira) <br>
|
||||
Translated for `el-GR` by [@imneckro](https://github.com/imneckro) <br>
|
||||
Translated for `ja-JA`, `hi-HI`, `ar-AR`, `jv-JV`, `ben-BEN`, `ru-RU`, `de-GER`, `ko-KO`, `af-FR` by [@allancoding](https://github.com/allancoding) <br>
|
||||
Translated for `pt-BR` originally by [@allancoding](https://github.com/allancoding) and updated by [@zmarteline](https://github.com/zmarteline)<br>
|
||||
Translated for `zh-CN` originally by [@allancoding](https://github.com/allancoding) and updated by [@eric183](https://github.com/eric183)<br>
|
||||
|
||||
## Contributing
|
||||
|
|
39
index.html
39
index.html
|
@ -161,25 +161,42 @@
|
|||
div.appendChild(sub)
|
||||
document.body.appendChild(div)
|
||||
|
||||
window.EJS_player = "#game"
|
||||
window.EJS_gameName = parts.shift()
|
||||
window.EJS_biosUrl = ""
|
||||
window.EJS_gameUrl = url
|
||||
window.EJS_core = core
|
||||
window.EJS_pathtodata = "data/"
|
||||
window.EJS_player = "#game";
|
||||
window.EJS_gameName = parts.shift();
|
||||
window.EJS_biosUrl = "";
|
||||
window.EJS_gameUrl = url;
|
||||
window.EJS_core = core;
|
||||
window.EJS_pathtodata = "data/";
|
||||
window.EJS_startOnLoaded = true;
|
||||
|
||||
if (window.location.hostname === "demo.emulatorjs.org") {
|
||||
window.EJS_AdUrl = "https://ads.emulatorjs.org/";
|
||||
window.EJS_ready = function() {
|
||||
detectAdBlock("https://ads.emulatorjs.org/?blocked");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
script.src = "data/loader.js"
|
||||
document.body.appendChild(script)
|
||||
script.src = "data/loader.js";
|
||||
document.body.appendChild(script);
|
||||
}
|
||||
|
||||
box.ondragover = () => box.setAttribute("drag", true)
|
||||
box.ondragleave = () => box.removeAttribute("drag")
|
||||
async function detectAdBlock(url) {
|
||||
let adBlockEnabled = false
|
||||
const googleAdUrl = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'
|
||||
try {
|
||||
await fetch(new Request(googleAdUrl)).catch(_ => adBlockEnabled = true)
|
||||
} catch (e) {
|
||||
adBlockEnabled = true
|
||||
} finally {
|
||||
window.EJS_ready = function() {
|
||||
if (adBlockEnabled) {
|
||||
window.EJS_adBlocked("https://emulatorjs.org/?blocked");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
box.ondragover = () => box.setAttribute("drag", true);
|
||||
box.ondragleave = () => box.removeAttribute("drag");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Loading…
Reference in a new issue