1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2026-03-02 03:39:21 +00:00

Add finish, italian, romania, ukrainian, minor adjustments

This commit is contained in:
tobspr
2021-03-12 12:42:16 +01:00
parent 65d4c64ae5
commit 4bc918dedd
13 changed files with 319 additions and 135 deletions

View File

@@ -67,7 +67,7 @@ $icons: notification_saved, notification_success, notification_upgrade;
}
$languages: en, de, cs, da, et, es-419, fr, it, pt-BR, sv, tr, el, ru, uk, zh-TW, zh-CN, nb, mt-MT, ar, nl, vi,
th, hu, pl, ja, kor, no, pt-PT;
th, hu, pl, ja, kor, no, pt-PT, fi, ro;
@each $language in $languages {
[data-languageicon="#{$language}"] {

View File

@@ -43,9 +43,10 @@
.languageChoose {
@include S(border-radius, 8px);
border: solid #222428;
background-color: #fff;
@include S(border-width, 2px);
background-size: cover;
background-color: #222428 !important;
background-size: contain !important;
background-position: center center !important;
opacity: 0.8;
}
}
@@ -182,7 +183,7 @@
.updateLabel {
position: absolute;
transform: translateX(50%) rotate(-5deg);
color: rgb(133, 58, 231);
color: #3291e9;
@include Heading;
font-weight: bold;
@include S(right, 40px);
@@ -444,7 +445,7 @@
justify-content: center;
align-items: flex-end;
width: 100%;
grid-template-columns: auto auto auto 1fr;
grid-template-columns: auto auto auto auto 1fr;
@include S(padding, 10px);
box-sizing: border-box;
@include S(grid-gap, 4px);
@@ -500,6 +501,15 @@
background-color: $linkBgHover;
}
&.nftLink {
background-color: #3291e9;
color: #fff;
&:hover {
background-color: darken(#3291e9, 5);
}
}
.thirdpartyLogo {
display: inline-block;
@include S(width, 50px);
@@ -514,6 +524,12 @@
background-image: uiResource("main_menu/discord.png");
background-size: 95%;
}
&.nftLogo {
/* @load-async */
background-image: uiResource("main_menu/opensea.png");
background-size: 80%;
}
}
}

View File

@@ -7,6 +7,7 @@ export const CHANGELOG = [
"There are now <strong>45 Steam Achievements!</strong>",
"Fixed constant signals being editable from the regular layer",
"Fixed items still overlapping sometimes between buildings and belts",
"The game is now available in finish, italian, romanian and ukrainian! (Thanks to all contributors!)",
"Updated translations (Thanks to all contributors!)",
],
},

View File

