Skip to content
This repository has been archived by the owner on Jan 19, 2024. It is now read-only.

Commit

Permalink
Add i18n and ja locale
Browse files Browse the repository at this point in the history
- New dependency 'i18n'
- Form labels, headings and button labels are localizable
  • Loading branch information
Takahisa Hasegawa committed Jul 8, 2017
1 parent 0610dc2 commit aeda2fa
Show file tree
Hide file tree
Showing 14 changed files with 77 additions and 48 deletions.
6 changes: 6 additions & 0 deletions app.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
var express = require('express');
var i18n = require('i18n');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
Expand All @@ -18,6 +19,7 @@ app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(i18n.init);
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', routes);
Expand Down Expand Up @@ -53,5 +55,9 @@ app.use(function(err, req, res, next) {
});
});

i18n.configure({
locales:['en', 'ja'],
directory: __dirname + '/locales'
});

module.exports = app;
3 changes: 3 additions & 0 deletions locales/en.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"Hash": "Hash"
}
19 changes: 19 additions & 0 deletions locales/ja.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"Hash": "ハッシュ",
"Data": "データ",
"Block": "ブロック",
"Nonce": "ノンス",
"Mine": "掘る",
"Blockchain Demo": "ブロックチェーンデモ",
"Blockchain": "ブロックチェーン",
"Distributed": "分散",
"Tokens": "トークン",
"Coinbase": "コインベース",
"Prev": "",
"Distributed Blockchain": "分散ブロックチェーン",
"Peer": "ピア",
"Tx": "取引",
"$": "¥",
"From": "送信元",
"Coinbase Transactions": "コインベース取引"
}
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@
"cookie-parser": "^1.4.3",
"body-parser": "~1.15.2",
"debug": "~2.2.0",
"jade": "~1.11.0"
"jade": "~1.11.0",
"i18n": "0.8.3"
},
"homepage": "https://github.com/anders94/blockchain-demo#readme",
"maintainers": [
Expand Down
12 changes: 6 additions & 6 deletions views/block.jade
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,29 @@ extends layout

block content
.container
h1 Block
h1 #{__('Block')}
.well#block1chain1well
form.form-horizontal

.form-group
label.col-sm-2.control-label(for='block1chain1number') Block:
label.col-sm-2.control-label(for='block1chain1number') #{__('Block')}:
.col-sm-10
.input-group
span.input-group-addon #
input#block1chain1number.form-control(type='text', value='1' onkeyup='updateHash(1, 1);')

.form-group
label.col-sm-2.control-label(for='block1chain1nonce') Nonce:
label.col-sm-2.control-label(for='block1chain1nonce') #{__('Nonce')}:
.col-sm-10
input#block1chain1nonce.form-control(type='text', value='72608', onkeyup='updateHash(1, 1);')

.form-group
label.col-sm-2.control-label(for='block1chain1data') Data:
label.col-sm-2.control-label(for='block1chain1data') #{__('Data')}:
.col-sm-10
textarea#block1chain1data.form-control(rows='10', onkeyup='updateHash(1, 1);')

#state.form-group
label.col-sm-2.control-label(for='block1chain1hash') Hash:
label.col-sm-2.control-label(for='block1chain1hash') #{__('Hash')}:
.col-sm-10
input#block1chain1hash.form-control(type='text', disabled)

Expand All @@ -33,7 +33,7 @@ block content
i.icon-spinner.icon-spin.icon-large
.col-sm-10
button#block1chain1mineButton.btn.btn-primary.ladda-button(data-style='expand-right')
span.ladda-label Mine
span.ladda-label #{__('Mine')}

script.
$(function() {
Expand Down
2 changes: 1 addition & 1 deletion views/blockchain.jade
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ extends layout

block content
.container-fluid
h1 Blockchain
h1 #{__('Blockchain')}
.row.row-horizon
- var blocks = []
- blocks.push({block: 1, chain: 1, nonce: 11316, previous: '0000000000000000000000000000000000000000000000000000000000000000'})
Expand Down
4 changes: 2 additions & 2 deletions views/coinbase.jade
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ extends layout

block content
.container-fluid
h1 Coinbase Transactions
h1 #{__('Coinbase Transactions')}
- var peers = {1: 'A', 2: 'B', 3: 'C'}
- each peer, chain in peers
h3 Peer #{peer}
h3 #{__('Peer')} #{peer}
.row.row-horizon
- var blocks = []
- blocks.push({block: 1, chain: chain, nonce: 16651, coinbasevalue: '100.00', coinbaseto: 'Anders', txs: [], previous: '0000000000000000000000000000000000000000000000000000000000000000'})
Expand Down
4 changes: 2 additions & 2 deletions views/distributed.jade
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ extends layout

block content
.container-fluid
h1 Distributed Blockchain
h1 #{__('Distributed Blockchain')}
- var peers = {1: 'A', 2: 'B', 3: 'C'}
- each peer, chain in peers
h3 Peer #{peer}
h3 #{__('Peer')} #{peer}
.row.row-horizon
- var blocks = []
- blocks.push({block: 1, chain: chain, nonce: 11316, previous: '0000000000000000000000000000000000000000000000000000000000000000'})
Expand Down
6 changes: 3 additions & 3 deletions views/hash.jade
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@ extends layout
block content
.container

h1 SHA256 Hash
h1 SHA256 #{__('Hash')}
.well#well1
form.form-horizontal

.form-group
label.col-sm-2.control-label(for='data') Data:
label.col-sm-2.control-label(for='data') #{__('Data')}:
.col-sm-10
textarea#data.form-control(rows='10', onkeyup='$("#hash").val(sha256())')

.form-group
label.col-sm-2.control-label(for='hash') Hash:
label.col-sm-2.control-label(for='hash') #{__('Hash')}:
.col-sm-10
input#hash.form-control(type='text', disabled)

Expand Down
12 changes: 6 additions & 6 deletions views/includes/block.jade
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,29 @@
form.form-horizontal

.form-group
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}number') Block:
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}number') #{__('Block')}:
.col-sm-10
.input-group
span.input-group-addon #
input.form-control(id='block#{block.block}chain#{block.chain}number', type='text', value='#{block.block}' onkeyup='updateChain(#{block.block}, #{block.chain});')

.form-group
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}nonce') Nonce:
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}nonce') #{__('Nonce')}:
.col-sm-10
input.form-control(id='block#{block.block}chain#{block.chain}nonce', type='text', value='#{block.nonce}', onkeyup='updateChain(#{block.block}, #{block.chain});')

