From fc01b7e7b97172eccd2e77de680e67a4955bdc56 Mon Sep 17 00:00:00 2001 From: Anatoly Date: Tue, 8 Mar 2022 03:00:46 +0300 Subject: [PATCH] i18n --- .gitignore | 2 +- README.md | 2 ++ ecosystem.config.js | 2 +- public/assets/languages/de.png | Bin 0 -> 7112 bytes public/assets/languages/en.png | Bin 0 -> 24563 bytes public/assets/languages/fr.png | Bin 0 -> 7020 bytes public/assets/languages/ru.png | Bin 0 -> 8847 bytes public/assets/languages/ua.png | Bin 0 -> 9234 bytes public/style.css | 18 ++++++++++++++ src/output/{OutputItem.js => ListingSet.js} | 2 +- src/output/i18n.json | 22 +++++++++++++++++ src/output/index.js | 26 ++++++++++++-------- src/output/template.hbs | 24 ++++++++++++------ 13 files changed, 77 insertions(+), 21 deletions(-) create mode 100644 public/assets/languages/de.png create mode 100644 public/assets/languages/en.png create mode 100644 public/assets/languages/fr.png create mode 100644 public/assets/languages/ru.png create mode 100644 public/assets/languages/ua.png rename src/output/{OutputItem.js => ListingSet.js} (85%) create mode 100644 src/output/i18n.json diff --git a/.gitignore b/.gitignore index b2c48e4..f4511b8 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,4 @@ node_modules .DS_Store .vscode .env -public/index.html +public/*.html diff --git a/README.md b/README.md index 09657ae..ccac798 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,5 @@ Список Прайм предметов: https://warframe.fandom.com/wiki/Prime Маркет: https://warframe.market + +Документация API маркета: https://warframe.market/api_docs diff --git a/ecosystem.config.js b/ecosystem.config.js index 46c2429..58a1044 100644 --- a/ecosystem.config.js +++ b/ecosystem.config.js @@ -3,7 +3,7 @@ module.exports = { name: 'warframe-market-bot', script: './src/index.js', watch: true, - ignore_watch: ['node_modules', 'index.html'], + ignore_watch: ['node_modules', 'public/*'], restart_delay: 600000 }] } diff --git a/public/assets/languages/de.png b/public/assets/languages/de.png new file mode 100644 index 0000000000000000000000000000000000000000..08bb6eea16fce6241fd69a8195d7a9cac9b849cc GIT binary patch literal 7112 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 HkjVc5%{e0! literal 0 HcmV?d00001 diff --git a/public/assets/languages/en.png b/public/assets/languages/en.png new file mode 100644 index 0000000000000000000000000000000000000000..b88a70a05e226d86b0272402458aaf099fef63ef GIT binary patch literal 24563 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
^}_Ylc#&<3SAk2#U_EZLdiXulyY% zJ?%mo7F?$sNo#6R&T4`Y#}@L`df=?cmvJU}rGUf1QKSx+8Z^LP8?n8H8NF-HE^S?)bzuwY&*=C%~;9Zq&1BM$yUKUKVv-mZpQOi+FIcQ7l zmK-D=9n{`4p95%_I6fy%Ka7%!;J_%-VcG@3Igo_2eoI;-4L_;z5au1_iz~dlEBpQ* z)&X|}QTz~F3K_=VOM_lHWG`B}1V%m~=)i6}-Mtf!UJuSCvaSv?u*FNV(6`b{R1IE$ zRM&-eGM|Y2id=b@#+`MU5`ghN5u|XX_)#U1`{L1$`dQ!BssHM3O6!Aa%n#dSen01y zC8Ld15X8p;sv$DVJI2JOXd?4J~GO}cbEkrn36(2rW@&)fJj!u5i ztpjN!|F+hl+B#w6BDzP}msdDL=>JQB9~E~(q}<$+r5~caevzOP|Hz<1lUQvnEl-}t zgO-;(Q&ZJ=9BVnfKj>+=Z|mnjD>R)Q?OH#FEp)bY4JWK|t2%F|Xsq~;@3I8P%${ifes{aKCF zbe%_m!X?p4+*p&cLi?|Gk0=T1?{@#OKO0xSyo3+5-Tdcz+(!LjA7(8Qf@ol)%R0P@ zgnJ^^=Vv}I-p*ad!?MXg804SpLt4)kg->r|hbV)Bp>q1OQKtv8575xoqcm7^s_Qah z;35l(Orb4YrI~+Vz7gvAp{H>;`9tSWH8ioj=^BZ@xwDEhbR-Gl=&+sI@d3q+0hR87 zl@LOU&~7qM%Vz4%{#61S%Ek3Bzaw`2Cipm>_F|Tb?8nX~MOddAzy5vU&RCspy(Bwn z4&*WhNZD|b6!?mnb#=i|CbH|7{Exq#1am5`!IhYm39e@Y=ovXl0qj$_K-z$70n>`_ zvP~09ywhLh1D<0dcJ90d6n=61zFJas@ERNmtf_aCPCdFzscgfDFOd2_yx1q?yUO1( z(_YxSm=`M_iio)v(D866-ox}P`wBBr%!2==L-GBU89Iz?q7yi=_zA~s{rx&4d|}dF z!-+}L^7~@uq|5ey(6a^?^YBt$4V0Y740B=JezQ7|R*D<$R{oR_Z1#F9eqw`N}zQWvm?=XDRdUXr_4A=2j(`Pw4 z80TldDiYqhY$%Q-?n^J04qD_(-QsyP=s%XyT{@Iq>(>iGeB&fCdma)^oI~7NrE+-w zRmt~``ZSRBzjwj-c(p=nL3IZ&;76Zs%3J-xfoYR}clpMaI4$xsY{D1}&g8*(FLmeMh6?0@skwk1(cM|63Mm7)fyZ`SLZ#7x_`Nv67p1>!> zj~&*5zoDyf&NUUOm<3XhPE3nmzXhr(ne(=dUqe>Of}Kn#VPx2|hv5F^8;HAu21KS0 z9LM|xCwULzg$lHlV~RNx{4e=r-o*T<0fCyzBaEnsT8>$Af}`SmO2gL>_rP|QI8Z4- zWq-@=(4WYneOahN?6Hu6{}YfIa5O&S_hZCN)R}y$$v-vHHFhQf|Bqzyc9mbnPFyJ1 zpK{co2|e^Ea>UAPd5AK^u1V!Nbs!sLSbie%K>92IMAg%Uoq{tOyc^HgsUi|ZgI%LT zov@Nb*CA49E#FCIE}y+Jv6MUUKsV%w#4PRo+-B8yuu4NMRyB$?>u?3h2oog|rx9N^ z8G4_eo$8zue$^`bx6sKpyQpo*`J8W6>Aq{(=lAvtIT#*ikf@+7n3I(>E-L6%jk$I6 zt?+Um?BTf16i_Nc^SuLGcp^b>LyvxX57npJs$hGPf9t(*wr^QOOCD^dx68-)oeebwGk2GTe|DRI#2#lcs)ePaVd$sPIvl!1F|i z;44hTk30eAk1JXI6720~Z;|}eaDg-5c#6=FCG+N@!rhEuW{I#YDcm`rE^{;7i_=Pto!J i;?MtoKm1nrxN|D90sner+T``WynUFm7PJgv9`Jv7A`Jon literal 0 HcmV?d00001 diff --git a/public/assets/languages/fr.png b/public/assets/languages/fr.png new file mode 100644 index 0000000000000000000000000000000000000000..3891f14699ee690c8a6ac8a2b514aec3f8df7cba GIT binary patch literal 7020 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 literal 0 HcmV?d00001 diff --git a/public/style.css b/public/style.css index e98ae30..1b6f211 100644 --- a/public/style.css +++ b/public/style.css @@ -94,6 +94,24 @@ a { right: 0; } +.languages { + position: absolute; + left: 0; + top: 0; +} + +.languages > a { + position: relative; + display: block; + margin: 10px; + padding: 10px; + height: 32px; +} + +.languages img { + max-height: 100%; +} + .controls { margin: 32px auto; display: flex; diff --git a/src/output/OutputItem.js b/src/output/ListingSet.js similarity index 85% rename from src/output/OutputItem.js rename to src/output/ListingSet.js index 9b90e7c..b7d435d 100644 --- a/src/output/OutputItem.js +++ b/src/output/ListingSet.js @@ -1,4 +1,4 @@ -module.exports = class OutputItem { +module.exports = class ListingSet { constructor (name, parts, set) { this.name = name + ' prime' this.parts = parts diff --git a/src/output/i18n.json b/src/output/i18n.json new file mode 100644 index 0000000..403ab7d --- /dev/null +++ b/src/output/i18n.json @@ -0,0 +1,22 @@ +{ + "en": { + "title": "Market Gaps", + "description": "Find a profitable difference between the price of the set and the price of the sum of it's parts.", + "filter_by_difference": "Filter by difference:", + "name": "Name", + "parts_price": "Parts price", + "set_price": "Set price", + "difference": "Difference", + "generated_at": "Generated at" + }, + "ru": { + "title": "Market Gaps", + "description": "Находите выгоду между покупкой сета по отдельности и продажей его в собранном виде.", + "filter_by_difference": "Фильтровать по разнице:", + "name": "Название", + "parts_price": "Стоимость частей", + "set_price": "Стоимость сета", + "difference": "Разница", + "generated_at": "Сгенерировано в" + } +} \ No newline at end of file diff --git a/src/output/index.js b/src/output/index.js index ab06236..125c95c 100644 --- a/src/output/index.js +++ b/src/output/index.js @@ -1,6 +1,7 @@ const fs = require('fs') const Handlebars = require('handlebars') -const OutputItem = require('./OutputItem') +const ListingSet = require('./ListingSet') +const i18n = require('./i18n.json') class Output { constructor () { @@ -9,18 +10,15 @@ class Output { } addItem (...p) { - this.items.push(new OutputItem(...p)) + this.items.push(new ListingSet(...p)) } - async compileTemplate () { + async _compileTemplate () { const templateFile = await fs.readFileSync('./src/output/template.hbs', 'utf8') - const template = Handlebars.compile(templateFile) - return template(this) + return Handlebars.compile(templateFile) } - async writeToFile (content) { - const filename = './public/index.html' - + async _writeToFile (filename, content) { try { await fs.unlinkSync(filename) } catch { @@ -31,8 +29,16 @@ class Output { async submit () { this.timestamp = new Date() - const content = await this.compileTemplate() - await this.writeToFile(content) + const template = await this._compileTemplate() + + Object.keys(i18n).forEach(locale => { + const filename = locale === 'en' ? 'index' : locale + this._writeToFile(`./public/${filename}.html`, template({ + ...this, + t: i18n[locale], + languages: Object.keys(i18n).filter(language => language !== locale) + })) + }) } } diff --git a/src/output/template.hbs b/src/output/template.hbs index 267fc1f..83df8b4 100644 --- a/src/output/template.hbs +++ b/src/output/template.hbs @@ -28,16 +28,24 @@
-

Market Gaps

-

Find a profitable difference between the price of the set and the price of the sum of it's parts.

+

{{t.title}}

+

{{t.description}}

+ +
+ {{#each languages}} + + + + {{/each}} +
- + 1
@@ -45,10 +53,10 @@ - - - - + + + + @@ -69,7 +77,7 @@
- Generated at {{timestamp}} + {{t.generated_at}} {{timestamp}}
NameParts priceSet priceDifference{{t.name}}{{t.parts_price}}{{t.set_price}}{{t.difference}}