@@ -16,6 +16,7 @@ export const THIRDPARTY_URLS = {
github: "https://github.com/tobspr/shapez.io",
reddit: "https://www.reddit.com/r/shapezio",
shapeViewer: "https://viewer.shapez.io",
nftTokens: "https://opensea.io/collection/shapez",
standaloneStorePage: "https://store.steampowered.com/app/1318690/shapezio/",

View File

@@ -8,120 +8,180 @@ export const LANGUAGES = {
code: "en",
region: "",
},
"de": {
name: "Deutsch",
data: require("./built-temp/base-de.json"),
code: "de",
region: "",
},
"fr": {
name: "Français",
data: require("./built-temp/base-fr.json"),
code: "fr",
region: "",
},
"ja": {
name: "日本語",
data: require("./built-temp/base-ja.json"),
code: "ja",
region: "",
},
"pt-PT": {
name: "Português (Portugal)",
data: require("./built-temp/base-pt-PT.json"),
code: "pt",
region: "PT",
},
"pt-BR": {
name: "Português (Brasil)",
data: require("./built-temp/base-pt-BR.json"),
code: "pt",
region: "BR",
},
"ru": {
name: "Русский",
data: require("./built-temp/base-ru.json"),
code: "ru",
region: "",
},
"cs": {
name: "Čeština",
data: require("./built-temp/base-cz.json"),
code: "cs",
region: "",
},
"es-419": {
name: "Español",
data: require("./built-temp/base-es.json"),
code: "es",
region: "",
},
"pl": {
name: "Polski",
data: require("./built-temp/base-pl.json"),
code: "pl",
region: "",
},
"kor": {
name: "한국어",
data: require("./built-temp/base-kor.json"),
code: "kor",
region: "",
},
"nl": {
name: "Nederlands",
data: require("./built-temp/base-nl.json"),
code: "nl",
region: "",
},
"no": {
name: "Norsk",
data: require("./built-temp/base-no.json"),
code: "no",
region: "",
},
"tr": {
name: "Türkçe",
data: require("./built-temp/base-tr.json"),
code: "tr",
region: "",
},
"zh-CN": {
// simplified
name: "中文简体",
// simplified chinese
name: "简体中文",
data: require("./built-temp/base-zh-CN.json"),
code: "zh",
region: "CN",
},
"zh-TW": {
// traditional
name: "中文繁體",
// traditional chinese
name: "繁體中文",
data: require("./built-temp/base-zh-TW.json"),
code: "zh",
region: "TW",
},
"sv": {
name: "Svenska",
data: require("./built-temp/base-sv.json"),
code: "sv",
"ja": {
// japanese
name: "日本語",
data: require("./built-temp/base-ja.json"),
code: "ja",
region: "",
},
"kor": {
// korean
name: "한국어",
data: require("./built-temp/base-kor.json"),
code: "kor",
region: "",
},
"cs": {
// czech
name: "Čeština",
data: require("./built-temp/base-cz.json"),
code: "cs",
region: "",
},
"da": {
// danish
name: "Dansk",
data: require("./built-temp/base-da.json"),
code: "da",
region: "",
},
"de": {
// german
name: "Deutsch",
data: require("./built-temp/base-de.json"),
code: "de",
region: "",
},
"es-419": {
// spanish
name: "Español",
data: require("./built-temp/base-es.json"),
code: "es",
region: "",
},
"fr": {
// french
name: "Français",
data: require("./built-temp/base-fr.json"),
code: "fr",
region: "",
},
"it": {
// italian
name: "Italiano",
data: require("./built-temp/base-it.json"),
code: "it",
region: "",
},
"hu": {
// hungarian
name: "Magyar",
data: require("./built-temp/base-hu.json"),
code: "hu",
region: "",
},
"nl": {
// dutch
name: "Nederlands",
data: require("./built-temp/base-nl.json"),
code: "nl",
region: "",
},
"no": {
// norwegian
name: "Norsk",
data: require("./built-temp/base-no.json"),
code: "no",
region: "",
},
"pl": {
// polish
name: "Polski",
data: require("./built-temp/base-pl.json"),
code: "pl",
region: "",
},
"pt-PT": {
// portuguese
name: "Português",
data: require("./built-temp/base-pt-PT.json"),
code: "pt",
region: "PT",
},
"pt-BR": {
// portuguese - brazil
name: "Português - Brasil",
data: require("./built-temp/base-pt-BR.json"),
code: "pt",
region: "BR",
},
"ro": {
// romanian
name: "Română",
data: require("./built-temp/base-ro.json"),
code: "pt",
region: "BR",
},
"ru": {
// russian
name: "Русский",
data: require("./built-temp/base-ru.json"),
code: "ru",
region: "",
},
"fi": {
// finish
name: "Suomi",
data: require("./built-temp/base-fi.json"),
code: "fi",
region: "",
},
"sv": {
// swedish
name: "Svenska",
data: require("./built-temp/base-sv.json"),
code: "sv",
region: "",
},
"tr": {
// turkish
name: "Türkçe",
data: require("./built-temp/base-tr.json"),
code: "tr",
region: "",
},
"uk": {
// ukrainian
name: "Українська",
data: require("./built-temp/base-uk.json"),
code: "uk",
region: "",
},
};

View File

@@ -109,6 +109,17 @@ export class MainMenuState extends GameState {
${G_CHINA_VERSION ? "" : `<a class="helpTranslate">${T.mainMenu.helpTranslate}</a>`}
</div>
${
G_CHINA_VERSION
? ""
: `
<a class="nftLink boxLink" target="_blank">
shapez.io NFT Tokens
<span class="thirdpartyLogo nftLogo"></span>
</a>`
}
<div class="author">${T.mainMenu.madeBy.replace(
"<author-link>",
'<a class="producerLink" target="_blank">Tobias Springer</a>'
@@ -244,25 +255,41 @@ export class MainMenuState extends GameState {
const discordLink = this.htmlElement.querySelector(".discordLink");
this.trackClicks(
discordLink,
() => this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.discord),
() => {
this.app.analytics.trackUiClick("main_menu_link_discord");
this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.discord);
},
{ preventClick: true }
);
const nftLink = this.htmlElement.querySelector(".nftLink");
if (nftLink) {
this.trackClicks(
nftLink,
() => {
this.app.analytics.trackUiClick("main_menu_link_nft");
this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.nftTokens);
},
{ preventClick: true }
);
}
const githubLink = this.htmlElement.querySelector(".githubLink");
if (githubLink) {
this.trackClicks(
githubLink,
() => this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.github),
() => {
this.app.analytics.trackUiClick("main_menu_link_github");
this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.github);
},
{ preventClick: true }
);
}
const producerLink = this.htmlElement.querySelector(".producerLink");
this.trackClicks(
producerLink,
() => this.app.platformWrapper.openExternalLink("https://tobspr.com"),
{ preventClick: true }
);
this.trackClicks(producerLink, () => this.app.platformWrapper.openExternalLink("https://tobspr.io"), {
preventClick: true,
});
}
renderMainMenu() {