.form-group
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}data') Data:
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}data') #{__('Data')}:
.col-sm-10
textarea.form-control(id='block#{block.block}chain#{block.chain}data', rows='10', onkeyup='updateChain(#{block.block}, #{block.chain});')

#state.form-group
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}previous') Prev:
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}previous') #{__('Prev')}:
.col-sm-10
input.form-control(id='block#{block.block}chain#{block.chain}previous', type='text', value='#{block.previous}', disabled)

#state.form-group
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}hash') Hash:
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}hash') #{__('Hash')}:
.col-sm-10
input.form-control(id='block#{block.block}chain#{block.chain}hash', type='text', disabled)

Expand All @@ -33,4 +33,4 @@
i.icon-spinner.icon-spin.icon-large
.col-sm-10
button.btn.btn-primary.ladda-button(id='block#{block.block}chain#{block.chain}mineButton', data-style='expand-right')
span.ladda-label Mine
span.ladda-label #{__('Mine')}
20 changes: 10 additions & 10 deletions views/includes/coinbaseblock.jade
Original file line number Diff line number Diff line change
Expand Up @@ -2,45 +2,45 @@
form.form-horizontal

.form-group
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}number') Block:
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}number') #{__('Block')}:
.col-sm-10
.input-group
span.input-group-addon #
input.form-control(id='block#{block.block}chain#{block.chain}number', type='text', value='#{block.block}' onkeyup='updateChain(#{block.block}, #{block.chain});')

.form-group
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}nonce') Nonce:
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}nonce') #{__('Nonce')}:
.col-sm-10
input.form-control(id='block#{block.block}chain#{block.chain}nonce', type='text', value='#{block.nonce}', onkeyup='updateChain(#{block.block}, #{block.chain});')

.form-group
label.col-sm-2.control-label Coinbase:
label.col-sm-2.control-label #{__('Coinbase')}:
.col-sm-10
.input-group
.input-group-addon $
.input-group-addon #{__('$')}
input.form-control(id='block#{block.block}chain#{block.chain}coinbasevalue', type='text', value='#{block.coinbasevalue}', onkeyup='updateChain(#{block.block}, #{block.chain});')
.input-group-addon ->
input.form-control(id='block#{block.block}chain#{block.chain}coinbaseto', type='text', value='#{block.coinbaseto}', onkeyup='updateChain(#{block.block}, #{block.chain});')

.form-group
label.col-sm-2.control-label Tx:
label.col-sm-2.control-label #{__('Tx')}:
.col-sm-10
- each tx, x in block.txs
.input-group
.input-group-addon $
.input-group-addon #{__('$')}
input.form-control(id='block#{block.block}chain#{block.chain}tx#{x}value', type='text', value='#{tx.value}', onkeyup='updateChain(#{block.block}, #{block.chain});')
.input-group-addon From:
.input-group-addon #{__('From')}:
input.form-control(id='block#{block.block}chain#{block.chain}tx#{x}from', type='text', value='#{tx.from}', onkeyup='updateChain(#{block.block}, #{block.chain});')
.input-group-addon ->
input.form-control(id='block#{block.block}chain#{block.chain}tx#{x}to', type='text', value='#{tx.to}', onkeyup='updateChain(#{block.block}, #{block.chain});')

#state.form-group
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}previous') Prev:
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}previous') #{__('Prev')}:
.col-sm-10
input.form-control(id='block#{block.block}chain#{block.chain}previous', type='text', value='#{block.previous}')

