2020-03-05 16:13:46 +07:00
< div class = "container-xl" >
2020-02-16 22:15:07 +07:00
2020-02-19 23:50:23 +07:00
< div class = "title-block" >
2020-06-08 18:55:53 +07:00
< div * ngIf = "rbfTransaction" class = "alert alert-mempool" role = "alert" >
2021-05-18 11:56:42 -03:00
< span i18n = "transaction.rbf.replacement|RBF replacement" > This transaction has been replaced by:< / span >
2020-06-08 18:55:53 +07:00
< a class = "alert-link" [ routerLink ] = " [ ' / tx / ' | relativeUrl , rbfTransaction . txid ] " [ state ] = " { data: rbfTransaction } " >
< span class = "d-inline d-lg-none" > {{ rbfTransaction.txid | shortenString : 24 }}< / span >
< span class = "d-none d-lg-inline" > {{ rbfTransaction.txid }}< / span >
< / a >
< / div >
2021-07-06 13:56:32 -03:00
< div >
< div class = "title" >
< h1 i18n = "shared.transaction" > Transaction< / h1 >
< / div >
2020-03-10 14:46:12 +07:00
2021-07-06 13:56:32 -03:00
< div class = "tx-link" >
< a [ routerLink ] = " [ ' / tx / ' | relativeUrl , txId ] " >
< span class = "d-inline d-lg-none" > {{ txId | shortenString : 24 }}< / span >
< span class = "d-none d-lg-inline" > {{ txId }}< / span >
< / a >
< app-clipboard [ text ] = " txId " > < / app-clipboard >
< / div >
2021-05-03 10:11:30 -03:00
2021-07-06 13:56:32 -03:00
< div class = "container-buttons" >
< ng-template [ ngIf ] = " tx ? . status ? . confirmed " >
< button * ngIf = "latestBlock" type = "button" class = "btn btn-sm btn-success" >
< ng-container * ngTemplateOutlet = "latestBlock.height - tx.status.block_height + 1 == 1 ? confirmationSingular : confirmationPlural; context: {$implicit: latestBlock.height - tx.status.block_height + 1}" > < / ng-container >
< ng-template # confirmationSingular let-i i18n = "shared.confirmation-count.singular|Transaction singular confirmation count" > {{ i }} confirmation< / ng-template >
< ng-template # confirmationPlural let-i i18n = "shared.confirmation-count.plural|Transaction plural confirmation count" > {{ i }} confirmations< / ng-template >
< / button >
< / ng-template >
< ng-template [ ngIf ] = " tx & & ! tx ? . status . confirmed " >
< button type = "button" class = "btn btn-sm btn-danger" i18n = "transaction.unconfirmed|Transaction unconfirmed state" > Unconfirmed< / button >
< / ng-template >
< / div >
2021-05-03 10:11:30 -03:00
< / div >
2021-05-18 11:56:42 -03:00
< / div >
2020-03-25 02:55:26 +07:00
< div class = "clearfix" > < / div >
2020-02-16 22:15:07 +07:00
< ng-template [ ngIf ] = " ! isLoadingTx & & ! error " >
< ng-template [ ngIf ] = " tx . status . confirmed " [ ngIfElse ] = " unconfirmedTemplate " >
< div class = "box" >
2020-03-23 04:07:31 +07:00
< div class = "row" >
< div class = "col-sm" >
< table class = "table table-borderless table-striped" >
< tbody >
2020-08-09 10:44:01 +07:00
< tr >
Implement i18n support in frontend using Angular + Transifex + NGINX
This PR adds basic i18n support into the mempool frontend, together with
a smooth workflow for developers and translators to collaborate:
* Using the existing @angular/localize module, developers add i18n
metadata to any frontend strings their new features or changes modify
* Using the new npm script `i18n-extract-from-source`, developers
extract the i18n data from source code into `src/locale/messages.xlf`
* After pushing the updated `src/locale/messages.xlf` to GitHub, the
Transifex service will update its database from the new source data
* Using the Transifex website UI, translators can work together to
translate all the mempool frontend strings into their native languages
* Using the new npm script `i18n-pull-from-transifex`, developers can
pull in completed translations from Transifex, and commit them into git.
This flow requires an API key from Transifex, which can be obtained at
https://www.transifex.com/user/settings/api/ to be used with the python
script installed by `pip install transifex-client` - after preparing
these, run the npm script which will ask you for the API key the first
time. When downloading is complete, you can test building the frontend,
and if successful, commit the new strings files into git.
This PR implements a new locale selector in the footer of the homepage
dashboard, and includes WIP translations for the following languages:
* Czech (cs)
* German (de)
* Japanese (ja)
* Norwegian (nn)
* Spanish (es)
* Swedish (sv)
* Ukrainian (uk)
* Persian (fa)
* Portugese (pt)
* Turkish (tr)
* Dutch (nl)
* French (fr)
* Chinese (zh)
* Slovenian (sl)
* Korean (ko)
* Polish (pl)
The user-agent's `Accept-Language` header is used to automatically
detect their preferred language, which can be manually overriden by the
pull-down selector, which saves their preference to a cookie, which is
used by nginx to serve the correct HTML bundle to the user.
Remaining tasks include adding i18n metadata for strings in the Bisq and
Liquid frontend code, mouseover hover tooltip strings, hard-coded og
metadata inside HTML templates, and many other places. This will be done
in a separate PR.
When upgrading to add i18n support, mempool instance operators must take
care to install the new nginx.conf and nginx-mempool.conf files, and
tweak for their specific site configuration.
Fixes #81
2020-12-02 04:19:33 +09:00
< td i18n = "transaction.timestamp|Transaction Timestamp" > Timestamp< / td >
2020-08-09 10:44:01 +07:00
< td >
{{ tx.status.block_time * 1000 | date:'yyyy-MM-dd HH:mm' }}
< div class = "lg-inline" >
2021-05-18 11:20:17 -03:00
< i class = "symbol" > (< app-time-since [ time ] = " tx . status . block_time " [ fastRender ] = " true " > < / app-time-since > )< / i >
2020-08-09 10:44:01 +07:00
< / div >
< / td >
< / tr >
2020-09-29 18:27:44 +07:00
< tr * ngIf = "latestBlock && tx.status.block_height <= latestBlock.height - 8" >
Implement i18n support in frontend using Angular + Transifex + NGINX
This PR adds basic i18n support into the mempool frontend, together with
a smooth workflow for developers and translators to collaborate:
* Using the existing @angular/localize module, developers add i18n
metadata to any frontend strings their new features or changes modify
* Using the new npm script `i18n-extract-from-source`, developers
extract the i18n data from source code into `src/locale/messages.xlf`
* After pushing the updated `src/locale/messages.xlf` to GitHub, the
Transifex service will update its database from the new source data
* Using the Transifex website UI, translators can work together to
translate all the mempool frontend strings into their native languages
* Using the new npm script `i18n-pull-from-transifex`, developers can
pull in completed translations from Transifex, and commit them into git.
This flow requires an API key from Transifex, which can be obtained at
https://www.transifex.com/user/settings/api/ to be used with the python
script installed by `pip install transifex-client` - after preparing
these, run the npm script which will ask you for the API key the first
time. When downloading is complete, you can test building the frontend,
and if successful, commit the new strings files into git.
This PR implements a new locale selector in the footer of the homepage
dashboard, and includes WIP translations for the following languages:
* Czech (cs)
* German (de)
* Japanese (ja)
* Norwegian (nn)
* Spanish (es)
* Swedish (sv)
* Ukrainian (uk)
* Persian (fa)
* Portugese (pt)
* Turkish (tr)
* Dutch (nl)
* French (fr)
* Chinese (zh)
* Slovenian (sl)
* Korean (ko)
* Polish (pl)
The user-agent's `Accept-Language` header is used to automatically
detect their preferred language, which can be manually overriden by the
pull-down selector, which saves their preference to a cookie, which is
used by nginx to serve the correct HTML bundle to the user.
Remaining tasks include adding i18n metadata for strings in the Bisq and
Liquid frontend code, mouseover hover tooltip strings, hard-coded og
metadata inside HTML templates, and many other places. This will be done
in a separate PR.
When upgrading to add i18n support, mempool instance operators must take
care to install the new nginx.conf and nginx-mempool.conf files, and
tweak for their specific site configuration.
Fixes #81
2020-12-02 04:19:33 +09:00
< td class = "td-width" i18n = "transaction.included-in-block|Transaction included in block" > Included in block< / td >
2020-03-23 04:07:31 +07:00
< td >
2020-05-09 20:37:50 +07:00
< a [ routerLink ] = " [ ' / block / ' | relativeUrl , tx . status . block_hash ] " [ state ] = " { data: { blockHeight: tx . status . block_height } } " > {{ tx.status.block_height }}< / a >
2020-03-23 04:07:31 +07:00
< / td >
< / tr >
< ng-template [ ngIf ] = " transactionTime > 0">
< tr >
Implement i18n support in frontend using Angular + Transifex + NGINX
This PR adds basic i18n support into the mempool frontend, together with
a smooth workflow for developers and translators to collaborate:
* Using the existing @angular/localize module, developers add i18n
metadata to any frontend strings their new features or changes modify
* Using the new npm script `i18n-extract-from-source`, developers
extract the i18n data from source code into `src/locale/messages.xlf`
* After pushing the updated `src/locale/messages.xlf` to GitHub, the
Transifex service will update its database from the new source data
* Using the Transifex website UI, translators can work together to
translate all the mempool frontend strings into their native languages
* Using the new npm script `i18n-pull-from-transifex`, developers can
pull in completed translations from Transifex, and commit them into git.
This flow requires an API key from Transifex, which can be obtained at
https://www.transifex.com/user/settings/api/ to be used with the python
script installed by `pip install transifex-client` - after preparing
these, run the npm script which will ask you for the API key the first
time. When downloading is complete, you can test building the frontend,
and if successful, commit the new strings files into git.
This PR implements a new locale selector in the footer of the homepage
dashboard, and includes WIP translations for the following languages:
* Czech (cs)
* German (de)
* Japanese (ja)
* Norwegian (nn)
* Spanish (es)
* Swedish (sv)
* Ukrainian (uk)
* Persian (fa)
* Portugese (pt)
* Turkish (tr)
* Dutch (nl)
* French (fr)
* Chinese (zh)
* Slovenian (sl)
* Korean (ko)
* Polish (pl)
The user-agent's `Accept-Language` header is used to automatically
detect their preferred language, which can be manually overriden by the
pull-down selector, which saves their preference to a cookie, which is
used by nginx to serve the correct HTML bundle to the user.
Remaining tasks include adding i18n metadata for strings in the Bisq and
Liquid frontend code, mouseover hover tooltip strings, hard-coded og
metadata inside HTML templates, and many other places. This will be done
in a separate PR.
When upgrading to add i18n support, mempool instance operators must take
care to install the new nginx.conf and nginx-mempool.conf files, and
tweak for their specific site configuration.
Fixes #81
2020-12-02 04:19:33 +09:00
< td i18n = "transaction.confirmed|Transaction Confirmed state" > Confirmed< / td >
2021-07-17 08:58:16 -03:00
< td > < app-time-span [ time ] = " tx . status . block_time - transactionTime " [ fastRender ] = " true " > < / app-time-span > < / td >
2020-03-23 04:07:31 +07:00
< / tr >
< / ng-template >
2020-07-19 14:54:42 +07:00
< tr * ngIf = "network !== 'liquid'" >
Implement i18n support in frontend using Angular + Transifex + NGINX
This PR adds basic i18n support into the mempool frontend, together with
a smooth workflow for developers and translators to collaborate:
* Using the existing @angular/localize module, developers add i18n
metadata to any frontend strings their new features or changes modify
* Using the new npm script `i18n-extract-from-source`, developers
extract the i18n data from source code into `src/locale/messages.xlf`
* After pushing the updated `src/locale/messages.xlf` to GitHub, the
Transifex service will update its database from the new source data
* Using the Transifex website UI, translators can work together to
translate all the mempool frontend strings into their native languages
* Using the new npm script `i18n-pull-from-transifex`, developers can
pull in completed translations from Transifex, and commit them into git.
This flow requires an API key from Transifex, which can be obtained at
https://www.transifex.com/user/settings/api/ to be used with the python
script installed by `pip install transifex-client` - after preparing
these, run the npm script which will ask you for the API key the first
time. When downloading is complete, you can test building the frontend,
and if successful, commit the new strings files into git.
This PR implements a new locale selector in the footer of the homepage
dashboard, and includes WIP translations for the following languages:
* Czech (cs)
* German (de)
* Japanese (ja)
* Norwegian (nn)
* Spanish (es)
* Swedish (sv)
* Ukrainian (uk)
* Persian (fa)
* Portugese (pt)
* Turkish (tr)
* Dutch (nl)
* French (fr)
* Chinese (zh)
* Slovenian (sl)
* Korean (ko)
* Polish (pl)
The user-agent's `Accept-Language` header is used to automatically
detect their preferred language, which can be manually overriden by the
pull-down selector, which saves their preference to a cookie, which is
used by nginx to serve the correct HTML bundle to the user.
Remaining tasks include adding i18n metadata for strings in the Bisq and
Liquid frontend code, mouseover hover tooltip strings, hard-coded og
metadata inside HTML templates, and many other places. This will be done
in a separate PR.
When upgrading to add i18n support, mempool instance operators must take
care to install the new nginx.conf and nginx-mempool.conf files, and
tweak for their specific site configuration.
Fixes #81
2020-12-02 04:19:33 +09:00
< td class = "td-width" i18n = "transaction.features|Transaction features" > Features< / td >
2020-07-19 14:54:42 +07:00
< td >
< app-tx-features [ tx ] = " tx " > < / app-tx-features >
< / td >
< / tr >
2020-03-23 04:07:31 +07:00
< / tbody >
< / table >
< / div >
< div class = "col-sm" >
2021-03-18 23:47:40 +07:00
< ng-container * ngTemplateOutlet = "feeTable" > < / ng-container >
2020-03-23 04:07:31 +07:00
< / div >
< / div >
2020-02-16 22:15:07 +07:00
< / div >
< / ng-template >
< ng-template # unconfirmedTemplate >
< div class = "box" >
2020-03-23 04:07:31 +07:00
< div class = "row" >
< div class = "col-sm" >
< table class = "table table-borderless table-striped" >
< tbody >
< ng-template [ ngIf ] = " transactionTime ! = = 0 " >
< tr * ngIf = "transactionTime === -1; else firstSeenTmpl" >
< td > < span class = "skeleton-loader" > < / span > < / td >
< td > < span class = "skeleton-loader" > < / span > < / td >
< / tr >
< ng-template # firstSeenTmpl >
< tr >
Implement i18n support in frontend using Angular + Transifex + NGINX
This PR adds basic i18n support into the mempool frontend, together with
a smooth workflow for developers and translators to collaborate:
* Using the existing @angular/localize module, developers add i18n
metadata to any frontend strings their new features or changes modify
* Using the new npm script `i18n-extract-from-source`, developers
extract the i18n data from source code into `src/locale/messages.xlf`
* After pushing the updated `src/locale/messages.xlf` to GitHub, the
Transifex service will update its database from the new source data
* Using the Transifex website UI, translators can work together to
translate all the mempool frontend strings into their native languages
* Using the new npm script `i18n-pull-from-transifex`, developers can
pull in completed translations from Transifex, and commit them into git.
This flow requires an API key from Transifex, which can be obtained at
https://www.transifex.com/user/settings/api/ to be used with the python
script installed by `pip install transifex-client` - after preparing
these, run the npm script which will ask you for the API key the first
time. When downloading is complete, you can test building the frontend,
and if successful, commit the new strings files into git.
This PR implements a new locale selector in the footer of the homepage
dashboard, and includes WIP translations for the following languages:
* Czech (cs)
* German (de)
* Japanese (ja)
* Norwegian (nn)
* Spanish (es)
* Swedish (sv)
* Ukrainian (uk)
* Persian (fa)
* Portugese (pt)
* Turkish (tr)
* Dutch (nl)
* French (fr)
* Chinese (zh)
* Slovenian (sl)
* Korean (ko)
* Polish (pl)
The user-agent's `Accept-Language` header is used to automatically
detect their preferred language, which can be manually overriden by the
pull-down selector, which saves their preference to a cookie, which is
used by nginx to serve the correct HTML bundle to the user.
Remaining tasks include adding i18n metadata for strings in the Bisq and
Liquid frontend code, mouseover hover tooltip strings, hard-coded og
metadata inside HTML templates, and many other places. This will be done
in a separate PR.
When upgrading to add i18n support, mempool instance operators must take
care to install the new nginx.conf and nginx-mempool.conf files, and
tweak for their specific site configuration.
Fixes #81
2020-12-02 04:19:33 +09:00
< td i18n = "transaction.first-seen|Transaction first seen" > First seen< / td >
< td > < i > < app-time-since [ time ] = " transactionTime " [ fastRender ] = " true " > < / app-time-since > < / i > < / td >
2020-03-23 04:07:31 +07:00
< / tr >
< / ng-template >
< / ng-template >
2020-02-28 01:09:07 +07:00
< tr >
Implement i18n support in frontend using Angular + Transifex + NGINX
This PR adds basic i18n support into the mempool frontend, together with
a smooth workflow for developers and translators to collaborate:
* Using the existing @angular/localize module, developers add i18n
metadata to any frontend strings their new features or changes modify
* Using the new npm script `i18n-extract-from-source`, developers
extract the i18n data from source code into `src/locale/messages.xlf`
* After pushing the updated `src/locale/messages.xlf` to GitHub, the
Transifex service will update its database from the new source data
* Using the Transifex website UI, translators can work together to
translate all the mempool frontend strings into their native languages
* Using the new npm script `i18n-pull-from-transifex`, developers can
pull in completed translations from Transifex, and commit them into git.
This flow requires an API key from Transifex, which can be obtained at
https://www.transifex.com/user/settings/api/ to be used with the python
script installed by `pip install transifex-client` - after preparing
these, run the npm script which will ask you for the API key the first
time. When downloading is complete, you can test building the frontend,
and if successful, commit the new strings files into git.
This PR implements a new locale selector in the footer of the homepage
dashboard, and includes WIP translations for the following languages:
* Czech (cs)
* German (de)
* Japanese (ja)
* Norwegian (nn)
* Spanish (es)
* Swedish (sv)
* Ukrainian (uk)
* Persian (fa)
* Portugese (pt)
* Turkish (tr)
* Dutch (nl)
* French (fr)
* Chinese (zh)
* Slovenian (sl)
* Korean (ko)
* Polish (pl)
The user-agent's `Accept-Language` header is used to automatically
detect their preferred language, which can be manually overriden by the
pull-down selector, which saves their preference to a cookie, which is
used by nginx to serve the correct HTML bundle to the user.
Remaining tasks include adding i18n metadata for strings in the Bisq and
Liquid frontend code, mouseover hover tooltip strings, hard-coded og
metadata inside HTML templates, and many other places. This will be done
in a separate PR.
When upgrading to add i18n support, mempool instance operators must take
care to install the new nginx.conf and nginx-mempool.conf files, and
tweak for their specific site configuration.
Fixes #81
2020-12-02 04:19:33 +09:00
< td class = "td-width" i18n = "transaction.eta|Transaction ETA" > ETA< / td >
2020-03-23 04:07:31 +07:00
< td >
< ng-template [ ngIf ] = " txInBlockIndex = == undefined " [ ngIfElse ] = " estimationTmpl " >
< span class = "skeleton-loader" > < / span >
< / ng-template >
< ng-template # estimationTmpl >
2020-05-24 00:25:04 +07:00
< ng-template [ ngIf ] = " txInBlockIndex > = 7" [ngIfElse]="belowBlockLimit">
Implement i18n support in frontend using Angular + Transifex + NGINX
This PR adds basic i18n support into the mempool frontend, together with
a smooth workflow for developers and translators to collaborate:
* Using the existing @angular/localize module, developers add i18n
metadata to any frontend strings their new features or changes modify
* Using the new npm script `i18n-extract-from-source`, developers
extract the i18n data from source code into `src/locale/messages.xlf`
* After pushing the updated `src/locale/messages.xlf` to GitHub, the
Transifex service will update its database from the new source data
* Using the Transifex website UI, translators can work together to
translate all the mempool frontend strings into their native languages
* Using the new npm script `i18n-pull-from-transifex`, developers can
pull in completed translations from Transifex, and commit them into git.
This flow requires an API key from Transifex, which can be obtained at
https://www.transifex.com/user/settings/api/ to be used with the python
script installed by `pip install transifex-client` - after preparing
these, run the npm script which will ask you for the API key the first
time. When downloading is complete, you can test building the frontend,
and if successful, commit the new strings files into git.
This PR implements a new locale selector in the footer of the homepage
dashboard, and includes WIP translations for the following languages:
* Czech (cs)
* German (de)
* Japanese (ja)
* Norwegian (nn)
* Spanish (es)
* Swedish (sv)
* Ukrainian (uk)
* Persian (fa)
* Portugese (pt)
* Turkish (tr)
* Dutch (nl)
* French (fr)
* Chinese (zh)
* Slovenian (sl)
* Korean (ko)
* Polish (pl)
The user-agent's `Accept-Language` header is used to automatically
detect their preferred language, which can be manually overriden by the
pull-down selector, which saves their preference to a cookie, which is
used by nginx to serve the correct HTML bundle to the user.
Remaining tasks include adding i18n metadata for strings in the Bisq and
Liquid frontend code, mouseover hover tooltip strings, hard-coded og
metadata inside HTML templates, and many other places. This will be done
in a separate PR.
When upgrading to add i18n support, mempool instance operators must take
care to install the new nginx.conf and nginx-mempool.conf files, and
tweak for their specific site configuration.
Fixes #81
2020-12-02 04:19:33 +09:00
< span i18n = "transaction.eta.in-several-hours|Transaction ETA in several hours or more" > In several hours (or more)< / span >
2020-03-25 21:29:40 +07:00
< / ng-template >
2020-05-24 00:25:04 +07:00
< ng-template # belowBlockLimit >
< ng-template [ ngIf ] = " network = == ' liquid ' " [ ngIfElse ] = " timeEstimateDefault " >
2021-07-24 19:26:29 -03:00
< app-time-until [ time ] = " ( 60 * 1000 * txInBlockIndex ) + now " [ fastRender ] = " false " [ fixedRender ] = " true " > < / app-time-until >
2020-05-24 00:25:04 +07:00
< / ng-template >
< ng-template # timeEstimateDefault >
2021-07-31 19:25:24 -03:00
< app-time-until * ngIf = "(timeAvg$ | async) as timeAvg;" [ time ] = " ( timeAvg * txInBlockIndex ) + now + timeAvg " [ fastRender ] = " false " [ fixedRender ] = " true " [ forceFloorOnTimeIntervals ] = " [ ' hour ' ] " > < / app-time-until >
2020-05-24 00:25:04 +07:00
< / ng-template >
2020-03-25 21:29:40 +07:00
< / ng-template >
2020-03-23 04:07:31 +07:00
< / ng-template >
< / td >
2020-02-28 01:09:07 +07:00
< / tr >
2020-07-19 14:54:42 +07:00
< tr * ngIf = "network !== 'liquid'" >
Implement i18n support in frontend using Angular + Transifex + NGINX
This PR adds basic i18n support into the mempool frontend, together with
a smooth workflow for developers and translators to collaborate:
* Using the existing @angular/localize module, developers add i18n
metadata to any frontend strings their new features or changes modify
* Using the new npm script `i18n-extract-from-source`, developers
extract the i18n data from source code into `src/locale/messages.xlf`
* After pushing the updated `src/locale/messages.xlf` to GitHub, the
Transifex service will update its database from the new source data
* Using the Transifex website UI, translators can work together to
translate all the mempool frontend strings into their native languages
* Using the new npm script `i18n-pull-from-transifex`, developers can
pull in completed translations from Transifex, and commit them into git.
This flow requires an API key from Transifex, which can be obtained at
https://www.transifex.com/user/settings/api/ to be used with the python
script installed by `pip install transifex-client` - after preparing
these, run the npm script which will ask you for the API key the first
time. When downloading is complete, you can test building the frontend,
and if successful, commit the new strings files into git.
This PR implements a new locale selector in the footer of the homepage
dashboard, and includes WIP translations for the following languages:
* Czech (cs)
* German (de)
* Japanese (ja)
* Norwegian (nn)
* Spanish (es)
* Swedish (sv)
* Ukrainian (uk)
* Persian (fa)
* Portugese (pt)
* Turkish (tr)
* Dutch (nl)
* French (fr)
* Chinese (zh)
* Slovenian (sl)
* Korean (ko)
* Polish (pl)
The user-agent's `Accept-Language` header is used to automatically
detect their preferred language, which can be manually overriden by the
pull-down selector, which saves their preference to a cookie, which is
used by nginx to serve the correct HTML bundle to the user.
Remaining tasks include adding i18n metadata for strings in the Bisq and
Liquid frontend code, mouseover hover tooltip strings, hard-coded og
metadata inside HTML templates, and many other places. This will be done
in a separate PR.
When upgrading to add i18n support, mempool instance operators must take
care to install the new nginx.conf and nginx-mempool.conf files, and
tweak for their specific site configuration.
Fixes #81
2020-12-02 04:19:33 +09:00
< td class = "td-width" i18n = "transaction.features|Transaction Features" > Features< / td >
2020-07-19 14:54:42 +07:00
< td >
< app-tx-features [ tx ] = " tx " > < / app-tx-features >
< / td >
< / tr >
2020-03-23 04:07:31 +07:00
< / tbody >
< / table >
< / div >
< div class = "col-sm" >
2021-03-18 23:47:40 +07:00
< ng-container * ngTemplateOutlet = "feeTable" > < / ng-container >
2020-03-23 04:07:31 +07:00
< / div >
< / div >
2020-02-16 22:15:07 +07:00
< / div >
< / ng-template >
2021-03-22 18:04:50 +07:00
< ng-template [ ngIf ] = " showCpfpDetails " >
< br >
< h2 class = "text-left" > CPFP < fa-icon [ icon ] = " [ ' fas ' , ' info-circle ' ] " [ fixedWidth ] = " true " size = "xs" > < / fa-icon > < / h2 >
< div class = "box" >
< table class = "table table-borderless table-striped" >
< thead >
< tr >
< th i18n = "transactions-list.vout.scriptpubkey-type" > Type< / th >
< th i18n = "dashboard.latest-transactions.txid" > TXID< / th >
< th class = "d-none d-lg-table-cell" i18n = "transaction.vsize|Transaction Virtual Size" > Virtual size< / th >
< th i18n = "transaction.fee-rate|Transaction fee rate" > Fee rate< / th >
< th class = "d-none d-lg-table-cell" > < / th >
< / tr >
< / thead >
< tbody >
< ng-template [ ngIf ] = " cpfpInfo . bestDescendant " >
< tr >
< td > < span class = "badge badge-success" i18n = "transaction.descendant|Descendant" > Descendant< / span > < / td >
< td >
< a [ routerLink ] = " [ ' / tx ' | relativeUrl , cpfpInfo . bestDescendant . txid ] " >
2021-05-18 11:20:17 -03:00
< span class = "d-inline d-lg-none" > {{ cpfpInfo.bestDescendant.txid | shortenString : 8 }}< / span >
2021-03-22 18:04:50 +07:00
< span class = "d-none d-lg-inline" > {{ cpfpInfo.bestDescendant.txid }}< / span >
< / a >
< / td >
2021-05-18 11:20:17 -03:00
< td class = "d-none d-lg-table-cell" [ innerHTML ] = " cpfpInfo . bestDescendant . weight / 4 | vbytes: 2 " > < / td >
2021-05-03 10:11:30 -03:00
< td > {{ cpfpInfo.bestDescendant.fee / (cpfpInfo.bestDescendant.weight / 4) | number : '1.1-1' }} < span class = "symbol" i18n = "shared.sat-vbyte|sat/vB" > sat/vB< / span > < / td >
2021-03-22 18:04:50 +07:00
< td class = "d-none d-lg-table-cell" > < fa-icon class = "arrow-green" [ icon ] = " [ ' fas ' , ' angle-double-up ' ] " [ fixedWidth ] = " true " > < / fa-icon > < / td >
< / tr >
< / ng-template >
< ng-template [ ngIf ] = " cpfpInfo . ancestors . length " >
< tr * ngFor = "let cpfpTx of cpfpInfo.ancestors" >
< td > < span class = "badge badge-primary" i18n = "transaction.ancestor|Transaction Ancestor" > Ancestor< / span > < / td >
< td > < a [ routerLink ] = " [ ' / tx ' | relativeUrl , cpfpTx . txid ] " >
2021-05-18 11:20:17 -03:00
< span class = "d-inline d-lg-none" > {{ cpfpTx.txid | shortenString : 8 }}< / span >
2021-03-22 18:04:50 +07:00
< span class = "d-none d-lg-inline" > {{ cpfpTx.txid }}< / span >
< / a >
< / td >
2021-05-18 11:20:17 -03:00
< td class = "d-none d-lg-table-cell" [ innerHTML ] = " cpfpTx . weight / 4 | vbytes: 2 " > < / td >
2021-05-03 10:11:30 -03:00
< td > {{ cpfpTx.fee / (cpfpTx.weight / 4) | number : '1.1-1' }} < span class = "symbol" i18n = "shared.sat-vbyte|sat/vB" > sat/vB< / span > < / td >
2021-04-10 23:23:05 +04:00
< td class = "d-none d-lg-table-cell" > < fa-icon * ngIf = "roundToOneDecimal(cpfpTx) < roundToOneDecimal(tx)" class = "arrow-red" [ icon ] = " [ ' fas ' , ' angle-double-down ' ] " [ fixedWidth ] = " true " > < / fa-icon > < / td >
2021-03-22 18:04:50 +07:00
< / tr >
< / ng-template >
< / tbody >
< / table >
< / div >
< / ng-template >
2020-04-13 01:26:53 +07:00
< br >
Implement i18n support in frontend using Angular + Transifex + NGINX
This PR adds basic i18n support into the mempool frontend, together with
a smooth workflow for developers and translators to collaborate:
* Using the existing @angular/localize module, developers add i18n
metadata to any frontend strings their new features or changes modify
* Using the new npm script `i18n-extract-from-source`, developers
extract the i18n data from source code into `src/locale/messages.xlf`
* After pushing the updated `src/locale/messages.xlf` to GitHub, the
Transifex service will update its database from the new source data
* Using the Transifex website UI, translators can work together to
translate all the mempool frontend strings into their native languages
* Using the new npm script `i18n-pull-from-transifex`, developers can
pull in completed translations from Transifex, and commit them into git.
This flow requires an API key from Transifex, which can be obtained at
https://www.transifex.com/user/settings/api/ to be used with the python
script installed by `pip install transifex-client` - after preparing
these, run the npm script which will ask you for the API key the first
time. When downloading is complete, you can test building the frontend,
and if successful, commit the new strings files into git.
This PR implements a new locale selector in the footer of the homepage
dashboard, and includes WIP translations for the following languages:
* Czech (cs)
* German (de)
* Japanese (ja)
* Norwegian (nn)
* Spanish (es)
* Swedish (sv)
* Ukrainian (uk)
* Persian (fa)
* Portugese (pt)
* Turkish (tr)
* Dutch (nl)
* French (fr)
* Chinese (zh)
* Slovenian (sl)
* Korean (ko)
* Polish (pl)
The user-agent's `Accept-Language` header is used to automatically
detect their preferred language, which can be manually overriden by the
pull-down selector, which saves their preference to a cookie, which is
used by nginx to serve the correct HTML bundle to the user.
Remaining tasks include adding i18n metadata for strings in the Bisq and
Liquid frontend code, mouseover hover tooltip strings, hard-coded og
metadata inside HTML templates, and many other places. This will be done
in a separate PR.
When upgrading to add i18n support, mempool instance operators must take
care to install the new nginx.conf and nginx-mempool.conf files, and
tweak for their specific site configuration.
Fixes #81
2020-12-02 04:19:33 +09:00
< h2 class = "float-left" i18n = "transaction.inputs-and-outputs|Transaction inputs and outputs" > Inputs & Outputs< / h2 >
2020-02-16 22:15:07 +07:00
Implement i18n support in frontend using Angular + Transifex + NGINX
This PR adds basic i18n support into the mempool frontend, together with
a smooth workflow for developers and translators to collaborate:
* Using the existing @angular/localize module, developers add i18n
metadata to any frontend strings their new features or changes modify
* Using the new npm script `i18n-extract-from-source`, developers
extract the i18n data from source code into `src/locale/messages.xlf`
* After pushing the updated `src/locale/messages.xlf` to GitHub, the
Transifex service will update its database from the new source data
* Using the Transifex website UI, translators can work together to
translate all the mempool frontend strings into their native languages
* Using the new npm script `i18n-pull-from-transifex`, developers can
pull in completed translations from Transifex, and commit them into git.
This flow requires an API key from Transifex, which can be obtained at
https://www.transifex.com/user/settings/api/ to be used with the python
script installed by `pip install transifex-client` - after preparing
these, run the npm script which will ask you for the API key the first
time. When downloading is complete, you can test building the frontend,
and if successful, commit the new strings files into git.
This PR implements a new locale selector in the footer of the homepage
dashboard, and includes WIP translations for the following languages:
* Czech (cs)
* German (de)
* Japanese (ja)
* Norwegian (nn)
* Spanish (es)
* Swedish (sv)
* Ukrainian (uk)
* Persian (fa)
* Portugese (pt)
* Turkish (tr)
* Dutch (nl)
* French (fr)
* Chinese (zh)
* Slovenian (sl)
* Korean (ko)
* Polish (pl)
The user-agent's `Accept-Language` header is used to automatically
detect their preferred language, which can be manually overriden by the
pull-down selector, which saves their preference to a cookie, which is
used by nginx to serve the correct HTML bundle to the user.
Remaining tasks include adding i18n metadata for strings in the Bisq and
Liquid frontend code, mouseover hover tooltip strings, hard-coded og
metadata inside HTML templates, and many other places. This will be done
in a separate PR.
When upgrading to add i18n support, mempool instance operators must take
care to install the new nginx.conf and nginx-mempool.conf files, and
tweak for their specific site configuration.
Fixes #81
2020-12-02 04:19:33 +09:00
< button type = "button" class = "btn btn-outline-info btn-sm float-right mr-1 mt-0 mt-md-2" ( click ) = " txList . toggleDetails ( ) " i18n = "transaction.details|Transaction Details" > Details< / button >
2020-11-15 17:58:38 +07:00
< div class = "clearfix" > < / div >
2021-07-06 13:56:32 -03:00
< app-transactions-list # txList [ transactions ] = " [ tx ] " [ errorUnblinded ] = " errorUnblinded " [ transactionPage ] = " true " > < / app-transactions-list >
2020-02-16 22:15:07 +07:00
2020-12-09 02:22:16 +01:00
< h2 class = "text-left" i18n = "transaction.details" > Details< / h2 >
2020-02-16 22:15:07 +07:00
< div class = "box" >
2020-03-11 16:06:11 +07:00
< table class = "table table-borderless table-striped" >
< tbody >
< tr >
Implement i18n support in frontend using Angular + Transifex + NGINX
This PR adds basic i18n support into the mempool frontend, together with
a smooth workflow for developers and translators to collaborate:
* Using the existing @angular/localize module, developers add i18n
metadata to any frontend strings their new features or changes modify
* Using the new npm script `i18n-extract-from-source`, developers
extract the i18n data from source code into `src/locale/messages.xlf`
* After pushing the updated `src/locale/messages.xlf` to GitHub, the
Transifex service will update its database from the new source data
* Using the Transifex website UI, translators can work together to
translate all the mempool frontend strings into their native languages
* Using the new npm script `i18n-pull-from-transifex`, developers can
pull in completed translations from Transifex, and commit them into git.
This flow requires an API key from Transifex, which can be obtained at
https://www.transifex.com/user/settings/api/ to be used with the python
script installed by `pip install transifex-client` - after preparing
these, run the npm script which will ask you for the API key the first
time. When downloading is complete, you can test building the frontend,
and if successful, commit the new strings files into git.
This PR implements a new locale selector in the footer of the homepage
dashboard, and includes WIP translations for the following languages:
* Czech (cs)
* German (de)
* Japanese (ja)
* Norwegian (nn)
* Spanish (es)
* Swedish (sv)
* Ukrainian (uk)
* Persian (fa)
* Portugese (pt)
* Turkish (tr)
* Dutch (nl)
* French (fr)
* Chinese (zh)
* Slovenian (sl)
* Korean (ko)
* Polish (pl)
The user-agent's `Accept-Language` header is used to automatically
detect their preferred language, which can be manually overriden by the
pull-down selector, which saves their preference to a cookie, which is
used by nginx to serve the correct HTML bundle to the user.
Remaining tasks include adding i18n metadata for strings in the Bisq and
Liquid frontend code, mouseover hover tooltip strings, hard-coded og
metadata inside HTML templates, and many other places. This will be done
in a separate PR.
When upgrading to add i18n support, mempool instance operators must take
care to install the new nginx.conf and nginx-mempool.conf files, and
tweak for their specific site configuration.
Fixes #81
2020-12-02 04:19:33 +09:00
< td i18n = "transaction.size|Transaction Size" > Size< / td >
2021-05-18 11:20:17 -03:00
< td [ innerHTML ] = " tx . size | bytes: 2 " > < / td >
2020-03-11 16:06:11 +07:00
< / tr >
2020-12-02 22:22:14 +07:00
< tr >
< td i18n = "transaction.vsize|Transaction Virtual Size" > Virtual size< / td >
2021-05-18 11:20:17 -03:00
< td [ innerHTML ] = " tx . weight / 4 | vbytes: 2 " > < / td >
2020-12-02 22:22:14 +07:00
< / tr >
2020-03-11 16:06:11 +07:00
< tr >
Implement i18n support in frontend using Angular + Transifex + NGINX
This PR adds basic i18n support into the mempool frontend, together with
a smooth workflow for developers and translators to collaborate:
* Using the existing @angular/localize module, developers add i18n
metadata to any frontend strings their new features or changes modify
* Using the new npm script `i18n-extract-from-source`, developers
extract the i18n data from source code into `src/locale/messages.xlf`
* After pushing the updated `src/locale/messages.xlf` to GitHub, the
Transifex service will update its database from the new source data
* Using the Transifex website UI, translators can work together to
translate all the mempool frontend strings into their native languages
* Using the new npm script `i18n-pull-from-transifex`, developers can
pull in completed translations from Transifex, and commit them into git.
This flow requires an API key from Transifex, which can be obtained at
https://www.transifex.com/user/settings/api/ to be used with the python
script installed by `pip install transifex-client` - after preparing
these, run the npm script which will ask you for the API key the first
time. When downloading is complete, you can test building the frontend,
and if successful, commit the new strings files into git.
This PR implements a new locale selector in the footer of the homepage
dashboard, and includes WIP translations for the following languages:
* Czech (cs)
* German (de)
* Japanese (ja)
* Norwegian (nn)
* Spanish (es)
* Swedish (sv)
* Ukrainian (uk)
* Persian (fa)
* Portugese (pt)
* Turkish (tr)
* Dutch (nl)
* French (fr)
* Chinese (zh)
* Slovenian (sl)
* Korean (ko)
* Polish (pl)
The user-agent's `Accept-Language` header is used to automatically
detect their preferred language, which can be manually overriden by the
pull-down selector, which saves their preference to a cookie, which is
used by nginx to serve the correct HTML bundle to the user.
Remaining tasks include adding i18n metadata for strings in the Bisq and
Liquid frontend code, mouseover hover tooltip strings, hard-coded og
metadata inside HTML templates, and many other places. This will be done
in a separate PR.
When upgrading to add i18n support, mempool instance operators must take
care to install the new nginx.conf and nginx-mempool.conf files, and
tweak for their specific site configuration.
Fixes #81
2020-12-02 04:19:33 +09:00
< td i18n = "transaction.weight|Transaction Weight" > Weight< / td >
2021-05-18 11:20:17 -03:00
< td [ innerHTML ] = " tx . weight | wuBytes: 2 " > < / td >
2020-03-11 16:06:11 +07:00
< / tr >
2021-08-03 16:57:02 +05:30
< tr >
< td i18n = "transaction.raw" > Raw Tx< / td >
< td > < a target = "_blank" href = "/api/tx/{{ txId }}/raw" > < fa-icon [ icon ] = " [ ' fas ' , ' external-link-alt ' ] " [ fixedWidth ] = " true " > < / fa-icon > < / a > < / td >
< / tr >
2020-03-11 16:06:11 +07:00
< / tbody >
< / table >
< / div >
2020-02-16 22:15:07 +07:00
< / ng-template >
< ng-template [ ngIf ] = " isLoadingTx & & ! error " >
2020-03-11 16:06:11 +07:00
< div class = "box" >
2020-03-23 04:07:31 +07:00
< div class = "row" >
< div class = "col-sm" >
< table class = "table table-borderless table-striped" >
< tbody >
< tr >
< td class = "td-width" > < span class = "skeleton-loader" > < / span > < / td >
< td > < span class = "skeleton-loader" > < / span > < / td >
< / tr >
< tr >
< td > < span class = "skeleton-loader" > < / span > < / td >
< td > < span class = "skeleton-loader" > < / span > < / td >
< / tr >
< / tbody >
< / table >
< / div >
< div class = "col-sm" >
< table class = "table table-borderless table-striped" >
< tbody >
< tr >
< td class = "td-width" > < span class = "skeleton-loader" > < / span > < / td >
< td > < span class = "skeleton-loader" > < / span > < / td >
< / tr >
< tr >
< td > < span class = "skeleton-loader" > < / span > < / td >
< td > < span class = "skeleton-loader" > < / span > < / td >
< / tr >
< / tbody >
< / table >
< / div >
< / div >
2020-03-11 16:06:11 +07:00
< / div >
< br >
< h2 > Inputs & Outputs< / h2 >
< div class = "box" >
< div class = "row" >
< table class = "table table-borderless table-striped" >
< tbody >
< tr >
< td > < span class = "skeleton-loader" > < / span > < / td >
< td > < span class = "skeleton-loader" > < / span > < / td >
< / tr >
< / tbody >
< / table >
< / div >
< / div >
< br >
2020-12-07 17:35:05 +07:00
< h2 i18n = "transaction.details" > Details< / h2 >
2020-02-16 22:15:07 +07:00
< div class = "box" >
< table class = "table table-borderless table-striped" >
< tbody >
< tr >
< td > < span class = "skeleton-loader" > < / span > < / td >
< td > < span class = "skeleton-loader" > < / span > < / td >
< / tr >
< tr >
< td > < span class = "skeleton-loader" > < / span > < / td >
< td > < span class = "skeleton-loader" > < / span > < / td >
< / tr >
2020-12-02 22:22:14 +07:00
< tr >
< td > < span class = "skeleton-loader" > < / span > < / td >
< td > < span class = "skeleton-loader" > < / span > < / td >
< / tr >
2020-02-16 22:15:07 +07:00
< / tbody >
< / table >
< / div >
< / ng-template >
< ng-template [ ngIf ] = " error " >
2020-04-13 01:26:53 +07:00
2020-07-16 16:18:35 +07:00
< div class = "text-center" * ngIf = "waitingForTransaction; else errorTemplate" >
Implement i18n support in frontend using Angular + Transifex + NGINX
This PR adds basic i18n support into the mempool frontend, together with
a smooth workflow for developers and translators to collaborate:
* Using the existing @angular/localize module, developers add i18n
metadata to any frontend strings their new features or changes modify
* Using the new npm script `i18n-extract-from-source`, developers
extract the i18n data from source code into `src/locale/messages.xlf`
* After pushing the updated `src/locale/messages.xlf` to GitHub, the
Transifex service will update its database from the new source data
* Using the Transifex website UI, translators can work together to
translate all the mempool frontend strings into their native languages
* Using the new npm script `i18n-pull-from-transifex`, developers can
pull in completed translations from Transifex, and commit them into git.
This flow requires an API key from Transifex, which can be obtained at
https://www.transifex.com/user/settings/api/ to be used with the python
script installed by `pip install transifex-client` - after preparing
these, run the npm script which will ask you for the API key the first
time. When downloading is complete, you can test building the frontend,
and if successful, commit the new strings files into git.
This PR implements a new locale selector in the footer of the homepage
dashboard, and includes WIP translations for the following languages:
* Czech (cs)
* German (de)
* Japanese (ja)
* Norwegian (nn)
* Spanish (es)
* Swedish (sv)
* Ukrainian (uk)
* Persian (fa)
* Portugese (pt)
* Turkish (tr)
* Dutch (nl)
* French (fr)
* Chinese (zh)
* Slovenian (sl)
* Korean (ko)
* Polish (pl)
The user-agent's `Accept-Language` header is used to automatically
detect their preferred language, which can be manually overriden by the
pull-down selector, which saves their preference to a cookie, which is
used by nginx to serve the correct HTML bundle to the user.
Remaining tasks include adding i18n metadata for strings in the Bisq and
Liquid frontend code, mouseover hover tooltip strings, hard-coded og
metadata inside HTML templates, and many other places. This will be done
in a separate PR.
When upgrading to add i18n support, mempool instance operators must take
care to install the new nginx.conf and nginx-mempool.conf files, and
tweak for their specific site configuration.
Fixes #81
2020-12-02 04:19:33 +09:00
< h3 i18n = "transaction.error.transaction-not-found" > Transaction not found.< / h3 >
< h5 i18n = "transaction.error.waiting-for-it-to-appear" > Waiting for it to appear in the mempool...< / h5 >
2020-04-13 01:26:53 +07:00
< div class = "spinner-border text-light mt-2" > < / div >
2020-02-16 22:15:07 +07:00
< / div >
2020-04-13 01:26:53 +07:00
< ng-template # errorTemplate >
< div class = "text-center" >
< h3 > {{ error.error }}< / h3 >
< / div >
< / ng-template >
2020-02-16 22:15:07 +07:00
< / ng-template >
2020-03-05 16:13:46 +07:00
< / div >
2020-02-16 22:15:07 +07:00
< br >
2020-12-04 21:29:31 +07:00
2021-03-18 23:47:40 +07:00
< ng-template # feeTable >
< table class = "table table-borderless table-striped" >
< tbody >
< tr >
< td class = "td-width" i18n = "transaction.fee|Transaction fee" > Fee< / td >
2021-05-03 10:11:30 -03:00
< td > {{ tx.fee | number }} < span class = "symbol" i18n = "transaction.fee.sat|Transaction Fee sat" > sat< / span > < span class = "fiat" > < app-fiat [ value ] = " tx . fee " > < / app-fiat > < / span > < / td >
2021-03-18 23:47:40 +07:00
< / tr >
< tr >
2021-03-22 18:04:50 +07:00
< td i18n = "transaction.fee-rate|Transaction fee rate" > Fee rate< / td >
2021-03-18 23:47:40 +07:00
< td >
2021-05-03 10:11:30 -03:00
{{ tx.feePerVsize | number : '1.1-1' }} < span class = "symbol" i18n = "shared.sat-vbyte|sat/vB" > sat/vB< / span >
2021-03-18 23:47:40 +07:00
< ng-template [ ngIf ] = " tx . status . confirmed " >
2021-06-11 19:30:33 -05:00
< app-tx-fee-rating * ngIf = "tx.fee && ((cpfpInfo && !cpfpInfo.bestDescendant && !cpfpInfo.ancestors.length) || !cpfpInfo)" [ tx ] = " tx " > < / app-tx-fee-rating >
2021-03-18 23:47:40 +07:00
< / ng-template >
< / td >
< / tr >
2021-03-22 18:04:50 +07:00
< tr * ngIf = "cpfpInfo && (cpfpInfo.bestDescendant || cpfpInfo.ancestors.length)" >
< td i18n = "transaction.effective-fee-rate|Effective transaction fee rate" > Effective fee rate< / td >
2021-03-18 23:47:40 +07:00
< td >
2021-05-18 11:20:17 -03:00
< div class = "effective-fee-container" >
{{ tx.effectiveFeePerVsize | number : '1.1-1' }} < span class = "symbol" i18n = "shared.sat-vbyte|sat/vB" > sat/vB< / span >
< ng-template [ ngIf ] = " tx . status . confirmed " >
< app-tx-fee-rating class = "d-none d-lg-inline ml-2" * ngIf = "tx.fee" [ tx ] = " tx " > < / app-tx-fee-rating >
< / ng-template >
< / div >
< button type = "button" class = "btn btn-outline-info btn-sm btn-small-height float-right" ( click ) = " showCpfpDetails = !showCpfpDetails" > CPFP < fa-icon [ icon ] = " [ ' fas ' , ' info-circle ' ] " [ fixedWidth ] = " true " > < / fa-icon > < / button >
2021-03-18 23:47:40 +07:00
< / td >
< / tr >
< / tbody >
< / table >
2021-03-22 18:04:50 +07:00
< / ng-template >