#state.form-group
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}hash') Hash:
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}hash') #{__('Hash')}:
.col-sm-10
input.form-control(id='block#{block.block}chain#{block.chain}hash', type='text' disabled)

Expand All @@ -49,4 +49,4 @@
i.icon-spinner.icon-spin.icon-large
.col-sm-10
button.btn.btn-primary.ladda-button(id='block#{block.block}chain#{block.chain}mineButton', data-style='expand-right')
span.ladda-label Mine
span.ladda-label #{__('Mine')}
16 changes: 8 additions & 8 deletions views/includes/tokenblock.jade
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,36 @@
form.form-horizontal

.form-group
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}number') Block:
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}number') #{__('Block')}:
.col-sm-10
.input-group
span.input-group-addon #
input.form-control(id='block#{block.block}chain#{block.chain}number', type='text', value='#{block.block}' onkeyup='updateChain(#{block.block}, #{block.chain});')

.form-group
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}nonce') Nonce:
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}nonce') #{__('Nonce')}:
.col-sm-10
input.form-control(id='block#{block.block}chain#{block.chain}nonce', type='text', value='#{block.nonce}', onkeyup='updateChain(#{block.block}, #{block.chain});')

.form-group
label.col-sm-2.control-label Tx:
label.col-sm-2.control-label #{__('Tx')}:
.col-sm-10
- each tx, x in block.txs
.input-group
.input-group-addon $
.input-group-addon #{__('$')}
input.form-control(id='block#{block.block}chain#{block.chain}tx#{x}value', type='text', value='#{tx.value}', onkeyup='updateChain(#{block.block}, #{block.chain});')
.input-group-addon From:
.input-group-addon #{__('From')}:
input.form-control(id='block#{block.block}chain#{block.chain}tx#{x}from', type='text', value='#{tx.from}', onkeyup='updateChain(#{block.block}, #{block.chain});')
.input-group-addon ->
input.form-control(id='block#{block.block}chain#{block.chain}tx#{x}to', type='text', value='#{tx.to}', onkeyup='updateChain(#{block.block}, #{block.chain});')

#state.form-group
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}previous') Prev:
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}previous') #{__('Prev')}:
.col-sm-10
input.form-control(id='block#{block.block}chain#{block.chain}previous', type='text', value='#{block.previous}')

#state.form-group
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}hash') Hash:
label.col-sm-2.control-label(for='block#{block.block}chain#{block.chain}hash') #{__('Hash')}:
.col-sm-10
input.form-control(id='block#{block.block}chain#{block.chain}hash', type='text' disabled)

Expand All @@ -40,4 +40,4 @@
i.icon-spinner.icon-spin.icon-large
.col-sm-10
button.btn.btn-primary.ladda-button(id='block#{block.block}chain#{block.chain}mineButton', data-style='expand-right')
span.ladda-label Mine
span.ladda-label #{__('Mine')}
14 changes: 7 additions & 7 deletions views/layout.jade
Original file line number Diff line number Diff line change
Expand Up @@ -34,20 +34,20 @@ html
span.icon-bar
span.icon-bar
span.icon-bar
a.navbar-brand(href='/') Blockchain Demo
a.navbar-brand(href='/') #{__('Blockchain Demo')}
#navbar.collapse.navbar-collapse
ul.nav.navbar-nav.navbar-right
li(class={active: page === 'hash'})
a(href='/hash') Hash
a(href='/hash') #{__('Hash')}
li(class={active: page === 'block'})
a(href='/block') Block
a(href='/block') #{__('Block')}
li(class={active: page === 'blockchain'})
a(href='/blockchain') Blockchain
a(href='/blockchain') #{__('Blockchain')}
li(class={active: page === 'distributed'})
a(href='/distributed') Distributed
a(href='/distributed') #{__('Distributed')}
li(class={active: page === 'tokens'})
a(href='/tokens') Tokens
a(href='/tokens') #{__('Tokens')}
li(class={active: page === 'coinbase'})
a(href='/coinbase') Coinbase
a(href='/coinbase') #{__('Coinbase')}

block content
4 changes: 2 additions & 2 deletions views/tokens.jade
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ extends layout

block content
.container-fluid
h1 Tokens
h1 #{__('Tokens')}
- var peers = {1: 'A', 2: 'B', 3: 'C'}
- each peer, chain in peers
h3 Peer #{peer}
h3 #{__('Peer')} #{peer}
.row.row-horizon
- var blocks = []
- blocks.push({block: 1, chain: chain, nonce: 139358, txs: [{value: '25.00', from: 'Darcy', to: 'Bingley'},{value: '4.27', from: 'Elizabeth', to: 'Jane'},{value: '19.22', from: 'Wickham', to: 'Lydia'},{value: '106.44', from: 'Lady Catherine de Bourgh', to: 'Collins'},{value: '6.42', from: 'Charlotte', to: 'Elizabeth'}], previous: '0000000000000000000000000000000000000000000000000000000000000000'})
Expand Down

0 comments on commit aeda2fa

Please sign in to comment.